@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm,
.vi-button-container {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

.vi-button-container {
    display: inline-flex;
    border: .91px solid;
    border-radius: 23px;
    height: 38px;
    padding: 10.53px 12px 10.53px 14px;
    color: #020B24;
    text-align: center;
    text-decoration: none;
    margin-right: 20px;
    cursor: pointer;
    width: auto
}

.vi-button-container>*:focus-visible,
.vi-button-container :focus-visible,
.vi-button-container:focus-visible {
    outline: 3px solid #328CE0;
    outline-offset: 3px
}

.vi-button-container.primary-infiniti-blue {
    color: #fff;
    background-color: #020B24;
    border: 3px solid #020B24
}

.vi-button-container.primary-infiniti-blue path {
    fill: #fff;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-infiniti-blue:hover .right-arrow,
.vi-button-container.primary-infiniti-blue:focus-visible .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 rgba(0, 0, 0, 0)
}

.vi-button-container.primary-infiniti-blue:hover path,
.vi-button-container.primary-infiniti-blue:focus-visible path {
    fill: #020B24
}

.vi-button-container.primary-infiniti-blue .right-arrow {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    -webkit-text-stroke: #fff #020B24
}

.vi-button-container.primary-infiniti-blue {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-infiniti-blue::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #020B24;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #020B24;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-infiniti-blue:hover,
.vi-button-container.primary-infiniti-blue:focus,
.vi-button-container.primary-infiniti-blue:focus-visible {
    background-color: transparent;
    color: #020B24;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-infiniti-blue:hover::before,
.vi-button-container.primary-infiniti-blue:focus::before,
.vi-button-container.primary-infiniti-blue:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-infiniti-blue:hover path,
.vi-button-container.primary-infiniti-blue:focus path,
.vi-button-container.primary-infiniti-blue:focus-visible path {
    fill: #020B24
}

.vi-button-container.primary-infiniti-gold {
    color: #020B24;
    background-color: #B0A591;
    border: 3px solid #B0A591
}

.vi-button-container.primary-infiniti-gold path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-infiniti-gold:hover .right-arrow,
.vi-button-container.primary-infiniti-gold:focus-visible .right-arrow {
    display: inline-block;
    color: #B0A591;
    font-size: 15px;
    -webkit-text-stroke: #B0A591 rgba(0, 0, 0, 0)
}

.vi-button-container.primary-infiniti-gold:hover path,
.vi-button-container.primary-infiniti-gold:focus-visible path {
    fill: #B0A591
}

.vi-button-container.primary-infiniti-gold .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #B0A591
}

.vi-button-container.primary-infiniti-gold {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-infiniti-gold::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #B0A591;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #B0A591;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-infiniti-gold:hover,
.vi-button-container.primary-infiniti-gold:focus,
.vi-button-container.primary-infiniti-gold:focus-visible {
    background-color: transparent;
    color: #B0A591;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-infiniti-gold:hover::before,
.vi-button-container.primary-infiniti-gold:focus::before,
.vi-button-container.primary-infiniti-gold:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-infiniti-gold:hover path,
.vi-button-container.primary-infiniti-gold:focus path,
.vi-button-container.primary-infiniti-gold:focus-visible path {
    fill: #B0A591
}

.vi-button-container.primary-white {
    color: #020B24;
    background-color: #fff;
    border: 3px solid #fff
}

.vi-button-container.primary-white path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-white:hover .right-arrow,
.vi-button-container.primary-white:focus-visible .right-arrow {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    -webkit-text-stroke: #fff rgba(0, 0, 0, 0)
}

.vi-button-container.primary-white:hover path,
.vi-button-container.primary-white:focus-visible path {
    fill: #fff
}

.vi-button-container.primary-white .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #fff
}

.vi-button-container.primary-white {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-white::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #fff;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #fff;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-white:hover,
.vi-button-container.primary-white:focus,
.vi-button-container.primary-white:focus-visible {
    background-color: transparent;
    color: #fff;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-white:hover::before,
.vi-button-container.primary-white:focus::before,
.vi-button-container.primary-white:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-white:hover path,
.vi-button-container.primary-white:focus path,
.vi-button-container.primary-white:focus-visible path {
    fill: #fff
}

.vi-button-container.primary-infiniti-gold-secondary {
    color: #020B24;
    background-color: #EFEDE9;
    border: 3px solid #EFEDE9
}

.vi-button-container.primary-infiniti-gold-secondary path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-infiniti-gold-secondary:hover .right-arrow,
.vi-button-container.primary-infiniti-gold-secondary:focus-visible .right-arrow {
    display: inline-block;
    color: #EFEDE9;
    font-size: 15px;
    -webkit-text-stroke: #EFEDE9 rgba(0, 0, 0, 0)
}

.vi-button-container.primary-infiniti-gold-secondary:hover path,
.vi-button-container.primary-infiniti-gold-secondary:focus-visible path {
    fill: #EFEDE9
}

.vi-button-container.primary-infiniti-gold-secondary .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #EFEDE9
}

.vi-button-container.primary-infiniti-gold-secondary {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-infiniti-gold-secondary::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #EFEDE9;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #EFEDE9;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-infiniti-gold-secondary:hover,
.vi-button-container.primary-infiniti-gold-secondary:focus,
.vi-button-container.primary-infiniti-gold-secondary:focus-visible {
    background-color: transparent;
    color: #EFEDE9;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-infiniti-gold-secondary:hover::before,
.vi-button-container.primary-infiniti-gold-secondary:focus::before,
.vi-button-container.primary-infiniti-gold-secondary:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-infiniti-gold-secondary:hover path,
.vi-button-container.primary-infiniti-gold-secondary:focus path,
.vi-button-container.primary-infiniti-gold-secondary:focus-visible path {
    fill: #EFEDE9
}

.vi-button-container.primary-blue {
    color: #020B24;
    background-color: #6E8AA8;
    border: 3px solid #6E8AA8
}

.vi-button-container.primary-blue path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-blue:hover .right-arrow,
.vi-button-container.primary-blue:focus-visible .right-arrow {
    display: inline-block;
    color: #6E8AA8;
    font-size: 15px;
    -webkit-text-stroke: #6E8AA8 rgba(0, 0, 0, 0)
}

.vi-button-container.primary-blue:hover path,
.vi-button-container.primary-blue:focus-visible path {
    fill: #6E8AA8
}

.vi-button-container.primary-blue .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #6E8AA8
}

.vi-button-container.primary-blue {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-blue::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #6E8AA8;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #6E8AA8;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-blue:hover,
.vi-button-container.primary-blue:focus,
.vi-button-container.primary-blue:focus-visible {
    background-color: transparent;
    color: #6E8AA8;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-blue:hover::before,
.vi-button-container.primary-blue:focus::before,
.vi-button-container.primary-blue:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-blue:hover path,
.vi-button-container.primary-blue:focus path,
.vi-button-container.primary-blue:focus-visible path {
    fill: #6E8AA8
}

.vi-button-container.primary-warning {
    color: #020B24;
    background-color: #F1B03D;
    border: 3px solid #F1B03D
}

.vi-button-container.primary-warning path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-warning:hover .right-arrow,
.vi-button-container.primary-warning:focus-visible .right-arrow {
    display: inline-block;
    color: #F1B03D;
    font-size: 15px;
    -webkit-text-stroke: #F1B03D rgba(0, 0, 0, 0)
}

.vi-button-container.primary-warning:hover path,
.vi-button-container.primary-warning:focus-visible path {
    fill: #F1B03D
}

.vi-button-container.primary-warning .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #F1B03D
}

.vi-button-container.primary-warning {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-warning::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #F1B03D;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #F1B03D;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-warning:hover,
.vi-button-container.primary-warning:focus,
.vi-button-container.primary-warning:focus-visible {
    background-color: transparent;
    color: #F1B03D;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-warning:hover::before,
.vi-button-container.primary-warning:focus::before,
.vi-button-container.primary-warning:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-warning:hover path,
.vi-button-container.primary-warning:focus path,
.vi-button-container.primary-warning:focus-visible path {
    fill: #F1B03D
}

.vi-button-container.primary-error {
    color: #020B24;
    background-color: #D0573A;
    border: 3px solid #D0573A
}

.vi-button-container.primary-error path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-error:hover .right-arrow,
.vi-button-container.primary-error:focus-visible .right-arrow {
    display: inline-block;
    color: #D0573A;
    font-size: 15px;
    -webkit-text-stroke: #D0573A rgba(0, 0, 0, 0)
}

.vi-button-container.primary-error:hover path,
.vi-button-container.primary-error:focus-visible path {
    fill: #D0573A
}

.vi-button-container.primary-error .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #D0573A
}

.vi-button-container.primary-error {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-error::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #D0573A;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #D0573A;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-error:hover,
.vi-button-container.primary-error:focus,
.vi-button-container.primary-error:focus-visible {
    background-color: transparent;
    color: #D0573A;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-error:hover::before,
.vi-button-container.primary-error:focus::before,
.vi-button-container.primary-error:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-error:hover path,
.vi-button-container.primary-error:focus path,
.vi-button-container.primary-error:focus-visible path {
    fill: #D0573A
}

.vi-button-container.primary-success {
    color: #020B24;
    background-color: #6F8573;
    border: 3px solid #6F8573
}

.vi-button-container.primary-success path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary-success:hover .right-arrow,
.vi-button-container.primary-success:focus-visible .right-arrow {
    display: inline-block;
    color: #6F8573;
    font-size: 15px;
    -webkit-text-stroke: #6F8573 rgba(0, 0, 0, 0)
}

.vi-button-container.primary-success:hover path,
.vi-button-container.primary-success:focus-visible path {
    fill: #6F8573
}

.vi-button-container.primary-success .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #6F8573
}

.vi-button-container.primary-success {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary-success::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #6F8573;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #6F8573;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary-success:hover,
.vi-button-container.primary-success:focus,
.vi-button-container.primary-success:focus-visible {
    background-color: transparent;
    color: #6F8573;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary-success:hover::before,
.vi-button-container.primary-success:focus::before,
.vi-button-container.primary-success:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary-success:hover path,
.vi-button-container.primary-success:focus path,
.vi-button-container.primary-success:focus-visible path {
    fill: #6F8573
}

.vi-button-container.primary:disabled {
    color: #020B24;
    background-color: #B4B4B4;
    border: 3px solid #B4B4B4
}

.vi-button-container.primary:disabled path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.primary:disabled:hover .right-arrow,
.vi-button-container.primary:disabled:focus-visible .right-arrow {
    display: inline-block;
    color: #B4B4B4;
    font-size: 15px;
    -webkit-text-stroke: #B4B4B4 rgba(0, 0, 0, 0)
}

.vi-button-container.primary:disabled:hover path,
.vi-button-container.primary:disabled:focus-visible path {
    fill: #B4B4B4
}

.vi-button-container.primary:disabled .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 #B4B4B4
}

.vi-button-container.primary:disabled {
    position: relative;
    overflow: hidden;
    transition: all 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 300ms;
    z-index: 1;
    backface-visibility: hidden
}

.vi-button-container.primary:disabled::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;
    background-color: #B4B4B4;
    border-radius: 0;
    z-index: -1;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    border: 3px solid #B4B4B4;
    transform-origin: right;
    transform: scaleX(1)
}

.vi-button-container.primary:disabled:hover,
.vi-button-container.primary:disabled:focus,
.vi-button-container.primary:disabled:focus-visible {
    background-color: transparent;
    color: #B4B4B4;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1), color 300ms cubic-bezier(0.42, 0, 0.58, 1), background-color 300ms cubic-bezier(0.42, 0, 0.58, 1) 0ms
}

.vi-button-container.primary:disabled:hover::before,
.vi-button-container.primary:disabled:focus::before,
.vi-button-container.primary:disabled:focus-visible::before {
    transform: scaleX(0);
    transform-origin: left
}

.vi-button-container.primary:disabled:hover path,
.vi-button-container.primary:disabled:focus path,
.vi-button-container.primary:disabled:focus-visible path {
    fill: #B4B4B4
}

.vi-button-container.secondary-white {
    color: #fff;
    background-color: rgba(0, 0, 0, 0);
    border: .91px solid #fff
}

.vi-button-container.secondary-white path {
    fill: #fff;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.secondary-white:hover .right-arrow,
.vi-button-container.secondary-white:focus-visible .right-arrow {
    display: inline-block;
    color: rgba(0, 0, 0, 0);
    font-size: 15px;
    -webkit-text-stroke: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.vi-button-container.secondary-white:hover path,
.vi-button-container.secondary-white:focus-visible path {
    fill: #020B24
}

.vi-button-container.secondary-white .right-arrow {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    -webkit-text-stroke: #fff rgba(0, 0, 0, 0)
}

.vi-button-container.secondary-white {
    position: relative
}

.vi-button-container.secondary-white::before {
    content: '';
    position: absolute;
    top: calc(-3px / 2);
    left: calc(100% + calc(3px / 2));
    width: calc(100% + 3px);
    height: calc(100% + 3px);
    border-radius: 23px;
    z-index: 0;
    transition: clip-path 300ms cubic-bezier(0.42, 0, 0.58, 1);
    transform-origin: left;
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
    border: 3px solid #fff;
    transform: rotate(180deg)
}

.vi-button-container.secondary-white:hover path,
.vi-button-container.secondary-white:focus-visible path {
    fill: #fff
}

.vi-button-container.secondary-white:hover::before,
.vi-button-container.secondary-white:focus-visible::before {
    transform-origin: right;
    clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
    transform: rotate(0deg);
    left: calc(-3px / 2)
}

.vi-button-container.secondary-infiniti-blue {
    color: #020B24;
    background-color: rgba(0, 0, 0, 0);
    border: .91px solid #020B24
}

.vi-button-container.secondary-infiniti-blue path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.secondary-infiniti-blue:hover .right-arrow,
.vi-button-container.secondary-infiniti-blue:focus-visible .right-arrow {
    display: inline-block;
    color: rgba(0, 0, 0, 0);
    font-size: 15px;
    -webkit-text-stroke: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.vi-button-container.secondary-infiniti-blue:hover path,
.vi-button-container.secondary-infiniti-blue:focus-visible path {
    fill: #fff
}

.vi-button-container.secondary-infiniti-blue .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 rgba(0, 0, 0, 0)
}

.vi-button-container.secondary-infiniti-blue {
    position: relative
}

.vi-button-container.secondary-infiniti-blue::before {
    content: '';
    position: absolute;
    top: calc(-3px / 2);
    left: calc(100% + calc(3px / 2));
    width: calc(100% + 3px);
    height: calc(100% + 3px);
    border-radius: 23px;
    z-index: 0;
    transition: clip-path 300ms cubic-bezier(0.42, 0, 0.58, 1);
    transform-origin: left;
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
    border: 3px solid #020B24;
    transform: rotate(180deg)
}

.vi-button-container.secondary-infiniti-blue:hover path,
.vi-button-container.secondary-infiniti-blue:focus-visible path {
    fill: #020B24
}

.vi-button-container.secondary-infiniti-blue:hover::before,
.vi-button-container.secondary-infiniti-blue:focus-visible::before {
    transform-origin: right;
    clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
    transform: rotate(0deg);
    left: calc(-3px / 2)
}

.vi-button-container.tertiary-white {
    color: #fff;
    background-color: rgba(0, 0, 0, 0);
    border: .91px solid rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-white path {
    fill: #fff;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.tertiary-white:hover .right-arrow,
.vi-button-container.tertiary-white:focus-visible .right-arrow {
    display: inline-block;
    color: rgba(0, 0, 0, 0);
    font-size: 15px;
    -webkit-text-stroke: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-white:hover path,
.vi-button-container.tertiary-white:focus-visible path {
    fill: #fff
}

.vi-button-container.tertiary-white .right-arrow {
    display: inline-block;
    color: #fff;
    font-size: 15px;
    -webkit-text-stroke: #fff rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-white {
    position: relative;
    overflow: hidden;
    padding-left: unset;
    padding-right: unset
}

.vi-button-container.tertiary-white::before {
    content: '';
    position: absolute;
    left: 0;
    width: calc(100% - 5px);
    bottom: 0;
    height: 1px;
    background-color: #fff;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    transform-origin: left;
    transform: scaleX(0)
}

.vi-button-container.tertiary-white:hover::before,
.vi-button-container.tertiary-white:focus::before {
    transform: scaleX(1);
    transform-origin: right
}

.vi-button-container.tertiary-infiniti-blue {
    color: #020B24;
    background-color: rgba(0, 0, 0, 0);
    border: .91px solid rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-infiniti-blue path {
    fill: #020B24;
    transition: fill 300ms cubic-bezier(0.42, 0, 0.58, 1)
}

.vi-button-container.tertiary-infiniti-blue:hover .right-arrow,
.vi-button-container.tertiary-infiniti-blue:focus-visible .right-arrow {
    display: inline-block;
    color: rgba(0, 0, 0, 0);
    font-size: 15px;
    -webkit-text-stroke: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-infiniti-blue:hover path,
.vi-button-container.tertiary-infiniti-blue:focus-visible path {
    fill: #020B24
}

.vi-button-container.tertiary-infiniti-blue .right-arrow {
    display: inline-block;
    color: #020B24;
    font-size: 15px;
    -webkit-text-stroke: #020B24 rgba(0, 0, 0, 0)
}

.vi-button-container.tertiary-infiniti-blue {
    position: relative;
    overflow: hidden;
    padding-left: unset;
    padding-right: unset
}

.vi-button-container.tertiary-infiniti-blue::before {
    content: '';
    position: absolute;
    left: 0;
    width: calc(100% - 5px);
    bottom: 0;
    height: 1px;
    background-color: #020B24;
    transition: transform 300ms cubic-bezier(0.42, 0, 0.58, 1);
    transform-origin: left;
    transform: scaleX(0)
}

.vi-button-container.tertiary-infiniti-blue:hover::before,
.vi-button-container.tertiary-infiniti-blue:focus::before {
    transform: scaleX(1);
    transform-origin: right
}

.vi-button-container-tertiary {
    border-radius: unset;
    border: unset
}

.vi-button-container .vi-button-label {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    cursor: pointer;
    gap: 9px
}

.vi-button-container .vi-button-label .vi-button-icon {
    margin-top: 2px;
    height: 12px
}

@media (max-width: 375px) {
    .vi-button-container-large {
        width: 100%;
        margin-right: 0
    }
}

.vi-button-container-large .vi-button-label-text {
    flex: 1;
    text-align: left
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

.vi-media-container {
    width: 100%;
    height: 100%;
    position: relative
}

.vi-media-container>*:focus-visible,
.vi-media-container :focus-visible,
.vi-media-container:focus-visible {
    outline: 3px solid #328CE0;
    outline-offset: 3px
}

.vi-media-video-element {
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute
}

.vi-media-controls {
    right: 50px;
    bottom: 27px;
    cursor: pointer;
    position: absolute;
    background-color: transparent;
    border: none;
    padding: 0;
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s,
.vi-link.small {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

.vi-link {
    position: relative;
    text-align: left;
    text-decoration: none;
    color: #000
}

.vi-link>*:focus-visible,
.vi-link :focus-visible,
.vi-link:focus-visible {
    outline: 3px solid #328CE0;
    outline-offset: 3px
}

.vi-link.medium {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 15px;
    font-weight: 300;
    line-height: 21px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal;
    color: #000
}

.vi-link.active {
    font-weight: 700;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-link::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scale(0);
    transform-origin: right;
    background-color: #000
}

.vi-link:hover::after,
.vi-link:focus::after {
    animation: scale-up 0.3s cubic-bezier(0, 0, 0.19, 0.99) forwards
}

.vi-link-with-icon,
.vi-link-external {
    gap: 9px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    display: inline-flex
}

.vi-link .icon-light,
.vi-link .icon-light * {
    stroke: #fff;
    fill: #fff
}

.vi-link .icon-dark,
.vi-link .icon-dark * {
    stroke: #000;
    fill: #000
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs,
.landing-hero-details .inner-container .body-text {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

@keyframes horizontal-slide-in {
    0% {
        transform: translateX(var(--start-point));
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

.heading-text-large {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 45px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .9px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@media (min-width: 768px) {
    .heading-text-large {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 52px;
        font-weight: 300;
        line-height: normal;
        letter-spacing: 1.04px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

@media (min-width: 1366px) {
    .heading-text-large {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 62px;
        font-weight: 300;
        line-height: normal;
        letter-spacing: 1.24px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

.heading-text-medium {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 40px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .8px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@media (min-width: 768px) {
    .heading-text-medium {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 45px;
        font-weight: 300;
        line-height: normal;
        letter-spacing: .9px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

@media (min-width: 1366px) {
    .heading-text-medium {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 48px;
        font-weight: 300;
        line-height: normal;
        letter-spacing: .96px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

.heading-text-small {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 36px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .72px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@media (min-width: 1366px) {
    .heading-text-small {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 40px;
        font-weight: 300;
        line-height: normal;
        letter-spacing: .8px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

.heading-text-theme-color {
    color: inherit;
    opacity: 0;
    display: block
}

.eyebrow-text {
    font-size: 21px;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: .84px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
    color: inherit;
    text-transform: capitalize;
}

.eyebrow-text.text-margins {
    margin-bottom: 10px;
    opacity: 0
}

.landing-hero-container {
    position: relative;
    height: auto;
    overflow: hidden
}

.landing-hero-container>*:focus-visible,
.landing-hero-container :focus-visible,
.landing-hero-container:focus-visible {
    outline: 3px solid #328CE0;
    outline-offset: 3px
}

@media (min-width: 768px) {
    .landing-hero-container {
        overflow: hidden;
        height: 87vh
    }
}

@media (max-width: 767px) {
    .landing-hero-container>:last-child {
        margin-bottom: 30px
    }
}

.landing-hero-container .anchor-link-section {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 40px
}

@media (min-width: 768px) {
    .landing-hero-container .anchor-link-section {
        padding: 0 0 36px;
        position: absolute
    }
}

@media (min-width: 1366px) {
    .landing-hero-container .anchor-link-section {
        padding-bottom: 40px
    }
}

.landing-hero-container .anchor-link-container {
    width: 100%
}

.landing-hero-container .anchor-link-container .horizontal-divider {
    opacity: 0;
    margin-bottom: 30px
}

@media (min-width: 768px) {
    .landing-hero-container .anchor-link-container .horizontal-divider {
        margin-bottom: 17px
    }
}

.landing-hero-container .anchor-link-container-wrapper {
    gap: 30px;
    display: flex;
    align-items: normal;
    justify-content: normal;
    flex-direction: column;
    flex-wrap: wrap;
    bottom: 40px;
    left: 0;
    z-index: 1;
    width: 100%;
    color: inherit
}

@media (min-width: 768px) {
    .landing-hero-container .anchor-link-container-wrapper {
        flex-direction: row;
        row-gap: 10px;
        column-gap: 30px
    }
}

.landing-hero-container .anchor-link-container-wrapper .landing-hero-link {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 15px;
    font-weight: 300;
    line-height: 21px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal;
    opacity: 0;
    color: inherit
}

@media (min-width: 768px) {
    .landing-hero-container .anchor-link-container-wrapper .landing-hero-link {
        font-size: 13px;
        font-weight: 300;
        line-height: 18.2px;
        letter-spacing: .26px;
        color: inherit
    }
}

.landing-hero-container .anchor-link-container-wrapper .landing-hero-link:hover::after,
.landing-hero-container .anchor-link-container-wrapper .landing-hero-link:focus::after {
    background-color: currentColor
}

.landing-hero-container .media-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.landing-hero-container .vi-media-container {
    position: relative;
    height: 100vh
}

@media (min-width: 768px) {
    .landing-hero-container .vi-media-container {
        height: 100%
    }
}

.landing-hero-container .picture-container::after,
.landing-hero-container .vi-media-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.landing-hero-container .video-controls {
    z-index: 2;
    right: 20px;
    bottom: 20px
}

@media (min-width: 768px) {
    .landing-hero-container .video-controls {
        right: 40px;
        bottom: 40px
    }
}

@media (min-width: 1366px) {
    .landing-hero-container .video-controls {
        right: 60px
    }
}

.landing-hero-container .video-controls.dark-icon path {
    fill: #000
}

.landing-hero-container .video-controls.light-icon path {
    fill: #fff
}

.landing-hero-container .prompt-icon {
    position: absolute;
    bottom: 20px;
    width: 100%;
    opacity: 0;
    gap: 0;
    display: flex;
    align-items: normal;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap
}

@media (min-width: 768px) {
    .landing-hero-container .prompt-icon {
        bottom: 40px
    }
}

.landing-hero-details.desktop-view {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%
}

@media (min-width: 768px) {
    .landing-hero-details {
        margin-bottom: 200px
    }
}

.landing-hero-details .inner-container>* {
    opacity: 0
}

.landing-hero-details .inner-container .heading-copy {
    opacity: 1;
    margin: 0
}

@media (min-width: 768px) {
    .landing-hero-details .inner-container .body-text {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 19px;
        font-weight: 300;
        line-height: 26.6px;
        letter-spacing: .38px;
        font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
        color: #fff;
        font-style: normal
    }
}

.landing-hero-details .inner-container .body-text-margins {
    color: inherit;
    margin-top: 20px
}

.landing-hero-details .buttons-container {
    gap: 0;
    display: flex;
    align-items: normal;
    justify-content: normal;
    flex-direction: column;
    flex-wrap: nowrap;
    row-gap: 20px;
    margin: 20px 0 0
}

.landing-hero-details .buttons-container .vi-button-container {
    margin-right: 0
}

@media (min-width: 768px) {
    .landing-hero-details .buttons-container {
        flex-direction: row;
        margin-bottom: 0
    }

    .landing-hero-details .buttons-container .vi-button-container {
        margin-right: 20px
    }
}

.landing-hero-mobile-view .mobile-wrapper {
    position: relative
}

.landing-hero-mobile-view .mobile-wrapper .details {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 70px
}

.landing-hero-mobile-view .mobile-wrapper .details.scroll-prompt-spacing {
    bottom: 200px
}

@media (min-width: 768px) {
    .landing-hero-fixed-container {
        height: 720px
    }
}

@media (max-width: 767px) {

    .landing-hero-fixed-container .media-wrapper,
    .landing-hero-fixed-container .vi-media-container {
        height: 375px
    }
}

@media (min-width: 1366px) {
    .landing-hero-fixed-container .video-controls {
        bottom: 40px
    }
}

@media (min-width: 768px) {
    .landing-hero-fixed-container .landing-hero-details {
        margin-bottom: 150px
    }
}

.landing-hero-fixed-container .mobile-wrapper .details.augmented-version {
    bottom: 110px
}

.dark-theme {
    background-color: #020B24;
    color: #fff
}

.dark-theme .anchor-link-section {
    background-size: 100% 100%;
    object-fit: cover;
    background-repeat: no-repeat;
    background-image: linear-gradient(0deg, rgba(2, 11, 36, 0.7) 0%, rgba(2, 11, 36, 0) 100%)
}

@media (min-width: 1366px) {
    .dark-theme .anchor-link-section {
        background-size: 100% 100%;
        object-fit: cover;
        background-repeat: no-repeat;
        background-image: linear-gradient(0deg, rgba(2, 11, 36, 0.7) 24.16%, rgba(2, 11, 36, 0) 100%)
    }
}

.dark-theme .picture-container::after,
.dark-theme .vi-media-container::after {
    background-size: 100% 100%;
    object-fit: cover;
    background-repeat: no-repeat;
    background-image: linear-gradient(0deg, rgba(2, 11, 36, 0.5) 0%, rgba(2, 11, 36, 0.5) 100%)
}

@media (min-width: 768px) {

    .dark-theme .picture-container::after,
    .dark-theme .vi-media-container::after {
        background-size: 100% 100%;
        object-fit: cover;
        background-repeat: no-repeat;
        background-image: linear-gradient(90deg, rgba(2, 11, 36, 0.6) 0.04%, rgba(2, 11, 36, 0.3) 74.91%, rgba(2, 11, 36, 0) 99.96%)
    }
}

@media (min-width: 1366px) {

    .dark-theme .picture-container::after,
    .dark-theme .vi-media-container::after {
        background-size: 100% 100%;
        object-fit: cover;
        background-repeat: no-repeat;
        background-image: linear-gradient(90deg, rgba(2, 11, 36, 0.4) 0.04%, rgba(2, 11, 36, 0.3) 51.04%, rgba(2, 11, 36, 0) 64.57%)
    }
}

.light-theme {
    background-color: #fff;
    color: #000;
    background-size: 100% 100%;
    object-fit: cover;
    background-repeat: no-repeat;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.7) 22.82%, rgba(255, 255, 255, 0) 100%)
}

.light-theme .picture-container::after,
.light-theme .vi-media-container::after {
    background-size: 100% 100%;
    object-fit: cover;
    background-repeat: no-repeat;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%)
}

@media (min-width: 768px) {

    .light-theme .picture-container::after,
    .light-theme .vi-media-container::after {
        background-size: 100% 100%;
        object-fit: cover;
        background-repeat: no-repeat;
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.3) 74.49%, rgba(255, 255, 255, 0) 94.35%)
    }
}

@media (min-width: 1366px) {

    .light-theme .picture-container::after,
    .light-theme .vi-media-container::after {
        background-size: 100% 100%;
        object-fit: cover;
        background-repeat: no-repeat;
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.3) 49.3%, rgba(255, 255, 255, 0) 64.64%)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

.disclaimer-text {
    cursor: pointer;
    margin-left: 5px;
    pointer-events: all
}

.tippy-tooltip[data-animation=fade][data-state=hidden] {
    opacity: 0
}

.tippy-iOS {
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent
}

.tippy-popper {
    pointer-events: none;
    max-width: calc(100vw - 10px);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-property: transform
}

.tippy-tooltip {
    position: relative;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    background-color: #333;
    transition-property: visibility, opacity, transform;
    outline: 0
}

.tippy-tooltip[data-placement^=top]>.tippy-arrow {
    border-width: 8px 8px 0;
    border-top-color: #333;
    margin: 0 3px;
    transform-origin: 50% 0;
    bottom: -7px
}

.tippy-tooltip[data-placement^=bottom]>.tippy-arrow {
    border-width: 0 8px 8px;
    border-bottom-color: #333;
    margin: 0 3px;
    transform-origin: 50% 7px;
    top: -7px
}

.tippy-tooltip[data-placement^=left]>.tippy-arrow {
    border-width: 8px 0 8px 8px;
    border-left-color: #333;
    margin: 3px 0;
    transform-origin: 0 50%;
    right: -7px
}

.tippy-tooltip[data-placement^=right]>.tippy-arrow {
    border-width: 8px 8px 8px 0;
    border-right-color: #333;
    margin: 3px 0;
    transform-origin: 7px 50%;
    left: -7px
}

.tippy-tooltip[data-interactive][data-state=visible] {
    pointer-events: auto
}

.tippy-tooltip[data-inertia][data-state=visible] {
    transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11)
}

.tippy-arrow {
    position: absolute;
    border-color: transparent;
    border-style: solid
}

.tippy-content {
    padding: 5px 9px
}

.tippy-tooltip.light-theme {
    color: #26323d;
    box-shadow: 0 0 20px 4px rgba(154, 161, 177, .15), 0 4px 80px -8px rgba(36, 40, 47, .25), 0 4px 4px -2px rgba(91, 94, 105, .15);
    background-color: #fff
}

.tippy-tooltip.light-theme[data-placement^=top]>.tippy-arrow {
    border-width: 8px 8px 0;
    border-top-color: #fff
}

.tippy-tooltip.light-theme[data-placement^=bottom]>.tippy-arrow {
    border-width: 0 8px 8px;
    border-bottom-color: #fff
}

.tippy-tooltip.light-theme[data-placement^=left]>.tippy-arrow {
    border-width: 8px 0 8px 8px;
    border-left-color: #fff
}

.tippy-tooltip.light-theme[data-placement^=right]>.tippy-arrow {
    border-width: 8px 8px 8px 0;
    border-right-color: #fff
}

.tippy-tooltip.light-theme>.tippy-backdrop {
    background-color: #fff
}

.tippy-tooltip.light-theme>.tippy-svg-arrow {
    fill: #fff
}

@font-face {
    font-family: 'nissan-modernized-icons-font';
    src: url(assets/fonts/nissan-modernized-icons-font.woff2) format("woff2"), url(assets/fonts/nissan-modernized-icons-font.ttf) format("truetype"), url(assets/fonts/nissan-modernized-icons-font.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'nissan-modernized-icons-font' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-image {
    display: inline-block;
    height: 24px;
    width: 24px
}

.icon-alert::before {
    content: '\e68d'
}

.icon-anchor-link-mobile::before {
    content: '\e601'
}

.icon-arrow-up::before {
    content: '\e921'
}

.icon-automatic::before {
    content: '\e602'
}

.icon-battery::before {
    content: '\e604'
}

.icon-battery-leasing::before {
    content: '\e605'
}

.icon-body-type::before {
    content: '\e91d'
}

.icon-book-a-service::before {
    content: '\e606'
}

.icon-download-a-brochure::before {
    content: '\e64d'
}

.icon-build::before {
    content: '\e64e'
}

.icon-burger-menu::before {
    content: '\e64f'
}

.icon-cab-type::before {
    content: '\e91c'
}

.icon-calculator::before {
    content: '\e68f'
}

.icon-calendar::before {
    content: '\e688'
}

.icon-capacity::before {
    content: '\e650'
}

.icon-car::before {
    content: '\e651'
}

.icon-carwings::before {
    content: '\e607'
}

.icon-cargo-length::before {
    content: '\e925'
}

.icon-charging-cost::before {
    content: '\e608'
}

.icon-chassis::before {
    content: '\e90a'
}

.icon-circle-outline::before {
    content: '\e689'
}

.icon-clock::before {
    content: '\e800'
}

.icon-close-cross::before {
    content: '\e609'
}

.icon-coins::before {
    content: '\e60a'
}

.icon-colour::before {
    content: '\e68c'
}

.icon-compare::before {
    content: '\e60b'
}

.icon-configure::before {
    content: '\e60c'
}

.icon-contact-email::before {
    content: '\e60d'
}

.icon-contact-phone::before {
    content: '\e628'
}

.icon-cookie::before {
    content: '\e652'
}

.icon-cubic_volume::before {
    content: '\e909'
}

.icon-dimensions::before {
    content: '\e91e'
}

.icon-directions::before {
    content: '\e654'
}

.icon-discount::before {
    content: '\e655'
}

.icon-document::before {
    content: '\e656'
}

.icon-doors::before {
    content: '\e60e'
}

.icon-double-slider::before {
    content: '\e60f'
}

.icon-down-arrow::before {
    content: '\e610'
}

.icon-download-brochure::before {
    content: '\e611'
}

.icon-efficiency-class::before {
    content: '\e613'
}

.icon-elipsis::before {
    content: '\e614'
}

.icon-email-us::before {
    content: '\e657'
}

.icon-emission::before {
    content: '\e658'
}

.icon-emission-control-standard::before {
    content: '\e659'
}

.icon-Engine::before {
    content: '\e65b'
}

.icon-engine-capacity::before {
    content: '\e91f'
}

.icon-engine-size::before {
    content: '\e65a'
}

.icon-explore::before {
    content: '\e616'
}

.icon-external-link::before {
    content: '\e617'
}

.icon-social-facebook::before {
    content: '\e618'
}

.icon-feedback-star::before {
    content: '\e619'
}

.icon-feedback-star-empty::before {
    content: '\e902'
}

.icon-feedback-star-half-filled::before {
    content: '\e901'
}

.icon-find-a-dealer::before {
    content: '\e67f'
}

.icon-fuel-type::before {
    content: '\e61a'
}

.icon-full-screen-close::before {
    content: '\e61b'
}

.icon-full-screen::before {
    content: '\e65c'
}

.icon-geolocator::before {
    content: '\e65d'
}

.icon-globe::before {
    content: '\e65e'
}

.icon-google-plus::before {
    content: '\e65f'
}

.icon-gross-weight::before {
    content: '\e62b'
}

.icon-height::before {
    content: '\e90f'
}

.icon-horsepower::before {
    content: '\e660'
}

.icon-image-gallery-all::before {
    content: '\e61c'
}

.icon-image-gallery-one::before {
    content: '\e61d'
}

.icon-image-slider-control::before {
    content: '\e90c'
}

.icon-info::before {
    content: '\e61f'
}

.icon-information::before {
    content: '\e620'
}

.icon-instagram::before {
    content: '\e621'
}

.icon-inventory::before {
    content: '\e900'
}

.icon-i-nventory-funnel::before {
    content: '\e690'
}

.icon-inventory-results::before {
    content: '\e691'
}

.icon-left-arrow::before {
    content: '\e622'
}

.icon-length::before {
    content: '\e910'
}

.icon-linkedin::before {
    content: '\e661'
}

.icon-list::before {
    content: '\e663'
}

.icon-list-view::before {
    content: '\e662'
}

.icon-list-view-2::before {
    content: '\e664'
}

.icon-live-chat::before {
    content: '\e665'
}

.icon-loading-spinner::before {
    content: '\e623'
}

.icon-log-out::before {
    content: '\e680'
}

.icon-mpg::before {
    content: '\e629'
}

.icon-mph::before {
    content: '\e666'
}

.icon-manual::before {
    content: '\e624'
}

.icon-map-view::before {
    content: '\e625'
}

.icon-map-view-2::before {
    content: '\e626'
}

.icon-mileage::before {
    content: '\e693'
}

.icon-minus::before {
    content: '\e627'
}

.icon-more-dealer-details::before {
    content: '\e681'
}

.icon-new-cars::before {
    content: '\e667'
}

.icon-bas-express-booking::before {
    content: '\e68b'
}

.icon-bas-maintenance-package::before {
    content: '\e68a'
}

.icon-number-of-seats::before {
    content: '\e920'
}

.icon-offers::before {
    content: '\e668'
}

.icon-options::before {
    content: '\e91a'
}

.icon-pdf::before {
    content: '\e682'
}

.icon-package::before {
    content: '\e911'
}

.icon-packs::before {
    content: '\e918'
}

.icon-pagination-off::before {
    content: '\e669'
}

.icon-pagination-on::before {
    content: '\e66a'
}

.icon-pan::before {
    content: '\e62a'
}

.icon-payload::before {
    content: '\e924'
}

.icon-phone::before {
    content: '\e913'
}

.icon-photo::before {
    content: '\e683'
}

.icon-play::before {
    content: '\e62c'
}

.icon-player--control-fullscreen::before {
    content: '\e62d'
}

.icon-player-control-no-volume::before {
    content: '\e62e'
}

.icon-player-control-pause::before {
    content: '\e62f'
}

.icon-player-control-play::before {
    content: '\e630'
}

.icon-player-control-volume::before {
    content: '\e66b'
}

.icon-plus::before {
    content: '\e66c'
}

.icon-preferred-dealer::before {
    content: '\e66e'
}

.icon-preferred-dealer-solid::before {
    content: '\e66d'
}

.icon-print::before {
    content: '\e631'
}

.icon-quick-view::before {
    content: '\e632'
}

.icon-registration-date::before {
    content: '\e694'
}

.icon-reset::before {
    content: '\e633'
}

.icon-review::before {
    content: '\e695'
}

.icon-right-arrow::before {
    content: '\e634'
}

.icon-road-tax::before {
    content: '\e635'
}

.icon-road-side-assistance::before {
    content: '\e636'
}

.icon-running-cost::before {
    content: '\e637'
}

.icon-save::before {
    content: '\e684'
}

.icon-save-2::before {
    content: '\e916'
}

.icon-search::before {
    content: '\e670'
}

.icon-seat::before {
    content: '\e671'
}

.icon-services::before {
    content: '\e672'
}

.icon-share::before {
    content: '\e674'
}

.icon-share-cfg::before {
    content: '\e685'
}

.icon-share-save::before {
    content: '\e673'
}

.icon-slider-arrow-left::before {
    content: '\e638'
}

.icon-slider-arrow-right::before {
    content: '\e639'
}

.icon-social-draugiem::before {
    content: '\e90e'
}

.icon-social-email-us-fill::before {
    content: '\e923'
}

.icon-social-facebook-fill::before {
    content: '\e63a'
}

.icon-social-google-plus-fill::before {
    content: '\e63b'
}

.icon-social-instagram-fill::before {
    content: '\e63c'
}

.icon-social-line-fill::before {
    content: '\e922'
}

.icon-social-linkedin-fill::before {
    content: '\e63d'
}

.icon-social-ok-fill::before {
    content: '\e63e'
}

.icon-social-ok-outline::before {
    content: '\e675'
}

.icon-social-pinterest-fill::before {
    content: '\e676'
}

.icon-social-twitter-fill::before {
    content: '\e677'
}

.icon-social-vk-fill::before {
    content: '\e678'
}

.icon-social-vk-outline::before {
    content: '\e679'
}

.icon-social-wechat-fill::before {
    content: '\e904'
}

.icon-social-wechat-outline::before {
    content: '\e906'
}

.icon-social-weibo::before {
    content: '\e905'
}

.icon-social-weibo-outline::before {
    content: '\e907'
}

.icon-social-youtube::before {
    content: '\e63f'
}

.icon-social-youku-fill::before {
    content: '\e692'
}

.icon-social-youku-outline::before {
    content: '\e908'
}

.icon-speed::before {
    content: '\e640'
}

.icon-sponsored-dealer-award::before {
    content: '\e90d'
}

.icon-style-packs::before {
    content: '\e919'
}

.icon-summary::before {
    content: '\e91b'
}

.icon-test-drive::before {
    content: '\e641'
}

.icon-Tick::before {
    content: '\e642'
}

.icon-towing::before {
    content: '\e644'
}

.icon-trade-in::before {
    content: '\e687'
}

.icon-trade-in-quote::before {
    content: '\e686'
}

.icon-trash::before {
    content: '\e645'
}

.icon-trims::before {
    content: '\e917'
}

.icon-social-twitter::before {
    content: '\e67a'
}

.icon-tyre::before {
    content: '\e67b'
}

.icon-universal-price::before {
    content: '\e903'
}

.icon-up-arrow::before {
    content: '\e67c'
}

.icon-van::before {
    content: '\e90b'
}

.icon-version-grade::before {
    content: '\e915'
}

.icon-video-carousel-link::before {
    content: '\e67d'
}

.icon-warranty::before {
    content: '\e646'
}

.icon-wheel::before {
    content: '\e647'
}

.icon-world::before {
    content: '\e648'
}

.icon-wreath::before {
    content: '\e649'
}

.icon-your-choice::before {
    content: '\e64a'
}

.icon-social-youtube1::before {
    content: '\e64b'
}

.icon-zoom::before {
    content: '\e64c'
}

.icon-accessories::before {
    content: '\e600'
}

.icon-aerodynamic_body_kit::before {
    content: '\e954'
}

.icon-after_sales::before {
    content: '\e953'
}

.icon-ambient_lighting::before {
    content: '\e932'
}

.icon-android_compatibility::before {
    content: '\e973'
}

.icon-assistance::before {
    content: '\e931'
}

.icon-assisted_steering::before {
    content: '\e952'
}

.icon-aux::before {
    content: '\e972'
}

.icon-available::before {
    content: '\e603'
}

.icon-battery_service::before {
    content: '\e930'
}

.icon-bed_channel_system::before {
    content: '\e951'
}

.icon-best_seller::before {
    content: '\e950'
}

.icon-bluetooth::before {
    content: '\e971'
}

.icon-car_location::before {
    content: '\e94f'
}

.icon-clear::before {
    content: '\e68e'
}

.icon-climate_control::before {
    content: '\e94e'
}

.icon-commerce::before {
    content: '\e929'
}

.icon-continuously_variable_transmission::before {
    content: '\e94d'
}

.icon-cylinder::before {
    content: '\e653'
}

.icon-device_compatibility::before {
    content: '\e934'
}

.icon-drive_train_2wd::before {
    content: '\e970'
}

.icon-drive_train_4wd::before {
    content: '\e96f'
}

.icon-dual_climate_control::before {
    content: '\e96e'
}

.icon-editpencil2::before {
    content: '\e612'
}

.icon-engine::before {
    content: '\e96d'
}

.icon-enginePower::before {
    content: '\e615'
}

.icon-epedal_driving::before {
    content: '\e942'
}

.icon-exclaimation::before {
    content: '\e914'
}

.icon-extended_range::before {
    content: '\e96c'
}

.icon-exterior_view::before {
    content: '\e96b'
}

.icon-faqs::before {
    content: '\e960'
}

.icon-fuel_type_ev::before {
    content: '\e96a'
}

.icon-fully_boxed_frame::before {
    content: '\e940'
}

.icon-grants_savings_incentive::before {
    content: '\e93f'
}

.icon-heated_seats::before {
    content: '\e95f'
}

.icon-heated_steering_wheel::before {
    content: '\e95e'
}

.icon-home_and_public_charging_stations::before {
    content: '\e93e'
}

.icon-horn::before {
    content: '\e95d'
}

.icon-indicator::before {
    content: '\e61e'
}

.icon-instant_acceleration::before {
    content: '\e93d'
}

.icon-intelligent_key::before {
    content: '\e93c'
}

.icon-interior_view::before {
    content: '\e969'
}

.icon-keep_me_informed::before {
    content: '\e968'
}

.icon-lights::before {
    content: '\e95b'
}

.icon-lights_and_horn::before {
    content: '\e93b'
}

.icon-maintain_speed::before {
    content: '\e93a'
}

.icon-managing_my_device_on_the_go::before {
    content: '\e92a'
}

.icon-map_updates::before {
    content: '\e938'
}

.icon-nissan_concierge_entertainment::before {
    content: '\e937'
}

.icon-nissan_fleet::before {
    content: '\e936'
}

.icon-noise_cancellation::before {
    content: '\e95a'
}

.icon-oil_and_filter_change::before {
    content: '\e935'
}

.icon-onboarding_to_ownership::before {
    content: '\e92b'
}

.icon-player_control_back::before {
    content: '\e943'
}

.icon-player_control_forward::before {
    content: '\e944'
}

.icon-player_control_rewind::before {
    content: '\e946'
}

.icon-player_control_skip::before {
    content: '\e945'
}

.icon-public_charging_stations::before {
    content: '\e94c'
}

.icon-rapid_charge::before {
    content: '\e967'
}

.icon-rear_entertainment::before {
    content: '\e94b'
}

.icon-request_a_call_back::before {
    content: '\e966'
}

.icon-restaurant::before {
    content: '\e958'
}

.icon-running_cost::before {
    content: '\e94a'
}

.icon-seat_capacity::before {
    content: '\e933'
}

.icon-service_booking_date::before {
    content: '\e957'
}

.icon-service_log::before {
    content: '\e956'
}

.icon-slide_in::before {
    content: '\e912'
}

.icon-soundproof::before {
    content: '\e949'
}

.icon-tick::before {
    content: '\e926'
}

.icon-torque::before {
    content: '\e643'
}

.icon-touch_screen::before {
    content: '\e964'
}

.icon-usb::before {
    content: '\e963'
}

.icon-voice_recognition::before {
    content: '\e927'
}

.icon-warning::before {
    content: '\e67e'
}

.icon-width::before {
    content: '\e962'
}

.icon-wiper_blade_replacement::before {
    content: '\e948'
}

.icon-work_location::before {
    content: '\e947'
}

.icon-zoom_in::before {
    content: '\e92c'
}

.icon-zoom_out::before {
    content: '\e92d'
}

.icon-drive_train_awd::before {
    content: '\e928'
}

.icon-driving_log_history::before {
    content: '\e92e'
}

.icon-dealer_review::before {
    content: '\e92f'
}

.icon-nissan_intelligent_mobility::before {
    content: '\e939'
}

.icon-slider_arrow_down::before {
    content: '\e941'
}

.icon-upholstery::before {
    content: '\e955'
}

.icon-copy::before {
    content: '\e959'
}

.icon-settings::before {
    content: '\e95c'
}

.icon-offers_horizontal::before {
    content: '\e961'
}

.icon-rotate_device::before {
    content: '\e965'
}

.icon-Gallery-View-List::before {
    content: '\e701'
}

.icon-Gallery-View-Grid::before {
    content: '\e702'
}

.icon-connected-car::before {
    content: '\e998'
}

.icon-wrench::before {
    content: '\e999'
}

.icon-social-fb-messenger::before {
    content: '\e99a'
}

.icon-social-whatsapp::before {
    content: '\e99b'
}

.icon-alert-fill::before {
    content: '\e974'
}

.icon-alert-outline::before {
    content: '\e975'
}

.icon-bell-fill::before {
    content: '\e976'
}

.icon-bell-outline::before {
    content: '\e977'
}

.icon-car-fill::before {
    content: '\e978'
}

.icon-car-outline::before {
    content: '\e979'
}

.icon-direction-fill::before {
    content: '\e97a'
}

.icon-direction-outline::before {
    content: '\e97b'
}

.icon-document-fill::before {
    content: '\e97c'
}

.icon-document-outline::before {
    content: '\e97d'
}

.icon-garage-fill::before {
    content: '\e97e'
}

.icon-garage-outline::before {
    content: '\e97f'
}

.icon-headset-fill::before {
    content: '\e980'
}

.icon-headset-outline::before {
    content: '\e981'
}

.icon-info-book-fill::before {
    content: '\e982'
}

.icon-info-book-outline::before {
    content: '\e983'
}

.icon-info-fill::before {
    content: '\e984'
}

.icon-info-outline::before {
    content: '\e985'
}

.icon-mail-fill::before {
    content: '\e986'
}

.icon-mail-outline::before {
    content: '\e987'
}

.icon-map-fill::before {
    content: '\e988'
}

.icon-map-outline::before {
    content: '\e989'
}

.icon-map-pin-fill::before {
    content: '\e98a'
}

.icon-map-pin-outline::before {
    content: '\e98b'
}

.icon-more-fill::before {
    content: '\e98c'
}

.icon-more-outline::before {
    content: '\e98d'
}

.icon-news-fill::before {
    content: '\e98e'
}

.icon-news-outline::before {
    content: '\e98f'
}

.icon-shield-fill::before {
    content: '\e990'
}

.icon-shield-outline::before {
    content: '\e991'
}

.icon-shopping-basket-fill::before {
    content: '\e992'
}

.icon-shopping-basket-outline::before {
    content: '\e993'
}

.icon-shopping-cart-fill::before {
    content: '\e994'
}

.icon-shopping-cart-outline::before {
    content: '\e995'
}

.icon-user-fill::before {
    content: '\e996'
}

.icon-user-outline::before {
    content: '\e997'
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.vi-cta {
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-bold {
    font-size: 16px;
    font-weight: 700;
    line-height: 22.4px;
    letter-spacing: .3px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.vi-cta-s {
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif
}

.vi-cta-s-bold {
    font-size: 13px;
    font-weight: 700;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Bold', Verdana, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility
}

.secondary-label-style-xs {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 18.2px;
    letter-spacing: .26px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-sm {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 22.4px;
    letter-spacing: .32px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

.label-style-lg {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 29px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .58px;
    font-family: 'Infiniti Light', Verdana, Arial, sans-serif;
    color: #fff;
    font-style: normal
}

@keyframes scale-up {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes image-zoom-in {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.2)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes indeterminateAnimation {
    0% {
        transform: translateX(0) scaleX(0)
    }

    40% {
        transform: translateX(0) scaleX(0.4)
    }

    100% {
        transform: translateX(100%) scaleX(0.5)
    }
}

@keyframes scroll-prompt-animation {
    0% {
        opacity: 1;
        transform: translateY(-25px)
    }

    50%,
    90% {
        opacity: 1;
        transform: translateY(0)
    }

    95% {
        opacity: 0;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(-25px)
    }
}

@keyframes animateIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: translateX(0%)
    }
}

@keyframes slide-in-horizontal {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0%)
    }
}

@keyframes slide-out-horizontal {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(100%)
    }
}

@keyframes reveal {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }

    100% {
        clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%)
    }
}

@keyframes mask-reveal {
    from {
        clip-path: polygon(100% 0%, 100% 100%, 30% 100%, 30% 0)
    }

    to {
        clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0)
    }
}

@font-face {
    font-family: 'Infiniti Regular';
    src: url(assets/fonts/infiniti-brand-regular.ttf)
}

@font-face {
    font-family: 'Infiniti Bold';
    src: url(assets/fonts/infiniti-brand-bold.ttf)
}

@font-face {
    font-family: 'Infiniti Light';
    src: url(assets/fonts/infiniti-brand-light.ttf)
}

.hide-scroll {
    overflow: hidden;
    position: relative
}

.flex {
    gap: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap
}

a {
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

*,
*::before,
*::after {
    box-sizing: border-box
}

.vi-container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto
}

.vi-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-left: -10px;
    margin-right: -10px
}

.vi-row [class^='vi-col-'] {
    padding-left: 10px;
    padding-right: 10px
}

.vi-container {
    padding-left: 60px;
    padding-right: 60px
}

.vi-col-1 {
    width: calc(calc(1/12) * 100%)
}

.vi-col-2 {
    width: calc(calc(2/12) * 100%)
}

.vi-col-3 {
    width: calc(calc(3/12) * 100%)
}

.vi-col-4 {
    width: calc(calc(4/12) * 100%)
}

.vi-col-5 {
    width: calc(calc(5/12) * 100%)
}

.vi-col-6 {
    width: calc(calc(6/12) * 100%)
}

.vi-col-7 {
    width: calc(calc(7/12) * 100%)
}

.vi-col-8 {
    width: calc(calc(8/12) * 100%)
}

.vi-col-9 {
    width: calc(calc(9/12) * 100%)
}

.vi-col-10 {
    width: calc(calc(10/12) * 100%)
}

.vi-col-11 {
    width: calc(calc(11/12) * 100%)
}

.vi-col-12 {
    width: calc(calc(12/12) * 100%)
}

.vi-container {
    padding-left: 20px;
    padding-right: 20px
}

.vi-col-xs-1 {
    width: calc(calc(1/4) * 100%)
}

.vi-col-xs-2 {
    width: calc(calc(2/4) * 100%)
}

.vi-col-xs-3 {
    width: calc(calc(3/4) * 100%)
}

.vi-col-xs-4 {
    width: calc(calc(4/4) * 100%)
}

@media (min-width: 768px) {
    .vi-container {
        padding-left: 40px;
        padding-right: 40px
    }

    .vi-col-sm-1 {
        width: calc(calc(1/8) * 100%)
    }

    .vi-col-sm-2 {
        width: calc(calc(2/8) * 100%)
    }

    .vi-col-sm-3 {
        width: calc(calc(3/8) * 100%)
    }

    .vi-col-sm-4 {
        width: calc(calc(4/8) * 100%)
    }

    .vi-col-sm-5 {
        width: calc(calc(5/8) * 100%)
    }

    .vi-col-sm-6 {
        width: calc(calc(6/8) * 100%)
    }

    .vi-col-sm-7 {
        width: calc(calc(7/8) * 100%)
    }

    .vi-col-sm-8 {
        width: calc(calc(8/8) * 100%)
    }
}

@media (min-width: 1366px) {
    .vi-container {
        padding-left: 60px;
        padding-right: 60px
    }

    .vi-col-md-1 {
        width: calc(calc(1/12) * 100%)
    }

    .vi-col-md-2 {
        width: calc(calc(2/12) * 100%)
    }

    .vi-col-md-3 {
        width: calc(calc(3/12) * 100%)
    }

    .vi-col-md-4 {
        width: calc(calc(4/12) * 100%)
    }

    .vi-col-md-5 {
        width: calc(calc(5/12) * 100%)
    }

    .vi-col-md-6 {
        width: calc(calc(6/12) * 100%)
    }

    .vi-col-md-7 {
        width: calc(calc(7/12) * 100%)
    }

    .vi-col-md-8 {
        width: calc(calc(8/12) * 100%)
    }

    .vi-col-md-9 {
        width: calc(calc(9/12) * 100%)
    }

    .vi-col-md-10 {
        width: calc(calc(10/12) * 100%)
    }

    .vi-col-md-11 {
        width: calc(calc(11/12) * 100%)
    }

    .vi-col-md-12 {
        width: calc(calc(12/12) * 100%)
    }
}

@media (min-width: 1600px) {
    .vi-container {
        padding-left: 80px;
        padding-right: 80px
    }

    .vi-col-lg-1 {
        width: calc(calc(1/16) * 100%)
    }

    .vi-col-lg-2 {
        width: calc(calc(2/16) * 100%)
    }

    .vi-col-lg-3 {
        width: calc(calc(3/16) * 100%)
    }

    .vi-col-lg-4 {
        width: calc(calc(4/16) * 100%)
    }

    .vi-col-lg-5 {
        width: calc(calc(5/16) * 100%)
    }

    .vi-col-lg-6 {
        width: calc(calc(6/16) * 100%)
    }

    .vi-col-lg-7 {
        width: calc(calc(7/16) * 100%)
    }

    .vi-col-lg-8 {
        width: calc(calc(8/16) * 100%)
    }

    .vi-col-lg-9 {
        width: calc(calc(9/16) * 100%)
    }

    .vi-col-lg-10 {
        width: calc(calc(10/16) * 100%)
    }

    .vi-col-lg-11 {
        width: calc(calc(11/16) * 100%)
    }

    .vi-col-lg-12 {
        width: calc(calc(12/16) * 100%)
    }

    .vi-col-lg-13 {
        width: calc(calc(13/16) * 100%)
    }

    .vi-col-lg-14 {
        width: calc(calc(14/16) * 100%)
    }

    .vi-col-lg-15 {
        width: calc(calc(15/16) * 100%)
    }

    .vi-col-lg-16 {
        width: calc(calc(16/16) * 100%)
    }
}

@media (min-width: 1920px) {
    .vi-container {
        padding-left: 100px;
        padding-right: 100px
    }

    .vi-col-xl-1 {
        width: calc(calc(1/20) * 100%)
    }

    .vi-col-xl-2 {
        width: calc(calc(2/20) * 100%)
    }

    .vi-col-xl-3 {
        width: calc(calc(3/20) * 100%)
    }

    .vi-col-xl-4 {
        width: calc(calc(4/20) * 100%)
    }

    .vi-col-xl-5 {
        width: calc(calc(5/20) * 100%)
    }

    .vi-col-xl-6 {
        width: calc(calc(6/20) * 100%)
    }

    .vi-col-xl-7 {
        width: calc(calc(7/20) * 100%)
    }

    .vi-col-xl-8 {
        width: calc(calc(8/20) * 100%)
    }

    .vi-col-xl-9 {
        width: calc(calc(9/20) * 100%)
    }

    .vi-col-xl-10 {
        width: calc(calc(10/20) * 100%)
    }

    .vi-col-xl-11 {
        width: calc(calc(11/20) * 100%)
    }

    .vi-col-xl-12 {
        width: calc(calc(12/20) * 100%)
    }

    .vi-col-xl-13 {
        width: calc(calc(13/20) * 100%)
    }

    .vi-col-xl-14 {
        width: calc(calc(14/20) * 100%)
    }

    .vi-col-xl-15 {
        width: calc(calc(15/20) * 100%)
    }

    .vi-col-xl-16 {
        width: calc(calc(16/20) * 100%)
    }

    .vi-col-xl-17 {
        width: calc(calc(17/20) * 100%)
    }

    .vi-col-xl-18 {
        width: calc(calc(18/20) * 100%)
    }

    .vi-col-xl-19 {
        width: calc(calc(19/20) * 100%)
    }

    .vi-col-xl-20 {
        width: calc(calc(20/20) * 100%)
    }
}

.tippy-popper .tippy-tooltip {
    background-color: #fff;
    border-radius: 0;
    box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.2);
    color: #000;
    font-family: 'Nissan Light', Verdana, Arial, sans-serif;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: .9px;
    line-height: 24px;
    padding: 28px 4px 24px 24px;
    width: auto
}

.tippy-popper .tippy-tooltip .tippy-arrow {
    border-bottom-color: #fff;
    border-top-color: #fff
}

.tippy-popper .tippy-tooltip .tippy-content {
    padding: 0 20px 0 0;
    max-height: 192px;
    overflow-y: auto
}

.tippy-popper .tippy-tooltip .tippy-content .msrp-price .title {
    margin-bottom: 12px !important
}

.tippy-popper .tippy-tooltip .tippy-content .msrp-price p,
.tippy-popper .tippy-tooltip .tippy-content .limited-pack-disclaimer p {
    margin: 0 !important
}

.tippy-popper .tippy-tooltip[data-placement^='top']>.tippy-arrow {
    border-width: 14px 14px 0;
    bottom: -14px
}

.tippy-popper .tippy-tooltip[data-placement^='bottom']>.tippy-arrow {
    border-width: 0 14px 14px;
    top: -14px
}

.tippy-popper .tippy-tooltip .tooltip-close-icon {
    cursor: pointer;
    position: absolute;
    right: 12px;
    top: 12px
}

.tippy-popper .tippy-tooltip .tooltip-pre-content {
    white-space: pre-wrap
}