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

/* COLORS */
:root {
    --color-blue: #0C8AC0;
    --color-gray: #39382D;
    --color-green: #A6CE39;
    --color-dark-green: #347916;
    --color-dark-orange: #FF8C0B;
    --color-orange: #FAA74A;
}


/* FONTS */
:root {
    --home-heading-font: 'Montserrat', sans-serif;
    --home-body-font: 'Lato', sans-serif;
}
:root {
    --h1-font-size: 42px;
    --h1-line-height: 108%;

    --h2-font-size: 36px;
    --h2-line-height: 133%;


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

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

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

    --h6-font-size: 16px;
    --h6-line-height: 165%;

    --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: 18px;
    --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: capitalize;
    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);
}
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);
    }
}


/* COMMON STYLES */
a:not(.btn):not(.company-phone--link):not(.nav-bar a):not(.social-icons__icon a):not(.cta-item):not(.company-phone-wrapper a):not(.mobile-header__phone):not(.gradient-box a):not(.charge-reviews-button):not(.rsa-grid-template__link) {
    text-decoration: underline;
}
.charge-coupon-button {
    text-decoration: none !important;
    border-radius: 100px;
}

.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;
}
.button-wrapper {
    display: flex;
    gap: 10px;
}
.section-transition {
    position: absolute;
    bottom: calc(100vw * (0 / 1600));
    width: 100vw;
    height: calc(100vw * (450 / 1600));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: scale(1.01);
}
.mobile-only {
    display: none;
}
.mobile-xs-only {
    display: none;
}
.social-icons__icon a:hover {
    color: white;
}
@media (max-width: 991.98px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: block;
    }
}
@media (max-width: 500px) {
    .mobile-only {
        display: none;
    }
    .mobile-xs-only {
        display: block;
    }
}
@media (min-width: 992px) {
    .social-icons__icon:nth-child(5) a:hover {
        background-color: #FF1A1A;        
    }
    .social-icons__icon:nth-child(4) a:hover {
        background-color: #07080B;        
    }
    .social-icons__icon:nth-child(3) a:hover {
        background-color: #0077B5;        
    }
    .social-icons__icon:nth-child(2) a:hover {
        background-color: #4267B2;        
    }
    .social-icons__icon:nth-child(1) a:hover {
        background-color: #4285F4;
    }
    .social-icons__icon a:hover {
        color: white;
    }
}


/* SLICK STYLES */
.slick-dots .slick-active button::before {
    border-color: dodgerblue;
    background-color: dodgerblue;
}
.slick-dots li.slick-active button::before {
    opacity: 1;
}
.slick-dots li button:hover::before {
    border-color: orange;
}
.slick-dots li button::before {
    content: '';
    border: 2px solid dodgerblue;
    background-color: transparent;
    border-radius: 100%;
    opacity: 1;
}


.header .button-wrapper {
    gap: 40px;
}
.header .company-phone-wrapper a {
    color: #39382D;
}
.header .company-phone-wrapper::before {
    display: inline-block;
    content: '';
    position: relative;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/phone-icon.svg');
}
.header .company-phone-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    font-family: var(--home-heading-font);
    gap: 10px;
    font-size: 24px;
    font-weight: 500;
}
.header-col--left .header-box {
    justify-content: center;
    height: 100%;
}
.header-col--right .header-box {
    height: 100%;
    padding-top: 28px;
    gap: 10px;
    align-items: flex-end;
}
.header-box {
    display: flex;
    flex-direction: column;
}
.sticky-active {
    box-shadow: unset;
}
.header-wrapper {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.4);
    background: linear-gradient(3deg, #CEF0FF 6.56%, #FAFDFF 97.6%);
}
.nav.col-12 .main-navigation li.top-level > a {
    color: #39382D;
    font-family: var(--home-heading-font);
    font-size: 16px;
    font-weight: 800;
}
.header-overbar .serving-text-wrapper::before {
    display: inline-block;
    content: '';
    position: relative;
    width: 12px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/location-icon.svg');
}
.header-overbar .serving-text-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--home-body-font);
    font-size: 15px;
    font-weight: 700;
}
.header-overbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .main-navigation a,
    .header-overbar .serving-text-wrapper,
    .main-navigation > li.has-dropdown::after,
    .nav.col-12 .main-navigation li.top-level > a {
        font-size: 12px !important;
    }
}
@media (max-width: 992px) {
    .mobile-header {
        background: linear-gradient(0deg, #E8F8FF 0%, #FFF 100%);
    }
}
/* MOBILE NAV STYLES */
@media (max-width: 992px) {
    .nav.col-12 .main-navigation li.top-level > a {
        font-weight: 600;
        text-transform: unset;
    }
    #menu-overbar-menu li > a {
        font-size: 16px;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .main-navigation > li.has-dropdown::after {
        color: white;
    }
}


/* COMMON PAGE SECTIONS */
.page-section {
    position: relative;
}


/* BUTTONS */
.btn.btn-tertiary {
    color: var(--color-blue);
    border-color: var(--color-blue);
    background: #E6F8FF;
}
.btn.btn-secondary {
    background-color: var(--color-blue);
}
.btn.btn-primary {
    background-color: var(--color-dark-green);
}
.btn span::after {
    display: block;
    content: '';
    position: absolute;
    width: 23px;
    height: 13px;
    top: 2px;
    right: 0px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/btn-hover-arrow.svg');
    transition: var(--btn-fx-speed);
    opacity: 0;
}
.btn span {
    position: relative;
    display: flex;
    align-items: center;
    width: max-content;
    margin: auto;
    transition: var(--btn-fx-speed);
}
.btn {
    position: relative;
    
    display: inline-block;
    max-width: 100%;
    
    
    font-family: var(--home-heading-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 100%;
    text-transform: capitalize;
    

    border-radius: 25px;
    border-style: solid;
    border-color: transparent;
    border-width: 2px;
    
    
    padding-top: 8.2px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;

    
    transition: var(--btn-fx-speed);
    --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: 228px;
    max-width: 100%;
}
@media (min-width: 992px) {
    .btn:hover span::after {
        right: calc(-23px - 5px);
        opacity: 1;
    }
    .btn:hover span {
        transform: translateX(-10px);
    }
    .btn:hover.btn-tertiary {
        border-color: var(--color-dark-orange);
        background: #FFE7CC;
    }
    .btn:hover.btn-secondary,
    .btn:hover.btn-primary {
        border-color: transparent;
        background-color: var(--color-dark-orange);
    }
}


/* FORM OVERRIDES */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
}
.select2-container--default .select2-selection--single {
    display: flex;
    height: 42.3px;
    align-items: center;
}
form .select2-container {
    font-size: 16px;
}


/* PAGE SECTIONS */
.home .page-section--hero .reviews-btn {
    width: calc(100vw * (149 / var(--current-screen-size)));
    max-width: unset;
    min-width: unset;
    height: calc(100vw * (44 / var(--current-screen-size)));
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/google-review-btn.svg');
    border-radius: 100px;
    box-shadow: 0px 4px 4px 0px rgba(167, 169, 172, 0.65);
}
.home .page-section--hero .btn {
    font-size: calc(100vw * (16 / var(--current-screen-size)));
    min-width: calc(100vw * (260 / var(--current-screen-size)));
}
.page-section--hero .buttons-wrapper {
    display: flex;
    align-items: center;
    gap: calc(100vw * (24 / var(--current-screen-size)));
}
.page-section--hero .service-callout:last-child::after {
    display: none;
}
.page-section--hero .service-callout::after {
    display: inline-block;
    content: '';
    position: relative;
    width: calc(100vw * (7 / var(--current-screen-size)));
    height: calc(100vw * (7 / var(--current-screen-size)));
    margin: calc(100vw * (14 / var(--current-screen-size)));
    border-radius: 100%;
    background-color: #8ED8F8;
}
.page-section--hero .service-callout {
    position: relative;
    display: flex;
    align-items: center;
    font-family: var(--home-body-font);
    font-size: calc(100vw * (15 / var(--current-screen-size)));
    font-weight: 600;
    letter-spacing: calc(100vw * (1.5 / var(--current-screen-size)));
    text-transform: uppercase;
}
.page-section--hero .service-callouts {
    display: flex;
    padding: calc(100vw * (13 / var(--current-screen-size))) calc(100vw * (15 / var(--current-screen-size)));
    padding-top: calc(100vw * (5 / 1600));
    padding-bottom: calc(100vw * (5 / 1600));
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    margin-top: calc(100vw * (20 / var(--current-screen-size)));
    margin-bottom: calc(100vw * (40 / var(--current-screen-size)));
    background: rgba(255, 255, 255, 0.50);
    box-shadow: 0px 0px 50px 0px #CCE8F9;
    backdrop-filter: blur(1.8272604942321777px);
}
.page-section--hero .hero-header h1 {
    font-size: calc(100vw * (42 / var(--current-screen-size)));
    text-align: center;
}
.page-section--hero .hero {
    display: flex;
    position: relative;
    flex-direction: column;
    margin-left: auto;
    align-items: center;
    max-width: calc(100vw * (710 / var(--current-screen-size)));
}
.page-section--hero .section-decoration {
    display: block;
    content: '';
    position: absolute;
    bottom: -120px;
    right: 0;
    width: calc(100vw * (785 / var(--current-screen-size)));
    height: calc(100vw * (344 / var(--current-screen-size)));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/company-van.png');
}
.page-section--hero {
    --current-screen-size: 1600;
    padding-top: calc(100vw * (80 / var(--current-screen-size)));
    padding-bottom: calc(100vw * (250 / var(--current-screen-size)));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left;
    background-image: url('/wp-content/uploads/hero-bg-desktop.png');
    z-index: 10;
}
@media (min-width: 992px) and (max-width: 993px) {
    .page-section--hero .hero-header {
        max-width: 95%;
    }
}
@media (max-width: 992px) {
    .home .page-section--hero .reviews-btn {
        width: calc(100vw * (149 / var(--current-screen-size)));
        height: calc(100vw * (44 / var(--current-screen-size)));
    }
    .home .page-section--hero .btn {
        font-size: calc(100vw * (16 / var(--current-screen-size)));
        min-width: calc(100vw * (260 / var(--current-screen-size)));
    }
    .page-section--hero .buttons-wrapper {
        flex-direction: column;
        gap: calc(100vw * (24 / var(--current-screen-size)));
    }
    .page-section--hero .service-callout:nth-child(3)::after {
        display: none;
    }
    .page-section--hero .service-callout::after {
        width: 8px;
        height: 8px;
        margin: 8px;
    }
    .page-section--hero .service-callout {
        font-size: calc(100vw * (14 / var(--current-screen-size)));
        font-weight: 500;
        font-family: var(--home-heading-font);
        letter-spacing: 0px;
    }
    .page-section--hero .service-callouts {
        flex-wrap: wrap;
        max-width: calc(100vw * (486 / var(--current-screen-size)));
        padding: calc(100vw * (10 / var(--current-screen-size)));
        margin-top: calc(100vw * (12 / var(--current-screen-size)));
        margin-bottom: calc(100vw * (24 / var(--current-screen-size)));
    }
    .page-section--hero .hero-header h1 {
        font-size: calc(100vw * (28 / var(--current-screen-size)));
    }
    .page-section--hero .section-decoration {
        width: calc(100vw * (486 / var(--current-screen-size)));
        height: calc(100vw * (324 / var(--current-screen-size)));
        right: 50%;
        transform: translateX(50%);
        bottom: calc(100vw * (-145 / var(--current-screen-size)));
        background-size: contain;
        background-image: url('/wp-content/uploads/company-van-mobile-xs.png');
    }
    .page-section--hero {
        --current-screen-size: 576;
        padding-top: calc(100vw * (32 / var(--current-screen-size)));
        padding-bottom: calc(100vw * (212 / var(--current-screen-size)));
        background-size: cover;
        background-image: url('/wp-content/uploads/hero-bg-mobile.png');
    }
}
@media (max-width: 575px) {
    .home .page-section--hero .reviews-btn {
        width: calc(100vw * (149 / var(--current-screen-size)));
        height: calc(100vw * (44 / var(--current-screen-size)));
    }
    .home .page-section--hero .btn.btn-primary {
        font-size: 16px;
        min-width: 228px;
    }
    .page-section--hero .buttons-wrapper {
        flex-direction: column;
        gap: calc(100vw * (24 / var(--current-screen-size)));
    }
    .page-section--hero .service-callout:nth-child(3)::after {
        display: none;
    }
    .page-section--hero .service-callout::after {
        width: 8px;
        height: 8px;
        margin: 8px;
    }
    .page-section--hero .service-callout {
        font-size: calc(100vw * (14 / var(--current-screen-size)));
        font-family: var(--home-heading-font);
        letter-spacing: 0px;
    }
    .page-section--hero .service-callouts {
    	gap: 20px 0;
        max-width: calc(100vw * (300 / var(--current-screen-size)));
        flex-wrap: wrap;
        padding: calc(100vw * (10 / var(--current-screen-size)));
        margin-top: calc(100vw * (12 / var(--current-screen-size)));
        margin-bottom: calc(100vw * (24 / var(--current-screen-size)));
    }
    .page-section--hero .hero-header h1 {
        font-size: calc(100vw * (28 / var(--current-screen-size)));
    }
    .page-section--hero .section-decoration {
        width: calc(100vw * (412 / var(--current-screen-size)));
        height: calc(100vw * (274 / var(--current-screen-size)));
        right: 50%;
        transform: translateX(50%);
        bottom: calc(100vw * (-122 / var(--current-screen-size)));
        background-size: contain;
        background-image: url('/wp-content/uploads/company-van-mobile-xs.png');
    }
    .page-section--hero {
        --current-screen-size: 320;
        padding-top: calc(100vw * (32 / var(--current-screen-size)));
        padding-bottom: calc(100vw * (212 / var(--current-screen-size)));
        background-size: cover;
        background-image: url('/wp-content/uploads/hero-bg-mobile-xs.png');
    }
}


.multi-section-wrapper::before {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 780px;
    mix-blend-mode: soft-light;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: 
        linear-gradient(to bottom, rgba(134, 191, 218, .7) 0%, transparent 30%),
        url('/wp-content/uploads/dotted-blue-bg.png');
    z-index: -1;
}
.multi-section-wrapper {
    position: relative;
    overflow: hidden;
    background: linear-gradient(to bottom, #d6f2fe 0%, #e9f8ff 50%, #e9f8ff 50%,  rgba(142, 216, 248, 0.70) 100%);
    z-index: 1;
}
@media (max-width: 992px) {
    .multi-section-wrapper {
        background: #E8F8FF;
    }
}


.page-section--main .col-lg-5 {
    width: 100%;
    max-width: 553px;
    margin-left: auto;
    align-self: center;
}
.page-section--main .col-lg-7 {
    max-width: 510px;
}
.page-section--main .section-subheader {
    color: #A9A791;
    margin-top: 8px;
    margin-bottom: 32px;
}
.page-section--main .blur-orb.blue {
    top: -200px;
    left: -200px;
}
.page-section--main {
    padding-top: 100px;
    padding-bottom: 99px;
    z-index: 9;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .page-section--main .col-lg-5 {
        max-width: 453px;
    }
    .page-section--main .col-lg-7 {
        max-width: 470px;
    }
}
@media (max-width: 992px) {
    .page-section--main .col-lg-7 {
        max-width: unset;
    }
    .page-section--main .col-lg-5 {
        max-width: unset;
        margin-left: unset;
    }
    .page-section--main .blur-orb {
        display: none;
    }
    .page-section--main {
        padding-top: calc(100vw * (122 / 576));
        padding-bottom: 60px;
    }
}
@media (max-width: 575px) {
    .page-section--main {
        padding-top: calc(100vw * (122 / 320));
    }
}


.page-section--best-choice .col-lg-6:nth-child(2) {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.page-section--best-choice .section-subheader {
    color: var(--color-blue);
    font-weight: 700;
    line-height: 150%;
}
.page-section--best-choice .blur-orb.green {
    top: 0;
    right: -200px;
}
.page-section--best-choice .blur-orb.blue {
    left: -200px;
    bottom: -200px;
}
.page-section--best-choice .blur-orb.orange {
    top: -400px;
    left: -200px;
}
.page-section--best-choice {
    padding-top: 46px;
    padding-bottom: 169px;
    z-index: 2;
}
@media (max-width: 992px) {
    .page-section--best-choice .col-lg-6:nth-child(2) {
        display: none;
    }
    .page-section--best-choice .blur-orb {
        display: none;
    }
    .page-section--best-choice {
        padding-top: 0px;
        padding-bottom: 86px;
    }
}
@media (max-width: 500px) {
    .page-section--best-choice .mobile-only {
        display: block;
    }
}


.page-section--trust-value-care .section-decoration {
    position: relative;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1116px;
    height: 75px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/trust-care-value-text.svg');
}
.page-section--trust-value-care {
    padding-top: 50px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/house-bg-image-desktop.png');
}
@media (min-width: 992px) and (max-width: 1600px) {
    .page-section--trust-value-care .section-decoration {
        bottom: calc(100vw * (-11 / 1600));
        max-width: calc(100vw * (1116 / 1600));
        height: calc(100vw * (75 / 1600));
    }
}
@media (max-width: 992px) {
    .page-section--trust-value-care .section-decoration {
        display: none;
    }
    .page-section--trust-value-care .col {
        padding: 0px;
    }
    .page-section--trust-value-care::before {
        display: block;
        content: '';
        position: relative;
        top: 0;
        left: 0;
        width: 100vw;
        height: calc(100vw * (227 / 576));
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        background-image: url('/wp-content/uploads/house-bg-image-mobile.png');
        z-index: -1;
    }
    .page-section--trust-value-care .container {
        max-width: unset;
    }
    .page-section--trust-value-care {
        padding-top: 0px;
        background-image: none;
    }
}


.page-section--banner .col-lg-3 {
    display: flex;
    align-items: center;
}
.page-section--banner {
    padding: 40px 0 48px;
    background-color: var(--color-green);
}
@media (min-width: 450px) and (max-width: 992px) {
    .page-section--banner .section-subheader {
        max-width: unset;
    }
}
@media (max-width: 992px) {
    .page-section--banner .col-lg-3 {
        justify-content: center;
        margin-top: 20px;
    }
    .page-section--banner .section-subheader {
        max-width: 250px;
        margin: auto;
        margin-bottom: 5px;
        color: black;
    }
    .page-section--banner .section-header h4 {
        color: black;
        font-size: 20px;
    }
    .page-section--banner {
        text-align: center;
    }
}


.page-section--service-cards .service-cards {
    gap: 60px;
}
.page-section--service-cards .section-decoration.two {
    bottom: 296px;
    right: 26px;
}
.page-section--service-cards .section-decoration.one {
    top: 482px;
    left: 15px;
}
.page-section--service-cards .section-decoration {
    display: block;
    content: '';
    position: absolute;
    width: 206px;
    height: 255px;
    opacity: 0.6;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/single-icon.svg');
    z-index: -1;
}
.page-section--service-cards .blur-orb.green {
    top: 50%;
    right: -200px;
}
.page-section--service-cards .blur-orb.blue.two {
    top: unset;
    bottom: 0;
}
.page-section--service-cards .blur-orb.blue {
    top: -200px;
    left: -200px;
}
.page-section--service-cards::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('');
    z-index: -1;
}
.page-section--service-cards {
    padding: 196px 0 88px;
    overflow: hidden;
    background: linear-gradient(to top, #8ed8f838 0%, #8ED8F8CC 100%);
    z-index: 1;
}
@media (max-width: 992px) {
    .page-section--service-cards .service-card-item:last-child .service-card {
        box-shadow: none;
    }
    .page-section--service-cards .service-card-item:last-child {
        box-shadow: none;
    }
    .page-section--service-cards .service-card-item {
        flex-direction: column;
        margin-top: 0px;
        gap: 0px;
    }
    .page-section--service-cards .service-cards {
        gap: 0px;
    }
    .page-section--service-cards .section-decoration,
    .page-section--service-cards .blur-orb {
        display: none;
    }
    .page-section--service-cards .col {
        padding: 0px;
    }
    .page-section--service-cards .container {
        max-width: unset;
    }
    .page-section--service-cards {
        padding-top: 0px;
        padding-bottom: 0px;
    }
}


.page-section--testimonials .section-content-wrapper .button-wrapper {
    justify-content: center;
}
.page-section--testimonials .section-subheader {
    color: var(--color-blue);
}
.page-section--testimonials .section-header-wrapper {
    text-align: center;
}
.page-section--testimonials {
    z-index: 2;
    padding-top: 100px;
    padding-bottom: 270px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url('/wp-content/uploads/testimonials-bg-desktop.png');
}
@media (max-width: 992px) {
    .page-section--testimonials {
        padding-top: 60px;
        background-position: center bottom;
        background-image:
            linear-gradient(to bottom, #FFF 0%, transparent 70%),
            url('/wp-content/uploads/testimonials-bg-mobile-xs.png');
    }
}
@media (max-width: 576px) {
    .page-section--testimonials {
        background-position: center bottom;
        background-image:
            linear-gradient(to bottom, #FFF 0%, transparent 23%),
            url('/wp-content/uploads/testimonials-bg-mobile-xs.png');
    }
}


.footer .company-phone--link::before {
    background-image: url('/wp-content/uploads/phone-icon.svg');
}
.footer .company-phone--link {
    position: relative;
    font-family: var(--home-heading-font);
    font-size: 20px;
}
.footer .social-icons__icon a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000000;
    width: 38px;
    height: 38px;
    border-radius: 100%;
    background-color: #A9A791;
}
.footer .social-icons {
    display: flex;
    gap: 16px;
    margin: 20px 0;
}
.footer ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    list-style: none;
    padding: 0;
    grid-gap: 8px;
}
.footer h5 {
    display: block;
    margin-bottom: 10px !important;
}
.footer .company-logo img {
    width: 206px;
    height: 58px;
}
.footer .footer-col.last {
    width: 100%;
    max-width: 258px;
}
.footer .footer-col .footer-box--3 p:last-child {
    max-width: 150px;
}
.footer .footer-col .footer-box--3 p {
    max-width: 190px;
}
.footer .footer-col .footer-box--2 p {
    max-width: 160px;
}
.footer .footer-col .footer-box--1 {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer .footer-col p {
    font-size: 18px;
}
.footer .row {
    justify-content: space-between;
}
.footer .row > * {
    width: unset;
    padding: unset;
}
.footer .col-lg-12 {
    width: 100%;
}
.footer .btn > span {
    color: white;
}
.footer a:hover {
    color: #39382D;
}
.footer {
    padding-bottom: 80px;
    background: #E8F8FF;
}
@media (min-width: 576px) and (max-width: 992px) {
    .footer .footer-col:nth-child(4) {
        width: 30%;
    }
    .footer .footer-col:nth-child(3) {
        width: 30%;
    }
    .footer .footer-col:nth-child(2) {
        width: 100%;
    }
    .footer .footer-col:nth-child(5) {
        width: 100%;
    }
    .footer .row {
        flex-direction: row !important;
    }
}
@media (max-width: 992px) {
    .footer .footer-box {
        display: flex;
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    .footer .row {
        flex-direction: column;
        justify-content: center;
        gap: 40px;
    }
    .footer {
        padding-bottom: 40px;
        background-color: white;
    }
}
@media (max-width: 575px) {
    .footer .footer-col.last {
        max-width: unset;
    }
}


.copyright .vertical-divider {
    display: inline-block;
    content: '';
    position: relative;
    width: 1px;
    height: 22px;
    background: white;
}
.copyright .col-lg-12,
.copyright .col {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}
.site-by {
    margin-top: 10px;
    font-weight: 700;
}
@media (max-width: 992px) {
    .copyright .vertical-divider {
        margin: 0 12px;
    }
    .copyright .col {
        gap: 5px;
        flex-direction: column;
    }
}


/* WIDGETS */
.cta-icon::before {
    display: block;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(50% 50% at 50% 50%, var(--Color-Brand-Color-4, #8ED8F8) 21.5%, #0C8AC0 100%);
    transition: var(--fx-speed);
    opacity: 0;
    z-index: -1;
}
.cta-icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    top: calc(120px - 85px);
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 120px;
    border-radius: 88px;
    background: var(--color-gray);
    transition: var(--fx-speed);
    overflow: hidden;
    z-index: 1;
}
.cta-label span::after {
    display: block;
    content: '';
    position: absolute;
    top: 8px;
    right: 0;
    width: 27px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/hover-arrows.svg');
    transition: var(--fx-speed);
    opacity: 0;
}
.cta-label span {
    position: relative;
    display: flex;
    align-items: center;
    font-family: var(--home-heading-font);
    transition: var(--fx-speed);
}
.cta-label {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 79px;
    color: var(--color-gray);
    font-weight: 700;
    font-size: 16px;
    background-color: #ECEBE1;
    border-radius: 8px;
    border-bottom: 10px solid var(--color-orange);
    padding-bottom: 7px;
    transition: var(--fx-speed);
}
.cta {
    width: 100%;
}
.cta-item {
    display: flex;
    align-items: flex-end;
    width: 162px;
    height: 164px;
}
.cta-wrapper {
    --fx-speed: 0.225s ease-out;
    display: flex;
    justify-content: space-between;
    margin-top: 68px;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .cta-icon img {
        width: 50px;
    }
    .cta-icon {
        width: 100px;
        height: 100px;
    }
    .cta-item {
        width: 140px;
    }
}
@media (min-width: 992px) {
    .cta-item:hover .cta-icon::before {
        opacity: 1;
    }
    .cta-item:hover .cta-icon {
        transform: translate(-50%, -5px);
    }
    .cta-item:hover .cta-label span::after {
        opacity: 1;
    }
    .cta-item:hover .cta-label span {
        padding-right: 30px;
    }
    .cta-item:hover .cta-label {
        border-color: var(--color-green);
    }
}
@media (max-width: 992px) {
    .cta-wrapper {
        display: none;
    }
}


.blur-orb.green {
    background: radial-gradient(50% 50% at 50% 50%, rgba(166, 206, 57, 0.60) 0%, rgba(166, 206, 57, 0.00) 100%);
}
.blur-orb.orange {
    background: radial-gradient(50% 50% at 50% 50%, rgba(250, 167, 74, 0.60) 0%, rgba(250, 167, 74, 0.00) 100%);
}
.blur-orb.blue {
    background: radial-gradient(50% 50% at 50% 50%, rgba(142, 216, 248, 0.60) 0%, rgba(142, 216, 248, 0.00) 100%);
}
.blur-orb {
    display: block;
    content: '';
    position: absolute;
    width: 599px;
    height: 599px;
    border-radius: 599px;
    z-index: -1;
}


.header-overbar .nav-bar::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--overbar-extra-width, 100vw);
    height: 100%;
    background-color: rgba(142, 216, 248, 0.60);
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 2% 100%);
    opacity: 0.4;
    z-index: -1;
}
.header-overbar .nav-bar {
    position: relative;
    max-width: max-content;
    padding-left: 40px;
    z-index: 999;
}
.main-navigation > li.has-dropdown::after {
    color: #A9A791;
}
#menu-overbar-menu li > a {
    color: #39382D;
    font-family: var(--home-heading-font);
    font-size: 15px;
    font-weight: 600;
    text-transform: capitalize;
    padding-top: 10px;
    padding-bottom: 10px;
}
@media (min-width: 992px) {
    #menu-overbar-menu .has-dropdown ul > li > a {
        color: white;
    }
	#menu-overbar-menu {
		gap: 40px;
		max-width: max-content;
		margin-left: auto;
		z-index: 2;
	}	
}


.best-choice-card-icon {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}
.best-choice-card h6 {
    margin-bottom: 20px;
}
.best-choice-card {
    display: flex;
    max-width: 551px;
    gap: 20px;
}
.best-choice-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 10px;
}
.best-choice-cards-wrapper {
    margin-top: 77px;
}
@media (min-width: 992px) and (max-width: 1199px) {
    .best-choice-card {
        height: 100%;
        max-width: 460px;
    }
    .best-choice-cards {
        gap: 10px;
        justify-content: space-between;
    }
}
@media (min-width: 992px) {    
    .best-choice-card .desktop-only {
        display: flex;
        gap: 24px;
    }
}
@media (max-width: 992px) {
    .best-choice-cards {
    .best-choice-cards {
        gap: 30px 0;
    }
    .best-choice-card-icon {
        width: 80px;
        height: 80px;
    }
    .best-choice-cards-wrapper {
        margin-top: 32px;
    }
}
}
@media (max-width: 576px) {
    .best-choice-card-title {
        max-width: 170px;
    }
}


.service-card-feature-image::before {
    display: block;
    content: '';
    position: absolute;
    top: 24px;
    right: 22px;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: rgba(169, 167, 145, 0.20);
    z-index: -1;
}
.service-card-feature-image img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 4px 4px 8px 0px rgba(57, 56, 45, 0.26);
}
.service-card-feature-image {
    position: relative;
    width: 454px;
    height: 368px;
    z-index: 1;
}
.service-card ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 32px;
    max-width: 532px;
}
.service-card a {
    text-decoration: underline;
    color: #383838;
}
.service-card h6 {
    color: var(--color-blue);
}
.service-card-subtitle h6 {
    text-transform: unset;
}
.service-card-body {
    margin-top: 25px;
}
.service-card-top {
    display: flex;
    justify-content: space-between;
}
.service-card {
    display: flex;
    gap: 32px;
    padding: 32px 40px 40px 40px;
    border-radius: 20px;
    border: 2px solid #FAA74A;
    width: 100%;
    max-width: 676px;
    min-height: 368px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0px 4px 8px 0px rgba(57, 56, 45, 0.20);
}
.service-card-item {
    display: flex;
    gap: 30px;
}
.service-cards {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.service-cards-wrapper {
    margin-bottom: 64px;
}
@media (max-width: 992px) {
    .service-card-feature-image::before {
        display: none;
    }
    .service-card-item:nth-child(2) .service-card-feature-image img {
        object-position: center 80%;
    }
    .service-card-item:nth-child(3) .service-card-feature-image img {
        object-position: center 20%;
    }
    .service-card-feature-image img {
        width: 100%;
        height: 100%;
        border-radius: 0px;
        box-shadow: none;
    }
    .service-card-feature-image {
        position: relative;
        width: 100vw;
        height: calc(100vw * (140 / 576));
        margin-bottom: -20px;
        z-index: -1;
    }
    .service-card ul {
        display: flex;
        flex-direction: column;
        padding-left: 15px;
        margin: 24px 0;
    }
    .service-card {
        border-radius: 20px 20px 0px 0px;
        border: 0px;
        border-top: 3px solid #FAA74A;
        padding: 32px 20px 40px;
        max-width: unset;
        min-height: unset;
        background: rgba(255, 255, 255, 1);
        box-shadow: 0px 4px 8px 0px rgba(57, 56, 45, 0.20);
    }
    .service-card-item:last-child .service-card ul {
        margin-bottom: 0px;
    }
    .service-card-item:last-child {
        border-radius: 20px 20px 0px 0px;
        box-shadow: 0px -4px 8px 0px rgba(57, 56, 45, 0.20);
    }
    .service-card-item {
        margin-top: -20px;
    }
    .service-cards,
    .service-cards-wrapper {
        gap: 0px;
        margin-bottom: 0px;
    }
}
@media (min-width: 600px) and (max-width: 992px) {
    .service-card-item:nth-child(4) .service-card-feature-image {
        background-image: url('/wp-content/uploads/storm-restoration-feature-image-mobile.png');
    }
    .service-card-item:nth-child(3) .service-card-feature-image {
        background-image: url('/wp-content/uploads/attic-insulation-feature-image.png');
    }
    .service-card-item:nth-child(2) .service-card-feature-image {
        background-image: url('/wp-content/uploads/gutters-feature-image-mobile.png');
    }
    .service-card-item:nth-child(1) .service-card-feature-image {
        background-image: url('/wp-content/uploads/window-and-door-feature-image-mobile.png');
    }
    .service-card-feature-image {
        background-size: cover;
        background-position: center;
    }
    .service-card-item:not(:nth-child(3)) img {
        display: none;
    }
}


.review-name {
    color: black;
    font-family: 'Manrope';
    font-size: 14px;
}
.review-social-icon {
    display: block;
    width: 45px;
    height: 33px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/google-icon.svg');    
}
.review-body {
    color: black;
    font-family: "Source Sans 3";
    font-size: 16px;
    font-style: italic;
    max-height: 196px;
    overflow: auto;
}
.review-quote-icon {
    width: 45px;
    height: 33px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/quote-icon.svg');
}
.review-stars {
    display: block;
    width: 103.804px;
    height: 16.75px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/stars.svg');
}
.review-footer {
    display: flex;
    align-items: center;
    gap: 10px;
}
.review-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.review {
    display: flex;
    flex-direction: column;
    padding: 32px 20px 20px 20px;
    max-width: 302px;
    gap: 24px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 16px;
    background-color: white;
    box-shadow: 0px 4px 12px 0px rgba(57, 56, 45, 0.18);
}
.review-slider-wrapper {
    margin: 48px 0 35px;
}
#review-slider .slick-prev::before {
    transform: scale(-1);
}
#review-slider .slick-prev::before,
#review-slider .slick-next::before {
    display: flex;
    content: '';
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('/wp-content/uploads/right-chevron.svg');
}
#review-slider .slick-next {
    right: 35px;
}
#review-slider .slick-prev {
    left: unset;
    right: calc(35px + (44px + 16px));
}
#review-slider .slick-arrow {
    width: 44px;
    height: 44px;
    transform: unset;
    top: calc(100% + 32px);
}
@media (max-width: 992px) {
    .review {
        min-height: 394px;
        justify-content: space-between;
    }
    .review-slide {
        padding: 0 20px 20px;
    }
    .review-slider {
        width: 100vw;
        left: 50%;
        transform: translateX(-50%);
    }
    .review-slider-wrapper {
        margin: 32px 0 112px;
    }
    #review-slider .slick-next {
        right: calc(50% - 30px);
        transform: translateX(50%);
    }
    #review-slider .slick-prev {
        left: calc(50% - 30px);
        right: unset;
        transform: translateX(-50%);
    }
    #review-slider .slick-arrow {
        top: calc(100% + 30px);
    }
}


.cta-box img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -137px;
}
.cta-box .button-wrapper {
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}
.cta-box p {
    font-weight: 700;
    margin: 0px;
}
.cta-box {
    position: relative;
    display: flex;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 975px;
    padding: 40px;
    padding-left: 160px;
    margin-left: 50px;
    gap: 32px;
    border-radius: 20px;
    background-color: var(--color-green);
    box-shadow: 0px 4px 8px 0px rgba(57, 56, 45, 0.20);
    z-index: 2;
}
@media (max-width: 992px) {
    .cta-box .button-wrapper {
        align-items: center;
    }
    .cta-box img {
        position: relative;
        width: 140px;
        height: 155px;
        top: 0;
        left: 50%;
        transform: translatex(-50%);
    }
    .cta-box p {
        margin: 20px 0 30px;
    }
    .cta-box {
        width: 100vw;
        top: 0px;
        left: 50%;
        gap: 0px;
        margin: 0px;
        padding: 40px 20px;
        border-radius: 0px;
        transform: translateX(-50%);
        box-shadow: none;
        flex-direction: column;
    }
}
/* INTERNAL PAGE CTA BOX */
.single-post .footer .cta-box,
.page:not(.home) .footer .cta-box {
    top: 0;
    margin-bottom: 99px;
}
.single-post .footer,
.page:not(.home) .footer {
    padding-top: 106px;
}


/* CHARGE PAGE STYLES */
@media only screen and (min-width: 768px) {
	.page-template-page-conversion .conversion-content-two,
	.page-template-page-conversion .conversion-content-five {
		background-size: 100% 100% !important;
	}
}


/* SERVICE AREAS LINK COLOR HOVER */
.page-template-page-ryno-service-areas .ryno-service-areas [class*="__link"]:hover {
    color: white !important;
}


/* REMOVE SELF LINK ON PAGE */
.page-id-3159 .cta-box .btn-primary {
    display: none;
}


/* HIDE CONVERSION 2 ON THIS PAGE */
.page-id-3119 .conversion-content-two {
    display: none;
}


/* REMOVE WHITE GAP ON MOBILE */
@media (max-width: 992px) {
    .single-post .footer, .page:not(.home) .footer {
        padding-top: 0px;
    }
}


/* REMOVE REQUIRED LEGEND */
.gform_required_legend {
    display: none;
}


/* FORM ROW GAP */
.gform_wrapper.gravity-theme .gform_fields {
    row-gap: 20px;
}


/* PAGE 3396 HEADER */
.page-id-3396 .col-lg-8 h1 {
    color: white !important;
}


/* MAP SPACING */
iframe {
    padding-top: 30px;
    min-height: 350px;
    margin-bottom: -8px;
    background-color: #E8F8FF;
}


/* BETTER VISIBILITY FOR MAP ON CHARGE REVIEWS */
.conversion-page-reviews::after {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: calc(100vw * (700 / 1600));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-image: 
        linear-gradient(to bottom, #e7f8ff 0%, transparent 20%),
        url('/wp-content/uploads/testimonials-bg-desktop.png')
        ;
    z-index: -1;
}
.conversion-page-reviews {
    position: relative;
    background-image: none !important;
    background-color: #e7f8ff;
    padding-bottom: calc(100vw * (700 / 1600)) !important;
    z-index: 1;
}


/* SPECIALS BORDER RADIUS */
.ryno-coupon .coupon-button {
    border-radius: 100px;
}
.ryno-coupon {
    border-radius: 15px;
    overflow: hidden;
}



/* 10/24 */
.social-icons__icon:hover a {
    color: white !important;
}

.hamburger-inner::after,
.hamburger-inner::before,
.hamburger-inner {
    border-radius: 0px;
    background-color: #434343;
}

@media (max-width: 991.98px) {
	.main-navigation > li.has-dropdown::after {
		min-height: 55px;
		color: white;
	}	
}

.sidebar-form .btn {
    min-width: 261px;
    height: 52px;
}
.sidebar-form .h2 {
    color: #000;
    font-size: 24px !important;
    font-weight: 700 !important;
}
.sidebar-form {
    background: #8ED8F8;
}