
/* ---------- General ---------- */

html, body {
    font-family: 'Catamaran', 'Helvetica', sans-serif;
    background: #F8F8F8;
    color: black;
    margin: 0;
    font-weight: 300;
    text-align: initial;

    /* Variables */
    --color-primary: #007688;
    --color-primary-dark: #005f6e;
    --color-primary-light: #cce3e7;
    --color-secondary: #c1b98a;
    --color-secondary-dark: #4b4626;
    --color-secondary-light: #e6e3d0;
    --color-red: #c23616;
    --color-red-light: #e74c3c;
    --color-green: #27ae60;
    --color-purple: #8e44ad;
}

a,
.link:not(.brokenlink) {
    color: var(--color-primary);
    text-decoration: none;
    cursor: pointer;
    user-select: none;
}

a:hover,
.link:not(.brokenlink):hover {
    color: var(--color-primary);
    text-decoration: underline;
}

h1 {
    font-size: 1.5em;
    margin: 0;
    padding: 0;
    line-height: 1em;
    display: inline-block;
    vertical-align: middle;
}

h1 img {
    height: 1.8em;
}

h1 div {
    display: inline-block;
    font-weight: 600;
}

h2 {
    font-size: 2em;
    margin: 1.5em auto 0.8em auto;
    line-height: 1em;
    font-weight: 500;
    color: var(--color-primary);
    text-align: center;
    width: fit-content;
    display: block;
}

h3 {
    font-size: 1.6em;
    line-height: 1em;
    font-weight: 500;
    margin: 1em 0 0.5em 0;
    color: var(--color-primary);
}

h4 {
    line-height: 1em;
    font-size: 1.2em;
    padding: 1em 0 0.3em 0;
    font-weight: 500;
}

hr {
    border-top: 0.4rem solid #121d29;
    width: 9rem;
    margin: 0.2em 0 1.3em 0;
}

dl {
    display: block;
    margin: 0.5em 0;
}

dt {
    display: inline-block;
    font-weight: bold;
}

dt::after {
    content: ': ';
}

dd {
    display: inline-block;
    margin-left: 0.3em;
}

table {
    width: 100%;
}

td,
th {
    border: 1px solid #AAA;
    padding: 0.3em;
    vertical-align: middle;
}

th {
    background: var(--color-primary);
    color: white;
    border: 1px solid var(--color-primary);
    font-weight: 400;
    text-align: center;
}

th.sortable {
    cursor: pointer;
}

tr.table-separator td,
tr.table-separator th {
    border: none;
}

td.align-left {
    text-align: left;
}

td.align-right {
    text-align: right;
}

p {
    margin: 0.5em 0;
    line-height: 1.5em;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 0;
    padding: 0.3em 1.3em 0.3em 0.3em;
    margin: 0;
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    cursor: pointer;
    line-height: inherit;
    display: block;
    border: 1px solid #BBB;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: 100%;
    background-position-y: 5px;
    background-color: white;
}

select option,
.corpus-text-list-options-filters-filter select option {
    color: black;
}

strong {
    font-weight: 600;
}

em {
    font-style: italic;
}

.clearfloat {
    clear: both;
}

i.icon {
    margin-right: 0.3em;
    user-select: none;
}

.image-circle {
    border-radius: 100%;
    width: 13em;
    max-width: 90%;
    display: block;
    margin: 1em auto;
}

ul.bullet-image {
    list-style-image: url("../images/bullet-image.f3358843739b.png");
    margin-right: 1em;
}

li {
    line-height: 1.5em;
}

.hidden {
    display: none;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 0;
    height: 0;
    margin: 7em auto;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.pdf-viewer-full {
    width: 95%;
    height: calc(100vh - 4em);
    display: block;
    margin: 1em auto;
    overflow: auto;
}

.pdf-viewer-download {
    clear: both;
    background: var(--color-primary);
    color: white;
    padding: 0.5em 1em;
    border-radius: 0.2em;
    display: block;
    width: fit-content;
    margin: 1em auto 2em auto;
}

.pdf-viewer-download:hover {
    color: white;
}

.hide {
    display: none;
}

/* ---------- Direction: rtl (right to left) e.g. for Persian */

.rtl {
    direction: rtl !important;
}

:dir(rtl) {
    text-align: right;
}

#welcome-banner :dir(rtl),
footer :dir(rtl) {
    text-align: center;
}


/* ---------- Forms ---------- */

form.full-form p {
    margin: 1em 0 2em 0;
}

form.full-form label,
form.full-form textarea,
form.full-form input[type=text],
form.full-form input[type=url],
form.full-form input[type=email],
form.full-form input[type=password],
form.full-form input[type=number] {
    display: block;
    width: 100%;
}

form.full-form textarea {
    height: 4em;
}

form.full-form label {
    margin-bottom: 0;
}

form.full-form ul {
    list-style-type: none;
    padding-left: 0;
}

form.full-form .helptext {
    color: #505050;
    font-size: 0.85em;
    font-style: italic;
    margin: 0.2em;
    display: block;
}

form.full-form .errorlist {
    color: var(--color-red);
}

button {
    border-radius: 0.4em;
}

form.full-form button[type=submit] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border: none;
    padding: 0.7em;
    margin: 1em auto;
    background: var(--color-primary);
    color: white;
    width: 100%;
}

form.full-form button[type=submit]:hover {
    opacity: 0.9;
}

.full-form-footer-links a {
    display: block;
    padding: 0.5em;
    margin: 2em auto;
    text-align: center;
    background: #DDD;
    border-radius: 0.4em;
    color: #404040;
}

.full-form-footer-links a:hover {
    opacity: 0.85;
}

form.full-form button[type=submit].button-danger {
    background: var(--color-red);
}

.field-required.field-invalid {
    border: 2px solid var(--color-red);
}

.validationmsg {
    color: var(--color-red);
    font-size: 0.9em;
}

/* ---------- Rotation ---------- */

.rotate-0 {
    transform: rotate(0deg);
}

.rotate-90 {
    transform: rotate(90deg);
}

.rotate-180 {
    transform: rotate(180deg);
}

.rotate-270 {
    transform: rotate(270deg);
}

/* ---------- Navigation ---------- */

nav.navbar {
    background: var(--color-primary);
    vertical-align: middle;
    color: white;
    z-index: 950;
}

.navbar-brand {
    display: inline-block;
    font-size: 1rem;
}

.navbar-brand h1 {
    color: white;
    font-weight: 400;
}

.navbar-brand h1 strong {
    color: white;
    font-weight: 500;
}

.nav-link {
    font-weight: 600;
    font-size: 1.05rem;
    color: white;
    padding: 0.3em;
}

.nav-link:hover {
    color: white;
    opacity: 0.8;
}

.nav-link.nav-link-persian {
    font-size: 1.5em;
    padding-top: 0.1em;
}

.nav-link.active {
    opacity: 1;
}

.dropdown-menu {
    background: white;
    font-size: 1.09em;
}

.dropdown-item {
    font-weight: 600;
    padding: 0.5em 1em;
    background: white;
    color: var(--color-primary);
}

.dropdown-item:hover,
.dropdown-item:active {
    background: white;
    color: var(--color-primary);
}

nav a:hover {
    color: white;
}

#nav-languagelinks span {
    display: inline-block;
    padding: 0 0.2em;
    vertical-align: middle;
}

#nav-languagelinks {
    user-select: none;
}

#nav-languagelinks-toggle {
    font-size: 1.5em;
    color: var(--color-secondary);
    cursor: pointer;
}

#nav-languagelinks a {
    color: white;
    font-weight: 600;
}

#nav-languagelinks a:hover {
    text-decoration: none;
}

#nav-languagelinks a:not(.active) {
    opacity: 0.5;
}

#nav-languagelinks a:not(.active):hover {
    opacity: 1;
}

/* ---------- Main ---------- */

main {
    overflow-x: hidden;
    position: relative;
}

main section {
    padding: 1rem 0;
}

/* ---------- Welcome ---------- */

#welcome-banner {
    background: var(--color-primary);
    background-image: url("../images/welcome-banner-background.2db4716d420a.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: white;
    text-align: center;
}

#welcome-banner-icon {
    height: 22vh;
    display: block;
    margin: 5vh auto 3vh auto;
}

#welcome-banner-title {
    color: white;
    padding: 0.5em 0 0.7em 0;
    font-weight: 600;
}

#welcome-banner-tagline {
    width: 40em;
    max-width: 100%;
    margin: 0 auto;
    font-size: 1.27em;
    line-height: 1.2em;
}

#welcome-banner-tagline a,
#welcome-banner-tagline a:hover {
    color: white;
    text-decoration: underline;
}

#welcome-banner-link {
    background: white;
    color: var(--color-primary);
    font-size: 1.2em;
    border-radius: 2em;
    padding: 0.5em 1.3em;
    display: block;
    margin: 4vh auto;
    width: fit-content;
}

#welcome-banner-link:hover {
    text-decoration: none;
    background: var(--color-secondary);
    color: white;
}

#welcome-banner-more {
    font-size: 2em;
    opacity: 0.7;
    display: block;
}

#welcome {
    padding-top: 5em;
}

/* ---------- Corpus - Text: List ---------- */

#corpus-text-list {
    -webkit-transition: all 0.37s ease;
    -moz-transition: all 0.37s ease;
    -o-transition: all 0.37s ease;
    transition: all 0.37s ease;
}

.quicksearch-input {
    padding: 0.5em;
    width: 21em;
    max-width: 95%;
    display: block;
    margin: 2em 2em 3em 0;
    border: 2px solid #CCC;
    text-align: left;
}

.quicksearch-input:focus {
    outline: none;
    border: 2px solid var(--color-secondary);
}

/* List options */

#corpus-text-list-options {
    overflow-y: auto;
    height: calc(100vh - 3.5rem);
    padding: 0.9em 0.9em 3em 0.9em;
    display: block;
    position: fixed;
    top: 4.5rem;
    width: 27em;
    max-width: 100%;
    background: var(--color-primary-dark);
    color: white;
    z-index: 800;
    overflow-y: auto;
}

#corpus-text-list-options-datefilters div {
    width: calc(50% - 1em);
    display: inline-block;
}

#corpus-text-list-options-datefilters div:first-of-type {
    margin: 0 0.6em;
}

#corpus-text-list-options-datefilters select {
    border-radius: 0.6em;
}

#corpus-text-list-options-extlink {
    text-align: right;
    font-size: 0.9em;
    display: block;
    float: right;
    margin: 0.2em 1em;
    color: white;
}

.corpus-text-list-options-section {
    padding-top: 2em;
}

.corpus-text-list-options-section-title {
    font-size: 1.1em;
    font-weight: bold;
    margin: 2.5em 0 0 0;
    background: rgba(0, 0, 0, 0.3);
    padding: 0.4em 0.5em 0.3em 0.5em;
    cursor: pointer;
}

.corpus-text-list-options-section-title:first-child {
    margin-top: 0.5em;
}

.corpus-text-list-options-section-title i {
    font-size: 0.8em;
    margin-right: 0.2em;
}

.corpus-text-list-options-section-title-toggle {
    display: block;
}

.corpus-text-list-options-section-title-toggle.right {
    float: right;
}

.corpus-text-list-options-section-title-toggle.left {
    float: left;
}

.corpus-text-list-options-filters-filter {
    display: inline-block;
    margin: 0.5em 0.2em;
    width: 90%;
    border-radius: 0.3em;
    background-color: rgba(255, 255, 255, 0.7);
}

#corpus-text-list-options hr {
    margin: 2em auto 0.7em auto;
    border-top: 1px solid #CCC;
    width: 100%;
}

#corpus-text-list-options label {
    font-weight: 400;
    font-size: 0.95em;
    margin: 1em 0 0 0;
    display: inline-block;
    width: calc(100% - 1.7em);
}

#corpus-text-list-options .input-clear {
    opacity: 1;
    cursor: pointer;
    padding: 0.2em 0.1em;
    display: none;
}

#corpus-text-list-options .input-clear:hover {
    opacity: 0.8;
}

#corpus-text-list-options input,
#corpus-text-list-options textarea {
    display: block;
    width: calc(100% - 4px);
    margin-left: 2px;
    padding: 0.33em 0.5em;
}

#corpus-text-list-options input,
#corpus-text-list-options select,
#corpus-text-list-options textarea {
    border: 1px solid #DDD;
    border: none;
    font-size: 0.95em;
}

#corpus-text-list-options input[type='checkbox'] {
    transform: scale(1.5);
    display: inline;
    width: initial;
    margin-right: 0.27em;
}

#corpus-text-list-options .helptext {
    font-size: 0.85em;
    margin-top: 0.2em;
    color: #505050;
}

#corpus-text-list-options div.disabled {
    opacity: 0.3;
}

#corpus-text-list-options .spinner-container {
    margin: 40vh auto 1em auto;
    width: fit-content;
    text-align: center;
}

#corpus-text-list-options .spinner-container .spinner {
    border: 13px solid #EEE;
    border-top: 13px solid var(--color-primary);
    border-radius: 50%;
    width: 89px;
    height: 89px;
    animation: spinner 2s linear infinite;
    margin: 2em auto;
}

@keyframes spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#corpus-text-list-options-submit {
    display: inline-block;
    vertical-align: middle;
    margin: 0.1em;
    padding: 0.5em 0.6em 0.4em 0.6em;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    border-radius: 0.3em;
    background: var(--color-primary-light);
    color: var(--color-primary-dark);
}

#corpus-text-list-options-submit:hover {
    opacity: 0.8;
}

#corpus-text-list-options-search {
    clear: both;
}

#corpus-text-list-options-search-toggletype {
    float: right;
    background: var(--color-primary-light);
    padding: 0.2em 0.4em;
    border-radius: 0.3em;
    font-size: 0.9em;
    margin: 0.4em 0.25em;
    color: var(--color-primary-dark);
    font-weight: 500;
    cursor: pointer;
}

#corpus-text-list-options-search-toggletype:not(.active):hover {
    opacity: 0.8;
}

#corpus-text-list-options-search-toggletype.active {
    background: var(--color-secondary);
    color: var(--color-secondary-dark);
}

#corpus-text-list-options-search-fields .corpus-text-list-options-search-fields-instance input {
    width: calc(100% - 3em);
    margin: 0 0.2em;
    border-radius: 0.3em;
    display: inline-block;
    vertical-align: middle;
}

.corpus-text-list-options-search-fields-instance span {
    padding: 0.6em 0.8em 0.4em 0.8em;
    text-align: center;
    cursor: pointer;
    font-size: 0.9em;
    display: inline-block;
    vertical-align: middle;
    border-radius: 0.2em;
}

.corpus-text-list-options-search-fields-instance span,
.corpus-text-list-options-search-fields-instance-operator,
#corpus-text-list-options-search-addinstance {
    background: var(--color-primary-light);
    color: var(--color-primary-dark);
}

.corpus-text-list-options-search-fields-instance span:hover,
.corpus-text-list-options-search-fields-instance-operator:hover,
#corpus-text-list-options-search-addinstance:hover {
    opacity: 0.8;
}

.corpus-text-list-options-search-fields-instance-operator {
    cursor: pointer;
    width: fit-content;
    padding: 0.13em 0.6em;
    border-radius: 0.2em;
    margin: 0.3em 0;
}

#corpus-text-list-options-search-addinstance {
    margin: 0.5em auto;
    display: block;
    cursor: pointer;
    width: fit-content;
    padding: 0.5em 0.8em;
    border-radius: 0.2em;
}

#corpus-text-list-options-includes {
    padding-left: 0.5em;
}

#corpus-text-list-options-includes label {
    display: inline-block;
    width: fit-content;
    margin-right: 1.2em;
    font-size: 0.9em;
    cursor: pointer;
}

#corpus-text-list-options-includes input {
    cursor: pointer;
}

#corpus-text-list-header {
    padding: 0 2em;
}

#corpus-text-list-header-title {
    font-weight: bold;
    color: black;
    font-size: 1.5em;
    display: inline-block;
}

#corpus-text-list-header-count {
    padding: 0;
    margin: 0 7em;
    color: #707070;
    font-size: 1rem;
    display: inline-block;
}

#corpus-text-list-header-sort,
#corpus-text-list-header-sort label,
#corpus-text-list-header-sort-select {
    display: inline-block;
    width: fit-content;
}

#corpus-text-list-header-sort label {
    font-weight: bold;
}

#corpus-text-list-header-sort-select {
    padding-right: 1.3em;
    border: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: 100%;
    background-position-y: 5px;
    background-color: transparent;
    border-radius: 0.3em;
}

#corpus-text-list-header-sort-select:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

#corpus-text-list-dataexport {
    padding: 1em 3.5em 0 3.5em;
    color: #707070;
    text-align: right;
    font-size: 1rem;
}

/* Corpus List Items */

#corpus-text-list-items {
    text-align: center;
    display: grid;
    margin: 0 auto;
    padding: 0 2rem;
}

.corpus-text-list-items-item {
    overflow-wrap: break-word;
    word-wrap: break-word;
    color: #131313;
    border: 1px solid #CCC;
    border-radius: 0.4rem;
    margin: 1.3rem 0;
    padding: 0;
    text-align: left;
    background: #F2F2F2;
    overflow: hidden;
    position: relative;
}

.corpus-text-list-items-item:hover {
    color: #131313;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.13) 0px 3px 8px;
}

.corpus-text-list-items-item-imagecontainer {
    background: #DDD;
}

.corpus-text-list-items-item-text-meta {
    font-size: 0.85em;
    font-weight: 400;
}

.corpus-text-list-items-item-text-meta.right {
    float: right;
}

.corpus-text-list-items-item-text-meta.left {
    float: left;
}

.corpus-text-list-items-item-text-title {
    font-size: 1.17em;
    font-weight: 400;
    color: var(--color-primary);
    margin-bottom: 0.5em;
}

.corpus-text-list-items-item-text-title-count {
    display: inline-block;
    margin: 0 0.5em;
}

.corpus-text-list-items-item-text-details {
    font-size: 0.9em;
    padding-top: 0.2em;
    opacity: 0.8;
    font-family: 'Arial', sans-serif;
}

.corpus-text-list-items-item-text-details dl {
    margin-bottom: 0;
}

.corpus-text-list-items-item-text-tags {
    margin: 1em 0;
}

.corpus-text-list-items-item-text-tags span {
    background: var(--color-primary);
    color: white;
    padding: 0.3em 0.8em 0.2em 0.8em;
    display: inline-block;
    margin: 0.2em 0.4em;
    border-radius: 0.5em;
    font-size: 0.9em;
}

.corpus-text-list-items-item-text-tags span:hover {
    opacity: 0.8;
}

.corpus-text-list-items-item-notyetapproved {
    position: absolute;
    bottom: 0.3em;
    left: calc(50% - 6.4em);
    width: 13em;
    text-align: center;
    font-size: 0.9em;
    background: var(--color-purple);
    color: white;
    padding: 0.2em;
    font-weight: 400;
}

.corpus-text-list-items-item-booleans {
    font-size: 0.9em;
}

.corpus-text-list-items-item-booleans span {
    display: inline-block;
    margin-left: 1em;
    color: #696969;
}

.corpus-text-list-items-item-booleans span.active {
    color: var(--color-primary);
    opacity: 1;
}

.corpus-text-list-items-empty {
    margin-top: 7em;
    text-align: center;
}

.corpus-text-list-items-empty-title {
    font-weight: bold;
    font-size: 1.5em;
    margin: 1em auto;
}

#corpus-text-list-searchcriteria-content {
    padding: 0 2em;
}

.corpus-text-list-searchcriteria-content-item {
    background: var(--color-primary-dark);
    color: white;
    border-radius: 0.3em;
    margin: 0.4em;
    padding: 0.4em 0.8em 0.3em 0.8em;
    cursor: pointer;
    text-align: left;
    display: inline-block;
    width: fit-content;
}

.corpus-text-list-searchcriteria-content-item:hover {
    background: var(--color-red-light);
    color: white;
}

.corpus-text-list-searchcriteria-content-item strong {
    padding-right: 0.5em;
}

/* Pagination */

#corpus-text-list-pagination {
    text-align: center;
    margin: 2em auto;
    width: 100%;
}

.corpus-text-list-pagination-section {
    height: 4em;
    margin: 1em 0;
    vertical-align: middle;
}

#corpus-text-list-pagination a {
    text-decoration: none;
    font-size: 1em;
}

#corpus-text-list-pagination a:hover {
    text-decoration: none;
}

.corpus-text-list-pagination-action {
    display: inline-block;
    margin: 0 1em;
    vertical-align: middle;
}

.corpus-text-list-pagination-current {
    font-size: 1.1em;
    font-weight: 600;
    display: block;
}

/* ---------- Corpus - Text: Detail ---------- */

#corpus-text-detail-content.full {
    width: 100%;
}

#corpus-text-detail-content-notyetapproved {
    background: var(--color-purple);
    color: white;
    padding: 0.5em;
    text-align: center;
    font-weight: 400;
}

#corpus-text-detail-content-title {
    font-size: 2.1em;
    margin: 0.5em 0;
    font-weight: 400;
    line-height: 1em;
    color: var(--color-primary);
}

#corpus-text-detail-content-title-adminlink {
    color: #CCC;
    font-size: 0.75em;
    margin-left: 0.6em;
}

#corpus-text-detail-content-tabs {
    display: block;
    padding-left: 0;
    list-style: none;
    font-weight: 400;
}

.tabbed-title {
    display: none;
}

#corpus-text-detail-content-tabs li {
    background: var(--color-primary);
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

#corpus-text-detail-content-tabs li.active {
    background: var(--color-secondary);
    color: rgba(0, 0, 0, 0.7);
}

#corpus-text-detail-content-tabs li i {
    margin-right: 0.3em;
}

#corpus-text-detail-content article {
    font-family: 'Arial', sans-serif;
}

#corpus-text-detail-content article.tabbed {
    display: none;
}

#corpus-text-detail-content article.tabbed.active {
    display: block;
}

#corpus-text-detail-content h3 {
    margin-top: 2.7em;
}

#corpus-text-detail-content h3:first-of-type {
    margin-top: 1em;
}

.corpus-text-detail-content-details-datagroup {
    padding: 0.4em 0.8em;
}

.corpus-text-detail-content-details-datagroup-dataitem {
    line-height: 1em;
}

.corpus-text-detail-content-details-datagroup-dataitem label {
    font-weight: bold;
    line-height: 1.5em;
}

.corpus-text-detail-content-details-datagroup-dataitem span {
    display: inline-block;
    width: calc(100% - 17em);
    vertical-align: top;
    line-height: 1.5em;
}

.corpus-text-detail-content-details-datagroup-list li {
    padding: 0.3em 0;
}

.corpus-text-detail-content-details-datagroup-list-sublist {
    background: #EEE;
    padding: 0.3em 0.3em 0.3em 2em;
    font-size: 0.95em;
}

#codex-pagination {
    margin-bottom: 2em;
    text-align: center;
}

#codex-pagination form label,
#codex-pagination form select {
    display: inline-block;
    width: fit-content;
    font-weight: 600;
}

.codex-thumbnails-item {
    display: inline-block;
    margin: 0.2em;
    width: 140px;
    height: 140px;
    overflow: hidden;
    cursor: pointer;
    border: 0.2em solid #DDD;
    position: relative;
}

.codex-thumbnails-item img {
    height: 140px;
    display: block;
    margin: 0 auto;
}

.codex-thumbnails-item:hover {
    border: 0.2em solid var(--color-primary);
}

.codex-thumbnails-item.active {
    border: 0.2em solid var(--color-primary);
    outline: 0.2em solid var(--color-primary);
}

.codex-thumbnails-item-name {
    position: absolute;
    bottom: 0.3em;
    left: calc(50% - 2em);
    width: 4em;
    background: white;
    padding: 0.1em 0.4em;
    font-size: 0.75em;
    font-weight: bold;
    text-align: center;
    text-overflow: ellipsis;
}

.corpus-text-detail-content-folios-folio {
    display: inline-block;
    border: 1px solid #DDD;
    margin: 0.5em;
    padding: 0.8em;
    width: 15em;
    max-width: 100%;
    vertical-align: top;
}

.corpus-text-detail-content-folios-folio-title {
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
}

.corpus-text-detail-content-folios-folio-imagecontainer {
    background: #DDD;
    height: 15em;
    margin: 1em auto;
}

.corpus-text-detail-content-folios-folio-imagecontainer:hover {
    outline: 3px solid var(--color-primary);
}

.corpus-text-detail-content-folios-folio-links div {
    font-size: 0.9em;
    text-align: center;
    padding: 0.5em 1em 0.3em 1em;
    margin: 1em 0;
    width: 100%;
    background: #EEE;
    color: var(--color-primary);
    cursor: pointer;
}

.corpus-text-detail-content-folios-folio-links div:hover {
    background: var(--color-primary);
    color: white;
}

.corpus-text-detail-content-folios-folio-links i {
    margin-right: 0.3em;
}

.corpus-text-detail-content-options {
    background: var(--color-secondary);
    font-weight: 400;
}

.corpus-text-detail-content-options div label {
    cursor: pointer;
    user-select: none;
}

.corpus-text-detail-content-options button {
    background: var(--color-secondary-light);
    color: rgba(0, 0, 0, 0.7);
    border: none;
    border-radius: 0.2em;
    padding: 0.3em 0.6em;
}

.corpus-text-detail-content-options .corpus-text-detail-folio-select {
    display: inline-block;
    width: 7em;
}

.corpus-text-detail-content-tags-folio {
    display: none;
    padding: 0.5em;
}

#corpus-text-detail-content-tags-textfoliotag-linktranstexttotag {
    background: #EEE;
    color: #505050;
    padding: 1em;
    text-align: center;
    display: none;
    margin: 2em auto;
    width: 100%;
    max-width: 60em;
}

#corpus-text-detail-content-tags-textfoliotag-form-show {
    position: fixed;
    bottom: 0;
    left: 1em;
    background: var(--color-secondary);
    padding: 0.7em 1.3em 0.5em 1.3em;
    border-radius: 0.5em 0.5em 0 0;
    font-weight: 400;
    font-size: 1.1em;
    cursor: pointer;
}

#corpus-text-detail-content-tags-textfoliotag-form {
    display: none;
    position: fixed;
    bottom: 0;
    left: 1em;
    width: 40em;
    max-width: calc(100% - 2em);
    background: var(--color-secondary-light);
    padding: 1em;
    z-index: 1000;
}

#corpus-text-detail-content-tags-textfoliotag-form-close {
    float: left;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.7);
    font-size: 1.3em;
}

#corpus-text-detail-content-tags-textfoliotag-form-title {
    color: black;
    text-align: center;
    margin: 0;
    padding: 0;
    font-size: 1.3em;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.7);
}

#corpus-text-detail-content-tags-textfoliotag-form div {
    margin: 0.3em 0;
}

#corpus-text-detail-content-tags-textfoliotag-form div.fieldgroup {
    margin: 1.5em 0;
}

#corpus-text-detail-content-tags-textfoliotag-form label {
    font-weight: bold;
    display: inline-block;
    width: 8em;
    color: rgba(0, 0, 0, 0.7);
}

#corpus-text-detail-content-tags-textfoliotag-form label a {
    color: rgba(0, 0, 0, 0.4);
}

#corpus-text-detail-content-tags-textfoliotag-form select,
#corpus-text-detail-content-tags-textfoliotag-form input[type="text"] {
    display: inline-block;
    width: calc(100% - 8.5em);
    max-width: 50em;
}

#corpus-text-detail-content-tags-textfoliotag-form button {
    display: block;
    width: fit-content;
    margin: 1.3em auto 0 auto;
    border: none;
    border-radius: 0.3em;
    background: var(--color-secondary);
    color: rgba(0, 0, 0, 0.7);
    padding: 0.8em 3em;
}

#corpus-text-detail-content-tags-textfoliotag-form button:hover {
    opacity: 0.9;
}

.corpus-text-detail-content-tags-folio-tagcategory {
    margin: 1em 0;
    padding: 1em 1em 1.3em 1em;
}

.corpus-text-detail-content-tags-folio-tagcategory-title {
    font-weight: 400;
    font-size: 1.3em;
    margin-bottom: 0.7em;
    color: var(--color-primary);
}

.corpus-text-detail-content-tags-folio-tagcategory-tag {
    display: block;
    width: fit-content;
    padding: 0.6em 0 0.6em 1em;
    margin: 1em 0;
    border: 1px solid #DDD;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag.active {
    outline: 3px solid var(--color-primary);
}

.corpus-text-detail-content-tags-folio-tagcategory-tag .fa-hashtag {
    color: #AAA;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag.active .fa-hashtag {
    color: var(--color-primary);
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-name {
    font-weight: bold;
    display: inline-block;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-details {
    font-style: italic;
    display: inline-block;
    margin-left: 1em;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-links {
    display: inline-block;
    margin-left: 0.8em;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-links div {
    display: inline-block;
    color: var(--color-primary);
    font-size: 0.9em;
    cursor: pointer;
    margin-right: 1em;
    padding: 0.5em 1em 0.3em 1em;
    background: #EEE;
    height: fit-content;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-links div:hover {
    background: var(--color-primary);
    color: white;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag-admin {
    display: none;
    margin-right: 1em;
}

.corpus-text-detail-content-tags-folio-tagcategory-tag.active .corpus-text-detail-content-tags-folio-tagcategory-tag-admin {
    display: inline-block;
    cursor: pointer;
    color: var(--color-primary);
    font-size: 0.9em;
}

.corpus-text-detail-content-tags-folio-notags {
    margin: 4em 2em;
    font-size: 1.1em;
    color: #696969;
}

#corpus-text-detail-content-transcription h1,
#corpus-text-detail-content-translation h1,
#corpus-text-detail-content-transliteration h1 {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 1em 0 0.3em 0;
}

.corpus-text-detail-trans-linktranstexttotag {
    display: none;
}

.folio-lines {
    margin: 1em 0;
    font-size: 1.2em;
}

.folio-lines-line {
    padding: 0.5em 0;
    margin: 0.3em 0;
    border: 3px solid transparent;
}

.folio-table td.empty {
    border: none;
}

div.folio-lines-line.active {
    border: 3px solid var(--color-primary);
}

.folio-lines-line-number {
    display: inline-block;
    width: 2.7em;
    font-weight: bold;
    text-align: right;
    margin-right: 1em;
    vertical-align: top;
}

.folio-lines-line-text {
    display: inline-block;
    width: calc(100% - 9em);
    vertical-align: top;
}

.related-lines-line .folio-lines-line-draw,
.folio-lines-line:not(.active) .folio-lines-line-draw {
    display: none;
}

.folio-lines-line.active .folio-lines-line-draw {
    display: inline-block;
    width: 4em;
}

.folio-lines-line.active .folio-lines-line-draw i {
    font-size: 0.9em;
}

.folio-lines-line.active .folio-lines-line-draw-delete {
    margin-left: 1em;
    cursor: pointer;
    color: var(--color-red);
}

.folio-lines-line-text var.active {
    padding: 0 0.2em;
    background: var(--color-secondary);
    border-radius: 0.2em;
    cursor: pointer;
}

.related-lines {
    margin-bottom: 1.3em;
    display: none;
}

.related-lines-line {
    background: var(--color-secondary-light);
    padding: 0.6em;
    font-size: 0.8em;
    border: 3px solid transparent;
}

.related-lines-line.active {
    border: 3px solid var(--color-primary);
}

.folio-table {
    margin: 1em 1.7em 1em 1.7em;
    border-collapse: collapse;
    border-spacing: 1em;
    width: calc(100% - 2.7em);
}

.folio-table.rtl {
    width: calc(100% - 7.7em);
}

.folio-table td.line-number {
    font-weight: bold;
    border: none;
    width: 2.3em;
}

.folio-table td,
.folio-table th {
    border: 1px solid #AAA;
    vertical-align: top;
    width: fit-content;
}

.folio-table span.folio-lines-line-draw-container {
    width: 4em;
    display: inline-block;
    margin-left: 1em;
}

.folio-table td.folio-lines-line {
    padding: 0.3em;
}

.folio-table td.folio-lines-line.active {
    outline: 3px solid var(--color-primary);
}

.corpus-text-detail-content-seals {
    display: block;
    border: 1px solid #DDD;
    width: 100%;
    padding: 1em;
}

.corpus-text-detail-content-seals-title {
    font-weight: 600;
    font-size: 1.2em;
    color: var(--color-primary);
    margin-bottom: 0.5em;
}

.corpus-text-detail-content-seals label {
    font-weight: 600;
    margin-top: 1em;
}

.corpus-text-detail-content-seals p {
    padding: 0;
    margin: 0;
}

.corpus-text-detail-content-seals-imagecontainer {
    display: block;
    margin-top: 2em;
    width: fit-content;
}

.corpus-text-detail-content-seals img {
    max-height: 13em;
}

.corpus-text-detail-content-palaeography-folio {
    padding: 1em 1.5em;
}

/* Text Image */

#corpus-text-detail-images-controls-rotate-clockwise.disabled,
#corpus-text-detail-images-controls-rotate-anticlockwise.disabled {
    opacity: 0.5;
}

#corpus-text-detail-images-container {
    overflow: auto;
    height: calc(100vh - 9.7em);
    background: #EEE;
}

#corpus-text-detail-images.fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 1000;
    padding: 0;
}

#corpus-text-detail-images.fullscreen #corpus-text-detail-images-container {
    height: 100vh;
}

#corpus-text-detail-images-credit {
    color: #606060;
    font-size: 0.9em;
    text-align: right;
    margin-top: 0.2em;
}

.corpus-text-detail-images-image {
    position: relative;
    display: none;
    width: 0;
}

.corpus-text-detail-images-image.active {
    display: block;
}

.corpus-text-detail-images-image-hidden {
    position: relative;
    padding-top: 20vh;
    width: calc(50vw - 2em);
    text-align: center;
    color: #808080;
    font-size: 1.1em;
}

.corpus-text-detail-images-image-rotatelayer {
    position: absolute;
    top: 0;
    left: 0;
}

#corpus-text-detail-images-loading {
    font-size: 1.3em;
    color: #404040;
    text-align: center;
    margin-top: 40vh;
}

#corpus-text-detail-images-controls {
    background: var(--color-primary);
    color: #FFF;
    padding: 0 0.5em;
    user-select: none;
}

.corpus-text-detail-images-controls-item {
    font-size: 0.85em;
    display: inline-block;
    margin: 0;
    cursor: pointer;
    opacity: 0.8;
    vertical-align: top;
}

.corpus-text-detail-images-controls-item a {
    color: #FFF;
}

.corpus-text-detail-images-controls-item:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.15);
}

.corpus-text-detail-images-controls-item.active {
    background: rgba(0, 0, 0, 0.3);
    opacity: 1;
}

.corpus-text-detail-images-controls-item i {
    padding: 0.5em;
    font-size: 1.4em;
}

.corpus-text-detail-images-controls-item label {
    font-weight: 400;
    margin-left: 0.4em;
}

.corpus-text-detail-images-controls-item select {
    display: inline-block;
    padding: 0 2em 0 0.3em;
    height: 2em;
    border: 0;
    width: 9.5em;
    margin: 0.4em 0.4em 0.4em 0.1em;
}

/* Text Image - parts */

.corpus-text-detail-images-image-parts {
    position: absolute;
    top: 0;
    left: 0;
}

.corpus-text-detail-images-image-parts-part {
    display: block;
    border: 3px solid transparent;
    z-index: 10000;
    position: absolute;
}

.corpus-text-detail-images-image-parts-part.reveal {
    border: 3px solid white;
    outline: 6px solid var(--color-purple);
}

.corpus-text-detail-images-image-parts-part.active {
    border: 3px solid white;
    outline: 6px solid var(--color-primary);
    cursor: pointer;
}

.corpus-text-detail-images-image-parts-part.hidden,
.corpus-text-detail-images-image-parts-part.reveal.hidden,
.corpus-text-detail-images-image-parts-part.active.hidden {
    display: none;
}

.corpus-text-detail-images-image-parts-part.new {
    cursor: default;
    border: 3px solid white;
    outline: 6px solid var(--color-red);
    background: transparent;
    position: absolute;
}

.corpus-text-detail-images-image-parts-part.new:hover {
    background: transparent;
}

.drawable .corpus-text-detail-images-image-parts-part.new {
    cursor: crosshair;
}

.corpus-text-detail-images-image-parts-part label {
    margin: -1.55rem 0 0 -0.185rem;
    padding: 0 0.3em;
    font-size: 0.9em;
    width: fit-content;
    display: none;
    background: var(--color-primary);
    color: white;
    outline: 1px solid var(--color-primary-light);
}

.corpus-text-detail-images-image-parts-part.active label {
    display: block;
}

/* ---------- Maps ---------- */

.corpus-map-iframe {
    width: 95vw;
    margin: 3em auto;
    height: 80vh;
    display: block;
    background: #DDD;
    border: 1px solid #AAA;
}

.leaflet-map {
    width: 100%;
    height: 70vh;
    margin-top: 3em;
    user-select: none;
}

.leaflet-popup-content {
    max-height: 60vh;
    overflow-y: auto;
}

.map-iedctoponyms-popup-title {
    display: block;
    font-weight: 600;
    text-align: center;
    margin-bottom: 0.3em;
    font-size: 1.3em;
}

.map-iedctoponyms-popup-subtitle {
    display: block;
    font-weight: 600;
    margin-top: 1em;
    font-size: 1.2em;
}

.leaflet-container a.sltextfoliotag-url {
    display: inline-block;
    padding: 0.3em;
}

.leaflet-container a.map-iedctoponyms-popup-text {
    display: block;
    padding: 0.5em 1em;
    background: #F2F2F2;
    text-align: left;
    font-size: 1.1em;
    font-weight: 400;
    color: #404040;
    margin: 0.2em 0;
}

.leaflet-container a.map-iedctoponyms-popup-text:hover {
    background: var(--color-primary);
    color: white;
    text-decoration: none;
}

#corpus-text-detail-content-map {
    margin-top: 0;
}

/* ---------- Help ---------- */

#help-list-head-search {
    margin: 3em auto;
    text-align: center;
}

.help-list-items-item {
    display: block;
    width: 100%;
    border-top: 1px solid #DDD;
    padding: 0.7em 1em 0.6em 1em;
    color: #505050;
}

.help-list-items-item:last-child {
    border-bottom: 1px solid #DDD;
}

.help-list-items-item:last-child:hover {
    border-bottom: 1px solid var(--color-primary);
}

.help-list-items-item:hover {
    border-top: 1px solid var(--color-primary);
    background: var(--color-primary);
    color: white;
    text-decoration: none;
}

.help-list-items-item-title {
    font-size: 1.2em;
    font-weight: 400;
}

.help-list-items-item-details {
    margin-top: 0.8em;
    opacity: 0.8;
}

#help-list-items-empty {
    text-align: center;
    margin-top: 2em;
    opacity: 0.5;
    font-size: 1.3em;
}

#help-detail-link {
    text-align: center;
    font-size: 1.1em;
    display: block;
    margin: 3em 0;
}

#help-detail-link a {
    font-weight: bold;
    text-decoration: underline;
}

#help-detail-image {
    max-width: 100%;
    margin: 3em auto;
}

/* ---------- Footer ---------- */

footer {
    background: #EEE;
    color: #404040;
    padding: 4em 0;
    margin-top: 5em;
    text-align: center;width: fit-content;
}

#footer-content-logos img {
    height: 3.5em;
    margin: 1em 2em;
    filter: grayscale(100%);
}

#footer-content-logos img:hover {
    filter: grayscale(0%);
}

#footer-content-social {
    margin: 1.3em 0;
    font-size: 2em;
}

#footer-content-social a {
    color: #606060;
    padding: 0.2em;
    margin: 0.4em;
    display: inline-block;
}

#footer-content-social-instagram:hover {
    color: #962fbf;
}

#footer-content-social-facebook:hover {
    color: #4267B2;
}

#footer-content-social-twitter:hover {
    color: #00acee;
}

#footer-content-social-youtube:hover {
    color: var(--color-red);
}

#footer-content-social-linkedin:hover {
    color: #0072b1;
}

#footer-content-text {
    margin-top: 2em;
}

footer p {
    margin-top: 2em;
    display: block;
}

footer a {
    color: var(--color-primary);
    opacity: 1;
    text-decoration: underline;
}

footer a:hover {
    color: var(--color-primary);
    opacity: 1;
    text-decoration: underline;
}

/* ---------- Error Pages ---------- */

.errorpage-path {
    font-weight: 500;
}

.errorpage-code {
    margin-top: 3em;
    font-size: 0.8em;
}
