/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

.h1-style {
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-family: var(--h1-font-family);
    letter-spacing: var(--h1-letter-spacing);
}

.h2-style {
    font-size: var(--h2-font-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-family: var(--h2-font-family);
    color: var(--color-content-heading);
    letter-spacing: var(--h2-letter-spacing);
}

.h3-style {
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-family: var(--h3-font-family);
    color: var(--color-content-heading);
    letter-spacing: var(--h3-letter-spacing);
}

.h4-style {
    font-size: var(--h4-font-size);
    line-height: var(--h4-line-height);
    font-weight: var(--h4-font-weight);
    font-family: var(--h4-font-family);
    color: var(--color-content-heading);
    letter-spacing: var(--h4-letter-spacing);
}

.h5-style {
    font-size: var(--h5-font-size);
    line-height: var(--h5-line-height);
    font-weight: var(--h5-font-weight);
    font-family: var(--h5-font-family);
    color: var(--color-content-heading);
    letter-spacing: var(--h5-letter-spacing);
}

.h6-style {
    font-size: var(--h6-font-size);
    line-height: var(--h6-line-height);
    font-weight: var(--h6-font-weight);
    font-family: var(--h6-font-family);
    letter-spacing: var(--h6-letter-spacing);
}

.g-cols.via_flex.type_default {
    margin: 0 -20px;
}

.g-cols.via_flex.type_default>div>.vc_column-inner {
    padding-left: 20px;
    padding-right: 20px;
}

/* Menu */

.w-nav.type_mobile .w-nav-anchor:not(.w-btn) .w-nav-arrow:before {
    font-size: 1.2em;
    font-weight: 300;
}

.w-nav-close {
    opacity: 1;
}

.w-nav-close:before {
    font-weight: 300;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1>li:not(.menu-item-object-us_page_block):not(.w-nav-close):not(.contact-menu-item) {
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.w-nav.type_mobile.m_layout_fullscreen .menu-item-has-children >.w-nav-anchor .w-nav-arrow {
    float: right;
}

.w-nav-arrow:before {
    font-weight: 300;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1>li:first-child  {
    margin-top: 5rem;
}

.w-nav.type_mobile .w-nav-list.level_1:has(>.us_page_block_with_rows) {
    padding: 0 1.5rem !important;
}

/* Home */

.l-section.home-featured-video-row {
    margin-bottom: var(--header-height);
}

/* Page */

.l-section.page-title-row-v2 {
    background: var(--color-header-transparent-bg) url(/wp-content/uploads/2025/11/orange_grid.svg) no-repeat 100% 0 / clamp(180px, 30%, 420px) !important;
}

/* Team Members */

.single-ab_team-member .post_title.hide_on_mobiles {
    margin-bottom: 0;
}

.single-ab_team-member .post_title.hide_on_default {
    margin-bottom: 0;
    margin-top: .7rem;
}

/* Misc */

h4.w-tabs-section-title {
    font-size: var(--h4-font-size) !important;
    line-height: var(--h4-line-height);
    font-weight: var(--h4-font-weight);
    font-family: var(--h4-font-family);
    letter-spacing: var(--h4-letter-spacing);
}

.w-tabs-section.active:not(.has_text_color)>.w-tabs-section-header {
    color: var(--color-content-secondary);
}

.larger-font {
    font-size: 1.2rem;
}

.text-center {
    text-align: center;
}

.img-right-row .w-post-elm.post_image.has_ratio {
    overflow: visible;
}

.w-image.top-right-square-shape .w-image-h::before,
.img-right-row .w-post-elm.post_image.has_ratio::before {
    position: absolute;
    width: 400px;
    aspect-ratio: 1;
    display: block;
    content: '';
    background: url(img/orange_grid.svg) no-repeat;
    top: -50px;
    right: -50px;
}

.dark-section-right-half-content {
    z-index: 2;
}

.dark-section-right-half-content::before {
    position: absolute;
    width: 250px;
    aspect-ratio: 1;
    display: block;
    content: '';
    background: url(img/blue_grid.svg) no-repeat;
    top: -7px;
    right: -7px;
    z-index: 1;
}

.dark-section-right-half-content.blue::before {
    background: url(img/blue_grid.svg) no-repeat;
}

.dark-section-right-half-content .vc_column-inner {
    background: var(--color-alt-content-bg-alt);
    z-index: 10;
    padding-top: 8px;
}

.l-section.color_primary.img-right-row p {
    color: rgba(255,255,255,.8);
}

.contact-info-vwrapper .w-text.icon_atleft a .fal,
.contact-info-vwrapper .w-text.icon_atleft .fal {
    text-align: center;
    width: 1.25em;
    color: var(--color-alt-content-secondary);
}

.contact-info-vwrapper .w-text.icon_atleft a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact-embed-map {
    position: relative;
    padding-bottom: 65%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.contact-embed-map iframe,
.contact-embed-map object,
.contact-embed-map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.w-text.hours-day {
    min-width: 143px;
}

.w-grid.type_grid.layout_759 .w-grid-list {
    row-gap: 4rem;
}

.w-grid.type_grid.layout_759 .type_image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.w-grid.type_grid.layout_759 .post-303 .type_image {
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-top: 12px;
}

.home-logos-carousel .w-image img,
.home-logos-carousel .w-image picture {
    height: 70px;
    width: auto !important;
    object-fit: contain;
}

.layout_87 .w-grid-item.post-951 {
    pointer-events: none;
}

/* Footer */

.w-text.fotter-subscribe-title {
    font-size: var(--h4-font-size);
    line-height: var(--h4-line-height);
    font-weight: var(--h4-font-weight);
    font-family: var(--h4-font-family);
    color: var(--color-footer-link);
    letter-spacing: var(--h4-letter-spacing);
    text-transform: uppercase;
}

.w-text.fotter-subscribe-title .w-text-value > span {
    color: var(--color-footer-link-hover);
}

.l-footer input[type=email] {
    min-height: 3.15em;
    line-height: 3.15em;
    background: #fff !important;
}

/* ===== Media Queries ===== */

@media (min-width: 1280px) {

    .page-id-307 .l-header.bg_transparent:not(.sticky) .l-subheader {
        box-shadow: 0 1px 0 rgb(255 255 255) !important;
    }
}

@media (max-width: 1279px) and (min-width: 1024px) {

    .w-image.top-right-square-shape .w-image-h::before,
    .img-right-row .w-post-elm.post_image.has_ratio::before {
        width: min(40vw, 300px);
        top: -25px;
        right: -25px;
    }
}

@media (min-width: 1025px) {

    .wide-image-overlap-wrapper {
        position: relative;
        top: calc(-1 * (4rem + 225px));
        padding-bottom: 0;
        margin-bottom: -225px;
    }

    .wide-image-overlap-wrapper::before {
        content: '';
        background: url(img/orange_grid.svg);
        position: absolute;
        width: 400px;
        bottom: 0;
        left: -200px;
        aspect-ratio: 1;
    }

    .wide-image-overlap-wrapper .w-image {
        position: relative;
    }

    .l-section.services-row {
        padding-bottom: calc(6rem + 225px);
    }

    .l-footer .vc_col-md-3  {
        width: 24%;
    }

    .l-footer .vc_col-md-3.footer-contact-column {
        width: 28%;
    }
}

@media (max-width: 1024px) {
    
    .faq-row .w-image {
        margin-bottom: 2.5rem;
    }

    .l-section.height_large.with_shape {
        padding-top: 7.5vmax;
        padding-bottom: 7.5vmax;
    }

    .w-image.top-right-square-shape .w-image-h::before,
    .img-right-row .w-post-elm.post_image.has_ratio::before {
        width: min(40vw,400px);
        top: -20px;
        right: -20px;
    }

    .l-section.height_medium.faq-row {
        padding-top: 6vmax;
        padding-bottom: 6vmax;
    }

    .dark-section-right-half-content::before {
        width: 150px;
    }

    .dark-section-right-half-content.blue::before {
        background: url(img/blue_grid.svg) no-repeat;
    }

    .home-logos-carousel .w-image img,
    .home-logos-carousel .w-image picture {
        object-fit: contain;
    }
}

@media (max-width: 767px) {

    .dark-section-right-half-content::before {
        top: auto;
        bottom: -2px;
        right: -2px;
    }
}

@media (max-width: 600px) {

    .w-hwrapper.stack_on_mobiles .w-btn {
        min-width: 208px;
    }

    .l-section.page-title-row-v2 {
        background-size: clamp(240px, 30%, 420px) !important;
    }

    .footer-subscribe-hwrapper .w-btn {
        width: 100%;
    }
}