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

/* -------------- FONT FAMILIES -------------- */
:root {
    --font-family--default: 'halcom-variable';
    --font-family--h--1: 'spectral';
    --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);
}

/* ---------------------------- FUNCTIONAL IMPROVEMENTS ---------------------------- */
/* you should not be updating these, check out CUSTOMIZABLE IMPROVEMENTS */
/* 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;
        text-transform: uppercase !important;;
    }

    /* position btn 2 for mobile */
    .imt-btn-2 {
        margin-top: calc(var(--wp--custom--imt--spacer) * 1) !important;
    }

    nav.imt-main-nav.offcanvas #imt-offcanvas>ul>li:not(.imt-btn-1):not(.imt-btn-2) a {
        padding: calc(var(--wp--custom--imt--spacer) * .75) 0 calc(var(--wp--custom--imt--spacer) * 1.05) !important;
    }

    /* ------- FULL WIDTH SERVICE AREA MAP BACKGROUND, HIDE ON MOBILE + TABLET ------- */
    .imt-section-bg-image-hide-on-mobile .imt-section__background-image {
        display: none !important;
    }
}

@media only screen and (min-width: 1281px) {
    
    /* fix mega menu active color for grandchildren when background color is applied */
    nav.imt-main-nav.full-mega>div>ul>li.megamenu>.submenu .imt-megamenu-wrapper li ul li a.imt-current-menu-item {
        background: var(--wp--custom--imt--main-navigation--link--submenu--active--background);
    }

    /* fix hover state for active menu links on desktop */
    nav.imt-main-nav>div ul>li .submenu li a.imt-current-menu-item:hover {
        background: var(--wp--custom--imt--main-navigation--link--submenu--hover--background);
        color: var(--wp--custom--imt--main-navigation--link--submenu--hover--color);
    }
}

/* 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;
}

/* temporary fix for 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);
}

/* ------- LOGO SLIDER & TESTIMONIALS ------- */
.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;
}
@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;
    }

    /* 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;
    }

    /* assign text align mobile to correct variable */
    @media only screen and (max-width: 800px) {
    body #imt-top-bar .imt-content .imt-card .imt-buttons {
        align-items: var(--wp--custom--imt--header--top-bar--text-align-mobile) !important;
    }
}
}

/* ------- 404 PAGE BUTTON ------- */
/* 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;
}

/* fix business name font weight & line height display in newsletter & confirmation message */
#gform_4 .gfield--type-html {
    line-height: var(--wp--custom--imt--line-height) !important;
}

#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;
}

.gform_wrapper.gravity-theme select:enabled option {
    color: var(--wp--custom--imt--gravity-forms--select--color);
    background-color: var(--wp--custom--imt--gravity-forms--select--background);
}

/* 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;
}

/* ------- BLOG & QUERY LOOP PAGES ------- */
/* 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 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);
}

/* 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;
}

/* 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;
}

/* ------- NO GAP FOR MULTI-COLUMN LISTS, SERVICE AREA MAP SECTIONS WITH 2 COLS OF CITY NAMES ------- */
.imt-no-list-gap-mobile {
    margin-bottom: calc(var(--wp--custom--imt--spacer) * 2) !important;
}

@media only screen and (max-width: 600px) {
    .imt-section .imt-card-group.imt-no-list-gap-mobile>.acf-innerblocks-container {
        row-gap: 0;
    }
}

/* apply correct variable for filter for default, 1, 2, and 3 left media in media rows */
.imt-section .imt-media-row.imt-media-row-style-default.imt-media-col-left .imt-media-col {
    filter: var(--wp--custom--imt--media-row--style--default--media--left--filter) !important;
}

.imt-section .imt-media-row.imt-media-row-style-1.imt-media-col-left .imt-media-col {
    filter: var(--wp--custom--imt--media-row--style--1--media--left--filter) !important;
}

.imt-section .imt-media-row.imt-media-row-style-2.imt-media-col-left .imt-media-col {
    filter: var(--wp--custom--imt--media-row--style--2--media--left--filter) !important;
}

.imt-section .imt-media-row.imt-media-row-style-3.imt-media-col-left .imt-media-col {
    filter: var(--wp--custom--imt--media-row--style--3--media--left--filter) !important;
}

/* ---------------------------- CUSTOMIZABLE IMPROVEMENTS ---------------------------- */
/* ***** REMOVE ANY AND ALL COMMENTED OUT CODE IF YOU DO NOT NEED IT :) ***** */

/* ------- TESTIMONIALS SLIDER HEADING ICON ------- */
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(0, 0, 0, 0.10);
    font-size: 150px;
    top: 35px;
    left: 50%;
    transform: translate(-50%);
    z-index: -1;
}

/* ------- Megamenu Styling - WITH ICONS - Green Collar ------- */
@media only screen and (min-width: 1281px) {
    /* position btn 2 styles for desktop */
    .imt-btn-2 {
        margin-left: calc(var(--wp--custom--imt--spacer) * 1) !important;
    }


}

/* 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--black);
    margin-bottom: var(--wp--custom--imt--spacer);
}

/* media row handling for mid screens */
@media only screen and (min-width: 801px) and (max-width: 1280px) {
    .imt-section .imt-media-row.imt-media-row-style-default.imt-media-col-right .imt-content-col-width-50 .imt-content-col__inner .imt-content-col__background {
        border-radius: 0 calc(var(--wp--custom--imt--border-radius) * 10) calc(var(--wp--custom--imt--border-radius) * 10) 0 !important;
    }

    .imt-section .imt-media-row.imt-media-row-style-default.imt-media-col-left .imt-content-col-width-50 .imt-content-col__inner .imt-content-col__background {
        border-radius: calc(var(--wp--custom--imt--border-radius) * 10) 0 0 calc(var(--wp--custom--imt--border-radius) * 10) !important;
    }
}

/* ------- MOBILE GRADIENT HANDLING -------
            swap to solid overlay for legibility,
            can be split out to manage multiple gradient layouts */
@media only screen and (max-width: 800px) {
    .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);
    }
}


/* -------------- GRAVITY FORMS FIXES -------------- */
/* ------- FILE UPLOAD AREA, UPDATE BORDER IF USING BOTTOM BORDER
            ONLY FOR REGULAR FORM FIELDS - Arbor Landscapes */
.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--color--palette--background--primary--active) !important;
    border-radius: var(--wp--custom--imt--gravity-forms--input--border--radius) !important;
}

/* ------- TRASH ICON COLOR FOR UPLOAD FIELDS, UPDATE IF USING DARK BG COLOR ------- */
.gform_wrapper .dashicons {
    color: var(--wp--custom--imt--color--link--light);
}

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

.imt-btn.imt-btn-primary-outline {
    color: var(--wp--custom--imt--color--text--dark) !important;
}

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

/* 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--black) !important;
}

.imt-section .imt-media-row.imt-media-row-style-default.imt-media-col-left .imt-content-col .imt-heading {
    color: var(--wp--custom--imt--color--palette--background--primary--300) !important;
}


/* ------- MAIN NAVIGATION ------- */
@media only screen and (max-width: 1280px) {
    /* ------- MOBILE BACKGROUND BLUR - Allweather ------- */
    /* nav.imt-main-nav.offcanvas #imt-offcanvas {
        backdrop-filter: blur(5px);
    } */
    
    /* ------- CENTRE ALIGN MOBILE NAV LIST - Sun Valley ------- */
    nav.imt-main-nav.offcanvas #imt-offcanvas>ul>li a {
        display: flex;
        justify-content: center !important;
        align-items: 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;
    }
}

/* ------- LINK IN BIO PAGE ------- */
/* social links for link in bio page */
.imt-social-links-bio .imt-social-links {
    justify-content: center;
}

/* clears the border in a card group */
.imt-border-zero {
    border: none !important;
}

