/* Client theme CSS for HDC. */
/* =========================================================
   HDC THEME COLORS / BACKGROUNDS
   ========================================================= */
.e-acrdn-header {
	background-color: rgb(212, 237, 220) !important;
	border: 1px solid #ddd !important;
	padding: 10px 15px !important;
	font-weight: bold !important;
}
.e-accordion .e-acrdn-item .e-acrdn-header .e-acrdn-header-content{
	font-size: 17px !important;
}
/* .main-container { */
    /* background-color: #f0f0f0 !important; */
/* } */

.bg-purple {
    background-color: #002e52;
}

.bg-white {
    background-color: #ffffff;
}

.sticky-top {
    background-color: #fff;
}

header.sticky-top {
    transition: box-shadow 160ms linear;
    overflow-anchor: none;
}

    header.sticky-top.header-compact {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
    }

.header-compact-spacer {
    height: 0;
    flex: 0 0 auto;
}

    .header-compact-spacer.is-active {
        height: 80px;
    }

main {
    overflow-anchor: none;
}

/* =========================================================
   HDC HEADER - LOGO / TEXT
   ========================================================= */

.e-appbar.navigbar {
    height: auto !important;
}

.logo-burger-container {
    min-width: 0;
}

.logo-burger-container > * {
    min-width: 0;
}

.dls-logo {
    
    padding-right: 10px;
}

.dls-text {
    color: #042C80;
}
/* =========================================================
   HDC HEADER - CONTACT BLOCK
   ========================================================= */

.header-contact-block {
    text-align: right;
    padding: 10px 0;
    white-space: nowrap;
    background-color: #ffffff;
}

.library-title {
    font-size: 22px;
    font-weight: 600;
    color: #003f3d;
    background-color: #ffffff;
}

.library-subtitle {
    font-size: 22px;
    font-weight: 600;
    color: #003f3d;
    background-color: #ffffff;
    margin-top: 4px;
}

.library-contact {
    margin-top: 8px;
    font-size: 17px;
    color: #337ab7;
}

/* .contact-item { */
    /* margin-right: 6px; */
/* } */

.contact-link {
    text-decoration: none;
    font-weight: 500;
}

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

.divider {
    margin: 0 6px;
    color: #4b5563;
}

/* =========================================================
   HDC HEADER - TOOLBAR
   ========================================================= */

.hdc-tools {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 10px 12px;
    gap: 14px;
    position: relative;
    z-index: 1000;
}

/* Keep the library identity/contact block intact and aligned to the right. */
@media (max-width: 1279.98px) {
    .navigbar .row-middle {
        width: 100%;
    }

    .navigbar .row-middle .zone-right {
        width: 100%;
        flex: 1 1 100% !important;
        justify-content: flex-end;
    }

    .navigbar .row-middle .hdc-header-contact {
        width: 100%;
        flex: 1 1 100% !important;
        justify-content: flex-end;
        text-align: right;
    }
}

.hdc-tools * {
    box-sizing: border-box;
}

.hdc-tools .toolWrap {
    position: relative;
    display: inline-flex;
    overflow: visible !important;
}

.e-tab.e-fill .e-tab-header .e-toolbar-item.e-active .e-tab-text, .e-tab.e-fill .e-tab-header .e-toolbar-item.e-active .e-tab-icon{
	color: #201f1e !important;
	border: none !important;
	font-size: 16px !important;
}

.e-tab .e-tab-header .e-indicator {
    background: none !important;
}

    .item-book {
        background: rgb(240, 240, 240) !important;
        margin-bottom: 0px;
    }

.hdc-tools .toolBtn {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    border-radius: 10px;
    cursor: pointer;
}

.hdc-tools img {
    height: 22px;
    width: 22px;
    object-fit: contain;
    display: block;
}

.hdc-tools #toolShare {
    position: relative;
}
.hdc-tools,
.hdc-tools .toolWrap,
.hdc-tools #toolShare {
    overflow: visible !important;
}
.hdc-tools .shareMenu {
    position: absolute !important;
    top: calc(100% + 8px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    background: #3f6f63;
    border-radius: 2px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    padding: 3px 5px !important;
    display: none;
    z-index: 99999 !important;
    white-space: nowrap;
    min-height: 52px !important;
}

.hdc-tools .shareMenu.open {
    display: block;
}

.hdc-tools .shareMenu:before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #3f6f63;
}
.header-row,
.header-zone,
.zone-right,
.navbar-item,
.navigbar {
    overflow: visible !important;
}

.hdc-tools .shareMenu[data-flip="1"]:before {
    top: auto;
    bottom: -8px;
    border-bottom: 0;
    border-top: 8px solid #3f6f63;
}

.hdc-tools .shareRow {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    min-height: 40px !important;
}

.hdc-tools .shareIcon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 0 !important;
    font-size: 0 !important;
    cursor: pointer !important;
}

.hdc-tools .shareIcon:hover {
    transform: scale(1.08);
}

.hdc-tools .shareIcon img {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    max-width: none !important;
}

/* =========================================================
   HDC HEADER - RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {
    

    .dls-text {
        font-size: 1rem;
    }

    header .e-control,
    .e-css,
    .e-error {
        font-size: 12px;
    }
}
/*Hide the language label when scroll*/
.language-overlay {
    transition: opacity 0.3s ease;
}

    .language-overlay.hidden-on-scroll {
        opacity: 0;
        pointer-events: none;
    }

@media (max-width: 899.98px) {
    .header-compact-spacer.is-active {
        height: 108px;
    }
    .header-contact-block {
        width: 100%;
        padding: 6px 0;
    }

    .library-title,
    .library-subtitle {
        font-size: 18px;
        line-height: 1.25;
    }

    .library-contact {
        font-size: 14px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 6px;
    }

    .divider {
        display: none;
    }

    .header-contact-block .contact-item,
    .header-contact-block .contact-link {
        white-space: nowrap;
    }

    .hdc-tools {
        width: 100%;
        justify-content: flex-end;
        padding: 6px 0;
        gap: 10px;
    }

    .hdc-tools .toolBtn {
        width: 36px;
        height: 36px;
    }

    .hdc-tools img {
        width: 20px;
        height: 20px;
    }

    .e-appbar.navigbar {
        padding: 8px 0 !important;
    }

    .logo-burger-container {
        padding: 0 !important;
    }
}

@media (max-width: 479.98px) {
    .library-title,
    .library-subtitle {
        font-size: clamp(13px, 4vw, 18px);
    }

    .library-contact {
        font-size: clamp(11px, 3.25vw, 14px);
        gap: 4px;
    }
}

@media (max-width: 576px) {
    .dls-logo {

        padding-left: 0;
        padding-right: 6px;
    }

    .dls-text {
        font-size: 0.9rem;
    }
}

@media (max-width: 420px) {
    .hdc-tools {
        gap: 10px;
        padding: 8px 10px;
    }

    .hdc-tools .toolBtn {
        width: 36px;
        height: 36px;
    }

    .hdc-tools .shareRow {
        gap: 18px !important;
    }

    .hdc-tools .shareIcon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }
}

/* =========================================================
   HDC FOOTER
   ========================================================= */

.custom-footer {
    padding: 20px 15px;
    border-top: 0 !important;
    font-size: 14px;
    color: #4b5563;
    background-color: #ffffff;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.footer-copy {
    font-weight: 500;
    color: #1f2937;
    background-color: #ffffff;
}

body .custom-footer .footer-link,
body .custom-footer .footer-link:visited {
    color: #003f3d !important;
    background-color: #ffffff !important;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

body .custom-footer .footer-link:hover,
body .custom-footer .footer-link:focus-visible {
    color: #003f3d !important;
    text-decoration: underline;
}

.footer-revision {
    margin-top: 10px;
    font-size: 13px;
    color: #1f2937;
    background-color: #ffffff;
}

.footer {
    width: 100%;
    box-sizing: border-box;
    border-top: 4px solid #002e52 !important;
    padding: 14px 24px 32px !important;
}

@media (min-width: 992px) {
    .footer {
        padding: 14px 191px 32px !important;
    }
}

@media (max-width: 768px) {
    .footer-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .footer-revision {
        margin-top: 12px;
    }
}

/* =========================================================
   HDC MENU / BRAND OVERRIDES
   ========================================================= */

.e-anchor-wrap:hover {
    color: #201f1e;
}

.e-ul .e-anchor-wrap {
    color: #201f1e;
}

.e-ul .e-anchor-wrap:hover {
    color: #002e52;
}

.e-caret {
    color: #fff;
}

.e-menu-container.profile .e-menu .e-menu-item {
    color: #201F1E !important;
}

.e-menu-container .e-menu .e-menu-item.e-selected,
.e-menu-container .e-menu .e-menu-item.e-selected .e-anchor-wrap {
    color: #026361 !important;
}

.user-icon-btn {
    color: #000000 !important;
}

.user-icon-img {
    height: 22px;
    width: 22px;
}

.e-appbar.e-control.navbar,
.e-appbar .e-menu.e-control {
    background-color: transparent !important;
}

.e-appbar .e-menu.e-control .e-menu-item {
    background-color: transparent !important;
    color: #333333 !important;
    font-weight: 500;
    padding: 0 18px !important;
    border-bottom: 3px solid transparent !important;
}

.e-appbar .e-menu.e-control .e-menu-item .e-menu-text {
    color: inherit !important;
}

.e-appbar .e-menu.e-control .e-menu-item:hover {
    background-color: transparent !important;
    border-bottom: 3px solid #026361 !important;
}

.e-appbar .e-menu.e-control .e-menu-item:hover .e-menu-text {
    color: #026361 !important;
}

.e-appbar .e-menu.e-control .e-menu-item.e-selected,
.e-appbar .e-menu.e-control .e-menu-item.e-focused {
    background-color: transparent !important;
    border-bottom: 3px solid #026361 !important;
}

.e-appbar .e-menu.e-control .e-menu-item.e-selected .e-menu-text,
.e-appbar .e-menu.e-control .e-menu-item.e-focused .e-menu-text {
    color: #026361 !important;
}

.e-appbar .e-menu.e-control .e-menu-item:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================================
   HDC PAGE / CONTENT BRANDING
   ========================================================= */

#Login {
    color: #201f1e !important;
}

.preview-button,
.availability-button {
    background-color: #2f7f6f !important;
    border-color: #2f7f6f !important;
    color: #fff !important;
}

.preview-button:hover,
.preview-button:focus,
.preview-button:active,
.availability-button:hover,
.availability-button:focus,
.availability-button:active {
    background-color: #266d5e !important;
    border-color: #266d5e !important;

    color: #fff !important;
}

nav[aria-label="breadcrumb"] a,
.breadcrumb a,
.breadcrumb-item a {
    color: #005a9c !important;
}

nav[aria-label="breadcrumb"] a:hover,
nav[aria-label="breadcrumb"] a:focus,
nav[aria-label="breadcrumb"] a:active,
.breadcrumb a:hover,
.breadcrumb a:focus,
.breadcrumb a:active,
.breadcrumb-item a:hover,
.breadcrumb-item a:focus,
.breadcrumb-item a:active {
    color: #003f73 !important;
}



.sumbit-button.e-primary {
    background-color: #8BCCB7 !important;
    border-color: #8BCCB7 !important;
    color: #fff !important;
}

.announcements-component .control-container {
    background: transparent !important;
}

.ann-card-content {
    background-color: #3a3a3a !important;
    color: #ffffff !important;
    font-size: 16px !important;
}

body .ann-card {
    display: flex !important;
    flex-direction: column !important;
    height: 250px !important;
    width: 210px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

body .ann-img-wrapper {
    flex: 1 !important;
}

body .ann-img-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .ann-card-content {
    background: #3d3d3d !important;
    color: white !important;
    padding: 12px !important;
    text-align: center !important;
}

.recommended-header{
	color: #026361 !important;
	font-size: 2.0em !important;
	font-weight: 500 !important;
}

.e-control, .e-control [class^=e-], .e-control [class*=" e-"]{
	font-size: 16px !important;
	font-weight: bold !important;

}

.name-box[b-7knebzm48x]{

	font-weight: bold !important;

}

.is-home,
.basic-search-flex {
    background-color: rgb(188, 210, 195) !important;
}

.e-tab-wrap {
    background: rgb(212, 237, 220) !important;
    border-radius: 8px !important;
}

.e-tab.e-fill .e-tab-header .e-toolbar-item.e-active .e-tab-wrap {
    background: rgb(188, 210, 195) !important;
}

.e-tab.e-fill .e-tab-header {
    padding-left: 0 !important;
    border-bottom: 0;
}

.e-tab.e-fill .e-tab-header .e-toolbar-item .e-tab-wrap {
    padding: 0 53px !important;
}

.e-tab .e-tab-header .e-toolbar-item .e-tab-text {
    font-weight: bold !important;
	font-size: 16px !important;
}

#Component-Announcements .slide-container {
    justify-content: left !important;
}

#Component-Announcements .e-template {
    display: none !important;
}

.resource-carousel--nice .item-details.overlay {
    height: 89px;
}

.search-tabs-items {
    border-radius: 15px !important;
}

.container-custom {
    background-color: white;
    border-radius: 18px;
    margin-bottom: 25px;
	margin-top: 25px;
}

.announcements-component .control-container{
	padding: 0px !important;
}

.lazyimage-placeholder {
    display: none !important;
}

#Component-search-library {
    max-width: 100%;
}

.announcements-component .control-container{
    border:none !important;
    box-shadow: none !important;
}

#Component-search-library * {
    max-width: 100%;
    box-sizing: border-box;
}

span.adv2-text.input-keyword input.e-input, span.search-template.input-keyword input.e-input, span.browse-text.input-keyword input.e-input {
    font-size: 11pt !important;
    font-style: italic !important;
    font-weight: bold !important;
}

.recommended-header{
	padding-left: 16px !important;
}

.footer[b-mot95tozvc] {
    height: 10px !important;
}

.language-icon{
	color: #003f3d !important;
	background-color: #ffffff !important;
}

/* =========================================================
   HDC QUICK LINKS
   ========================================================= */

.hdc-home-search-row {
    align-items: stretch !important;
}

.hdc-home-search-row > .layout-item,
.hdc-home-search-panel,
.hdc-home-quick-links-panel {
    align-items: stretch !important;
}

.hdc-home-search-panel .search-tabs-container,
.hdc-home-search-panel .search-tabs-items {
    height: 100% !important;
}

.hdc-home-quick-links-panel .qlinks-container {
    height: 100% !important;
    padding-top: 16px !important;
}

.hdc-home-quick-links-panel .eresources-container {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 8px 10px 14px !important;
}

.hdc-home-quick-links-panel .recommended-header h3 {
    white-space: nowrap !important;
}

.hdc-home-quick-links-panel .grid-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 8px 0 !important;
    align-items: start !important;
}

.hdc-home-quick-links-panel .resource-carde {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 74px !important;
    padding: 0 2px !important;
    overflow: visible !important;
}

.hdc-home-quick-links-panel .resource-carde:hover {
    transform: none !important;
    box-shadow: none !important;
}

.hdc-home-quick-links-panel .logo-box {
    height: 54px !important;
    padding: 0 !important;
}

.hdc-home-quick-links-panel .logo-box:hover {
    transform: none !important;
}

.hdc-home-quick-links-panel .logo-box img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 50px !important;
}

.hdc-home-quick-links-panel .name-box {
    padding: 4px 0 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}
@media (max-width: 899.98px) {
	.zone-left, .zone-center, .zone-right{
		flex: auto !important;
	}
}
@media (max-width: 991px) {
    .hdc-home-search-row {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .hdc-home-search-row > .layout-item,
    .hdc-home-search-panel,
    .hdc-home-quick-links-panel {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .hdc-home-search-panel .search-tabs-container,
    .hdc-home-search-panel .search-tabs-items,
    .hdc-home-quick-links-panel .qlinks-container,
    .hdc-home-quick-links-panel .eresources-container {
        height: auto !important;
    }

    .hdc-home-quick-links-panel .qlinks-container {
        padding-top: 0 !important;
    }

    .hdc-home-quick-links-panel .eresources-container {
        padding: 16px 14px !important;
    }

    .hdc-home-quick-links-panel .grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .hdc-home-quick-links-panel .recommended-header h3 {
        font-size: 1.85rem !important;
    }
}

@media (max-width: 575px) {
    .hdc-home-quick-links-panel .eresources-container {
        padding: 8px 10px 8px !important;
    }

    .hdc-home-quick-links-panel .resource-carde {
        min-height: 74px !important;
        padding: 0 2px !important;
    }

    .hdc-home-quick-links-panel .name-box {
        font-size: 13px !important;
    }
}

/*-----------------  MEDIA PRINT ----------------------------- */
@media print {
    .no-print,
    .app-shell-header,
    .app-shell-footer,
    header,
    footer,
    .custom-footer,
    .navigbar,
    .nav-container {
        display: none !important;
        visibility: hidden !important;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    .resource-detail-container,
    .detail-container,
    .main-content,
    .details,
    .details-content {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .resource-detail-container *,
    .detail-container *,
    .details *,
    .details-content * {
        max-height: none !important;
        overflow: visible !important;
    }

    .resource-detail-container img,
    .detail-container img,
    .details img,
    .details-content img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 100vh !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
        margin: 0 auto 16px auto !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    @page {
        size: auto;
        margin: 12mm;
    }
	
}

.user-menu-wrap > .e-btn:focus, .e-css.e-btn:focus,
.user-menu-wrap > .e-btn:active, .e-css.e-btn:active,
.user-menu-wrap > .e-btn:hover, .e-css.e-btn:hover
{
	background: none !important;
}

.navbar-item > .e-btn:hover, .e-css.e-btn:hover,
.navbar-item > .e-btn:active, .e-css.e-btn:active,
.navbar-item > .e-btn:hover, .e-css.e-btn:hover,
.user-icon-btn.e-btn:focus-visible,
.user-icon-btn.e-btn:focus, .e-css.e-btn:focus
{
	background: none !important;
}

#login-root .logo-image,

#login-root-tag .logo-image {

    display: none !important;

}



#login-root .login-text,

#login-root-tag .login-text {

    margin-top: 0 !important;

}

.no-resources-container{
	margin: 50px auto auto auto !important;
}




.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn{
	left:0px !important;
}

/* =========================================================
   HDC ACCESSIBILITY: WCAG 2.2 AA / AAA OVERRIDES
   ========================================================= */

/* AAA text contrast on explicit white header backgrounds. */
.header-contact-block,
.header-contact-block .library-title,
.header-contact-block .library-subtitle {
    background-color: #ffffff !important;
    opacity: 1 !important;
}

.header-contact-block .library-title,
.header-contact-block .library-subtitle,
.header-contact-block .library-contact,
.header-contact-block .library-contact a,
.header-contact-block .contact-link {
    color: #003f3d !important;
    text-shadow: none !important;
}

.header-contact-block .library-contact a:hover,
.header-contact-block .library-contact a:focus-visible,
.header-contact-block .contact-link:hover,
.header-contact-block .contact-link:focus-visible {
    color: #002f2d !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

/* Ensure all module headings and View More links pass enhanced contrast. */
body .recommended-header,
body .recommended-header h2,
body .recommended-header h3 {
    color: #004b49 !important;
}

/* Use an opaque, high-contrast pair for the catalogue section heading. */
body .hdc-home-search-panel .search-tabs-items > .recommended-header {
    background-color: #ffffff !important;
}

body .hdc-home-search-panel .search-tabs-items > .recommended-header > h2 {
    color: #002e52 !important;
    background-color: #ffffff !important;
}

body .recommended-header a,
body .recommended-header a[href="/resources/newly-added-resource"] {     display: none !important; }
body .recommended-header a.text-nowrap {
    color: #003b80 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

body .recommended-header a:hover,
body .recommended-header a:focus-visible,
body .recommended-header a.text-nowrap:hover,
body .recommended-header a.text-nowrap:focus-visible {
    color: #002b60 !important;
    text-decoration-thickness: 2px !important;
}

/* Explicit high-contrast announcement caption. */
body .ann-card-content,
body .announcements-component .ann-card .ann-card-content {
    background-color: #202020 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/*
 * HDC announcement artwork must occupy the complete image region. Some HDC
 * posters are much taller than the carousel card; "fill" keeps the whole
 * poster visible while stretching it to both horizontal edges instead of
 * leaving the side gutters produced by the shared scale-down rule.
 */
body .announcements-component .ann-card .ann-img-wrapper {
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .announcements-component .ann-card .ann-img-wrapper img.announcement-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    object-fit: fill !important;
    object-position: center !important;
}

/* HDC retains the darker resource-cover fallback used by its theme. */
body .resource-cover-fallback.theme-default,
body .resource-cover-fallback.theme-card-gray {
    background-color: #4b5563 !important;
}

body .resource-cover-fallback.theme-default .resource-cover-fallback-text,
body .resource-cover-fallback.theme-card-gray .resource-cover-fallback-text {
    color: #ffffff !important;
}

/*
 * Keep the complete footer surface opaque so contrast tools resolve the same
 * background for the CMS-generated inline text and its outer layout region.
 */
body .app-shell-footer,
body footer.footer,
body .footer,
body .footer .layout-row,
body .footer .layout-column,
body .footer .layout-item,
body .custom-footer,
body .custom-footer .footer-links,
body .custom-footer .footer-copy,
body .custom-footer .footer-link,
body .custom-footer .footer-link:visited,
body .custom-footer .footer-revision {
    background-color: #ffffff !important;
}

body .custom-footer .footer-copy,
body .custom-footer .footer-revision {
    color: #111827 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body .custom-footer .footer-link,
body .custom-footer .footer-link:visited {
    color: #003f3d !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* One semantic interactive element per toolbar item, at least 40 x 40 CSS px. */
.hdc-tools a.toolBtn,
.hdc-tools button.toolBtn,
.hdc-tools .toolContactBtn {
    box-sizing: border-box !important;
    min-width: 40px !important;
    min-height: 40px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hdc-tools a.toolBtn:focus-visible,
.hdc-tools button.toolBtn:focus-visible {
    outline: 3px solid #003b80 !important;
    outline-offset: 2px !important;
}

/* =========================================================
   HDC FOOTER - ACCESSIBILITY LOGOS
   ========================================================= */

#footer-partition {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100%;
}

/* Both footer sections should have equal vertical treatment */
.hdc-footer-left,
.hdc-footer-logo-section {
    height: 100%;
    box-sizing: border-box;
}

/* Right-side logo area */
.hdc-footer-logo-section {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.hdc-footer-logos {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
}

.hdc-footer-logo {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

.hdc-footer-logo-wcag {
    max-width: 88px;
}

.hdc-footer-logo-gold {
    max-width: 109px;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 768px) {

    #footer-partition {
        flex-direction: column !important;
    }

    #Component-Free-Play-Footer,
    #Component-Free-Play-Footer-Logos {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    .hdc-footer-logo-section {
        justify-content: flex-start;
        padding-top: 0;
    }

    .hdc-footer-logos {
        justify-content: flex-start;
    }
}

/* =========================================================
   Search Details + View Availability
   Client-specific font sizing
   ========================================================= */

/* Search Details page - labels */
.details-section span,
.details-section .label,
.details-section .field-label,
.details-section .form-label {
    font-size: 18px !important;
}

/* Search Details page - links */
.details-section a,
.details-section a:link,
.details-section a:visited,
.details-section a:hover,
.details-section a:active {
    font-size: 18px !important;
}

/* View Availability dialog - default content */
.view-availability-dlg-content {
    font-size: 18px !important;
}

/* Ensure child text does not override dialog font size */
.view-availability-dlg-content div,
.view-availability-dlg-content span,
.view-availability-dlg-content p,
.view-availability-dlg-content label,
.view-availability-dlg-content a,
.view-availability-dlg-content td,
.view-availability-dlg-content th,
.view-availability-dlg-content li,
.view-availability-dlg-content button {
    font-size: 18px !important;
}