/* Thin - 100 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Thin.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Thin.woff') format('woff'),
         url('../fonts/denton2/Denton-Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Light - 300 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Light.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Light.woff') format('woff'),
         url('../fonts/denton2/Denton-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Regular - 400 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Regular.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Regular.woff') format('woff'),
         url('../fonts/denton2/Denton-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Medium - 500 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Medium.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Medium.woff') format('woff'),
         url('../fonts/denton2/Denton-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Bold - 700 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Bold.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Bold.woff') format('woff'),
         url('../fonts/denton2/Denton-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Extra Bold - 800 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-ExtraBold.woff2') format('woff2'),
         url('../fonts/denton2/Denton-ExtraBold.woff') format('woff'),
         url('../fonts/denton2/Denton-ExtraBold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Black - 900 */
@font-face {
    font-family: 'Denton';
    src: url('../fonts/denton2/Denton-Black.woff2') format('woff2'),
         url('../fonts/denton2/Denton-Black.woff') format('woff'),
         url('../fonts/denton2/Denton-Black.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Black';
    src: url('../fonts/denton/DentonBlack900.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'Denton Extra Bold';
    src: url('../fonts/denton/DentonExtraBold800.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Denton Bold';
    src: url('../fonts/denton/DentonBold700.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Denton Medium';
    src: url('../fonts/denton/DentonMedium500.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Apercu';
    src: url('../fonts/apercu/Apercu Bold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Apercu';
    src: url('../fonts/apercu/Apercu Medium.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Apercu';
    src: url('../fonts/apercu/apercu-regular.otf') format('opentype'), 
         url('../fonts/apercu/apercu-regular.ttf') format('truetype'),
        url('../fonts/apercu/apercu-regular.woff') format('woff'),
        url('../fonts/apercu/apercu-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Apercu';
    src: url('../fonts/apercu/apercu-light.otf') format('opentype'), 
         url('../fonts/apercu/apercu-light.ttf') format('truetype'),
        url('../fonts/apercu/apercu-light.woff') format('woff'),
        url('../fonts/apercu/apercu-light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
}

html, body {
    width: 100%;
    background-color: #F5F2EF;
    padding: 0;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#nav-labs-menu {
    background-color: #F5F2EF;
    border-bottom: 1px solid #F5F2EF;
    border-radius: 0;
    height: 5rem;
    max-height: 5rem;
    padding: 21px 48px;
}

.nav-link {
    padding-right: 1.5rem;
}
.navbar-nav .nav-link.show {
    color: #9a5b48;
}
.navbar-brand img {
    height: 2rem;
}

.navbar-nav {
    flex-grow: 1;
    justify-content: center;
}
.left-nav {
    justify-content: flex-start;
}
.right-nav {
    justify-content: flex-end;
}
.right-nav .nav-item {
    text-align: right;
}
.right-nav .nav-item .nav-link {
    margin-right: 0;
    margin-left: 1.5rem;
}
.dropdown-menu {
    background-color: #F5F2EF;
    border-radius: 0;
    border: 0;
    padding: 0;
    margin: 0;
    box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.3);
}
.dropdown-menu a {
    font-family: 'Apercu', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    color: #232019;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 14px;
    background-color: #F5F2EF;
    border-radius: 0;
    padding: 6px;
}
.dropdown-menu a:hover {
    background-color: #d3c3b3;
}
.labs-footer {
    width: 100%;
    height: 304px;
    background-color: #252017;
    color: #F5F2EF;
    padding: 96px 48px;
}

.labs-footer img {
    height: auto;
    width: 130px;
    margin-left: auto;
}


#nav-labs-menu-mobile {
    background-color: #F5F2EF;
    /* border-bottom: 1px solid #F5F2EF; */
    border-radius: 0;
    height: 4rem;
    max-height: 4rem;
    padding-top: 21px;
    padding-bottom: 21px;
}

#nav-labs-menu-mobile-search {
    background-color: #F5F2EF;
    border-bottom: 1px solid #F5F2EF;
    border-radius: 0;
    height: auto;
    max-height: 5rem;
}
#searchResultsOverlayMobile,
#mobileMenuOverlay {
    overflow-y: auto;
    animation: slideInFromTop 1s ease forwards;
    height: 0; 
}

@keyframes slideInFromTop {
    0% {
        height: 0; /* Start with height 0 */
    }
    100% {
        height: 100%; /* Increase height to cover the entire viewport */
    }
}

#mobileMenuOverlay ul li a {
    text-decoration: none;
    font-weight: 400;
}

#mobileMenuOverlay button {
    text-decoration: none;
}

#mobileMenuOverlay ul li{
    font-family: 'Apercu', sans-serif;
    font-weight: 400;
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    background-color: #e4d6c9;
    z-index: 1050;
    transform: scaleY(0);
    transform-origin: top;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
}

.menu-overlay.show {
    transform: scaleY(1);
    opacity: 1;
    pointer-events: auto;
}

.menu-overlay.hide {
    transform: scaleY(0);
    opacity: 0;
    pointer-events: none;
}
.footer-mobile {
    display: none;
}
.copyright p {
    text-transform: uppercase;
    font-family: 'Apercu', sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.48px;
    text-transform: uppercase;
}
@media screen and (max-width: 1080px) {
    #nav-labs-menu {
        display: none;
    }
    #nav-labs-menu-mobile {
        display: block;
    }
    .footer-desktop {
        display: none;
    }
    .footer-mobile {
        display: block;
    }

    .labs-footer {
        width: 100%;
        height: auto;
        background-color: #252017;
        color: #F5F2EF;
        padding: 48px 48px;
        /* border-top: 2px solid #FFFFFF; */
    }

    .labs-footer img {
        width: 130px;
        margin-left: auto;
    }
    .mbs-description {
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }

    .location-headings-spacer {
        display: none;
    }
    .location-headings-container {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {
    .labs-logo-mobile-container img {
        margin-bottom: 2rem;
        margin-top: 1rem;
    }
}

@media screen and (max-width: 768px) {
    
    #nav-labs-menu {
        display: none;
    }

    .labs-footer {
        width: 100%;
        height: auto;
        background-color: #252017;
        color: #F5F2EF;
        padding: 96px 48px;
        /* border-top: 2px solid #FFFFFF; */
    }

    .labs-footer img {
        height: auto;
        width: 130px;
        margin-left: auto;
    }
    .footer-link,
    .copyright {
        font-size: 12px;
        font-family: 'Apercu', sans-serif;
        font-weight: 300;
        color: #F5F2EF;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 16px;
        letter-spacing: 0.96px;
    }

    .ig-container-fluid{
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .navbar-brand{
        padding-left: 0.5rem !important; 
        padding-right: 1.8rem !important;
    }
}


@media screen and (min-width: 1081px) {
    
    #nav-labs-menu-mobile {
        display: none;
    }
}

.menu-link {
    padding-right: 2rem;
}

.menu-heading a {
    font-size: 50px;
    font-family: 'Denton', sans-serif;
    font-weight: 300;
    font-style: normal;
    line-height: 1;
    padding-bottom: 2rem;
    margin: 0;
    text-decoration: none;
    color: #232019;
}

.menu-link-title {
    font-size: 1.5rem;
    font-family: 'Apercu', sans-serif;
    font-weight: 300;
    font-style: normal;
    line-height: 2;
    text-decoration: none;
    color: #232019;
}

.menu-link-description {
    font-size: 1rem;
    font-family: 'Apercu', sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.25;
    color: #232019;
    padding-bottom: 2rem;
    margin: 0;
}

#locationsOverlay,
#servicesOverlay,
#meetingRoomsOverlay {
    height: 100%;
    width: 100%;
    top: 80px;
    left: 0;
    z-index: 2000;
    position: sticky;
    background-color: #FFFFFF;
}

#darkerOverlay  {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 1019;
    transform: scaleY(0);
    transform-origin: top;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    pointer-events: none;
}

#darkerOverlay.show {
    transform: scaleY(1);
    opacity: 1;
}

@media screen and (max-width: 1024px) {
    #locationsOverlay,
    #servicesOverlay,
    #meetingRoomsOverlay {
        display: none;
    }
}
.input-search {
    background-color: #FFFFFF !important;
    border-radius: 0;
    border-left: none;
    border-top: none;
    border-bottom: none;
    border-right: none;
    padding: 0.5rem 1rem;
    font-family: 'Apercu', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #232019;
    padding: 8px !important;
    width: 184px;
    height: 32px;
    padding: 8px var(--Bootstrap---Spacers-spacer-2, 8px);
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
.input-search:focus {
    box-shadow: none !important;
    border-left: none;
    border-top: none;
    border-bottom: none;
}
.input-group-text:nth-child(2) {
    border: none;
    background-color: #FFFFFF !important;
    border-radius: 0;
    padding: 0.5rem 0.5rem;
    font-family: 'Apercu', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #232019;
    border-right: none;
    border-top: none;
    border-bottom: none;
}
.input-group-text i {
    color: #232019;
    font-size: 14px;
}
.input-group-text:nth-child(3) {
    border: none;
    border-left: none;
    border-radius: 0;
    background-color: transparent !important;
}
.input-search-mobile {
    height: 3rem;
    font-size: 20px;
    background-color: #FFFFFF !important;
    border-radius: 0;
    border-left: none;
    border-top: none;
    border-bottom: none;
    border-right: none;
    padding: 0.5rem 1rem;
    font-family: 'Apercu', sans-serif;
    font-weight: 400;
    color: #232019;
    padding: 8px !important;
    width: 184px;
    height: 32px;
    padding: 8px var(--Bootstrap---Spacers-spacer-2, 8px);
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
.input-search-mobile:focus {
    box-shadow: none !important;
    border-left: none;
    border-top: none;
    border-bottom: none;
}

.menu-links-a:hover {
    /* color: rgba(154, 91, 71, 1); */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #CEAB91;
    text-decoration-thickness: 3.25%; /* 1px */
    text-underline-offset: 20%; /* 5.28px */
    text-underline-position: from-font;
}

.slick-custom-prev.slick-hidden,
.slick-custom-next.slick-hidden,
.slick-arrow.slick-hidden {
    display: block !important;
}

#dropdownLocations:active,
#dropdownServices:active,
#dropdownMeetingRooms:active,
#dropdownLocations:focus,
#dropdownServices:focus,
#dropdownMeetingRooms:focus,
#dropdownLocations:hover,
#dropdownServices:hover,
#dropdownMeetingRooms:hover {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #CEAB91;
    text-decoration-thickness: 6.25%; /* 1px */
    text-underline-offset: 33%; /* 5.28px */
    text-underline-position: from-font;
}

.add-underline-menu {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #CEAB91;
    text-decoration-thickness: 6.25%; /* 1px */
    text-underline-offset: 33%; /* 5.28px */
    text-underline-position: from-font;
}

.footer-link:hover {
    color: #FFFFFF;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #FFFFFF;
    text-decoration-thickness: 6.25%; /* 1px */
    text-underline-offset: 33%; /* 5.28px */
    text-underline-position: from-font;
}

.right-nav-link:hover {
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #CEAB91;
    text-decoration-thickness: 6.25%; /* 1px */
    text-underline-offset: 33%; /* 5.28px */
    text-underline-position: from-font;
}

/* Search UI */
#searchResultsOverlay,
#searchResultsOverlayMobile {
    position: absolute;
    z-index: 2000;
    background-color: #F5F2EF;
    width: 100%;
}
#searchResultsOverlayMobile {
    top: 0;
}
.search-heading {
    color: rgb(37, 32, 23);    
    font-family: 'Denton', sans-serif;
    font-size: 3.5rem;
    font-style: normal;
    font-weight: 300;
    line-height: 100%; /* 56px */
}
.search-heading span {
    color: rgba(37, 32, 23, 0.5);
}

.results-container {
    border-top: 1px solid rgba(37, 32, 23, 0.35);
}

.result-posttype {
    margin-bottom: 4px;
    color: rgba(37, 32, 23, 0.65);
    font-family: 'Apercu', sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 12px */
    letter-spacing: 0.96px;
    text-transform: uppercase;
}

.result-title {
    color:#252017;
    font-family: 'Apercu', sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 300;
    line-height: 125%; /* 35px */
    margin-bottom: 1rem;
}

.result-excerpt {
    color: #252017;
    font-family: 'Apercu', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: 125%; /* 20px */

    /* display: -webkit-box;         
    -webkit-box-orient: vertical; 
    -webkit-line-clamp: 3;        
    max-width: 100ch;     
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
}

.results-container.hovered .result-title {
    text-decoration: underline;
}

.result-thumbnail {
    height: 171px;
    width: 171px;
    transition: all 1s ease-out;
}

.result-thumbnail:hover {
    transform: scale(1.2);
    transition: transform 1s ease-in-out;
}

/* Force-hide the close button */
.gm-ui-hover-effect {
    display: none !important;
}

.breadcrumbs-cta {
    padding-bottom: 12px;
}

/* CTA Update */
.disabled-cta {
    pointer-events: none;
    background-color: #afa69e !important;
    border-color: #afa69e !important;
}

.gm-style-iw-chr {
    display: none;
}

.gm-style .gm-style-iw-c {
    padding-top: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}
.gm-style .gm-style-iw-d {
    overflow: hidden !important;
    text-align: center;
    font-family: 'Apercu', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.gm-style-iw-d img {
    padding-bottom: 6px;
}

/* Custom dropdown */
#bldgSelect {
    color: #252017;
    height: 32px;
    font-family: 'Apercu', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    background-color: transparent;
    border: transparent;
    border-bottom: 1px solid #CEAB91;
    width: 380px;
    text-align: start;
}
#bldgSelectLoc {
    color: #252017;
    height: 32px;
    font-family: 'Apercu', sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5rem;
    background-color: transparent;
    border: transparent;
    border-bottom: 1px solid #CEAB91;
    width: 380px;
    text-align: start;
}
#bldgSelect i,
#bldgSelectLoc i {
    /* content should be the chevron down font-awesome */
    font-size: 1rem;
    line-height: 2rem;
}
.labs-dropdown-menu {
    /* display: none; */
    position: absolute;
    background-color: #F5F2EF;
    color: #4D5A3D;
    width: 380px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 999999 !important;
    overflow-y: auto;
    max-height: 250px;
    padding: 0.5rem;
}
.dropdown-item {
    color: #232019;
}
.non-selectable {
    text-transform: uppercase;
    cursor: default;
    color: rgba(35, 32, 25, 0.6);
    font-family: 'Apercu', sans-serif;
    font-weight: 300;
    font-size: 12px;
    color: #9A5B47;
    padding-left: 1rem;
    letter-spacing: 1px;
    line-height: 3;
}
.dropdown-bldg-item:nth-child(1) {
    display: none;
}
.dropdown-bldg-item {
    padding-left: 1rem;
    font-family: 'Apercu', sans-serif;
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 0px;
    color: #232019;
}
.dropdown-item:hover {
    background-color: #DACCBD;
    cursor: pointer;
    color: #232019;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
    .search-heading {
        font-size: 2.5rem;
    }
    .result-title {
        font-size: 1.5rem;
    }
    .result-excerpt {
        font-size: 1rem;
    }
    .result-posttype {
        font-size: 0.75rem;
    }
    .desktop-menu-divider {
        display: none;
    }
    #bldgSelect,
    #bldgSelectLoc {
        width: 90%;
    }
}
/* DACCBD */

/* Font Typography */
.apercu-bold {
    font-family: 'Apercu';
    font-weight: 700;
    font-style: normal;
}
.apercu-medium {
    font-family: 'Apercu';
    font-weight: 500;
    font-style: normal;
}
.apercu-regular {
    font-family: 'Apercu';
    font-weight: 400;
    font-style: normal;
}
.apercu-light {
    font-family: 'Apercu';
    font-weight: 300;
    font-style: normal;
}
.denton-bold {
    font-family: 'Denton';
    font-weight: 700;
    font-style: normal;
}
.denton-medium {
    font-family: 'Denton';
    font-weight: 500;
    font-style: normal;
}
.denton-regular {
    font-family: 'Denton';
    font-weight: 400;
    font-style: normal;
}
.denton-light {
    font-family: 'Denton';
    font-weight: 300;
    font-style: normal;
}

/* Font sizes */
.f-12 {
    font-size: 12px;
}
.f-14 {
    font-size: 14px;
}
.f-16 {
    font-size: 16px;
}
.f-20 {
    font-size: 20px;
}
.f-24 {
    font-size: 24px;
}
.f-32 {
    font-size: 28px;
}
@media  screen and (max-width: 768px) {
    /* Font sizes - Mobile */
    .mf-12 {
        font-size: 12px;
    }
    .mf-14 {
        font-size: 14px;
    }
    .mf-16 {
        font-size: 16px;
    }
    .mf-20 {
        font-size: 20px;
    }
    .mf-24 {
        font-size: 24px;
    }
    .mf-32 {
        font-size: 28px;
    }
}

/* Line Heights */
.lh-100 {
    line-height: 1;
}
.lh-115 {
    line-height: 1.15;
}
.lh-125 {
    line-height: 1.25;
}
.lh-150 {
    line-height: 15;
}