/* set global variables */
:root {
    --white: #ffffff;
    --black: #000000;
    --text-color: #444444;
    --light-gray: #dee2e6;
    --lighter-gray: #f5f5f5;
    --light-gray-hover: #dddddd;
    --light-blue: #dce1ef;
    --color-success: #2f6a2f;
    --color-success-hover: #1e431e;
    --color-blue: #2f3e6a;
    --color-blue-hover: #1e2743;
    --color-red: #7d1818;
    --color-warning-yellow: #efcd00;
    --color-danger-red: #d20a11;
    --color-gray: #6b6b6b;
    --main-color: #2f3e6a;
    --main-bg-text-color: #ffffff;
    --main-color-light: #dce1ef;
    --main-color-hover: #1e2743;
    --main-color-highlight: #002799;
    --secondary-color: #2f3e6a;
    --secondary-bg-text-color: #ffffff;
    --secondary-color-hover: #1e2743;
}

/* General */
html {
    height: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans', 'Noto Sans Regular', sans-serif;
    color: var(--text-color);
    line-height: 160%;
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow-y: scroll;
    min-width: 320px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--secondary-color);
}

input[type='radio'],
input[type='checkbox'] {
    accent-color: var(--main-color);
}

p {
    margin: 0;
}

a {
    color: var(--secondary-color);
    text-decoration: none;
}

a:is(:hover, :focus) {
    color: var(--secondary-color);
    outline: 0 !important;
}

.icon-link__label {
    text-decoration: none;
}

.icon--font {
    color: var(--secondary-color);
    vertical-align: baseline;
}

a:has(.icon-link__label) .icon {
    margin-right: 0.25em;
}

.d-none {
    display: none !important;
}

.navbar {
    --bs-navbar-padding-x: calc(var(--bs-gutter-x) * 0.5);
}

div.active:focus {
    outline: none;
}

a:focus-visible {
    outline: 1px solid !important;
    text-decoration: none !important;
}

form .form-control {
    border-color: var(--light-gray);
}

form .form-control:focus {
    border-color: var(--secondary-color);
}

pre.code {
    padding: 8px;
    background-color: var(--lighter-gray);
    border: 1px solid var(--text-color);
    border-radius: 4px;
}

.main[role='main'] {
    padding-bottom: 40px;
}

/* Fix icon */
.fa.fa-trash::before {
    content: '\f1f8';
}

/* Label colors */
.label-main {
    background-color: var(--main-color);
}

.label-main:hover {
    background-color: var(--main-color-hover);
}

.label-green,
.label-green-no-hover {
    background-color: var(--color-success);
}

.label-green:hover {
    background-color: var(--color-success-hover);
}

.label-red {
    background-color: var(--color-red);
}

.label-blue,
.label-blue-no-hover {
    background-color: var(--color-blue);
}

.label-blue:hover {
    background-color: var(--color-blue-hover);
}

.label-gray {
    background-color: var(--color-gray);
}

/* Scrollbar */
* {
    scrollbar-color: var(--main-color) var(--lighter-gray);
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: var(--lighter-gray);
}

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: var(--main-color);
}

/* Text selection */
::selection {
    background-color: var(--color-gray);
    color: var(--white);
}

/* Keyboard focus */
*:focus-visible {
    outline: 1px solid;
}

/* Modal */
@media (min-width: 767px) {
    #modal .modal-dialog {
        width: 800px;
    }
}

#modal {
    overflow-y: scroll;
}

.close:is(:hover, :focus) {
    background: transparent !important;
}

#modal .modal-dialog {
    margin-block: var(--bs-modal-margin);
}

#modal .modal-content > .close {
    top: -0.5em;
    right: -0.5em;
    padding: 0;
    background: transparent;
    --fa-secondary-opacity: 1;
    --fa-primary-color: var(--main-bg-text-color);
    --fa-secondary-color: var(--main-color);
    --button-background: transparent;
}

#modal .modal-content > .close:hover {
    --fa-secondary-color: var(--main-color-hover);
}

.modal-loading-overlay .loading-spinner .icon--font {
    color: var(--white);
}

#modal .modal-body h2,
#modal .modal-body .h2 {
    font-size: 2rem;
}

/* Offcanvas */
.close-offcanvas-custom {
    position: absolute;
    right: 0;
}

.offcanvas-body h2 {
    margin-top: 0;
}

.offcanvas-body .close-x {
    border: none;
    background: transparent;
    font-size: 32pt;
    padding: 0 var(--bs-offcanvas-padding-x);
    line-height: 0;
}

.offcanvas-body .close-x .icon {
    --fa-primary-color: var(--main-bg-text-color);
    --fa-secondary-color: var(--main-color);
    --fa-secondary-opacity: 1;
}

.offcanvas-body .close-x .icon:hover {
    --fa-secondary-color: var(--main-color-hover);
}

/* Toast */
.toast {
    --bs-toast-font-size: initial;
    --bs-toast-color: var(--text-color);
    --bs-toast-header-color: var(--text-color);
    --bs-toast-bg: var(--white);
    --bs-toast-header-bg: var(--main-color-light)
}

/* Cookie */
#cookies {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 200px;
    padding: 0 10px;
    background: var(--white);
    color: var(--black);
    border: 1px solid var(--main-color);
    z-index: 100;
}

#cookies-buttons {
    display: flex;
    color: var(--main-bg-text-color);
    justify-content: space-between;
    margin: 10px 0;
}

.cookie,
.cookie:hover,
.cookie:active,
.cookie:focus {
    color: var(--main-bg-text-color);
}

/* Cookie (new) */
html.show--consent:not(.force--consent) #cc-main {
    display: inherit !important;
    z-index: 999 !important;
}

#cc-main .cm__title,
#cc-main .cm__desc {
    padding: 0;
}

#cc-main a {
    color: var(--main-color);
}

#cc-main .cm__btn,
#cc-main .pm__footer .pm__btn:not(.pm__btn--secondary) {
    background-color: var(--main-color);
    color: var(--main-bg-text-color);
    border-color: var(--main-color);
}

#cc-main .pm__footer .pm__btn--secondary {
    background-color: transparent;
    color: var(--main-color);
    border-color: var(--main-color);
}

#cc-main .cm__btn:hover,
#cc-main .pm__footer .pm__btn:hover {
    background-color: var(--main-color-hover);
    color: var(--main-bg-text-color);
}

#cc-main .cm--bottom {
    background-color: var(--main-color-light);
}

/* to top */
#toTop {
    display: none;
    position: fixed;
    height: 50px;
    width: 50px;
    bottom: 60px;
    right: 60px;
    z-index: 99;
    background-color: var(--main-bg-text-color);
    color: var(--main-color);
    text-align: center;
    line-height: 50px;
    border: 1px solid var(--main-color);
    border-radius: 2px;
    outline: none;
}

#toTop:hover {
    background-color: var(--main-color);
    color: var(--main-bg-text-color);
    border-color: var(--main-bg-text-color);
}

#toTop:hover .icon--font {
    color: var(--main-bg-text-color);
}

/* Tooltip */
.tooltip {
    --bs-tooltip-bg: var(--secondary-color);
    --bs-tooltip-color: var(--secondary-bg-text-color);
    --bs-tooltip-padding-x: 1rem;
    --bs-tooltip-padding-y: 0.5rem;
    --bs-tooltip-font-size: 1rem;
}

.coverTooltip {
    position: relative;
    color: var(--secondary-color);
}

.coverTooltip .tooltiptext {
    visibility: hidden;
    background-color: var(--secondary-color);
    color: var(--main-bg-text-color);
    text-align: center;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 80%;
    font-weight: normal;
    padding: 5px 10px;
    bottom: 105%;
    left: 50%;
    transform: translateX(-50%);
}

.coverTooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
    text-decoration: none !important;
}

/* Buttons */
.btn:focus {
    outline-style: solid;
}

:not(.clear-btn).btn-default,
.btn-primary {
    --bs-btn-color: var(--main-bg-text-color);
    --bs-btn-bg: var(--main-color);
    --bs-btn-border-color: var(--main-color);
    --bs-btn-hover-color: var(--main-bg-text-color);
    --bs-btn-hover-bg: var(--main-color-hover);
    --bs-btn-hover-border-color: var(--main-color-hover);
    --bs-btn-active-color: var(--main-bg-text-color);
    --bs-btn-active-bg: var(--main-color-hover);
    --bs-btn-active-border-color: var(--main-color-hover);
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgb(from var(--main-color) r g b / 0.5);
    --bs-btn-disabled-color: var(--main-bg-text-color);
    --bs-btn-disabled-bg: var(--main-color);
    --bs-btn-disabled-border-color: var(--main-color);
}

.btn-outline-primary {
    --bs-btn-color: var(--main-color);
    --bs-btn-border-color: var(--main-color);
    --bs-btn-hover-color: var(--main-bg-text-color);
    --bs-btn-hover-bg: var(--main-color);
    --bs-btn-hover-border-color: var(--main-color);
    --bs-btn-active-color: var(--main-bg-text-color);
    --bs-btn-active-bg: var(--main-color);
    --bs-btn-active-border-color: var(--main-color);
    --bs-btn-disabled-color: var(--main-color);
    --bs-btn-disabled-border-color: var(--main-color);
}

.btn-link {
    --bs-btn-color: var(--main-color);
    --bs-btn-hover-color: var(--main-color);
    --bs-btn-active-color: var(--main-color);
}

.btn-link:hover {
    text-decoration: underline;
}

.btn-link .icon-link__label:not(.tooltiptext) {
    color: var(--main-color);
}

:is(.btn-default, .btn-primary) .icon--font {
    color: var(--main-bg-text-color);
    margin-right: 0.25em;
}

.bulkActionButtons .toolbar-btn .icon,
.cart-controls .toolbar-btn .icon {
    margin-right: 4px;
}

.theme .icon--font,
.btn-primary .icon--font {
    color: var(--main-bg-text-color);
}

.cart-controls .cart-control-btns .toolbar-btn .icon--font,
.bulkActionButtons .action-toolbar .toolbar-btn .icon--font {
    color: var(--main-color);
}

.cart-controls .cart-control-btns .toolbar-btn,
.bulkActionButtons .action-toolbar .toolbar-btn {
    background-color: transparent;
    color: var(--main-color);
}

.cart-controls .cart-control-btns .toolbar-btn:is(:hover, :focus, :active),
.bulkActionButtons .action-toolbar .toolbar-btn:is(:hover, :focus, :active) {
    background-color: var(--light-gray);
}

.btn-link .icon-link__label:hover {
    text-decoration: underline;
}

.btn-bookbag-toggle {
    line-height: inherit;
}

.dropdown-toggle .icon:last-child {
    display: inline-block;
}

.dropdown-toggle::after {
    display: none;
}

.search-filter-dropdown .dropdown-toggle::after {
    display: inline-block;
}

.reset-filters-btn {
    margin: 0;
    border: 1px solid var(--main-color);
    background-color: transparent;
    color: var(--main-color);
}

.reset-filters-btn:hover {
    background-color: var(--main-color);
    color: var(--white);
    text-decoration: none;
}

.clear-btn {
    background: transparent;
    border: 1px solid var(--main-color);
    color: var(--main-color);
}

.clear-btn:hover {
    background-color: var(--main-color);
    color: var(--white);
    border-color: var(--main-color);
}

/* Actionbutton */
.action-btn {
    display: inline-block;
    min-height: 35px;
    width: 180px;
    border-radius: 4px;
    padding: 6px;
    text-align: center;
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    line-height: 190%;
    hyphens: none;
}

.action-btn-link {
    display: inline-block;
}

.action-btn-text {
    font-size: 90%;
    margin: auto 0 auto 8px;
    line-height: 1.4;
    hyphens: auto;
    letter-spacing: -0.01em;
    order: 2;
}

.availabilityItem[data-list='0'] .action-btn-text {
    margin-block: 8px;
}

.action-btn-text a {
    font-weight: bold;
}

.action-btn[open-detailview],
.action-btn[open-detailview-holdings] {
    cursor: pointer;
}

/* Header */
header {
    background-color: var(--main-color);
}

header *,
header .icon--font {
    color: var(--main-bg-text-color);
}

header .banner.container.navbar {
    min-height: 80px;
}

header .banner.container.navbar .navbar-brand {
    margin-left: -8px;
    padding-left: 8px;
    padding-right: 8px;
}

header .banner.container.navbar .navbar-brand:focus-visible {
    outline: 1px solid var(--main-bg-text-color) !important;
}

header .navbar-toggler {
    --bs-navbar-color: var(--main-bg-text-color);
    --bs-navbar-toggler-border-color: var(--main-color);
    --bs-navbar-toggler-font-size: 1.75rem;
}

header .banner.container.navbar nav {
    margin-bottom: 0;
}

header .banner.container.navbar .nav > li a:is(:hover, :focus),
header .banner.container.navbar .nav > li button:is(:hover, :focus) {
    background-color: var(--main-color);
    --bs-nav-link-hover-color: var(--main-bg-text-color);
}

header .banner.container.navbar .nav > li a:hover .icon-link__label,
header .banner.container.navbar .nav > li button:hover {
    text-decoration: underline;
}

header .banner.container.navbar .nav > li.language div {
    display: flex;
    padding-left: 10px;
    line-height: normal;
}

header .banner.container.navbar .nav > li.language div > span {
    padding-block: 15px;
}

header .banner.container.navbar .nav > li.language a {
    padding-block: 15px;
    --bs-navbar-nav-link-padding-x: 4px;
}

header .banner.container.navbar .nav > li.language a:last-child {
    padding-right: 0;
}

header .banner.container.navbar .nav > li.language .active {
    font-weight: bold;
    pointer-events: none;
}

header .icon {
    margin-right: 0.25em;
}

header #account-icon .text-danger {
    --fa-primary-color: var(--black);
    --fa-secondary-color: var(--color-warning-yellow);
    --fa-secondary-opacity: 1;
}

/* Header > Resultlist */
header .search.navbar {
    background-color: var(--white);
}

header .search.navbar :not(.btn) {
    color: var(--text-color);
}

header .search.navbar #searchForm_button > * {
    color: var(--main-bg-text-color);
}

header .search.navbar .nav.searchbox {
    margin-top: 15px;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

/* Footer */
footer {
    margin-top: auto;
    max-width: 100%;
    padding: 0;
}

footer .footer-main {
    min-height: 88px;
    display: flex;
    background-color: var(--main-color);
}

footer .footer-main #sbb-logo-footer {
    width: auto;
    margin-left: -8px;
    padding: 8px;
    color: var(--white);
}

footer .footer-main > .container {
    margin-block: auto;
    display: flex;
    justify-content: space-between;
}

footer .footer-main > .container > ul {
    display: flex;
    width: auto;
    margin-bottom: 0;
    padding: 0;
    margin-left: auto;
}

footer .footer-main > .container > ul :last-child {
    margin-right: 0;
}

footer .footer-main > .container > ul > li {
    list-style: none;
    margin: auto 16px;
}

footer .footer-main > .container > ul > li > a {
    color: var(--main-bg-text-color);
    padding: 4px;
}

footer .footer-main > .container > ul > :last-child > a {
    padding-right: 0;
}

/* Breadcrumb */
.breadcrumb {
    margin: 1em 0;
    padding: 1em;
}

.breadcrumb a {
    padding: 4px;
}

/* Home */
.searchHomeContent {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.searchHomeContent h1 {
    margin-bottom: 25px;
}

/* Search */
#searchForm .searchForm-inputs {
    display: flex;
}

#searchForm_type {
    max-width: 155px;
    letter-spacing: -0.025rem;
    padding-left: 0.25rem;
    padding-right: 0;
}

.searchForm-query #searchForm_lookfor {
    padding: 0 0.5em;
    min-width: 300px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    position: relative;
    z-index: 1;
}

#searchForm_lookfor::placeholder {
    color: rgb(from var(--color-gray) r g b / 0.7);
}

#searchForm .searchForm-query {
    height: auto;
    border: none;
}

#searchForm_type {
    height: auto;
}

.searchForm-inputs .form-control {
    color: var(--text-color);
}

.searchForm-query.form-control {
    padding: 0;
}

.searchForm-inputs > a,
.searchForm-inputs > a:hover {
    color: var(--black);
    margin-left: 16px;
}

.searchForm .searchForm-query #searchForm-reset {
    background-color: var(--white);
}

.searchForm .searchForm-query #searchForm-reset > .icon {
    color: var(--black);
    font-size: 20px;
    vertical-align: middle;
    margin-right: 0;
}

.searchForm .advanced-search-link:not(:hover) {
    text-decoration: none;
}

/* Advanced search */
.template-name-advanced #content {
    margin-bottom: 1rem;
}

fieldset {
    padding-right: 0;
}

legend {
    border: 0;
    color: var(--main-color);
    margin: 0;
    padding-bottom: 0.5rem;
    padding-top: 1rem;
}

.adv-submit {
    display: flex;
    justify-content: space-between;
}

.adv-submit::after {
    display: none;
}

#advSearchForm .icon-link__label:hover {
    text-decoration: underline;
}

/* Search results */
ol.record-list {
    margin-top: 8px;
}

.author-facets {
    width: 50%;
}

.author-facets .author-list:first-child a:last-child {
    display: none;
}

.search-header .search-controls {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.result-body {
    display: grid;
    grid-template-columns: 1fr 40px;
    width: 100%;
}

.result .media-body .result-links {
    display: flex;
    flex-direction: column;
    width: auto;
}

.result .media-body .result-links .coverTooltip > a {
    width: 40px;
    height: 40px;
}

.result .media-body .result-links a .icon {
    font-size: 16px;
    margin: auto;
}

.title:hover,
.result.embedded .getFull.expanded:hover {
    color: var(--secondary-color-hover);
    text-decoration: none;
}

.metadata-container p:first-child {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    padding-right: 8px;
}

.title.getFull.expanded .title-text.resultlist,
.title.getFull:not(.expanded) .title-text.detailview,
.result .row.detail-title {
    display: none;
}

.result .media,
.result .media-body .long-view,
.result.embedded .list-tab-content {
    padding: 0 !important;
}

.result:not(:first-child) {
    border-top: 1px solid var(--light-gray);
}

.result {
    padding: 16px;
    margin: 0;
}

.result:hover,
.result:has(.long-view:is(.collapse.show, .collapsing)),
.result .long-view:is(.collapse.show, .collapsing),
.result:hover .media-body .loading {
    background-color: var(--lighter-gray);
}

.result .long-view:is(.collapse.show, .collapsing) .table-striped > tbody > tr:nth-of-type(2n) > * {
    --bs-table-bg-type: var(--lighter-gray);
    border-bottom: 1px solid #ccc;
}

.table-striped > tbody > tr:nth-of-type(2n + 1) > *,
.search-history-table > tbody > tr:nth-of-type(2n + 1) > * {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: #e8e8e8;
    border-bottom: 1px solid #ccc;
}

.js-result-list .loading-overlay .loading-spinner .icon--font {
    color: var(--white);
}

.result .checkbox-select-item {
    margin-top: 5px;
}

.title.getFull {
    font-size: 110%;
}

.result.result-ul .title.getFull {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-right: 12px;
}

.result.embedded .getFull.expanded::before {
    display: none;
}

.result .title.getFull:hover > .icon {
    text-decoration: none;
}

.result .getFull.expanded > .icon.fa-chevron-down::before {
    content: '\f077';
}

.record .media-left.medium,
.record .media-right.medium,
.result .media-left.medium,
.result .media-right.medium {
    width: 104px;
}

.record-list .result.result-ul > .media > .media-body {
    margin-left: 16px;
}

.result > .media > .media-body > * {
    margin: 0;
    padding: 0;
}

.expanded,
.long-view {
    border: 0 !important;
}

.record .media-body a {
    font-weight: bold;
}

.result.embedded .getFull.expanded {
    color: var(--secondary-color);
    margin-top: -10px;
    padding-left: 0;
}

.result.embedded .getFull {
    border-left: none;
}

.result.embedded .long-view {
    margin-bottom: 1em;
}

.result-formats {
    margin-block: 8px;
}

.more {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}

.more:hover,
.more:hover .icon {
    text-decoration: none;
    font-weight: bold;
}

.searchtools {
    display: none;
}

/* Cover */
.cover-container > .cover-info {
    text-align: initial;
    color: var(--main-color);
    height: 2rem;
}

.cover-container .cover-info-text {
    font-size: 80%;
    hyphens: auto;
    color: var(--text-color);
}

.cover-container .cover-info-text a {
    font-weight: bold;
    text-decoration: none;
}

.cover-container .cover-info-text a:hover {
    text-decoration: underline;
}

.cover-container .cover-icon:hover {
    cursor: pointer;
}

.cover-container i {
    color: var(--secondary-color);
}

.media-type {
    font-size: 90%;
    line-height: 1.2;
    margin-top: 4px;
    font-weight: normal;
    hyphens: auto;
    color: var(--secondary-color);
}

/* Record */
.record h1 {
    font-size: 1.1em;
    font-weight: bold;
}

/* Record tabs */
ul.nav-tabs {
    border: 0;
}

ul.nav-tabs > li > :is(a.nav-link, a.list-tab-toggle) {
    border: 0;
    border-bottom: 1px solid var(--light-gray);
    color: var(--main-color);
    border-radius: 0;
    padding: 10px 15px;
}

ul.nav-tabs > li > :is(a.nav-link.active, a.list-tab-toggle.active),
ul.nav-tabs > li > :is(a.nav-link.active, a.list-tab-toggle.active):is(:hover, :focus) {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--main-color);
    color: var(--main-color);
    font-weight: bold;
}

ul.nav-tabs > li > :is(a.nav-link, a.list-tab-toggle):is(:hover, :focus) {
    background-color: var(--light-gray-hover);
    border: 0;
    border-bottom: 1px solid var(--light-gray);
    color: var(--main-color);
    border-radius: 0;
}

.staff-view .pace-car,
.staff-view--marc .pace-car {
    display: none;
}

/* Record nav */
.record-nav {
    margin: 24px 0;
}

.record-nav .action-toolbar {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    align-items: flex-start;
}

.result .action-toolbar {
    flex-direction: row;
    font-size: 90%;
    flex-wrap: wrap;
}

.record-nav .toolbar-link {
    background-color: transparent;
    width: auto;
    height: auto;
    color: var(--secondary-color);
}

.record-nav .toolbar-link:hover {
    background-color: var(--light-gray-hover);
    text-decoration: none;
}

.record-nav .icon {
    margin-right: 4px;
}

.record-nav .toolbar-btn,
.record-nav .cart-add,
.record-nav .cart-remove {
    padding: 4px 8px;
    margin: 0;
}

/* Detail view */
.row.detail-data {
    margin: 16px 0;
}

.detail-data table {
    table-layout: auto;
    margin-bottom: 0;
}

.detail-data table tr th,
.detail-data table tr td {
    font-weight: unset;
    line-height: 1.4;
    vertical-align: top;
}

.detail-data table tr th {
    width: 150px;
    hyphens: auto;
}

.detail-data td p.provenance:not(:last-child) {
    padding-bottom: 16px;
}

.media-body .table-col {
    padding-left: 0;
    padding-right: 0;
}

.subject-line:hover a {
    color: var(--main-color);
}

/* AvailabilityPlus */
.availabilityItem.detailItem {
    padding-bottom: 8px;
}

.availabilityItem > .status {
    display: block;
}

.availabilityItem[data-list='1'] > .status > div > :first-child,
.availabilityItem[data-list='0'] > .status > div:not(.panel) {
    display: flex;
}

.availabilityItem .status > div:not(:last-child) {
    margin-bottom: 16px;
}

.availabilityItem[data-list='0'] > .status > div > :first-child:not(pre) {
    display: flex;
    max-width: 180px;
    flex-wrap: wrap;
}

.availabilityItem .online_access_item {
    display: flex;
    flex-wrap: wrap;
}

.online_access_item:not(:last-child) {
    margin-bottom: 5px;
}

.availabilityItem[data-list='0'] > .status div.daia_order,
.availabilityItem[data-list='0'] > .status div.external_item,
.availabilityItem[data-list='0'] > .status div.dc_item {
    flex-direction: column;
}

.availabilityItem > .status > div > :first-child:has(.open-access) .action-btn-text {
    margin-block: auto;
}

.availabilityItem[data-list='0'] .open-access {
    margin: 8px 0px;
}

.open-access {
    order: 1;
    width: 16px;
    height: 25px;
    margin-left: 16px;
    margin-top: auto;
    margin-bottom: auto;
}

.holdings-content-col {
    width: 100%;
    margin-left: 16px;
    font-size: 90%;
    line-height: normal;
    hyphens: auto;
}

.holdings-content-col .item_chronology {
    word-break: break-all;
}

.availabilityItem .status .alert-warning {
    max-width: 50%;
}

/* AvailabilityPlus > TestCases */
#tc_ncounter {
    width: 10px;
}

#tc_id,
#tc_viewlinks {
    width: 100px;
}

#tc_status,
#tc_source {
    width: 50px;
}

#tc_info {
    min-width: 200px;
    width: 250px;
}

#tc_expectedresult,
#tc_actualresult {
    width: 500px;
}

/* Pagination */
.page-link {
    --bs-pagination-color: var(--text-color);
    --bs-pagination-border-color: var(--light-gray);
    --bs-pagination-hover-bg: var(--lighter-gray);
    --bs-pagination-hover-color: var(--text-color);
    --bs-pagination-focus-bg: var(--light-gray);
    --bs-pagination-focus-color: var(--text-color);
    --bs-pagination-active-bg: var(--light-gray);
    --bs-pagination-active-color: var(--text-color);
    --bs-pagination-active-border-color: var(--light-gray);
}

.page-link:is(:hover, :focus) {
    --bs-pagination-border-color: var(--main-color);
}

.page-link:is(:hover, :focus) > .icon--font {
    color: var(--text-color);
}

.active > .page-link {
    cursor: default;
    pointer-events: none;
}

.pagination .disableFirstLast .page-link {
    pointer-events: none;
}

.pagination .disableFirstLast .page-link .icon--font {
    color: var(--light-gray);
}

/* Facets */
.inner-wrapper-sticky {
    padding-bottom: 1px;
}

.facet-loading-overlay-label {
    background-color: var(--color-gray);
}

#search-sidebar .text,
#search-sidebar .btn.more-btn.facet,
#search-sidebar .btn.less-btn.facet {
    font-size: 90%;
}

#search-sidebar .facet-group .title {
    font-weight: normal;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

#search-sidebar .facet-group .collapse.in,
#search-sidebar .facet-group .title.collapsed {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.side-facets-container-ajax .facet-group .title .icon--font {
    color: var(--text-color);
}

.facet-group li .facet {
    color: var(--secondary-color);
}

.facet-group li .facet.active {
    background-color: var(--main-color);
    color: var(--main-bg-text-color);
}

.facet-group li .facet:hover {
    background-color: var(--lighter-gray);
    color: var(--text-color);
    text-decoration: none;
}

.facet-group li .facet.active .icon--font {
    color: var(--main-bg-text-color);
}

.facet-group li .facet:hover .icon--font {
    color: var(--text-color);
}

.facet-group li .facet.active:hover {
    background-color: var(--main-color);
    color: var(--white);
}

.facet-group li .facet.active:hover .icon {
    color: var(--white);
}

.facet .badge {
    background-color: var(--secondary-bg-text-color);
    color: var(--secondary-color);
    line-height: 1;
    --bs-badge-font-size: 12px;
    --bs-badge-font-weight: normal;
    --bs-badge-border-radius: 2px;
}

.facet.active .badge {
    color: var(--secondary-color);
}

.facet-loading-overlay-label .loading-spinner .icon--font {
    color: var(--white);
}

#btn-group-sort a.btn-default {
    --bs-btn-color: var(--main-color);
    --bs-btn-bg: transparent
    --bs-btn-border-color: var(--main-color);
    --bs-btn-hover-color: var(--main-bg-text-color);
    --bs-btn-hover-bg: var(--main-color);
    --bs-btn-hover-border-color: var(--main-color);
    --bs-btn-active-color: var(--main-bg-text-color);
    --bs-btn-active-bg: var(--main-color);
    --bs-btn-active-border-color: var(--main-color);
}

/* Facets > Range slider */
.slider-container {
    margin-top: 0.5em;
}

.slider-handle.min-slider-handle,
.slider-handle.max-slider-handle {
    background: var(--color-gray);
    border: 1px solid var(--color-gray);
}

.slider-track {
    background: var(--color-gray);
}

.slider-container .slider-selection {
    background-color: var(--main-color);
    border-color: var(--color-gray);
}

/* Sidebar */
#search-sidebar h2 {
    display: none;
}

/* Active facets */
.search-stats {
    padding: 0;
}

.search-stats .search-filter-toggle {
    margin-top: 1em;
}

.active-filters {
    margin-block-start: 0;
    margin-bottom: 8px;
}

.active-filters .filters {
    margin-block-start: 0;
}

.active-filters .filters .title-value-pair {
    background-color: var(--lighter-gray);
    color: var(--text-color);
    border: 1px solid var(--light-gray);
    border-radius: 4px;
    margin-bottom: 12px;
    padding-left: 8px;
    padding-right: 8px;
}

.active-filters .filters .title-value-pair:hover {
    background-color: var(--light-gray);
}

.active-filters .filters .filter-value,
.active-filters .filters .filter-value .icon {
    background-color: transparent;
    color: var(--text-color);
}

.active-filters .filters a.filter-value:is(:hover, :focus, :active) {
    background-color: var(--light-gray);
    color: var(--text-color);
}

.active-filters .filters .title-value-pair .filter-value:hover,
.active-filters .filters .title-value-pair .filter-value:focus {
    text-decoration: none;
}

.search-filter-dropdown .btn {
    background-color: transparent;
    border: 0;
    color: var(--text-color);
}

/* Highlighting */
.snippet_highlighting {
    font-size: 13px;
}

.snippet_highlighting .icon {
    margin-right: 2px;
}

.snippet_highlighting mark {
    background: initial;
    color: var(--main-color-highlight);
    font-weight: bold;
}

/* Alert */
.alert a {
    font-weight: bold;
}

.alert a:not(:hover) {
    text-decoration: none !important;
}

.alert-info,
.flash-message.alert-success {
    --bs-alert-bg: var(--secondary-color);
    --bs-alert-color: var(--secondary-bg-text-color);
    --bs-alert-border-color: var(--secondary-color);
}

.alert-info h2,
.alert-info .icon--font,
.flash-message.alert-success a,
.alert-info a {
    color: var(--secondary-bg-text-color);
}

.alert-danger a:hover {
    color: var(--color-danger-red);
}

.alert-primary {
    margin-top: 10px;
}

/* Callout (inspired by bootstrap) */
.callout {
    background-color: var(--callout-bg, var(--light-gray));
    color: var(--callout-color, var(--black));
    border-left: 4px solid var(--callout-border, var(--color-gray));
    margin-block: var(--callout-margin-y);
    padding: var(--callout-padding-y) var(--callout-padding-x);
    --callout-color: var(--main-color);
    --callout-bg: var(--main-color-light);
    --callout-border: var(--main-color);
    --callout-padding-x: 16px;
    --callout-padding-y: 16px;
    --callout-margin-y: 16px;
}

/* Login */
.form-login > .form-group {
    margin-bottom: 0;
}

.activeCapsContainer {
    height: 20px;
    font-size: 0.9em;
}

.form-login .form-group.username {
    margin-bottom: 15px;
}

#content .form-login > .form-group,
#content .activeCapsContainer {
    width: 400px;
}

.form-login {
    margin-top: 20px;
}

.form-group:is(.username, .password) {
    position: relative;
    margin-bottom: 15px;
    border: solid 1px var(--light-gray);
    border-radius: var(--bs-border-radius);
}

.form-group:is(.username, .password) input.form-control {
    display: block;
    height: 40px;
    background: transparent;
    transition: all 0.3s ease;
    padding: 0 15px;
    border: none;
}

.form-group:is(.username, .password) input:focus {
    border-color: var(--main-color);
    box-shadow: none;
}

.form-group:is(.username, .password) label {
    position: absolute;
    cursor: text;
    z-index: 2;
    top: 10px;
    left: 5px;
    font-weight: normal;
    background: #fff;
    padding: 0 10px;
    transition: all 0.3s ease;
}

.form-group:is(.username, .password) input:focus + label,
.form-group:is(.username, .password) input:valid + label {
    font-size: 12px;
    top: -12px;
}

.form-group:is(.username, .password) input:focus + label {
    color: var(--main-color);
}

.form-group:is(.username, .password) input:invalid {
    box-shadow: none;
}

.input_box {
    display: flex;
    width: 100%;
}

.input_box .icon.showpasswordicon {
    font-size: 18px;
    width: 30px;
    align-self: center;
    margin-right: 4px;
    font-family: 'Font Awesome 6 Pro';
    font-weight: 300;
}

#activeCaps {
    float: right;
    color: var(--color-danger-red);
}

.account-links {
    margin-top: 25px;
    font-size: 0.9em;
}

.account-links :first-child {
    margin-right: 50px;
}

.account-links a:last-child {
    font-weight: bold;
}

.logout-text {
    text-align: center;
    margin-left: 20%;
    margin-right: 20%;
}

/* Library account */
:is(#renewals, #update_holds) .checkbox-select-all {
    margin-right: 10px;
}

:is(#renewals, #update_holds) .checkbox {
    margin: 0;
    margin-right: 0.5em;
}

.search-controls .search-sort {
    justify-content: end;
}

.search-controls .search-sort select {
    width: auto;
}

.template-dir-myresearch table {
    table-layout: auto;
}

.template-dir-myresearch table th {
    font-weight: unset;
}

.library_account_error,
.duedate_critical {
    color: var(--color-danger-red);
}

.library_account_error a {
    color: var(--color-danger-red);
    font-weight: bold;
}

/* Library account > search history */
:is(#recent-searches, .delete-searches) .icon-link__label:hover {
    text-decoration: underline;
}

table.search-history-table .text-danger {
    color: var(--text-color);
}

table.search-history-table .text-danger:hover {
    text-decoration: underline;
}

/* Library account > profile */
#expire-date {
    margin-left: 1em;
}

/* Library account > menu */
.myresearch-menu {
    margin-bottom: 20px;
}

hr.ous-message-box {
    border-top: 1px dotted var(--white);
    margin-top: 10px;
    margin-bottom: 10px;
}

.myresearch-menu a.active {
    background-color: var(--main-color);
    color: var(--main-bg-text-color);
}

.account-menu a {
    height: 40px;
    align-items: center;
}

.account-menu a:is(:hover, :focus, :active) {
    background-color: var(--lighter-gray);
}

.account-menu a.active:is(:hover, :focus, :active) {
    background-color: var(--main-color);
}

.account-menu .icon {
    margin-right: 0.25em;
}

.account-menu .storageretrievalrequests-status {
    position: relative;
}

.account-menu .storageretrievalrequests-status .notification {
    position: absolute;
    top: -5px;
    right: -5px;
    border-radius: 100%;
    background: var(--color-danger-red);
    width: 12px;
    height: 12px;
}

.account-menu a.active .storageretrievalrequests-status .notification {
    background: var(--main-bg-text-color);
}

.account-menu li:has(a.holds),
.account-menu li:has(a.history) {
    margin-bottom: 24px;
}

/* Library account > Mylist */
.search-header {
    flex-direction: column;
}

.search-controls .btn-link .icon-link__label {
    color: var(--main-color);
}

.template-name-mylist .bulkActionButtons {
    display: flex;
    flex-direction: column-reverse;
    align-items: start;
}

.template-name-mylist .title-cover {
    margin-left: 16px;
}

.resultItemLine1 .title.getFull {
    padding-right: 42px;
}

.user-list-link .badge {
    line-height: inherit;
    max-height: inherit;
    color: #333;
    background-color: #eee;
    border-radius: 2px;
    border: 1px solid;
    height: 20px;
}

/* Content pages */
.content-page a {
    font-weight: bold;
}

.content-page img {
    border: 1px solid var(--black);
}

.content-page code {
    background-color: var(--light-gray);
    padding: 0.4em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    margin: 0;
    font-size: 85%;
    border-radius: 4px;
}

/* Content pages > accessibility */
#page-accessibility p {
    margin-bottom: 0.75em;
}

/* Content pages > status */
.status-page-text {
    margin-top: 16px;
}

.status-page-text a {
    font-weight: bold;
}

.statuses {
    max-width: 720px;
    margin-top: 16px;
}

/* Grouping */
#grouping {
    padding: 5px 0 15px 0;
}

#grouping label {
    margin: 0;
    padding-left: 5px;
}

.results-group-toggle {
    width: 100%;
    display: block;
    background-color: var(--lighter-gray);
    border-radius: 4px;
    padding: 5px;
    margin-bottom: 5px;
}

.results-group-toggle:is(:hover, :focus:hover) {
    background-color: var(--light-gray-hover);
    text-decoration: none;
}

.results-group-toggle:focus {
    background-color: var(--lighter-gray);
    text-decoration: none;
}

.grouped-items {
    margin-bottom: 10px;
}

.grouped-items .panel-body {
    display: flex;
}

.grouped-items .title-cover {
    width: 104px;
}

.grouped-items .subrecord-content {
    width: 100%;
    margin-left: 15px;
}

/* GND Info */
a.gnd-link:hover {
    text-decoration: none;
}

#gnd {
    hyphens: auto;
}

#gnd .container {
    width: 100%;
}

#gnd .additionalLinks a {
    white-space: nowrap;
    font-weight: normal;
}

#gnd .additionalLinks,
#gnd .additionalNames,
#gnd .alert-info {
    margin-top: 10px;
}

.subtext {
    padding-left: 10px;
}

.name {
    font-size: 20px;
    color: var(--main-color);
}

.general {
    padding-top: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--light-gray);
    font-weight: bold;
    margin-bottom: 5px;
}

.links,
.names {
    height: 45px;
    overflow: hidden;
}

.links.show,
.names.show {
    height: auto;
}

.showMoreLinks,
.showMoreNames {
    text-align: center;
    margin-top: 5px;
    display: none;
    width: 100%;
    background-color: var(--lighter-gray);
    border-radius: 8px;
    padding: 5px;
}

.lobidLink {
    font-weight: bold;
    margin-top: 16px;
}

.title-col {
    margin: auto 0;
}

/* Tables */
thead,
tbody,
tfoot,
tr,
td,
th {
    border: none;
}

table a:has(.icon) {
    display: inline-flex;
    align-items: baseline;
}

.table.staff-view th,
.staff-view.search-history-table th {
    word-wrap: inherit;
}

/* Clipboard */
#clipboardContent .checkbox {
    display: flex;
    flex-direction: row;
}

#clipboardContent a {
    line-height: 1.2;
    margin: auto 0;
}

#clipboardContent hr {
    margin-top: 10px;
    margin-bottom: 10px;
}

#clipboardContent label.record-checkbox {
    margin-right: 20px;
}

.cart-controls > .checkbox {
    padding-bottom: 0;
}

.cart-controls > .checkbox .checkbox-select-all {
    margin-right: 22px;
}
