html {
    scroll-behavior: smooth;
}

:root {
    /*
    Colors definition.
    They should be changed in each site's stylesheet.
    All colors that are site dependent should have a variable here
    to ease the site style creation / modification process.

    The process of using variables to store colors globally is in progress.
    Only the breadcrumb and additions posterior to 01/01/2023 (comments) are potentially using these variables.
    We should go over all the site stylesheets and simplify the CSS by using these variables
    and creating all necessary additional variables.
    */
    --color-primary: #003C57;
    --color-text-primary: aliceblue;
    --breadcrumb-color: navy;
    --breadcrumb-background-color: lightblue;
    --breadcrumb-hover-color: white;
    --breadcrumb-hover-background-color: navy;
    --breadcrumb-active-color: white;
    --breadcrumb-active-background-color: navy;
    --comment-color-primary: var(--color-primary);
    --comment-header-background-color: #dfdfdf8a;
}

#left {
    float: left;
}

#right {
    float: right;
}

#center {
    float: left;
    width: 100%;
}

#content {
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.content:after {
    clear: both;
}

.upper-right {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: start;
}

#how-to-cite-div {
    overflow-wrap: normal;
    white-space: normal;
    font-family: inherit;
}

.citation-author {
    font-variant: small-caps;
}

.citation-document-title {
    font-weight: bold;
    color: #555555;
}

.citation-publication-title {
    font-style: italic;
}

.citation-series {
    font-style: italic;
}

.small-tabs {
    font-size: 16px;
}

.wrapper-float:after {
    clear: both;
    display: block;
    content: " ";
}

.highlight {
    font-size: 93%;
    color: #888888;
    padding: 0px 0px 0px 20px;
}

.highlight strong {
    color: #666;
}

.results-header {
    margin-bottom: 20px;
}

.results-header h4 {
    margin-top: 0px;
}

.pagination {
    margin-bottom: 0px;
}

.facet-header:hover {
    cursor: pointer;
}

.facet-header:after,
.facet-header-no-click:after {
    clear: both;
}

.facet-header-title {
    float: left;
}

.facet-header-title h5 {
    margin-bottom: 0;
}

.facet {
    padding-left: 20px;
    text-align: left;
}

.facet-active {
    background-color: #fef2c4;
    text-decoration: none;
}

.facet-active:hover a {
    text-decoration: line-through;
}

.facet-button {
    padding: 3px;
    font-size: 10px;
    line-height: 1;
    margin-top: -1px;
    margin-left: 5px;
}

.separator {
    margin-top: 15px;
    margin-bottom: 15px;
}

.article-title {
    font-weight: bold;
}

.article-pages {
    text-align: right;
}

.binary-file-icon, .special-issue-citation {
    display: inline-flex;
    vertical-align: bottom;
}

.special-issue-citation {
    margin-bottom: -1px;
}

.binary-file-icon, .special-issue-citation {
    display: inline-flex;
    vertical-align: bottom;
}

.special-issue-citation {
    margin-bottom: -1px;
}

.collection-title {
    font-weight: bold;
    font-size: 20px;
}

.page-container .row.breadcrumb-row {
    margin-left:-15px;
    margin-bottom:20px;
}

.breadcrumb-sm {
    display: block;
}

.breadcrumb-lg {
    display: none;
}

@media all and (min-width: 620px) {
    .breadcrumb-sm {
        display: none;
    }
    .breadcrumb-lg {
        display: flex;
    }
}

.cms-breadcrumb {
    list-style: none;
    display: inline-block;
}

.cms-breadcrumb .icon {
    font-size: 14px;
}
.cms-breadcrumb li {
    float: left;
}
.cms-breadcrumb li a {
    color: var(--breadcrumb-color);
    display: block;
    background: var(--breadcrumb-background-color);
    text-decoration: none;
    position: relative;
    height: 40px;
    line-height: 40px;
    padding: 0 10px 0 5px;
    text-align: center;
    margin-right: 23px;
    outline: 0; /* Remove the default box around the box when focusing it, we use the hover behavior instead */
}
.cms-breadcrumb li:nth-child(even) a {
    background-color: var(--breadcrumb-background-color);
}
.cms-breadcrumb li:nth-child(even) a:before {
    border-color: var(--breadcrumb-background-color);
    border-left-color: transparent;
}
.cms-breadcrumb li:nth-child(even) a:after {
    border-left-color: var(--breadcrumb-background-color);
}
.cms-breadcrumb li:first-child a {
    padding-left: 15px;
    -moz-border-bottom-left-radius: 4px;
    -moz-border-top-left-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -webkit-border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
}
.cms-breadcrumb li:first-child a:before {
    border: none;
}
.cms-breadcrumb li:last-child a {
    padding-right: 15px;
    -moz-border-bottom-right-radius: 4px;
    -moz-border-top-right-radius: 4px;
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}
.cms-breadcrumb li:last-child a:after {
    border: none;
}
.cms-breadcrumb li a:before,
.cms-breadcrumb li a:after {
    content: "";
    position: absolute;
    top: 0;
    border: 0 solid var(--breadcrumb-background-color);
    border-width: 20px 10px;
    width: 0;
    height: 0;
}
.cms-breadcrumb li a:before {
    left: -20px;
    border-left-color: transparent;
}
.cms-breadcrumb li a:after {
    left: 100%;
    border-color: transparent;
    border-left-color: var(--breadcrumb-background-color);
}
.cms-breadcrumb li a:hover, .cms-breadcrumb li a:focus {
    background-color: var(--breadcrumb-hover-background-color);
    color: var(--breadcrumb-hover-color);
}
.cms-breadcrumb li a:hover:before, .cms-breadcrumb li a:focus:before {
    border-color: var(--breadcrumb-hover-background-color);
    border-left-color: transparent;
}
.cms-breadcrumb li a:hover:after, .cms-breadcrumb li a:focus:after {
    border-left-color: var(--breadcrumb-hover-background-color);
}
.cms-breadcrumb li.active a {
    background-color: var(--breadcrumb-active-background-color);
    color: var(--breadcrumb-active-color);
}
.cms-breadcrumb li.active a:before {
    border-color: var(--breadcrumb-active-background-color);
    border-left-color: transparent;
}
.cms-breadcrumb li.active a:after {
    border-left-color: var(--breadcrumb-active-background-color);
}

.cms-breadcrumb li.breadcrumb-previous a,
.cms-breadcrumb li.breadcrumb-next a {
    margin-right: 5px;
}

.cms-breadcrumb li:last-child a {
    margin-right: 5px;
}

ul.cms-breadcrumb {
    padding-left: 0px;
}

.grid-container {
    display: grid;
    grid-template-columns: auto;
    justify-content: center;
    grid-gap: 50px 50px;
    margin: 50px;
}

.journal-icon-grid,
.article-icon-grid {
    height: 200px;
    margin-bottom: 10px;
    border: 1px solid #777;
    box-shadow: 3px 4px 3px #888888;
}

.journal-grid {
    text-align: center;
    max-width: 190px;
    /*background-color: #777;*/
}

.col-desc-icon {
    border: 1px solid #777;
    box-shadow: 3px 4px 3px #888888;
}

@media all and (min-width:500px) {
    .grid-container {
        grid-template-columns: auto auto;
        justify-content: inherit;
    }
}

@media all and (min-width: 800px) {
    .grid-container {
        grid-template-columns: auto auto auto;
    }
}

@media all and (min-width: 1000px) {
    .grid-container {
        grid-template-columns: auto auto auto auto;
    }
}

@media all and (min-width: 1200px) {
    .grid-container {
        grid-template-columns: auto auto auto auto auto;
    }
}

@media all and (min-width: 1400px) {
    .grid-container {
        grid-template-columns: auto auto auto auto auto auto;
    }
}

.toggle.ios,
.toggle-on.ios,
.toggle-off.ios {
    border-radius: 20px;
}
.toggle.ios .toggle-handle {
    border-radius: 20px;
}
.btn-default.active.toggle-off {
    color: #999;
}

.onoffswitch-group {
    padding-top: 13px;
}

#lang-switch {
    font-size: smaller;
}

#language-switch {
    text-align: left;
}

.onoffswitch {
    float: right;
    position: relative;
    width: 70px;
    height: 34px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    margin-right: 10px;
    margin-top: 2px;
}

.onoffswitch-checkbox {
    display: none;
}

.onoffswitch-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #999999;
    border-radius: 20px;
}

.onoffswitch-inner {
    display: block;
    width: 200%;
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}

.onoffswitch-inner:before,
.onoffswitch-inner:after {
    display: block;
    float: left;
    width: 50%;
    height: 30px;
    padding: 0;
    line-height: 30px;
    font-size: 14px;
    color: white;
    font-family: Trebuchet, Arial, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
}

.onoffswitch-inner:before {
    content: attr(data-on);
    /*content: "ON";*/
    padding-left: 10px;
    /*background-color: #34A7C1; color: #FFFFFF;*/
    background-color: #eeeeee;
    color: rgb(51, 51, 51); /*#999999;*/
}

.onoffswitch-inner:after {
    content: attr(data-off);
    /*content: "OFF";*/
    padding-right: 10px;
    background-color: #eeeeee;
    color: #999999;
    text-align: right;
}

.onoffswitch-switch {
    display: block;
    width: 18px;
    height: 18px;
    margin: 6px;
    background: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    box-sizing: content-box;
    right: 36px;
    border: 2px solid #999999;
    border-radius: 20px;
    transition: all 0.3s ease-in 0s;
}

.onoffswitch-switch-label {
    font-size: 8px;
    font-weight: 100;
    text-align: center;
    line-height: normal;
    margin-top: 2px;
    border: 0px;
    color: #666666;
}

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px;
}

#lang_flags .onoffswitch-inner:before {
    content: url("/static/ptf/img/flag-french.png");
    padding-top: 4px;
}

#lang_flags .onoffswitch-inner:after {
    content: url("/static/ptf/img/flag-english.png");
    padding-top: 4px;
}

#lang_flags {
    width: 70px;
}

#lang_flags .onoffswitch-switch {
    right: 36px;
}

#lang_flags .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px;
}

.container-flex {
    width: 100%;
    /*    margin-top: 30px;
    margin-bottom: 30px;*/
}

.container-flex > .flex-group {
    display: flex;
    flex-flow: column wrap;
    flex: 0 1 auto;
    max-height: 100%;
}

.container-flex.container-flex-header > .flex-group {
    max-height: calc(100% - 40px);
}

.container-flex > .flex-group .flex-item {
    margin-left: 20px;
}

.container-flex-one {
    margin-bottom: 20px;
}

.container-flex-xs,
.container-flex-small {
    height: 250px;
}

.container-flex-medium {
    height: 400px;
}

.container-flex-large-col {
    height: 400px;
}

.container-flex-large {
    height: 500px;
}

@media all and (max-width: 1250px) {
    .container-flex-large,
    .container-flex-large-col {
        height: 800px;
    }
}

@media all and (max-width: 1000px) {
    .container-flex-large-col {
        height: 1000px;
    }
}

@media all and (max-width: 900px) {
    .container-flex-xs,
    .container-flex-small {
        height: 500px;
    }

    .container-flex-medium {
        height: 800px;
    }

    .container-flex-large,
    .container-flex-large-col {
        height: 1000px;
    }

    .comment-buttons.mobile-buttons {
        display: inline-block !important;
    }

    .comment-buttons.desktop-buttons {
        display: none !important;
    }
}

@media all and (max-width: 800px) {
    .container-flex-large,
    .container-flex-large-col {
        height: 1500px;
    }
}

@media all and (max-width: 600px) {
    .container-flex-xs,
    .container-flex-small,
    .container-flex-medium,
    .container-flex-large {
        height: 100%;
    }

    #add-comment-reply {
        margin-left: unset !important;
    }
}

.hidden {
    display: none !important;
}

.italique {
    font-style: italic;
}

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

.align-center {
    text-align: center;
}

.table-margin-left {
    margin-left: 30px;
}

.facet-header,
.facet-header-no-click {
    min-width: unset;
}

@media all and (max-width: 1200px) {
    #results {
        padding-right: 10px;
    }
}

@media all and (max-width: 992px) {
    .col-3 {
        padding-left: 0;
    }
}

.float-minus-100 {
    float: left;
    padding-left: 15px;
    width: 100%;
}

@media all and (min-width: 992px) {
    .float-minus-100 {
        width: calc(100% - 100px);
    }
}

.formula {
    text-align: center;
    width: 100%;
    margin-top: 0px;
    margin-bottom: 0px;
    border: 0px;
}

.formula td {
    border: 0px;
}

.formula-inner {
    width: calc(100% - 90px);
}

.formula-label {
    width: 90px;
    vertical-align: middle;
    text-align: right;
}

.smallcaps {
    font-variant: small-caps;
}

.issue-title,
.issue-title .article-trans-title,
.issue-title .article-title {
    font-size: 24px;
}

.article-issue-title,
.article-issue-title .article-trans-title,
.article-issue-title .article-title {
    font-size: 16px;
}

.article-issue-title-label {
    font-size: 14px;
}

.outline-div {
    display: none;
    top: 0;
    background-color: white;
    overflow: visible;
    margin-left: 20px;
    margin-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    position: fixed;
    width: 220px;
    padding-left: 1px;
}

.outline-div .panel-heading {
    margin: 0;
    text-align: center;
    font-size: 18px;
}

.outline-div .panel-body {
    padding: 5px;
}

.outline-div ul > li > a {
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 30px;
}

.outline-div .submenu {
    padding-left: 25px;
    padding-top: 3px;
    padding-bottom: 3px;
    line-height: 24px;
    font-size: 14px;
}

.outline-sm {
    display: inline-block;
    /*
    09/03/2020: Does not work on my smartphone (Chrome, Samsung Internet)
                => Use bootstrap .afix instead
    position: sticky;
    position: -webkit-sticky;
    */
    background-color: white;
    z-index: 1;
    top: 0;
    margin-bottom: 20px;
}

body:has(> #lightbox-root.showed) .outline-sm {
    z-index: 0 !important;
}

/* The following 2 enable the outline scrolling when it overfows the viewport */
#outline-panel {
    display: flex;
    flex-direction: column;
    /* Full viewport - outline div margins */
    max-height: calc(100vh - 40px);
    overflow: hidden;
    box-shadow: 1px 2px 6px 0px #888888ad;
}

#outline-panel-body {
    overflow: auto;
}

.outline-sm .dropdown-menu {
    max-height: calc(100vh - 60px);
    overflow-y: auto;
}

@media all and (min-width: 1400px) {
    .outline-sm {
        display: none;
    }

    .outline-div {
        display: block;
    }
}

@media all {
    #changeMargin {
        display: block;
    }
}

@media all and (min-width: 1500px) {
    .outline-div .panel-body {
        padding: 15px;
    }
}

.fa-file-pdf-o {
    color: #e65f1e;
}

.no-bullet {
    list-style-type: none;
}

.book-toc > * {
    margin-bottom: 10px;
}

.img-cc {
    height: 30px;
}

.img-ga {
    max-height: 300px;
    margin: auto;
    display: block;
    max-width: 100%;
}

.img-ga-toc {
    max-width: 110px;
    max-height: 150px;
    margin-right: auto;
    border: 1px solid #777;
    box-shadow: 3px 4px 3px #888888;
    margin-top: 25px;
    display: block;
}

#summary th, #summary td {
    padding: 15px;
}

#summary td {
    border-top: 1px solid #ddd;
}

#summary td:first-child {
    height: calc(200px + 30px);
    width: calc(200px + 30px);
}

#summary img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    width: auto;
    max-width: 180px;
    max-height: 200px;
}

.container-frontmatter td {
    padding: 5px
}

.checkbox.checkbox-switch {
    padding-left: 0;
    margin-top: 0px;
    margin-bottom: 0px;
    text-align: left;
}

.checkbox.checkbox-switch label,
.checkbox-inline.checkbox-switch {
    display: inline-block;
    position: relative;
    padding-left: 0;
}
.checkbox.checkbox-switch label input,
.checkbox-inline.checkbox-switch input {
    display: none;
}
.checkbox.checkbox-switch label span,
.checkbox-inline.checkbox-switch span {
    width: 35px;
    border-radius: 20px;
    height: 18px;
    border: 1px solid #dbdbdb;
    background-color: rgb(255, 255, 255);
    border-color: rgb(223, 223, 223);
    box-shadow: rgb(223, 223, 223) 0px 0px 0px 0px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}
.checkbox.checkbox-switch label span:before,
.checkbox-inline.checkbox-switch span:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgb(255, 255, 255);
    content: " ";
    top: 0;
    position: relative;
    left: 0;
    transition: all 0.3s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.checkbox.checkbox-switch label > input:checked + span:before,
.checkbox-inline.checkbox-switch > input:checked + span:before {
    left: 17px;
}

/* Switch Default */
.checkbox.checkbox-switch label > input:checked + span,
.checkbox-inline.checkbox-switch > input:checked + span {
    background-color: rgb(180, 182, 183);
    border-color: rgb(180, 182, 183);
    box-shadow: rgb(180, 182, 183) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch > input:checked:disabled + span {
    background-color: rgb(220, 220, 220);
    border-color: rgb(220, 220, 220);
    box-shadow: rgb(220, 220, 220) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch label > input:disabled + span,
.checkbox-inline.checkbox-switch > input:disabled + span {
    background-color: rgb(232, 235, 238);
    border-color: rgb(255, 255, 255);
}
.checkbox.checkbox-switch label > input:disabled + span:before,
.checkbox-inline.checkbox-switch > input:disabled + span:before {
    background-color: rgb(248, 249, 250);
    border-color: rgb(243, 243, 243);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

/* Switch Light */
.checkbox.checkbox-switch.switch-light label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-light > input:checked + span {
    background-color: rgb(248, 249, 250);
    border-color: rgb(248, 249, 250);
    box-shadow: rgb(248, 249, 250) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}

/* Switch Dark */
.checkbox.checkbox-switch.switch-dark label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-dark > input:checked + span {
    background-color: rgb(52, 58, 64);
    border-color: rgb(52, 58, 64);
    box-shadow: rgb(52, 58, 64) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-dark label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-dark > input:checked:disabled + span {
    background-color: rgb(100, 102, 104);
    border-color: rgb(100, 102, 104);
    box-shadow: rgb(100, 102, 104) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}

/* Switch Success */
.checkbox.checkbox-switch.switch-success label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-success > input:checked + span {
    background-color: rgb(40, 167, 69);
    border-color: rgb(40, 167, 69);
    box-shadow: rgb(40, 167, 69) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-success label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-success > input:checked:disabled + span {
    background-color: rgb(153, 217, 168);
    border-color: rgb(153, 217, 168);
    box-shadow: rgb(153, 217, 168) 0px 0px 0px 8px inset;
}

/* Switch Danger */
.checkbox.checkbox-switch.switch-danger label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-danger > input:checked + span {
    background-color: rgb(200, 35, 51);
    border-color: rgb(200, 35, 51);
    box-shadow: rgb(200, 35, 51) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-danger label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-danger > input:checked:disabled + span {
    background-color: rgb(216, 119, 129);
    border-color: rgb(216, 119, 129);
    box-shadow: rgb(216, 119, 129) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}

/* Switch Primary */
.checkbox.checkbox-switch.switch-primary label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-primary > input:checked + span {
    background-color: rgb(0, 105, 217);
    border-color: rgb(0, 105, 217);
    box-shadow: rgb(0, 105, 217) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-primary label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-primary > input:checked:disabled + span {
    background-color: rgb(109, 163, 221);
    border-color: rgb(109, 163, 221);
    box-shadow: rgb(109, 163, 221) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}

/* Switch Info */
.checkbox.checkbox-switch.switch-info label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-info > input:checked + span {
    background-color: rgb(23, 162, 184);
    border-color: rgb(23, 162, 184);
    box-shadow: rgb(23, 162, 184) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-info label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-info > input:checked:disabled + span {
    background-color: rgb(102, 192, 206);
    border-color: rgb(102, 192, 206);
    box-shadow: rgb(102, 192, 206) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}

/* Switch Warning */
.checkbox.checkbox-switch.switch-warning label > input:checked + span,
.checkbox-inline.checkbox-switch.switch-warning > input:checked + span {
    background-color: rgb(255, 193, 7);
    border-color: rgb(255, 193, 7);
    box-shadow: rgb(255, 193, 7) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}
.checkbox.checkbox-switch.switch-warning label > input:checked:disabled + span,
.checkbox-inline.checkbox-switch.switch-warning > input:checked:disabled + span {
    background-color: rgb(226, 195, 102);
    border-color: rgb(226, 195, 102);
    box-shadow: rgb(226, 195, 102) 0px 0px 0px 8px inset;
    transition: border 0.4s ease 0s, box-shadow 0.4s ease 0s, background-color 1.2s ease 0s;
}


.show-body-panel-title {
    font-size: 30px;
    line-height: inherit !important;
    border-radius: 4px;
}

.panel-title[data-bs-toggle="collapse"]:hover {
    cursor: pointer;
    /* background-color: #77777726; */
}

.panel-title[data-bs-toggle="collapse"] .fa-chevron-up {
    font-size: 25px;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.panel-title[data-bs-toggle="collapse"].collapsed .fa-chevron-up {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.collapsing.collapse-body {
    -webkit-transition-duration: 0.15s;
    transition-duration: 0.15s;
}

hr.panel-title-separator {
    visibility: visible;
    opacity: 1;
    margin: 11px 0px;
}

.collapse-icon {
    float:right;
    margin-right:10px;
}

.panel-title-description {
    font-size: 0.65em;
}

.panel-title-separator {
    margin: 0.35em;
}

.panel-title-description i {
    font-size: 0.8em;
    margin-left: 2px;
}

.loader-component {
    width: 48px;
    height: 48px;
    border: 5px solid var(--color-primary);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

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

#user-menu-wrapper {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
}

#user-menu-wrapper .custom-dropdown {
    display: flex;
    justify-content: right;
    margin: 15px min(30px, 5vw);
}

#user-menu-wrapper i {
    margin-right: 5px;
    top: 0;
    font-size: 1.3em;
}

#user-menu-wrapper .custom-dropdown-content {
    margin: 40px min(30px, 5vw) 5px min(30px, 5vw);
    background-color: white;
    box-shadow: 0px 0px 5px 0px #d2d2d2;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
}

#user-menu {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: min(300px, 90vw);
    max-width: 90vw;
    overflow: auto;
}

#user-menu > div:last-child button {
    all:unset;
}

#user-menu > div:last-child {
    text-align: right;
}

#user-menu > div:last-child a, #user-menu > div:last-child button {
    color: #c5321b;
}

#user-menu > div:last-child a:hover, #user-menu > div:last-child button:hover {
    cursor: pointer;
    text-decoration: underline;
}

.right-absolute {
    right: 0;
}

#user-menu-wrapper .custom-dropdown-toggle {
    padding: 5px 10px;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-text-primary);
    border-radius: 4px;
}

.display_with_titles_container {
    display: flex;
    align-items: start;
    line-height: 30px;
}

.year_of_issue_with_title {
    font-size: 20px;
    margin-right: 20px;
}

.issue_with_title {
    font-size: 16px;
}

.supplement-caption {
    margin-left: 30px;
    margin-top: -5px;
}

.extid-badge {
    margin-top: 5px;
    margin-bottom: 10px;
}

.abstract_img > .article-body-img {
    max-width: 100%;
}
.cras-collapse-summary {
    display: flex;
    background-color: #cfc3d3ab;
    margin-bottom: 20px;
}

.cras-collapse-summary-title {
   width: 96%;
   padding-top: 10px;
   padding-left: 10px;
}
