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

/* Child theme fonts */
:root {
    --font-family--default: 'helvetica-neue-lt-pro';
    --font-family--h--1: 'Figtree';
    --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);
}

/* Mobile navigation background */
@media only screen and (max-width: 1280px) {
    nav.imt-main-nav.offcanvas #imt-offcanvas {
        background-color: var(--wp--custom--imt--header--background-color--mobile) !important;

        /* blur background on mobile */
        /* backdrop-filter: blur(5px); */
    }

    /* REMOVE IF NOT USING */
    /* centre align mobile nav items */
    /* nav.imt-main-nav.offcanvas #imt-offcanvas>ul>li a {
        display: flex;
        justify-content: center !important;
        text-align: center;
    }

    nav.imt-main-nav>div ul>li.imt-link-level-2:not(.imt-link-level-3)>a.imt-current-menu-item>span::after {
        left: calc(50%) !important;
        transform: translate(-50%) !important;
    } */
}

/* Logo slider */
.imt-section .imt-logo-slider .imt-slide {
    height: 120px;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.imt-section .imt-logo-slider .imt-slide .imt-img-max-width-sm img {
    max-width: var(--wp--custom--imt--image--max-width--sm);
    max-height: var(--wp--custom--imt--image--max-width--sm);
    width: auto;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Testimonial slider */
h2.imt-custom-testimonial-heading-icon:before {
    position: absolute;
    font-weight: var(--wp--custom--imt--font-weight);
    font-family: var(--font-family--h--1);
    content: "\201D";
    color: rgba(255, 255, 255, 0.25);
    font-size: 150px;
    top: 35px;
    left: 50%;
    transform: translate(-50%);
    z-index: -1;
}

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

    /* Testimonial slider */
    .imt-slider-style-2 .slick-slide {
        padding: calc(var(--wp--custom--imt--spacer) * 2) calc(var(--wp--custom--imt--spacer) * 1) !important;
    }

    /* Slider controls */
    .imt-slider .slick-prev {
        top: calc(100% + 22px) !important;
        left: calc(50% - 115px) !important;
    }

    .imt-slider .slick-next {
        top: calc(100% + 22px) !important;
        right: calc(50% - 115px) !important;
    }

    /* Logo slider */
    .imt-logo-slider .slick-slider {
        margin-bottom: 64px;
    }

    .imt-imt-logo-slider .slick-slider .slick-slide {
        min-height: 100px;
    }

    .imt-slider.imt-logo-slider .slick-slide {
        padding: 16px !important;
        margin: 0 !important;
    }
}

/* Hide service area full bg image on mobile and tablet */
@media only screen and (max-width: 1281px) {
    .imt-section-bg-image-hide-on-mobile .imt-section__background-image {
        display: none !important;
    }
}

@media only screen and (max-width: 800px) {
    /* set updated min-width for mobile to stop overflow of icons */
    nav.imt-main-nav>div ul>li .submenu {
        min-width: 120px !important;
    }
    
    /* add overflow: hidden to stop horizontal scrolling of mobile menu */
    ul#main-navigation-ul {
        overflow: hidden;
    }
}

/* set 404 page CTA text color */
button.wp-block-search__button.wp-element-button {
    color: var(--wp--custom--imt--color--background--primary--text) !important;
}

button:hover.wp-block-search__button.wp-element-button {
    color: var(--wp--custom--imt--color--background--primary--hover--button--text) !important;
}

/* decrease heading font size for query loop to keep hierarchy but reduce text wrapping */
.wp-block-post h2.imt-heading {
    font-size: var(--wp--custom--imt--h--3--font-size) !important;
}

/* update font weight and text transformation for mobile menu + dropdowns */
li.menu-item {
    font-weight: var(--wp--custom--imt--main-navigation--font--weight);
    text-transform: var(--wp--custom--imt--main-navigation--font--transform);
}

/* hide after accent for mobile cta btn */
.imt-main-nav .imt-btn-1 a span::after {
    display: none;
}

/* vertically align logo in navbar - figure out why it broke */
.imt-logo {
    display: block;
}

/* GRAVITY FORMS FIXES */
/* fix business name font weight in newsletter & confirmation message */
#gform_4 .imt-business-name,
.gform_confirmation_message .imt-business-name {
    font-weight: inherit !important;
    display: inline;
    margin-bottom: 0;
}

/* gravity form drop down carets + field height */
.gform_wrapper.gravity-theme select {
    height: 44px;
    -webkit-appearance: auto;
}

/* clean up file upload layout */
.gform_wrapper.gravity-theme .gform_drop_area {
    background: var(--wp--custom--imt--gravity-forms--input--background) !important;
    border: var(--wp--custom--imt--gravity-forms--input--border--width) dashed var(--wp--custom--imt--gravity-forms--input--border--color) !important;
    border-radius: var(--wp--custom--imt--gravity-forms--input--border--radius) !important;
}

/* add background to checkboxes and radio buttons */
.gform_wrapper input[type=checkbox]+label::after {
    content: '';
    position: absolute;
    left: 0;
    z-index: 1;
    margin-top: .5px;
    background: var(--wp--custom--imt--gravity-forms--input--background);
    line-height: .75;
}

.gform_wrapper input[type=radio]+label::after {
    content: '';
    position: absolute;
    left: 0;
    z-index: 1;
    margin-top: .5px;
    background: var(--wp--custom--imt--gravity-forms--input--background);
    line-height: .75;
    border-radius: 50%;
}

/* fix validation link color for error links in form */
#imt-footer-wrapper a.gform_validation_error_link,
.gform_wrapper.gravity-theme .gform_validation_errors>ol a {
    color: var(--wp--custom--imt--color--palette--text--danger) !important;
}

/* apply correct error colour to checkbox items */
.gform_wrapper.gravity-theme .gfield_error label {
    color: var(--wp--custom--imt--color--palette--background--danger) !important;
}

/* update gravity forms button text transform to match site-wide CTAs */
.button.gform_button,
.button.gform_button_select_files {
    text-transform: var(--wp--custom--imt--button--default--transform) !important;
    font-weight: var(--wp--custom--imt--button--default--font-weight) !important;
}

/* fix line height of the checkbox item to vertically center it, add spacing back in afterwards */
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
    line-height: var(--wp--custom--imt--gravity-forms--label--sub-label--line-height) !important;
}

/* update trash icon color */
.gform_wrapper .dashicons {
    color: var(--wp--custom--imt--color--link--dark);
}

.gform_wrapper .dashicons:hover {
    color: var(--wp--custom--imt--color--link--dark-hover);
}

/* temporary fix for light link handling in heroes */
.imt-hero .imt-content-item a:not(.imt-link-text):hover {
    color: var(--wp--custom--imt--color--link--light-hover) !important;
}

@media only screen and (max-width: 800px) {
    /* update gradient for mobile specifically with solid overlay for improved legibility
       split out if using different styles of gradients */
    .imt-bg-color-gradient-1,
    .imt-bg-color-gradient-2,
    .imt-bg-color-gradient-3 {
        background-image: none;
        background-color: rgba(0,0,0,0.5);
    }
}

/* mimic non-query loop page image margin settings for images with no padding or all padding set */
.imt-section-query-loop-wrapper.imt-section .imt-card-group .imt-card.imt-global-card-padding-none>.acf-innerblocks-container>.imt-image-link>.imt-img-container,
.imt-section-query-loop-wrapper.imt-section .imt-card-group .imt-card.imt-global-card-padding-all-sm>.acf-innerblocks-container>.imt-image-link>.imt-img-container {
    margin: 0 0 var(--wp--custom--imt--card--global--content-item--default--margin-bottom-image);
}
 
 @media only screen and (max-width: 800px) {
     .imt-section-query-loop-wrapper.imt-section .imt-card-group .imt-card.imt-global-card-padding-none>.acf-innerblocks-container>.imt-image-link>.imt-img-container,
     .imt-section-query-loop-wrapper.imt-section .imt-card-group .imt-card.imt-global-card-padding-all-sm>.acf-innerblocks-container>.imt-image-link>.imt-img-container {
        margin: 0 0 var(--wp--custom--imt--card--global--content-item--mobile--margin-bottom-image);
    }
}

 /* set lead text in cards to take the default bottom margin for subheading, to separate from any paragraph settings */
.imt-section .imt-card-group .imt-card .imt-content-item.imt-paragraphs.imt-lead-text--0 {
    margin-bottom: var(--wp--custom--imt--card--global--content-item--default--margin-bottom-sub-heading);
}

/* set pagination to blog pagination colors to allow for light/dark link handling */
.imt-section .wp-block-query-pagination a {
    color: var(--wp--custom--imt--blog--pagination--link--color);
}

.imt-section .wp-block-query-pagination a:hover {
    color: var(--wp--custom--imt--blog--pagination--link--color-hover);
}

/* link in bio page styles */
/* social links for link in bio page */
.imt-social-links-bio .imt-social-links {
    justify-content: center;
}

.imt-btn.imt-btn-primary-outline {
    color: #000 !important;
}

.imt-business-details {
    font-weight: 600 !important;
}

/* add any unique styles to buttons to make them distinct from site styles */
/* .imt-btns-bio .imt-btn {
    box-shadow: 6px 6px 0px black;
}

.imt-btns-bio .imt-btn:hover {
    box-shadow: 8px 8px 1px black !important;
} */

/* ------- REMOVE ANY AND ALL OF THIS CODE IF YOU DO NOT NEED IT :) ------- */
/* center align blog heading */
/* .imt-blog-heading {
    text-align: center !important;
} */

/* add stars via css to avoid them being erased in the editor over time */
/* use this snippet for stars BEFORE the quote */
/* .imt-stars p:first-of-type::before {
    display: block;
    font-weight: 900;
    font-family: "Font Awesome 6 Pro";
    content: "\f005 \f005 \f005 \f005 \f005";
    color: var(--wp--custom--imt--color--palette--background--accent--4--active);
    margin-bottom: var(--wp--custom--imt--spacer);
} */

/* use this snippet for stars AFTER the quote */
/* .imt-stars p:last-of-type::after {
    display: block;
    font-weight: 900;
    font-family: "Font Awesome 6 Pro";
    content: "\f005 \f005 \f005 \f005 \f005";
    color: var(--wp--custom--imt--color--palette--background--accent--4--active);
    margin-top: calc(var(--wp--custom--imt--spacer) * 1.5);
} */

/* force spacing between sections with full-width layouts */
/* .imt-page .imt-section.imt-padding-top-bottom-0 {
    margin: calc(var(--wp--custom--imt--spacer) * 0.4) 0 calc(var(--wp--custom--imt--spacer) * 0.4);
} */

/* automatically swap media row bg colour, reduce user requirement */
/* .imt-media-col-left.imt-media-row-style-default .imt-content-col__background {
    background: var(--wp--custom--imt--color--palette--background--neutral--100) !important;
}

.imt-section .imt-media-row.imt-media-row-style-default.imt-media-col-left .imt-content-col {
    color: var(--wp--custom--imt--text--dark) !important;
} */

/* add custom spacing for non-existent 45/55 ratio option, apply to 50/50 media row */
/* .imt-section .imt-media-row.imt-media-row-style-default .imt-media-col-width-50 {
    flex-basis: calc(55% - var(--wp--custom--imt--media-row--style--default--gutter--default--column) / 2);
    max-width: calc(55% - var(--wp--custom--imt--media-row--style--default--gutter--default--column) / 2);
}

.imt-section .imt-media-row.imt-media-row-style-default .imt-content-col-width-50 {
    flex-basis: calc(45% - var(--wp--custom--imt--media-row--style--default--gutter--default--column) / 2);
    max-width: calc(45% - var(--wp--custom--imt--media-row--style--default--gutter--default--column) / 2);
} */

/* custom accordion styling for bio shortening */
/* add imt-text-collapsible to IMT Collapsible */
/* add imt-text-collapsible-card to card the collapsible is in */
/* .imt-text-collapsible-card h3,
.imt-text-collapsible-card .imt-lead-text--0 {
    padding-left: calc(var(--wp--custom--imt--spacer) * 2) !important;
}

.imt-text-collapsible > button {
    font-size: var(--wp--custom--imt--font-size) !important;
    font-weight: var(--wp--custom--imt--font-weight) !important;
    line-height: var(--wp--custom--imt--line-height) !important; 
    text-transform: none !important;
    padding: calc(var(--wp--custom--imt--spacer) * 1) calc(var(--wp--custom--imt--spacer) * 2) calc(var(--wp--custom--imt--spacer) * 1) !important;
}

.imt-text-collapsible .collapsible > div {
    padding-top: 0 !important;
} */

/* fix content alignment and overlay on short screen heights when using bottom aligned heroes, and apply overlay fix */
/* @media screen and (max-height: 675px) {
    .imt-section .imt-content.imt-hero.imt-bottom-align {
        align-self: flex-start;
    }

    .imt-bg-color-gradient-1,
    .imt-bg-color-gradient-2,
    .imt-bg-color-gradient-3 {
        background-image: none;
        background-color: rgba(0,0,0,0.5);
    }
} */

/* use uniquely defined font (desired font must be updated and set before this can be used) for first line of h1, increase its font size and weight */
/* .imt-section h1.imt-heading::first-line {
    font-family: var(--font-family--slab);
    font-weight: var(--wp--custom--imt--font-weight-bold);
    font-size: calc(var(--wp--custom--imt--h--1--font-size) * 1.25);
}

/* replace Twitter X with BBB */
/* .imt-social-links>a>i.fa-x-twitter::before {
    margin-left: -2px;
    top: 0;
    content: "";
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='22.5' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 83.5'%3E%3Ctitle%3Eicon1%3C/title%3E%3Cpath d='M41.9,52.4h-32l-1.2,3.8h8.5l1.6,5.3h14l1.6-5.3H43L41.9,52.4z M15.1,30.9c-2.5,3.4-1.7,8.1,1.7,10.6l7.7,5.6 c0.8,0.6,1,1.8,0.4,2.6c0,0,0,0,0,0l1.1,0.8l4.1-5.6c0.9-1.3,1.4-2.8,1.5-4.4c0-0.4,0-0.8-0.1-1.2c-0.3-2-1.4-3.8-3-4.9l-7.7-5.6 c-0.4-0.3-0.7-0.7-0.8-1.2c0-0.1,0-0.2,0-0.3c0-0.4,0.1-0.8,0.4-1.1l-1.1-0.8C19.1,25.3,15.1,30.9,15.1,30.9z M19.7,8.5 c-1.4,1.9-2.1,4.1-2.1,6.4c0,0.6,0,1.2,0.1,1.8c0.4,2.9,2,5.5,4.4,7.2l9.6,7c1.3,0.9,2.1,2.3,2.3,3.8c0.1,0.3,0.1,0.6,0.1,0.9 c0,1.2-0.4,2.4-1.1,3.4l0.9,0.7l7.6-10.5c3.5-4.9,2.4-11.8-2.5-15.3L27.5,5.4c-0.7-0.5-1.2-1.3-1.4-2.2c-0.1-0.9,0.1-1.8,0.6-2.5 L25.8,0C25.8,0,19.7,8.5,19.7,8.5z M0,64.7h8.8c1.8-0.1,3.6,0.5,4.9,1.7c0.9,0.8,1.3,2,1.3,3.2v0.1c0,1.7-0.9,3.3-2.5,4.1 c2.2,0.8,3.5,2.1,3.5,4.7c0,3.5-2.8,5.2-7.1,5.2H0C0,83.5,0,64.7,0,64.7z M7.9,72.3c1.8,0,3-0.6,3-2c0-1.2-1-2-2.7-2H4.1v4H7.9z M9,79.9c1.8,0,2.9-0.7,2.9-2v-0.1c0-1.3-0.9-2-3.1-2H4.1V80C4.1,80,9,79.9,9,79.9z M17.9,64.7h8.8c1.8-0.1,3.6,0.5,4.9,1.7 c0.9,0.8,1.3,2,1.3,3.2v0.1c0,1.7-0.9,3.3-2.5,4.1c2.2,0.8,3.5,2.1,3.5,4.7c0,3.5-2.8,5.2-7.1,5.2h-9V64.7z M25.8,72.3 c1.8,0,3-0.6,3-2c0-1.2-1-2-2.7-2h-4.2v4H25.8z M26.9,79.9c1.8,0,2.9-0.7,2.9-2v-0.1c0-1.3-0.9-2-3.1-2h-4.9V80 C21.9,80,26.9,79.9,26.9,79.9z M35.8,64.7h8.8c1.8-0.1,3.6,0.5,4.9,1.7c0.9,0.8,1.3,2,1.3,3.2v0.1c0,1.7-0.9,3.3-2.5,4.1 c2.2,0.8,3.5,2.1,3.5,4.7c0,3.5-2.8,5.2-7.1,5.2h-9C35.7,83.5,35.7,64.7,35.8,64.7z M43.6,72.3c1.8,0,3-0.6,3-2c0-1.2-1-2-2.7-2 h-4.1v4H43.6z M44.7,79.9c1.8,0,3-0.7,3-2v-0.1c0-1.3-1-2-3.1-2h-4.8V80C39.8,80,44.7,79.9,44.7,79.9z' style='fill:gray'%3E%3C/path%3E%3C/svg%3E") !important;
    max-width: 20px;
    display: inline-block;
    width: 20px;
    height: 22.5px;
    background-color: var(--wp--custom--imt--footer--social--icon--color) !important;
}

.imt-social-links>a>i.fa-x-twitter:hover::before {
    background-color: var(--wp--custom--imt--footer--social--icon--color-hover) !important;
} */

/* replace houzz logo with homestars */
/* .imt-social-links>a>i.fa-houzz::before {
    top: 0;
    content: "";
    mask-image: url("data:image/svg+xml,%3Csvg width='30' height='27' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31.64 28'%3E%3Ctitle%3Eicon1%3C/title%3E%3Cpath d='M28,4,3.6.05A3,3,0,0,0,0,3.3L1,19.38a4.17,4.17,0,0,0,4.1,3.87H16.44C21,28.12,25.29,28,25.29,28a5.84,5.84,0,0,1-2.57-4.75h4.39a4.09,4.09,0,0,0,4-3.87l.49-10.91A4.48,4.48,0,0,0,28,4ZM20.81,19.21H17.67V14.48H13.53v4.73H10.39V7.15h3.14v4.62h4.14V7.15h3.14Z' style='fill:gray'%3E%3C/path%3E%3C/svg%3E") !important;
    max-width: 30px;
    display: inline-block;
    width: 30px;
    height: 27px;
    background-color: var(--wp--custom--imt--footer--social--icon--color) !important;
}

.imt-social-links>a>i.fa-houzz:hover::before {
    background-color: var(--wp--custom--imt--footer--social--icon--color-hover) !important;
} */

/* ------- Megamenu Styling - WITH ICONS - Green Collar ------- */
/* @media only screen and (min-width: 1281px) {
    /* position and split columns 
    nav.imt-main-nav>div ul>li .submenu li:not(.imt-pointer-events-none):hover>a {
        color: var(--wp--custom--imt--color--background--secondary--color) !important;
        text-decoration: underline !important;
    }

    #main-navigation-ul>li.menu-item.imt-link-level-1.imt-pointer-events-none.megamenu.has-children>ul>div>li:nth-child(2)>ul {
        display: flex !important;
        flex-wrap: wrap;
    }

    #main-navigation-ul>li.menu-item.imt-link-level-1.imt-pointer-events-none.megamenu.has-children>ul>div>li:nth-child(2)>ul>li {
        flex: 50%;
    }

    #main-navigation-ul>li.menu-item.imt-link-level-1.imt-pointer-events-none.megamenu.has-children>ul>div>li:nth-child(2) {
        flex-grow: 2;
        flex-basis: 50%;
    }

    #main-navigation-ul>li.menu-item.imt-link-level-1.imt-pointer-events-none.megamenu.has-children>ul>div>li:nth-child(1) {
        flex-grow: 1;
        flex-basis: 25%;
    }

    /* position and display icons, add .imt-mm-icon and your assigned unique icon to each main navigation link in the site backend
    .imt-mm-icon a {
        position: relative;
        padding: 16px 0 24px 0 !important;
    }

    .imt-mm-icon-name a::before {
        background: url('/wp-content/uploads/2025/02/Com-Maintenance.png');
    }

    .imt-mm-icon a::before {
        content: '';
        position: absolute;
        top: -8px;
        left: -60px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 48px 48px;
        width: 60px;
        height: 60px;
    }
} */

/* ------- Megamenu Styling - NO ICONS, COLUMN WRAPPING - Sun Valley ------- */
/* @media only screen and (min-width: 1281px){
    nav.imt-main-nav.full-mega>div>ul>li.megamenu>.submenu .imt-megamenu-wrapper>li.menu-item:last-of-type{
        flex-basis: calc((100% / 3) * 2) !important;
    }
    
    nav.imt-main-nav.full-mega>div>ul>li.megamenu>.submenu .imt-megamenu-wrapper>li.menu-item:not(:last-of-type){
        flex-basis: calc((100% / 3) - var(--wp--custom--imt--main-navigation--megamenu--wrapper--column-gap)) !important;
    }

    nav.imt-main-nav.full-mega>div>ul>li.megamenu>.submenu .imt-megamenu-wrapper>li.menu-item:last-of-type > ul{
        column-count: 2;
        column-gap: calc(var(--wp--custom--imt--spacer) * 2);
    }
    nav.imt-main-nav.full-mega>div>ul>li.megamenu>.submenu .imt-megamenu-wrapper>li.menu-item:last-of-type > ul > li{
        break-inside: avoid-column;
    }
} */

/* style image overlap for callout + hero combo
   image should have top background-attachment and be taller than wide to work on mobile */
/* .imt-section-overlap-top-100 {
    margin-top: -100px;
    z-index: 2;
}

.imt-section-overlap-top-100 .imt-section__background {
    margin-top: 100px;
}

@media only screen and (min-width: 801px) {
    .imt-section-overlap-top-100 {
        padding-top: 84px;
    }
}    
*/