/*
    Theme Name:     RYNO Child Theme
    Theme URI:      http://rynoss.com/
    Description:    RYNO Child Theme
    Author:         Ryno SS - Jerad Shepherd
    Author URI:     http://www.rynoss.com
    Template:       theme-3
    Text Domain:    ryno-theme-three-child
    Version:        1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

@import url(https://db.onlinewebfonts.com/c/f833a8db3f858c83100d9ed55ea5cec4?family=Brooklyn+Samuels+W00+No5+Bold);

/* COLORS */
:root {
    --color-green: #298736;
    --color-pale-green: #C1DFC5;
    --color-dark-green: #1C5324;
    --color-blue: #2962FF;
    --color-pale-blue: #BFD0FF;
    --color-dark-blue: #143389;
    --color-off-white: #DFE7FF;
}


/* FONTS */
:root {
    --home-heading-font: 'Brooklyn Samuels W00 No5 Bold';
    --home-body-font: 'Poppins', sans-serif;
}
:root {
    --h1-font-size: 48px;
    --h1-line-height: 108%;

    --h2-font-size: 42px;
    --h2-line-height: 114%;

    --h3-font-size: 36px;
    --h3-line-height: 116%;

    --h4-font-size: 30px;
    --h4-line-height: 120%;

    --h5-font-size: 24px;
    --h5-line-height: 116%;

    --h6-font-size: 20px;
    --h6-line-height: 140%;

    --body-font-size: 18px;
    --body-line-height: 155%;
    
    /*--- MOBILE FONT SIZE ---*/
    
    --h1-font-size-mobile: 30px;
    --h1-line-height-mobile: 120%;

    --h2-font-size-mobile: 24px;
    --h2-line-height-mobile: 133%;

    --h3-font-size-mobile: 20px;
    --h3-line-height-mobile: 150%;

    --h4-font-size-mobile: 20px;
    --h4-line-height-mobile: 150%;

    --h5-font-size-mobile: 18px;
    --h5-line-height-mobile: 155%;

    --h6-font-size-mobile: 16px;
    --h6-line-height-mobile: 150%;
    
    --body-font-size-mobile: 16px;
    --body-line-height-mobile: 150%;
}
.home h1,.home h2,.home h3,
.home h4,.home h5,.home h6 {
    font-family: var(--home-heading-font);
    font-weight: 700;
    text-transform: none;
    margin-bottom: 0;
}
.home h1 {
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
}
.home h2 {
    font-size: var(--h2-font-size);
    line-height: var(--h2-line-height);
}
.home h3 {
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
}
.home h4 {
    font-size: var(--h4-font-size);
    line-height: var(--h4-line-height);
}
.home h5 {
    font-size: var(--h5-font-size);
    line-height: var(--h5-line-height);
}
.home h6 {
    font-size: var(--h6-font-size);
    line-height: var(--h6-line-height);
}
.home p {
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    margin-bottom: 0px;
    font-weight: 400;
}
body {
    font-family: var(--home-body-font);
}
@media (max-width: 991.98px) {
    .home h1 {
        font-size: var(--h1-font-size-mobile);
        line-height: var(--h1-line-height-mobile);
    }
    .home h2 {
        font-size: var(--h2-font-size-mobile);
        line-height: var(--h2-line-height-mobile);
    }
    .home h3 {
        font-size: var(--h3-font-size-mobile);
        line-height: var(--h3-line-height-mobile);
    }
    .home h4 {
        font-size: var(--h4-font-size-mobile);
        line-height: var(--h4-line-height-mobile);
    }
    .home h5 {
        font-size: var(--h5-font-size-mobile);
        line-height: var(--h5-line-height-mobile);
    }
    .home h6 {
        font-size: var(--h6-font-size-mobile);
        line-height: var(--h6-line-height-mobile);
    }
    .home p {
        font-size: var(--body-font-size-mobile);
        line-height: var(--body-line-height-mobile);
    }
}


/* COMMONS PAGE SECTION STYLES */
.page-section .section-body p:nth-child(2) {
    margin-bottom: 0px;
}
.page-section .section-body p {
    margin-bottom: 30px;
}
.page-section .section-subheader {
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 2px;
}
.page-section.dark {
    color: white;
}
.page-section.light {
    color: #212121;
}
.page-section {
    position: relative;
    z-index: 2;
}


/* COMMON STYLES */
.company-phone--link::before {
    display: block;
    content: '';
    position: relative;
    --icon-size: 20px;
    width: var(--icon-size);
    height: var(--icon-size);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('/wp-content/uploads/phone-icon-white.svg');
}
.company-phone--link {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 700;
    gap: 4px;
}
.viewport-overflow-wrapper {
    overflow: hidden;
}
.wpcf7 p {
    margin: 0 !important;
}
.social-icons__icon a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 100%;
    background-color: var(--color-dark-green);
}
.social-icons {
    display: flex;
    gap: 10px;
}
.button-wrapper {
    display: flex;
    gap: 10px;
}
.section-transition {
    --transition-height: 100;
    --screen-width: 1600;
    position: absolute;
    width: 100vw;
    height: calc(100vw * (var(--transition-height) / var(--screen-width)));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: scale(1.01);
    z-index: -2;
}
.section-decoration {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}
.mobile-only {
    display: none;
}
.mobile-xs-only {
    display: none;
}
@media (max-width: 991.98px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: block;
    }
}


/* SLICK STYLES */
.slick-dots .slick-active button::before {
    border-color: var(--color-blue);
    background-color: var(--color-blue);
}
.slick-dots li.slick-active button::before {
    opacity: 1;
}
.slick-dots li button:hover::before {
    border-color: var(--color-dark-blue);
}
.slick-dots li button::before {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-pale-blue);
    background-color: var(--color-pale-blue);
    border-radius: 100%;
    opacity: 1;
}
.slick-dots li button {
    width: 100%;
    height: 100%;
}
.slick-dots li {
    width: 30px;
    height: 30px;    
}
.slick-dotted.slick-slider {
    margin-bottom: calc(24px + 40px + 30px);
}
.slick-dots {
    top: calc(100% + 24px);
    bottom: unset;
}


/* BUTTONS */
.btn.btn-secondary {
    background-color: var(--color-blue);
}
.btn.btn-primary {
    background-color: var(--color-green);
}
.btn span::after {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    width: 19.811px;
    height: 8.804px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/btn-arrow-white.svg');
    transition: var(--btn-fx-speed);
    opacity: 0;
}
.btn span {
    position: relative;
}
.btn {
    position: relative;
    
    display: inline-block;
    max-width: 100%;
    
    
    font-family: var(--home-body-font);
    font-size: 18px;
    font-weight: 700;
    line-height: 100%;
    text-transform: uppercase;
    

    border-radius: 25px;
    border-style: solid;
    border-color: transparent;
    border-width: 0;
    
    
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 15px;
    
    --btn-fx-speed: 0.235s;
}
.postscript-contact .wpcf7-submit,
.main-contact-form .wpcf7-submit,
.page-section .btn,
.header .btn,
.footer .btn,
.home .btn {
    min-width: 260px;
    max-width: 100%;
}
@media (min-width: 992px) {
    .serving-text-wrapper a:hover {
        text-decoration: none;
    }
    .social-icons__icon a:hover {
        color: white;
        background-color: var(--color-blue);
    }
    .header-col--right .phone-wrapper:hover::before {
        background-image: url('/wp-content/uploads/phone-icon-green.svg');
    }
    .header .phone-wrapper a:hover {
        color: #39B54A;
    }
    .btn:hover span::after {
        left: calc(100% + 10px);
        opacity: 1;
    }
    .btn:hover {
        min-width: calc(260px - 30px);
    }
}
@media (min-width: 992px) {
    .btn.btn-secondary:hover {
        background-color: #143389;
    }
    .btn.btn-primary:hover {
        background-color: #39B54A;
    }
    .btn:hover {
        transform: scale(0.95);
    }
}


/* NAV STYLES */
.main-navigation .menu-item a {
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 400;
    font-family: var(--home-heading-font);
}
@media (max-width: 991.98px) {
    .main-navigation > li.has-dropdown::after {
        border-bottom: unset;
    }
}


/* HEADER OVERBAR */
.emergency-text {
    font-weight: 700;
}
.serving-text-wrapper a {
    font-weight: 700;
    text-decoration: underline;
}
.header-overbar .emergency-text::before {
    width: 18px;
    height: 18px;
    background-image: url('/wp-content/uploads/clock-icon.svg');
}
.header-overbar .serving-text-wrapper::before {
    width: 18px;
    height: 18px;
    background-image: url('/wp-content/uploads/location-icon.svg');
}
.header-overbar .serving-text-wrapper::after {
    width: 2px;
    height: 20px;
    margin: 0px 15px;
    background: #212121;
}
.header-overbar .emergency-text::before,
.header-overbar .serving-text-wrapper::before,
.header-overbar .serving-text-wrapper::after {
    display: inline-block;
    content: '';
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.header-overbar .serving-text-wrapper {
    position: relative;
}
.header-overbar .emergency-text {
    gap: 8px;
}
.header-overbar .serving-text-wrapper,
.header-overbar .emergency-text {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.header-overbar .container {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}
.header-overbar a:hover {
    text-decoration: underline;
}
.header-overbar a {
    color: #212121;
    font-weight: 600;
}
.header-overbar-wrapper {
    padding: 5px 0;
    font-size: 16px;
    color: #212121;
    background-color: var(--color-pale-blue);
}
@media (max-width: 992px) {
    .mobile-header__logo img {
        width: 100%;
        max-width: 150px;
    }
}


/* HEADER */
.header-col--right .phone-wrapper::before {
    display: inline-block;
    content: '';
    position: relative;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/phone-icon.svg');
}
.header-col--right .phone-wrapper {
    position: relative;
    color: var(--color-blue);
    font-family: var(--home-heading-font);
    font-size: 24px;
    font-weight: 700;
    line-height: 116.667%;
}
.header-col--right .header-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    height: 100%;
}
.header {
    padding-top: 15px;
}
.header-wrapper {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.7);
}


/* HERO */
.page-section--hero .section-decoration {
    position: absolute;
    width: 860px;
    height: 412px;
    bottom: -25px;
    right: 0;
    background-image: url('/wp-content/uploads/van.png');
    z-index: -1;
}
.page-section--hero .hero-header span {
    color: var(--color-blue);
}
.page-section--hero .hero-header h2 {
    color: #212121;
    font-size: 75px;
    line-height: 86px;
}
.page-section--hero .section-transition {
    --transition-height: 365;
    bottom: -2px;
    background-image: url('/wp-content/uploads/blue-green-transition-desktop.svg');
}
.page-section--hero {
    padding-top: 88px;
    padding-bottom: calc(100vw * (364 / 1600));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/hero-bg-desktop.png');
}
@media (max-width: 992px) {
    .page-section--hero .button-wrapper {
        justify-content: center;
        margin-top: 32px;
    }
    .page-section--hero .hero-header h2 {
        font-size: 47px;
        line-height: 100%;
    }
    .page-section--hero .hero-header {
        text-align: center;
    }
    .page-section--hero .section-decoration {
        width: 290.182px;
        height: 139px;
        bottom: 0;
        background-size: contain;
    }
    .page-section--hero .section-transition {
        --transition-height: 73;
        --screen-width: 320;
        bottom: -2px;
    }
    .page-section--hero {
        padding-top: 40px;
        padding-bottom: calc(100vw * ((131 + 73) / 320));
        background-image: url('/wp-content/uploads/hero-bg-mobile-xs.png');
    }
}


/* PAGE SECTION MAIN */
.page-section--main .section-header-wrapper {
    margin-bottom: 40px;
}
.page-section--main {
    padding: 100px 0;
    background: linear-gradient(to bottom, var(--color-dark-green) 0%, #B7C8B9 100%);
}
@media (max-width: 992px) {
    .page-section--main {
        padding-bottom: 56px;
    }
}


.multi-section-wrapper .section-transition {
    --transition-height: 365;
    bottom: -2px;
    transform: scaleX(-1);
    background-image: url('/wp-content/uploads/blue-green-transition-desktop.svg');
}
.multi-section-wrapper::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: 
        linear-gradient(to bottom, #B7C8B9 0%, transparent 20%),
        url('/wp-content/uploads/bg-texture.png');
    z-index: -2;
}
.multi-section-wrapper {
    position: relative;
    padding-top: 100px;
    padding-bottom: calc(100vw * (364 / 1600));
    z-index: 1;
}
@media (max-width: 992px) {
    .multi-section-wrapper .section-transition {
        --transition-height: 73;
        --screen-width: 320;
    }
    .multi-section-wrapper {
        padding-top: 29px;
        padding-bottom: calc(100vw * (73 / 320));
    }
}


.page-section--local-hvac .btn:hover {
    min-width: calc(310px - 30px);
}
.page-section--local-hvac .btn {
    min-width: 310px;
}
.page-section--local-hvac h3 {
    text-align: center;
    margin-top: 110px;
    margin-bottom: 24px;
}
.page-section--local-hvac .col-lg-12 .button-wrapper {
    justify-content: center;
}
.page-section--local-hvac .button-wrapper {
    margin-top: 40px;
}
.page-section--local-hvac .section-header {
    margin-bottom: 40px;
}
.page-section--local-hvac {
    padding: 0;
}
@media (max-width: 992px) {
    .page-section--local-hvac .button-wrapper {
        justify-content: center;
    }
    .page-section--local-hvac .image-wrapper img {
        margin: auto;
    }
    .page-section--local-hvac .image-wrapper {
        margin-top: 40px;
    }
    .page-section--local-hvac h3 {
        margin-top: 64px;
    }
}


.page-section--hvac-experts .section-body p {
    margin-bottom: 0px;
}
.page-section--hvac-experts .section-body {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.page-section--hvac-experts .affiliations-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 50px;
    gap: 32px;
}
.page-section--hvac-experts .callout-block::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.15;
    background-color: var(--color-dark-green);
    z-index: -1;
}
.page-section--hvac-experts .section-header {
    margin-bottom: 30px;
}
.callout-block h5 {
    margin-bottom: 10px;
}
.page-section--hvac-experts .callout-block {
    position: relative;
    padding: 24px 0;
    padding-left: 24px;
    border-radius: 16px;
    border-left: 20px solid var(--color-dark-green);
    overflow: hidden;
}
.page-section--hvac-experts {
    padding-top: 120px;
}
@media (max-width: 992px) {
    .page-section--hvac-experts .image-wrapper img {
        margin: auto;
    }
    .page-section--hvac-experts .image-wrapper {
        margin-top: 48px;
    }
    .page-section--hvac-experts .affiliation img {
        max-width: 100px;
    }
    .page-section--hvac-experts .affiliations-wrapper {
        margin: 32px auto 40px;
        max-width: 300px;
    }
    .page-section--hvac-experts {
        padding-top: 0px;
    }
}


.page-section--here-to-help .button-wrapper {
    justify-content: center;
    margin-top: 40px;
}
.page-section--here-to-help .subsection-header {
    text-align: center;
}
.page-section--here-to-help .subsection-body {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 940px;
    margin: 0 auto;
}
.page-section--here-to-help .ornament {
    margin: 56px 0 84px;
}
.page-section--here-to-help .section-header {
    margin-bottom: 24px;
}
.page-section--here-to-help .section-body,
.page-section--here-to-help .section-header {
    color: white;
}
.page-section--here-to-help {
    padding-top: 90px;
    padding-bottom: 32px;
    background: linear-gradient(0deg, #FFF 0%, #1C5324 99.83%);
}
@media (max-width: 992px) {
    .page-section--here-to-help .subsection-header {
        text-align: left;
        margin-bottom: 20px;
    }
    .page-section--here-to-help .ornament img {
        max-width: 74px;
    }
    .page-section--here-to-help .ornament {
        grid-gap: 15px;
    }
    .page-section--here-to-help {
        padding-top: 32px;
        padding-bottom: 0px;
    }
}


.page-section--testimonials .button-wrapper {
    margin-top: 30px;
    justify-content: center;
}
.page-section--testimonials .section-header-wrapper {
    text-align: center;
    margin-bottom: 30px;
}
.page-section--testimonials .section-transition {
    --transition-height: 365;
    bottom: -2px;
    background-image: url('/wp-content/uploads/blue-pale-blue-transition-desktop.svg');
}
.page-section--testimonials {
    padding-top: 72px;
    padding-bottom: calc(100vw * (400 / 1600));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-image: url('/wp-content/uploads/homepage-testimonials-bg-desktop.png');
}
@media (max-width: 992px) {
    .page-section--testimonials .button-wrapper {
        margin-top: unset;
    }
    .page-section--testimonials .section-subheader {
        font-size: 16px;
    }
    .page-section--testimonials .section-transition {
        display: none;
    }
    .page-section--testimonials::before {
        display: block;
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: calc(100vw * (212 / 320));
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: 
            linear-gradient(to bottom, white 0%, transparent 30%),
            url('/wp-content/uploads/homepage-testimonials-bg-mobile.png');
    }
    .page-section--testimonials {
        padding-bottom: calc(100vw * (280 / 576));
        background-image: none;
    }
}


.postscript-contact .gform_wrapper .gform-footer {
    justify-content: center;
}
.postscript-contact .gform_wrapper .gform-body {
    padding: 85px 60px;
    border-radius: 24px;
    background: linear-gradient(0deg, var(--Color-Brand-Color-1, #39B54A) 0%, var(--Color-Brand-Color-2, #2962FF) 100%);
}
.postscript-contact .section-subheader {
    color: #212121;
    font-size: 30px;
    letter-spacing: 2px;
}
.postscript-contact .section-header-wrapper {
    color: var(--color-dark-blue);
    margin-bottom: 40px;
}
.postscript-contact::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 216px;
    background: linear-gradient(180deg, #DFE7FF 0%, rgba(223, 231, 255, 0.00) 100%);
    z-index: -1;
}
.postscript-contact {
    position: relative;
    padding: 106px 0 96px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/postscript-contact-bg-desktop.png');
	overflow: hidden;
    z-index: 1;
}
@media (max-width: 992px) {
    .postscript-contact .section-subheader {
        font-size: 18px;
    }
    .postscript-contact .gform_wrapper .gform-body {
        padding: 0px;
        background: unset;
    }
    .postscript-contact .gform_wrapper.gravity-theme .gform_fields {
        grid-row-gap: 16px;
    }
    .postscript-contact {
        padding: 50px 0 45px;
    }
}


.footer .quick-link::after {
    display: inline-block;
    content: '\e910';
    position: relative;
    font-family: 'ryno-theme-icons';
    font-weight: 700;
    font-size: 12px;
    margin-left: 5px;
}
.footer .quick-link {
    position: relative;
}
.footer .quick-links-col {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.footer .quick-links {
    display: flex;
    gap: 56px;
}
.footer .available-tagline::before {
    display: inline-block;
    content: '';
    position: relative;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/clock-icon.svg');
}
.footer .available-tagline {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 700;
    gap: 10px;
}
.footer .company-phone--link::before {
    display: inline-block;
    content: '';
    position: relative;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/phone-icon.svg');
}
.footer .company-phone--link span {
    font-family: var(--home-heading-font);
    font-size: 24px;
    font-weight: 800;
    color: var(--color-blue);
}
.footer .col--right .footer-box,
.footer .col--center .footer-box {
    gap: 16px;
}
.footer .col--left .footer-box {
    align-items: center;
    justify-content: center;
}
.footer .social-icons {    
    justify-content: center;
    margin-top: 30px;
}
.footer .footer-box-header {
    color: var(--color-dark-green);
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
}
.footer .footer-box {
    display: flex;
    flex-direction: column;
}
.footer {
    padding: 70px 0;
}
@media (max-width: 992px) {
    .footer .quick-links-col {
        gap: 16px;
    }
    .footer .quick-links {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
    .footer .col--center .footer-box {
        margin: 40px 0 36px;
    }
    .footer .footer-box {
        text-align: center;
        align-items: center;
    }
    .footer {
        padding: 53px 0 40px;
    }
}

.rights-reserved::after,
.rights-reserved::before {
    display: inline-block;
    content: '';
    position: relative;
    width: 1px;
    height: 22px;
    margin: 0 12px;
    background-color: white;
}
.rights-reserved {
    position: relative;
    display: flex;
    align-items: center;
}
.copyright-content-wrapper {
    display: flex;
    justify-content: center;
}
.site-by-wrapper {
    display: flex;
    justify-content: center;
    font-weight: 700;
    margin-top: 10px;
    text-decoration: underline;
}
.copyright .desktop-only {
    display: flex;
}
.copyright {
    font-size: 14px;
}
@media (max-width: 992px) {
    .copyright .mobile-only {
        display: flex;
    }
    .rights-reserved::before {
        display: none;
    }
    .site-by-wrapper {
        text-align: center;
    }
    .copyright-content-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}


/* WIDGETS */
.cta.financing .cta-icon,
.cta.maintenance .cta-icon {
    left: 0;
}
.cta.cooling .cta-icon,
.cta.heating .cta-icon {
    right: 0;
}


.cta.financing .cta-sublabel::before,
.cta.maintenance .cta-sublabel::before {
    display: block;
    margin-right: 20px;
}
.cta.financing .cta-sublabel::after,
.cta.maintenance .cta-sublabel::after {
    display: none;
}
.cta-sublabel::before,
.cta-sublabel::after {
    display: inline-block;
    content: '';
    position: relative;
    width: 21px;
    height: 16px;
    margin-left: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/cta-arrow.svg');
}
.cta-sublabel::before {
    display: none;
    margin-left: 0px;
    scale: -1;
}


.cta-item:nth-child(4) .cta-bg-shadow,
.cta-item:nth-child(2) .cta-bg-shadow,
.cta-item:nth-child(4) .cta-bg-hover,
.cta-item:nth-child(2) .cta-bg-hover,
.cta-item:nth-child(4) .cta-bg-default,
.cta-item:nth-child(2) .cta-bg-default {
    scale: -1;
}
.cta-item .cta-bg-shadow {
    display: block;
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left;
    background-image: url('/wp-content/uploads/cta-bg-shadow.svg');
    z-index: -2;
}
.cta-item .cta-bg-hover {
    opacity: 0;
    display: block;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left;
    background-image: url('/wp-content/uploads/cta-bg-hover.svg');
    transition: var(--fx-speed);
    z-index: -1;    
}
.cta-item .cta-bg-default {
    display: block;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center left;
    background-image: url('/wp-content/uploads/cta-bg-default.svg');
    transition: var(--fx-speed);
    z-index: -1;
}


.cta.financing,
.cta.maintenance {
    margin-left: 158px;
}
.cta.cooling,
.cta.heating {
    margin-right: 158px;
    text-align: right;
    justify-content: flex-end;
}


.cta-icon {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 109px;
    height: 109px;
    border-radius: 100%;
    background-color: var(--color-blue);
    transition: var(--fx-speed);
}
.cta-sublabel {
    position: relative;
    display: flex;
    align-items: center;
    color: var(--color-blue);
    font-family: var(--home-body-font);
    font-size: 20px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 4px;
    transition: var(--fx-speed);
}
.cta-label {
    font-family: var(--home-heading-font);
    font-size: 30px;
    font-weight: 700;
    line-height: 120%;
    text-transform: uppercase;
    transition: var(--fx-speed);
}
.cta-label-wrapper {
    display: flex;
    flex-direction: column;
}
.cta {
    display: flex;
    align-items: center;
    width: 100%;
}
.cta-item {
    position: relative;
    display: flex;
    width: 511.147px;
    height: 120px;
    border-radius: 20px;
    transition: var(--fx-speed);
}
.ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 32px;
}
.cta-wrapper {
    --fx-speed: 0.225s ease-out;
    margin-top: 90px;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .cta.maintenance .cta-icon,
    .cta.financing .cta-icon {
        left: -70px;
    }
    .cta.cooling .cta-icon,
    .cta.heating .cta-icon {
        right: -70px;
    }
    .cta-icon {
        width: 90px;
        height: 90px;
    }
    .cta-item {
        width: 390px;
    }
}
@media (min-width: 992px) {
    .cta-item:hover .cta-sublabel::after,
    .cta-item:hover .cta-sublabel::before {
        background-image: url('/wp-content/uploads/cta-arrow-hover.svg');
    }
    .cta-item:hover .cta-icon {
        background-color: var(--color-dark-blue);
    }
    .cta-item:hover .cta-bg-hover {
        opacity: 1;
        background-image: url('/wp-content/uploads/cta-bg-hover.svg');
    }
    .cta-item:hover .cta-sublabel,
    .cta-item:hover .cta {
        color: white;
    }
}
@media (max-width: 992px) {
    .cta.financing .cta-icon,
    .cta.maintenance .cta-icon,
    .cta.cooling .cta-icon,
    .cta.heating .cta-icon {
        left: unset;
        right: 0px;
    }
    
    .cta.financing .cta-sublabel::before,
    .cta.maintenance .cta-sublabel::before {
        display: none;
        margin-right: 0;
    }
    .cta.financing .cta-sublabel::after,
    .cta.maintenance .cta-sublabel::after {
        display: block;
    }
    .cta-sublabel::before,
    .cta-sublabel::after {
        display: inline-block;
        content: '';
        position: relative;
        width: 21px;
        height: 16px;
        margin-left: 15px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url('/wp-content/uploads/cta-arrow.svg');
    }
    .cta-sublabel::before {
        display: none;
        margin-left: 0px;
        scale: 1;
    }
    .cta-sublabel {
        justify-content: flex-end;
    }
    
    .cta-item:nth-child(4) .cta-bg-shadow,
    .cta-item:nth-child(2) .cta-bg-shadow,
    .cta-item:nth-child(4) .cta-bg-hover,
    .cta-item:nth-child(2) .cta-bg-hover,
    .cta-item:nth-child(4) .cta-bg-default,
    .cta-item:nth-child(2) .cta-bg-default {
        scale: 1;
    }
    .cta-item .cta-bg-shadow {
        top: -10px;
        left: -10px;
        width: 90%;
        height: 90%;
    }
    .cta-item .cta-bg-default {
        background-image: url('/wp-content/uploads/cta-bg-mobile-default.svg');
    }
    
    .cta.financing,
    .cta.maintenance,
    .cta.cooling,
    .cta.heating {
        margin-left: unset;
        margin-right: 105px;
        text-align: right;
        justify-content: flex-end;
    }
    
    .cta-item:nth-child(4) .cta-icon img {
        width: 25px;
    }
    .cta-icon img {
        width: 40px;
    }
    .cta-icon {
        width: 80px;
        height: 80px;
    }
    .cta-sublabel {
        font-size: 16px;
        line-height: 100%;
    }
    .cta-label {
        font-size: 24px;
        line-height: 100%;
        margin-bottom: 10px;
    }
    .cta-item {
        width: 300px;
        height: 98px;
    }
    .ctas {
        gap: 24px;
        justify-content: center;
    }
    .cta-wrapper {
        margin-top: 56px;
    }
}


.list-item::before {
    display: inline-block;
    content: '';
    position: relative;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/green-check-icon.svg');
}
.list-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}
.list-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.list-items-wrapper {
    display: flex;
    gap: 24px;
}
@media (max-width: 992px) {
    .list-col {
        gap: 12px;
    }
    .list-items-wrapper {
        flex-direction: column;
        gap: 12px;
    }
}


.awards img:nth-child(4) {
    width: 130px;
    object-fit: contain;
}
.awards img:nth-child(3) {
    width: 221px;
    height: 80px;
    margin-top: auto;
    margin-bottom: auto;
}
.awards {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.awards-wrapper a {
    align-self: center;
    height: 100%;
}
.awards-wrapper {
    margin-bottom: 100px;
}
@media (max-width: 992px) {
    .awards img:nth-child(3) {
        max-width: 170px;
    }
    .awards img {
        max-width: 100px;
        height: 80px;
        object-fit: contain;
    }
    .awards {
        flex-wrap: wrap;
        gap: 20px;
    }
    .awards-wrapper {
        max-width: 300px;
        margin: auto;
        margin-bottom: 48px;
    }
}


.guarantee-card-icon img {
    position: relative;
    width: 72px;
    height: 72px;
    object-fit: cover;
}
.guarantee-card-icon {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 121px;
    height: 100%;
    background-color: var(--color-blue);
}
.guarantee-card::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    opacity: 0.15;
}
.guarantee-card {
    position: relative;
    display: flex;
    padding: 24px 0px;
    padding-right: 30px;
    padding-left: calc(121px + 30px);
    border-radius: 24px;
    overflow: hidden;
}
.guarantee-cards {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
@media (max-width: 992px) {
    .guarantee-card-icon img {
        width: 40px;
        height: 40px;
    }
    .guarantee-card-icon {
        width: 100%;
        height: 80px;
    }
    .guarantee-card {
        padding: 110px 20px 24px;
    }
}


.principle-item:nth-child(2) span {
    max-width: 100px;
}
.principle-item span {
    color: var(--color-dark-blue);
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    max-width: 150px;
}
.principle-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 200px;
    height: 200px;
    gap: 15px;
    border-radius: 24px;
    background-color: white;
}
.principle-items {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.principles-wrapper h5 {
    text-align: center;
    margin-bottom: 30px;
}
@media (max-width: 992px) {
    .principles-wrapper h5 {
        margin-bottom: 24px;
    }
    .principle-items {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }
}


.review-slide .review-social-icon {
    display: block;
    content: '';
    position: relative;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/google-icon.svg');
}
.review-slide .review-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
}
.review-slide .review-inner {
    display: block;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 60px;
    padding-right: 60px;
    padding-bottom: 40px;
}
.review-slide .review-stars {
    display: block;
    width: 317px;
    height: 36px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/stars.svg');
}
.review-slide:nth-child(2) .review-top {
    background-color: var(--color-dark-green);
}
.review-slide:nth-child(1) .review-top {
    background-color: var(--color-dark-blue);
}
.review-slide .review-top {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}
.review-slide:nth-child(2) .review {
    background-color: var(--color-pale-green);
    border-color: var(--color-dark-green);
}
.review-slide:nth-child(1) .review {
    background-color: #BFD0FF;
    border-color: var(--color-dark-blue);
}
.review {
    display: flex;
    flex-direction: column;
    margin: auto;
    width: 100%;
    max-width: 550px;
    min-height: 377px;
    border-radius: 40px;
    border-width: 2px;
    border-style: solid;
    filter: drop-shadow(0px 12px 28px rgba(0, 0, 0, 0.05));
    overflow: hidden;
}
.review-slider {
    display: flex;
    justify-content: center;
    gap: 34px;
}
@media (max-width: 992px) {
    .review {
        max-width: calc(100% - 30px);
    }
    .review-slide .review-stars {
        max-width: 211px;
    }
    .review-slide .review-inner {
        padding-left: 24px;
        padding-right: 24px;
        padding-bottom: 24px;
    }
    .review-slider {
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
    }
}

.copyright .privacy-policy::before,
.rights-reserved::after, 
.rights-reserved::before {
  display: inline-block;
  content: '';
  position: relative;
  width: 1px;
  height: 22px;
  margin: 0 12px;
  background-color: white;
}
.copyright .privacy-policy,
.rights-reserved {
  position: relative;
  display: flex;
  align-items: center;
}
.copyright .privacy-policy {
    font-weight: 700;
    text-decoration: underline;
}
@media (max-width: 992px) {
    .copyright .desktop-only {
        display: none;
    }
    .copyright .privacy-policy::before,
    .rights-reserved::before {
        display: none;
    }
}


/* CHARGE STYLES */
.charge-coupon-button {
    text-transform: uppercase;
    border-radius: 50px;
}
@media only screen and (max-width: 767px) {
    .page-template-page-conversion .conversion-content-four {
        padding-bottom: calc(100vw * (100 / 320));
    }
}
@media (min-width: 992px) {
    .page-template-page-conversion.ac-installation .conversion-header::before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, transparent 100%);
        z-index: -1;
    }
    .page-template-page-conversion .conversion-header {
        position: relative;
        z-index: 1;
    }
}
@media (max-width: 991.98px) {
    .page-template-page-conversion .conversion-page-reviews {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
@media (max-width: 991.98px) {
    .conversion-content-five .color-strip-box a:not(.btn):hover {
        color: var(--color-strip-box-link-color) !important;
        text-decoration: underline !important;
    }
    .conversion-content-five .color-strip-box a:not(.btn)::before {
        display: none;
    }
}

/* ABOUT US PAGE - AFFILIATION LOGO SPACING -- MOBILE */
@media (max-width: 991.98px) {
    .about-us-page--affiliation-logos h2 {
        margin-bottom: 20px;
    }
    .about-us-page--affiliation-logos .col-lg-3 {
        margin-bottom: 30px;
    }
}