/* Add this line if WooCommerce is used on this site */
/* @import "woo-style.css"; */
@import "imt-css/new-style.css";

/* Child theme fonts */
:root {
    --font-family--default: 'Plus Jakarta Sans';
    --font-family--h--1: 'Plus Jakarta Sans';
    --font-family--h--2: var(--font-family--h--1);
    --font-family--h--3: var(--font-family--h--1);
    --font-family--h--4: var(--font-family--h--1);
    --font-family--h--5: var(--font-family--h--1);
    --font-family--h--6: var(--font-family--h--1);
    --font-family--h--2--footer: var(--font-family--h--1);
    --font-family--h--3--footer: var(--font-family--h--1);
    --font-family--h--4--footer: var(--font-family--h--1);
    --font-family--main-navigation: var(--font-family--default);
    --font-family--dropdown: var(--font-family--default);
    --font-family--megamenu--heading: var(--font-family--h--1);
    --font-family--gallery--caption: var(--font-family--default);
    --font-family--collapsible: var(--font-family--default);
    --font-family--tab: var(--font-family--default);
    --font-family--button: var(--font-family--default);
    --font-family--h--sub-heading--0: var(--font-family--h--1);
    --font-family--h--lead-text--0: var(--font-family--default);
}

body, html {
    font-variant-ligatures: no-common-ligatures;
}

/* ------- TOP BAR ------- */
/* add min-height transition for smoother scrolling */
body #imt-top-bar {
    width: fit-content !important;
}

/* update top bar min height */
body:has(.imt-header-sm) #imt-top-bar {
    min-height: var(--wp--custom--imt--header--top-bar--on-scroll--min-height) !important;
}

/* ------- HEADER ------- */
/* expand header background filter */
#imt-header.imt-header-sm .imt-section__background {
    backdrop-filter: blur(var(--wp--custom--imt--global--header--background-color--blur)) brightness(1.25);
}

/* ------- LOGO ANIMATION ------- */
/* hide the picture; not cooperating */
.imt-logo-split .imt-img-container .imt-img-wrapper picture {
    display: none;
}

/* set the background images for each logo part */
.imt-logo-split .imt-img-container .imt-img-wrapper {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 48px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 1)) !important;
}

.imt-logo-split .imt-img-container:nth-of-type(1) .imt-img-wrapper {
    background-image: url('/wp-content/uploads/2026/06/GCLC-Logo_pt1.png');
    height: 66px;
}

.imt-logo-split .imt-img-container:nth-of-type(2) .imt-img-wrapper {
    background-image: url('/wp-content/uploads/2026/06/GCLC-Logo_pt2.png');
}

.imt-logo-split .imt-img-container:nth-of-type(3) .imt-img-wrapper {
    background-image: url('/wp-content/uploads/2026/06/GCLC-Logo_pt3.png');
}

.imt-logo-split .imt-img-container:nth-of-type(4) .imt-img-wrapper {
    background-image: url('/wp-content/uploads/2026/06/GCLC-Logo_pt4.png');
}

/* update site logo transition - ONLY on homepage */
body.home .imt-header #imt-header .imt-site-logo {
    transition: opacity 0.75s cubic-bezier(.17, .67, .83, .67);
}

body.home .imt-header #imt-header:not(.imt-header-sm) .imt-site-logo {
    opacity: 0 !important;
}

/* animation starting point */
.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container {
    opacity: 0;
    transform: translateY(64px);
    animation: var(--wp--custom--imt--animation--type--fade-in--up) 0.75s ease-out forwards;
}

/* offset the last image so the drop shadow is visible */
.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container:last-of-type img {
    padding-bottom: calc(var(--wp--custom--imt--spacer) * 1.5) !important;
}

/* apply opacity transition and positioning updates */
.imt-hero.imt-hero-default .imt-associations .imt-img-container,
.imt-hero.imt-hero-default .imt-associations .imt-img-container img,
.imt-hero.imt-hero-default .imt-logo-split .imt-img-container,
.imt-hero.imt-hero-default .imt-logo-split .imt-img-wrapper {
    margin-bottom: 0 !important;
    transition: opacity 0.75s ease-out;
}

/* all but first image should be shifted up */
.imt-hero.imt-hero-default .imt-logo-split .imt-img-container:not(:first-of-type) {
    margin-top: -5px !important;
}

/* stagger the 4 image animations */
.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container:nth-child(1) {
    animation-delay: calc(var(--wp--custom--imt--animation--delay--2) * 1.1);
}

.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container:nth-child(2) {
    animation-delay: calc(var(--wp--custom--imt--animation--delay--3) * 1.1);
}

.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container:nth-child(3) {
    animation-delay: calc(var(--wp--custom--imt--animation--delay--4) * 1.1);
}

.imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container:nth-child(4) {
    animation-delay: calc(var(--wp--custom--imt--animation--delay--5) * 1.1);
}

/* show the background overlay - ONLY on homepage, top bar, and header after a delay */
body.home .imt-section:has(.imt-hero-default) .imt-section__background {
    opacity: 0;
    bottom: -2px;
    animation: var(--wp--custom--imt--animation--type--fade-in--in) 1.15s ease-out forwards !important;
    animation-delay: var(--wp--custom--imt--animation--delay--4) !important;
}

/* delay content card animation - ONLY on homepage */
body.home .imt-hero.imt-hero-default .imt-card:not(.imt-logo-split, .imt-associations) {
    animation-delay: calc(var(--wp--custom--imt--animation--delay--5) * 1.2) !important;
}

/* hide the logo on scroll on scroll */
body:has(.imt-header-sm) .imt-hero.imt-hero-default .imt-logo-split .imt-img-wrapper {
    opacity: 0;
}
/* ------- END ANIMATION (LIKELY) ------- */

/* ------- ASSOCIATIONS IN HERO ------- */
/* make sure they display in a row */
.imt-hero.imt-hero-default .imt-card.imt-associations .acf-innerblocks-container {
    display: flex !important;
    flex-direction: row !important;
    gap: var(--wp--custom--imt--spacer);
    align-items: center;
}

/* ------- LINK IN BIO LOGO ------- */
.imt-card:has(.imt-social-links-bio) .imt-site-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.imt-card:has(.imt-social-links-bio) .imt-site-logo .imt-logo {
    max-width: 200px;
    height: auto;
    margin-bottom: calc(var(--wp--custom--imt--spacer) * 1);
}

/* fix social links color for link in bio + newsletter pages */
.imt-card .imt-social-links-bio a i {
    color: var(--wp--custom--imt--color--link--dark) !important;
}

.imt-card .imt-social-links-bio a:hover i {
    color: var(--wp--custom--imt--color--link--dark-hover) !important;
}

/* ------- NESTED CARDS STYLE - River Valley, Contact Us v3 ------- */
/* style the nested card that should match the background color to transparent, add class imt-transparent-card to the card that should be transparent */
.imt-section .imt-card-group .imt-card .imt-card-group .imt-card.imt-transparent-card .imt-card-bg-color,
.imt-section .imt-card-group .imt-card:hover .imt-card-group .imt-card.imt-transparent-card .imt-card-bg-color {
    background-color: transparent !important;
}

/* style the nested card that should be accented to desired color, add class imt-accent-card to the card that should be accented */
.imt-section .imt-card-group .imt-card .imt-card-group .imt-card.imt-accent-card .imt-card-bg-color,
.imt-section .imt-card-group .imt-card:hover .imt-card-group .imt-card.imt-accent-card .imt-card-bg-color {
    background-color: var(--wp--custom--imt--color--background--accent--3--color) !important;
}

/* match the link colors for the background color above, if using --primary, update link colors to --primary as well to cover accessibility needs */
.imt-section .imt-card-group .imt-card .imt-card-group .imt-card.imt-accent-card a:not(.imt-btn):not(.imt-menu-link) {
    color: var(--wp--custom--imt--color--background--accent--3--link);
}

.imt-section .imt-card-group .imt-card .imt-card-group .imt-card.imt-accent-card a:not(.imt-btn):not(.imt-menu-link):hover {
    color: var(--wp--custom--imt--color--background--accent--3--link-hover);
}

/* ------- TEXT FORMATTING ------- */
h1.imt-heading,
.imt-paragraphs {
    text-wrap: pretty;
}

.imt-content-item.imt-lead-text--0 {
    text-wrap: balance;
}

/* ------- FORM FORMATTING ------- */
/* updates for wp base search fields */
input[type="search"]::-webkit-search-cancel-button {
    filter: contrast(0) brightness(0);
}

.wp-block-search__input::placeholder {
    color: #000;
    opacity: 0.85;
}

.gform_wrapper.gravity-theme .gfield_radio label {
    line-height: calc(var(--wp--custom--imt--line-height) * 0.8) !important;
}

/* footer form overrides */
/* update footer form required * */
#imt-footer-wrapper .gform_wrapper.gravity-theme .gfield_required {
    color: #FFB5B5 !important;
}

/* update footer form label and legend */
#imt-footer-wrapper .gform_wrapper .gfield_label,
#imt-footer-wrapper .gform_wrapper .gform_required_legend {
    color: var(--wp--custom--imt--color--text--light) !important;
}

/* update footer form border color */
#imt-footer-wrapper .gform_wrapper .gform_fields input {
    border-color: var(--wp--custom--imt--color--palette--background--accent--1--active) !important;
}

@media only screen and (min-width: 801px) {

    /* add padding back for nested gallery */
    .imt-section:has(.imt-gallery ~ .imt-media-row) .imt-gallery {
        padding: 0 calc(var(--wp--custom--imt--spacer) * 2) !important;
    }
}

@media only screen and (min-width: 1281px) {

    /* ------- MAIN NAVIGATION ------- */
    /* add spacing between button and links when nested */
    nav.imt-main-nav>div,
    nav.imt-main-nav>div>div,
    nav.imt-main-nav>div>div>div {
        gap: calc(var(--wp--custom--imt--spacer) * 0.75) !important;
    }

    /* add after element to default state for animation's sake */
    .imt-link-level-1 .imt-menu-link:not(.imt-current-menu-item) span::after,
    .imt-link-level-2 .imt-menu-link:not(.imt-current-menu-item) span::after,
    .imt-link-level-3 .imt-menu-link:not(.imt-current-menu-item) span::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        transform: scaleX(0) !important;
        transform-origin: center !important;
        transition: transform 0.3s ease !important;
    }

    /* scale the animation to the right based on left origin */
    .imt-link-level-1 .imt-menu-link:hover span::after,
    .imt-link-level-2 .imt-menu-link:hover span::after,
    .imt-link-level-3 .imt-menu-link:hover span::after {
        transform: scaleX(1) !important;
    }

    /* update header border radius */
    body #imt-header,
    body #imt-header .imt-section__background,
    body #imt-top-bar .imt-section__background {
        border-radius: 0 0 calc(var(--wp--custom--imt--border-radius) * 1.25) calc(var(--wp--custom--imt--border-radius) * 1.25) !important;
    }
}

/* if the page has a hero, add the background pattern */
body:not(.single-post) main .entry-content:has(.imt-hero-default) {
    background: url(/wp-content/uploads/2026/01/GCLC-BG_Pattern.png);
    background-repeat: repeat;
    background-size: auto;
    isolation: isolate;
}

/* wrap 4 card groups because of font wrapping */
@media only screen and (max-width: 1001px) {
    .imt-section .imt-card-group.imt-card-style-1.imt-cards-per-row-4>.acf-innerblocks-container .imt-card {
        width: calc((100% - var(--wp--custom--imt--card-group--style--2--gutter--column--default) * 1) / 2) !important;
    }

    .imt-tablist [role=tablist]>div.acf-innerblocks-container [role=tabpanel]:nth-of-type(1),
    .imt-tablist [role=tablist]>div.acf-innerblocks-container [role=tabpanel]:nth-of-type(2),
    .imt-tablist [role=tablist]>div.acf-innerblocks-container [role=tabpanel]:nth-of-type(3) {
        margin: calc(var(--wp--custom--imt--spacer) * 7.66) calc(var(--wp--custom--imt--spacer) * 0) !important;
    }

    .imt-tablist [role=tablist]>div.acf-innerblocks-container [role=tabpanel]:nth-of-type(8),
    .imt-tablist [role=tablist]>div.acf-innerblocks-container [role=tabpanel]:nth-of-type(9) {
        margin: calc(var(--wp--custom--imt--spacer) * 1.66) calc(var(--wp--custom--imt--spacer) * 0) !important;
    }
}

/* add additional background gradient */
.imt-bg-color-gradient-4+.imt-section__background.imt-bg-color-gradient-1 {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.65) 20%, rgba(0, 0, 0, 0.65) 80%, rgba(0, 0, 0, 0.85) 100%) !important;
}

@media only screen and (max-width: 1280px) {

    /* full width mobile header */
    body header {
        padding: 0 !important;
    }

    /* add spacing for mobile nav button */
    nav.imt-main-nav.offcanvas .inner-center .acf-innerblocks-container {
        padding-top: calc(var(--wp--custom--imt--spacer) * 1) !important;
        background-color: rgba(255, 255, 255, 0.85) !important;
    }
}

/* ------- ANIMATION FIXES FOR REDUCE MOTION ------- */
@keyframes imt-fade-in-up {
    0% {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0px, 0);
    }
}

@media (prefers-reduced-motion: reduce) {

    /* --- Immediately show all homepage elements that start invisible --- */
    body.home .imt-header #imt-top-bar,
    body.home .imt-header #imt-header:not(.imt-header-sm),
    body.home .imt-section:has(.imt-hero-default) .imt-section__background {
        opacity: 1 !important;
        animation: none !important;
    }

    /* --- Replace translate+fade animations with opacity-only fade --- */
    .imt-hero.imt-hero-default .imt-associations .acf-innerblocks-container .imt-img-container,
    .imt-hero.imt-hero-default .imt-logo-split .acf-innerblocks-container .imt-img-container {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    /* --- Remove logo/image opacity transitions triggered by scroll --- */
    body:has(.imt-header-sm) .imt-hero.imt-hero-default .imt-logo-split .imt-img-wrapper {
        transition: none !important;
    }

    body.home .imt-header #imt-header .imt-site-logo {
        transition: none !important;
        opacity: 1 !important;
    }

    /* --- Remove the nav hover underline transform --- */
    .imt-link-level-1 .imt-menu-link:not(.imt-current-menu-item) span::after,
    .imt-link-level-2 .imt-menu-link:not(.imt-current-menu-item) span::after,
    .imt-link-level-3 .imt-menu-link:not(.imt-current-menu-item) span::after {
        transition: none !important;
        transform-origin: left !important;
    }

    .imt-link-level-1 .imt-menu-link:hover span::after,
    .imt-link-level-2 .imt-menu-link:hover span::after,
    .imt-link-level-3 .imt-menu-link:hover span::after {
        transform: scaleX(1) !important;
    }

    /* --- Remove top bar height transition --- */
    body #imt-top-bar {
        transition: none !important;
    }

    /* --- Remove header blur backdrop transition --- */
    #imt-header.imt-header-sm .imt-section__background {
        backdrop-filter: none;
        background: rgba(255, 255, 255, 0.95) !important;
    }
}

/* Reduce default callout min-height */
.imt-section:has(.imt-callout-default) {
    padding-top: 0 !important;
    min-height: 325px !important;
}

/* animate and adjust border radius as collapsible is expanded */
.imt-collapsible-container .imt-collapsible>button {
    transition: border-radius .55s ease;
}

.imt-collapsible-container .imt-collapsible>button[aria-expanded=true] {
    border-radius: calc(var(--wp--custom--imt--border-radius) * 0.5) calc(var(--wp--custom--imt--border-radius) * 0.5) 0 0 !important;
}