﻿@charset 'utf-8';

@font-face {
    font-family: "Gotham";
    src: url(/Fonts/GothamBold/GothamBold.otf) format('opentype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "Gotham";
    src: url(/Fonts/GothamLight/GothamLight.otf) format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "ApotekBold";
    src: url(/Fonts/Apotek/Apotek-CompressedBold.otf) format('opentype');
    font-weight: bold;
    font-style: normal;
}

.svg-css-line {
    fill: none;
    stroke: currentColor;
    stroke-miterlimit: 10;
}
.svg-css-line.bold {
    stroke-width: 1.4px;
}

.ApotekBold {
    font-family: "ApotekBold";
}

.Gotham {
    font-family: "Gotham";
}

/* Default Color Variables for all websites will be here. */
:root {
    --brand-stripe: var(--primary);
    --grey: #DBDBDB;
}


body {
    padding-bottom: 0px !important;
    overflow-x: hidden;
    overflow-y: scroll;
    font-family: "Gotham";
}

h1, h2, h3, h4 {
    font-family: "ApotekBold";
    text-transform: uppercase;
}


/* this class is toggled on for the sticky header */
.body-padding {
    padding-top: 80px;
}

.skip-link {
    position: absolute;
    top: -30px;
}

    .skip-link:focus {
        top: 0;
        z-index: 1047;
        position: fixed;
        background: white;
        margin: 0 5px;
        padding: 0 5px;
    }

.container {
    width: initial;
}

a {
    text-decoration: none;
}

.p1 {
    font-size: 1.25rem;
}

.img-container img {
    aspect-ratio: 10 / 7;
}

.img-exterior {
    margin: -2em 0 -3em 0;
    z-index: 3;
}

.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

.dl-horizontal dt {
    white-space: normal;
}

.text-muted-light {
    color: #c8c8c8;
}

.primary-text {
    color: var(--primary) !important;
}

.primary-link {
    color: var(--primary);
    text-decoration: underline;
    font-weight: bold;
}

    .primary-link:hover {
        color: var(--secondary);
    }

    .primary-link:focus {
        outline: 0.25rem solid var(--primary-light);
    }

.wishlist-link {
    color: var(--primary);
    text-decoration: underline;
    font-weight: bold;
}

    .wishlist-link:hover {
        color: var(--secondary);
    }

    .wishlist-link:focus {
        outline: 0.25rem solid var(--primary-light);
    }

.white-link {
    color: #FFF;
    text-decoration: underline;
    font-weight: bold;
}
    .white-link:hover {
        color: var(--grey);
    }

.text-tiny {
    font-size: .75em;
}

.text-small {
    font-size: .875em;
}

.modal-md {
    max-width: 600px;
}

.shadow-sm {
    box-shadow: 0 0.125rem 0.125rem rgb(0 0 0 / 25%) !important;
}

h1, .h1 {
    font-size: calc(1.375rem + 1.5vw);
}

/* #region Backgrounds */
.bg-main {
    background-color: rgba(var(--primary-rgb),var(--bs-bg-opacity)) !important;
    /*background-color: rgba(var(--bs-success-rgb),var(--bs-bg-opacity)) !important;*/
}

.bg-main-dark {
    background-color: rgba(var(--primary-dark-rgb),var(--bs-bg-opacity)) !important;
    /*background-color: rgba(var(--bs-success-rgb),var(--bs-bg-opacity)) !important;*/
}

.bg-grey {
    background-color: var(--grey);
}

.bg-brand {
    background-color: var(--grey);
}

.bg-main-gradient-fade {
    background: rgb(var(--primary-rgb));
    background: linear-gradient(90deg, rgba(var(--primary-rgb),1) 50%, rgba(var(--primary-rgb),0) 100%);
}

.bg-white {
    background-color: rgba(255, 255, 255, var(--bs-bg-opacity)) !important;
}

/* #endregion Backgrounds */


.separator, .separator-dark {
    display: flex;
    text-align: left;
}

    .separator::after {
        content: '';
        flex: 1;
        border-bottom: 2px solid #e3e3e3;
        margin-bottom: 6px;
    }

    .separator-dark::after {
        content: '';
        flex: 1;
        border-bottom: 2px solid #b9b9b9;
        margin-bottom: 6px;
    }

.brand-stripe {
    background-color: var(--brand-stripe);
    height: 6px;
}

.header-stripe {
    background-color: var(--brand-stripe);
    height: calc(5vw + 50px);
}

.img-brand-exterior {
    max-width: 100%;
    height: auto;
}

thead, tbody, tfoot, tr, td, th {
    border: none !important;
}

.table > :not(caption) > * > * {
    padding: 0rem 0rem;
}

.table {
    font-size: 1.4em;
    vertical-align: middle;
}

.brand-detail-specs th, .finder-specs th {
    padding: 0.8rem 1rem 0rem 1rem;
}

.brand-detail-specs td:not(.view-more), .finder-specs td:not(.view-more) {
    padding: 0rem 1rem 1rem 1rem;
}

.model-floorplan-link {
    display: inline-block;
}

    .model-floorplan-link:focus {
        outline: 0.25rem solid var(--primary-light);
    }

.view-more-floorplan-link {
    display: block;
}

    .view-more-floorplan-link .view-more-arrow {
        transition: 0.3s ease;
    }

    .view-more-floorplan-link:focus {
        outline: 0.25rem solid var(--primary-light);
    }

    .view-more-floorplan-link:hover .view-more-arrow {
        padding-left: 10px;
        color: var(--primary-dark);
    }

.region-map img {
    max-width: 100%;
    object-fit: contain;
}

#modelDescription p, #modelDescription ol, #updateAlerts p {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* #region Button Styles */
.btn {
    position: relative;
    display: inline-block;
    padding: 0.24rem 2.95rem;
    text-decoration: none;
    word-wrap: break-word;
    white-space: normal;
    overflow: hidden;
    border: 0;
    border-radius: 500rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
    font-size: 18px;
}

.modal .btn {
    padding: 0.24rem 1.95rem;
    font-size: 20px;
}

.btn:focus {
    box-shadow: 0 0 0 0.25rem var(--primary-light);
}

.btn-square {
    border-radius: 0rem;
}

.btn-main {
    background-color: var(--primary);
    color: #FFF;
}

    .btn-main:hover {
        background-color: var(--primary-dark);
        cursor: pointer;
        color: #FFF;
        animation: pulse 1.5s;
    }

    .btn-main:focus {
        color: #FFF;
    }

    .btn-main:active {
        background-color: var(--primary);
    }


.opacity-60 {
    opacity: 0.60 !important;
}

.icon-circular {
    color: #FFF;
    border-radius: 50%;
    padding: 0rem .25rem !important;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    text-align: center;
    user-select: none;
    margin: 2px;
    font-size: 16px;
}

    .icon-circular:focus {
        box-shadow: 0 0 0 0.25rem var(--primary-light);
        outline: none;
    }

.fr-tooltip .tooltip-inner {
    background-color: var(--primary-dark);
}

.header-img-effect {
    mix-blend-mode: multiply;
    filter: brightness(1) grayscale(1);
}

.btn-arrow {
    background-color: var(--primary);
    color: #FFF;
}

    .btn-arrow:hover {
        background-color: var(--primary-dark);
        cursor: pointer;
        color: #FFF;
    }

    .btn-arrow:focus {
        color: #FFF;
    }

    .btn-arrow:active {
        background-color: var(--primary);
    }

.btn-white {
    background-color: #FFF;
    color: #000;
    border: 1px solid rgba(var(--primary-rgb), 0.35);
}

    .btn-white:hover {
        cursor: pointer;
        color: var(--primary);
        animation: pulsewhite 1.5s;
    }

    .btn-white:active {
        background-color: #FFF;
    }

    .btn-white:focus:not(:focus-visible) {
        border: 1px solid rgba(0, 0, 0, 0.2);
    }

.btn-group .btn {
    align-content: center;
    border-radius: 0.4rem;
    width: 80px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn {
    padding: 10px 0px 3px 0px;
}

.btn-group > .btn:nth-child(n+3), .btn-group > :not(.btn-check) + .btn, .btn-group > .btn-group:not(:first-child) > .btn {
    padding: 10px 0px 3px 0px;
}

.btn-group .btn-white {
    color: var(--primary);
}

    .btn-group .btn-white:hover {
        color: #FFF;
        background-color: var(--primary);
    }

    .btn-group .btn-white.active {
        color: #FFF;
        background-color: var(--primary);
    }

        .btn-group .btn-white.active:hover {
            background-color: var(--primary-dark);
        }

.btn-group > .btn-check:checked + .btn, .btn-group > .btn:hover, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn-check:checked + .btn, .btn-group-vertical > .btn-check:focus + .btn, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active {
    z-index: auto;
}

.btn-circular {
    color: #FFF;
    border-radius: 50%;
    padding: 0rem .5rem !important;
    width: 40px;
    height: 40px;
}

.btn-icon {
    background: transparent;
    border: 0;
    color: #000;
    transition: 0.4s ease-in-out;
    display: inline-block;
}

    .btn-icon:hover {
        color: var(--primary);
        cursor: pointer;
        transform: scale(1.13) !important;
    }

    .btn-icon:focus {
        box-shadow: 0 0 0 0.25rem var(--primary-light);
        outline: 0;
        display: inline-block;
    }

/* Brand cards on index page */
.brands-card .card-body {
    padding: 0.1rem 0rem;
}

.brands-card img {
    aspect-ratio: 5 / 2;
}

.brands-card {
    display: block;
    height: 100%;
}

    .brands-card:hover {
        color: var(--primary) !important;
        transform: scale(1.02);
        transition: 0.5s ease;
    }

    .brands-card:focus {
        box-shadow: 0 0 0 0.25rem var(--primary-light);
        outline: 0;
    }


.intro-paragraph {
    font-size: 1.5rem;
    max-width: 1370px;
    margin: auto;
}

/* #endregion Button Styles */

/* #region Image Overlays */

.img-overlay .card-img-overlay {
    margin-top: 2em;
}

.img-overlay .text-img-float {
    padding-top: 1.5em;
    padding-bottom: 0.5em;
    padding-left: 1.5em;
}

.img-overlay.card {
    border: 0;
}

.header-scale-1 {
    font-size: calc(1.375rem + 1.4vw);
}

.header-scale-2 {
    font-size: 3rem;
    line-height: 1.2;
}

.primary-header-text {
    font-size: calc(1rem + 1.5vw);
}

.rv-wrap {
    height: 114px;
}

/* #endregion Image Overlays */

/* #region Header and Footer */
#siteLogo {
    border: none !important;
    max-height: 50px;
}

#footerLogo {
    border: none !important;
    /*filter: grayscale(100%);*/
    max-width: 350px;
}

footer .nav-link, footer .nav-link:hover {
    color: #FFF;
    padding: 0;
}

header a:focus, footer a:focus, header button:focus {
    box-shadow: 0 0 0 0.25rem var(--primary-light);
    outline: none;
    transition: 0.5s ease-in-out;
}


.load-more-arrow {
    animation: MoveUpDown 1.8s linear infinite;
}

@keyframes MoveUpDown {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(15px);
    }
}

@keyframes pulse {
    0% {
        -moz-box-shadow: 0px 0px 0px 0px rgba(var(--primary-rgb), 0.6);
        box-shadow: 0px 0px 0px 0px rgba(var(--primary-rgb), 1);
    }

    70% {
        -moz-box-shadow: 0px 0px 0px 10px rgba(var(--primary-rgb), 0.01);
        box-shadow: 0px 0px 0px 10px rgba(var(--primary-rgb), 0.01);
    }

    100% {
        -moz-box-shadow: 0px 0px 0px 10px rgba(var(--primary-rgb), 0);
        box-shadow: 0px 0px 0px 10px rgba(var(--primary-rgb), 0);
    }
}

@keyframes pulsewhite {
    0% {
        -moz-box-shadow: 0px 0px 0px 0px rgba(255,255,255, 0.6);
        box-shadow: 0px 0px 0px 0px rgba(255,255,255, 1);
    }

    70% {
        -moz-box-shadow: 0px 0px 0px 10px rgba(255,255,255, 0.01);
        box-shadow: 0px 0px 0px 10px rgba(255,255,255, 0.01);
    }

    100% {
        -moz-box-shadow: 0px 0px 0px 10px rgba(255,255,255, 0);
        box-shadow: 0px 0px 0px 10px rgba(255,255,255, 0);
    }
}


.rv-brand-result:focus, .floorplan-result:focus, .home-page-link:focus {
    outline: 0.25rem solid var(--primary-light);
    outline-offset: 0px;
    display: block;
    z-index: 10;
}

.video-link:focus, .matterport-link:focus {
    outline: 0.25rem solid var(--primary-light);
    outline-offset: 0px;
    z-index: 10;
}

#mainMenuRVHeaderBar {
    width: 100%;
    min-height: 110px;
}

    #mainMenuRVHeaderBar a {
        display: inline-block;
        color: #000;
        text-decoration: none;
        padding-bottom: 1px;
        position: relative;
    }

        #mainMenuRVHeaderBar a:focus {
            color: var(--primary) !important;
            transform: scale(1.03);
            transition: 0.2s ease;
        }

.brands-offcanvas, .search-offcanvas {
    padding-top: 70px;
    background: rgb(255,255,255);
    height: min-content;
}

.icon-offcanvas-links {
    list-style: none;
    white-space: nowrap;
    color: white;
    text-decoration: none;
    padding-top: 5px;
    padding-bottom: 5px;
    margin: 0px;
    padding-left: 0px;
}

    .icon-offcanvas-links li {
        display: inline-flex;
        margin-left: 60px;
        margin-right: 60px;
    }

        .icon-offcanvas-links li a.selected, .icon-offcanvas-links li a:hover {
            color: var(--primary) !important;
            transform: scale(1.03);
            transition: 0.2s ease;
        }

    .icon-offcanvas-links a:focus, .icon-offcanvas-links button:focus, .question-link:focus {
        box-shadow: 0 0 0 0.25rem var(--primary-light);
        outline: none;
    }

.search-field {
    padding: 6px 6px 6px 25px;
    font-size: 1em;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    margin-bottom: 0;
    border-radius: 500rem;
    height: 100%;
    font-size: 18px;
}

.brands-intro-image {
    animation: fadeInAnimation ease 0.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.owners-logout {
    display: none;
}

    .owners-logout button {
        background: none;
        border: none;
        text-align: left;
    }

    .owners-logout.loggedin {
        display: inherit;
    }

#ownersLoginImg {
    mix-blend-mode: screen;
    object-position: center;
    object-fit: contain;
    min-height: 100%;
    aspect-ratio: 12 / 9;
}

.rv-brand-result img, #floorplansList img, #rvFloorplanSearchResults img, .video-link img, .matterport-link img, #ownersLoginImg, #faqImage {
    animation: fadeInAnimation ease 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.ar-190-66 {
    aspect-ratio: 190 / 66;
}

.ar-19-3 {
    aspect-ratio: 19 / 3;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.helpful-tools-offcanvas {
    padding-top: 70px;
    height: min-content;
    width: 305px;
    right: 145px;
    left: unset;
}

.owners-offcanvas {
    padding-top: 70px;
    height: min-content;
    width: 280px;
    right: 0;
    left: unset;
    overflow: hidden;
}

.offcanvas-link-list {
    margin: 0;
}

    .offcanvas-link-list li {
        border-bottom: 1px solid rgba(0, 0, 0, .3);
        width: 100%;
        color: #000 !important;
        overflow: hidden;
        transition: 0.4s linear;
    }

        .offcanvas-link-list li:hover {
            background-color: rgba(var(--primary-rgb), .1);
        }

.offcanvas-link {
    color: #000;
    display: block;
    width: 100%;
    padding-left: 20px;
    padding-top: 8px;
    padding-bottom: 10px;
}

    .offcanvas-link:hover {
        color: #000;
    }

    .offcanvas-link:focus {
        outline: 2px solid var(--primary);
        outline-offset: -3px;
        background-color: rgba(var(--primary-rgb), .1);
    }

    .offcanvas-link::after {
        transition: 0.5s transform;
        color: var(--primary);
        display: inline-block;
        float: right;
        margin-right: 35px;
        transition: 0.5s;
        margin-top: 5px;
        font-size: 18px;
    }

    .offcanvas-link:hover::after, .offcanvas-link:focus::after {
        color: #000;
        margin-right: 25px;
    }


.offcanvas .card:hover {
    color: var(--primary);
    transform: scale(1.02);
    transition: 0.5s ease;
}

.img-zoom:hover {
    transform: scale(1.03);
    transition: 0.5s ease;
}

/* #endregion Header and Footer */

/* #region FR Carousel */
#quotesCarousel {
    background-color: var(--primary);
    width: 100%;
    height: 370px;
    color: #FFF;
    font-style: italic;
    overflow: hidden;
    display: block;
    vertical-align: middle;
}


#quotesCarousel.awardsCarousel {
    background-color: unset;
    width: 100%;
    height:unset;
    color: unset;
    font-style: normal;
    overflow: hidden;
    display: block;
    vertical-align: middle;
}

.fr-carousel {
    position: relative;
    width: 100%;
}

    .fr-carousel ul {
        position: relative;
        width: 100%;
        max-height: 100%;
        overflow: hidden;
        padding: 0;
        margin: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        line-height: 1.2;
    }


#quotesCarousel .fr-carousel-item {
    position: relative;
    text-align: center;
    padding-left: 8em;
    padding-right: 8em;
    animation: fadeIn 2s;
    -webkit-animation: fadeIn 2s;
    -moz-animation: fadeIn 2s;
    -o-animation: fadeIn 2s;
    animation-timing-function: ease-in-out;
    right: 100%;
    transition-delay: 0s;
    margin: 0px auto;
    align-items: center;
    justify-content: center;
}

#quotesCarousel.awardsCarousel .fr-carousel-item {
    padding-left: 0;
    padding-right: 0;
}
#quotesCarousel.awardsCarousel ul {
    height: unset;
}

#imgCarousel .fr-carousel-item {
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
    transition-delay: 0s;
    transition-duration: 0s;
}

#imgCarousel {
    border: none;
    background: transparent; /* W3C */
}

.icon-quote-after:before {
    font-size: 70px;
    opacity: 0.3;
    position: absolute;
    right: 5vw;
    bottom: 0;
}

.icon-quote-before:before {
    font-size: 70px;
    opacity: 0.3;
    position: absolute;
    left: 5vw;
    top: 0;
}



.fr-carousel-item figure, .fr-carousel-item a figure {
    position: relative;
    margin: 0;
}

.carousel-overlay {
    padding: 0.5em 0.5em 0.5em 0.5em;
    position: relative;
    color: #fff;
    text-align: center;
    font-size: calc(4em + 0.8vw);
    font-family: 'Amatic SC';
}

    .carousel-overlay::before {
        content: "";
        height: 100%;
        position: absolute;
        bottom: 3.5em;
        right: 0em;
        width: calc(50vw - 1em);
        background-color: rgb(var(--primary-rgb), 1);
        mix-blend-mode: multiply;
    }

    .carousel-overlay .carousel-text {
        display: block;
        position: relative;
        bottom: 3.5em;
        left: calc(6em + 1vw);
        width: 100%;
        overflow: hidden;
        color: #FFF;
        user-select: none;
        animation: fadeIn 2s;
        -webkit-animation: fadeIn 2s;
        -moz-animation: fadeIn 2s;
        -o-animation: fadeIn 2s;
    }

.anchor {
    display: block;
    position: relative;
    top: -194px;
    visibility: hidden;
}

.error-div {
    width: 100%;
}

.error {
    transform: rotate(-11deg);
    margin-right: 25%;
}

.fr-carousel-item a {
    cursor: pointer;
}

    .fr-carousel-item a:focus {
        outline: 5px solid var(--primary);
        outline-offset: -5px;
    }

    .fr-carousel-item a:focus {
        z-index: 5;
        right: 0%;
        left: 0%;
    }


#quotesCarousel .fr-carousel-item {
    display: none;
    width: 100%;
    max-width: 100%;
}

    #quotesCarousel .fr-carousel-item.previous {
        display: none;
        right: 0%;
        z-index: 3;
    }

    #quotesCarousel .fr-carousel-item.current {
        display: block;
    }

#imgCarousel .fr-carousel-item.current {
    z-index: 4;
    right: 0%;
}

#imgCarousel .fr-carousel-item.previous {
    right: 0%;
    z-index: 3;
}

.fr-carousel-prev, .fr-carousel-next, .fr-carousel-control {
    display: inline-block;
    height: 60px;
    padding: 0;
    margin: 0;
    vertical-align: top;
    width: 60px;
    background-size: 60px 60px;
    border: none;
    background-color: white;
    border-radius: 35px;
}

.fr-carousel-controls {
    position: absolute;
    bottom: .8em;
    left: 50%;
    margin-left: -94px;
    z-index: 6;
    height: 0;
    overflow: hidden;
}

.fr-carousel-controls-visible {
    height: 60px !important;
    overflow: visible;
}


.fr-carousel:hover .fr-carousel-controls {
    height: auto;
    overflow: visible;
}

.fr-carousel-prev:hover, .fr-carousel-next:hover, .fr-carousel-control:hover {
    transform: scale(1.15);
}

.fr-carousel-prev {
    background-image: url( '/Images/Icons/circle_previous_button.svg' );
}

.fr-carousel-next {
    background-image: url( '/Images/Icons/circle_next_button.svg' );
}

.fr-carousel-control.pause {
    background-image: url( '/Images/Icons/circle_pause_button.svg' );
}

.fr-carousel-control.play {
    background-image: url( '/Images/Icons/circle_play_button.svg' );
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.img-carousel {
    aspect-ratio: 19 / 9;
    max-width: 100%;
}

.fr-carousel-item .slider-img {
    aspect-ratio: 19 / 9;
    width: 100%;
    max-width: 100%;
    background: #222;
    height: auto;
}

.brands-intro-image {
    width: 100%;
    object-fit: cover;
    background: #222;
    aspect-ratio: 19 / 9;
}

.fr-carousel-controls input:focus {
    box-shadow: 0 0 0 0.30rem var(--primary-light);
    outline: none;
    transition: 0.3s;
}

/* #endregion FR Carousel */

/* #region Forms */
.form-floating .form-control {
    border-radius: 500rem;
    padding-left: 20px;
}

    .form-floating .form-control:focus {
        border: 2px solid var(--primary);
    }

.form-floating > .form-control:focus ~ label {
    color: var(--primary);
    opacity: 1;
}

.form-floating label {
    padding-left: 25px;
}

.form-control:focus, .form-select:focus {
    box-shadow: 0 0 0 0.125em var(--primary-light);
    /*box-shadow: 0 0 0 0.25rem var(--primary-light) !important;*/
    border: 1px solid var(--primary);
}

.btn-search-main {
    position: absolute;
    right: 5px;
    top: 1px;
    z-index: 3;
}

.icon-light {
    color: rgba(var(--primary-rgb), 0.65);
}

#indexToolSection i {
    font-size: 250px;
}

.form-label {
    margin-bottom: 2px;
    font-size: 15px;
}

.form-email::before {
    font-family: "bootstrap-icons";
    content: "\F32C";
    color: rgba(0,0,0, 0.3);
    position: absolute;
    left: 16px;
    top: 13px;
    font-size: 23px;
    transition: 0.3s ease-in-out;
}

.form-email:focus-within::before, .form-email:hover::before {
    color: var(--primary);
}

.form-email label, .form-password label {
    padding-left: 50px;
}

.form-email .form-control, .form-password .form-control {
    padding-left: 45px;
}

.form-password::before {
    font-family: "bootstrap-icons";
    content: "\F47A";
    color: rgba(0,0,0, 0.3);
    position: absolute;
    left: 16px;
    top: 13px;
    font-size: 23px;
    transition: 0.3s ease-in-out;
}

.form-password:focus-within::before, .form-password:hover::before {
    color: var(--primary);
}

.fr-checkbox {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}

    .fr-checkbox:disabled {
        background: #fff;
    }

        .fr-checkbox:disabled ~ label {
            padding-right: 5px;
            color: #6B6B6B;
            cursor: default;
        }

        .fr-checkbox:disabled + .fr-checkbox-label:before {
            border: 2px solid #f5f5f5;
            background: #fff;
        }

        .fr-checkbox:disabled:hover + .fr-checkbox-label:before {
            border: 2px solid #f5f5f5;
            cursor: default;
        }

        .fr-checkbox:disabled + .fr-checkbox-label:before {
            font-size: 25px;
            background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(245, 245, 245, 1) 5px, rgba(245, 245, 245, 1) 10px );
            width: 25px;
            height: 25px;
        }

.checkbox-list .fr-checkbox, .checkbox-list .fr-checkbox-label {
    display: inline-block;
    vertical-align: middle;
    margin: 2px 2px;
    cursor: pointer;
}

#quoteCheckbox .fr-checkbox, #quoteCheckbox .fr-checkbox-label, #signInCheckbox .fr-checkbox, #signInCheckbox .fr-checkbox-label, .fr-form-checkbox {
    display: inline-block;
    cursor: pointer;
    width: 100%;
}

.fr-checkbox-label {
    position: relative;
    font-size: 14px;
}

.fr-checkbox + .fr-checkbox-label:before {
    content: '';
    background: #fff;
    border: 2px solid #ddd;
    display: inline-block;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    margin-right: 10px;
    text-align: center;
    transition: 0.3s;
    line-height: 21px;
}

.fr-checkbox:hover + .fr-checkbox-label:before {
    border: 2px solid var(--primary-light);
    transition: 0.3s ease;
}

.fr-checkbox:checked + .fr-checkbox-label:before {
    font-size: 19px;
    background: #FFF;
    color: var(--primary);
    width: 25px;
    height: 25px;
}


.fr-checkbox:focus + .fr-checkbox-label {
    outline: 2px solid var(--primary); /* focus style */
    outline-offset: 2px;
}

.fr-checkbox:focus:not(:focus-visible) + .fr-checkbox-label {
    outline: 0;
}

.checkbox-list {
    list-style: none;
    padding: 0;
}

    .checkbox-list li {
        display: inline;
    }

.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}
/* #endregion forms */

/* #region Accordions */
.accordion-item {
    border: 0;
    margin-bottom: 22px;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
    border-radius: 0.15rem;
}

.accordion-button {
    background-color: #f7f7f7;
    font-size: 18px;
    font-weight: 500;
    font-family: Gotham;
    
}

    .accordion-button:hover {
        color: var(--primary);
    }

    .accordion-button:focus {
        border-color: var(--primary);
        box-shadow: 0 0 0 0.20rem var(--primary-light);
    }

    .accordion-button::after {
        background-image: url( '/Images/Icons/open-accordian.svg' );
        transition: ease 0.5s;
        transform: rotate(180deg);
    }

    .accordion-button:not(.collapsed) {
        color: var(--primary);
        background-color: #f7f7f7;
        box-shadow: none;
    }

        .accordion-button:not(.collapsed):focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 0.20rem var(--primary-light);
        }

            .accordion-button:not(.collapsed):focus:not(:focus-visible) {
                box-shadow: none;
            }

        .accordion-button:not(.collapsed)::after {
            background-image: url( '/Images/Icons/close-accordian.svg' );
            transform: none;
            transition: ease 0.3s;
        }

.accordion-body {
    padding: 1rem 1.25rem;
    border-top: 1px solid #dedede;
}

    .accordion-body a {
        color: var(--primary);
        text-decoration: underline;
        font-weight: bold;
    }

        .accordion-body a:hover {
            color: var(--secondary);
        }


/* #endregion Accordions */

/* #region Wishlist */
.wishlist-tooltip {
    display: none;
    cursor: default;
    width: 260px;
    background: white;
    border: 1px solid #555;
    text-align: center;
    border-radius: 6px;
    padding: 20px;
    position: absolute;
    z-index: 1;
    top: 3em;
    left: 0;
    opacity: 0;
    transition: opacity 1s;
}

    .wishlist-tooltip.model-details {
        left: -9em;
    }

    .wishlist-tooltip .close {
        float: right;
        border: none;
        background-color: transparent;
    }

.wishlist-button:focus {
    outline: 2px solid #000000;
    outline-offset: -2px;
}
/* #endregion Wishlist */

/* #region Image Scroller */
.image-scroller {
    background: #FFF;
    list-style: none;
    height: 422px;
    white-space: nowrap;
    -ms-overflow-style: none;
    overflow-x: scroll;
    overflow-y: hidden;
    position: relative;
    margin-bottom: 8px;
}

.scroll-arrows {
    position: relative;
}

.scroll-arrow {
    margin: auto;
    width: 85px;
    display: inline-block;
    height: 400px;
    border: 0;
    position: absolute;
    top: -430px;
    z-index: 5;
    transition: 0.3s ease-in-out;
    background-color: rgba(var(--primary-dark-rgb),0.6);
    padding-right: 0px;
    padding-left: 0px;
}

    .scroll-arrow::before {
        color: #FFF;
        font-size: 50px;
        text-shadow: 2px 2px 2px #000;
    }

.scroll-arrow-left {
    left: 0;
}

.scroll-arrow-right {
    right: 0;
}

.scroll-arrow-left:hover {
    padding-right: 15px;
    background-color: rgba(var(--primary-dark-rgb),0.8);
}

.scroll-arrow-right:hover {
    padding-left: 15px;
    background-color: rgba(var(--primary-dark-rgb),0.8);
}

.scroll-arrow-left:active {
    padding-right: 25px;
    background-color: rgba(var(--primary-dark-rgb),1);
}

.scroll-arrow-right:active {
    padding-left: 25px;
    background-color: rgba(var(--primary-dark-rgb),1);
}

.scroll-arrow-left:focus, .scroll-arrow-right:focus {
    outline: 2px solid #FFF;
    outline-offset: -4px;
}

.image-scroller::-webkit-scrollbar {
    height: 13px;
}

.award-scroller::-webkit-scrollbar {
    height: 9px;
}

.award-scroller::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    margin: 10px;
    border: 3px solid transparent;
}

.image-scroller::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    margin: 10px;
    border: 5px solid transparent;
}

.image-scroller::-webkit-scrollbar-thumb, .award-scroller::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: var(--primary);
}

    .image-scroller::-webkit-scrollbar-thumb:hover, .award-scroller::-webkit-scrollbar-thumb:hover {
        background: var(--primary-dark);
    }

.image-scroller ul {
    margin: 0;
    padding: 0;
    font-size: 0;
}

.image-scroller li {
    display: inline-block;
}

.image-scroller img {
    height: 400px;
    margin: 0;
    padding: 0;
}

.img-box {
    position: relative;
    margin: auto;
    overflow: hidden;
}

    .img-box img {
        transition: all 0.5s;
        display: block;
    }

    .img-box:hover img {
        transform: scale(1.13);
    }

.gallery-image:focus::after {
    content: "";
    height: 97.5%;
    width: 98.2%;
    box-shadow: 0 0 0 0.25rem var(--primary-light);
    position: absolute;
    top: 5px;
    left: 5px;
}

/* #endregion Image Scroller */

/* #region Video and Virtual Tour Styles */
.video-link {
    display: inline-block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.video-thumbnail {
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: -9.4% 0;
    transform: scale(1.015);
}

.tour-overlay, .video-overlay {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    text-shadow: 2px 2px 4px #000000, 2px 2px 4px #000000;
    white-space: nowrap;
}

.video-link > .video-overlay > .video-text {
    opacity: 0;
    transition: 0.5s ease;
}

.video-link:hover > .video-overlay > .video-text, .video-link:focus > .video-overlay > .video-text {
    opacity: 1;
    transition: 0.5s ease;
}


.video-thumbnail, .matterport-thumbnail {
    transition: all 0.5s ease;
}

.matterport-thumbnail {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: unset;
}

.video-link img, .matterport-link img {
    transition: 0.5s ease;
}

.video-link:hover img, .video-link:focus img, .matterport-link:hover img, .matterport-link:focus img {
    filter: brightness(0.6);
    transition: 0.5s ease;
}
/* #endregion Video and Virtual Tour Styles */

/* #region Header Navigation */
#headerNav {
    z-index: 1046;
    background-color: var(--menu-bg);
    border-top: 6px solid var(--brand-stripe);
    min-height: 80px;
    margin-bottom: 0px;
    top: 0px;
    transition: transform 0.4s;
}

.lg-backdrop {
    z-index: 1047 !important;
}

#headerNav i {
    font-size: 25px;
    color: var(--header-icons);
}

#headerNav .navbar-nav li {
    margin-right: 5px;
}



#headerNav .navbar-nav a, .navbar-nav button {
    position: relative;
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
    color: var(--font);
    text-decoration: none;
    transition: 0.5s;
    border: none;
    background-color: transparent;
    font-size: 18px;
    border-radius: 500rem;
    padding-left: 15px;
    padding-right: 15px;
}

    #headerNav .navbar-nav a:hover, .navbar-nav button:hover {
        color: var(--primary);
    }

#headerNav .menu-dropdown-btn::after {
    -ms-transform: rotate(90deg); /* IE 9 */
    -webkit-transform: rotate(90deg); /* Safari */
    transform: rotate(90deg);
    display: inline-block;
    float: right;
    margin-left: 10px;
    transition: 0.5s;
    font-size: 16px;
    margin-top: 2px;
}

#headerNav .menu-dropdown-btn:hover::after {
    color: var(--primary);
}

#headerNav .navbar-nav[data-animation="to-left"] a::before {
    transform-origin: right;
}

#headerNav .menu-btn-active::after {
    -ms-transform: rotate(-90deg); /* IE 9 */
    -webkit-transform: rotate(-90deg); /* Safari */
    transform: rotate(-90deg);
    font-size: 16px;
    margin-top: 2px;
}

#brandDetailsHeaderBar {
    position: fixed;
    color: #FFF;
    z-index: 8;
    width: 100%;
    display: none;
    top: 0px;
    right: 0px;
    -webkit-backface-visibility: hidden;
}

#modelDetailsHeaderBar {
    color: #FFF;
    z-index: 8;
    width: 100%;
    top: 0px;
    min-height: 110px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
}


.header-icon-link {
    display: inline-block;
    color: white;
    text-decoration: none;
    padding-bottom: 1px;
    position: relative;
}

.rv-type-link {
    display: inline-block;
    color: white;
    text-decoration: none;
    position: relative;
}


    .header-icon-link::after, .rv-type-link::after {
        content: '';
        position: absolute;
        bottom: 3px;
        left: 0;
        width: 100%;
        height: 0.3em;
        background-color: var(--primary-light);
        opacity: 0;
        transition: opacity 300ms, transform 300ms;
    }

    .rv-type-link::after {
        background-color: #FFF;
        height: 0.3em;
    }

.header-icon-link:hover {
    color: #FFF;
}

    .header-icon-link:hover::after {
        opacity: 1;
        transform: translate3d(0, 0.6em, 0);
    }

.header-icon-link > i, .rv-type-link > i {
    transition: 0.3s ease-in-out;
    display: inline-flex;
    background-size: 100% 200%;
    background-image: linear-gradient(to bottom, #FFF 50%, var(--grey) 50%), linear-gradient(to bottom, transparent 50%, transparent 50%);
    transition: all 0.3s cubic-bezier(1, 1, 1, 1);
    -webkit-background-clip: text, border-box;
    background-clip: text, border-box;
    color: white;
}

.header-icon-link:hover > i {
    background-position: 0% 100%;
    color: transparent;
}

.breadcrumbs-link {
    color: #FFF;
    text-decoration: none;
    transition: 0.3s ease;
    position: relative;
}

    .breadcrumbs-link::after {
        content: '';
        position: absolute;
        bottom: 3px;
        left: 0;
        width: 100%;
        height: 0.3em;
        background-color: var(--primary-light);
        opacity: 0;
        transition: opacity 300ms, transform 300ms;
    }

    .breadcrumbs-link:hover::after {
        opacity: 1;
        transform: translate3d(0, 0.6em, 0);
    }

.breadcrumbs-font {
    font-size: calc(1rem + 0.1vw);
}

.breadcrumbs-link:hover, .breadcrumbs-link:focus {
    color: white;
}

.breadcrumbs-link:focus {
    box-shadow: 0 0 0 0.25rem var(--primary-light);
    outline: 0;
}

.floorplan-link:focus {
    box-shadow: 0 0 0 0.25rem var(--primary-light);
    outline: 0;
    display: block;
}

.brochure-link:focus, .more-downloads-link:focus {
    outline: 0.25rem solid var(--primary-light);
    display: block;
}

.rv-type-link:hover {
    opacity: .7;
    transition: 0.3s ease;
    color: #FFF;
}


.li-icon-links, .rv-icon-links {
    list-style: none;
    float: right;
    white-space: nowrap;
    color: white;
    text-decoration: none;
    padding-bottom: 0px !important;
    padding-top: 7px;
    margin: 0px;
}

    .li-icon-links li, .rv-icon-links li {
        display: inline-flex;
        padding-right: 20px;
    }
/* #endregion Header Navigation */

/* #region RVs page */
.rv-accordion {
    margin: 0px;
    padding: 0.8rem 1.5rem 0.8rem 1.5rem;
    display: block;
    color: #000;
    background-color: transparent;
    width: 100%;
    text-align: left;
    font-weight: 500;
    border-bottom: 1px solid #b2b2b2;
    border-right: 1px solid #b2b2b2;
    border-left: 1px solid #b2b2b2;
    border-top: none;
    font-size: 20px;
    transition: 0.5s ease-in-out;
}

    .rv-accordion.hidden {
        visibility: hidden;
        height: 0px !important;
        padding: 0 !important;
        margin: -1px 0 -1px 0;
    }

    /*#filterAccordions {
    border-top: 1px solid rgb(0, 0, 0, 0.3);
}*/

    .rv-accordion::after {
        color: #000;
        display: inline-block;
        float: right;
        margin-top: 1px;
        transition: 0.5s ease;
    }

    .rv-accordion:hover {
        color: var(--primary);
    }

#filterAccordions {
    margin-bottom: 0px;
}

.rv-accordion:focus {
    outline: 3px solid var(--primary-light);
    outline-offset: -3px;
}

.rv-accordion-open {
    color: var(--primary);
}

    .rv-accordion-open::after {
        transform: rotate(180deg);
        transition: 0.5s ease 0s;
    }

.rv-accordion-content {
    display: none;
    border-bottom: 1px solid #b2b2b2;
    border-right: 1px solid #b2b2b2;
    border-left: 1px solid #b2b2b2;
    max-width: 100%;
}

.rv-type-title {
    text-transform: capitalize;
}

.accordions-hide {
    display: none;
}

.filter-accordions-closed {
    content: "Filter Results";
}

    .filter-accordions-closed::before {
        -ms-transform: rotate(90deg); /* IE 9 */
        -webkit-transform: rotate(90deg); /* Safari */
        transform: rotate(90deg);
    }

.modal-title {
    line-height: 1.2;
}

#sales_regions_link {
    padding: 5px;
    margin-top: 10px;
}
/* #endregion Header Navigation */

/* #region Footer Navigation */
#footerNav {
    background-color: #1a1a1a;
    padding-left: 6rem;
    width: 100%;
    overflow: hidden;
}

    #footerNav .nav-link {
        line-height: 1.4;
    }

        #footerNav .nav-link:active, #footerNav .nav-link:hover, #footerNav .nav-link:focus {
            color: var(--grey);
        }

.footer-link-header {
    margin-bottom: 1.5rem;
    display: block;
}

#blackFooter {
    padding-left: 10%;
    padding-right: 10%;
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: .80em;
}

.footer-accordion {
    display: none;
}

.footer-nav-links {
    display: inline-block;
}


/* #endregion Footer Navigation */

.btn-pp-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: #000;
    border: 0;
    border-radius: 0.25rem;
    opacity: 0.5;
    background-color: white;
}

.btn-close, .btn-pp-close {
    background-image: url( '/Images/Icons/close-btn.svg' );
    background-size: contain;
    font-size: 0.8em;
    border-radius: 500rem;
}



    .btn-close:hover, .btn-pp-close:hover {
        color: #FFF;
        text-decoration: none;
        opacity: 0.75;
    }

.lazy {
    transition: transform .7s ease-out, opacity .7s ease-out;
    display: inline-block;
    opacity: 0;
    transform: translate(0, 30px);
}

.scroll-in-fade {
    transform: translate(0, 0px);
    opacity: 1;
}

.fluid-iframe {
    position: relative;
    padding-top: 30px;
    height: 0;
    padding-bottom: 56.25%;
}

    .fluid-iframe iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
        max-width: 100%;
    }

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .form-select.is-invalid:focus {
    box-shadow: 0 0 0 0.25rem rgb(220 53 69 / 25%) !important;
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .form-select.is-valid:focus {
    box-shadow: 0 0 0 0.25rem rgb(25 135 84 / 25%) !important;
}

.invalid-feedback {
    color: #D9020A;
}

/* #region rvfinder */
.rv-type-link.selected::after {
    opacity: 1 !important;
    transform: translate3d(0, 0.6em, 0);
    background-color: #FFFFFF!important;
}

.header-icon-link:focus {
    outline: 3px solid rgba(255,255,255,0.6);
    outline-offset: 5px;
}

.rv-type-link:focus {
    outline: 2px solid rgba(255,255,255,0.6);
    outline-offset: 10px;
}

.rv-type-link.selected > i {
    background-position: 0% 100%;
    color: transparent !important;
}
.refine-checkboxes label {
    width: 45%;
    display: inline-block;
}

.refine-checkboxes input {
    height: 0;
    width: 0;
    outline: none;
}

.refine-checkboxes label {
    padding: 4px 8px;
    margin: 0.15em 0;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
}

.refine-checkboxes .yes:focus ~ .yes-label, .refine-checkboxes .yes:active ~ .yes-label,
.refine-checkboxes .no:focus ~ .no-label, .refine-checkboxes .no:active ~ .no-label,
.refine-checkboxes .yes ~ .yes-label:hover, .refine-checkboxes .yes ~ .yes-label:focus,
.refine-checkboxes .no ~ .no-label:hover, .refine-checkboxes .no ~ .no-label:focus {
    border: 4px solid #86b7fe;
    padding: 2px 4px;
}


.refine-checkboxes .yes ~ .yes-label {
    border: 2px solid #00391b;
    border-radius: 6px 0 0 6px;
}

.refine-checkboxes .yes:checked ~ .yes-label {
    background-color: #00391b;
    color: white;
}

.refine-checkboxes .no ~ .no-label {
    border: 2px solid #5d251f;
    border-radius: 0 6px 6px 0;
}

.refine-checkboxes .no:checked ~ .no-label {
    background-color: #5d251f;
    color: white;
}

.refine-checkboxes .yes:disabled ~ .yes-label, .refine-checkboxes .no:disabled ~ .no-label {
    border: 2px solid #ddd;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(245, 245, 245, 1) 10px, rgba(245, 245, 245, 1) 20px )
}

    .refine-checkboxes .yes:disabled ~ .yes-label:hover, .refine-checkboxes .no:disabled ~ .no-label:hover {
        border: 2px solid #ddd;
        background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(245, 245, 245, 1) 10px, rgba(245, 245, 245, 1) 20px )
    }

    .refine-checkboxes .yes:disabled ~ .yes-label:hover, .refine-checkboxes .yes:disabled ~ .yes-label:focus,
    .refine-checkboxes .no:disabled ~ .no-label:hover, .refine-checkboxes .no:disabled ~ .no-label:focus {
        padding: 4px 8px;
        cursor: default;
    }

.refine-checkboxes legend {
    font-size: 1rem;
    margin-top: .75rem;
    margin-bottom: .25rem;
}

.checkbox-list li.hidden {
    visibility: hidden;
    height: 0px !important;
    padding: 0 !important;
}

/* Chips are the little buttons with an X which appear when you have an RV Finder Filter selected */
.chip {
    display: inline-flex;
    flex-direction: row;
    border: 2px solid #e3e3e3;
    outline: none;
    padding: 0;
    font-size: 16px;
    color: var(--primary);
    white-space: nowrap;
    align-items: center;
    border-radius: 500rem;
    vertical-align: middle;
    text-decoration: none;
    justify-content: center;
    transition: 0.5s ease;
}

    .chip:hover {
        color: var(--primary-dark);
        border: 2px solid var(--primary-light);
        background: rgb(var(--primary-rgb), 0.08);
    }

    .chip:focus {
        box-shadow: 0 0 0 0.15rem var(--primary-light);
        border: 2px solid var(--primary);
    }

.chip-content {
    display: flex;
    align-items: center;
    user-select: none;
    white-space: nowrap;
    padding: 5px 15px 5px 15px;
}

.chip-svg:after {
    -ms-transform: rotate(45deg); /* IE 9 */
    -webkit-transform: rotate(45deg); /* Safari */
    transform: rotate(45deg);
    display: inline-block;
    float: right;
    margin-left: -10px;
    margin-right: 10px;
    font-size: 18px;
}

.close-svg:after {
    -ms-transform: rotate(45deg); /* IE 9 */
    -webkit-transform: rotate(45deg); /* Safari */
    transform: rotate(45deg);
    display: inline-block;
    float: right;
    margin: 0 2px 0 2px;
    font-size: 22px;
}

/* Range slider for Length and Weight Filters */
.slidecontainer {
    width: 100%;
}

.slider {
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    background-color: #d0d0d0;
    border-radius: 10px;
    outline: none;
}

    .slider::-webkit-slider-thumb:hover {
        background: var(--primary-dark);
    }

    .slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 50px;
        height: 13px;
        border-radius: 50%;
        cursor: pointer;
        border-radius: 10px;
        background: var(--primary);
    }



    .slider:focus {
        box-shadow: 0 0 0 0.15rem var(--primary-light);
    }

    .slider::-moz-range-thumb {
        border-radius: 10px;
        height: 5px;
        cursor: pointer;
    }
#rvsStickyHeader {
    z-index: 50;
    position: sticky;
    top: 0px;
}

#fixedAccordionsContainer {
    z-index: 49;
    display: block;
    max-height: calc(100vh - 192px);
    height: auto;
    overflow-y: auto;
    border-top: none;
    position: sticky;
    top: 0px;
    float: left;
    /*    width: 25%;*/
}

#searchResultsContainer {
    padding-left: 25%;
    min-height: calc(100vh - 112px);
}

#offcanvasFilterResults {
    height: 72vh;
}

#mobileFilterBtn {
    position: fixed;
    right: 10px;
    bottom: 2px;
    z-index: 45;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px !important;
    border: 1px solid rgba(var(--primary-rgb), 0.8);
    background-color: #FFF;
    color: #000;
}
/* #endregion rvfinder */

.spec-list, .vin-list {
    display: flex;
    flex-wrap: wrap;
    padding: 0.25em;
    font-size: 1.3rem;
}

.spec-title {
    flex: 1 0 30%;
    max-width: 30%;
    white-space: nowrap;
}

.spec-value {
    flex: 1 0 20%;
    max-width: 20%;
}

.spec-value {
    text-align: right;
    padding-right: 1.5em;
}


.vin-title {
    flex: 1 0 20%;
    max-width: 20%;
    white-space: nowrap;
}

.vin-value {
    flex: 1 0 30%;
    max-width: 30%;
    text-align: right;
    padding-right: 1.5em;
}

/* #region Mobile Menu */
.mobile-menu {
    background-color: var(--menu-bg);
    color: var(--font);
    padding-top: 5px;
    width: 100%;
    height: 100vh;
    white-space: nowrap;
    position: fixed;
    top: 65px;
    left: 0;
    visibility: hidden;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: -webkit-transform 0.5s ease-in-out, visibility 0s 0.5s;
    transition: transform 0.5s ease-in-out, visibility 0s 0.5s;
    z-index: 49;
    max-width: 100%;
}

.mobile-menu-list {
    position: relative;
    height: 100%;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 25vh;
}

.mobile-menu a {
    color: #000;
    display: block;
}

    .mobile-menu a:hover {
        color: #000;
    }

.mobile-menu li {
    list-style: none;
    font-size: 20px;
    margin: -1px 0px 0px -32px;
}


    .mobile-menu li a {
        margin: 0px 0px 0px 0px;
        padding: 8px 20px 8px 20px;
        display: block;
        color: var(--font);
        text-decoration: none;
        font-size: 20px;
        border-bottom: none;
        color: #000;
        border: 1px solid rgba(0, 0, 0, .1);
    }

.mobile-link {
    cursor: pointer;
    -webkit-user-select: none; /* Safari 3.1+ */
    -moz-user-select: none; /* Firefox 2+ */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
    color: var(--font);
    display: block;
    padding: 18px 0px 18px 20px !important; /* Top Right Bottom Left */
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, .3) !important;
    margin-top: 1px !important;
    font-weight: 400;
}

.mobile-menu-open {
    visibility: visible;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
}

.mobile-dropdown {
    cursor: pointer;
    -webkit-user-select: none; /* Safari 3.1+ */
    -moz-user-select: none; /* Firefox 2+ */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
    color: var(--font);
    display: block;
    padding: 15px 0px 15px 20px; /* Top Right Bottom Left */
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    margin-top: 1px;
    font-weight: 400;
}

    .mobile-dropdown:focus, .mobile-menu li a:focus {
        outline: 2px solid var(--primary-light);
        outline-offset: -2px;
        transition: none;
    }

.mobile-down:focus {
    outline-offset: -3px;
    outline: 2px solid var(--primary-light);
}


.mobile-dropdown::after {
    font-size: 16px;
    -ms-transform: rotate(90deg); /* IE 9 */
    -webkit-transform: rotate(90deg); /* Safari */
    transform: rotate(90deg);
    color: var(--font);
    display: inline-block;
    float: right;
    margin-right: 25px;
    transition: 0.5s;
    margin-top: 2px;
}

.mobile-down {
    color: #FFF;
    transition: ease 0.5s;
    background-color: var(--primary);
}

    .mobile-down::after {
        -ms-transform: rotate(-90deg); /* IE 9 */
        -webkit-transform: rotate(-90deg); /* Safari */
        transform: rotate(-90deg);
        transition: 0.5s;
        color: #FFF;
    }

.nested {
    display: none;
    background: #FFF;
    overflow: scroll;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
}

.nested-types li a {
    border: none;
    margin-left: 5px;
    margin-right: 5px;
}



.nested-types {
    overflow-x: scroll;
    overflow-y: hidden;
    background: #FFF;
    margin-bottom: 5px;
}

    .nested-types li {
        display: inline-block;
        margin-top: 20px;
        margin-bottom: 10px;
    }


    .nested-types::-webkit-scrollbar {
        height: 7px;
    }

    .nested-types::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background: var(--primary);
    }

    .nested-types::-webkit-scrollbar-track {
        box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
        border-radius: 10px;
        margin: 8px;
        border: 2px solid transparent;
    }

.mobile-menu li.hide {
    display: none;
}

.openbtn {
    display: none;
}

.fixed-position {
    overflow: hidden;
}
/* #endregion Mobile Menu */


.brand-text-mobile {
    display: none;
}

.max-height-lg {
    height: 900px;
    width: 100%;
    object-fit: cover;
}

.toast-container {
    z-index: 3;
}

/* #region Animations */
.fade-in-animation {
    animation: 1s ease-in-out 0s 1 fadeIn;
}

.slide-up-animation {
    animation: 0.5s ease-out 0s 1 slideInUp;
}

.slide-up-fade {
    animation: 0.5s ease-out 0s 1 slideInUp, 1s ease-in-out 0s 1 fadeIn;
}

.slide-up-fade-fast {
    animation: 0.5s ease-out 0s 1 slideInUp, 0.5s ease-in-out 0s 1 fadeIn;
}

.slide-right-animation {
    animation: 0.5s ease-out 0s 1 slideInRight;
}

.slide-right-slow {
    animation: 0.8s ease-in 0s 1 slideInRightSlow;
}

@keyframes slideInUp {
    0% {
        transform: translateY(50%);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes slideInRightSlow {
    0% {
        transform: translateX(-150%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInLeft {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(0);
    }
}
/* #endregion Animations */

.award-scroller {
    background: #FFF;
    list-style: none;
    white-space: nowrap;
    -ms-overflow-style: none;
    overflow-x: scroll;
    overflow-y: hidden;
    position: relative;
    margin-bottom: 8px;
}

#brandLinkImages ul {
    padding-left: 5px;
}

#brandLinkImages li {
    display: inline-block;
    margin-top: 25px;
    margin-bottom: 50px;
    margin-right: 55px;
}


*:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none;
}

.show-more-button {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    bottom: calc(18vh);
    z-index: 3;
    left: 50%;
    transform: translate(-50%, 0);
}

.white-overlay {
    position: relative;
    max-height: 310px;
    overflow: hidden;
}

    .white-overlay::before {
        background-image: linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        background-image: linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        background-image: -moz-linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        background-image: -ms-linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        background-image: -o-linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        background-image: -webkit-linear-gradient( top, rgba( 255, 255, 255, 0.2 ) 0%, rgba( 255, 255, 255, 1 ) 75% );
        content: "\00a0";
        height: 100%;
        position: absolute;
        width: 100%;
        z-index: 2;
    }

.arrow-up-btn, .arrow-down-btn {
    font-size: 0.8rem;
}

.hidden-floorplan {
    display: none;
}


/* #region Typeahead styles*/
.brand-search span, .video-search span {
    width: 100%;
}

.tt-input {
    background-color: #fff !important;
}

.tt-query {
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
    /*color: #252525;*/
    display: none; /*hiding the in box suggestion, as it is not really useful*/
}

.tt-menu {
    width: 100%;
    max-width: 600px;
    margin: 12px 0;
    padding: 8px 0;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
    -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
    box-shadow: 0 5px 10px rgba(0,0,0,.2);
}

.tt-suggestion a, .video-search-suggest {
    padding: 10px 20px;
    font-size: 18px;
    line-height: 24px;
    display: inline-block;
    width: 100%;
    color: var(--primary);
}

    .tt-suggestion:hover, .tt-suggestion a:hover {
        cursor: pointer;
        color: #fff;
        background-color: var(--primary-dark);
    }

.tt-suggestion.tt-cursor a {
    color: #fff !important;
    background-color: var(--primary-dark);
}

.tt-suggestion p {
    margin: 0;
}
/* #endregion */

.our-brands-heading {
    font-size: calc(1rem + 1.2vw);
    /*letter-spacing: -0.2px;*/
    white-space: nowrap;
}

.brand-details-header {
    font-size: calc(1rem + 0.89vw);
   /* letter-spacing: -0.5px;*/
}

.model-details-1 {
    font-size: 28px;
}


.model-details-2 {
    font-size: calc(1rem + 0.89vw);
}

.model-details-3 {
    font-size: 22px;
}

#toggleRVFinderView {
    max-height: 70px;
}

.brand-page-title {
    font-size: calc(1.325rem + 0.8vw);
}

.floorplan-types {
    font-size: calc(1.3rem + 0.7vw) !important;
}

.floorplan-link {
    font-size: calc(1.3rem + 0.6vw) !important;
}

.small-breadcrumbs-font {
    font-size: calc(1rem + 0.1vw);
}

.lg-sub-html {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

.fs-scale-1 {
    font-size: 1.25rem;
}

.video-thumb {
    aspect-ratio: 48 / 36;
    width: 100%;
    height: unset;
}

#LoadingImage {
    mix-blend-mode: multiply;
}

.select-white-arrow {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    width: fit-content;
}

@media screen and (max-width: 1900px) {
    .icon-offcanvas-links li {
        margin-left: 50px;
        margin-right: 50px;
    }

    .header-scale-1 {
        font-size: calc(1rem + 1.5vw);
    }

    .our-brands-heading {
        font-size: calc(1rem + 1vw);
        /*letter-spacing: -1px;*/
    }
}


@media screen and (max-width: 1750px) {
    .table > :not(caption) > * > * {
        padding: 1rem 0rem 0.5rem 0rem;
    }

    .header-scale-1 {
        font-size: calc(0.95rem + 1.5vw);
    }

    .model-details-1 {
        font-size: 25px;
    }

    .model-details-2 {
        font-size: calc(0.90rem + 0.89vw);
    }

    .model-details-3 {
        font-size: 18px;
    }

    #footerLogo {
        max-width: 300px;
    }

    .icon-offcanvas-links li {
        margin-left: 30px;
        margin-right: 30px;
    }

    .carousel-overlay::before {
        width: calc(50vw);
    }

    .carousel-overlay .carousel-text {
        left: calc(24vw);
    }

    #modelDetailsHeaderBar, #rvsHeaderBar {
        min-height: unset;
    }

    .btn-main, .btn-white {
        font-size: 18px;
    }

    .brand-detail-specs th, .finder-specs th {
        padding: 0.2rem 0rem 0rem 0.6rem;
        font-size: calc(0.5rem + 0.8vw);
    }

    .brand-detail-specs td:not(.view-more), .finder-specs td:not(.view-more) {
        padding: 0.2rem 0rem 0rem 0.6rem;
        font-size: calc(0.5rem + 0.8vw);
    }


    .carousel-overlay {
        padding: 0.5em 0.5em 0.5em 0.5em;
    }

    .breadcrumbs-font {
        font-size: calc(0.95rem + 0.1vw);
    }

    .small-breadcrumbs-font {
        font-size: calc(0.90rem + 0.1vw);
    }
}

@media (min-width: 1750px) {
    .container {
        max-width: 1725px;
    }
}

@media screen and (max-width: 1600px) {
    .model-details-2 {
        font-size: calc(0.90rem + 0.80vw);
    }

    .carousel-overlay::before {
        width: calc(53vw);
    }

    .small-breadcrumbs-font {
        font-size: calc(0.80rem + 0.1vw);
    }

    .md-mobile-crop {
        height: 450px;
        object-fit: cover;
    }

    .ms-mobile-crop {
        height: 320px;
        object-fit: cover;
    }
}

@media screen and (max-width: 1500px) {
    .small-breadcrumbs-font {
        font-size: calc(0.75rem + 0.1vw);
    }

    .breadcrumbs-font {
        font-size: calc(0.85rem + 0.1vw);
    }

    .our-brands-heading {
        font-size: calc(1rem + 0.96vw);
    }

    .model-details-2 {
        font-size: calc(1rem + 0.75vw);
    }

    .header-scale-1 {
        font-size: calc(0.75rem + 1.5vw);
    }

    .modal-footer {
        padding: 0.15rem;
    }

    .icon-offcanvas-links li {
        margin-left: 5px;
        margin-right: 5px;
    }

    .icon-offcanvas-links .is-4 {
        font-size: 3.5em;
    }

    .carousel-overlay {
        font-size: calc(3em + 0.8vw);
    }

        .carousel-overlay::before {
            width: calc(58vw);
        }

        .carousel-overlay .carousel-text {
            left: calc(22vw);
        }

    #brandDetailsHeaderBar .fs-5, #brandImageOverlay .fs-5 {
        font-size: calc(0.4rem + 0.8vw) !important;
    }

    #quotesCarousel {
        height: 410px;
    }

        #quotesCarousel .fr-carousel-item {
            padding-left: 5em;
            padding-right: 5em;
        }

    #indexToolSection i {
        font-size: 150px;
    }

    .btn {
        padding: 0.24rem 2.15rem;
    }

    .btn-main, .btn-white {
        font-size: 16px;
    }

    .brands-card .fs-2 {
        font-size: 25px !important;
    }

    #footerLogo {
        max-width: 250px;
    }

    .rv-wrap {
        height: 100px;
    }


    .brands-intro-image {
        height: unset;
    }

    /* #region Mobile Crop Classes */
    .crop-0-0 {
        object-position: 0 0;
    }

    .crop-10-0 {
        object-position: 10% 0;
    }

    .crop-20-0 {
        object-position: 20% 0;
    }

    .crop-30-0 {
        object-position: 30% 0;
    }

    .crop-40-0 {
        object-position: 40% 0;
    }

    .crop-50-0 {
        object-position: 50% 0;
    }

    .crop-55-0 {
        object-position: 55% 0;
    }

    .crop-60-0 {
        object-position: 60% 0;
    }

    .crop-65-0 {
        object-position: 65% 0;
    }

    .crop-70-0 {
        object-position: 70% 0;
    }

    .crop-80-0 {
        object-position: 80% 0;
    }

    .crop-90-0 {
        object-position: 90% 0;
    }

    .crop-100-0 {
        object-position: 100% 0;
    }
    /* #endregion Mobile Crop Classes */
}

@media screen and (max-width: 1300px) {
    .rv-accordion {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }
}

@media screen and (max-width: 1300px) {
    .header-scale-1 {
        font-size: calc(0.65rem + 1.5vw);
    }

    .header-scale-2 {
        font-size: calc(1.425rem + 2.1vw);
        line-height: 1;
    }

    .our-brands-heading {
        font-size: calc(1rem + 0.9vw);
    }

    .model-details-2 {
        font-size: calc(0.90rem + 0.75vw);
    }
}


@media screen and (max-width: 1200px) {
    .lg-mobile-crop {
        height: 500px;
        object-fit: cover;
    }

    #searchResultsContainer {
        padding-left: 33.33333333%;
    }

    .white-overlay {
        max-height: 270px;
        overflow: hidden;
    }

    .show-more-button {
        bottom: calc(15vh);
    }

    .carousel-overlay {
        font-size: calc(2.5em + 0.8vw);
    }

        .carousel-overlay .carousel-text {
            bottom: 3em;
        }

        .carousel-overlay::before {
            bottom: 3em;
        }

    .our-brands-heading {
        font-size: calc(1rem + 1.4vw);
    }

    .brand-detail-specs th, .finder-specs th {
        font-size: calc(0.8rem + 0.8vw);
    }

    .brand-detail-specs td:not(.view-more), .finder-specs td:not(.view-more) {
        font-size: calc(0.8rem + 0.8vw);
    }

    .header-scale-1 {
        font-size: calc(1rem + 1.4vw);
    }

    .model-details-1 {
        font-size: 22px;
    }

    .model-details-3 {
        font-size: 14px;
    }

    #brandImageOverlay .text-img-float {
        width: 100%;
        padding-top: 1.1em;
        padding-bottom: 0.3em;
        padding-left: 1em;
    }

    .icon-offcanvas-links .is-4 {
        font-size: 3em;
    }

    .carousel-overlay::before {
        width: calc(64vw);
    }

    .carousel-overlay .carousel-text {
        left: calc(19vw);
    }

    #brandDetailsHeaderBar .text-small, #brandImageOverlay .text-small, #modelDetailsHeaderBar .text-small {
        font-size: 0.675em;
    }

    .li-icon-links li, rv-icon-links li {
        padding-right: 10px;
    }

    .rv-accordion {
        font-size: 18px;
        padding: 0.8rem 1.5rem 0.8rem 1.5rem;
    }

    #quotesCarousel .fr-carousel-item {
        padding-left: 1em;
        padding-right: 1em;
    }

    .btn-main, .btn-white {
        font-size: 18px;
    }

    #footerLogo {
        max-width: 200px;
    }

    .brands-card .fs-2 {
        font-size: 20px !important;
    }

    #quotesCarousel {
        height: 370px;
        overflow: hidden;
    }

        #quotesCarousel .fr-carousel-item::before, #quotesCarousel .fr-carousel-item::after {
            display: none;
        }

        #quotesCarousel .fs-3 {
            font-size: calc(1.04rem + 0.9vw) !important;
        }


    .icon-quote-after:before {
        font-size: 50px;
        bottom: -50px;
        right: 10px;
    }

    .icon-quote-before:before {
        font-size: 50px;
        top: -48px;
        left: 10px;
    }

    .brands-intro-image {
        object-position: 50% 0%;
    }

    .primary-header-text {
        font-size: calc(1rem + 1vw);
    }

    .rv-icon-links {
        float: unset;
        overflow-x: scroll;
        overflow-y: hidden;
        margin: 0 0 8px 0;
        padding: 10px 0px 0px 10px;
    }

        .rv-icon-links li {
            margin: 0 !important;
            padding: 0 !important;
        }

        .rv-icon-links a {
            border: 0 !important;
            margin: 4px 5px 2px 5px !important;
        }

        .rv-icon-links .text-tiny {
            font-size: .65em;
        }


        .rv-icon-links i {
            font-size: 3rem;
        }

        .rv-icon-links::-webkit-scrollbar {
            height: 7px;
        }

        .rv-icon-links::-webkit-scrollbar-thumb {
            -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
            border-radius: 500rem;
            background: #FFF;
        }

        .rv-icon-links::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0px 0px 6px rgba(0,0,0,.1);
            border-radius: 500rem;
            margin: 7px;
            border: 2px solid transparent;
        }

    .vin-title {
        flex: 1 0 40%;
        max-width: 40%;
        white-space: nowrap;
    }

    .vin-value {
        flex: 1 0 60%;
        max-width: 60%;
        text-align: right;
        padding-right: 1.5em;
    }
}

@media screen and (max-width: 992px) {
    .fs-scale-1 {
        font-size: calc(1rem + 0.15vw);
    }

    .header-scale-2 {
        font-size: calc(1.425rem + 1.1vw);
        line-height: 1;
    }

    .our-brands-heading {
        font-size: calc(1.275rem + 0.3vw) !important;
        /*letter-spacing: 0;*/
    }

    #searchResultsContainer {
        padding-left: 0;
        min-height: unset;
        position: relative;
    }

    .lh-1-2 {
        line-height: 1.2;
    }
}

@media screen and (max-width: 950px) {
    .icon-circular {
        width: 35px;
        height: 35px;
        font-size: 12px;
    }


    .g-recaptcha {
        transform: scale(0.77);
        -webkit-transform: scale(0.77);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
    }

    .header-scale-1 {
        font-size: calc(1.35rem + 1.3vw);
    }

    .header-scale-2 {
        font-size: calc(1.425rem + 1.1vw);
        font-weight: 300;
        line-height: 1.2;
    }

    .model-details-1 {
        font-size: 20px;
    }

    .model-details-2 {
        font-size: calc(1rem + 0.89vw);
    }

    .model-details-3 {
        font-size: 16px;
    }

    .spec-list {
        padding: 0.50em;
        font-size: 0.85rem;
        margin: 0;
    }

    .spec-value {
        font-size: 0.75rem;
    }

    .spec-value {
        padding-right: 1em;
    }

    #fixedAccordionsContainer {
        top: 0px;
    }

    .mobile-sticky-links {
        position: fixed;
        left: 0px;
        bottom: 0px;
        z-index: 45;
        width: 100%;
        text-align: center;
        display: flex;
        justify-content: center;
    }

        .mobile-sticky-links ul {
            list-style: none;
            white-space: nowrap;
            color: white;
            text-decoration: none;
            padding: 0px !important;
            margin-bottom: 8px;
        }

        .mobile-sticky-links li {
            list-style: none;
            float: left;
            white-space: nowrap;
            color: white;
            text-decoration: none;
            padding-bottom: 0px !important;
            padding-top: 12px;
            margin: 0px auto;
        }

        .mobile-sticky-links i {
            font-size: 32px;
        }

    .icon-offcanvas-links .is-4 {
        font-size: 2em;
    }



    #footerNav {
        padding: 0.2rem !important;
    }

        #footerNav .nav-link {
            padding-bottom: 5px;
        }

    #blackFooter {
        padding-left: 2%;
        padding-right: 2%;
        padding-top: 2%;
        padding-bottom: 0.1%;
        font-size: .65em;
    }

    .footer-nav-links, .footer-link-header {
        display: none;
    }

    .footer-nav-links {
        padding-left: 2rem;
        padding-right: 2rem;
        border-top: 3px solid transparent;
        border-bottom: 1px solid #5f5f5f;
        line-height: 8px;
    }

    .footer-accordion {
        margin: 0px;
        padding: 0.8rem 2rem 0.8rem 2rem;
        display: block;
        color: #FFF;
        background-color: transparent;
        border: none;
        width: 100%;
        text-align: left;
        font-weight: 500;
        border-bottom: 1px solid #5f5f5f;
    }

        .footer-accordion::after {
            -ms-transform: rotate(90deg); /* IE 9 */
            -webkit-transform: rotate(90deg); /* Safari */
            transform: rotate(90deg);
            color: #FFF;
            display: inline-block;
            float: right;
            transition: 0.5s;
            margin-top: 1px;
        }

        .footer-accordion:focus {
            outline: 3px solid var(--primary-light);
        }

    .footer-accordion-open::after {
        -ms-transform: rotate(-90deg); /* IE 9 */
        -webkit-transform: rotate(-90deg); /* Safari */
        transform: rotate(-90deg);
    }

    .show-nav-links {
        display: block !important;
    }

    .li-icon-links li {
        padding-right: 5px;
    }

    .carousel-overlay::before {
        width: calc(72vw);
    }

    .carousel-overlay .carousel-text {
        left: calc(13vw);
    }

    #headerNav .navbar-nav a, .navbar-nav button {
        padding-left: 0px;
    }

    .modal-header .btn-close {
        padding: 0.5rem 0.5rem;
        margin: -0.5rem 0rem -0.5rem auto;
    }
}



@media screen and (max-width: 767px) {
    .modal-fullscreen {
        height: min-content;
    }


    .primary-header-text {
        font-size: calc(1.275rem + 0.3vw) !important;
    }

    .header-scale-2 {
        font-size: calc(1.325rem + 0.5vw);
       /* letter-spacing: -0.7px;*/
    }

    .rv-wrap {
        height: auto;
    }

    .li-icon-links {
        float: unset;
        overflow-x: scroll;
        overflow-y: hidden;
        margin: 0 0 8px 0;
        padding: 10px 0px 0px 10px;
    }

        .li-icon-links li {
            margin: 0 !important;
            padding: 0 !important;
        }

        .li-icon-links a {
            border: 0 !important;
            margin: 4px 5px 2px 5px !important;
        }

        .li-icon-links .text-tiny {
            font-size: .65em;
        }


        .li-icon-links i {
            font-size: 3rem;
        }


        .li-icon-links::-webkit-scrollbar {
            height: 7px;
        }

        .li-icon-links::-webkit-scrollbar-thumb {
            -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
            border-radius: 500rem;
            background: #FFF;
        }

        .li-icon-links::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0px 0px 6px rgba(0,0,0,.2);
            border-radius: 500rem;
            margin: 7px;
            border: 2px solid transparent;
        }

    .white-overlay {
        max-height: 150px;
        overflow: hidden;
    }

        .white-overlay::before {
            background-image: linear-gradient( top, rgba( 255, 255, 255, 0.1 ) 0%, rgba( 255, 255, 255, 1 ) 100% );
            background-image: -moz-linear-gradient( top, rgba( 255, 255, 255, 0.1 ) 0%, rgba( 255, 255, 255, 1 ) 100% );
            background-image: -ms-linear-gradient( top, rgba( 255, 255, 255, 0.1 ) 0%, rgba( 255, 255, 255, 1 ) 100% );
            background-image: -o-linear-gradient( top, rgba( 255, 255, 255, 0.1 ) 0%, rgba( 255, 255, 255, 1 ) 100% );
            background-image: -webkit-linear-gradient( top, rgba( 255, 255, 255, 0.1 ) 0%, rgba( 255, 255, 255, 1 ) 100% );
            content: "\00a0";
            height: 100%;
            position: absolute;
            width: 100%;
            z-index: 2;
        }

    .show-more-button {
        line-height: 1;
        transform: translate(0, 0);
        margin: auto 10px auto 10px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: calc(11vh);
    }

    .carousel-overlay::before {
        bottom: 3.4em;
        right: 0em;
        width: 100%;
    }

    .carousel-overlay .carousel-text {
        line-height: 1em;
        white-space: nowrap;
        bottom: 3.4em;
    }

    .carousel-overlay {
        font-size: calc(1.9em + 1vw);
    }

        .carousel-overlay::before {
            width: calc(92vw);
        }

        .carousel-overlay .carousel-text {
            left: calc(4vw);
        }

    .lh-1-sm {
        line-height: 1;
    }

    .model-details-1 {
        font-size: 20px;
    }

    .model-details-2 {
        font-size: calc(1rem + 1.2vw);
    }


    .img-zoom:hover {
        transform: none;
    }

    .breadcrumbs-font {
        font-size: 1rem;
    }

    .small-breadcrumbs-font {
        font-size: 0.85rem !important;
    }

    #footerLogo {
        max-width: 250px;
    }


    .view-more-floorplan-link:hover .view-more-arrow {
        padding-left: 0px;
    }

    .brand-page-title {
        font-size: calc(1rem + 1vw);
        line-height: 1;
    }

    .floorplan-types {
        font-size: calc(1rem + 0.5vw) !important;
    }

    .floorplan-link {
        font-size: calc(1rem + 0.3vw) !important;
    }


    #brandLinkImages li {
        margin-right: 10px;
    }

    .p1 {
        font-size: 0.95rem;
        line-height: 1.15;
    }

    #rvsStickyHeader {
        position: relative;
        top: 0 !important;
        z-index: 1;
    }

    .rv-accordion {
        padding: 0.8rem 2rem 0.8rem 2rem;
        font-size: 20px;
    }

    #modelDetailsHeaderBar {
        position: relative;
        z-index: 1;
    }

    .chip {
        margin: 0px;
        font-size: .75rem;
    }

    .chip-content {
        font-family: 'Helvetica', sans-serif;
        padding: 3px 5px 3px 8px;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 300px;
        margin-right: 10px;
    }


    #fixedAccordionsContainer {
        /*display: none;*/
        width: 100%;
        position: relative;
        float: unset;
        top: 0 !important;
        height: auto;
        max-height: unset !important;
        z-index: 1;
    }

    #headerNav {
        z-index: 1040;
    }

    ol {
        padding-left: 0rem;
    }

    h2 {
        font-size: calc(1rem + 1.5vw);
    }

    .h3 {
        font-size: calc(1rem + 1.4vw) !important;
    }

    .brand-text-mobile {
        display: block;
    }

    #brandDetailsHeaderBar {
        display: none !important;
    }

    .img-brand-exterior {
        max-width: 100%;
        height: 250px;
        object-fit: cover;
    }

    .table {
        font-size: 0.8em;
        text-align: center;
    }

    .brand-detail-specs th, .finder-specs th {
        padding: 0.3rem 0rem 0rem 0rem;
        font-size: 0.98em;
    }

    .brand-detail-specs td:not(.view-more), .finder-specs td:not(.view-more) {
        padding: 0.2rem 0rem 0.3rem 0rem;
        font-size: 0.98em;
    }

    .brand-detail-specs .view-more, .finder-specs .view-more {
        padding: 0rem 0.5rem 0rem 0.5rem;
    }

    #updateAlerts h1 {
        font-size: 1.4rem;
    }

    #updateAlerts .fs-4 {
        font-size: 1rem !important;
    }

    .btn {
        font-size: 16px;
        padding: 0.50rem 2rem;
    }

    .arrow-up-btn, .arrow-down-btn {
        font-size: 0.8rem;
    }

    .modal .btn {
        padding: 0.50rem 1.25rem;
        font-size: 16px;
    }

    .brands-card .fs-2 {
       /* letter-spacing: -0.7px;*/
    }

    #modelDescription p, #modelDescription div {
        font-size: 16px;
        line-height: 1.4;
    }

    #modelDescription h1 {
        font-size: 22px;
        line-height: 1.1;
        margin-bottom: 0.8em;
    }

    .accordion-button {
        font-size: 16px;
    }

    .brands-card .card-body {
        padding: 0.2rem 0rem;
    }

    .intro-paragraph {
        font-size: 1.1rem;
        line-height: 1.4;
    }

    .img-overlay .card-img-overlay {
        margin-top: 0.5em;
    }

    .img-overlay .text-img-float {
        padding: 0.3em;
    }

    #brandImageOverlay .fs-5 {
        font-size: 1.05rem !important;
    }

    #brandImageOverlay .text-img-float {
        display: none;
    }

    #brandLinkImages img {
        max-height: 70px;
    }

    .sm-mobile-crop {
        height: 200px;
        object-fit: cover;
    }


    .dl-mobile-crop {
        height: 250px;
        object-fit: cover;
    }

    .mobile-crop-img {
        height: 450px !important;
        object-fit: cover;
        object-position: 45% 0%;
    }

    .brands-intro-image {
        height: 300px;
        object-fit: cover;
    }

    #quotesCarousel .fr-carousel-item {
        padding-top: 0em !important;
        padding-bottom: 0em !important;
        padding-left: 1.5em !important;
        padding-right: 1.5em !important;
        position: relative;
        margin: 0px 0px 15px 0px;
    }

    .fr-carousel ul {
        overflow: unset;
    }



    .fr-carousel-prev, .fr-carousel-next, .fr-carousel-control {
        height: 42px;
        width: 42px;
        background-size: 42px 42px;
    }

    .fr-carousel-controls {
        bottom: .25em;
    }

    .fr-carousel-controls-visible {
        height: 42px !important;
    }

    .fr-carousel-controls {
        margin-left: -80px;
    }

    .fr-checkbox-label {
        font-size: 12px;
    }

    #indexToolSection i {
        font-size: 80px;
    }

    #indexToolSection .card-title {
        font-size: 20px !important;
    }

    #indexToolSection .card-text {
        display: none;
    }

    .accordion-item {
        margin-bottom: 5px;
    }

    .image-scroller img {
        height: 205px;
    }

    .image-scroller {
        height: 220px;
    }

    .scroll-arrow {
        width: 40px;
        display: inline-block;
        height: 60px;
        top: -150px;
        overflow: hidden;
    }

        .scroll-arrow::before {
            font-size: 25px;
            text-align: center;
        }

    .scroll-arrow-left:active, .scroll-arrow-left:hover {
        padding-right: 5px;
    }

    .scroll-arrow-right:active, .scroll-arrow-right:hover {
        padding-left: 5px;
    }

    .image-scroller::-webkit-scrollbar {
        height: 8px;
    }

    .image-scroller::-webkit-scrollbar-track {
        margin: 5px;
        border: 3px solid transparent;
    }

    #modelDetailsHeaderBar {
        width: inherit;
    }

    #modelDetailsHeaderBar, #rvsHeaderBar {
        min-height: unset;
    }

    .rv-type-link {
        padding-top: 10px;
        margin-left: 10px;
    }

        .rv-type-link.selected::after {
            opacity: 0 !important;
        }

    .openbtn {
        cursor: pointer;
        color: var(--font);
        border: none;
        top: 11px;
        right: 16px;
        position: absolute;
        z-index: 55;
        background-size: 45px;
        background-repeat: no-repeat;
        width: 45px;
        display: block;
        transition: 0.5s ease;
        padding-left: 8px;
        padding-top: 3px;
        padding-bottom: 3px;
    }

    .bar1, .bar2, .bar3 {
        width: 30px;
        height: 5px;
        background-color: var(--font);
        margin: 6px 0;
        transition: 0.5s;
        z-index: 51;
    }

    .to-x {
        transition: 0.5s ease;
    }

        .to-x .bar1 {
            -webkit-transform: rotate(-45deg) translate(-9px, 6px);
            transform: rotate(-45deg) translate(-9px, 6px);
            background-color: var(--font);
            border-radius: 0px;
        }

        .to-x .bar2 {
            opacity: 0;
        }

        .to-x .bar3 {
            -webkit-transform: rotate(45deg) translate(-8px, -8px);
            transform: rotate(45deg) translate(-8px, -8px);
            background-color: var(--font);
            border-radius: 0px;
        }

    .mobile-menu li.nav-brands {
        width: 70%;
    }

    #footerNav {
        padding: 0.2rem !important;
    }

    .img-carousel {
        aspect-ratio: 8 / 9;
    }

    .fr-carousel-item .slider-img {
        aspect-ratio: 8 / 9;
    }
}

@media screen and (max-width: 740px) {
    .img-brand-exterior {
        height: 225px;
    }
}

@media screen and (max-width: 572px) {
    .modal-title {
        margin-left: 5px;
    }    
    #siteLogo {
        max-width: 280px;
    }
    .tab-btn {
        padding: .75rem .5rem;
    }
    .fs-4 {
        font-size: calc(.85rem + .3vw) !important;
    }
}

@media screen and (max-width: 420px) {
    .carousel-overlay {
        font-size: calc(1.45em + 1vw);
    }

    .brands-card .fs-2 {
        font-size: 1rem !important;
       /* letter-spacing: -0.7px;*/
    }


}

@media screen and (max-width: 360px) {
    #siteLogo {
        max-width: 210px;

    }

    .checkbox-list li {
        white-space: nowrap;
    }

    .modal-header .btn-close {
        padding: 0.5rem 0.5rem;
        margin: 0rem 0rem 0rem auto;
    }

    legend {
        float: none !important;
    }

    .brands-intro-image {
        height: 280px;
    }


    .img-brand-exterior {
        height: auto;
    }
}

@media screen and (max-width: 300px) {
    #footerLogo {
        max-width: 180px;
    }

    .intro-paragraph {
        font-size: 0.9rem;
        line-height: 1.1;
    }

    .mobile-crop-img {
        height: 350px !important;
    }

    .brands-intro-image {
        height: 220px;
    }

    #quotesCarousel .fr-carousel-item {
        line-height: 1;
    }

    .matterport-link, .video-link {
        min-height: 160px;
    }

    .brand-detail-specs th, .finder-specs th {
        padding: 0.1rem 0rem 0rem 0rem;
        font-size: 0.80em;
    }

    .brand-detail-specs td:not(.view-more), .finder-specs td:not(.view-more) {
        padding: 0.1rem 0rem 0.1rem 0rem;
        font-size: 0.80em;
    }

    h1, .h1 {
        font-size: calc(1.1rem + 1vw);
    }

    .btn {
        font-size: 0.75rem;
        padding: 0.4rem 0.8rem;
        margin-bottom: 2px;
    }

    .spec-list {
        padding: 0.15em;
        font-size: 0.65rem;
        margin: 0;
        line-height: 1 !important;
    }

    .spec-title {
        font-size: 0.65rem;
    }

    .spec-value {
        font-size: 0.65rem;
        padding-right: 0em;
    }

    .carousel-overlay {
        font-size: calc(1.3em + 1vw);
    }

    .mobile-sticky-links i {
        font-size: 22px;
    }

    .text-tiny {
        font-size: .6em;
    }

    .modal-title {
        line-height: 1;
    }
}


@media (min-width: 40em) {
    /* Bump up size of carousel content */
    .carousel-caption p {
        margin-bottom: 1.25rem;
        font-size: 1.25rem;
        line-height: 1.4;
    }
}
