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

/* color scheme */
:root {
    --colors-core-aqua-flat: #6DB5D4;
    --colors-core-aqua: #5aa5c6;

    --colors-core-blue-flat: #3a3a96;
    --colors-core-blue-dark: #2d2d74;
    --colors-core-blue: #161f88;
    --colors-core-red: #fb151d;
    --colors-core-orange-dark: #fa6925;
    --colors-core-orange-light: #f8a82f;
    --colors-core-yellow: #f4f03d;

    --colors-dark-gray: #1F1F1F;

    --colors-core-white: #FFFFFF;
    --colors-core-black: #000000;
}

/* various resets */

.page-template-page-conversion .conversion-section-one-wrapper {
    overflow-x: unset;
}

.viewport-overflow-wrapper {
    overflow: hidden;
}

body {
    overflow-x: hidden;
}

/* typography */
@font-face {
    font-family: 'Gotham';
    src: url('/wp-content/themes/theme-3-child/fonts/Gotham-Medium.woff2') format('woff2'),
         url('/wp-content/themes/theme-3-child/fonts/Gotham-Medium.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Gotham';
    src: url('/wp-content/themes/theme-3-child/fonts/Gotham-MediumItalic.woff2') format('woff2'),
         url('/wp-content/themes/theme-3-child/fonts/Gotham-MediumItalic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Gotham';
    src: url('/wp-content/themes/theme-3-child/fonts/Gotham-Bold.woff2') format('woff2'),
         url('/wp-content/themes/theme-3-child/fonts/Gotham-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Gotham';
    src: url('/wp-content/themes/theme-3-child/fonts/Gotham-BoldItalic.woff2') format('woff2'),
         url('/wp-content/themes/theme-3-child/fonts/Gotham-BoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Gotham';
    src: url('/wp-content/themes/theme-3-child/fonts/Gotham-Black.woff2') format('woff2'),
         url('/wp-content/themes/theme-3-child/fonts/Gotham-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}


:root {
    --basefont: 'Gotham', sans-serif;
    --boldfont: 'Gotham', sans-serif;

    --rem-size-desktop-px: 20px;
    --rem-size-desktop: 20;

    --rem-size-mobile-px: 20px;
    --rem-size-mobile: 20;

    --rem-size-min-px: 15.75px;
    --rem-size-min: 15.75;

    --default-mobile-font-scaling-factor: 1.0000;

    --basefont-text-transform: none;
    --basefont-font-weight: 400;
    --basefont-line-height: calc(31 / var(--rem-size-desktop));

    --boldfont-text-transform: uppercase;
    --boldfont-letter-spacing: -0.000em;
    --boldfont-font-weight: 900;
    --boldfont-line-height: calc(21.3333333 / var(--rem-size-desktop));

    --margin-bottom-default: calc(1rem * 32 / var(--rem-size-desktop));
}

div,
ul,
ol,
p {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

body {
    font-family: var(--basefont);
    font-size: inherit;
    font-weight: var(--basefont-font-weight);
    line-height: var(--basefont-line-height);
}

html {
    font-size: var(--rem-size-desktop-px);
}

@media (max-width: 767px) {
    html {
        font-size: var(--rem-size-mobile-px);
    }
}

@media (max-width: 575px) {
    html {
        font-size: calc(var(--rem-size-min-px) + (var(--rem-size-mobile) - var(--rem-size-min)) * ((100vw - 320px) / (576 - 320)));
    }
}

/* headings */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    text-transform: var(--boldfont-text-transform);
    font-family: var(--boldfont);
    font-weight: var(--boldfont-font-weight);
    line-height: var(--boldfont-line-height);
    margin-bottom: var(--margin-bottom-default);
}

h1,
.h1 {
    font-size: calc(1rem * 45 / var(--rem-size-desktop));
    line-height: calc(48 / 45);
}

h2,
.h2 {
    font-size: calc(1rem * 39 / var(--rem-size-desktop));
    line-height: calc(42 / 39);
}

h3,
.h3 {
    font-size: calc(1rem * 36 / var(--rem-size-desktop));
    line-height: calc(39 / 36);
}

h4,
.h4 {
    font-size: calc(1rem * 30 / var(--rem-size-desktop));
    line-height: calc(32 / 30);
}

h5,
.h5 {
    font-size: calc(1rem * 24 / var(--rem-size-desktop));
    line-height: calc(26 / 24);
}

h6,
.h6 {
    font-size: calc(1rem * 20 / var(--rem-size-desktop));
    line-height: calc(22 / 20);
}

@media (max-width: 991px) {

    h1,
    .h1 {
        font-size: calc(1rem * 36 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }

    h2,
    .h2 {
        font-size: calc(1rem * 30 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }

    h3,
    .h3 {
        font-size: calc(1rem * 27 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }

    h4,
    .h4 {
        font-size: calc(1rem * 25.5 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }

    h5,
    .h5 {
        font-size: calc(1rem * 24 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }

    h6,
    .h6 {
        font-size: calc(1rem * 20 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }
}

/* social icons */

:root {
    --social-icon-margin-vertical: 0px;
    --social-icon-margin-horizontal: 3px;
}

@media (max-width: 991px) {
    :root {
        --social-icon-margin-vertical: 8px;
        --social-icon-margin-horizontal: 9px;
    }
}

.social-icons .social-icons__icon a span::selection,
.social-icons .social-icons__icon a span {
    background-color: transparent !important;
    color: transparent !important;
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.social-icons .social-icons__icon a:hover {
    transform: translate(0, -9px);
    transition: color 0.09s ease-out, background-color 0.09s ease-out, transform 0.09s ease-out;
}

.social-icons .social-icons__icon a::selection,
.social-icons .social-icons__icon a {
    color: transparent !important;
}

.social-icons .social-icons__icon a {
    border-radius: calc(1em * 200 / 20);
    background-color: var(--colors-core-white);
    width: calc(1em * 53 / 20);
    height: calc(1em * 53 / 20);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.21s ease-out, background-color 0.21s ease-out, transform 0.21s ease-out;
}

.social-icons .social-icons__icon:first-of-type {
    padding-left: 0;
}

.social-icons .social-icons__icon:last-of-type {
    padding-right: 0;
}

.social-icons .social-icons__icon {
    padding: 0;
    padding-top: calc(1 * var(--social-icon-margin-vertical));
    padding-left: calc(1 * var(--social-icon-margin-horizontal));
    padding-right: calc(1 * var(--social-icon-margin-horizontal));
    padding-bottom: calc(1 * var(--social-icon-margin-vertical));
}

.social-icons * {
    font-size: inherit;
    line-height: inherit;
}

.social-icons {
    font-size: calc(1rem * 20 / var(--rem-size-desktop));
    line-height: 1;
    max-width: 100%;
    width: auto;
    margin: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.social-icons__icon--facebook a {
    background-size: calc(1em * 15 / 20) calc(1em * 29 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_FACEBOOK_ICON.png');
}

.social-icons__icon--google a {
    background-size: calc(1em * 34 / 20) calc(1em * 34 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_GOOGLE_ICON.png');
}

.social-icons__icon--twitter a {
    background-size: calc(1em * 31 / 20) calc(1em * 25 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_TWITTER_ICON.png');
}

.social-icons__icon--youtube a {
    background-size: calc(1em * 34 / 20) calc(1em * 23 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_YOUTUBE_ICON.png');
}

.social-icons__icon--linkedin a {
    background-size: calc(1em * 29 / 20) calc(1em * 29 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_LINKEDIN_ICON.png');
}

.social-icons__icon--pinterest a {
    background-size: calc(1em * 34 / 20) calc(1em * 34 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_PINTEREST_ICON.png');
}

.social-icons__icon--instagram a {
    background-size: calc(1em * 29 / 20) calc(1em * 29 / 20);
    background-image: url('/wp-content/uploads/Apollo_Social_INSTA_ICON.png');
}

.social-icons__icon a {
    background-position: center center;
    background-repeat: no-repeat;
}

@media (max-width: 991px) {
    .social-icons {
        font-size: calc(1em * 64 / 53 * 20 / var(--rem-size-desktop));
    }
}

/* buttons */
:root {
    --button-font-size: calc(1rem * 13 / var(--rem-size-desktop));
}

@media (max-width: 991px) {
    :root {
        --button-font-size: calc(1rem * 18 / var(--rem-size-desktop));
    }
}

/*.postscript-contact button[type="submit"],
								.postscript-contact input[type="submit"],
								.sidebar-form button[type="submit"],
								.sidebar-form input[type="submit"],*/
.btn-lg,
.btn-sm,
.btn {
    display: inline-block;
    max-width: 100%;
    font-family: var(--basefont);
    font-size: var(--button-font-size);
    font-weight: var(--boldfont-font-weight);
    line-height: 1;
    letter-spacing: var(--boldfont-letter-spacing);
    text-transform: var(--boldfont-text-transform);
    border-radius: 200em;
    border-style: solid;
    border-color: transparent;
    border-width: calc(1em * 2 / 13);
    padding-top: calc(1em * 10 / 13);
    padding-left: calc(1em * 13 / 13);
    padding-right: calc(1em * 13 / 13);
    padding-bottom: calc(1em * 10 / 13);
    transition:
        all 0s,
        background-position 0.135s ease-out,
        background-color 0.135s ease-out,
        border-color 0.135s ease-out,
        color 0.135s ease-out,
        top 0.135s ease-out,
        left 0.135s ease-out,
        right 0.135s ease-out,
        bottom 0.135s ease-out,
        box-shadow 0.135s ease-out,
        transform 0.135s ease-out !important;
}

.btn-secondary:hover,
.btn-secondary,
.btn-primary:hover,
.btn-primary,
.btn:hover,
.btn {
    border-color: #6DB5D4;
}

.postscript-contact button[type="submit"]:hover,
.postscript-contact input[type="submit"]:hover {
    background-color: var(--colors-core-blue-dark);
}

.postscript-contact button[type="submit"],
.postscript-contact input[type="submit"] {
    border-color: #6DB5D4;
    background-color: var(--colors-core-blue-flat);
}

.sidebar-form button[type="submit"]:hover,
.sidebar-form input[type="submit"]:hover {
    border-color: #889daa;
}

.sidebar-form button[type="submit"],
.sidebar-form input[type="submit"] {
    border-color: #6DB5D4;
}

.postscript-contact .wpcf7-submit,
.page-section .btn,
.header .btn,
.footer .btn,
.home .btn {
    min-width: calc(1em * 225 / 13);
    max-width: 100%;
}

.sidebar-form input[type="submit"] {
    padding: calc(1em * 13 / 13) calc(1em * 16 / 13);
}

.view-article {
    display: none !important;
}

/* various components */

.info-tagline--service-areas > span::before {
    font-family: 'ryno-theme-icons';
    content: '\e92c';
    color: var(--colors-core-blue-flat);
    font-size: 0.8125em;
    margin-right: 0.25em;
}

.company-phone a:hover {
    color: var(--colors-core-orange-dark);
}

.company-phone a {
    color: var(--colors-dark-gray);
}

.company-phone {
    display: inline-block;
    font-family: var(--basefont);
    font-weight: 600;
    font-size: calc(1rem * 15 / var(--rem-size-desktop));
}

ul,
ol,
p {
    margin-bottom: var(--margin-bottom-default);
}

.callout-paragraph {
    font-family: var(--boldfont);
    font-weight: var(--boldfont-font-weight);
    text-transform: var(--boldfont-text-transform);
}

/* custom homepage inline text link styling adjustments */
.home .page-section p a:not(.btn):hover {
    border-bottom: 2px solid #fff;
    background-repeat: no-repeat;
    background-size: 100% 200%;
    background-position: center 100%;
    background-image: linear-gradient(to bottom, transparent, transparent 50%, #fff 50%, #fff);
    transition: color 0.090s ease-out, background-position 0.135s ease-out;
}

.home .page-section p a:not(.btn) {
    padding-right: 1px;
    padding-left: 1px;
    font-weight: 600;
    border-bottom: 2px solid #fff;
    background-repeat: no-repeat;
    background-size: 100% 200%;
    background-position: center 0%;
    background-image: linear-gradient(to bottom, transparent, transparent 50%, #fff 50%, #fff);
    transition: color 0.135s ease-out, background-position 0.135s ease-out;
}

/* desktop header */

:root {
    --header-overbar-font-weight: normal;
}

.header-wrapper.header--sticky {
    -webkit-position: sticky;
    position: sticky;
    top: 0;
    z-index: 360;
}

.header-wrapper.sticky-active {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.50);
    transition: background-color 0.135s ease-out, box-shadow 0.135s ease-out;
}

.header-wrapper {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.125);
    transition: background-color 0.225s ease-out, box-shadow 0.225s ease-out;
}

/* desktop header content */
.desktop-header > .container > .row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.header-col.header-side-col--right {
    text-align: right;
    align-items: flex-end;
}

.header-col.header-side-col--left {
    text-align: left;
    align-items: flex-start;
}

.header-col.header-main-col {
    text-align: center;
    align-items: center;
}

.header-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-col.header-side-col--right .header-box {
    justify-content: space-evenly;
}

.header-col.header-side-col--left .header-box {
    justify-content: space-between;
}

.header-col.header-main-col .header-box {
    justify-content: center;
}

.header-box {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/*-------------------------------------------------------------------------------------------*/
.header.smaller .desktop-header {
    padding-top: calc(1rem * 5 / var(--rem-size-desktop));
    padding-bottom: calc(1rem * 5 / var(--rem-size-desktop));
    transition:
        all 0s,
        padding 0.090s ease-out;
}

.desktop-header {
    padding-top: calc(1rem * 15 / var(--rem-size-desktop));
    padding-bottom: calc(1rem * 18 / var(--rem-size-desktop));
    transition:
        all 0s,
        padding 0.135s ease-out;
}

/*-------------------------------------------------------------------------------------------*/
.header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/*-------------------------------------------------------------------------------------------*/
/* default padding & background color transition settings for sticky header on desktop */
.header-wrapper .desktop-header {
    transition: all 0s ease-out, padding 0.135s ease-out, background-color 0.135s ease-out;
}

.header-wrapper .nav-bar {
    transition: all 0s ease-out, background-color 0.135s ease-out;
}

.header-wrapper .nav-bar,
.header {
    background-color: transparent;
}

.header-wrapper {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 75%;
    background-image: url('/wp-content/uploads/starburst-bg-lg.jpg');
}

.smaller.header .header-button:first-of-type,
.header .header-button:first-of-type {
    margin-top: 0;
}

.smaller.header .header-button:last-of-type,
.header .header-button:last-of-type {
    margin-bottom: 0;
}

.smaller.header .header-button {
    margin: 3px 0;
    transition: margin 0.090s ease-out;
}

.header .header-button {
    margin: 5px 0;
    transition: margin 0.135s ease-out;
}

.header .location-name::before {
    font-family: 'ryno-theme-icons';
    content: '\e92c';
    font-size: 0.875em;
    margin-right: 0.3125em;
    color: var(--colors-core-blue);
}

.header .location-name::after {
    content: ":";
}

.header .location-name {
    font-size: calc(1rem * 18 / 20);
    font-weight: 900;
    text-transform: uppercase;
}

.header .company-phone a > span {
    display: inline-block !important;
    min-width: calc(1em * 8);
}

.header .company-logo {
    max-width: 246px;
    margin-left: auto;
    margin-right: auto;
}

.header-side-col--right .info-tagline--hablamos-espanol {
    font-size: calc(1rem * 14 / var(--rem-size-desktop));
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase
}

/* desktop header nav */
:root {
    --desktop-nav-font-weight: bold;
}

@media (min-width: 992px) {

    /*-------------------------------------------------------------------------------------------*/
    /* ensure active child menus only display on hover (fixes spillover issue from opening menus on mobile nav) */
    .main-navigation > li.has-dropdown.active-child-menu:hover > ul {
        display: block;
    }

    .main-navigation > li.has-dropdown.active-child-menu > ul {
        display: none;
    }

    /*-------------------------------------------------------------------------------------------*/
    /* disable all positioning, padding, and transition behavior on nav (fixes spillover issue from mobile nav) */
    .nav-bar .nav.menu-active,
    .nav-bar .nav {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        padding-top: 0;
        padding-left: 0;
        transition: none !important;
    }

    /*-------------------------------------------------------------------------------------------*/
    /* ensure secondary dropdown menu of rightmost nav link is right-aligned so it doesn't overflow viewport */
    .main-navigation > li:last-child.has-dropdown > ul > li.has-dropdown > ul {
        left: auto;
        right: 100%;
    }

    /* ensure rightmost nav link dropdown is right-aligned so it doesn't overflow viewport */
    .main-navigation > li:last-child.has-dropdown > ul {
        left: auto;
        right: 0;
    }

    /*-------------------------------------------------------------------------------------------*/
    /* ensure all dropdown hover menus & elements are min-width of parent li element */
    .main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
    .main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li,
    .main-navigation > li.has-dropdown > ul > li.has-dropdown > a,
    .main-navigation > li.has-dropdown > ul > li > a,
    .main-navigation > li.has-dropdown > ul > li,
    .main-navigation > li.has-dropdown > ul {
        min-width: 100%;
    }

    /* ensure all nav links are displayed as block elements */
    .main-navigation a {
        display: block;
    }

    /*-------------------------------------------------------------------------------------------*/
    /* apply micro adjustments to dropdown (flyout) indicator arrow for secondary dropdown menus */
    .main-navigation > li.has-dropdown > ul > li.has-dropdown::after {
        font-size: 0.90625em;
        vertical-align: middle;
        height: auto;
        line-height: 1;
    }

    /* add & normalize dropdown indicator arrow for all top-level nav links */
    .main-navigation > li.has-dropdown > a::after {
        font-family: 'ryno-theme-icons';
        content: "\e930";
        display: inline-block;
        font-weight: inherit;
        font-size: 0.875em;
        line-height: 1;
        margin-left: 0.28125em;
        margin-right: 0.125em;
        vertical-align: baseline;
    }

    /* remove theme-default dropdown indicator arrow top-level nav links */
    .main-navigation > li.has-dropdown::after {
        display: none;
    }

    /*-------------------------------------------------------------------------------------------*/
    /* normalize font style inheritance and padding on nav links at all nav levels */
    .main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
    .main-navigation > li.has-dropdown > ul > li > a,
    .main-navigation > li.has-dropdown > a,
    .main-navigation > li > a {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        padding-top: 1em;
        padding-left: 1em;
        padding-right: 1em;
        padding-bottom: 0.875em;
    }

    /* adjust right padding on nested nav links for visual comfort */
    .main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
    .main-navigation > li.has-dropdown > ul > li > a {
        padding-right: 1.375em;
    }

    /* set all font styles on root nav element for inheritance */
    .main-navigation {
        font-family: var(--basefont);
        font-weight: var(--desktop-nav-font-weight);
        font-size: 16px;
        line-height: 1;
        letter-spacing: -0.03125em;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /*-------------------------------------------------------------------------------------------*/
}

@media (min-width: 1200px) {
    .main-navigation {
        /*-------------------------------------------------------------------------------------------*/
        /* set fixed baseline nav font size on root nav element for xl screens */
        font-size: 17.25px;
        /*-------------------------------------------------------------------------------------------*/
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .main-navigation {
        /*-------------------------------------------------------------------------------------------*/
        /* set fluid nav font size on root nav element for lg screens only */
        font-size: calc(14.875px + (17.25 - 14.875) * ((100vw - 992px) / (1200 - 992)));
        /*-------------------------------------------------------------------------------------------*/
    }

    .nav-bar .container-lg,
    .nav-bar .container {
        /*-------------------------------------------------------------------------------------------*/
        /* set fluid nav container width for lg screens only */
        max-width: calc(100% - (32px + (60 - 32) * ((100vw - 992px) / (1200 - 992))));
        /*-------------------------------------------------------------------------------------------*/
    }
}

/* mobile header content */
a.mobile-header__phone {
    color: var(--colors-core-blue-flat);
}

@media (max-width: 991px) {
    .mobile-header__logo img {
        height: auto !important;
        max-height: none !important;
        width: 159px;
        max-width: 100%;
    }

    .mobile-header {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center bottom;
        background-image: url('/wp-content/uploads/starburst-bg-mobile-lg.jpg');
    }
}

/* mobile buttons */
.mobile-nav--two .mobile-cta__button + .mobile-cta__button {
    margin-top: 0 !important;
}

.mobile-nav--two .mobile-cta__button {
    margin-top: 6px;
    margin-bottom: 9px;
}

/* mobile header telnumbers */
.mobile-sticky-header .location-telnumber a {
    text-decoration: underline;
    text-decoration-skip-ink: none;
}

.mobile-sticky-header .location-telnumber * {
    font-size: inherit;
}

.mobile-sticky-header .location-telnumber {
    flex: 0 0 150px;
    width: 150px;
    white-space: nowrap;
    margin: 0.25em 0.5em;
    font-size: 16px !important;
}

.mobile-sticky-header .location-telnumbers {
    padding: 8px 0 0;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

/* mobile header nav links */
@media (max-width: 991px) {
    .main-navigation > li.has-dropdown::after {
        font-size: calc(1em * 17 / 20);
        top: 0;
        right: 0;
        z-index: 36;
        width: 55px;
        height: calc(3.0625em * 18 / 20);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .main-navigation a {
        line-height: 1.25 !important;
        padding-top: calc(0.9375em) !important;
        padding-bottom: calc(0.9375em) !important;
    }
}


/* hero section */
.hero-content .hero-headline .macro-headline {
    font-size: calc(1em * 108 / 21);
    line-height: calc(100 / 108);
    width: calc(1em * 900 / 108);
    margin-bottom: calc(1em * 0 / 72);
}

.hero-content .hero-headline .micro-headline {
    font-size: calc(1em * 24 / 21);
    margin-bottom: calc(1em * 33 / 24);
}

.hero-content .hero-headline {
    font-family: var(--boldfont);
    color: var(--colors-core-white);
    line-height: 1;
    font-weight: var(--boldfont-font-weight);
    text-transform: var(--boldfont-text-transform);
}

.hero-content .btn {
    font-size: calc(1em * 24 / 21);
}

.hero-content * {
    font-size: inherit;
}

.hero-content {
    text-align: center;
    display: block;
    position: absolute;
    top: calc(100vw * 72 / 1600);
    left: 50%;
    transform: translate(-50%, 0);
    line-height: 1.125;
    font-size: calc(13px + (21 - 13) * ((100vw - 991px) / (1600 - 991)));
}

.hero-bg-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: var(--colors-berry-light-ultra);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/apollo-desktop-hero.jpeg');
}

.page-section--hero-section {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(100% * 765 / 1600);
}

@media (max-width: 991px) {
    .hero-content .hero-headline .macro-headline {
        font-size: calc(1em * 58 / 21);
        line-height: calc(62 / 58);
        width: calc(1em * 480 / 48);
        margin-bottom: calc(1em * 33 / 48);
    }

    .hero-content .hero-headline .micro-headline {
        font-size: calc(1em * 18 / 21);
        line-height: calc(26 / 18);
        width: calc(1em * 360 / 18);
        margin: auto;
        margin-bottom: calc(1em * 24 / 24);
    }

    .hero-content .btn {
        font-size: calc(1em * 22.5 / 21);
    }

    .hero-content {
        top: calc(100vw * 39 / 576);
        transform: translate(-50%, 0);
        font-size: calc(11.67px + (21 - 11.67) * ((100vw - 320px) / (576 - 320)));
    }

    .hero-bg-wrapper {
        background-image: url('/wp-content/uploads/apollo-mobile-hero.png');
    }

    .page-section--hero-section {
        padding-top: calc(100% * 564 / 576);
    }
}

.postscript-contact .contact-form-header::after,
.home .section-header > *::after {
    display: block;
    content: "";
    width: calc(1rem * 234 / 20);
    height: calc(1rem * 9 / 20);
    background: lime;
    margin: 1em auto 1em;
}
.page-section {
    position: relative;
}

@media (max-width: 575px) {

    .postscript-contact,
    .page-section {
        padding-left: calc(100vw * 16 / 576);
        padding-right: calc(100vw * 16 / 576);
    }
}

/* plumbing heating cooling section */
.page-section--plumbing-heating-cooling .section-header > *::after {
    background-color: var(--colors-core-aqua-flat);
}

.page-section--plumbing-heating-cooling *,
.page-section--plumbing-heating-cooling {
    color: var(--colors-core-white);
}

.page-section--plumbing-heating-cooling {
    text-align: center;
    padding-top: 96px;
    padding-bottom: calc(210px + 100% * 108 / 1600);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/starburst-section-1.jpg');
}

@media (max-width: 991px) {
    .page-section--plumbing-heating-cooling {
        text-align: center;
        padding-top: calc(1rem * 108 / 20);
        padding-bottom: calc(1rem * 135 / 20 + 100% * 36 / 576);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        background-image: url('/wp-content/uploads/starburst-section-1-mobile.jpg');
    }
}

/* all in one place section */
.page-section--all-in-one-place .section-header > *::after {
    background-color: var(--colors-core-red);
}

.page-section--all-in-one-place .section-header {
    max-width: calc(1rem * 810 / 20);
    margin-left: auto;
    margin-right: auto;
}

.page-section--all-in-one-place *,
.page-section--all-in-one-place {
    color: var(--colors-core-white);
}

.page-section--all-in-one-place {
    text-align: center;
    padding-top: 81px;
    padding-bottom: 186px;
    background-color: #1F1F1F;
    background-repeat:
        no-repeat,
        no-repeat;
    background-size:
        cover,
        cover;
    background-position:
        center center,
        center center;
    background-image:
        /*linear-gradient( to bottom, #1f1f1f 0%, rgba(31, 31, 31, 0.74) 339px, rgba(31, 31, 31, 0) 804px),*/
        url('/wp-content/uploads/van-photo-bg.jpg');
}

.page-section--all-in-one-place::before {
    display: block;
    content: "";
    width: 100%;
    height: calc(100vw * 108 / 1600);
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% - 2px);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
    background-image: url('/wp-content/uploads/Apollo_BG_Curve_Desktop.png');
}

.page-section--all-in-one-place::after {
    display: block;
    content: "";
    width: 537px;
    height: 195px;
    position: absolute;
    left: 50%;
    bottom: calc(100% - 2px + 100vw * 108 / 1600);
    transform: translate(-50%, 40.625%);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    background-image: url('/wp-content/uploads/Apollo_Logo_Logomark.png');
}

@media (max-width: 991px) {
    .page-section--all-in-one-place {
        text-align: center;
        padding-top: calc(1rem * 75 / 20);
        padding-bottom: calc(100vw * 150 / 576);
        background-color: #1F1F1F;
        background-repeat:
            no-repeat;
        background-size:
            cover;
        background-position:
            center center;
        background-image:
            url('/wp-content/uploads/van-photo-bg-mobile-scaled.jpg');
    }
}

@media (max-width: 767px) {
    .page-section--all-in-one-place {
        background-size:
            cover;
        background-position:
            center bottom;
    }

    .page-section--all-in-one-place::after {
        width: calc(1em * 537 / 20 * 305 / 537);
        height: calc(1em * 195 / 20 * 305 / 537);
    }
}

/* dependable heating and cooling section */
.page-section--dependable-heating-and-cooling .section-header > *::after {
    background-color: var(--colors-core-yellow);
}

.page-section--dependable-heating-and-cooling *,
.page-section--dependable-heating-and-cooling {
    color: var(--colors-core-white);
}

.page-section--dependable-heating-and-cooling {
    text-align: left;
    padding-top: 105px;
    padding-bottom: 165px;
    background-color: var(--colors-core-blue-flat);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/starburst-technician.jpg');
}

@media (min-width: 992px) {
    .page-section--dependable-heating-and-cooling .section-header > *::after {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 991px) {
    .page-section--dependable-heating-and-cooling {
        text-align: center;
        padding-top: calc(1rem * 111 / 20);
        padding-bottom: calc(100% * 525 / 576);
        background-repeat:
            no-repeat,
            no-repeat;
        background-size:
            100% auto,
            cover;
        background-position:
            center bottom,
            center bottom;
        background-image:
            url('/wp-content/uploads/technician-mobile.png'),
            url('/wp-content/uploads/starburst-mobile.png');
        ;
    }
}

/* first for plumbing services section */
.page-section--first-for-plumbing-services .section-header > *::after {
    background-color: var(--colors-core-blue-flat);
}

.page-section--first-for-plumbing-services .callout-paragraph {
    color: var(--colors-core-blue-flat);
}

.page-section--first-for-plumbing-services *,
.page-section--first-for-plumbing-services {
    color: var(--colors-core-white);
}

.page-section--first-for-plumbing-services {
    text-align: left;
    padding-top: 102px;
    padding-bottom: calc(309px + 100% * 108 / 1600);
    background-color: var(--colors-core-aqua);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/Apollo_BG_PlumberWithWaterHeater_Desktop-new.jpg');
}

@media (min-width: 992px) {
    .page-section--first-for-plumbing-services .section-header > *::after {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 991px) {
    .page-section--first-for-plumbing-services {
        text-align: center;
        padding-top: calc(1rem * 105 / 20);
        padding-bottom: calc(100% * 480 / 576 + 100% * 36 / 576);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
        background-image: url('/wp-content/uploads/Apollo_BG_PlumberWithWaterHeater_Mobile-new.jpg');
    }
}

/* in safe hands with us section */
.page-section--in-safe-hands-with-us .accent-image--24-7-emergency-service .accent-image span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url('/wp-content/uploads/24-7-Emergency_Service.png');
}

.page-section--in-safe-hands-with-us .accent-image--24-7-emergency-service .accent-image {
    padding-top: calc(100% * 205 / 200);
}

.page-section--in-safe-hands-with-us .accent-image--best-of-2022-award .accent-image span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url('/wp-content/uploads/ApolloPlumbingHeatingAirConditioningOR.jpg');
}

.page-section--in-safe-hands-with-us .accent-image--best-of-2022-award .accent-image {
    padding-top: calc(100% * 244 / 200);
}

.page-section--in-safe-hands-with-us .accent-image {
    position: relative;
    width: 100%;
    height: 0;
}

.page-section--in-safe-hands-with-us .accent-image-wrapper {
    flex: 0 0 calc(50% - 24px);
    max-width: calc(50% - 24px);
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(100vw * -75 / 1600);
}

.page-section--in-safe-hands-with-us .accent-image-block {
    max-width: 100%;
    width: 480px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-section--in-safe-hands-with-us .section-header > *::after {
    background-color: var(--colors-core-red);
}

.page-section--in-safe-hands-with-us *,
.page-section--in-safe-hands-with-us {
    color: var(--colors-core-white);
}

.page-section--in-safe-hands-with-us {
    text-align: center;
    padding-top: 72px;
    padding-bottom: calc(100% * 549 / 1600);
    background-color: var(--colors-dark-gray);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center bottom;
    background-image: url('/wp-content/uploads/new-desktop-bg.jpg');
}

.page-section--in-safe-hands-with-us::before {
    display: block;
    content: "";
    width: 100%;
    height: calc(100vw * 108 / 1600);
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% - 2px);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
    background-image: url('/wp-content/uploads/Apollo_BG_Curve_Desktop.png');
}

.page-section--in-safe-hands-with-us::after {
    display: block;
    content: "";
    width: 537px;
    height: 195px;
    position: absolute;
    left: 50%;
    bottom: calc(100% - 2px + 100vw * 108 / 1600);
    transform: translate(-50%, 43.75%);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    background-image: url('/wp-content/uploads/Apollo_Logo_Logomark.png');
}

@media (min-width: 992px) and (max-width: 1199px) {
    .page-section--in-safe-hands-with-us .section-header {
        max-width: calc(1rem * 720 / 20);
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 991px) {
    .page-section--in-safe-hands-with-us {
        text-align: center;
        padding-top: calc(1rem * 66 / 20);
        padding-bottom: calc(100% * 390 / 576);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
        background-image: url('/wp-content/uploads/new-mobile-bg.jpg');
    }
}

@media (max-width: 767px) {
    .page-section--in-safe-hands-with-us::after {
        width: calc(1em * 537 / 20 * 305 / 537);
        height: calc(1em * 195 / 20 * 305 / 537);
    }
}

/* logo slider section */
.page-section--logo-slider {
    text-align: center;
    padding-top: 57px;
    padding-bottom: 60px;
    background: var(--colors-core-white);
}

@media (max-width: 991px) {
    .page-section--logo-slider {
        text-align: center;
        padding-top: calc(1rem * 57 / 20);
        padding-bottom: calc(1rem * 60 / 20);
        background: var(--colors-core-white);
    }
}

/* customer reviews section */
.review-video {
    max-width: calc(885px);
    margin: auto;
    margin-bottom: calc(1em * 81 / 20);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/Apollo_Video_Placeholder.jpg');
}

.page-section--customer-reviews .section-header > *::after {
    background-color: var(--colors-core-yellow);
}

.page-section--customer-reviews .section-header > h2::after {
    display: none !important;
}

.page-section--customer-reviews .section-header h2 {
    font-size: calc(1rem * 43 / 20)
}

.page-section--customer-reviews .section-header {
    max-width: calc(1rem * 780 / 20);
    margin-left: auto;
    margin-right: auto;
}

.page-section--customer-reviews *,
.page-section--customer-reviews {
    color: var(--colors-core-white);
}

.page-section--customer-reviews {
    text-align: center;
    padding-top: 108px;
    padding-bottom: 183px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/starburst-reviews-updated.jpg');
}

@media (max-width: 991px) {
    .page-section--customer-reviews {
        text-align: center;
        padding-top: calc(1rem * 108 / 20);
        padding-bottom: calc(1rem * 168 / 20);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        background-image: url('/wp-content/uploads/starburst-reviews-mobile.jpg');
    }
}

/* content widgets */
.feature-cta--cooling .feature-cta::before {
    width: calc(1em * 112 / 15);
    height: calc(1em * 121 / 15);
    background-image: url('/wp-content/uploads/Apollo_CTA_Cooling.png');
}

.feature-cta--heating .feature-cta::before {
    width: calc(1em * 92 / 15);
    height: calc(1em * 121 / 15);
    background-image: url('/wp-content/uploads/Apollo_CTA_Heating.png');
}

.feature-cta--plumbing .feature-cta::before {
    width: calc(1em * 103 / 15);
    height: calc(1em * 109 / 15);
    background-image: url('/wp-content/uploads/Apollo_CTA_Plumbing.png');
}

.feature-cta--drain-cleaning .feature-cta::before {
    width: calc(1em * 122 / 15);
    height: calc(1em * 122 / 15);
    background-image: url('/wp-content/uploads/Apollo_CTA_DrainCleaning.png');
}

.feature-cta--air-quality .feature-cta::before {
    width: calc(1em * 116 / 15);
    height: calc(1em * 122 / 15);
    background-image: url('/wp-content/uploads/Apollo_CTA_AirQuality.png');
}

.feature-cta::before {
    position: absolute;
    top: calc(50% - (0.25em * 67 / 15));
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    content: "";
    width: calc(1em * 122 / 15);
    height: calc(1em * 122 / 15);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.feature-cta span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc(1em * 67 / 15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-cta:hover {
    transform: translate(0, -7.55%);
    transition: transform 0.090s ease-out;
}

.feature-cta {
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    display: block;
    width: calc(1em * 247 / 15);
    height: calc(1em * 241 / 15);
    margin: auto;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url('/wp-content/uploads/Apollo_CTA_BG.png');
    transition: transform 0.135s ease-out;
}

.cta-slide {
    flex: 0 0 calc(100% * 1 / 3);
    width: calc(100% * 1 / 3);
    margin: calc(1em * 24 / 15) 0;
}

.cta-slider {
    font-size: calc(1rem * 15 / 20);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.cta-slider-wrapper {
    max-width: calc(1rem * 945 / 20);
    margin: auto;
}

@media (min-width: 768px) and (max-width: 991px) {
    .cta-slider {
        font-size: calc(1rem * 15 / 20 * 0.875);
    }
}

@media (max-width: 767px) {
    .cta-slide {
        flex: 0 0 calc(100% * 1 / 2);
    }

    .cta-slider {
        font-size: calc(1rem * 15 / 20 * 0.9375);
    }
}

@media (max-width: 539px) {
    .cta-slider {
        font-size: calc(1rem * 15 / 20 * 0.8125);
    }
}

@media (max-width: 434px) {
    .cta-slide {
        flex: unset;
        width: unset;
        max-width: none;
        margin: calc(1em * 24 / 15);
    }

    .cta-slider {
        font-size: calc(1rem * 15 / 20 * 1);
        position: relative;
        width: 100vw;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .cta-slider .slick-track {
        display: flex;
        align-items: stretch;
    }
}

.cta-slider .slick-dots li button::before,
.cta-slider .slick-dots li button,
.cta-slider .slick-dots li,
.cta-slider .slick-dots {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    font-size: inherit;
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0;
    color: inherit;
    line-height: inherit;
    /*background: transparent; */
    opacity: unset !important;
    cursor: default;
}

.cta-slider .slick-dots {
    --dot-size: 30px;
    --dot-border: 2px;

    --dot-color: transparent;
    --dot-border-color: var(--colors-core-white);

    --dot-color-hover: var(--colors-core-aqua-dark);
    --dot-border-color-hover: var(--colors-core-white);

    --dot-color-active: var(--colors-core-white);
    --dot-border-color-active: var(--colors-core-white);
}

.cta-slider .slick-dots li button::before,
.cta-slider .slick-dots li button,
.cta-slider .slick-dots li {
    font-size: var(--dot-size);
    width: var(--dot-size);
    height: var(--dot-size);
    line-height: var(--dot-size);
}

.cta-slider .slick-dots li:not(.slick-active) button:hover::before {
    background: var(--dot-color-hover);
    border-color: var(--dot-border-color-hover);
}

.cta-slider .slick-dots li.slick-active button::before {
    background: var(--dot-color-active);
    border-color: var(--dot-border-color-active);
}

.cta-slider .slick-dots li button::before {
    background: var(--dot-color);
    border-color: var(--dot-border-color);
}

.cta-slider .slick-dots li button::before {
    border-radius: calc(var(--dot-size) * 100);
    border-width: var(--dot-border);
    border-style: solid;
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    font-size: var(--dot-size);
}

.cta-slider .slick-dots li button {
    position: relative;
    font-size: 0;
}

.cta-slider .slick-dots li {
    margin: 0 calc(var(--dot-border) * 3);
}

.cta-slider .slick-dots {
    text-align: center;
    margin-top: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* widget */
.customer-review--quotation::before {
    display: block;
    content: "";
    width: calc(1em * 144 / 20);
    height: calc(1em * 26 / 20);
    margin-bottom: calc(1em * 27 / 20);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url('/wp-content/uploads/Apollo_Icons_FiveStars.png');
}

.customer-review--citation span::before {
    content: "-\20";
}

.customer-review--facebook .customer-review--citation::before {
    content: "\e920";
    color: transparent !important;
    background-size: calc(1rem * 15 / 24) calc(1rem * 29 / 24);
    background-image: url('/wp-content/uploads/Apollo_Social_FACEBOOK_ICON.png');
}

.customer-review--google .customer-review--citation::before {
    content: "\e91e";
    color: transparent !important;
    background-size: calc(1rem * 34 / 27) calc(1rem * 34 / 27);
    background-image: url('/wp-content/uploads/Apollo_Social_GOOGLE_ICON.png');
}

.customer-review--citation::before {
    font-family: 'ryno-theme-icons';
    vertical-align: middle;
    display: inline-block;
    content: "";
    width: calc(1em * 37 / 20);
    height: calc(1em * 37 / 20);
    margin-right: 0.125em;
    border-radius: 200em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--colors-core-white);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.customer-review--citation {
    font-family: var(--boldfont);
    font-weight: var(--boldfont-font-weight);
    text-transform: var(--boldfont-text-transform);
    margin-top: calc(1em * 21 / 20);
}

.customer-review {
    height: 100%;
    margin: 0 1em;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}

.review-slide {
    flex: 0 0 50%;
    width: 50%;
    height: auto;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.review-slider .slick-track,
.review-slider {
    max-width: calc(1rem * 960 / 20 + 20px * 2);
    margin: 0 auto;
    display: flex;
    align-items: stretch;
}

.reviews-slider-wrapper {
    margin-bottom: calc(1em * 102 / 20);
}

@media (min-width: 992px) and (max-width: 1199px) {

    .review-slider .slick-track,
    .review-slider {
        max-width: calc(880px + 20px * 2);
    }

    .review-slider {
        font-size: calc(1em * 20 / 20 * 880 / 960);
    }
}

@media (max-width: 991px) {
    .customer-review--quotation::before {
        margin-left: auto;
        margin-right: auto;
    }

    .customer-review {
        text-align: center;
        margin: 0 auto;
        max-width: calc(1em * 450 / 20);
    }

    .review-slide {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .review-slider .slick-list {
        padding: 0 !important;
    }

    .review-slider .slick-track,
    .review-slider {
        max-width: 100%;
    }

    .review-slider {
        position: relative;
        max-width: 100vw;
        width: 100vw;
        left: 50%;
        transform: translate(-50%, 0);
    }
}

@media (max-width: 479px) {
    .customer-review {
        max-width: calc(100% - 20px * 2 - 15px * 2);
    }
}

.review-slider .slick-prev::before,
.review-slider .slick-next::before {
    font-size: calc(1rem * 54 / 20);
}

.review-slider .slick-prev::before {
    content: "\e92f";
}

.review-slider .slick-next::before {
    content: "\e92e";
}

.review-slider .slick-prev::before,
.review-slider .slick-next::before {
    font-family: 'ryno-theme-icons';
}

.review-slider .slick-prev,
.review-slider .slick-next {
    width: calc(1rem * 54 / 20);
    height: calc(1rem * 54 / 20);
}

@media (min-width: 992px) {
    .review-slider .slick-prev {
        left: auto;
        right: calc(100% + 0.50rem);
    }

    .review-slider .slick-next {
        left: calc(100% + 0.50rem);
        right: auto;
    }
}

@media (max-width: 1079px) {

    .review-slider .slick-prev,
    .review-slider .slick-next {
        top: calc(100% + (1rem * 1.375 * 54 / 20));
    }

    .review-slider .slick-prev {
        left: auto;
        right: calc(50% + 0.5625rem);
    }

    .review-slider .slick-next {
        left: calc(50% + 0.5625rem);
        right: auto;
    }

    .review-slider {
        margin-bottom: calc(1rem * 165 / 20);
    }
}

/* affiliation badge logo rotator widget styles */
.affiliation-badge--bbb span {
    width: calc(1rem * 160 / 20);
    height: calc(1rem * 111 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_BBB.png');
}

.affiliation-badge--energy-star span {
    width: calc(1rem * 126 / 20);
    height: calc(1rem * 129 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_ENERGY_STAR.png');
}

.affiliation-badge--epa span {
    width: calc(1rem * 131 / 20);
    height: calc(1rem * 131 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_EPA.png');
}

.affiliation-badge--angies-list-certified span {
    width: calc(1rem * 173 / 20);
    height: calc(1rem * 52 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_ANGIES_LIST.png');
}

.affiliation-badge--oame span {
    width: calc(1rem * 98 / 20);
    height: calc(1rem * 107 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_OAME.png');
}

.affiliation-badge--lgbtq-friendly span {
    width: calc(1rem * 119 / 20);
    height: calc(1rem * 97 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_LGBTQ_FRIENDLY.png');
}

.affiliation-badge--angi span {
    width: calc(1rem * 117 / 20);
    height: calc(1rem * 70 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_ANGI.png');
}

.affiliation-badge--narpm span {
    width: calc(1rem * 187 / 20);
    height: calc(1rem * 93 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_NARPM.png');
}

.affiliation-badge--multifamily-nw span {
    width: calc(1rem * 206 / 20);
    height: calc(1rem * 71 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_MULTIFAMILY_NW.png');
}

.affiliation-badge--oregon-rental-housing-alliance span {
    width: calc(1rem * 123 / 20);
    height: calc(1rem * 107 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_RENTAL_HOUSING_ALLIANCE.png');
}

.affiliation-badge--realtor span {
    width: calc(1rem * 119 / 20);
    height: calc(1rem * 132 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_REALTOR.png');
}

.affiliation-badge--emar span {
    width: calc(1rem * 266 / 20);
    height: calc(1rem * 52 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_EMAR.png');
}

.affiliation-badge--ccar span {
    width: calc(1rem * 213 / 20);
    height: calc(1rem * 49 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_CLARK_COUNTY_ASSOCIATION_OF_REALTORS.png');
}

.affiliation-badge--gvc span {
    width: calc(1rem * 190 / 20);
    height: calc(1rem * 79 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_GREATER_VANCOUVER_CHAMBER.png');
}

.affiliation-badge--gresham-area-chamber-of-commerce span {
    width: calc(1rem * 162 / 20);
    height: calc(1rem * 80 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_GRESHAM_AREA_CHAMBER.png');
}

.affiliation-badge--35-years span {
    width: calc(1rem * 112 / 20);
    height: calc(1rem * 114 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_CELEBRATING_35_YEARS.png');
}

.affiliation-badge span {
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    margin: auto;
    width: calc(1rem * 135 / 20);
    height: calc(1rem * 135 / 20);
    background-color: var(--colors-core-white);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.affiliation-badge {
    position: relative;
    flex: 0 0 auto;
    margin: 0 30px;
    height: auto;
    display: flex !important;
    align-items: center;
}

.affiliation-badges {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.affiliation-badges-wrapper {
    position: relative;
    width: calc(100vw + 2px);
    max-width: 1024px;
    left: 50%;
    transform: translate(-50%, 0);
}

.affiliation-badges-wrapper .slick-track {
    display: flex;
    align-items: stretch;
}
/* theme footer */
/* postscript contact defaults & resets */
/* normalize margin by removing all contingent top margins on field columns & field wrappers */
.postscript-contact .input-fields-column + .input-fields-column,
.postscript-contact .input-fields-column .col-12 + .col-12 {
    margin-top: 0;
}

/* add consistent bottom margins to all field wrappers using proportional sizing (ems)*/
.postscript-contact .input-fields-column .col-12 {
    margin-bottom: calc(1em * 16 / 20);
}

/* flexbox trickery to position button & spinner in vertical stack for layout, behavior, & design reasons (specifically, vertical button offset where needed) */
.postscript-contact .wpcf7-form > .row > .col-12 {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: space-between;
}

/* remove top margin on postscript contact form submit button (spacing provided by wpcf spinner) */
.postscript-contact .wpcf7-submit {
    margin-top: 0;
}

/* adjust bottom margin on field wrappers on sizes lg and up (spacing provided by wpcf spinner) */
@media (min-width: 992px) {
    .postscript-contact .input-fields-column .col-12:last-of-type {
        margin-bottom: 0;
    }
}

/* postscript contact styles */
.postscript-contact .contact-form-header > span:empty {
    display: none;
}
.postscript-contact .contact-form-bg-wrapper {}

.postscript-contact form > .row > .col-12 .wpcf7-spinner {
    position: static;
    top: auto;
    margin-top: 0.375em;
    margin-bottom: 0.25em;
}

.postscript-contact form > .row > .col-12 .wpcf7-submit {
    margin-top: 30px;
}

.postscript-contact form > .row > .col-12 {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
}


.postscript-contact .contact-form-header::after {
    background-color: var(--colors-core-blue-flat) !important;
}

.postscript-contact .contact-form-header {
    font-size: calc(1rem * 43 / 20) !important;
}

.postscript-contact {
    padding-top: 108px;
    padding-bottom: 180px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/Apollo_BG_FooterContact_Desktop.jpg');
}

.postscript-contact .contact-form-wrapper {
    max-width: 900px;
    margin: auto;
}

.postscript-contact .contact-form-header--line-one {
    text-align: center;
}

.postscript-contact .gform-theme--framework {
    --gf-ctrl-label-color-primary: #FFFFFF !important;
    --gf-ctrl-label-color-secondary: #FFFFFF !important;
    --gf-ctrl-label-color-tertiary: #FFFFFF;
    --gf-ctrl-label-font-size-primary: 1rem;
    --gf-ctrl-label-font-size-secondary: 1rem;
    --gf-ctrl-label-font-size-tertiary: 1rem;
}

.postscript-contact .gform-theme--framework .gform_footer input.gform_button.button {
    background-color: #6DB5D4 !important;
    font-family: var(--basefont) !important;
    font-size: 1rem !important;
    font-weight: var(--boldfont-font-weight) !important;
    border-radius: 200em !important;
    border: solid 2px #6DB5D4 !important;
    padding: .75rem 1rem !important;
    text-transform: uppercase !important;
}

.postscript-contact .gform-theme--framework .gform_footer input.gform_button.button#gform_submit_button_2:hover {
    background-color: transparent !important;
    font-family: var(--basefont) !important;
    font-size: 1rem !important;
    font-weight: var(--boldfont-font-weight) !important;
    border-radius: 200em !important;
    border: solid 2px #6DB5D4 !important;
}

@media (max-width: 991px) {
    .postscript-contact {
        text-align: center;
        padding-top: calc(1em * 108 / 20);
        padding-bottom: calc(1em * 180 / 20);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 25% center;
        background-image: url('/wp-content/uploads/Apollo_BG_FooterContact_Mobile.jpg');
    }
}

/* postscript contact field customizations */
.postscript-contact input.wpcf7-form-control.wpcf7-text.cf-text,
.postscript-contact input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel.cf-text,
.postscript-contact input.wpcf7-form-control.wpcf7-text.wpcf7-email.wpcf7-validates-as-email.cf-text,
.postscript-contact .select2-container--default .select2-selection--single {
    border-radius: 0 !important;
}

.postscript-contact .select2-container--default .select2-selection--single .select2-selection__arrow {
    border-radius: 0 5px 5px 0 !important;
    top: 0 !important;
    right: 6px !important;
}

.postscript-contact .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--colors-core-blue) transparent !important;
}

.postscript-contact .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--colors-core-blue) transparent transparent transparent !important;
}

/* footer content */
.footer-box {
    max-width: 100%;
    width: 360px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}

.footer-col {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.footer .company-location--secondary .info-tagline--service-areas > span::before {
    color: var(--colors-core-red);
}

.footer .company-location--primary .info-tagline--service-areas > span::before {
    color: var(--colors-core-blue-flat);
}

.footer .company-location--tertiary .info-tagline--service-areas > span::before {
    color: #6db5d4;
}

.footer .company-address a {
    font-weight: inherit !important;
}

.footer .company-phone {
    font-family: var(--boldfont);
    font-size: calc(1em * 15 / 20);
    font-weight: 900;
    margin-bottom: calc(1em * 20 / 20);
}

.footer-button:first-of-type {
    margin-top: 0;
}

.footer-button:last-of-type {
    margin-bottom: 0;
}

.footer-button {
    margin: calc(1em * 22 / 20) auto;
}

.footer .company-locations {
    margin-bottom: 51px;
}

.footer .company-logo {
    max-width: 279px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 45px;
}

.footer * {
    color: inherit;
}

.footer {
    text-align: center;
    padding-top: 69px;
    padding-bottom: 60px;
}

.footer-wrapper {
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url('/wp-content/uploads/starburst-footer.jpg');
}

.footer .company-location .serving-text {
    font-weight: 900;
    font-family: var(--boldfont);
    text-transform: var(--boldfont-text-transform);
}

@media screen and (max-width: 991px) {
    .footer-wrapper {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        background-image: url('/wp-content/uploads/starburst-footer-mobile.jpg');
    }
}

.footer .company-affiliation--bbb .company-affiliation-badge {
    width: calc(1em * 160 / 20);
    height: calc(1em * 111 / 20);
    background-image: url('/wp-content/uploads/Apollo_Emblem_BBB.png');
}

.footer .company-affiliation--bryant .company-affiliation-badge {
    width: calc(1em * 164 / 16);
    height: calc(1em * 88 / 20);
    background-image: url('/wp-content/uploads/AmStd_Tag_CMYK_LARGE_150915130601.png');
}

.footer .company-affiliation-badge span::selection,
.footer .company-affiliation-badge span {
    background-color: transparent !important;
    color: transparent !important;
}

.footer .company-affiliation-wrapper:first-of-type {
    margin-top: 0;
}

.footer .company-affiliation-wrapper:last-of-type {
    margin-bottom: 0;
}

.footer .company-affiliation-wrapper {
    margin: calc(1em * 30 / 20) auto;
}

.footer .company-affiliation-badge {
    display: block;
    width: calc(1em * 165 / 20);
    height: calc(1em * 165 / 20);
    margin: auto;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    display: flex;
    align-items: center;
    justify-content: center;
}


@media (min-width: 992px) and (max-width: 1199px) {
    .footer .footer-main-col {
        font-size: calc(1rem * 15.25 / 20);
    }
}

@media (min-width: 992px) {
    .footer .company-locations .company-location-wrapper {
        flex: 0 0 50%;
        max-width: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    .footer .company-locations {
        display: flex;
        align-items: flex-start;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .footer-main-col .footer-box {
        width: 100%;
    }

    .footer-main-col {
        flex: 0 0 calc((100% - 30px) - 2 * (225px) - 30px);
        max-width: calc((100% - 30px) - 2 * (225px) - 30px);
    }

    .footer-side-col {
        flex: 0 0 255px;
        max-width: 255px;
    }
}

@media (max-width: 991px) {
    .footer .company-locations .company-location-wrapper {
        margin-bottom: calc(1rem * 36 / 20);
    }

    .footer .company-locations {
        margin-bottom: calc(1rem * 9 / 20);
    }

    .footer .social-icons {
        display: inline-flex;
        flex-wrap: wrap;
    }

    .footer .company-social {
        max-width: calc(1rem * 342 / 20);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: calc(1rem * 51 / 20);
    }

    .footer .company-logo {
        max-width: calc(1rem * 210 / 20);
    }

    .footer .quick-links {
        margin-bottom: calc(1rem * 60 / 20);
    }

    .footer .company-affiliations {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer .company-affiliation-wrapper {
        margin: 0 1.25em;
    }
}

/* footer copyright */
.copyright .company-license,
.copyright .ryno-byline {
    white-space: nowrap;
}

.copyright p a:hover {
    border-bottom-color: currentColor;
    border-bottom-style: solid;
    border-bottom-width: 2px;
    text-decoration: none;
}

.copyright p a *,
.copyright p a,
.copyright p *,
.copyright p,
.copyright a {
    color: inherit;
}

.copyright {
    line-height: calc(21 / 15);
    font-size: 15px;
    color: var(--colors-dark-gray);
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: transparent;
}

/* various form configs */
/* various form error message style resets */
/* main contact form wpcf7-not-valid-tip font size & color scheme overrides */
.postscript-contact form span.wpcf7-not-valid-tip,
.postscript-contact form .wpcf7-not-valid-tip,
.postscript-contact span.wpcf7-not-valid-tip,
.postscript-contact .wpcf7-not-valid-tip,
.sidebar-form form span.wpcf7-not-valid-tip,
.sidebar-form form .wpcf7-not-valid-tip,
.sidebar-form span.wpcf7-not-valid-tip,
.sidebar-form .wpcf7-not-valid-tip,
.main-contact-form form span.wpcf7-not-valid-tip,
.main-contact-form form .wpcf7-not-valid-tip,
.main-contact-form span.wpcf7-not-valid-tip,
.main-contact-form .wpcf7-not-valid-tip {
    margin-top: 2px;
    font-size: 0.875rem;
    color: #FF4400 !important;
    padding: 0.125em 0.4375em;
    border: 1px solid #dc3232;
    background-color: #FFFFAA;
}

/* normalize wpcf7-not-valid-tip layout & styling */
.use-floating-validation-tip span.wpcf7-not-valid-tip,
.use-floating-validation-tip .wpcf7-not-valid-tip,
form span.wpcf7-not-valid-tip,
form .wpcf7-not-valid-tip,
span.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip {
    position: static;
    display: block;
    width: 100%;
    padding: 0;
    font-size: 1em;
    text-align: left;
}

/* contact page wpcf7-response-output layout & position settings */
.postscript-contact .wpcf7 form div.wpcf7-response-output {
    margin-top: 1.25em;
}

/* contact page wpcf7-response-output layout & position settings */
.sidebar-form .wpcf7 form div.wpcf7-response-output {
    right: 0;
    max-width: 314px;
    margin-top: 1.25em;
    margin-left: auto;
}

/* normalize wpcf7-response-output styling */
.wpcf7 form div.wpcf7-response-output {
    position: relative;
    top: 100%;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: 0;
    padding: 0.25em;
    text-align: center;
    color: #DD4400;
    background-color: #FFFFAA;
}

/* sidebar form styling resets */
.sidebar-form .wpcf7-select,
.sidebar-form .wpcf7-textarea,
.sidebar-form .wpcf7-text {
    margin-bottom: 0 !important;
    font-size: inherit;
}

.sidebar-form > .row > .col-12:last-of-type {
    margin-bottom: 0;
}

/* set margin bottom on field wrappers and set font size for inheritance */
.sidebar-form > .row > .col-12 {
    font-size: 15px;
    margin-bottom: 18px;
}

/* force submit button positioning */
.sidebar-form input[type="submit"] {
    position: absolute;
    z-index: 12;
    top: 100%;
    left: 50%;
    right: auto;
    bottom: auto;
    min-width: 172px;
    max-width: 252px;
    transform: translate(-50%, -56.25%);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .56);
}

/* adjust spinner positioning */
.sidebar-form .wpcf7-spinner {
    position: relative;
    display: block;
    margin: 0.25em auto;
}

/* adjust sidebar positioning & margin */
.sidebar-form {
    float: none;
    margin-bottom: 10px !important;
}

/* main contact form styling resets */
.main-contact-form .customer .select2-container--default .select2-selection--single {
    border-radius: 0;
    border: 1px solid #ccc;
}


/* adjust checkbox list item box & label positioning & styles */
.main-contact-form .wpcf7-list-item input[type="checkbox"] {
    margin-left: -20px;
    margin-right: 6px;
}

.main-contact-form .wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
    content: "";
}

.main-contact-form .wpcf7-list-item {
    line-height: 1.25;
    margin-left: 2rem;
    margin-top: 0.25em;
    margin-bottom: 0.28125em;
}


/* disable bottom margin on hidden honeypot field wrapper */
.main-contact-form > .row > p:last-child {
    margin-bottom: 0 !important;
}

/* remove bottom margins on fields */
.main-contact-form .cf-textarea,
.main-contact-form .cf-text {
    margin-bottom: 0;
}

/* set bottom margins on field wrappers */
.main-contact-form > .row > * {
    margin-bottom: 1rem;
}


/* adjust submit button on main contact form */
.main-contact-form input[type="submit"] {
    min-width: calc(225px);
    font-size: 16px;
    border: 0;
    width: auto;
}

/* wpcf7 form spinner positioning & display reseta */
/* positioning trickery to place spinner appropriately on all wpcf7 forms */
.postscript-contact .wpcf7 .wpcf7-spinner,
.wpcf7 .wpcf7-spinner {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0.25em auto;
}


/* various content-area element adjustments */
.content-area blockquote > *:last-child {
    margin-bottom: calc(1rem * 30 / 20 * 0.25) !important;
}

.content-area blockquote > * {
    margin-bottom: calc(1rem * 30 / 20) !important;
}


.content-area ul:not(.accordion) li + li {
    margin-bottom: 10px;
}

.content-area ul:not(.accordion) li {
    line-height: calc(1.5em + 3px);
}


.content-area ul li::before {
    top: calc(.5 * (1.5em + 3px));
    transform: translate(0, -50%);
}

/* accordion styling adjustments */
.accordion-item .accordion-header button *,
.accordion-item .accordion-header button {
    font-size: calc(1rem * 24 / 20);
    font-weight: 500 !important;
    margin-bottom: 0;
}

.accordion-item .accordion-button p:empty {
    display: none !important;
}

.accordion-item .accordion-button *::after,
.accordion-item .accordion-button::after {
    color: #000 !important;
}

.accordion-item .accordion-button *,
.accordion-item .accordion-button {
    color: #3a3a96 !important;
}

.accordion-item .accordion-button::after {
    width: auto;
    height: auto;
    transform-origin: unset;
    margin-left: 1.125em;
}

.accordion-item .accordion-button {
    justify-content: space-between;
}

.accordion {
    clear: both;
}


/* custom responsive video settings */
.custom-responsive-video iframe,
.custom-responsive-video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.custom-responsive-video-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(100% * 9 / 16);
    margin-bottom: calc(1rem * 30 / 18);
}

/* service area page style adjustments */
@media only screen and (max-width: 992px) {
    .ryno-service-areas .rsa-pipe-template__region {
        width: 100%;
    }
}


/* testimonials page style adjustments */

.page-template-page-ryno-testimonials .ryno-star-solid::before {
    color: #f3cf41 !important;
}


.testimonial-author-icon {
    margin-left: 0.4375em;
}


.page-template-page-ryno-testimonials .panel {
    background: #fff;
}

.page-id-2269 .video-reviews .custom-responsive-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: calc(100% * 9 / 16);
}

.page-id-2269 .video-reviews .custom-responsive-video-wrapper {
    flex: 0 0 calc(50% - 24px);
    max-width: calc(50% - 24px);
    margin-bottom: calc(1rem * 30 / 18);
    height: auto;
    padding-top: 0;
}

.page-id-2269 .video-reviews {
    display: flex;
    align-items: stretch;
    justify-content: space-between;

}

@media (max-width: 767px) {
    .page-id-2269 .video-reviews .custom-responsive-video-wrapper {
        max-width: 100%;
    }

    .page-id-2269 .video-reviews {
        display: block;
        align-items: stretch;
        justify-content: space-between;
    }
}

/* contact page sidebar styling adjustments */
.contact-sidebar__company-info .company-location--secondary .info-tagline--service-areas > span::before {
    color: var(--colors-core-red);
}

.contact-sidebar__company-info .company-location--primary .info-tagline--service-areas > span::before {
    color: var(--colors-core-blue-flat);
}

.contact-sidebar__company-info .company-phone {
    font-family: var(--boldfont);
    font-size: calc(1em * 15 / 20);
    font-weight: 900;
    margin-bottom: calc(1em * 20 / 20);
}

.contact-sidebar__company-info .company-location-wrapper {
    margin-top: 30px;
    margin-bottom: 18px;
}

.contact-sidebar__company-info .company-location .serving-text {
    font-weight: 900;
    font-family: var(--boldfont);
    text-transform: var(--boldfont-text-transform);
}


@media (min-width: 992px) {
    .contact-sidebar__company-info .h2 {
        font-size: calc(1rem * 32 / var(--rem-size-desktop));
    }
}


/* conversion page adjustments */
.conversion-content-three.content-area a:hover::before,
.conversion-content-three.content-area a::before {
    display: none !important
}

.conversion-content-three.content-area a:hover {
    color: var(--colors-core-blue-flat) !important;
    background-position: center bottom;
}

.conversion-content-three.content-area a {
    text-decoration: none !important;
    padding-top: 3px !important;
    display: inline !important;
    color: #fff !important;
    border-bottom: 3px solid #f3f3f3;
    background-repeat: no-repeat;
    background-size: 100% 202%;
    background-position: center top;
    background-image: linear-gradient(to bottom, transparent, transparent 50%, #f3f3f3 50%, #f3f3f3);
}


/* custom text link hover animation fix */
.text-shadow-box-light a:not(.btn):hover:visited,
.text-shadow-box-light a:not(.btn):hover:link,
.text-shadow-box-light a:not(.btn):hover:active,
.text-shadow-box-light a:not(.btn):hover {
    display: inline !important;
    color: #6298C1;
    border-top: 3px solid transparent !important;
    border-bottom: 3px solid #fff !important;
    background-repeat: no-repeat;
    background-size: 100% calc(200% + 3px);
    background-position: center bottom;
    background-image: linear-gradient(to top, #fff, #fff 50%, transparent 50%, transparent);
}

.text-shadow-box-light a:not(.btn):visited,
.text-shadow-box-light a:not(.btn):link,
.text-shadow-box-light a:not(.btn):active,
.text-shadow-box-light a:not(.btn) {
    display: inline !important;
    color: #fff;
    border-top: 3px solid transparent !important;
    border-bottom: 3px solid #fff !important;
    background-repeat: no-repeat;
    background-size: 100% calc(200% + 3px);
    background-position: center top;
    background-image: linear-gradient(to top, #fff, #fff 50%, transparent 50%, transparent);
}


.text-shadow-box a:not(.btn):hover:visited,
.text-shadow-box a:not(.btn):hover:link,
.text-shadow-box a:not(.btn):hover:active,
.text-shadow-box a:not(.btn):hover {
    color: #3a3a96;
    display: inline !important;
    border-top: 3px solid transparent !important;
    border-bottom: 3px solid #fff !important;
    background-repeat: no-repeat;
    background-size: 100% calc(200% + 3px);
    background-position: center bottom;
    background-image: linear-gradient(to top, #fff, #fff 50%, transparent 50%, transparent);
}

.text-shadow-box a:not(.btn):visited,
.text-shadow-box a:not(.btn):link,
.text-shadow-box a:not(.btn):active,
.text-shadow-box a:not(.btn) {
    display: inline !important;
    border-top: 3px solid transparent !important;
    border-bottom: 3px solid #fff !important;
    background-repeat: no-repeat;
    background-size: 100% calc(200% + 3px);
    background-position: center top;
    background-image: linear-gradient(to top, #fff, #fff 50%, transparent 50%, transparent);
}

.text-shadow-box-light a:not(.btn),
.text-shadow-box a:not(.btn) {
    line-height: calc(1em + 3px);
}


.text-shadow-box-light a:hover:visited::before,
.text-shadow-box-light a:hover:link::before,
.text-shadow-box-light a:hover:active::before,
.text-shadow-box-light a:hover::before,
.text-shadow-box-light a:visited::before,
.text-shadow-box-light a:link::before,
.text-shadow-box-light a:active::before,
.text-shadow-box-light a::before,
.text-shadow-box a:hover:visited::before,
.text-shadow-box a:hover:link::before,
.text-shadow-box a:hover:active::before,
.text-shadow-box a:hover::before,
.text-shadow-box a:visited::before,
.text-shadow-box a:link::before,
.text-shadow-box a:active::before,
.text-shadow-box a::before {
    height: 0px !important;
}


/* text shadow box BUTTON link style FIXES to compenstate for custom text link styling */
.text-shadow-box-light a.btn {
    display: inline-block;
    max-width: 100%;
    font-family: var(--basefont);
    font-size: var(--button-font-size);
    font-weight: var(--boldfont-font-weight);
    line-height: 1;
    letter-spacing: var(--boldfont-letter-spacing);
    text-transform: var(--boldfont-text-transform);
    border-radius: 200em;
    border-style: solid;
    border-color: transparent;
    border-width: calc(1em * 2 / 13);
    padding-top: calc(1em * 10 / 13);
    padding-left: calc(1em * 13 / 13);
    padding-right: calc(1em * 13 / 13);
    padding-bottom: calc(1em * 10 / 13);
    transition:
        all 0s,
        background-position 0.135s ease-out,
        background-color 0.135s ease-out,
        border-color 0.135s ease-out,
        color 0.135s ease-out,
        top 0.135s ease-out,
        left 0.135s ease-out,
        right 0.135s ease-out,
        bottom 0.135s ease-out,
        box-shadow 0.135s ease-out,
        transform 0.135s ease-out !important;
}

.text-shadow-box-light a.btn-secondary:hover,
.text-shadow-box-light a.btn-secondary,
.text-shadow-box-light a.btn-primary:hover,
.text-shadow-box-light a.btn-primary,
.text-shadow-box-light a.btn:hover,
.text-shadow-box-light a.btn {
    border-color: #6DB5D4;
}

.text-shadow-box a.btn {
    display: inline-block;
    max-width: 100%;
    font-family: var(--basefont);
    font-size: var(--button-font-size);
    font-weight: var(--boldfont-font-weight);
    line-height: 1;
    letter-spacing: var(--boldfont-letter-spacing);
    text-transform: var(--boldfont-text-transform);
    border-radius: 200em;
    border-style: solid;
    border-color: transparent;
    border-width: calc(1em * 2 / 13);
    padding-top: calc(1em * 10 / 13);
    padding-left: calc(1em * 13 / 13);
    padding-right: calc(1em * 13 / 13);
    padding-bottom: calc(1em * 10 / 13);
    transition:
        all 0s,
        background-position 0.135s ease-out,
        background-color 0.135s ease-out,
        border-color 0.135s ease-out,
        color 0.135s ease-out,
        top 0.135s ease-out,
        left 0.135s ease-out,
        right 0.135s ease-out,
        bottom 0.135s ease-out,
        box-shadow 0.135s ease-out,
        transform 0.135s ease-out !important;
}

.text-shadow-box a.btn-secondary:hover,
.text-shadow-box a.btn-secondary,
.text-shadow-box a.btn-primary:hover,
.text-shadow-box a.btn-primary,
.text-shadow-box a.btn:hover,
.text-shadow-box a.btn {
    border-color: #6DB5D4;
}


/* sticky button */
.sticky-button--right a::selection,
.sticky-button--right a {
    color: transparent !important;
    background-color: transparent !important;
}

.sticky-button--right a:hover {
    transform: translate(0, 0);
    transition: transform 0.090s ease-out;
}

.sticky-button--right a {
    overflow: hidden;
    border: 2px solid black;
    border-radius: 21px 0 0 21px;
    transform: translate(7.5%, 0);
    display: block;
    width: calc(1rem * 0.75 * 183 / var(--rem-size-desktop));
    height: calc(1rem * 0.75 * 159 / var(--rem-size-desktop));
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    background-image: url('/wp-content/uploads/Apollo_StickyButton_Reviews.png');
    transition: transform 0.135s ease-out;
    box-shadow: 0 0 24px -1.5px #FFFFFF40;
}

.sticky-button--right {
    right: -1px;
}

.sticky-button {
    position: fixed;
    top: 250px;
    z-index: 48;
}


.affiliation-badge--angi-2022 span {
    background: url('/wp-content/uploads/angi-super-service-2022.png') no-repeat;
    background-size: contain;
}

.single .author-nav-tabs {
    background: none;
}


picture.aligncenter {
    text-align: center;
}

.wpcf7 p {
    margin: 0 !important;
}

.blue-border {
    width: calc(1rem * 234 / 20);
    height: calc(1rem * 9 / 20);
    background: #5AA5C6;
    margin: 45px auto 50px;
}

.financing-section {
    background: #fff;
    padding: 75px 0 40px 0;
}

.financing-section h2 {
    margin-bottom: 20px;
}

.financing-section h5 {
    color: #188CCC;
    margin-bottom: 20px;
}

.financing-section .btn {
    min-width: calc(1em * 225 / 13);
}

.financing-section h2::after {
    display: none;
}

/* WOASRV GeoIP Location Switcher */
.woageo-switcher {
    display: flex;
    justify-content: end;
}

.woageo-switcher p {
    margin-bottom: 0 !important;
    font-size: .8rem;
}

@media only screen and (min-width: 992px) {
    .woageo-switcher-inner {
        max-width: 200px;
    }

    .woageo-switcher-body {
        width: 140px;
    }
}

.woageo-switcher-header .woageo-switcher-h-phone,
.woageo-switcher-header .woageo-switcher-h-toggle {
    padding-right: .2rem;
}

.woageo-switcher-h-toggle {
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    justify-content: end;
    font-weight: 600;
    font-size: .7rem;
    margin: .25rem 0;
}

a.woageo-switcher-plink {
    font-weight: 600;
    color: var(--colors-core-black);
}

a.woageo-switcher-plink:hover,
a.woageo-switcher-plink:active,
a.woageo-switcher-plink:focus {
    color: var(--colors-core-orange-dark)
}

.woageo-switcher-h-toggle:hover,
.woageo-switcher-h-toggle:active,
.woageo-switcher-h-toggle:focus {
    color: var(--colors-core-blue-flat);
}

.woageo-switcher-h-toggle p:before {
    font-family: 'ryno-theme-icons';
    content: '\e92c';
    font-size: 0.67rem;
    margin-right: 0.3125em;
    color: var(--colors-core-blue);
}

.woageo-switcher-close {
    margin-bottom: .2rem;
}

.woageo-switcher-close p {
    font-size: .5rem;
    font-weight: 600;
    padding: .18rem .3rem;
    border: 1px solid var(--colors-core-white);
    border-radius: 50%;
    line-height: 1;
    color: var(--colors-core-white);
}

.woageo-switcher-close p:hover,
.woageo-switcher-close p:active,
.woageo-switcher-close p:focus {
    color: var(--colors-core-aqua-flat);
    border: 1px solid var(--colors-core-aqua-flat);
}

.woageo-switcher-body {
    background: var(--colors-core-blue-flat);
    border: 2px solid var(--colors-core-blue-dark);
    border-radius: 1.2rem;
    padding: .25rem;
}

.woageo-switcher-body-h h2 {
    margin: .2rem 0 !important;
    color: var(--colors-core-white);
    font-size: .6rem;
    text-align: center;
}

.woageo-switcher-body-h h2:after {
    content: none;
}

.woageo-switcher-item {
    text-align: center;
}

button.woageo-switcher-btn {
    background: none;
    border: none;
    font-size: .7rem;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--colors-core-white);
}

button.woageo-switcher-btn:hover,
button.woageo-switcher-btn:active,
button.woageo-switcher-btn:focus {
    color: var(--colors-core-orange-dark);
}

button.woageo-switcher-btn:before {
    font-family: 'ryno-theme-icons';
    content: '\e92c';
    font-size: 0.875em;
    margin-right: 0.3125em;
    color: currentColor;
}

body.woageo-switcher-visible .nav-bar {
    z-index: 0 !important;
}

.woa-mobile-switcher {
    background: var(--colors-core-aqua-flat);
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.woa-mobile-switcher .schedule-now-outer {
    text-align: center;
    padding-top: .25rem;
}

.woa-mobile-switcher .woageo-switcher-h-phone {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.woa-mobile-switcher .woageo-switcher-header {
    flex-direction: row;
    justify-content: center;
    gap: .6rem;
    font-size: 1.2rem;
    padding: .1rem 0;
}

.woa-mobile-switcher .woageo-switcher-header p {
    font-size: 1.2rem;
    color: var(--colors-core-black);
}

.woa-mobile-switcher .woageo-switcher-header p:hover,
.woa-mobile-switcher .woageo-switcher-header p:active,
.woa-mobile-switcher .woageo-switcher-header p:focus {
    color: var(--colors-core-orange-dark);
}

.woa-mobile-switcher .woageo-switcher-header p:before {
    font-size: .8rem;
}

.woa-mobile-switcher .woageo-switcher {
    justify-content: center;
}

.woa-mobile-switcher .woageo-switcher-body {
    padding: .5rem;
    position: absolute;
    width: 100vw;
    border-radius: 0 0 1.2rem 1.2rem;
    left: 0;
}

.woa-mobile-switcher .woageo-switcher-body-h h2 {
    font-size: 1.1rem;
    margin-bottom: .5rem;
}

.woa-mobile-switcher button.woageo-switcher-btn {
    font-size: 1rem;
}

.woa-mobile-switcher .woageo-switcher-close p {
    font-size: .8rem;
}

.woa-mobile-switcher .woageo-switcher-h-toggle {
    margin: 0;
}

/* Schedule Buttons - 2024-11-15 CW */
button.se-booking-show {
    background-color: var(--colors-core-red);
    border-color: var(--colors-core-red);
}

button.se-booking-show:hover,
button.se-booking-show:active,
button.se-booking-show:focus {
    background-color: var(--colors-core-white);
    color: var(--colors-core-red);
    border-color: var(--colors-core-red);
}

.hero-schedule-btn button {
    margin-top: .8rem;
    font-size: .9rem !important;
}


/* Header Coupon - 2024-11-15 CW */
.coupon-outer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
}

@media only screen and (min-width: 992px) {
    .coupon-outer {
        flex-direction: column-reverse;
        justify-content: flex-start;
        vertical-align: center;

    }

    .coupon-outer .se-booking-show {
        --button-font-size: .9rem;
    }
}

/* Gravity Forms - 2024-06-06 CW */
.gf-foot-disclaimer p {
    font-size: .6rem;
    font-style: italic;
    margin-bottom: 0;
}

.gf-sidebar-form,
.postscript-contact .contact-form-wrapper {
    background-color: #3a3a96;
    box-shadow: 0.5rem 0.5rem 0 #2d286d;
    float: none;
    margin-left: 0;
    max-width: 100%;
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: .7rem;
}

.postscript-contact .gform-body {
    text-align: left;
}

.gf-sidebar-form .gform-theme--framework .gform-field-label--type-inline {
    --gf-local-color: #FFFFFF;
}

.gf-sidebar-form p.gform_required_legend,
.postscript-contact p.gform_required_legend {
    display: none;
}

.gf-sidebar-form .gform-theme--foundation .gform_fields,
.postscript-contact .gform-theme--foundation .gform_fields {
    --gf-form-gap-y: 5px;
}

.gf-sidebar-form label.gfield_label,
.postscript-contact label.gfield_label,
.gf-sidebar-form legend.gfield_label,
.postscript-contact legend.gfield_label {
    margin: 1px 0;
    color: #FFFFFF;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.postscript-contact .gform-field-label.gform-field-label--type-sub {
    color: #FFFFFF;
    font-size: .5rem;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0;
}

.postscript-contact label.gfield_label,
.postscript-contact legend.gfield_label {
    padding-top: .3rem;
}

.gf-popup-form .gform-field-label.gform-field-label--type-inline {
    margin-left: 2px;
}

.gf-sidebar-form .gf-foot-disclaimer {
    color: #FFFFFF;
}

.gf-sidebar-form .ginput_container.ginput_container_radio {
    margin-bottom: 3px;
}

.gf-sidebar-form .gform-theme--framework .gfield--type-choice .gfield_radio,
.postscript-contact .gform-theme--framework .gfield--type-choice .gfield_radio {
    flex-direction: row;
}

.gf-sidebar-form .gform-theme--foundation .gform_footer,
.postscript-container .gform-theme--foundation .gform_footer.top_label {
    margin-block-start: 0 !important;
    justify-content: center;
}

.gf-sidebar-form .gform_button.button#gform_submit_button_4,
.postscript-container .gform_button.button#gform_submit_button_2,
.gf-popup-form .gform_button.button#gform_submit_button_5 {
    --gf-local-bg-color: #6DB5D4;
    --gf-local-border-color: #6DB5D4;
    border-width: 2px;
    border-radius: 2rem;
    text-transform: uppercase;
    margin-top: .25rem;
    font-weight: 600;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.gf-sidebar-form .gform_button.button#gform_submit_button_4:hover,
.gf-sidebar-form .gform_button.button#gform_submit_button_4:active,
.gf-sidebar-form .gform_button.button#gform_submit_button_4:focus,
.postscript-container .gform_button.button#gform_submit_button_2:hover,
.postscript-container .gform_button.button#gform_submit_button_2:active,
.postscript-container .gform_button.button#gform_submit_button_2:focus {
    background-color: #3A3A96;
    --gf-local-border-color: #6DB5D4;
}

@media only screen and (min-width: 640px) and (max-width: 768px) {
    .postscript-contact .gform-body fieldset.gfield--type-radio {
        grid-column: 1/-1;
    }
}

/* Services Hero Header - 2024-12-30 CW */
.page-template-page-conversion .conversion-header__divider {
    background: var(--colors-core-blue-flat);
    margin-bottom: 1rem;
}

.conversion-content-one h1,
.conversion-content-one .content-area p {
    margin-bottom: 1rem;
}

@media only screen and (min-width: 992px) {
    .page-template-page-conversion .conversion-content-one {
        padding: 2.5rem 0;
    }

    .conversion-content-one .btn-primary {
        --button-font-size: .9rem;
        align-self: flex-start;
    }

    .conversion-content-one .col-lg-4 {
        width: 36%;
    }

    .conversion-content-one .content-area {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

@media only screen and (max-width: 992px) {
    .page-template-page-conversion .conversion-content-one {
        padding: 1.5rem 0;
    }

    .conversion-content-one .conv-one-featured {
        max-width: 70%;
    }
}

.conversion-content-one__sticky-image img {
    aspect-ratio: 1/1;
    object-fit: cover;
}

.conversion-special .special-outer {
    padding: 2rem 0;
}

.conversion-special .special-inner {
    color: #FFFFFF;
}

.conversion-special h2 {
    font-size: calc(1rem * 35 / var(--rem-size-desktop));
    line-height: calc(42 / 35);
    margin-bottom: 1rem;
}

@media only screen and (max-width: 991px) {
    .conversion-special h2 {
        font-size: calc(1rem * 30 / var(--rem-size-desktop) * var(--default-mobile-font-scaling-factor));
    }
}

.special-button {
    font-weight: 400 !important;
    color: #FFFFFF;
}

.special-button:hover,
.special-button:active,
.special-button:focus {
    color: var(--colors-core-aqua);
}


/* Section Two Accordions 
.accordion-item {
	border: 1px solid #ccc;
	border-radius: .25rem;
	margin-bottom: 1rem;
}
.accordion-item {
	padding: var(--spacing-sm);	
	font-family: var(--heading-font-family);
	font-size: var(--font-size-lg);
	display: block;
}
.accordion-item:hover {
	cursor: pointer;
}
.accordion-item.active {
	border-bottom: 1px solid #ccc;
}
.accordion-item:before {
	display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: var(--spacing-sm);
  border-color: var(--color-primary);
  border-style: solid;
  border-top: 0;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-left: 0;
  -webkit-transform: var(--sub-menu-toggle-transform,rotate(45deg));
  transform: var(--sub-menu-toggle-transform,rotate(45deg));
  content: "";
  margin-bottom: .25rem;
}
.accordion-item.active:before {
	--sub-menu-toggle-transform: rotate(-135deg);
}
.accordion-body {
	padding: var(--spacing-sm);
	display: none;	
}*/