/*
Theme Name: OSTR 2023
Author: SWPG
Author URI: https://wordpress.org/
Description: Stripped down, bare-bones theme that you can style as you wish with html and css.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: simple, effective
Text Domain: SWPG

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
/* Set core root defaults */
html {
    scroll-behavior: smooth;
    display: block;
}

:root {
    /* Core brand palette */
    --darkest-color: #0d1d41;
    --dark-color: #10224d;
    --primary-action: #2a4ccd;
    --analogous-violet: #5646a6;
    --complementary-teal: #187d8d;
    --pale-violet: #ece9f8;
    --canvas-color: #f7f9fc;
    --pale-blue: #e8eef9;
    --border-color: #cad4e5;
    --medium-color: color-mix(in srgb, var(--dark-color) 62%, white);
    --light-color: var(--pale-blue);
    --lightest-color: #fff;
    --transparent: transparent;

    /* Backwards-compatible theme aliases */
    --checkmarks: var(--analogous-violet);
    --contrast-accent: var(--analogous-violet);
    --accent-primary: #bb0e3d;
    --accent-secondary: color-mix(in srgb, var(--accent-primary) 85%, var(--darkest-color));
    --contrast-action: var(--pale-blue);
    --contrast-lighter: color-mix(in srgb, var(--pale-blue) 55%, white);
    --contrast-light: var(--pale-violet);

    /* Facility color coding uses the shared brand palette. */
    --core-facility-bg: var(--accent-primary);
    --trans-facility-bg: var(--complementary-teal);
    --collab-facility-bg: var(--primary-action);

    /* Golden-ratio spacing scale, rooted at 1rem. */
    --space-3xs: 0.236rem;
    --space-2xs: 0.382rem;
    --space-xs: 0.618rem;
    --space-sm: 1rem;
    --space-md: 1.618rem;
    --space-lg: 2.618rem;
    --space-xl: 4.236rem;

    --radius-sm: 0.382rem;
    --radius-md: 0.618rem;
    --radius-lg: 1rem;
    --shadow-sm: 0 0.236rem 0.618rem rgb(13 29 65 / 10%);
    --shadow-md: 0 0.618rem 1.618rem rgb(13 29 65 / 13%);
    --shadow-lg: 0 1rem 2.618rem rgb(13 29 65 / 16%);
    --focus-ring: 0 0 0 0.236rem rgb(42 76 205 / 28%);

    /* Image-forward banner veil: branded, but light enough to retain detail. */
    --banner-overlay-start: rgb(13 29 65 / 78%);
    --banner-overlay-middle: rgb(16 34 77 / 66%);
    --banner-overlay-end: rgb(86 70 166 / 50%);
}
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body{
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*color: hsl(227deg 34% 39%);*/
    color: var(--dark-color);
    font-size: 1.125rem;
    line-height: 1.618;
    font-weight: normal;
    background-color: var(--canvas-color);
    direction: ltr;
    text-rendering: optimizeLegibility;
    font-synthesis: none;
}
/* General Font Sizing */
h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
    color: var(--darkest-color) !important;
    font-weight: 700;
    line-height: 1.2;
    text-wrap: balance;
}
h1,
.h1{
    font-size: clamp(2.25rem, 1.95rem + 1.25vw, 2.875rem);
    margin-bottom: var(--space-md);

}
h2,
.h2{
    font-size: clamp(1.875rem, 1.65rem + 0.9vw, 2.375rem);
    margin-bottom: var(--space-md);
}
h3,
.h3{
    font-size: clamp(1.5rem, 1.35rem + 0.6vw, 1.875rem);
    margin-bottom: var(--space-md);
}
h4,
.h4{
    font-size: clamp(1.25rem, 1.15rem + 0.35vw, 1.5rem);
}
h5,
.h5{
    font-size: clamp(1.125rem, 1.05rem + 0.2vw, 1.25rem);
}
a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

p {
    font-weight: 400;
    letter-spacing: 0.006rem;
}

.small{
    font-size:14px;
}
.extra-small{
    font-size:12px;
}

.header-center {
    z-index: 0;
    position: relative;
    text-align: center !important;
    margin-bottom:2.5rem;
}

.header-left {
    z-index: 0;
    position: relative;
    text-align: left !important;
}

.header-right{
    z-index: 0;
    position: relative;
    text-align: right !important;
}

.header-margin{
    margin: var(--space-3xs) 0;
}
.active-tab-arrow{
    border-top: 5px solid var(--transparent);
    border-left: 10px solid var(--darkest-color);
    border-bottom: 5px solid var(--transparent);
    width: 0;
    height: 0;
    display: inline-flex;
}
@media(min-width:700px){
    .padding-left-50{
        margin-left: 50px;
    }
    .padding-right-50{
        margin-right:50px;
    }
    .padding-left-100{
        margin-left:100px;
    }
    .padding-right-100{
        margin-right: 100px;
    }
}
.display-flex{
    display:flex;
}
@media(max-width:575.98px){
    .flex-column{
        flex-direction: column !important;
    }

}
@media(min-width:576px){
    .flex-column{
        flex-direction: unset !important;
    }
    .active-tab-arrow{
        display:none;
    }

}
.hidden{
    display:none;
}


.main{
    position: relative;
    min-height: 100vh;
}
.mb-6{
    margin-bottom: 3.5rem!important;
}
.a{
    text-decoration: underline;
}
a,.a{
    text-underline-offset: 0.2em;
    color: var(--primary-action);
}
a:hover,.a:hover{
    cursor:pointer;
    text-decoration: underline;
}
a.no-underline{
    text-decoration: unset;
}
a.fit-content{
    width: fit-content !important;
    display: inline-block;
}
u{
    text-underline-offset: 0.2rem;
}
.entry-content ul:not(.list-group, .nav) > li,
.entry-content ol:not(.breadcrumb) > li,
.provider-html-description ul > li,
.provider-html-description ol > li {
    padding-block: var(--space-2xs);
}
/* Font Colors Overwrites */
.lightest-color{
    color: var(--lightest-color) !important;
}
.main-color{
    color: var(--dark-color) !important;
}
.header-color{
    color: var(--darkest-color) !important;
}
/* Hidden Value */
.hidden_value{
    clip: rect(1px,1px,1px,1px)!important;
    border: 0!important;
    -webkit-clip-path: inset(50%)!important;
    clip-path: inset(50%)!important;
    height: 1px!important;
    margin: -1px!important;
    overflow: hidden!important;
    padding: 0!important;
    position: absolute!important;
    white-space: nowrap!important;
    width: 1px!important;
}

/* Border Radii */
.border-radius-small{
    border-radius: var(--radius-sm);
}
.border-radius-medium{
    border-radius: var(--radius-md);
}
.border-radius-large{
    border-radius: var(--radius-lg);
}

/* WP Theme / Block Overwrite */
.has-white-color:not(.has-white-color:hover){
    color: var(--primary-action) !important;
    background-color: var(--transparent)!important;
}


/* General Options */

.align-middle {
    vertical-align: middle!important;
    margin-top: auto;
    margin-bottom: auto;
}
.border-right {
    border-right: 2px solid var(--contrast-accent);
}
.priority-1{
    order:2;
}
.priority-0 {
    order:1;
}
.float-end{
    float: right;
    text-align: right;
}
.overflow-hidden{
    overflow:hidden;
}
/* Mobile Order */
@media(max-width:600px){
    .order-mobile-0{
        order:0 !important;
    }
    .order-mobile-1{
        order:1 !important;
    }
    .order-mobile-2{
        order:2 !important;
    }
}

/* IMAGES */
.img-unadjusted{
    width: max-content;
}
/* TOP NCI Banner */
#top_nci_banner {
    text-align: center;
    background-color: var(--darkest-color);
}
#top_nci_banner > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--space-md);
    padding: var(--space-3xs) var(--space-sm);
}
#top_nci_banner a#nci_link{
    display: block;
    color: var(--contrast-action) !important;
    text-decoration: unset;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}

.rounded-img{
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    max-width: 500px;
    height: 100%;
    object-fit: cover;
}
.image-overlay-container{
    position: relative;
    overflow: hidden;
    box-shadow: 1px 10px 13.5px 3.5px color-mix(in srgb, var(--darkest-color) 5%, var(--light-color));
    height: 100%;
}
.image-overlay-container img{
    position: relative;
    display: block;
    height: 300px;
    object-fit: cover;

}
.overlay .text-mask{
    opacity: 0;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.overlay .text-mask .text-content{
    opacity: 1;
}
.image-overlay-container .text-mask{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-attachment: scroll;
}
.image-overlay-container .text-content{
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1rem;
    z-index: 1;
    color: var(--lightest-color);
    text-shadow: 0px 0px 4px var(--darkest-color);
}
.image-overlay-container .text-mask:hover, .image-overlay-container .text-content:hover ~ .text-mask {
    opacity:1;
}
/*.image-overlay-container.overlay.rounded:hover .text-content-1 {*/
/*    display: none;*/
/*}*/
.dim-hover{
    background-color: rgb(13 29 65 / 55%);
}



.image-scrollup-container {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 18rem;
    height: 100%;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 1px 10px 13.5px 3.5px color-mix(in srgb, var(--darkest-color) 5%, var(--light-color));
}
.image-scrollup-container .pre-title h2,
.image-scrollup-container .text h2 {
    margin: 0;
    font-size: clamp(1.25rem, 1.05rem + 0.5vw, 1.5rem);
    line-height: 1.25;
}
.image-scrollup-container .text h2 {
    margin-bottom: var(--space-xs);
}
.software-cards .image-scrollup-container .pre-title h2 {
    font-size: 1.125rem;
}


.image-scrollup-container .image {
    display: block;
    width: 100%;
    height: auto;
}

.image-scrollup-container .text-overlay {
    /* Keep the copy in layout so every line and its padding set the card size. */
    position: relative;
    grid-area: 1 / 1;
    display: flex;
    min-width: 0;
    background-color: rgb(13 29 65 / 88%);
    width: 100%;
    z-index: 2;
    transform: translateY(100%);
    visibility: hidden;
    transition: transform .35s ease, visibility 0s linear .35s;
}
.software-cards .image-scrollup-container .text-overlay{
    background-color: color-mix(in srgb, var(--darkest-color) 80%, var(--transparent));
    backdrop-filter: blur(6px);
}

.image-scrollup-container:hover .text-overlay, .image-scrollup-container:active .text-overlay {
    transform: translateY(0);
    visibility: visible;
    transition-delay: 0s;
}

.image-scrollup-container .text {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    color: var(--lightest-color);
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere;
    padding: clamp(var(--space-sm), 3vw, var(--space-md));
}
.image-scrollup-container .text > :last-child {
    margin-bottom: 0;
}
.image-scrollup-container .img-fluid{
    position: absolute;
    inset: 0;
    display: block;
    height: 100% !important;
    object-fit: cover;
    width: 100% !important;
}
.image-scrollup-container .pre-title{
    grid-area: 1 / 1;
    align-self: end;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-xs) var(--space-sm);
    z-index: 1;
    color: var(--lightest-color);
    background-color: rgb(13 29 65 / 78%);
    transition: opacity .2s ease, visibility .2s ease;
}
.software-cards .image-scrollup-container .pre-title{
    background-color: color-mix(in srgb, var(--darkest-color) 65%, var(--transparent));

}

.image-scrollup-container:hover .pre-title{
    opacity: 0;
    visibility: hidden;
}

.software-cards .image-scrollup-container .img-fluid{
    height: 100% !important;
    object-fit: contain;
    width: 100% !important;
    min-height: 0;
    padding: 0px calc(0.5rem + 2vw) calc(0.5rem + 2vw) calc(0.5rem + 2vw);
}



@media(max-width:600px){
    .priority-0 .rounded-img,
    .priority-1 .rounded-img{
        width: 100%;
        max-width: 100%;
        height: auto;
        border-radius: var(--radius-md);
        display: block;
        position: static;
    }
    .priority-0 .card-image,
    .priority-1 .card-image{
        margin: var(--space-sm) 0;
    }
    .priority-1,
    .priority-0{
        overflow: visible;
    }
}
/* Filter Container */
.clear-filter-container{
    margin-block: var(--space-sm);
}
@media(max-width:488px){
    .clear-filter-container{
        text-align: center;
    }
}

/* Buttons */
.clear_search {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.clear_search span {
    overflow: hidden;
    padding-inline: var(--space-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clear_search svg {
    width: 1em;
    height: 1em;
    margin-right: var(--space-xs);
}

.wide-button {
    padding-inline: var(--space-lg) !important;
}

.banner-buttons {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}
/* Home Banner CSS*/
#home_page .container-fluid.home-container {
    padding-left: 0px;
    padding-right: 0px;
}
#home_page .home-container-image {
    background-position: 0px 60%;
    background-size: cover;
    position: relative;

}
@media(max-width:550px){
    #home_page .home-container-image{
        background-position:unset;
        background-size: 100% 450px;
        background-repeat: no-repeat;
        object-fit: cover;
    }
}
#home_page .home-container .text-container {
    position: relative;
    z-index: 1;
}
#home_page .home-container-image:after {
    content: '';
    background-image: linear-gradient(120deg, var(--banner-overlay-start), var(--banner-overlay-middle) 52%, var(--banner-overlay-end));
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
#home_page .home-container .home-banner-header,
#facility_providers_page .facility-container-image .secondary-banner-header,
#facility_page .facility-container-image .secondary-banner-header,
#search_page .facility-container-image .secondary-banner-header
{
    color: var(--lightest-color) !important;
}

#navigation_search_box {
    min-width: 164px;
}

#home_page .home-container .home-banner-text,
#facility_providers_page .facility-container-image .secondary-banner-text,
#facility_page .facility-container-image .secondary-banner-text,
#search_page .facility-container-image .secondary-banner-text
{
    color: var(--light-color) !important;
    line-height:1.2;
}
#home_page .home-container .home-banner-header {
    color: var(--lightest-color) !important;
}


/* Home Search Field*/
.home_search_box.dark{
    background-color: var(--darkest-color);
    color: var(--lightest-color) !important;
}
.home_search_box.arrow-right{
    clip-path: polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0% 0%);
    padding: 0px 30px 0px 30px;
    min-height: 100px;
    border: unset;
}
.home_search_box .search_example {
    font-size: 30px;
    color: var(--lightest-color) !important;
}
@media(max-width:500px){
    .home_search_box .search_example{
        font-size:18px !important;
    }
    .home_search_box #home_search_box .input-group{
        flex-wrap: unset;
    }
    .home_search_box .search_example:not(.home_search_box .search_example.hidden){
        display:inline-flex;
    }

}
.home_search_box #home_search_box {
    width: 90%;
}
.home_search_box .home-search-input-box {
    background-color: var(--transparent);
    border: unset;
    border-bottom: 1px solid var(--contrast-accent);
    border-radius: 0px;
    color: var(--lightest-color);
    font-size: 24px;
    width: 85% !important;
}
.home_search_box input.home-search-input-box:focus{
    background-color:transparent !important;
    color: white !important;
}

.home_search_box .home-search-input-box::placeholder {
    color: var(--lightest-color);
    font-weight:600;
}
@media(max-width:600px){
    .home_search_box .home-search-input-box::placeholder {
        color: var(--lightest-color);
        font-size:1rem;
        font-weight:400;
    }
}
.home_search_box #home_search_button,  .home_search_box #home_search_button_placeholder {
    box-shadow: 0px 0px 0px 4px var(--contrast-action);
    transform: scale(1);
    animation: pulse_home 3s infinite;
}
.home_search_box .btn.search-submit {
    background-color: var(--primary-action) !important;
    color: var(--lightest-color) !important;
    padding: 0 1.25rem 0 1.25rem;
}

.home_search_box .search_example{
    font-size:30px;
    color:var(--lightest-color) !important;
}
.home_search_box .search_example:hover{
    cursor: pointer;
}
.home_search_box .search_example #home_search_button_placeholder{
    vertical-align: bottom;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    height:42px;
}
.home_search_box #dynamic_example{
    width: 50%;
    border-bottom: 1px solid var(--contrast-accent);
    display: inline-block;
    font-weight: 700 !important;
    font-size: 24px;
}
/* Search Page */
#search_page .search-hidden{
    display:none !important;
}
@keyframes pulse_home {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 4px rgb(42 76 205 / 32%);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}
/* Banner Color Overwrites */
.banner-dark .secondary-banner-header{
    color: var(--lightest-color) !important;
}
.banner-dark p{
    color: var(--light-color);
}

.banner-parallax{
    background-attachment: scroll;
}

/* Secondary Pages*/
#secondary_page  .page-banner-container,
#video_details_page .page-banner-container{
    padding-left: 0px;
    padding-right: 0px;
}
#secondary_page .secondary-image-filter.page-banner-image:after{
    content: '';
    background-image: linear-gradient(120deg, var(--banner-overlay-start), var(--banner-overlay-middle) 55%, var(--banner-overlay-end));
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
#secondary_page .page-banner-container .text-container,
#video_details_page .page-banner-container .text-container{
    position: relative;
    z-index: 1;
}
#secondary_page .page-banner-container .text-container h1.secondary-banner-header,
#video_details_page .page-banner-container .text-container h1.secondary-banner-header
{
    color: var(--lightest-color) !important;
}
#secondary_page  .page-banner-container .page-banner-image{
    background-position: 0px 60%;
    background-size: cover;
    position: relative;
}
#secondary_page .page-banner-container .page-banner-image.no-image{
    background-image: linear-gradient(135deg, var(--darkest-color), var(--dark-color) 55%, var(--analogous-violet)) !important;
    background-color: var(--dark-color) !important;
}
#secondary_page .page-banner-container .page-banner-image.no-image > .text-container{
    color: var(--lightest-color) !important;
}
#secondary_page .page-banner-container .stars-page{
    background-image: linear-gradient(to right, var(--pale-blue), var(--pale-violet));
}
/* Accents */
.underline-accent {
    content: '';
    width: 40%;
    height: 4px;
    background-color: var(--accent-primary);
    position: absolute;
    margin-top: -8px !important;
}
.underline-accent-fitted {
    content: '';
    height: 4px;
    background-color: var(--accent-primary);
    position: relative;
    display:block;
}
/* Arrow for Banner */
.arrow-clip-path{
    /* A fixed-depth tip stays below the content even in taller banners. */
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--space-lg)), 50% 100%, 0 calc(100% - var(--space-lg)));
}
.arrow {
    position: relative;
    text-align: center;
    padding: 0px;
    bottom: 75px;
    height: 95px;
    width: 100%;
    clear: both;
}
.arrow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    background: var(--canvas-color);
    transform: skew(0deg, 6deg);
}
.arrow:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    background: var(--canvas-color);
    transform: skew(0deg, -6deg);
}

/* Text Modifications*/
.byline{
    font-size: 20px;
    font-weight: 600;
    color: var(--lightest-color);
}

/*Header Logo*/
#banner-logo{
    height:54px;
    width:100%;
}
@media(min-width:1200px) and (max-width: 1400px){
    #banner-logo{
        height:40px;
        width:100%;
    }
}
@media(min-width:1200px){
    ul#main_menu {
        display: inline-flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: var(--space-3xs);
    }
}
@media(max-width:700px){
    #banner-logo{
        max-width: 60%;
        height: auto;
    }

}
@media(max-width:500px){
    .navbar-brand{
        margin-right:unset !important;
    }
}
/* Header navigation */
.header nav.navbar {
    background: var(--lightest-color) !important;
}

.header .search-submit {
    margin: 0;
    border-color: var(--darkest-color);
    color: var(--lightest-color);
    background: var(--darkest-color);
}

.header input::placeholder {
    color: var(--medium-color);
}

@media (min-width: 1200px) {
    .header nav ul {
        margin-left: auto;
    }

    #main_menu > li.dropdown:is(:hover, :focus-within) > .dropdown-menu,
    #main_menu li.dropdown.dropdown-submenu:is(:hover, :focus-within) > ul.dropdown-menu {
        display: block;
    }

    #main_menu li.dropdown.dropdown-submenu:hover > ul.dropdown-menu {
        left: 75%;
    }
}

.header .custom-menu-description {
    color: inherit;
    font-weight: 400;
}

.header .has-description {
    font-weight: 700 !important;
}

/* Footer navigation and contrast utilities */
footer {
    display: block;
    background: var(--darkest-color);
}

footer a {
    text-decoration: none;
}

footer .list-group-item {
    border: 0 !important;
    background: transparent !important;
}

footer .nci-logo-text p.header {
    display: inline;
    color: var(--lightest-color);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

footer .nci-logo-text p.byline {
    color: var(--pale-blue);
    font-size: 0.875rem;
}

footer .footer_label {
    color: var(--lightest-color);
    font-size: 1rem;
    font-weight: 650;
}

footer :is(.byline, .list-group-item a),
.contrast-text,
.contrast-text a {
    color: var(--pale-blue) !important;
}

.contrast-bg {
    color: var(--lightest-color);
    background: var(--darkest-color) !important;
}

.contrast-text .list-group-item {
    border: 0 !important;
    color: var(--pale-blue) !important;
    background: transparent !important;
}
/* Image Mask: Goes in DIV covering container. See STARS cards */
.img-mask{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(to left, color-mix(in srgb, var(--analogous-violet) 35%, transparent), color-mix(in srgb, var(--primary-action) 55%, transparent));
    height: 100px;
    border-radius: 8px 8px 0px 0px;
}
/* Cards */
.card:hover .icon-link > .bi,
.card:focus-within .icon-link > .bi {
    transform: translateX(var(--space-3xs));
}

.card.card-shadow {
    margin-block: var(--space-sm);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.card.card-shadow.card-linked:is(:hover, :focus-within) {
    border-color: var(--primary-action);
    box-shadow: var(--shadow-md);
    transform: translateY(calc(-1 * var(--space-3xs)));
}

.card.card-shadow .card-footer {
    border: 0;
    background: transparent;
}

.card .card-title {
    margin-block: var(--space-3xs);
}

.card .card-subtitle,
.card :is(.card-text, .card-body, .card-description > p) {
    color: var(--dark-color) !important;
}

.card .card-body li {
    margin-bottom: var(--space-sm);
    line-height: 1.5;
}

.card .card-image-container {
    max-height: 6.18rem;
    overflow: hidden;
}

.custom-card-container {
    padding-block: var(--space-md);
}

.card.customs_stars_card .card-body ul {
    margin-bottom: var(--space-md);
}

.card.customs_stars_card .card-body .icon-link {
    position: absolute;
    bottom: var(--space-sm);
}

/* Published funding mechanisms are authored cards, separate from dashboards. */
.page-id-181 .entry-content > .card-container {
    margin-bottom: var(--space-md) !important;
}

.page-id-181 .entry-content > .card-container > .row {
    padding-block: var(--space-xs) !important;
    row-gap: var(--space-md);
}

.page-id-181 .entry-content > .card-container > .row > .col {
    margin-bottom: 0 !important;
}

.page-id-181 .card-container .card.card-linked {
    /* Let shorter programs end naturally instead of matching the longest list. */
    height: auto;
    margin-block: 0;
}

.page-id-181 .card-container .card-linked .card-body {
    padding: var(--space-sm);
    font-size: 1rem;
    line-height: 1.5;
}

.page-id-181 .card-container .card-linked .card-title {
    margin-block: 0 var(--space-xs) !important;
}

.page-id-181 .card-container .card-linked .card-text {
    margin-block: 0 var(--space-xs) !important;
}

.page-id-181 .card-container .card-linked .card-text br {
    display: none;
}

.page-id-181 .card-container .card-linked .card-text > b {
    display: block;
    margin-top: var(--space-xs);
}

.page-id-181 .card-container .card-linked .card-body ul {
    margin-bottom: 0;
    padding-left: var(--space-md);
}

.page-id-181 .card-container .card-linked .card-body li {
    margin-bottom: var(--space-xs);
}

.page-id-181 .card-container .card-linked .card-body li:last-child {
    margin-bottom: 0;
}

.page-id-181 .card-container .card-linked .card-footer {
    padding: 0 var(--space-sm) var(--space-sm);
    font-size: 1rem;
    line-height: 1.5;
    height: 29.124px;
}

.page-id-181 .card-container .card-linked .card-footer .icon-link {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .card.card-shadow {
        height: 100%;
    }
}
/* About Us Cards */
.card.custom_about_card{
    max-width:300px;
}
.card.card-shadow.custom_about_card{
    box-shadow: 0 6px 16px -7px color-mix(in srgb, var(--darkest-color) 10%, white)
}
.card.custom_about_card .card-image-container{
    max-height:250px !important;
}
.card.custom_about_card h4.card-title{
    font-size: 20px;
}
/*Contact Us Cards */
.circle-image{
    object-fit: cover;
    width: 150px;
    height: 150px;
    border-radius: 50%;
}
.contact-cards .card{
    height:100%;
    min-height:175px;
    background-color: var(--pale-blue);
}
.contact-cards .card-body span{
    display:block;
}
.contact-cards .contact-group .row .col{
    transition:transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
}
.contact-cards .contact-group .row .col:hover{
    /*transform:translateY(-0.75rem);*/
    /*transform: scale(1.01);*/
}
@media (max-width: 1280px) and (min-width: 764px) {
    .circle-image{
        object-fit: cover;
        width: 120px;
        height: 120px;
        border-radius: 50%;
    }

}
/*Home Cards*/
#home_page .card.card-shadow.home_card_resource {
    --home-card-accent: var(--primary-action);
}

#home_page .card.card-shadow.home_card_funding {
    --home-card-accent: var(--darkest-color);
}

#home_page .card.card-shadow.home_card_innovation {
    --home-card-accent: var(--analogous-violet);
}

#home_page .card.card-shadow.home_card_resource,
#home_page .card.card-shadow.home_card_funding,
#home_page .card.card-shadow.home_card_innovation {
    border-top: var(--space-2xs) solid var(--home-card-accent);
    background-color: var(--pale-blue);
    background-image: linear-gradient(
        145deg,
        color-mix(in srgb, var(--home-card-accent) 18%, white),
        color-mix(in srgb, var(--home-card-accent) 7%, white)
    );
}

#home_page .card.card-shadow.home_card_resource .card-icon-container,
#home_page .card.card-shadow.home_card_funding .card-icon-container,
#home_page .card.card-shadow.home_card_innovation .card-icon-container {
    color: var(--lightest-color) !important;
    background: var(--home-card-accent) !important;
}
/* Provider and search cards */
.providers-cards .col-mod {
    margin-block: var(--space-xs);
}

.providers-cards .provider > hr {
    color: var(--border-color);
}

:is(.providers-cards .card.provider, #search_page .card.search-result) {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin-bottom: var(--space-md);
    padding: var(--space-sm) var(--space-md);
}

:is(.providers-cards, #search_page) .provider .card-subtitle {
    margin-block: var(--space-3xs) var(--space-sm);
}

:is(.providers-cards .provider, #search_page .card) .card-title a {
    color: var(--darkest-color);
    font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.625rem);
    font-weight: 700;
    text-decoration: none;
}

:is(.providers-cards .provider, #search_page .card) .card-title a:is(:hover, :focus-visible) {
    color: var(--primary-action);
    text-decoration: underline;
}

.providers-cards .provider .offering-type {
    display: inline-flex;
    align-items: center;
    padding: var(--space-3xs) var(--space-3xs) var(--space-3xs) 0;
    color: var(--dark-color);
}

.providers-cards .provider .offering-type .fa-check {
    display: inline-grid;
    width: 1.25rem;
    height: 1.25rem;
    place-items: center;
    margin-right: var(--space-2xs);
    border-radius: 50%;
    color: var(--analogous-violet);
    background: var(--pale-violet);
}

.providers-cards .provider :is(.field-label, p.card-text) {
    color: var(--dark-color);
    font-size: 1rem;
    line-height: 1.5;
}

.providers-cards .provider .field-label {
    font-weight: 500;
}

.provider .facility-type-list {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: var(--space-sm);
}

.facility-type.facility-arrow {
    width: 156px;
    text-align: center;
    align-items: center;
}

.arrow-core {
    background: var(--core-facility-bg);
}

.arrow-trans {
    background: var(--trans-facility-bg);
}

.arrow-ncr {
    background: var(--collab-facility-bg);
}
/* Info Sections */
.info_section {
    text-align: left;
    max-width: 450px;
}
.info_section .info_section_title{
    font-weight: 700;
    padding: 4px 0px 1rem 0px;
}
.info_section .info_section_description, .column-list .info_section_description p{
    font-weight: 400;
    font-size: 24px;
    letter-spacing: -0.1px;
    line-height: 36px;
    color: var(--dark-color);
}
.column-list .list-group-item a{
    font-weight: bold;
}
.column-list .list-group-item{
    background: var(--transparent);
    border-bottom:1px solid var(--light-color);
    margin: auto 0 0.75rem 0;
    padding-bottom: 1rem;
    color: var(--dark-color);
}
.column-list .list-padding{
    border-radius: 12px;
    padding: 1rem;
}
.column-list li.list-group-item{
    border-bottom:1px solid white !important;
}
.column-list .featured-column{
    background-color: var(--contrast-action);
}

.column-list #nci-resources{
    box-shadow: var(--shadow-sm);
    z-index:2;
}
.column-list #crex-resources{
    margin-top: 1rem;
    box-shadow: var(--shadow-sm);
    background-color: var(--pale-blue);
}

.column-list #bioinformatic-resources{
    margin-top: 1rem;
    box-shadow: var(--shadow-sm);
    background-color: var(--pale-violet);
    z-index: 1;
}
.column-list.all-resources .bi.bi-arrow-right{
    font-size:1.75rem;
}
.column-list.all-resources h3{
    margin-bottom: unset;
    font-size: 20px;
    font-weight:600;
}
.column-list.all-resources a{
    text-decoration: unset !important;
    color: var(--darkest-color) !important;
    margin-bottom: 1rem !important;
    display: block;
}
a.icon-link.icon-link-hover:hover .icon-container {
    color: var(--primary-action) !important;
}
.a.icon-link.icon-link-hover{
    margin-bottom:1rem;
}
.column-list.all-resources a:hover .card-title{
    text-decoration: underline !important;
    text-underline-offset:0.35rem;
}
.column-list.all-resources svg{
    display:block !important;
}
.column-list.all-resources .icon-container{
    color: var(--medium-color);
    font-size: 2.0rem;
    margin-bottom:1rem;
}
/* All Resources Cards */
.all-resources .card .card-icon-container svg{
    vertical-align: middle !important;
    text-align: center !important;
    margin: auto !important;
    padding-top: 3px;
}
.all-resources a.no-underline:hover .card-text{
    text-decoration:unset !important;
}

.column-list.all-resources .large-margin{
    margin-bottom: var(--space-lg);
    padding: var(--space-sm);
    border-radius: var(--radius-lg);

}

@media(max-width:699px){
    .column-list.all-resources .large-margin{
        margin-bottom: var(--space-md);
    }
}

/* Facilities List */
.list-group-facilities .img-thumbnail,
.custom-list-group .standard-list .img-thumbnail {
    max-height: 150px;
    border: unset;
}
.list-group-facilities .provider-discipline,
.custom-list-group .standard-list{
    background-color: var(--transparent) !important;
}

.list-group-facilities .list-group-item.provider-discipline:hover,
.custom-list-group .list-group-item.standard-list:hover{
    border-color: var(--border-color);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
.list-group-facilities .provider-discipline .discipline-title,
.custom-list-group .standard-list .title h4{
    font-size: 26px;
    color: var(--darkest-color);
    font-weight: 500;
}
.list-group-facilities .list-group-item.provider-discipline:hover .discipline-title,
.custom-list-group .standard-list:hover .title h4{
    color:var(--primary-action) !important;
    text-decoration: underline;
    text-underline-offset: 0.35rem;
}
.list-group-facilities .provider-discipline .title,
.custom-list-group .standard-list .title{
    margin: auto;
}
.list-group-facilities .provider-discipline a,
.custom-list-group .standard-list a{
    text-decoration: unset;
    display: contents;
}
@media(max-width:500px){
    .list-group-facilities .provider-discipline .discipline-title{
        font-size:20px;
    }
    #facility_page .facilities{
        text-align:center;
    }
}
/*Dynamic Facility Page: Core, Collab, NCI, Search Page */

#facility_page .provider-discipline .img-thumbnail,
.custom-list-group .standard-list .img-thumbnail{
    border-radius: 75px;
    border: 1px solid var(--dark-color);
}
#facility_page .list-group-facilities .list-group-item.provider-discipline:hover .img-thumbnail,
.custom-list-group .standard-list:hover .img-thumbnail{
    border-color: var(--primary-action);
}
#facility_providers_page .title-arrow{
    max-width: 350px;
    min-width:fit-content;
    position: relative;
    padding-left: 8px;
    vertical-align: middle !important;
    clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
    margin-left: 8px;
}

#facility_providers_page .search-box-container h2{
    color: var(--lightest-color) !important;
    width:fit-content;
}
#facility_page .tabbed-search,
#facility_providers_page .tabbed-search,
#search_page .tabbed-search{
    position: relative;
    /*top: -4.34em !important;*/
    padding-left: 1.5rem;
    margin: 3rem auto 3rem auto;
    display: block;
}
#facility_page .facility-category-arrow{
    position:relative;
    padding-left: 8px;
    vertical-align: middle !important;
    clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
    padding-top: 0.25rem;
    width:fit-content;
}


#facility_page .tabbed-search .nav-link.active,
#search_page .tabbed-search .nav-link.active,
#facility_providers_page .tabbed-search .nav-link.active {
    background-color: var(--primary-action) !important;
    color:var(--lightest-color);
    border:var(--primary-action) 1px solid !important;
    border: var(--darkest-color) 1px solid !important;
}
.tabbed-search .nav-item.active > a.nav-link{
    font-weight: 600;
}
#facility_page .tabbed-search .nav-link:not(.nav-link.active),
#search_page .tabbed-search .nav-link:not(.nav-link.active),
#facility_providers_page .tabbed-search .nav-link:not(.nav-link.active){
    color:var(--light-color);
    background: var(--dark-color);

}
@media(min-width:489px){
    .tabbed-search .inactive .nav-link{
        box-shadow: inset 0px -2px 4px 0.5px color-mix(in srgb, var(--darkest-color) 50%, black);
    }
}

#facility_page .tabbed-search .form-control:focus,
#search_page .tabbed-search .form-control:focus,
#facility_providers_page .tabbed-search .form-control:focus{
    border-color: var(--primary-action) !important;
    box-shadow: var(--focus-ring) !important;
}
#facility_page .tabbed-search .nav-link,
#search_page .tabbed-search .nav-link,
#facility_providers_page .tabbed-search .nav-link{
    margin-right: 4px;
}
#facility_page .tabbed-search .search_tabs,
#search_page .tabbed-search .search_tabs,
#facility_providers_page .tabbed-search .search_tabs{
    padding: 0px;
}
#facility_page .tabbed-search input,
#search_page .tabbed-search input,
#facility_providers_page .tabbed-search input{
    border:unset !important;
}
#facility_page .tabbed-search .btn,
#search_page .tabbed-search .btn,
#facility_providers_page .tabbed-search .btn{
    background-color: var(--primary-action) !important;
    border:1px solid var(--light-color);
}
#facility_page .tabbed-search button.btn.btn-secondary,
#search_page .tabbed-search button.btn.btn-secondary,
#facility_providers_page .tabbed-search button.btn.btn-secondary{
    background-color: var(--accent-primary) !important;
    transition: .3s;
    border:1px solid var(--accent-primary);
}
#facility_page .tabbed-search button.btn.btn-secondary:hover,
#search_page .tabbed-search button.btn.btn-secondary:hover,
#facility_providers_page .tabbed-search button.btn.btn-secondary:hover{
    background-color: color-mix(in srgb, var(--accent-primary) 80%, white) !important;
    box-shadow: 0px 0px 0px 4px color-mix(in srgb, var(--primary-action) 50%, white);
}




#facility_page .tabbed-search .input-group input[type="search"],
#search_page .tabbed-search .input-group input[type="search"],
#facility_providers_page .tabbed-search .input-group input[type="search"]{
    font-size:20px;
    font-weight:500;
    color: var(--dark-color);
    background-color:var(--lightest-color) !important;
    border-bottom:1px solid var(--accent-primary) !important;
    border-radius: 0px;
}
#facility_page .tabbed-search .input-group input::placeholder,
#search_page .tabbed-search .input-group input::placeholder,
#facility_providers_page .tabbed-search .input-group input::placeholder {
    font-size:20px;
    font-weight:400;
    color: var(--medium-color);
}

.search_tabs .nav-item a:hover{
    text-decoration:unset;
}

#facility_page .tabbed-search .search_tabs .nav-tabs,
#search_page .tabbed-search .search_tabs .nav-tabs,
#facility_providers_page .tabbed-search .search_tabs .nav-tabs{
    border-bottom: 0px !important;
    padding-bottom: 1px;
    font-size: 18px;
}

#facility_page .tabbed-search .search_tabs li.inactive,
#search_page .tabbed-search .search_tabs li.inactive,
#facility_page .tabbed-search .search_tabs li.inactive>a,
#search_page .tabbed-search .search_tabs li.inactive>a,
#facility_providers_page .tabbed-search .search_tabs li.inactive,
#facility_providers_page .tabbed-search .search_tabs li.inactive>a
{
    color: var(--lightest-color) !important;
    border-radius: 4px 4px 0 0;
}
#facility_page .tabbed-search .search_tabs li.active>a,
#search_page .tabbed-search .search_tabs li.active>a,
#facility_providers_page .tabbed-search .search_tabs li.active>a{
    background-color: var(--contrast-action) !important;
    color: var(--dark-color) !important;
}
@media(max-width:488px){
    .search_tabs li.active>a{
        border-radius:unset;
    }
}
#facility_page .custom_search_box,
#search_page .custom_search_box,
#facility_providers_page .custom_search_box {
    height: 72px;
    background-color: var(--contrast-action);
    border-radius: 0px 12px 12px 12px;
    width: fit-content;
    padding: 14px;
    width: 100%;
}
#facility_page .custom_search_box .input-group,
#search_page .custom_search_box .input-group,
#facility_providers_page .custom_search_box .input-group {
    position: relative;
    display: flex;
    align-items: stretch;
}
#facility_page .facility-container-image,
#search_page .facility-container-image,
#facility_providers_page .facility-container-image
{
    background-image: url(/wp-content/uploads/2023/12/OSTR-Default-Background.jpg);
    background-size: cover;
    position: relative;
}
#facility_page .search-box-container,
#search_page .search-box-container,
#facility_providers_page .search-box-container{
    padding-left: 0px;
    padding-right: 0px;
}
#facility_page .facility-container-image:after,
#search_page .facility-container-image:after,
#facility_providers_page .facility-container-image:after {
    content: '';
    background-image: linear-gradient(120deg, var(--banner-overlay-start), var(--banner-overlay-middle) 55%, var(--banner-overlay-end));
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
#facility_page .search-box-container .text-container,
#search_page .search-box-container .text-container,
#facility_providers_page .search-box-container .text-container{
    position: relative;
    z-index: 1;
}

/* Provider Details Page */

.facility-container-image.provider-no-image{
    background-image: linear-gradient(135deg, var(--pale-blue), var(--pale-violet));
}

.facility-container-image .text-container{
    z-index:1;
    position:relative;
}
.facility-container-image{
    background-size: cover;
    position: relative;
    background-position: 100% 50%;
}

.facility-container-image:after {
    content: '';
    background-image: linear-gradient(120deg, var(--banner-overlay-start), var(--banner-overlay-middle) 58%, var(--banner-overlay-end));
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}


.provider_details_page .provider_generated_description{
    color: var(--dark-color);
}

#provider_details_banner{
    padding-left:0px;
    padding-right:0px;
}

.provider_details_page .website-buttons{
    margin-top:0.5rem;
}
.provider_details_page .website-buttons .contrast_secondary_button{
    background-color:var(--core-facility-bg);
    border: 1px solid var(--core-facility-bg);
    color: var(--light-color);
}
.provider_details_page .website-buttons .contrast_primary_button{
    background-color:var(--transparent);
    border: 1px solid var(--core-facility-bg);
    color: var(--core-facility-bg);
}
.provider_details_page .container{
    padding-left:1rem;
    margin-top:1.5rem;
}
.provider_details_page .container h3{
    margin-top:0.25rem;
    margin-bottom:1rem;
}
@media(max-width:489px){
    .provider_details_page .provider-html-description{
        margin: 16pt 8pt 16pt 8pt;
    }
    .p-5{
        padding:1.5rem !important;
    }
}
.provider_details_page .provider-html-description .container{
    border: 1px solid var(--light-color);
    padding: 1rem 2rem 1rem 2rem;
    margin: 1rem auto 1rem auto;
}
.provider_details_page .provider-html-description ul{
    margin-left:1rem;
}
.provider_details_page .contact-details-container .additional-contacts{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: baseline;
    margin-top:1.5rem;
}
.provider_details_page .contact-details-container{
    padding: 2rem 1rem 2rem 1rem;
}
.provider_details_page .contact-details-container:not(.provider_details_page .contact-details-container.light),
.custom-overview-details-container.dark:not(.custom-overview-details-container.light) {
    background-color: var(--darkest-color);
}
.provider_details_page .contact-details-container.light, .custom-overview-details-container.light{
    background-color: var(--contrast-action) !important;
;

}
.provider_details_page .contact-details-container:not(.contact-details-container.light),
.provider_details_page .contact-details-container a:not(.contact-details-container.light a) {
    color: var(--lightest-color) !important;
}
.provider_details_page .contact-details-container h3:not(.contact-details-container.light h3),
.provider_details_page .contact-details-container h4:not(.contact-details-container.light h4) {
    color: var(--light-color) !important;
}
.provider_details_page .contact-details-container h4 {
    margin-bottom:0.75rem;
    margin-top: 0.25rem;
}
.provider_details_page .contact-details-container:not(.light)>hr{
    color: var(--contrast-accent);
    opacity:1;
}
.provider_details_page .contact-details-container.light>hr,
.custom-overview-details-container.light>hr
{
    color: var(--lightest-color);
    opacity:1;
}
.provider_details_page .contact-details-container .additional-contact-section{
    margin-top:1.25rem;
    display: inline-flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: fit-content;
    text-wrap: nowrap;
}
.provider_details_page .contact-details-container .contact-card{
    margin-left:0.5rem;
}
.provider_details_page .contact-details-container:not(.light) .primary_button{
    color: var(--light-color);
}

.provider_details_page .provider-html-description .badge.keyword-cloud{
    margin: 4px;
    padding: 4px 8px 4px 8px;
    color: var(--dark-color) !important;
    text-decoration: none;
    background-color: var(--pale-violet);
    font-weight: 400;
}
.breadcrumb .active{
    color: var(--dark-color);
    color: color-mix(in srgb, var(--dark-color) 80%, white);
}
.breadcrumb-item+.breadcrumb-item::before{
    color: var(--dark-color) !important;
}
.breadcrumb li {
    font-size: 14px;
    padding:2pt;
}

.breadcrumb a{
    color: var(--dark-color);
    color: color-mix(in srgb, var(--darkest-color) 75%, white);
}
.breadcrumb a:hover{
    text-decoration-color: var(--primary-action);
}
@media(max-width: 500px){
    .breadcrumb {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: thin;
    }
    .breadcrumb-item {
        flex: 0 0 auto;
    }
}

/* 404 Error Page */
#error_page {
    background-color: var(--pale-blue);
}
#error_page .container{
    margin:auto;
}
.main#error_page{
    min-height:unset;
}
@media(min-width:600px){
    #error_page .container{
        margin: 16pt 20% 16pt 20%;
        vertical-align: middle;
    }
}

/* Sequencing Facility Page */
.sequencing_facility_pricing_tables table {
    border: 1px solid rgb(13, 29, 65);
    font-size: 12pt;
    border-collapse: collapse;
    margin: 29px;
}

.sequencing_facility_pricing_tables table thead th {
    font-weight: bold;
}

.sequencing_facility_pricing_tables table caption {
    padding:.5em;
}

.sequencing_facility_pricing_tables table th,
.sequencing_facility_pricing_tables table td {
    padding: .5em;
    border: 1px solid rgb(13, 29, 65);
}

.sequencing_facility_pricing_tables thead > tr:nth-child(1) {
    font-weight: 900;
    font-size: 1.2em;
}

.sequencing_facility_pricing_tables thead > tr:nth-child(2)  {
    font-style: italic;
}

.sequencing_facility_pricing_tables_blue td {
    background-color: var(--pale-blue);
}

.sequencing_facility_pricing_tables_red td {
    background-color: color-mix(in srgb, var(--accent-primary) 12%, white);
}

.sequencing_facility_pricing_tables_yellow td {
    background-color: var(--pale-violet);
}

.sequencing_facility_pricing_tables_grey td {
    background-color: var(--contrast-lighter);
}

.sequencing_facility_illumina_variation td {
    background-color: var(--pale-violet);
}

.sequencing_facility_illumina_variation tr td:nth-child(3) {
    background-color: color-mix(in srgb, var(--accent-primary) 12%, white);
}

.sequencing_facility_pacbio_variation td {
    background-color: var(--contrast-lighter);
}

.sequencing_facility_pacbio_variation tr td:nth-child(3) {
    background-color: var(--pale-violet);
}

.sequencing_facility_oxford_variation td {
    background-color: var(--contrast-lighter);
}

.sequencing_facility_oxford_variation tr td:nth-child(3) {
    background-color: var(--pale-violet);
}

.sequencing_facility_bionano_variation td {
    background-color: color-mix(in srgb, var(--accent-primary) 12%, white);
}

.sequencing_facility_bionano_variation tr td:nth-child(3) {
    background-color: var(--pale-violet);
}

.sequencing_facility_pricing_tables td[colspan="3"]  {
    background-color: #fff;
    font-style: italic;
}
/*Video Details*/
#video_details_page .btn-share-link,
.btn-share-link{
    background: var(--light-color);
    text-decoration: unset !important;
    border-radius: 2rem;
    padding: 0.25rem 0.5rem;
    color: var(--primary-action);
}
.btn-share-link:focus,
.btn-share-link:hover{
    background: var(--primary-action) !important;
    color: var(--lightest-color) !important;

}
#video_details_page .secondary-image-filter.page-banner-image{
    background-position: 0px 60%;
    background-size: cover;
    position: relative;
}
#video_details_page .secondary-image-filter.page-banner-image:after{
    content: '';
    background-image: linear-gradient(120deg, var(--banner-overlay-start), var(--banner-overlay-middle) 55%, var(--banner-overlay-end));
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
#video_details_page .underline-accent{
    background-color: var(--analogous-violet);
}
.video-detail-container .wp-video{
    margin: auto !important;
    width: 100% !important;
}
.video-detail-container .video-control-container{
    width:100%;
    height:auto;
}

/* --------------------------------------------------------------------------
   OSTR visual system refinements
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-padding-top: var(--space-xl);
}

body {
    overflow-wrap: break-word;
}

img,
svg,
video {
    max-width: 100%;
}

img,
video {
    height: auto;
}

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

.main > :is(.container, .nv-content-wrap) {
    /* One collapsing margin between sections; do not stack wrapper padding. */
    padding-block: 0;
    margin-block: var(--space-md);
}

.main > .page-banner-container + .container {
    margin-top: var(--space-lg);
}

/* Give prose room to breathe without enlarging card/control spacing. */
.main :is(.container, .container-1, .entry-content, .wp-block-group, .info_section_description, .provider-html-description) > p {
    margin-bottom: var(--space-md);
}

.main > .container > nav .breadcrumb {
    margin-bottom: 0;
    padding-block: 0;
}

.provider_details_page {
    padding-block: var(--space-sm);
}

.main :is(p, ul, ol, blockquote, table) + :is(h2, h3, h4) {
    margin-top: var(--space-lg);
}

a,
button,
input,
select,
textarea {
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease,
        box-shadow 160ms ease, transform 160ms ease;
}

:is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 0.15rem solid var(--primary-action) !important;
    outline-offset: 0.15rem;
    box-shadow: var(--focus-ring) !important;
}

.skip-link {
    position: fixed;
    z-index: 10000;
    top: var(--space-xs);
    left: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    color: var(--lightest-color) !important;
    background: var(--darkest-color);
    box-shadow: var(--shadow-md);
    transform: translateY(calc(-100% - var(--space-md)));
}

.skip-link:focus {
    transform: translateY(0);
}

.skip-target {
    display: block;
    scroll-margin-top: var(--space-md);
}

/* Buttons and fields */
:is(
    .primary_button,
    .secondary_button,
    .contrast_primary_button,
    .contrast_secondary_button,
    .wp-block-button__link,
    .ostr-button
) {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    padding: var(--space-xs) var(--space-md) !important;
    margin-top: var(--space-sm);
    border: 1px solid var(--primary-action);
    border-radius: 999px !important;
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
}

:is(.primary_button, .ostr-button--secondary) {
    color: var(--primary-action) !important;
    background: var(--lightest-color);
}

:is(.secondary_button, .contrast_secondary_button, .wp-block-button__link, .ostr-button--primary) {
    color: var(--lightest-color) !important;
    background: var(--primary-action);
}

.contrast_primary_button {
    border-color: var(--pale-blue);
    color: var(--lightest-color) !important;
    background: rgb(13 29 65 / 38%);
}

:is(
    .primary_button,
    .secondary_button,
    .contrast_primary_button,
    .contrast_secondary_button,
    .wp-block-button__link,
    .ostr-button
):is(:hover, :focus-visible) {
    border-color: var(--darkest-color);
    border-radius: 999px !important;
    color: var(--lightest-color) !important;
    background: var(--darkest-color);
    transform: translateY(calc(-1 * var(--space-3xs)));
}

.banner-buttons {
    justify-content: flex-start;
    gap: var(--space-xs);
}

.banner-buttons > :is(a, button) {
    margin: 0;
}

:is(
    .form-control,
    input[type="text"],
    input[type="email"],
    input[type="search"],
    input[type="tel"],
    select,
    textarea
) {
    min-height: 2.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--dark-color);
    background: var(--lightest-color);
}

:is(.form-control, input, select, textarea):focus {
    border-color: var(--primary-action);
    box-shadow: var(--focus-ring);
}

.clear_search {
    min-height: 2.75rem;
    border: 1px solid var(--border-color);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
}

.clear_search:hover,
a:focus-visible .clear_search {
    border-color: var(--primary-action);
    color: var(--primary-action);
    background: var(--pale-blue);
}

/* Navigation */
.header nav.navbar {
    padding-block: var(--space-xs);
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 var(--space-3xs) var(--space-xs) rgb(13 29 65 / 7%);
}

.header .navbar > .container-fluid {
    gap: var(--space-sm);
}

#banner-logo {
    width: auto;
    max-width: min(26rem, 62vw);
    height: clamp(2.5rem, 4vw, 3.375rem);
}

.header :is(a.nav-link, .dropdown-item) {
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    color: var(--darkest-color);
    line-height: 1.25;
    white-space: nowrap;
}

.header :is(
    a.nav-link:hover,
    a.nav-link:focus-visible,
    .dropdown-item:hover,
    .dropdown-item:focus-visible,
    .current-menu-item > a,
    .current-menu-ancestor > a
) {
    color: var(--primary-action);
    background: var(--pale-blue);
    text-decoration: none;
}

.header .dropdown-menu {
    padding: var(--space-2xs);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
}

.header .custom-menu-description {
    margin: var(--space-3xs) 0 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    white-space: normal;
}

@media (min-width: 1200px) {
    .header .dropdown-menu {
        width: max-content;
        min-width: 20rem;
        max-width: min(26rem, calc(100vw - var(--space-lg)));
    }

    #main_menu > li.dropdown:not(:has(~ li.dropdown)) > .dropdown-menu {
        right: 0;
        left: auto;
    }
}

.navbar-toggler {
    min-width: 2.75rem;
    min-height: 2.75rem;
    border-color: var(--border-color);
}

/* Banners */
:is(#home_page .home-container-image, .page-banner-image, .facility-container-image) {
    /* Let headings, descriptions, and buttons determine the banner height. */
    min-height: 0;
    overflow: hidden;
    padding: var(--space-lg) var(--space-md) !important;
    margin-bottom: 0 !important;
    background-position: center;
    background-size: cover;
}

:is(.page-banner-image, .home-container-image, .facility-container-image) .text-container {
    padding-block: var(--space-md) !important;
}

/* The homepage needs a more generous rhythm than resource/detail pages. */
#home_page {
    --home-hero-space: clamp(var(--space-lg), 5vw, var(--space-xl));
    /* A single collapsed gap replaces the original stacked section padding. */
    --home-section-space: calc(1.618 * var(--home-hero-space));
    display: flow-root;
}

#home_page .home-container-image {
    padding-block: var(--home-hero-space) !important;
}

#home_page > .container {
    margin-block: var(--home-section-space);
}

#home_page > .home-container + .container {
    margin-top: var(--home-hero-space);
}

#home_page + footer {
    margin-top: calc(2 * var(--space-lg));
}

#home_page > .home-container + .container > h2 {
    margin-bottom: var(--space-lg);
}

#home_page > .home-container + .container > .row {
    align-items: center;
    row-gap: var(--space-md);
    /* The section margin supplies the gap before the cards. */
    margin-bottom: 0 !important;
}

#home_page > .custom-card-container {
    margin-block: var(--home-section-space);
    padding-block: var(--space-lg);
}

#home_page .card-image .rounded-img {
    max-width: min(100%, 31.25rem);
    height: auto;
}

:is(.home-banner-header, .secondary-banner-header, .page-banner-header) {
    max-width: 60rem;
    padding-block: var(--space-xs) !important;
}

:is(.home-banner-text, .secondary-banner-text) {
    max-width: 52rem;
    padding-block: var(--space-sm) !important;
    line-height: 1.5 !important;
}

:is(#home_page .home-container-image, .secondary-image-filter.page-banner-image, .facility-container-image)
    :is(.home-banner-header, .home-banner-text, .secondary-banner-header, .secondary-banner-text, .page-banner-header) {
    text-shadow: 0 0.125rem 0.382rem rgb(13 29 65 / 82%);
}

.text-center :is(.home-banner-header, .secondary-banner-header, .home-banner-text, .secondary-banner-text) {
    margin-inline: auto;
}

.text-end :is(.home-banner-header, .secondary-banner-header, .home-banner-text, .secondary-banner-text) {
    margin-left: auto;
}

:is(.underline-accent, .underline-accent-fitted) {
    position: relative;
    display: block;
    width: 100%;
    height: var(--space-3xs);
    margin: calc(-1 * var(--space-2xs)) 0 var(--space-sm) !important;
    border-radius: 999px;
    background: var(--accent-primary);
}

.banner-title-group {
    width: fit-content;
    max-width: 100%;
}

.text-center .banner-title-group {
    margin-inline: auto;
}

.text-end .banner-title-group {
    margin-left: auto;
}

.text-center :is(.underline-accent, .underline-accent-fitted) {
    margin-inline: auto !important;
}

.text-end :is(.underline-accent, .underline-accent-fitted) {
    margin-left: auto !important;
}

/* Shared cards and editorial components */
.card {
    /* Keep Bootstrap's image/footer corners inside the theme's outer border. */
    --bs-card-border-radius: var(--radius-md);
    --bs-card-inner-border-radius: calc(var(--radius-md) - 1px);
}

:is(
    .card,
    .provider-html-description > .container,
    .contact-details-container,
    .custom-list-group .list-group-item,
    .list-group-facilities .list-group-item
) {
    border-radius: var(--radius-md);
}

.card.card-shadow,
.providers-cards .card.provider,
#search_page .card.search-result {
    border: 1px solid var(--border-color);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
}

.card.card-shadow:hover,
.card.card-shadow:focus-within,
.providers-cards .card.provider:hover,
.providers-cards .card.provider:focus-within,
#search_page .card.search-result:hover,
#search_page .card.search-result:focus-within {
    border-color: var(--primary-action);
    box-shadow: var(--shadow-md);
}

.card .card-icon-container {
    display: inline-grid;
    width: var(--space-lg);
    height: var(--space-lg);
    place-items: center;
    padding: 0;
    border-radius: 50%;
    color: var(--analogous-violet);
    background: var(--pale-violet);
}

/* Authored cards and generated cards share the same icon/title row. */
.card .card-body:has(> .card-icon-container + .card-title) {
    display: grid;
    grid-template-columns: var(--space-lg) minmax(0, 1fr);
    grid-template-rows: minmax(var(--space-lg), auto);
    gap: var(--space-xs);
    align-content: start;
}

.card .card-body:has(> .card-icon-container + .card-title) > * {
    min-width: 0;
    grid-column: 1 / -1;
    margin-block: 0 !important;
}

.card .card-body:has(> .card-icon-container + .card-title) > .card-icon-container {
    grid-area: 1 / 1;
    align-self: center;
}

.card .card-body:has(> .card-icon-container + .card-title) > .card-title {
    grid-area: 1 / 2;
    align-self: center;
}

.card .card-subtitle:empty {
    display: none;
}

/* Generated sections share the same rhythm as authored content. */
:is(.ostr-info-section, .ostr-text-section, .ostr-card-section) {
    margin-block: var(--space-md);
}

.custom-card-container > .ostr-card-section {
    margin-block: 0;
}

.ostr-info-section > .row,
.ostr-card-grid {
    row-gap: var(--space-md);
}

.ostr-card-grid > .col > a.no-underline {
    display: block;
    height: 100%;
}

.ostr-card-grid .card.card-shadow,
.column-list.all-resources .card.card-shadow {
    height: 100%;
    margin-block: 0;
}

.column-list.all-resources .row:has(.bioinformatics_cards) {
    row-gap: var(--space-md);
    padding-block: var(--space-xs) !important;
}

.column-list.all-resources .row > a:has(.bioinformatics_cards) {
    margin-bottom: 0 !important;
}

/* Resource cards: a slim accent, quiet tint and a distinct action area. */
.bioinformatics_cards {
    --resource-accent: var(--primary-action);
    --resource-secondary: var(--analogous-violet);
}

.card.card-shadow.bioinformatics_cards {
    border-top: var(--space-3xs) solid var(--resource-accent);
    background: linear-gradient(145deg, var(--lightest-color), var(--contrast-lighter));
}

.card.bioinformatics_cards .card-body {
    padding: var(--space-sm) var(--space-md);
}

.card.bioinformatics_cards .card-icon-container {
    color: var(--resource-secondary);
    background: color-mix(in srgb, var(--resource-secondary) 10%, white);
}

.card.bioinformatics_cards .card-text {
    margin-block: var(--space-xs) 0 !important;
}

.card.bioinformatics_cards .card-footer {
    padding: var(--space-xs) var(--space-md);
    border-top: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--resource-accent) 6%, white);
}

.card.bioinformatics_cards .card-footer .icon-link {
    margin-bottom: 0;
    color: var(--primary-action);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

.card.bioinformatics_cards .card-footer .icon-link > .bi {
    height: auto;
}

.card.bioinformatics_cards .card-footer .bi {
    color: var(--resource-secondary);
}

a:is(:hover, :focus-visible) > .bioinformatics_cards .card-title {
    color: var(--primary-action) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* Image/contact blocks retain the original image proportions. */
#secondary_page .wp-block-columns:has(> .wp-block-column > .wp-block-image + p),
.page-id-4576 #secondary_page > .container > .row:has(> .column > img) {
    gap: var(--space-md);
    margin-block: var(--space-md);
}

#secondary_page .wp-block-column:has(> .wp-block-image + p),
.page-id-4576 #secondary_page > .container > .row > .column:has(> img) {
    flex-grow: 1;
    padding: var(--space-sm);
    border: 1px solid var(--border-color);
    border-top: var(--space-3xs) solid var(--analogous-violet);
    border-radius: var(--radius-md);
    background: linear-gradient(160deg, var(--lightest-color), var(--contrast-lighter));
    box-shadow: var(--shadow-sm);
}

#secondary_page .wp-block-column > .wp-block-image {
    margin: 0 0 var(--space-sm);
}

#secondary_page .wp-block-column > .wp-block-image img,
.page-id-4576 #secondary_page > .container > .row > .column > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    border-radius: var(--radius-sm);
}

#secondary_page .wp-block-column:has(> .wp-block-image) > p:last-child {
    margin-bottom: 0;
    font-size: 1rem;
    overflow-wrap: anywhere;
}

/* The Intravital Microscopy team uses legacy columns instead of image blocks. */
.page-id-4576 #secondary_page > .container > .row:has(> .column > img) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    margin-inline: 0;
}

.page-id-4576 #secondary_page > .container > .row > .column:has(> img) {
    width: auto;
    min-width: 0;
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.page-id-4576 #secondary_page > .container > .row > .column > img {
    margin-bottom: var(--space-sm);
}

@media (max-width: 781px) {
    .page-id-4576 #secondary_page > .container > .row:has(> .column > img) {
        grid-template-columns: 1fr;
    }
}

/* Specificity keeps these rules above the legacy CSS stored with video content. */
#secondary_page .video-filters {
    margin-block: var(--space-md);
}

#secondary_page .video-filters .button {
    padding: var(--space-xs) var(--space-sm);
    color: var(--dark-color);
    background: var(--pale-blue);
}

#secondary_page .video-filters .button:is(.filter-active, :hover, :focus-visible) {
    color: var(--lightest-color);
    background: var(--primary-action);
}

#secondary_page #video-filter-mobile {
    color: var(--dark-color);
    background-color: var(--pale-blue);
}

#secondary_page .resource-column .resource-column-inner {
    padding: var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
}

#secondary_page .resource-column .instructor-category {
    color: var(--dark-color);
}

#secondary_page .resource-column .wp-block-video > a {
    display: block;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

#secondary_page .resource-column .wp-block-video > a img {
    transition: filter 180ms ease;
}

#secondary_page .resource-column .wp-block-video > a:is(:hover, :focus-visible) {
    outline: var(--space-3xs) solid var(--primary-action);
    outline-offset: 2px;
    box-shadow: var(--shadow-md);
}

#secondary_page .resource-column .wp-block-video > a:is(:hover, :focus-visible) img {
    filter: brightness(0.82);
}

#secondary_page .resource-column .share-link {
    padding: var(--space-3xs) var(--space-xs);
    border-radius: var(--radius-sm);
    color: var(--primary-action);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#secondary_page .resource-column .share-link:is(:hover, :focus-visible) {
    color: var(--darkest-color);
    background: var(--pale-blue);
    text-decoration-thickness: 2px;
}

.info_section {
    max-width: 40rem;
}

.info_section .info_section_description,
.column-list .info_section_description p {
    font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem);
    line-height: 1.618;
}

:is(.rounded-img, .image-overlay-container, .image-scrollup-container) {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
}

a:has(> .image-scrollup-container) {
    display: block;
    height: 100%;
    border-radius: var(--radius-md);
    text-decoration: none;
}

.image-scrollup-container:is(:hover, :focus-within, :active) .text-overlay,
a:focus-visible .image-scrollup-container .text-overlay {
    transform: translateY(0);
    visibility: visible;
    transition-delay: 0s;
}

.image-scrollup-container:is(:hover, :focus-within) .pre-title,
a:focus-visible .image-scrollup-container .pre-title {
    opacity: 0;
    visibility: hidden;
}

/* Resource directories and provider details */
:is(.list-group-facilities, .custom-list-group) {
    gap: var(--space-xs);
}

:is(
    .list-group-facilities .list-group-item.provider-discipline,
    .custom-list-group .list-group-item.standard-list
) {
    padding: var(--space-sm);
    border: 1px solid transparent;
    background: var(--lightest-color) !important;
}

:is(
    .list-group-facilities .list-group-item.provider-discipline,
    .custom-list-group .list-group-item.standard-list
):is(:hover, :focus-within) {
    border-color: var(--border-color);
    box-shadow: var(--shadow-sm);
}

:is(
    .list-group-facilities .provider-discipline .discipline-title,
    .custom-list-group .standard-list .title h4
) {
    font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.625rem);
}

:is(
    #facility_page .provider-discipline .img-thumbnail,
    .custom-list-group .standard-list .img-thumbnail
) {
    width: clamp(4.236rem, 10vw, 7rem);
    aspect-ratio: 1;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    object-fit: cover;
}

.ostr-facility-intro {
    max-width: 65rem;
    margin-bottom: var(--space-md);
    font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.3rem);
    line-height: 1.618;
}

.ostr-facility-grid {
    row-gap: var(--space-md);
    margin-top: var(--space-md);
}

.facility-block {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--darkest-color);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
    font-weight: 650;
    text-align: center;
    text-decoration: none;
}

.facility-block:is(:hover, :focus-visible) {
    border-color: var(--primary-action);
    color: var(--primary-action);
    box-shadow: var(--shadow-md);
    transform: translateY(calc(-1 * var(--space-3xs)));
}

.core_resource_tile_image img {
    width: 100%;
    max-height: 9rem;
    object-fit: contain;
}

.provider .facility-type-list {
    gap: var(--space-2xs);
}

.provider .facility-arrow,
.provider .facility-arrow:nth-child(-n + 3) {
    min-height: 1.75rem;
    height: auto;
    padding: var(--space-3xs) var(--space-xs);
    border-radius: 999px;
    background: var(--pale-blue);
}

.provider .facility-arrow::before,
.provider .facility-arrow::after {
    display: none;
}

.provider .facility-arrow:not(:first-child) {
    margin-left: 0;
}

.provider .facility-arrow.core {
    background: var(--core-facility-bg);
}

.provider .facility-arrow:is(.trans, .affiliate) {
    background: var(--trans-facility-bg);
}

.provider .facility-arrow.collaborative {
    background: var(--collab-facility-bg);
}

.provider .facility-arrow:is(.core, .trans, .collaborative, .affiliate) .label {
    color: var(--lightest-color);
}

.provider .facility-type .label {
    margin: 0;
    white-space: normal;
}

:is(#facility_page, #facility_providers_page, #search_page) .tabbed-search {
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5);
    padding-block: 0;
    margin-block: var(--space-md) var(--space-sm);
    margin-top: 47.11px;
    margin-bottom: 47.11px;
}



:is(#facility_page, #facility_providers_page, #search_page) .tabbed-search > .row {
    margin-inline: 0;
}

:is(#facility_page, #facility_providers_page, #search_page) .search_tabs {
    padding-inline: 0;
}

.main > .clear-filter-container,
.main > .providers-cards {
    margin-block: var(--space-sm);
}

:is(#facility_page, #facility_providers_page, #search_page) .custom_search_box {
    width: 100%;
    height: auto;
    min-height: 4.236rem;
    padding: var(--space-xs);
    border: 1px solid var(--border-color);
    border-radius: 0 var(--radius-md) var(--radius-md);
    background: var(--pale-blue);
}

:is(#facility_page, #facility_providers_page, #search_page) .tabbed-search .nav-link {
    min-height: 2.75rem;
    margin-right: var(--space-3xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

:is(#facility_page, #facility_providers_page, #search_page) .tabbed-search .nav-link.active {
    border-color: var(--primary-action) !important;
    background: var(--primary-action) !important;
}

.provider_details_page :is(.contact-details-container, .provider-html-description > .container) {
    margin-block: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--border-color);
    background: var(--lightest-color) !important;
    box-shadow: var(--shadow-sm);
}

.provider_details_page .contact-details-container.light {
    background: var(--pale-blue) !important;
}

.provider_details_page .contact-details-container .additional-contacts {
    gap: var(--space-md);
    margin-top: var(--space-md);
}

.provider_details_page .additional-contact-section {
    max-width: 100%;
    margin-top: 0;
    white-space: normal;
}

.provider_details_page .website-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.provider_details_page .website-buttons > a {
    width: 100%;
    margin-top: 0;
}

.provider_details_page .badge.keyword-cloud {
    margin: var(--space-3xs);
    padding: var(--space-2xs) var(--space-xs);
    border: 1px solid var(--border-color);
    border-radius: 999px;
    color: var(--dark-color) !important;
    background: var(--pale-violet);
}

.breadcrumb {
    gap: var(--space-3xs);
    margin-bottom: var(--space-sm);
    padding-block: var(--space-xs);
}

/* Dashboard shortcode components */
.ostr-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    margin-block: var(--space-lg);
}

.ostr-dashboard-card {
    position: relative;
    display: grid;
    grid-template-columns: var(--space-lg) minmax(0, 1fr);
    grid-template-rows: auto 1fr auto auto;
    align-items: start;
    gap: var(--space-xs) var(--space-sm);
    overflow: hidden;
    padding: var(--space-md);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--dark-color);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
}

.ostr-dashboard-card > * {
    min-width: 0;
    grid-column: 1 / -1;
}

.ostr-dashboard-card > .ostr-dashboard-card__icon {
    grid-area: 1 / 1;
    align-self: center;
}

.ostr-dashboard-card > .ostr-dashboard-card__title {
    grid-area: 1 / 2;
    align-self: center;
}

.ostr-dashboard-card__description {
    margin-bottom: 0;
}

.ostr-dashboard-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: var(--space-2xs);
    background: var(--primary-action);
    content: "";
}

a.ostr-dashboard-card:is(:hover, :focus-visible) {
    border-color: var(--primary-action);
    color: var(--dark-color);
    box-shadow: var(--shadow-lg);
    transform: translateY(calc(-1 * var(--space-3xs)));
    text-decoration: none;
}

:is(.ostr-dashboard-card__icon, .ostr-dashboard-access__icon) {
    display: inline-grid;
    width: var(--space-lg);
    height: var(--space-lg);
    flex: 0 0 var(--space-lg);
    place-items: center;
    border-radius: 50%;
    color: var(--analogous-violet);
    background: var(--pale-violet);
    font-size: 1.35rem;
}

.ostr-dashboard-card--core .ostr-dashboard-card__icon {
    color: var(--primary-action);
    background: var(--pale-blue);
}

.ostr-dashboard-card__title {
    margin: 0;
    color: var(--darkest-color) !important;
}

.ostr-dashboard-card__link-label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    margin-top: auto;
    color: var(--primary-action);
    font-weight: 700;
}

.ostr-dashboard-card__link-label::after {
    content: "\2192";
}

.ostr-dashboard-card:is(:hover, :focus-visible) .ostr-dashboard-card__link-label::after {
    transform: translateX(var(--space-3xs));
}

.ostr-dashboard-access {
    display: block;
    margin-block: var(--space-lg);
    padding: var(--space-md);
    border: 1px solid var(--border-color);
    border-left: var(--space-2xs) solid var(--primary-action);
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--lightest-color), var(--pale-blue));
    box-shadow: var(--shadow-sm);
}

.ostr-dashboard-access__content {
    min-width: 0;
}

.ostr-dashboard-access__heading {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.ostr-dashboard-access__heading h2 {
    min-width: 0;
    margin: 0;
}

.ostr-dashboard-access__requirements {
    margin-block: var(--space-sm);
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    background: rgb(255 255 255 / 72%);
}

.ostr-dashboard-access__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.ostr-dashboard-access__actions :is(a, button, .ostr-button) {
    margin-top: 0;
}

.ostr-dashboard-status {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-2xs) var(--space-xs);
    border: 1px solid var(--border-color);
    border-radius: 999px;
    color: var(--dark-color);
    background: var(--lightest-color);
    font-size: 0.875rem;
    font-weight: 700;
}

.ostr-dashboard-status::before {
    width: var(--space-xs);
    height: var(--space-xs);
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--primary-action);
    content: "";
}

.ostr-dashboard-status:is(.is-restricted, .is-unavailable)::before {
    background: var(--accent-primary);
}

.ostr-dashboard-card:is(.is-disabled, [aria-disabled="true"]) {
    border-style: dashed;
    color: var(--medium-color);
    background: var(--contrast-lighter);
    box-shadow: none;
    cursor: not-allowed;
}

.ostr-dashboard-card:is(.is-disabled, [aria-disabled="true"]) .ostr-dashboard-card__link-label {
    color: var(--medium-color);
}

.ostr-dashboard-card:is(.is-disabled, [aria-disabled="true"]) .ostr-dashboard-card__link-label::after {
    content: none;
}

.ostr-button:is(.is-disabled, [aria-disabled="true"]),
.ostr-button:is(.is-disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
    border-color: var(--border-color);
    color: var(--medium-color) !important;
    background: var(--contrast-lighter);
    box-shadow: none !important;
    transform: none;
    cursor: not-allowed;
}

/* Footer and secondary surfaces */
footer {
    margin-top: var(--space-lg);
}

.footer .contrast-bg {
    padding-block: var(--space-md) !important;
    background: var(--darkest-color) !important;
}

.footer .row {
    row-gap: var(--space-md);
}

.footer .footer_label {
    margin-bottom: var(--space-xs);
    padding-bottom: var(--space-2xs);
    border-bottom: 1px solid rgb(232 238 249 / 45%);
}

.footer .list-group-item {
    padding: var(--space-2xs) 0;
}

.footer a:is(:hover, :focus-visible) {
    color: var(--lightest-color) !important;
    text-decoration: underline;
}

:is(.sequencing_facility_pricing_tables table, .entry-content table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    margin: var(--space-md) 0;
    border-color: var(--border-color);
    background: var(--lightest-color);
}

.container.crex-crosssite-banner {
    /* CREx brand tokens from CREx/public/resources/css/styles.css. */
    --crex-dark: #0a242c;
    --crex-teal: #195a6d;
    --crex-gold: #f2a900;
    --crex-gold-hover: #ffc74d;
    height: auto;
    padding: var(--space-sm);
    border-left: var(--space-xs) solid var(--crex-gold);
    border-radius: var(--radius-lg);
    color: #fff;
    background: linear-gradient(135deg, var(--crex-dark), var(--crex-teal));
    box-shadow: 0 4px 12px rgb(10 36 44 / 12%);
}

.container.crex-crosssite-banner > .row {
    align-items: center;
    row-gap: var(--space-sm);
}

.container.crex-crosssite-banner h4 {
    margin-block: 0 var(--space-xs);
    color: #fff !important;
}

.container.crex-crosssite-banner p {
    margin-bottom: 0;
    color: #f8fafc;
}

.container.crex-crosssite-banner :is(button.secondary_button, .secondary_button) {
    width: 100%;
    margin: 0;
    border-color: var(--crex-gold);
    border-radius: 4px !important;
    color: var(--crex-dark) !important;
    background: var(--crex-gold) !important;
    font-weight: 600;
    box-shadow: 0 2px 8px rgb(10 36 44 / 10%);
}

.container.crex-crosssite-banner .secondary_button:is(:hover, :focus-visible) {
    border-color: var(--crex-gold-hover);
    border-radius: 4px !important;
    color: var(--crex-dark) !important;
    background: var(--crex-gold-hover) !important;
}

.container.crex-crosssite-banner .secondary_button:focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 3px;
}

#error_page {
    background: linear-gradient(135deg, var(--pale-blue), var(--pale-violet));
}

.ostr-error-actions {
    max-width: fit-content;
}

.ostr-archive-card {
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--lightest-color);
    box-shadow: var(--shadow-sm);
}

.ostr-archive-card__title a {
    color: var(--darkest-color);
    text-decoration: none;
}

.ostr-archive-card__title a:is(:hover, :focus-visible) {
    color: var(--primary-action);
    text-decoration: underline;
}

@media (max-width: 1199.98px) {
    .header .navbar-collapse {
        min-width: 0;
        padding-block: var(--space-sm);
    }

    .header .dropdown-menu {
        max-width: 100%;
        border: 0;
        border-left: var(--space-3xs) solid var(--border-color);
        border-radius: 0;
        box-shadow: none;
    }

    :is(#navigation_search_box, #navigation_search_box .input-group) {
        width: 100%;
    }
}

@media (max-width: 375px) {
    /* Keep the full CREx label readable on narrow phones without wrapping. */
    .header :is(a.nav-link, .dropdown-item) {
        min-height: 2.75rem;
        padding-inline: var(--space-2xs);
        font-size: 0.875rem;
    }

    .header .dropdown-menu {
        padding-inline: 0;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 1rem;
    }

    .arrow-clip-path {
        clip-path: none;
    }

    :is(#home_page .home-container-image, .page-banner-image, .facility-container-image) {
        padding: var(--space-md) var(--space-sm) !important;
        margin-bottom: 0 !important;
    }

    .header-margin {
        margin-inline: 0;
    }

    .info_section {
        max-width: none;
        padding-left: 0;
    }

    :is(.priority-0, .priority-1) {
        width: 100%;
    }

    .provider_details_page :is(.contact-details-container, .provider-html-description > .container) {
        padding: var(--space-sm);
    }

    .ostr-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .ostr-dashboard-card {
        min-height: 0;
    }

    .ostr-dashboard-access__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ostr-dashboard-access__actions :is(a, button, .ostr-button) {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .banner-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    .banner-buttons > :is(a, button) {
        width: 100%;
    }

    :is(#facility_page, #facility_providers_page, #search_page) .search_tabs .nav-tabs {
        flex-direction: column;
        gap: var(--space-3xs);
    }

    :is(#facility_page, #facility_providers_page, #search_page)
        :is(.tabbed-search .nav-link, .custom_search_box) {
        border-radius: var(--radius-sm);
    }

    .provider .facility-type-list {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Funding cards: use the image area for the title and keep each card balanced. */
.page-id-181 .entry-content > .card-container > .row {
    align-items: stretch;
}

.page-id-181 .entry-content > .card-container > .row > .col {
    display: flex;
    width: auto;
}

.page-id-181 .entry-content > .card-container > .row > .col > a {
    display: flex;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.page-id-181 .card-container .card.card-linked {
    --funding-image-height: 6.18rem;
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
}

.page-id-181 .card-container .card-linked .card-image-container {
    position: relative;
    height: var(--funding-image-height);
    max-height: none;
    flex: 0 0 var(--funding-image-height);
}

.page-id-181 .card-container .card-linked .card-image-container .card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-id-181 .card-container .card-linked .card-image-container .img-mask {
    height: 100%;
    border-radius: 0;
    background: linear-gradient(180deg, rgb(13 29 65 / 12%), rgb(13 29 65 / 88%));
}

.page-id-181 .card-container .card-linked .card-title {
    position: absolute;
    z-index: 2;
    top: calc(var(--funding-image-height) - var(--space-sm));
    right: var(--space-sm);
    left: var(--space-sm);
    margin: 0 !important;
    color: var(--lightest-color) !important;
    font-size: clamp(1.2rem, 1.08rem + 0.3vw, 1.45rem);
    line-height: 1.2;
    text-shadow: 0 0.1rem 0.25rem rgb(13 29 65 / 80%);
    transform: translateY(-100%);
}

.page-id-181 .card-container .card-linked .card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: var(--space-xs) var(--space-sm);
    font-size: 1rem;
    line-height: 1.45;
}

.page-id-181 .card-container .card-linked .card-text {
    margin-block: 0 var(--space-2xs) !important;
    margin-top: 18px !important;
}

.page-id-181 .card-container .card-linked .card-text > b {
    margin-top: var(--space-2xs);
}

.page-id-181 .card-container .card-linked .card-body ul {
    margin: 0;
    padding-left: var(--space-md);
}

.page-id-181 .card-container .card-linked .card-body li {
    margin-bottom: var(--space-2xs);
    padding-block: 0;
    line-height: 1.4;
}

.page-id-181 .card-container .card-linked .card-body li:last-child {
    margin-bottom: 0;
}

.page-id-181 .card-container .card-linked .card-footer {
    margin-top: 11.12px;
    padding: var(--space-2xs) var(--space-sm) var(--space-xs);
    font-size: 1rem;
    line-height: 1.4;
}

.page-id-181 .card-container .card-linked .card-footer .icon-link {
    margin-bottom: 0;
}

/* Resource card actions read as one compact, aligned control. */
.column-list.all-resources .card-footer .icon-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    line-height: 1.3;
}

.column-list.all-resources .card-footer .icon-link .bi.bi-arrow-right {
    display: inline-block;
    margin: 0;
    font-size: 1.1rem !important;
    line-height: 1;
    vertical-align: middle;
}

.column-list.all-resources .card-footer .icon-link:is(:hover, :focus-visible) .bi.bi-arrow-right {
    transform: translateX(var(--space-3xs));
}

/* The all-resources directory is easier to scan as a two-column card grid. */
#facility_page .list-group-facilities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 29.124px;
    margin-bottom: var(--space-lg) !important;
}

#facility_page .list-group-facilities .list-group-item.provider-discipline {
    height: 100%;
    margin: 0;
    padding: var(--space-sm) var(--space-md);
}

#facility_page .list-group-facilities .provider-discipline > a {
    display: block;
    width: 100%;
    height: 100%;
}

#facility_page .list-group-facilities .provider-discipline > a > .row {
    display: grid;
    grid-template-columns: clamp(4.236rem, 25%, 6.18rem) minmax(0, 1fr);
    align-items: center;
    height: 100%;
    gap: var(--space-sm);
    margin: 0;
}

#facility_page .list-group-facilities .provider-discipline > a > .row > [class*="col-"] {
    width: auto;
    padding-inline: 0;
}

#facility_page .list-group-facilities .provider-discipline .discipline-title {
    margin: 0;
    line-height: 1.25;
}

/* Provider result cards use equal outer padding and keep Details on the baseline. */
.providers-cards .card.provider {
    display: flex;
    flex-direction: column;
    padding: var(--space-sm) var(--space-md);
}

.providers-cards .card.provider > hr {
    margin-block: var(--space-xs);
}

.providers-cards .card.provider > .card-body {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0;
}

.providers-cards .card.provider > .card-body > .row:last-child {
    align-items: flex-end;
    margin-top: auto !important;
    padding-top: var(--space-sm);
}

.providers-cards .card.provider > .card-body > .row:last-child > [class*="col-"]:last-child {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

/* Keep ordered-list markers inside provider-detail content containers. */
.provider_details_page .provider-html-description > .container > .row {
    margin-inline: 0;
}

.provider_details_page .provider-html-description ol {
    margin-block: 0 var(--space-md);
    padding-left: var(--space-lg);
    list-style-position: outside;
}

.provider_details_page .provider-html-description ol > li {
    padding-block: var(--space-2xs);
    padding-left: var(--space-2xs);
}

@media (max-width: 767.98px) {
    .page-id-181 .entry-content > .card-container > .row {
        grid-template-columns: 1fr;
    }

    #facility_page .list-group-facilities {
        grid-template-columns: 1fr;
    }

    #facility_page .list-group-facilities .provider-discipline > a > .row {
        grid-template-columns: clamp(4.236rem, 24vw, 6.18rem) minmax(0, 1fr);
    }
}

@media (min-width: 768px) {
    .page-id-181 .entry-content > .card-container > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--space-md);
        row-gap: var(--space-md);
    }
}

@media (min-width: 992px) {
    .page-id-181 .entry-content > .card-container > .row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Search results are content-height rows; resource grids keep their shared sizing. */
#search_page .search-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-md);
    margin-block: var(--space-lg) var(--space-md);
}

#search_page .search-results-total {
    margin: 0;
    color: var(--darkest-color);
    font-size: 1.25rem;
}

#search_page .search-results-status {
    margin: var(--space-3xs) 0 0;
    font-size: 0.875rem;
}

#search_page .search-query-chip {
    display: inline-flex;
    min-height: 2.75rem;
    max-width: 100%;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: 999px;
    color: var(--dark-color);
    background: var(--lightest-color);
    font-size: 0.875rem;
    text-decoration: none;
    overflow-wrap: anywhere;
}

#search_page .search-query-chip:is(:hover, :focus-visible) {
    border-color: var(--primary-action);
    color: var(--primary-action);
    background: var(--pale-blue);
}

#search_page .search-results-content {
    padding-bottom: var(--space-lg);
}

#search_page .search-results-list {
    display: grid;
    gap: var(--space-sm);
}

#search_page .card.search-result {
    min-width: 0;
    height: auto;
    margin: 0;
    padding: clamp(1rem, 2.5vw, 1.618rem);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 6px rgb(13 29 65 / 4%);
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

#search_page .card.search-result:is(:hover, :focus-within) {
    border-color: var(--primary-action);
    box-shadow: var(--shadow-sm);
}

#search_page .search-result .card-title {
    margin: 0;
    text-wrap: pretty;
}

#search_page .search-result .card-title a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-sm);
    font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

#search_page .search-result-arrow {
    flex: 0 0 auto;
    color: var(--primary-action);
    font-size: 0.875rem;
}

#search_page .search-result .search-result-location {
    margin: var(--space-2xs) 0 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

#search_page .search-result .facility-type-list {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-2xs);
    margin: var(--space-xs) 0 0;
}

#search_page .search-result .facility-type.facility-arrow {
    display: inline-flex;
    width: auto;
    min-height: 1.75rem;
    height: auto;
    max-width: 100%;
    flex: 0 1 auto;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-3xs) var(--space-xs);
    color: var(--dark-color);
    font-size: 0.75rem;
    line-height: 1.4;
    text-align: left;
    overflow-wrap: anywhere;
}

#search_page .search-result .facility-arrow:is(.core, .trans, .collaborative, .affiliate) {
    color: var(--lightest-color);
}

#search_page .search-result .facility-type .label {
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
}

#search_page .search-result-offerings {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xs) var(--space-sm);
    margin-top: var(--space-xs);
}

#search_page .search-result .offering-type {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-2xs);
    font-size: 0.8125rem;
}

#search_page .search-result .offering-type .fa-check {
    color: var(--analogous-violet);
}

#search_page .search-result .card-description p {
    max-width: 90ch;
    margin: var(--space-xs) 0 0;
    font-size: 1rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

#search_page button.expand-search-results {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    margin: var(--space-md) auto;
}

#search_page .crex-crosssite-banner {
    margin-top: var(--space-lg);
}

#search_page .search-empty-state {
    padding: var(--space-lg) var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--lightest-color);
    text-align: center;
}

#search_page .search-empty-state > .fa-magnifying-glass {
    display: inline-grid;
    width: var(--space-xl);
    height: var(--space-xl);
    place-items: center;
    margin-bottom: var(--space-sm);
    border-radius: 50%;
    color: var(--primary-action);
    background: var(--pale-blue);
    font-size: 1.5rem;
}

#search_page .search-empty-state h2 {
    margin-bottom: var(--space-xs);
    font-size: 1.5rem;
}

@media (max-width: 575.98px) {
    #search_page .tabbed-search .search_tabs .nav-tabs {
        /* Override Bootstrap's flex-column utility only on the search page. */
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: var(--space-2xs);
        margin-bottom: var(--space-xs);
    }

    #search_page .tabbed-search .search_tabs .nav-item {
        flex: 1 1 auto;
    }

    #search_page .tabbed-search .search_tabs .nav-item > .nav-link {
        margin: 0;
        padding: var(--space-xs);
        border-radius: var(--radius-sm);
        font-size: 0.875rem;
        text-align: center;
    }
}

@media (min-width: 992px) {
    /* Give the homepage hero title the full banner width before wrapping it. */
    #home_page .home-container .home-banner-header {
        max-width: none;
        width: fit-content;
    }
}

/* Give the provider directory banner a clear heading and underline hierarchy. */
#facility_providers_page .search-box-container h2.page-banner-header {
    margin-bottom: 0 !important;
    padding-block: var(--space-xs) !important;
    font-size: clamp(1.75rem, 1.35rem + 1vw, 2.5rem);
    line-height: 1.2;
}

#facility_providers_page .search-box-container h2.page-banner-header .underline-accent-fitted {
    height: var(--space-3xs);
    margin: var(--space-xs) 0 var(--space-2xs) !important;
}
