@import url('https://fonts.googleapis.com/css2?family=Droid+Serif:wght@400;700&family=Fira+Sans:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap');

/* Theme variables */
:root {
    --primary: #C92432;
    --primary-hover: #460809;
    --text-light: #f8f9fa;
    --text-dark: #343a40
}

/* Base typography and links */
body {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #333;
}

a {
    color: var(--primary)
}

a:hover,
a:focus {
    color: var(--primary-hover)
}

.page-content p,
.page-content li {
    font-size: 16px;
    font-weight: 400
}

h1 {
    font-size: 1.5rem
}

h2 {
    font-size: 1.35rem
}

h3 {
    font-size: 1.2rem
}

h4 {
    font-size: 1.05rem
}

h5 {
    font-size: .9rem
}

h6 {
    font-size: .75rem
}

.hidden {
    display: none
}

.cmp_back_link {
    margin-top: 20px;
    margin-bottom: 20px
}

/* Alerts, badges, buttons, and cards */
.alert {
    border-radius: 0
}

.alert .form-error-list {
    font-size: 16px
}

.alert-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--text-light);
}

.alert-primary a,
.alert-primary a:hover,
.alert-primary a:focus,
.alert-primary a:active {
    color: #fff;
    text-decoration: underline
}

.alert-danger {
    background-color: #ca1031;
    color: #fff
}

.alert-danger a,
.alert-danger a:hover,
.alert-danger a:focus,
.alert-danger a:active {
    color: #fff;
    text-decoration: underline
}

.badge-light {
    background: #bee;
    color: #333
}

.btn {
    padding: .5em 1em;
    border-radius: 0px 10px 0px 10px;
    border: 1px solid #757575;
    background: transparent;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #333;
    text-decoration: none;
    cursor: pointer
}

.btn:hover,
.btn:focus,
.btn:active {
    box-shadow: none;
    color: var(--primary-hover);
    border-color: var(--primary-hover);
    text-decoration: none
}

.btn.btn {
    font-size: 1rem
}

.btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    color: #faf7f7
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #000
}

.btn-light {
    border-color: #f7f7f7;
    color: #f7f7f7
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
    background: #f7f7f7;
    color: #333
}

.btn-primary-bg {
    background: #f7f7f7;
    border-color: #f7f7f7;
    color: #333
}

.btn-primary-bg:hover,
.btn-primary-bg:focus,
.btn-primary-bg:active {
    background: #f7f7f7;
    border-color: #333;
    color: #333
}

.btn-link {
    border-color: transparent;
    font-weight: 400;
    color: var(--primary-hover)
}

.btn-link:hover,
.btn-link:focus,
.btn-link:active {
    border-color: transparent;
    color: var(--primary)
}

.btn-text {
    border-color: transparent;
    font-weight: 400;
    color: #333
}

.btn-text:hover,
.btn-text:focus,
.btn-text:active {
    border-color: transparent;
    color: var(--primary-hover)
}

.card {
    border: none;
    border-radius: 0
}

.card-img-top {
    border-radius: 0
}

.card-body {
    padding-left: 0;
    padding-right: 0
}

.card-title {
    font-size: 18px;
    font-family: 'Fira Sans', sans-serif
}

.dropdown-menu {
    padding: 0.5em;
    background: var(--primary);
    border: none;
    border-radius: 0;
    color: #000
}

.dropdown-item {
    padding-left: 0.5em;
    padding-right: 0.5em;
    color: #000;
    text-transform: none;
    border: 1px solid transparent
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--primary-hover);
    border-color: transparent;
    color: #fff;
    outline: 0
}

.dropdown-header {
    margin-top: 1rem;
    padding-left: 0.5rem;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    color: #000
}

/* Form elements */
::placeholder {
    color: #fff;
    font-style: italic
}

legend {
    margin: 3rem 0;
    font-size: 1.25rem;
    text-transform: uppercase
}

.form-group {
    margin-bottom: 3rem
}

.form-control {
    border: none;
    border-bottom: 1px solid;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none
}

/* Header and navigation */
.main-header {
    background-color: #f7f7f7
}

.main-header .container {
    position: relative
}

#userNav,
.navbar-logo,
#languageLargeNav {
    display: none
}

.navbar-nav .nav-link,
.navbar-nav .dropdown-item {
    padding: 0.5em;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase
}

.navbar-nav .dropdown-menu {
    padding: 0
}

.navbar-nav .dropdown-item {
    padding-left: 1.5em
}

.navbar-brand {
    max-width: 75%
}

.navbar-brand img {
    width: auto;
    height: auto;
    max-height: 1em;
    max-width: 100%
}

.navbar-logo-text {
    display: block;
    width: 100%;
    white-space: normal;
    margin-left: -0.5em;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border: 1px solid transparent;
    font-family: 'PT Serif', serif;
    font-size: 14px
}

.navbar-logo-text:hover {
    color: #333
}

#languageSmallNav {
    margin-top: 1em
}

#languageSmallNav .btn,
#languageSmallNav .dropdown-item {
    font-size: 12px
}

#languageSmallNav .dropdown-item:hover,
#languageSmallNav .dropdown-item:focus {
    color: #fff
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .dropdown-item {
    color: #333
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .dropdown-item:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .dropdown-item:focus {
    outline: 0;
    background: var(--primary);
    color: #fff
}

.navbar-light .navbar-nav .dropdown-menu {
    background: transparent;
    border: none
}

.badge {
    font-size: 0.85em
}

@media (min-width:992px) {
    .main-header .container {
        padding: 2rem 1rem 0 1rem
    }

    .navbar {
        padding-top: 0;
        padding-bottom: 0
    }

    #userNav,
    .navbar-logo,
    #languageLargeNav {
        display: block
    }

    .navbar-brand,
    #primaryNav-userNav,
    #languageSmallNav {
        display: none
    }

    .navbar-logo {
        display: block;
        margin-left: auto;
        margin-right: auto;
        padding-top: 1rem;
        padding-bottom: 1.5rem;
        max-width: 60%;
        text-align: center
    }

    .navbar-logo img {
        max-height: 75px
    }

    .navbar-logo a {
        color: #333
    }

    .navbar-logo a:hover {
        color: #333;
        text-decoration: none
    }

    .navbar-logo-text {
        font-size: 25px
    }

    #primaryNav {
        justify-content: space-around;
        position: relative;
        width: 100%;
        padding-top: 1rem;
        padding-bottom: 1rem
    }

    #primaryNav .nav-item {
        position: static;
        white-space: nowrap
    }

    #primaryNav .nav-link,
    #primaryNav .dropdown-item {
        line-height: 1.5rem;
        text-transform: uppercase;
        vertical-align: middle;
        border: 1px solid transparent
    }

    #primaryNav .nav-link {
        padding: 1rem
    }

    #primaryNav .nav-link:hover,
    #primaryNav .nav-link:focus {
        background: var(--primary);
        color: #fff;
        border-color: var(--primary)
    }

    #primaryNav .dropdown-item {
        padding: 0.5rem
    }

    #primaryNav .dropdown-item:hover,
    #primaryNav .dropdown-item:focus {
        background: var(--primary-hover);
        color: #fff;
        border-color: var(--primary-hover)
    }

    #primaryNav .dropdown-menu.show {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-content: center;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        margin: 0;
        padding: 1rem;
        background-color: var(--primary);
        border-radius: 0
    }

    #primaryNav .dropdown-item {
        font-size: 17px;
        color: #fff;
        text-align: center;
        width: initial
    }

    #primaryNav .dropdown-item:focus,
    #primaryNav .dropdown-item:hover {
        color: #fff;
        background-color: var(--primary-hover)
    }

    #userNav {
        position: absolute;
        top: 1rem;
        right: 1rem
    }

    #userNav .nav-item {
        display: inline-block
    }

    .language-toggle {
        position: absolute;
        top: 1rem;
        left: 1rem
    }

    #userNav .dropdown-menu,
    .language-toggle .dropdown-menu {
        padding: 0.5em
    }

    #userNav .nav-link,
    .language-toggle .dropdown-toggle {
        color: #333;
        border: 1px solid transparent;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5em;
        text-transform: none
    }

    #userNav .nav-link:hover,
    .language-toggle .dropdown-toggle:hover,
    #userNav .nav-link:focus,
    .language-toggle .dropdown-toggle:focus {
        outline: 0;
        border-color: #757575
    }

    #userNav .dropdown-item,
    .language-toggle .dropdown-item {
        padding-left: 0.5em;
        font-size: 14px;
        color: #fff;
        text-transform: none
    }

    #userNav .dropdown-item:hover,
    .language-toggle .dropdown-item:hover,
    #userNav .dropdown-item:focus,
    .language-toggle .dropdown-item:focus {
        color: #fff
    }
}

.page-link {
    color: var(--primary-hover)
}

.page-link:hover,
.page-link:focus {
    background: var(--primary-hover);
    color: #fff
}

.page-item.active .page-link {
    background: transparent;
    border-color: #ddd;
    color: #333
}

/* Pagination and search filters */
.page-item.active .page-link:hover,
.page-item.active .page-link:focus {
    background: transparent;
    border-color: #ddd;
    color: #333
}

@media (min-width:768px) {
    .page-item.active .page-link {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.search-filters {
    padding: 1rem;
    background: #f7f7f7
}

.search-filters h2 {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    line-height: 1.6rem;
    color: #757575
}

.search-filters label {
    font-size: 0.9rem;
    color: #757575
}

.search-filters .form-control {
    background: transparent
}

.search-filters .form-control-date {
    display: flex;
    justify-content: space-between
}

.search-filters .form-control-date>select:first-child {
    max-width: 6em
}

.search-filters .form-control-date>select:nth-child(2) {
    margin-left: 0.5em;
    margin-right: 0.5em
}

.search-filters .form-control-date>select:last-child {
    max-width: 4em
}

.search-filters .form-group-buttons {
    margin-bottom: 0
}

@media (min-width:992px) {
    .search-filters {
        padding: 2rem
    }
}

.modal-dialog {
    max-width: 540px
}

/* Modal dialogs */
.modal-header {
    border-color: #000
}

.modal-content {
    border-radius: 0;
    background: var(--primary-hover);
    color: #000
}

.modal-content .close {
    color: #000;
    text-shadow: none;
    opacity: 1
}

.modal-content a {
    color: #000;
    text-decoration: underline
}

.modal-content a:hover,
.modal-content a:focus {
    color: #000
}

.modal-content .btn-primary {
    background: #f7f7f7;
    border-color: #f7f7f7;
    color: #333
}

.modal-content .btn-primary:hover,
.modal-content .btn-primary:focus,
.modal-content .btn-primary:active {
    background: #f7f7f7;
    border-color: #333;
    color: #333
}

.modal-content .btn-link {
    color: #000;
    text-decoration: none
}

.modal-content .btn-link:hover,
.modal-content .btn-link:focus {
    color: #000;
    border-color: #000
}

.modal-content .form-control {
    background: transparent;
    border-color: #000;
    color: #000
}

@media (min-width:992px) {
    .modal-content {
        padding: 4rem
    }

    .modal-content .close {
        position: absolute;
        top: 0.5rem;
        right: 0.8rem
    }
}

@media (min-width:992px) {
    #loginModal .close {
        top: -2.5rem;
        right: -2rem
    }
}

.form-login .form-group-password {
    margin-bottom: 1.5rem
}

.form-login .form-group-remember .form-text,
.form-login .form-group-forgot .form-text {
    margin-top: 0
}

.form-login .form-group-register {
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.5rem
}

/* Login and registration flows */
@media (min-width:768px) {

    .form-group-buttons,
    .form-group-register {
        text-align: center
    }
}

#connect-orcid-button {
    padding: .5em 1em;
    border-radius: 0;
    border: 1px solid #757575;
    background: transparent;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #333;
    text-decoration: none;
    cursor: pointer;
    display: block;
    margin-left: auto;
    margin-right: auto
}

#connect-orcid-button:hover,
#connect-orcid-button:focus,
#connect-orcid-button:active {
    box-shadow: none;
    color: var(--primary-hover);
    border-color: var(--primary-hover);
    text-decoration: none
}

.form-register fieldset.reviewer legend {
    margin: 0 0 .25rem;
    font-size: 1.1rem;
    line-height: 1.5rem;
    text-transform: none
}

.form-register fieldset.reviewer .form-check {
    font-size: 0.85rem
}

.form-register .form-group-login {
    font-size: 1rem;
    line-height: 1.5rem
}

.form-register .list-group-item {
    font-size: 1rem;
    line-height: 1.5em
}

.form-register .list-group-item p {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #757575
}

.form-register .list-group-item-heading {
    font-family: 'Droid Serif', serif;
    font-size: 1.2rem;
    line-height: 1.5em
}

.form-register .form-group-buttons {
    margin-top: 3rem
}

.form-register .row+.form-group-buttons {
    margin-top: 0
}

@media (min-width:992px) {

    .form-register .form-group-buttons,
    .form-register .form-group-login {
        text-align: center
    }
}

#register .consent {
    font-size: 0.85rem;
    margin-bottom: 20px
}

.reviewer_interests.hidden {
    display: none
}

#reviewerInterests {
    margin-top: -23px;
    margin-bottom: 48px;
    font-size: 1.1rem
}

#reviewerInterests .label {
    margin-bottom: 12px
}

#tagitInput {
    border-bottom: 1px solid #333;
    padding: 1px 0;
    overflow: auto;
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    font-size: 16px
}

.tagit-choice {
    padding-top: 2px;
    margin-right: 8px;
    background-color: #bee;
    padding-left: 4px;
    padding-right: 4px
}

li.tagit-new {
    border: 0
}

li.tagit-new input {
    border: 0
}

li.tagit-new input:focus {
    outline: none
}

a.tagit-close {
    cursor: pointer
}

.context_privacy {
    position: absolute;
    left: -9999px
}

.context_privacy_visible {
    position: relative;
    left: auto
}

#reviewerInterests.reviewer_nocontext_interests {
    margin-top: 48px;
    font-size: 20px
}

/* Article lists and article details */
.article-summary {
    margin: 2rem 0 3rem
}

.article-summary-authors,
.article-summary-pages {
    font-size: 14px;
    line-height: 1.5em;
    color: #757575
}

.article-summary-title {
    font-size: 1.25rem;
    font-family: 'Droid Serif', serif
}

.article-summary-title a {
    color: #333
}

.article-summary-title a:hover {
    text-decoration: none
}

.article-summary-galleys {
    margin-top: 1em
}

.article-summary-date {
    margin-top: 0.5rem;
    font-family: 'Droid Serif', serif;
    font-size: 1rem;
    color: #757575
}

.article-details-issue-identifier {
    margin-bottom: 0.5em;
    font-family: 'Droid Serif', serif;
    color: #757575
}

.article-details-issue-identifier a {
    text-decoration: none;
    color: #757575
}

.article-details-issue-identifier a:hover,
.article-details-issue-identifier a:focus {
    color: #757575
}

.article-details h1 {
    font-size: 2rem
}

.article-details-issue-section,
.article-details-doi,
.article-details-published {
    margin-top: 1em;
    font-size: 0.9rem;
    line-height: 1.6em;
    color: #757575
}

@media (max-width:991px) {
    .authors-string {
        display: none
    }
}

@media (min-width:992px) {
    .article-details-author.hideAuthor {
        display: none
    }
}

.article-details-issue-section {
    text-transform: uppercase
}

.article-details-block,
.article-details .item {
    margin-bottom: 3rem
}

.article-details-heading,
.article-details .item>.label {
    color: #757575
}

.article-details-cover {
    max-width: 210px
}

.article-details-author {
    margin-bottom: 1rem
}

.article-details-author .rorImage {
    padding-left: 4px
}

.article-details-author-affiliation {
    font-size: 0.9rem;
    color: #757575
}

.article-details-author-orcid {
    font-size: 0.8rem
}

.article-details-author-orcid a {
    text-decoration: none
}

.article-details-author-orcid a:hover,
.article-details-author-orcid a:focus {
    color: #757575
}

.article-details-bio-toggle {
    padding: 0;
    font-size: 0.9rem;
    color: var(--primary-hover);
    border: none;
    background: transparent;
    cursor: pointer
}

.article-details-bio-toggle:hover,
.article-details-bio-toggle:focus {
    color: #757575
}

.article-details-galley:not(:last-child) {
    margin-bottom: 0.5rem
}

.article-details-galleys-supplementary .article-details-heading {
    margin-bottom: 14px
}

.article-details-how-to-cite-citation {
    margin-bottom: 0.5rem;
    font-size: 0.9rem
}

.article-details-how-to-cite .csl-left-margin {
    display: none
}

.csl-entry {
    word-break: break-word
}

.article-details-license {
    margin-top: 60px;
    font-size: 0.9rem
}

.article-details-galleys-btm {
    display: none
}

.article-details-abstract {
    line-height: 1.8em
}

.article-details-references-value p {
    overflow-x: hidden;
    text-overflow: ellipsis
}

@media (min-width:992px) {
    .small-screen {
        display: none
    }

    .authors-string {
        margin-top: 1em;
        margin-bottom: 1em;
        padding-left: 0
    }

    .authors-string li {
        display: inline;
        list-style-type: none
    }

    .authors-string li:not(:last-child):after {
        content: ", "
    }

    .authors-string .author-string-href {
        color: #333;
        cursor: pointer
    }

    .authors-string .author-string-href:hover {
        text-decoration: none;
        color: var(--primary-hover)
    }

    .orcidImage {
        margin-left: 3px;
        margin-right: 1px
    }

    .author-string-href.active {
        color: var(--primary-hover)
    }

    .author-symbol {
        font-family: sans-serif;
        font-weight: bold;
        margin-left: 2px;
        color: var(--primary-hover)
    }

    .author-symbol.hide {
        display: none
    }

    .article-details-issue-identifier {
        margin-bottom: 1em;
        font-size: 1.1em;
        line-height: 1.6em
    }

    .article-details h1 {
        font-size: 2.5rem
    }

    .article-details-main {
        padding: 3rem 6rem;
        background: #f7f7f7
    }

    .article-details-main .article-details-heading,
    .article-details-main .item>.label {
        margin-bottom: 1rem;
        font-size: 1.5rem;
        color: #333
    }

    .article-details-main .article-details-block:last-child,
    .article-details-main .item:last-child {
        margin-bottom: 0
    }

    .article-details-galleys-btm {
        display: block
    }

    .galleys-without-abstract div {
        display: block
    }

    .galleys-without-abstract div:not(:last-child) {
        margin-bottom: 10px
    }

    .article-details-galleys-sidebar {
        display: none
    }

    .article-details-galley {
        display: inline-block
    }

    .article-details-galley:not(:last-child) {
        margin-bottom: 0
    }

    .article-details-references-value {
        font-size: 0.9rem
    }

    .article-footer-hook {
        margin-top: 40px
    }
}

@media (max-width:991px) {

    .large-screen,
    .author-symbol {
        display: none
    }

    .article-details-galley {
        display: inline-block
    }

    .article-details-galley:not(:last-child) {
        margin-right: 0.3rem
    }

    .article-details-keywords-value br {
        display: none
    }

    .article-details-keywords-value span:not(:last-child):after {
        content: ", "
    }

    .article-blocks-mobile {
        display: flex;
        flex-direction: column
    }

    .article-blocks-mobile>.article-details-cover {
        display: none
    }

    .article-blocks-mobile>.article-details-galleys {
        order: 1
    }

    .article-blocks-mobile>.article-details-galleys-supplementary {
        order: 2
    }

    .article-blocks-mobile>.article-details-abstract {
        order: 3
    }

    .article-blocks-mobile>.article-details-doi.small-screen {
        order: 4
    }

    .article-blocks-mobile>.article-details-pubid {
        order: 5
    }

    .article-blocks-mobile>.article-details-keywords {
        order: 6
    }

    .article-blocks-mobile>.article-details-how-to-cite {
        order: 7
    }

    .article-blocks-mobile>.article-details-categories {
        order: 8
    }

    .article-blocks-mobile>.article-details-references {
        order: 9
    }

    .article-blocks-mobile>.article-details-license {
        order: 10
    }

    .article-blocks-mobile>* {
        order: 10;
        margin-bottom: 40px;
        margin-top: 0
    }

    .article-meta-mobile {
        display: flex;
        flex-direction: column
    }

    .article-details-issue-section {
        order: 1
    }

    .article-details-issue-section a {
        color: #757575
    }

    .article-details-published {
        order: 2;
        margin-top: 0
    }

    .article-details-fulltitle {
        order: 3;
        margin-top: 40px;
        margin-bottom: 20px
    }

    .article-details-authors {
        order: 4
    }

    .article-details-abstract+.article-details-doi {
        margin-top: -30px
    }
}

#articlesBySameAuthorList {
    margin-bottom: 40px
}

#articlesBySameAuthorList ul {
    list-style: none;
    padding-left: 32px;
    margin-top: 25px
}

#articlesBySameAuthorList li {
    position: relative;
    margin-bottom: 20px
}

#articlesBySameAuthorList li:before {
    content: '';
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid var(--primary);
    position: absolute;
    height: 10px;
    left: -30px;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

#articlesBySameAuthorList a {
    z-index: 2;
    position: relative
}

#articlesBySameAuthorPages {
    display: flex;
    margin-top: 40px
}

#articlesBySameAuthorPages a,
#articlesBySameAuthorPages strong {
    border: 1px solid #757575;
    display: block;
    padding: 5px 8px
}

/* Issue and announcement listings */
.issue-wrapper {
    -ms-flex-pack: center;
    justify-content: center
}

.issue-toc-section+.issue-toc-section {
    border-top: 1px solid #ccc
}

.issue-toc-section-title {
    margin: 2rem 0;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    color: var(--primary)
}

.issue-summary {
    margin-bottom: 3rem
}

.issue-summary-cover {
    max-width: 200px;
    height: auto
}

.issue-summary-series {
    margin-bottom: 0
}

.issue-summary-series a {
    color: #333
}

.issue-summary-series a:hover,
.issue-summary-series a:focus {
    color: #333
}

.issue-summary-title,
.issue-summary-date {
    font-size: 14px;
    color: #757575
}

.issue-summary-date {
    margin-bottom: 1rem
}

.issue-summary-title {
    margin-bottom: 0
}

.announcement-summary h2 {
    font-size: 1.5rem
}

.announcement-summary-date {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    font-family: 'Droid Serif', serif;
    color: #757575
}

@media (min-width:992px) {
    .announcement-summary-date {
        font-size: 1rem
    }
}

.page-header {
    margin-top: 3rem;
    margin-bottom: 3rem
}

.page-header h1 {
    font-size: 1.5rem
}

.page-content {
    margin-bottom: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #ccc;
    font-size: 14px;
    line-height: 25px
}

.page-content p {
    margin-top: 1.5rem
}

.page-content p p:first-child {
    margin-top: 0
}

.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    margin-top: 2em
}

.page-content h2 .btn-edit-link {
    border: none
}

/* Generic page layouts */
@media (min-width:992px) {
    .page-header {
        text-align: center
    }

    .page-header h1 {
        font-size: 1.5rem
    }
}

.homepage-image img {
    display: block;
    width: 100%;
    height: auto
}

.container-homepage-issue {
    margin-top: 2rem;
    border: 0
}

.homepage-announcement img {
    max-width: 100%;
    height: auto
}

.homepage-announcement-date {
    font-weight: 400;
    font-size: 75%;
    color: #757575
}

.homepage-issue-current,
.homepage-issue-identifier,
.homepage-issue-published {
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: center
}

.homepage-issue-published {
    font-family: 'Fira Sans', sans-serif
}

.homepage-issue-cover {
    display: block;
    max-width: 210px;
    max-height: 315px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem
}

.homepage-issue-description {
    position: relative;
    max-height: 500px;
    overflow-y: hidden;
    padding-bottom: 4rem
}

.homepage-issue-description:after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100px;
    background-image: linear-gradient(rgba(255, 255, 255, 0), #fff 20%)
}

.homepage-issue-description-more {
    position: absolute;
    z-index: 2;
    display: block;
    width: 100%;
    bottom: 2rem
}

.homepage-journal-description.long-text {
    position: relative;
    overflow-y: hidden;
    max-height: 210px
}

.homepage-description-buttons {
    margin-top: 30px
}

#homepageDescriptionMore,
#homepageDescriptionLess {
    color: var(--primary);
    cursor: pointer
}

.homepage-issue-galleys {
    padding-bottom: 2rem
}

.homepage-additional-content {
    margin-top: 4rem;
    margin-bottom: 4rem
}

.homepage-issue-identifier {
    font-size: 24px
}

/* Homepage sections */
@media (min-width:992px) {
    .homepage-issue-header {
        margin-top: 3rem;
        margin-bottom: 3rem
    }

    .homepage-issue-cover {
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1)
    }

    .homepage-issue-description-wrapper {
        padding: 30px 30px 0px 30px;
        ;
        background: #f7f7f7
    }

    .homepage-issue-description {
        max-height: 29em
    }

    .homepage-issue-description:after {
        background-image: linear-gradient(rgba(255, 255, 255, 0), #f7f7f7 20%)
    }

    .homepage-issue-description .h2 {
        margin-bottom: 1rem
    }

    .homepage-issue-galleys {
        padding-bottom: 0
    }
}

@media (min-width:1200px) {
    .homepage-image-behind-issue {
        position: absolute;
        z-index: -1;
        width: 100%;
        max-height: 500px;
        overflow-y: hidden
    }

    .homepage-image-behind-issue:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4)
    }

    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-current {
        color: var(--text-light);
    }

    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-identifier,
    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-published {
        color: var(--text-dark);
    }

    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-current {
        margin-top: 3rem
    }

    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-published {
        margin-top: 3rem;
        margin-bottom: 3rem
    }

    .issue-only-image {
        margin-top: 320px
    }

    .issue-image-cover {
        margin-top: 150px
    }

    .issue-full-data {
        margin-top: 0
    }
}

@media (min-width:1400px) {
    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-current {
        margin-top: 3rem
    }

    .homepage-image-behind-issue+.container-homepage-issue .homepage-issue-published {
        margin-top: 4.5rem;
        margin-bottom: 4.5rem
    }
}

@media (max-width:991px) {
    .homepage-description-buttons {
        margin-bottom: 30px
    }
}

.page-issue-details {
    margin-top: 3rem
}

.page-issue-date {
    margin-top: 2rem
}

.page-issue-doi {
    margin-top: 1rem;
    font-size: 16px
}

.page-issue-description+.page-issue-galleys,
.page-issue-cover {
    margin-top: 3rem
}

.page-issue-description .h2 {
    font-size: 1.35rem;
    text-align: center;
    margin-bottom: 1rem
}

.page-issue-cover {
    display: block;
    max-width: 210px;
    max-height: 315px
}

/* Issue detail pages */
@media (min-width:992px) {
    .page-issue-description-wrapper {
        padding: 3rem;
        background: #f7f7f7
    }

    .page-issue-cover {
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        margin: auto
    }

    .page-issue-date,
    .page-issue-doi,
    .page-issue-doi a {
        font-size: 14px;
        color: #757575
    }

    .page-issue-date,
    .page-issue-doi {
        margin-top: 1rem
    }
}

.page-contact {
    text-align: center
}

.page-announcement .announcement-date {
    margin-bottom: 0.5rem;
    font-family: 'Droid Serif', serif;
    color: #757575
}

@media (min-width:992px) {
    .page-announcement .announcement-date {
        margin-bottom: 1rem;
        font-size: 1.1rem
    }
}

.announcement-summary-description img {
    max-width: 100%;
    height: auto
}

.page-announcement-content img {
    max-width: 100%;
    height: auto
}

.page-site .page-content {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-top: none;
    border-bottom: 1px solid #ccc
}

.page-site .site-journal {
    margin-bottom: 3rem
}

.page-site .site-journal-img img {
    margin-bottom: 1rem;
    max-height: 10rem
}

/* Search and section pages */
.page-search .pagination {
    display: block;
    text-align: center;
    font-size: 0.9rem;
    line-height: 3rem
}

.page-search .pagination strong,
.page-search .pagination a {
    padding: .5em 1em;
    border-radius: 0;
    border: 1px solid #757575;
    background: transparent;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #333;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    margin-left: 0.25em;
    margin-right: 0.25em;
    padding-top: 0;
    padding-bottom: 0
}

.page-search .pagination strong:hover,
.page-search .pagination a:hover,
.page-search .pagination strong:focus,
.page-search .pagination a:focus,
.page-search .pagination strong:active,
.page-search .pagination a:active {
    box-shadow: none;
    color: var(--primary-hover);
    border-color: var(--primary-hover);
    text-decoration: none
}

.page-search .pagination strong:first-child,
.page-search .pagination a:first-child {
    margin-left: 0.5rem
}

.page-search .pagination strong {
    border: none;
    font-weight: 700;
    color: #757575;
    cursor: default
}

.page-search .pagination strong:hover,
.page-search .pagination strong:focus {
    color: #757575
}

@media (min-width:992px) {
    .page-search .search-col-filters {
        order: -1
    }
}

.page-section .section-description {
    margin-bottom: 4rem
}

@media (min-width:992px) {
    .page-section .col-lg-4+.col-lg-8 .page-content {
        padding-top: 0;
        border-top: 0
    }

    .page-section .col-lg-4+.col-lg-8 .page-content .article-summary:first-child {
        margin-top: 0
    }

    .page-section .section-description {
        padding: 2rem;
        background: #f7f7f7;
        font-size: 1rem;
        line-height: 2
    }
}

.page-view-pdf {
    background: #f7f7f7
}

.pdf-header {
    display: flex;
    justify-content: space-around;
    position: relative;
    z-index: 3;
    padding-top: 10px
}

.pdf-return-article {
    max-width: 70%;
    overflow-x: hidden;
    text-overflow: ellipsis
}

.pdf-download-button {
    max-width: 30%
}

.pdf-frame {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: hidden
}

.pdf-frame iframe {
    width: 100%;
    height: 100%;
    padding-top: 64px;
    border: none
}

.galley_view {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: hidden
}

.galley_view iframe {
    width: 100%;
    height: 99%;
    border: none;
    padding-top: 30px
}

.header_view {
    background-color: #f7f7f7;
    position: relative;
    z-index: 2
}

.header_view .return {
    position: absolute;
    top: 0;
    left: 0;
    height: 30px;
    width: 30px;
    line-height: 30px;
    text-align: center;
    background-color: var(--primary-hover)
}

.header_view .return:before {
    content: "\2190";
    display: inline-block;
    color: white;
    position: absolute;
    bottom: 3px;
    left: 5px;
    font-size: 20px
}

.header_view .title {
    margin-left: 30px;
    padding-left: 10px;
    display: block;
    text-overflow: ellipsis;
    color: #000;
    height: 30px;
    line-height: 30px;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap
}

/* PDF and galley views */
.pkp_screen_reader {
    position: absolute !important;
    left: -5000px
}

.submissions-checklist {
    font-size: 16px
}

.author-details-articles {
    list-style-type: none;
    padding-left: 0;
    margin-top: 60px
}

.author-details-author {
    font-size: 21px
}

.author-details-item:not(:last-child) {
    margin-bottom: 50px
}

.author-details-issue {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 14px;
    line-height: 1.5;
    font-family: 'Fira Sans', sans-serif
}

.author-details-issue a,
.author-details-issue span {
    color: #757575
}

.author-details-issue a {
    flex: 0 0 75%;
    width: 75%;
    padding-right: 10px
}

.author-details-issue span {
    flex: 0 0 25%;
    width: 25%;
    text-align: right
}

@media (max-width:991px) {
    .author-details-issue a {
        flex: 0 0 100%;
        width: 100%
    }

    .author-details-issue span {
        flex: 0 0 100%;
        width: 100%;
        text-align: left
    }
}

.author-details-article a {
    color: #333
}

.author-details-article a:hover {
    text-decoration: none
}

.author-details-galleys {
    margin-top: 16px
}

.author-details-galleys a {
    margin-bottom: 5px
}

/* Author and category pages */
@media (min-width:992px) {
    .page-category-description-wrapper {
        padding: 3rem;
        background: #f7f7f7
    }

    .page-category-cover {
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        margin: auto
    }

    .page-category-count {
        font-size: 14px;
        color: #757575;
        margin-top: 1rem
    }
}

.category-subcategories {
    padding-bottom: 1rem;
    border-bottom: 1px solid #ccc
}

.category-title {
    margin: 2rem 0;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    color: var(--primary-hover)
}

.category-subcategories-list {
    padding-left: 0;
    list-style-type: none
}

.category-subcategories-list li:not(:last-child) {
    margin-bottom: 10px
}

.category-subcategories-list li a {
    color: #333;
    font-size: 1rem;
    font-family: 'Droid Serif', serif
}

.category-subcategories-list li a:hover {
    text-decoration: none;
    color: #000
}

/* Footer blocks and site footer */
.site-footer-sidebar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 2rem;
    margin-bottom: 2rem
}

.pkp_block {
    padding: 15px
}

.pkp_block .title {
    display: block;
    margin-bottom: 0.5em;
    font-size: 24px
}

.block_make_submission .block_make_submission_link {
    padding: .5em 1em;
    border-radius: 0;
    border: 1px solid #757575;
    background: transparent;
    font-family: 'Fira Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
    border-color: #f7f7f7;
    display: inline-block;
    background-color: white;
    color: #000
}

.block_make_submission .block_make_submission_link:hover,
.block_make_submission .block_make_submission_link:focus {
    box-shadow: none;
    background-color: #333;
    border-color: white;
    color: white;
    text-decoration: none
}

.block_make_submission .block_make_submission_link:active {
    box-shadow: none;
    background: #f7f7f7;
    border-color: var(--primary-hover);
    color: #333;
    text-decoration: none
}

.block_information ul,
.block_language ul,
.block_announcement_feed ul,
.block_external_feed ul,
.block_web_feed ul {
    margin: 0;
    padding: 0;
    list-style: none
}

@media (min-width:992px) {
    .site-footer-sidebar .row {
        justify-content: flex-start
    }

    .pkp_block {
        flex: 0 0 25%;
        width: 25%
    }

    .pkp_block+.pkp_block {
        margin-top: 0
    }
}

@media (min-width:768px) and (max-width:991px) {
    .pkp_block {
        flex: 0 0 50%;
        width: 50%;
        margin-bottom: 20px
    }
}

@media (max-width:767px) {
    .site-footer-sidebar .row {
        flex-direction: column
    }

    .pkp_block {
        flex: 0 0 100%;
        width: 100%;
        margin-bottom: 20px
    }
}

.site-footer {
    margin-top: 3rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: #333;
    color: #fff
}

.site-footer a {
    color: #fff;
    text-decoration: underline
}

.site-footer a:hover,
.site-footer a:focus {
    text-decoration: underline
}

.site-footer-content>p:last-child {
    margin-bottom: 0
}

.footer-brand-image {
    margin-top: 2rem;
    max-width: 96px
}

@media (min-width:768px) {
    .site-footer {
        padding-top: 3rem;
        padding-bottom: 3rem
    }

    .footer-brand-image {
        margin-top: 0
    }
}

@media (min-width:992px) {
    .site-footer {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}



.homepage-image {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #2a353f 0%, #5d0f17 100%);
}

.homepage-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(18, 24, 33, 0.08) 0%, rgba(18, 24, 33, 0.4) 100%);
    pointer-events: none;
}

.homepage-image img {
    display: block;
    width: 100%;
    min-height: 240px;
    max-height: 560px;
    object-fit: cover;
    object-position: center;
}

.container-homepage-issue.page-content {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin-top: -6rem;
    margin-bottom: 4rem;
    padding: 2.5rem 1.5rem;
    border-top: 0;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

.homepage-additional-content {
    margin-top: 0;
    margin-bottom: 0;
}

.homepage-additional-content .col-lg-9 {
    max-width: 900px;
}

.homepage-additional-content p {
    margin-top: 0;
    margin-bottom: 1.35rem;
    color: #475467;
    font-size: 1.02rem;
}

.homepage-additional-content p:last-child {
    margin-bottom: 0;
}

.homepage-additional-content p:first-child {
    font-size: 1.08rem;
    color: #1f2937;
}

.site-footer {
    margin-top: 0;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    background: #1f2937;
}

.site-footer-content .row {
    justify-content: flex-end;
    align-items: center;
}

.site-footer-content .col-md-2 {
    flex: 0 0 auto;
    max-width: none;
    text-align: right;
}

.footer-brand-image {
    max-width: 110px;
    opacity: 0.95;
}

.modal-content {
    color: #f8fafc;
}

.modal-content .close,
.modal-content a,
.modal-content a:hover,
.modal-content a:focus,
.modal-content .btn-link,
.modal-content .btn-link:hover,
.modal-content .btn-link:focus,
.modal-content .form-control,
.modal-content label {
    color: var(--primary);
}

.modal-content .form-control {
    border-color: rgba(248, 250, 252, 0.8);
}

.modal-content .form-control::placeholder {
    color: rgba(248, 250, 252, 0.72);
}

/* Login page and modal */
.page-login {
    max-width: 1180px;
    margin-top: 2.5rem;
    margin-bottom: 4rem;
}

.page-login .page-header {
    margin-bottom: 1.5rem;
}

.page-login .page-header h1 {
    margin-bottom: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    color: #1f2937;
}

.page-login .page-content {
    padding: 2.75rem;
    margin-bottom: 0;
    border: 0;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

.page-login .page-content fieldset {
    margin: 0;
}

.page-login .form-login {
    max-width: 680px;
    margin: 0 auto;
}

.form-login label {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #344054;
}

.form-login .required {
    color: var(--primary);
}

.form-login .form-group {
    margin-bottom: 1.6rem;
}

.form-login .form-control {
    min-height: 3.5rem;
    padding: 0.9rem 0;
    border: 0;
    border-bottom: 1px solid rgba(52, 58, 64, 0.2);
    background: transparent;
    font-size: 1rem;
    color: #1f2937;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-login .form-control:focus {
    border-color: var(--primary);
    box-shadow: inset 0 -1px 0 var(--primary);
}

.form-login .form-control::placeholder {
    color: #98a2b3;
}

.form-login .form-check {
    min-height: auto;
    padding-left: 1.75rem;
}

.form-login .form-check-input {
    width: 1rem;
    height: 1rem;
    margin-top: 0.2rem;
    margin-left: -1.75rem;
    border: 1px solid rgba(52, 58, 64, 0.35);
    border-radius: 0.25rem;
}

.form-login .form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

.form-login .form-check-label {
    display: block;
    margin-bottom: 0;
}

.form-login .form-text,
.form-login .form-text a {
    color: #667085;
}

.form-login .form-text a:hover,
.form-login .form-text a:focus {
    color: var(--primary);
}

.form-login .form-group-forgot,
.form-login .form-group-remember {
    margin-bottom: 1rem;
}

.form-login .form-group-buttons {
    margin-top: 0.75rem;
}

.form-login .btn-primary {
    min-width: 180px;
    padding: 0.85rem 1.5rem;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #fff;
    box-shadow: 0 14px 30px rgba(201, 36, 50, 0.2);
}

.form-login .btn-primary:hover,
.form-login .btn-primary:focus {
    color: #fff;
    transform: translateY(-1px);
}

.form-login .form-group-register {
    margin-top: 1.5rem;
    color: #475467;
}

.form-login .form-group-register a {
    font-weight: 600;
}

#loginModal .modal-dialog {
    max-width: 620px;
}

#loginModal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.18);
}

#loginModal .modal-body {
    padding: 2.5rem;
}

#loginModal .close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid rgba(52, 58, 64, 0.14);
    border-radius: 999px;
    background: rgba(52, 58, 64, 0.04);
}

#loginModal .close:hover,
#loginModal .close:focus {
    background: rgba(52, 58, 64, 0.1);
}

#loginModal .form-login {
    max-width: none;
}

#loginModal .form-login label,
#loginModal .form-login .form-group-register,
#loginModal .form-login .form-text,
#loginModal .form-login .form-text a {
    color: #475467;
}

#loginModal .form-login .form-control {
    color: #1f2937;
    border-bottom-color: rgba(52, 58, 64, 0.2);
}

#loginModal .form-login .form-control:focus {
    border-color: var(--primary);
    box-shadow: inset 0 -1px 0 var(--primary);
}

#loginModal .form-login .form-check-input {
    border-color: rgba(52, 58, 64, 0.35);
}

#loginModal .form-login .btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 14px 30px rgba(201, 36, 50, 0.2);
}

#loginModal .form-login .btn-primary:hover,
#loginModal .form-login .btn-primary:focus,
#loginModal .form-login .btn-primary:active {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff;
}

@media (max-width:991.98px) {
    .page-login {
        margin-top: 1.5rem;
        margin-bottom: 3rem;
    }

    .page-login .page-content {
        padding: 2rem 1.5rem;
        border-radius: 1.25rem;
    }

    #loginModal .modal-body {
        padding: 2rem 1.5rem;
    }
}

@media (max-width:575.98px) {
    .page-login .page-header {
        margin-bottom: 1rem;
    }

    .page-login .page-content {
        padding: 1.5rem 1rem;
    }

    .form-login .btn-primary {
        width: 100%;
    }

    #loginModal .modal-dialog {
        margin: 0.75rem;
    }

    #loginModal .modal-body {
        padding: 1.5rem 1rem;
    }
}

/* Homepage current issue refresh */
.container-homepage-issue.page-content {
    overflow: hidden;
}

.homepage-issue-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: var(--primary);
    color: var(--text-light);
    font-family: 'Fira Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.homepage-issue-identifier {
    margin-top: 0;
    margin-bottom: 0.35rem;
    font-family: 'Droid Serif', serif;
    font-size: clamp(1.9rem, 3.8vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--primary-hover);
}

.homepage-issue-published {
    margin-top: 0;
    margin-bottom: 1.5rem;
    font-size: 0.88rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #667085;
}

.homepage-issue-header {
    align-items: center;
    row-gap: 1.25rem;
    margin-top: 0;
    margin-bottom: 2rem;
}

.homepage-issue-cover {
    width: 100%;
    max-width: 280px;
    max-height: none;
    border-radius: 1.25rem;
    box-shadow: 0 24px 55px rgba(15, 23, 42, 0.18);
}

.homepage-issue-description-wrapper {
    height: 100%;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(32, 41, 54, 0.08);
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.homepage-issue-description {
    max-height: none;
    padding-bottom: 0;
    overflow: visible;
}

.homepage-issue-description:after {
    display: none;
}

.homepage-issue-description .h2 {
    margin-bottom: 0.75rem;
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    line-height: 1.25;
    color: var(--primary-hover);
}

.homepage-issue-description p {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #475467;
    font-size: 0.96rem;
    line-height: 1.7;
}

.homepage-issue-description-more {
    position: static;
    width: auto;
    margin-top: 1rem;
}

.homepage-issue-description-more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 126px;
    padding: 0.68rem 1.05rem;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(201, 36, 50, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.homepage-issue-description-more a:hover,
.homepage-issue-description-more a:focus {
    background: var(--primary-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(70, 8, 9, 0.2);
}

.issue-wrapper.issue-full-data {
    margin-top: 0;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(32, 41, 54, 0.08);
}

.issue-toc {
    padding: 1.35rem 1.5rem;
    border-radius: 1.5rem;
    background: #f8fafc;
    border: 1px solid rgba(32, 41, 54, 0.06);
}

.issue-toc-section {
    padding: 0;
}

.issue-toc-section-title {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1rem;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
}

.issue-toc-section-title::before {
    content: '';
    width: 2.5rem;
    height: 2px;
    margin-right: 0.75rem;
    background: currentColor;
    opacity: 0.45;
}

.article-summary {
    margin: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(32, 41, 54, 0.08);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.article-summary:hover {
    transform: translateY(-1px);
    border-color: rgba(201, 36, 50, 0.16);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
}

.article-summary-authors,
.article-summary-pages {
    margin-bottom: 0.45rem;
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #98a2b3;
}

.article-summary-title {
    margin-bottom: 0;
    font-size: 1.08rem;
    line-height: 1.5;
}

.article-summary-title a {
    color: #182230;
}

.article-summary-title a:hover,
.article-summary-title a:focus {
    color: var(--primary);
    text-decoration: none;
}

.container-homepage-issue>.text-center {
    margin-top: 1.4rem;
}

.container-homepage-issue>.text-center .btn {
    min-width: 190px;
    padding: 0.78rem 1.15rem;
    border-width: 0;
    border-radius: 999px;
    background: #182230;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 12px 24px rgba(24, 34, 48, 0.16);
}

.container-homepage-issue>.text-center .btn:hover,
.container-homepage-issue>.text-center .btn:focus {
    background: #0f1720;
    color: #fff;
    border-color: transparent;
}

@media (min-width:992px) {
    .homepage-issue-header .col-lg-3 {
        display: flex;
        justify-content: center;
    }

    .homepage-issue-header .col-lg-9 {
        display: flex;
    }

    .homepage-issue-description-wrapper {
        display: flex;
        align-items: center;
    }

    .issue-wrapper.issue-full-data {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width:991.98px) {
    .homepage-issue-published {
        margin-bottom: 1.25rem;
    }

    .homepage-issue-header {
        margin-bottom: 1.75rem;
    }

    .homepage-issue-cover {
        max-width: 240px;
        margin-bottom: 0;
    }

    .homepage-issue-description-wrapper,
    .issue-toc {
        padding: 1.2rem;
        border-radius: 1.25rem;
    }

    .issue-wrapper.issue-full-data {
        padding-top: 1.5rem;
    }
}

@media (max-width:575.98px) {
    .homepage-issue-current {
        font-size: 0.76rem;
        letter-spacing: 0.12em;
    }

    .homepage-issue-description-wrapper,
    .issue-toc,
    .article-summary {
        padding: 1rem;
        border-radius: 1rem;
    }

    .homepage-issue-description .h2 {
        font-size: 1.35rem;
    }

    .homepage-issue-description-more a,
    .container-homepage-issue>.text-center .btn {
        width: 100%;
    }
}