@font-face {
    font-family: 'Graphik LCG';
    src: url(../fonts/GraphikLCG-Black.eot);
    src: local('Graphik LCG Black'), local(GraphikLCG-Black), url(../fonts/GraphikLCG-Black.eot?#iefix) format("embedded-opentype"), url(../fonts/GraphikLCG-Black.woff2) format("woff2"), url(../fonts/GraphikLCG-Black.woff) format("woff"), url(../fonts/GraphikLCG-Black.ttf) format("truetype");
    font-weight: 900;
    font-display: swap;
    font-style: normal
}
@font-face {
    font-family: 'Graphik LCG';
    src: url(../fonts/GraphikLCG-Bold.eot);
    src: local('Graphik LCG Bold'), local('GraphikLCG-Bold'), url(../fonts/GraphikLCG-Bold.eot?#iefix) format('embedded-opentype'), url(../fonts/GraphikLCG-Bold.woff2) format('woff2'), url(../fonts/GraphikLCG-Bold.woff) format('woff'), url(../fonts/GraphikLCG-Bold.ttf) format('truetype');
    font-weight: 700;
    font-style: normal
}
@font-face {
    font-family: 'Graphik LCG';
    src: url(../fonts/GraphikLCG-Light.eot);
    src: local('Graphik LCG Light'), local(GraphikLCG-Light), url(../fonts/GraphikLCG-Light.eot?#iefix) format("embedded-opentype"), url(../fonts/GraphikLCG-Light.woff2) format("woff2"), url(../fonts/GraphikLCG-Light.woff) format("woff"), url(../fonts/GraphikLCG-Light.ttf) format("truetype");
    font-weight: 300;
    font-display: swap;
    font-style: normal
}
body {
    font-family: 'Graphik LCG';
    font-weight: 300;
    font-size: 16px;
    color: #000;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased
}
a, abbr, acronym, address, applet, b, big, blockquote, body, caption, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0
}
ol, ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
    content: '';
    content: none
}
:focus {
    outline: 0
}
ins {
    text-decoration: none
}
a {
    text-decoration: none
}
del {
    text-decoration: line-through
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
iframe, img, input, select {
    vertical-align: middle
}
html {
    font-size: 125%;
    overflow-x: hidden
}
body * {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none
}
section {
    position: relative
}
img {
    -ms-interpolation-mode: bicubic;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    user-drag: none;
    -webkit-touch-callout: none;
    max-width: 100%
}
.has_transition_1000_expo {
    -webkit-transition: all 1s cubic-bezier(.19, 1, .22, 1);
    transition: all 1s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden
}
.has_transition_1300_expo {
    -webkit-transition: all 1.3s cubic-bezier(.19, 1, .22, 1);
    transition: all 1.3s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden
}
.has_transition_1600_expo {
    -webkit-transition: all 1.6s cubic-bezier(.19, 1, .22, 1);
    transition: all 1.6s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden
}
.has_transition_1500_quint {
    -webkit-transition: -webkit-transform 1.5s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1.5s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.215, .61, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1500 {
    -webkit-transition: -webkit-transform 1.5s cubic-bezier(.19, 1, .22, 1), opacity 1.5s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1.5s cubic-bezier(.19, 1, .22, 1), opacity 1.5s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1000_inout {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.575, .005, .285, 1.005), opacity 1s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform 1s cubic-bezier(.575, .005, .285, 1.005), opacity 1s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_800 {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.19, 1, .22, 1), opacity .8s cubic-bezier(.19, 1, .22, 1);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1), opacity .8s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1000 {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.19, 1, .22, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1s cubic-bezier(.19, 1, .22, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2000_inout {
    -webkit-transition: -webkit-transform 2s cubic-bezier(.575, .005, .285, 1.005), opacity 2s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform 2s cubic-bezier(.575, .005, .285, 1.005), opacity 2s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
header {
    width: 100%;
    height: 70px;
    position: fixed;
    top: 0;
    background: #fff;
    z-index: 3;
    will-change: transform
}
#pageCover {
    position: fixed;
    top: 69px;
    height: calc(100% - 69px);
    left: 246px;
    width: calc(100% - 246px);
    background: #fff;
    z-index: 2;
    transform-origin: top
}
#topLogoPerfera {
    width: 125px
}
#s_cover {
    stroke-dashoffset: 83;
    stroke-dasharray: 83
}
#scrollDown {
    height: 200px;
    width: 3px;
    position: absolute;
    left: 50%;
    bottom: 32px;
    transform-origin: bottom;
    z-index: 999
}
#scrollTrack {
    background: #fff;
    width: 1px;
    height: 100%;
    margin-left: 1px
}
#scrollHandle {
    position: absolute;
    top: 0;
    left: 0;
    height: 105px;
    width: 3px;
    background: #fff;
    border-radius: 10px;
    transform-origin: top;
    transform: scale(1, 0)
}
#scrollHandle.anim {
    animation: scrollDownLoop 4s cubic-bezier(.575, .005, .285, 1.005) infinite
}
@keyframes scrollDownLoop {
    0% {
        transform: scale(1, 1) translateY(-105px)
    }
    75% {
        transform: scale(1, 1) translateY(235px)
    }
    100% {
        transform: scale(1, 1) translateY(235px)
    }
}
#main {
    width: 100%;
    margin-top: 70px;
    position: absolute;
    height: calc(100vh - 70px);
    overflow: hidden;
    will-change: transform;
    transform: translateZ(0)
}
body.native-scroll #main {
    overflow: visible;
    will-change: inherit;
    height: auto;
    position: relative
}
#main_scroller {
    position: absolute;
    will-change: transform;
    width: 100%
}
body.native-scroll #main_scroller {
    overflow: hidden;
    position: relative
}
.iScrollIndicator {
    -webkit-transition: all 1.5s cubic-bezier(.19, 1, .22, 1)!important;
    transition: all 1.5s cubic-bezier(.19, 1, .22, 1)!important;
    border: none!important
}
.iScrollVerticalScrollbar {
    width: 5px!important
}
#top {
    height: calc(100vh - 50px);
    overflow: hidden;
    position: relative
}
#topImg {
    width: 100%;
    height: 100%;
    overflow: hidden;
    perspective: 1500px
}
#topImg .t_container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#topImg .t_container {
    -webkit-transform-origin-x: 43%;
    transform-origin-x: 43%
}
#topImg .t_container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    left: 0;
    top: 0
}
#topCenter {
    display: flex;
    align-items: center;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%
}
#topVeil {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: .25;
    z-index: 1
}
#sectionTitle {
    position: absolute;
    top: 30%;
    left: 165px;
    min-width: 620px;
    z-index: 9
}
#sectionName {
    color: #fff;
    font-size: 80px;
    letter-spacing: -5px;
    overflow: hidden;
    font-weight: 700;
    line-height: 2;
    text-shadow: 0 1px 20px rgb(0 0 0 / 30%)
}
#motion-sensor {
    margin-top: 75px
}
.motion-sensor-mobile {
    display: none
}
#sectionTitle.bottom {
    top: auto;
    bottom: 120px
}
#sectionTitleLine {
    width: 85px;
    height: 2px;
    margin-top: 35px;
    position: relative
}
#sectionTitleLine {
    width: 95px;
    height: 2px;
    margin-top: 0;
    position: relative;
    margin-left: 6vw
}
#sectionTitleLineInner {
    background: #fff;
    transform-origin: left;
    position: absolute;
    width: 100%;
    height: 100%
}
#sectionTitlePay {
    margin-top: 30px;
    max-width: 850px;
    padding-left: 6vw
}
#sectionTitlePay p {
    color: #fff;
    font-size: 38px;
    letter-spacing: 2px;
    line-height: 1.5;
    text-shadow: 0 1px 20px rgb(0 0 0 / 30%)
}
.sectionTitleChar {
    display: inline-block
}
.sectionTitleChar span {
    display: block;
    will-change: transform
}
.transform_all {
    -webkit-transition-property: all!important;
    transition-property: all!important
}
.no_transform {
    -webkit-transform: none!important;
    -moz-transform: none!important;
    -o-transform: none!important;
    transform: none!important
}
.no_opacity {
    opacity: 0!important;
    pointer-events: none!important
}
.no_visibility {
    visibility: hidden;
    pointer-events: none
}
.no_width {
    transform: scale(0, 1)!important
}
.no_height {
    transform: scale(1, 0)!important
}
.full_height {
    height: 100%
}
.full_width {
    width: 100%
}
.absolute {
    position: absolute;
    top: 0;
    left: 0
}
.relative {
    position: relative
}
.top_single {
    opacity: 0!important;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    pointer-events: none
}
.top_single.less {
    opacity: 0!important;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    pointer-events: none
}
.bottom_single {
    opacity: 0!important;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
    pointer-events: none
}
.top_double {
    opacity: 0!important;
    -webkit-transform: translateY(80px);
    transform: translateY(80px);
    pointer-events: none
}
.from_bottom {
    opacity: 0!important;
    -webkit-transform: translateY(200px);
    transform: translateY(200px);
    pointer-events: none
}
.from_bottom.full_opacity {
    opacity: 1!important
}
.left_single {
    opacity: 0!important;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
    pointer-events: none
}
.right_single {
    opacity: 0!important;
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
    pointer-events: none
}
.top_hidden {
    -webkit-transform: translateY(101%);
    transform: translateY(101%)
}
.t_container {
    transform: translateX(0);
    height: 100%
}
.t_container:nth-child(2) {
    transition-delay: .1s
}
.left_hidden {
    transform: translateX(50%)
}
.left_hidden.full {
    transform: translateX(-100%)
}
.left_hidden .t_container {
    transform: translateX(-100%)
}
.left_hidden.full .t_container {
    transform: translateX(100%)
}
.tm_hidden {
    transform: scale(1.03) translateY(-100%)
}
.tm_hidden.no_scaling {
    transform: translateY(-100%)
}
.left_hidden > .t_container > .mask_container, .left_hidden > .t_container > img {
    transform: scale(1.05)
}
.tm_hidden .t_container {
    transform: translateY(100%)
}
.right_hidden {
    transform: translateX(-50%)
}
.right_hidden .t_container {
    transform: translateX(100%)
}
.top_translated {
    -webkit-transform: translateY(300px);
    transform: translateY(300px)
}
.top_translated_less {
    -webkit-transform: translateY(150px);
    transform: translateY(150px)
}
.top_translated_full {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}
.left_translated {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0
}
.bottom_hidden {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}
.hidden_by_scaling_full {
    -webkit-transform: scale(0)!important;
    transform: scale(0)!important;
    pointer-events: none
}
.hidden_by_scaling {
    -webkit-transform: scale(.5)!important;
    transform: scale(.5)!important;
    pointer-events: none;
    opacity: 0
}
.hidden_by_scaling_low {
    -webkit-transform: scale(.95)!important;
    transform: scale(.95)!important;
    pointer-events: none!important;
    opacity: 0!important
}
.hidden_by_scaling_ultralow {
    -webkit-transform: scale(.98)!important;
    transform: scale(.98)!important;
    pointer-events: none;
    opacity: 0
}
.hidden_by_scale_up {
    -webkit-transform: scale(1.05)!important;
    transform: scale(1.05)!important;
    pointer-events: none;
    opacity: 0
}
.hidden_from_left {
    transform: translateX(-20px);
    opacity: 0
}
.hidden_from_right {
    transform: translateX(20px);
    opacity: 0
}
.no_overflow {
    overflow: hidden
}
.no_transition {
    -webkit-transition: none!important;
    transition: none!important
}
.upflow, .upflowBig, .upflowSmall {
    display: block;
    transform: translate3d(0, 0, 0)
}
.mobile_only {
    display: none
}
.panel.mobile_only {
    display: none!important
}
.text_left {
    text-align: left!important
}
.text_center {
    text-align: center!important
}
.text_right {
    text-align: right!important
}
.italic {
    font-style: italic
}
article {
    min-height: 500px
}
.no_margin_top {
    margin-top: 0
}
.half {
    width: 50%
}
.half:only-child {
    width: 100%
}
.quarter {
    width: 25%
}
.break {
    margin-top: 70px
}
.double_break {
    margin-top: 140px
}
.singleMarginTop {
    margin-top: 3vw
}
.triple_break {
    margin-top: 210px
}
.toUppercase {
    text-transform: uppercase
}
.less_break {
    margin-top: 30px
}
.small_margin {
    margin-top: 10px
}
h1, h2, h3, h4 {
    font-weight: 400
}
.cover {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: inherit;
    left: calc(-100% - 1px);
    top: 0;
}
.cover.white {
    background: #FFF
}
.cover.m_hidden {
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}
.covered {
    overflow: hidden;
    position: relative;
    will-change: transform;
}
.has_transition_600_quint {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.215, .61, .355, 1), opacity .6s cubic-bezier(.23, 1, .32, 1);
    transition: transform .6s cubic-bezier(.215, .61, .355, 1), opacity .6s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_800_quint {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1), opacity .8s cubic-bezier(.23, 1, .32, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1), opacity .8s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1000_quint {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1), opacity 1s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1300_quint {
    -webkit-transition: -webkit-transform 1.3s cubic-bezier(.215, .61, .355, 1), opacity .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1.3s cubic-bezier(.215, .61, .355, 1), opacity .8s cubic-bezier(.215, .61, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1800_quint {
    -webkit-transition: -webkit-transform 1.8s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1.8s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2000_quint {
    -webkit-transition: -webkit-transform 2s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 2s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2500_quint {
    -webkit-transition: -webkit-transform 2.5s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 2.5s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3000_quint {
    -webkit-transition: -webkit-transform 3s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 3s cubic-bezier(.23, 1, .32, 1), opacity 1.5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_4000_quint {
    -webkit-transition: -webkit-transform 4s cubic-bezier(.23, 1, .32, 1), opacity 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 4s cubic-bezier(.23, 1, .32, 1), opacity 1s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3000_quad {
    -webkit-transition: -webkit-transform 3s cubic-bezier(.25, .46, .45, .94), opacity 1.5s cubic-bezier(.25, .46, .45, .94);
    transition: transform 3s cubic-bezier(.25, .46, .45, .94), opacity 1.5s cubic-bezier(.25, .46, .45, .94);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_5000_quint {
    -webkit-transition: -webkit-transform 5s cubic-bezier(.23, 1, .32, 1), opacity 5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 5s cubic-bezier(.23, 1, .32, 1), opacity 5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_600 {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
    transition: transform .6s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1200 {
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(.19, 1, .22, 1), opacity 1.2s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1), opacity 1.2s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1600 {
    -webkit-transition: -webkit-transform 1.6s cubic-bezier(.19, 1, .22, 1), opacity 1.6s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1.6s cubic-bezier(.19, 1, .22, 1), opacity 1.6s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1800 {
    -webkit-transition: -webkit-transform 1.8s cubic-bezier(.19, 1, .22, 1), opacity 1.8s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1.8s cubic-bezier(.19, 1, .22, 1), opacity 1.8s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2000 {
    -webkit-transition: -webkit-transform 2s cubic-bezier(.215, .61, .355, 1), opacity 1.5s cubic-bezier(.215, .61, .355, 1);
    transition: transform 2s cubic-bezier(.215, .61, .355, 1), opacity 1.5s cubic-bezier(.215, .61, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2500 {
    -webkit-transition: -webkit-transform 2.5s cubic-bezier(.19, 1, .22, 1), opacity 2s cubic-bezier(.19, 1, .22, 1);
    transition: transform 2.5s cubic-bezier(.19, 1, .22, 1), opacity 2s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3000 {
    -webkit-transition: -webkit-transform 3s cubic-bezier(.19, 1, .22, 1), opacity 1.5s cubic-bezier(.19, 1, .22, 1);
    transition: transform 3s cubic-bezier(.19, 1, .22, 1), opacity 1.5s cubic-bezier(.19, 1, .22, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3500 {
    -webkit-transition: -webkit-transform 3.5s cubic-bezier(.19, 1, .22, 1), opacity 4.5s cubic-bezier(.25, .46, .45, .94);
    transition: transform 3.5s cubic-bezier(.19, 1, .22, 1), opacity 4.5s cubic-bezier(.25, .46, .45, .94);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_5000 {
    -webkit-transition: -webkit-transform 5s cubic-bezier(.19, 1, .22, 1), opacity 2s cubic-bezier(.25, .46, .45, .94);
    transition: transform 5s cubic-bezier(.19, 1, .22, 1), opacity 2s cubic-bezier(.25, .46, .45, .94);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_6000 {
    -webkit-transition: -webkit-transform 6s cubic-bezier(.19, 1, .22, 1), opacity 6s cubic-bezier(.25, .46, .45, .94);
    transition: transform 6s cubic-bezier(.19, 1, .22, 1), opacity 6s cubic-bezier(.25, .46, .45, .94);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1000_inout_quint {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.645, .045, .355, 1), opacity 1s cubic-bezier(.645, .045, .355, 1);
    transition: transform 1s cubic-bezier(.645, .045, .355, 1), opacity 1s cubic-bezier(.645, .045, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1500_inout_quint {
    -webkit-transition: -webkit-transform 1.5s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    transition: transform 1.5s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2000_inout_quint {
    -webkit-transition: -webkit-transform 2s cubic-bezier(.645, .045, .355, 1), opacity 1s cubic-bezier(.645, .045, .355, 1);
    transition: transform 2s cubic-bezier(.645, .045, .355, 1), opacity 1s cubic-bezier(.645, .045, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_2500_inout_quint {
    -webkit-transition: -webkit-transform 2.5s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    transition: transform 2.5s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3000_inout_quint {
    -webkit-transition: -webkit-transform 3s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    transition: transform 3s cubic-bezier(.645, .045, .355, 1), opacity 1.5s cubic-bezier(.645, .045, .355, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_600_inout {
    -webkit-transition: -webkit-transform .6s cubic-bezier(.575, .005, .285, 1.005), opacity .6s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform .6s cubic-bezier(.575, .005, .285, 1.005), opacity .6s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_800_inout {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.575, .005, .285, 1.005), opacity .8s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform .8s cubic-bezier(.575, .005, .285, 1.005), opacity .8s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_1500_inout {
    -webkit-transition: -webkit-transform 1.5s cubic-bezier(.575, .005, .285, 1.005), opacity 1.5s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform 1.5s cubic-bezier(.575, .005, .285, 1.005), opacity 1.5s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3000_inout {
    -webkit-transition: -webkit-transform 3s cubic-bezier(.575, .005, .285, 1.005), opacity 3s cubic-bezier(.575, .005, .285, 1.005);
    transition: transform 3s cubic-bezier(.575, .005, .285, 1.005), opacity 3s cubic-bezier(.575, .005, .285, 1.005);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.has_transition_3500_inout {
    -webkit-transition: -webkit-transform 3.5s cubic-bezier(.86, 0, .070, 1), opacity 3.5s cubic-bezier(.86, 0, .070, 1);
    transition: transform 3.5s cubic-bezier(.86, 0, .070, 1), opacity 3.5s cubic-bezier(.86, 0, .070, 1);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.scroll_transition {
    -webkit-transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1.5s cubic-bezier(.23, 1, .32, 1);
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}
.native-scroll .scroll_transition {
    transition: none;
    -webkit-transition: none
}
#revealer {
    z-index: 3;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    pointer-events: none;
    will-change: transform
}
.rev_layer {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    will-change: transform;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    backface-visibility: hidden
}
.rev_layer.covering {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}
#layer_1 {
    background: #fff
}
#layer_2 {
    background: #fff;
    z-index: 1
}
#layer_1.in {
    -webkit-animation: layerIn 1s cubic-bezier(.645, .045, .355, 1) forwards;
    animation: layerIn 1s cubic-bezier(.645, .045, .355, 1) forwards;
    transform-origin: left;
    -webkit-transform-origin: left
}
#layer_1.out {
    display: none
}
#layer_2.in {
    -webkit-animation: layerIn 1s cubic-bezier(.645, .045, .355, 1) .2s forwards;
    animation: layerIn 1s cubic-bezier(.645, .045, .355, 1) .2s forwards;
    transform-origin: left;
    -webkit-transform-origin: left
}
#layer_2.out {
    -webkit-animation: layerOut .8s cubic-bezier(.645, .045, .355, 1) forwards;
    animation: layerOut .8s cubic-bezier(.645, .045, .355, 1) forwards;
    transform-origin: left;
    -webkit-transform-origin: left;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}
@-webkit-keyframes layerIn {
    0% {
        -webkit-transform: translateX(-100%)
    }
    100% {
        -webkit-transform: translateX(0)
    }
}
@keyframes layerIn {
    0% {
        transform: translateX(-100%)
    }
    100% {
        transform: translateX(0)
    }
}
@-webkit-keyframes layerOut {
    0% {
        -webkit-transform: translateX(0)
    }
    100% {
        -webkit-transform: translateX(100%)
    }
}
@keyframes layerOut {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(100%)
    }
}
.slider > div {
    position: relative
}
.slider .add, .slider .subtract {
    cursor: pointer
}
.slider .counter {
    overflow: hidden;
    height: 28px
}
.counter span {
    background: 0 0;
    border: none;
    color: #fff;
    font-size: 21px;
    font-weight: 300;
    text-align: center
}
.counterContainer {
    display: flex;
    flex-direction: column
}
.addIcon, .subtractIcon {
    width: 20px;
    height: 20px;
    position: relative;
    padding: 10px
}
.addLine1 {
    width: 20px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 19px
}
.addLine2 {
    width: 1px;
    height: 20px;
    background: #fff;
    position: absolute;
    top: 10px;
    left: 19px
}
.subtractIcon .line {
    width: 20px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 19px
}
.confirmButton {
    background: #fff;
    padding: 12px 40px;
    font-weight: 700
}
.overlay_layer {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 5;
    display: flex
}
.overlay_layer.hidden {
    display: none
}
.overlay_layer > .white_back {
    width: 100%;
    height: 100%;
    position: absolute
}
#functions-pictos .right_panel, .overlay_layer .left_panel {
    z-index: 1;
    position: relative
}
.overlay_layer .left_panel {
    float: left;
    width: 20vw;
    height: 100%;
    background: linear-gradient(142.74deg, #0079c5 13.33%, #e3fcea 100.68%, #dffee6 100.69%);
    display: flex;
    align-items: center;
    justify-content: center
}
.overlay_layer .left_panel.hidden {
    transform: translateX(-100%)
}
.overlay_layer .left_panel h2 {
    color: #fff;
    font-size: 25px;
    line-height: 1.5
}
.overlay_layer .left_panel h2 span {
    font-weight: 700;
     font-size: 31px;
    letter-spacing: .65px;
}
.tech_side {
    cursor: pointer;
    font-size: 17px;
    color: #000
}
#tech_interface.overlay_layer .left_panel h2 span {
    font-size: 35px;
    letter-spacing: .35px
}
#tech_interface .right_panel {
    z-index: 1;
    position: relative
}
#tech_interface .right_panel .tech_table {
    font-size: 14px;
    overflow-y: auto;
    margin-top: 85px;
    margin-bottom: 65px;
    width: 100%
}
#tech_interface .right_panel .tech_table table {
    width: 100%
}
#tech_interface .right_panel .tech_table::-webkit-scrollbar, .right_panel #advantages-pictos-2::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 1px;
    height: 5px;
    width: 5px;
    border-radius: 3px
}
#tech_interface .right_panel .tech_table::-webkit-scrollbar-track, .right_panel #advantages-pictos-2::-webkit-scrollbar-track {
    background-color: transparent!important
}
#tech_interface .right_panel .tech_table::-webkit-scrollbar-thumb, .right_panel #advantages-pictos-2::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .5);
    border-radius: 3px
}
#tech_interface .right_panel .tech_table th {
    padding: 15px;
    background: #eee;
    border-right: 1px solid #fff;
    text-align: center
}
#tech_interface .right_panel .tech_table td {
    padding: 7px 25px 7px 5px;
    text-align: left
}
#tech_interface .right_panel .tech_table tr td {
    border: 1px solid #eee
}
.overlay_layer .right_panel {
    width: 80vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 25px;
    padding-right: 25px
}
.overlay_close {
    position: absolute;
    top: 20px;
    right: 36px;
    width: 25px;
    height: 25px;
    padding: 20px;
    cursor: pointer
}
.overlay_close .menu_close {
    width: 25px;
    height: 25px;
    position: absolute;
    right: auto;
    top: auto;
    transform: rotateZ(45deg)
}
.white_back {
    background: #fff
}
.menu_close .line_1 {
    width: 30px;
    height: 1px;
    background: #adafb3;
    top: 50%;
    position: relative
}
.menu_close .line_2 {
    height: 30px;
    width: 1px;
    background: #adafb3;
    top: 50%;
    position: relative;
    margin-top: -15px;
    margin-left: 15px
}
#main_slider {
    min-height: 100%
}
#main_slider {
    position: relative;
    z-index: 1;
    height: 100vh;
    -webkit-transition: -webkit-transform 1.4s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1.4s cubic-bezier(.19, 1, .22, 1);
    will-change: transform;
    backface-visibility: hidden
}
.slider.hidden {
    -webkit-transform: translateX(-20%);
    transform: translateX(-20%);
    opacity: 0;
    pointer-events: none
}
.slides_wrap {
    overflow: hidden;
    z-index: 0;
    position: relative;
    width: 100%;
    height: 100%
}
#main_slider .slide.active {
    opacity: 1;
    z-index: 2
}
#main_slider .slide.out {
    opacity: 1;
    z-index: 1
}
#main_slider .slide {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    opacity: 1;
    backface-visibility: hidden;
    will-change: transform
}
#main_slider .slide img {
    will-change: transform;
    backface-visibility: hidden;
    height: 100%;
    object-fit: cover
}
.slider_controller {
    float: right;
    position: absolute;
    right: 0;
    bottom: 75px;
    width: 160px;
    z-index: 3;
    will-change: transform;
    backface-visibility: hidden
}
#gallery_controller {
    padding-left: 50px
}
.slider_controller .item:first-child {
    margin-top: 0
}
.slider_controller .item:first-child {
    margin-top: 0
}
.slider_controller .item {
    padding: 15px 0;
    position: relative;
    will-change: transform;
    cursor: pointer;
    min-height: 10px;
    backface-visibility: hidden
}
.slider_controller .line {
    width: 43px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 25px;
    right: 0;
    -webkit-transition: all 5s cubic-bezier(.25, .25, .75, .75);
    transition: all 5s cubic-bezier(.25, .25, .75, .75);
    -webkit-transform-origin: right;
    transform-origin: right;
    will-change: transform;
    backface-visibility: hidden
}
.dark_theme .line {
    background: #666!important
}
.dark_theme .circle {
    background: #666!important
}
.slider_controller .circle + .line {
    top: 20px
}
.slider_controller .item.out .line {
    -webkit-transition: all .8s cubic-bezier(.86, 0, .070, 1);
    transition: all .8s cubic-bezier(.86, 0, .070, 1)
}
.slider_controller .letter {
    font-weight: 700;
    color: #fff;
    opacity: .5;
    font-size: 23px;
    will-change: transform;
    backface-visibility: hidden;
    text-shadow: 0 1px 20px rgb(0 0 0 / 30%)
}
.slider_controller .circle {
    background: #fff;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    position: absolute;
    top: 17px;
    left: 5px;
    opacity: .4
}
.slider_controller .circle.hidden {
    -webkit-transform: scale(0);
    transform: scale(0)
}
.slider_controller .letter.hidden {
    -webkit-transform: translateX(-20%);
    transform: translateX(-20%);
    opacity: 0!important
}
.slider_controller .item.active .line {
    -webkit-transition: all .8s cubic-bezier(.86, 0, .070, 1);
    transition: all .8s cubic-bezier(.86, 0, .070, 1)
}
.slider_controller .item.active .letter {
    opacity: 1
}
.slider_controller .item.active .circle {
    opacity: 1
}
.slides_wrap {
    overflow: hidden;
    z-index: 0;
    position: relative;
    width: 100%;
    height: 100%
}
.in {
    -webkit-animation: slideIn 3s cubic-bezier(.19, 1, .22, 1) forwards;
    animation: slideIn 3s cubic-bezier(.19, 1, .22, 1) forwards
}
.in img {
    -webkit-animation: imgIn 3s cubic-bezier(.19, 1, .22, 1) forwards;
    animation: imgIn 3s cubic-bezier(.19, 1, .22, 1) forwards
}
@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: translateX(-100vw);
        opacity: 1
    }
    100% {
        -webkit-transform: translateX(0);
        opacity: 1
    }
}
@keyframes slideIn {
    0% {
        transform: translateX(-100vw);
        opacity: 1
    }
    100% {
        transform: translateX(0);
        opacity: 1
    }
}
@-webkit-keyframes imgIn {
    0% {
        -webkit-transform: translateX(99vw);
        opacity: 1
    }
    100% {
        -webkit-transform: translateX(0);
        opacity: 1
    }
}
@keyframes imgIn {
    0% {
        transform: translateX(99vw);
        opacity: 1
    }
    100% {
        transform: translateX(0);
        opacity: 1
    }
}
#main_slider .slide.out {
    opacity: 1;
    z-index: 1
}
#sky {
    width: 100%;
    height: 45%;
    position: absolute;
    top: 0
}
.pay {
    position: absolute;
    width: 100%;
    overflow: hidden;
    top: 50%;
    z-index: 2;
    height: 101px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -50px
}
.pay_back {
    position: absolute;
    left: 50%;
    margin-left: -600px;
    top: 0;
    display: none
}
.pay h2 {
    color: #fff;
    font-size: 40px;
    text-shadow: 0 0 8px #000;
    letter-spacing: 1px;
    text-align: center;
    margin-left: 7px
}
.small_text {
    width: 225px
}
.small_text p {
    font-size: 32px
}
.gold {
    color: #c49f59
}
.small_text p > span {
    display: inline-block
}
.home_centered_text {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1030px;
    margin-top: 100px
}
.home_centered_text p {
    font-size: 32px;
    line-height: 1.5;
    color: #1f6b9a;
    font-weight: 300
}
.cardTop {
    display: flex
}
.cardText {
    width: 25%;
    max-width: 600px;
    box-sizing: border-box;
    padding-left: 100px
}
#welcomeBox .cardText {
    min-height: 350px
}
.cardTextTitled .cardText.body_text p {
    font-size: 22px;
    line-height: 32px
}
.cardTextTitled {
    width: 32%;
    padding: 0 50px;
    max-width: 600px;
    box-sizing: border-box
}
.cardTextTitled .cardText {
    width: 100%;
    padding-right: 0;
    max-width: none;
    margin-top: 40%;
    margin-bottom: 60%
}
.cardTextTitled .small_text {
    width: 100%
}
.cardText p {
    max-width: 345px
}
.body_text.limit {
    max-width: 715px
}
.body_text.limit p {
   font-size:21px;
}
.body_text p {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 15px
}
.body_closing {
    position: absolute;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: 108%;
    align-items: flex-end
}
.bodyClosingLine {
    width: 120%;
    background: #333;
    height: 1px
}
.body_text.spaced p {
    letter-spacing: 2px
}
.cardBottom {
    background: linear-gradient(173deg, #0079c5 13.33%, #e3fcea 100.68%, #dffee6 100.69%);
    margin-top: 140px;
    padding: 50px 0 50px;
    display: flex
}
.cardContainer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    position: relative;
    box-sizing: border-box
}
.cardContainer h1 {
    font-size: 100px;
    margin-right: 0;
    position: relative;
    color: #e7d9bd;
    z-index: 2
}
.cardSlider {
    top: 0;
    position: absolute;
    width: 100%;
    right: -235px;
    will-change: transform
}
#welcomeSlider .slide_container {
    top: 2vw
}
.slide_container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    will-change: transform
}
.cardSliderController {
    display: flex;
    flex-direction: column;
    width: 32%;
    padding-left: 50px;
    padding-right: 60px;
    max-width: 600px;
    box-sizing: border-box;
    z-index: 1
}
.cardSliderControllerSpacer {
    width: 68%;
    flex: 1
}
.circleCounter {
    align-self: flex-end;
    background: #fff;
    width: 66px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 66px;
    position: relative;
    border-radius: 50%;
    box-sizing: unset!important;
    z-index: 1;
    box-shadow: 0 5px 15px rgb(0 0 0 / 13%)
}
.circleCounter.has_hover {
    cursor: pointer
}
.card.withSlider.right .circleCounter {
    align-self: flex-start;
    margin-right: 0
}
.card.withSlider.right .sliderList {
    margin-left: 0;
    align-self: flex-end;
    margin-right: 40%
}
.card.withSlider.right .sliderList .line {
    left: -550px
}
.card.withSlider.right .cardSliderController {
    padding-right: 0;
    padding-left: 50px
}
.sliderList .line {
    position: absolute;
    width: 300px;
    height: 1px;
    background: #fff;
    top: 12px;
    left: 185px
}
.circleHandle, .circleTrack {
    height: 70px;
    width: 70px;
    position: absolute;
    left: -2px;
    top: -2px;
    transform: rotateZ(-90deg)
}
.circleTrack circle.hidden {
    stroke-dasharray: 204;
    stroke-dashoffset: 204
}
.circleTrack circle {
    stroke-dasharray: 204;
    stroke-dashoffset: 0
}
.circleHandle circle {
    stroke-dasharray: 220;
    stroke-dashoffset: 220
}
.circleCounter.timer .circleHandle circle {
    stroke-dashoffset: 0!important;
    transition-duration: 5s;
    transition-timing-function: linear
}
.gallery_container .circleCounter.timer .circleHandle circle {
    transition-duration: 2s
}
.circleArrow {
    height: 10px;
    width: 14px;
    z-index: 1;
    stroke-dasharray: 14;
    stroke-dashoffset: 0
}
.circleArrow path.hidden {
    stroke-dasharray: 14;
    stroke-dashoffset: 14
}
.sliderTitle {
    letter-spacing: 1px;
    font-size: 22px;
    font-weight: 700;
    color: #fff
}
.sliderElements {
    margin-top: 15px
}
.sliderElements li {
    color: #fff;
    font-size: 20px;
    padding: 10px 0;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    letter-spacing: 1px
}
.sliderList {
    margin-left: 60px;
    margin-top: 40px;
    position: relative
}
.arrow {
    margin-right: 10px;
    transform: translateX(-3px) translateY(-5px) rotateZ(30deg);
    opacity: 0;
    display: inline-block
}
.sliderElements li.active .arrow {
    transform: none;
    opacity: 1
}
.arrow img {
    margin-top: -1px
}
.numberCounter {
    font-weight: 700;
    font-size: 26px;
    overflow: hidden;
    height: 26px
}
.numberContainer {
    display: flex;
    flex-direction: column
}
#outdoor {
    padding-top: 95px;
    padding-bottom: 0
}
#advantages-pictos .sectionTitleLeft .sectionTitleContent, #instructions .sectionTitleLeft .sectionTitleContent, #three-advs > div > div {
    width: 100%;
    max-width: 100%
}
#intro_text {
    padding-top:15vw;
}
#intro_text .sectionDoublePaddedContainer {
    padding: 8vw 15vw 5vw 15vw;
}
#intro_text  .sectionDoublePaddedContainer .half {
    padding: 2.5vw;
}
#intro_text  .sectionDoublePaddedContainer .half.text {
 
    justify-content: flex-start;
}
#intro_text .sectionDoublePaddedContainer .body_text p {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 0;
}
#three-advs {
   
}
#advantages-pictos .resSectionLine, #instructions .resSectionLine, #three-advs .resSectionLine {
    max-width: 40%
}
#advantages-pictos .resSectionLine, #instructions .resSectionLine, #three-advs .resSectionLine {
    margin-left: auto;
    margin-right: auto
}
#advantages-pictos {
    padding-top: 100px;
    padding-bottom: 100px
}
.advantages-icons {
    padding: 3vw;
    display: flex
}
#outdoorBlockComposition {
    position: relative
}
#greyBG {
    position: relative;
    width: 65%;
    z-index: -1
}
#outdoorBlockPic {
    position: absolute;
    bottom: 70px;
    right: 0;
    width: 69.9%
}
#outdoorBlockLabel {
    position: absolute;
    left: 60%;
    top: 0;
    height: 20.9vw;
    display: flex;
    flex-direction: column;
    justify-content: center
}
#outdoorBlockLabel div {
    position: relative;
    overflow: hidden
}
#outdoorBlockLabel span {
    color: #acacb2;
    font-size: 50px;
    letter-spacing: 10px;
    display: block
}
#outdoorBlockLabel .complimentary span {
    color: #000;
    letter-spacing: 9px;
    margin-bottom: 9px
}
#outdoorBlockLabel .cover {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #d0d0d0;
    top: 0;
    transform-origin: left;
    transform: translateX(100%)
}
#outdoorBlockLabel .cover.hidden {
    transform: translateX(-100%)
}
#outdoorBlockLabel .complimentary .cover {
    background: #000
}
.plate {
    position: absolute;
    top: 35vw;
    left: 20vw;
    height: 18vw;
    width: 26vw;
    min-width: 425px;
    cursor: pointer
}
.plate .inner {
    padding: 0 40px 40px 20px;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}
.plateBackground {
    background: #4dabc0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: top
}
.plateTitle {
    font-style: italic;
    color: #fff;
    font-size: 30px;
    font-family: Garamond, Ed Garamond;
    z-index: 1
}
.plateLine {
    width: calc(100% - 56px);
    height: 1px;
    background: #fff;
    z-index: 1;
    transform-origin: left
}
.platePlusSymbol {
    width: 13px;
    height: 13px;
    position: absolute;
    left: 43px
}
.platePlusSymbol .line._1 {
    width: 100%;
    height: 1px;
    background: #fff
}
.platePlusSymbol .line._2 {
    width: 1px;
    height: 13px;
    background: #fff;
    position: absolute;
    top: -6px;
    left: 6px
}
.plateCenter {
    display: flex;
    position: relative;
    margin-top: 10px;
    margin-bottom: 10px
}
.platePlusButton {
    position: relative;
    width: 70px
}
.platePlusButton .circleTrack circle {
    stroke-dasharray: 204;
    stroke-dashoffset: 204
}
.plate:hover .circleTrack circle {
    stroke-dashoffset: 0
}
.platePlusButton .circleTrack {
    height: 70px;
    width: 70px;
    position: absolute;
    left: 15px;
    top: -35px
}
.plateSub {
    color: #fff;
    font-size: 20px;
    letter-spacing: 3px;
    z-index: 1
}
.ocraPanel {
    width: 26vw;
    height: 78.2vw;
    background: #dfc386;
    z-index: 1;
    position: relative
}
.gallery_slider {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 0
}
.gallery_slider img {
    width:100%!important;
    margin-left: 0!important;
    object-fit: cover;
}

.pic_big {
    position: absolute;
    height: 100%;
    overflow: hidden;
    width: 100%
}
.pic_big.active {
    z-index: 1
}
.gallery_container {
    width: 100%;
    position: relative;
    height: 47.24vw;
    will-change: transform
}
.gallery_container .slide_container {
    height: 100%
}
.gallery_controller {
    position: absolute;
    top: 50%;
    display: flex;
    width: 100%;
    left: 50%;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 2;
    pointer-events: none;
    transform: translate(-50%, -50%)
}
.isFullscreen .gallery_container {
    width: 100%;
    height: 100%
}
.gallery_controller .circleCounter {
    background: rgba(0, 0, 0, .25)
}
.circleCounter.has_hover:hover .circleHandle circle {
    stroke-dashoffset: 160
}
.buttonLeft .circleCounter {
    transform: rotateY(180deg)
}
.button_left, .button_right {
    cursor: pointer;
    pointer-events: all
}
.button_left .circleCounter, .glide__arrow--left .circleCounter {
    transform: rotateY(180deg)
}
.fullscreenPanel {
    width: 480px;
    height: auto;
    position: absolute;
    top: 70px;
    right: -70px;
    display: flex;
    align-items: center;
    z-index: 2;
    cursor: pointer
}
.fullscreenPanel .inner {
    flex: 1;
    height: 100%;
    display: flex;
    align-items: center
}
.fullscreenBackground {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff;
    position: absolute;
    transform-origin: top
}
.fullScreenPanelContainer {
    position: relative;
    display: flex;
    width: 100%;
    align-items: flex-end;
    padding: 35px 20px;
    box-sizing: border-box
}
.fullscreenPanelLeft, .fullscreenPanelRight {
    width: 50%;
    position: relative
}
.photogalleryLabel {
    color: #bbb;
    font-size: 34px;
    font-style: italic
}
.fullScreenAction {
    color: #bbb;
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 30px;
    margin-left: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}
.fullScreenPanelVerticalLine {
    width: 1px;
    height: 90px;
    background: #bbb;
    position: absolute;
    top: 0;
    transform-origin: top
}
#modelsLineup {
   
    display: flex;
    flex-direction: column;
    align-items: flex-start
}
#modelsLineup .itemSliderSubTitle {
    font-size: 20px;
    margin-top: 20px
}
#modelsLineup .sectionMainTitle {
    margin-bottom: 80px
}
#modelsLineup .itemSliderLeft {
    min-width: 500px
}
#modelsLineup .itemSliderTitle {
    margin-top: 0
}
#modelsLineup .body_text.limit {
    margin-bottom: 75px;
    padding-left: 10vw
}
.sectionContainer {
    margin-left: 220px;
    width: calc(100% - 220px);
    padding-bottom: 3.5vw
}
.sectionMainTitle h3 {
    color: #31313f;
    font-size: 58px;
    font-weight: 700;
    line-height: 1.2
}
.sectionMainTitle.narrow h3 {
    font-size: 78px;
    letter-spacing: 2px
}
.sectionMainTitle.smaller h3 {
    font-size: 38px;
    letter-spacing: 1px
}
.sectionMainTitle.big h3 {
    font-size: 80px;
    color: #c9e0e7
}
.modelsLineupBox {
    display: flex
}
.modelsLineupBoxLeft {
    max-width: 250px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}
.modelsLineupBoxMore {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex: 1
}
.modelsLineupInfo {
    max-width: 90%
}
.trackingBar {
    margin: 50px 0;
    width: 100%;
    position: relative
}
.trackingLine {
    width: 100%;
    height: 1px;
    background: #eee
}
.trackingHandle {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(.25, 1);
    transform-origin: left;
    top: 0
}

#three-d-flow .clubPic {
   width: 53vw;
    height:670px;
}
.clubContainer {
    display: flex;
    position: relative
}
.clubContainer.last {
    padding-bottom: 7.5vw
}
.clubBackground {
    width: 100%;
    position: absolute;
    height: 85%;
    top: 20vw;
    background: #eee;
    z-index: -1
}
.clubLeft {
    width: 53vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end
}
.clubText {
    width: 700px;
    margin-top: 100px
}
.clubDesc {
    position: absolute;
    top: 25vw;
    color: #fff;
    right: 12vw;
    width: 100%;
    max-width: 530px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}
.smallest {
    font-size: 12px!important
}
.clubRight {
    flex: 1
}
.clubLine {
    width: 30vw;
    height: 1px;
    background: #000;
    margin-top: 25px
}
.clubTime {
    font-size: 24px;
    line-height: 1.4;
    color: #333;
    margin-top: 20px
}
.clubTitle {
    text-align: left;
    color: #000;
    font-size: 45px;
    line-height: 1.2;
    font-weight: 700;
    will-change: transform
}
.clubTitle span {
    display: inline-block;
    background: linear-gradient(45deg, #000 33%, #00adef 66%, #16cade);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}
.clubContainer.odd .clubLeft {
    order: 1;
    align-items: flex-start
}
.clubContainer.odd .clubLeft .clubPic {
    position: relative;
    left: -1px
}
.clubContainer.odd .clubDesc {
    left: 8.1vw;
    align-items: flex-start
}
.clubContainer.odd {
    padding-right: 70px
}
.clubContainer.odd .clubText {
    text-align: left
}
.clubDesc.black .clubLine {
    background: #31313f
}
.clubDesc.black .clubTitle {
    color: #31313f
}
.clubDesc.white .clubTitle {
    color: #fff
}
footer {
    background: #1178b7;
    width: 100%;
    margin-left: 0
}
#footerBottom {
    padding: 35px;
    color: #fff;
    font-size: 13px
}
#bottomLeft, #bottomRight {
    line-height: 1.5
}
#footerTop {
    display: flex
}
#footerLeft {
    min-width: 1000px
}
#footerRight {
    flex: 1
}
#footerRight > div {
    border-bottom: 1px solid #428eb3
}
.list {
    display: flex;
    width: 50%
}
.listItems {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}
#contactBox .listItems {
    flex-direction: row;
    width: 100%;
    justify-content: space-between
}
#contactBox .list {
    width: 100%
}
.footerContactText, .listItems a {
    line-height: 25px;
    font-size: 13px
}
footer a, footer li, footer p {
    color: #fff;
    padding: 1px 0;
    position: relative
}
.listTitle {
    align-self: flex-end;
    min-width: 200px;
    display: flex;
    justify-content: flex-end
}
.listSeparator {
    height: auto;
    width: 1px;
    min-width: 1px;
    background: #428eb3;
    margin: 0 15px
}
#footerLeft > div {
    padding: 45px;
    border-bottom: 1px solid #428eb3;
    border-right: 1px solid #428eb3
}
#suiteBox {
    display: flex
}
#footerSuiteList {
    max-width: 335px
}
#contactBox .listItems, #footerSuiteList .listItems {
    padding-bottom: 40px
}
#logoBox {
    display: flex;
    align-items: center;
    height: 418px;
    border-bottom: 1px solid #444;
    justify-content: center
}
#logoContainer {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap
}
.circlePlus {
    border: 2px solid #fff;
    border-radius: 50%;
    min-width: 60px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    padding-bottom: 3px;
    box-sizing: border-box;
    margin-left: 50px
}
.footerCall {
    display: flex;
    align-items: center;
    padding: 0 40px;
    font-size: 15px;
    line-height: 28px;
    height: 50%;
    justify-content: space-between;
    text-transform: uppercase;
    letter-spacing: 1px
}
.footerCall:hover .circleTrack circle {
    stroke-dashoffset: 0
}
#callBox {
    height: 182px
}
#callBox a:first-child {
    border-bottom: 1px solid #428eb3
}
#logoContainer img {
    padding: 20px
}
#footerLeft #linkBox {
    padding: 90px 5vw 90px 5vw
}
#linkBox a {
    font-style: italic;
    white-space: nowrap;
    font-weight: 400;
    position: relative;
    font-size: 28px
}
.footerButton {
    display: flex;
    justify-content: space-between;
    margin-left: 29px;
    position: relative
}
.footerButton .underline {
    max-width: 87px;
    width: 6vw;
    height: 1px;
    background: #ac8e38;
    position: absolute;
    bottom: -8px;
    left: 0
}
#mainMenu {
    position: absolute;
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 15px);
    z-index: 3;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    -webkit-transition: -webkit-transform 1s cubic-bezier(.19, 1, .22, 1), opacity .7s cubic-bezier(.19, 1, .22, 1);
    transition: transform 1s cubic-bezier(.19, 1, .22, 1), opacity .7s cubic-bezier(.19, 1, .22, 1)
}
section.grey {
    background: #eee
}
section.grey.middle {
    background-size: 100% 50%
}
.sectionPaddedContainer {
    padding: 7.5vw;
    padding-bottom: 0
}
.sectionPaddedContainer.morePaddingTop {
    padding-top: 10vw
}
.sectionPaddedContainer.last {
    padding-bottom: 7.5vw
}
.sectionBigTypo span {
    display: block;
    color: #31313f;
    font-size: 28px;
    white-space: nowrap;
    font-weight: 300;
    line-height: 1.5
}
.sectionBigTypo.white span:first-child {
    font-size: 55px
}
.sectionBigTypo.white span {
    color: #fff;
    text-shadow: 0 1px 20px rgb(0 0 0 / 30%)
}
.slidingTypo {
    margin-top: 7.5vw
}
.slidingTypoContainer {
    color: #4ba6de;
    font-size: 75px;
    white-space: nowrap;
    letter-spacing: 2px;
    float: left;
        margin-left: 5.2vw;
}
.underline {
    position: relative;
}

.underline.no-width::before {
      transform: scale3d(0, 1, 1);
    
}
.underline::before {
    content: '';
    position: absolute;
    z-index: 1;
      bottom: -3px;
    background: #0097E0;
    left: 0;
    width: 100%;
    height: 55%;
    opacity: .35;
    transform: scale3d(1, 1, 1);
    transform-origin: 0 50%;
    transition: transform 1s linear;
}
#advantages-pictos .sectionDoublePaddedContainer, #advantages-pictos .sectionDoublePaddedContainer > div, #advantages-pictos-2 > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: center
}
#advantages-pictos .sectionDoublePaddedContainer > div {
    position: relative
}
#advantages-pictos .sectionDoublePaddedContainer > div:before {
    content: '';
    z-index: 9999;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 14em;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 5%, #fff 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, rgba(255, 255, 255, 0)), color-stop(100%, #fff));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 5%, #fff 100%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 5%, #fff 100%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 5%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 5%, #fff 100%)
}
#advantages-pictos-2 > div {
    padding: 3vw
}
#advantages-pictos-2 {
    overflow: scroll
}
#advantages-pictos .half > .icon > img {
    width: 55px;
    height: 55px
}
#advantages-pictos-2 .half > .icon > img {
    width: 50px;
    height: 50px
}
#advantages-pictos .half, #advantages-pictos-2 > div .half {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    padding: 0;
    margin-bottom: 15px
}
#advantages-pictos .half h3, #advantages-pictos-2 > div .half > div > h3 {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 8px
}
#advantages-pictos .half div > span, #advantages-pictos-2 > div .half > div > span {
    font-size: 14px;
    line-height: 1.3
}
#advantages-pictos .half > .icon {
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    border-radius: 6px;
    min-width: 70px;
    width: 70px;
    height: 70px;
    padding: 3px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    box-shadow: 0 5px 15px rgb(0 0 0 / 13%)
}
#advantages-pictos-2 > div > .half > .icon {
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    border-radius: 6px;
    min-width: 60px;
    width: 60px;
    height: 60px;
    padding: 5px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    box-shadow: 0 5px 15px rgb(0 0 0 / 13%)
}
#advantages-pictos .half > div, #advantages-pictos-2 > div .half > div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: center;
    padding-left: 20px;
    padding-right: 30px
}
#roomContent {
    display: flex
}
#rooms .body_text.limit {
    max-width: 400px
}
#roomContentLeft {
    width: 46vw;
    position: relative
}
#roomPic {
    margin-top: 5vw;
    width: calc(100%+ 40px);
    margin-left: -40px
}
#roomContentLabel {
    width: 480px;
    height: 350px;
    position: absolute;
    bottom: 25vw;
    right: -15vw;
    will-change: transform
}
#roomContentLabelBackground {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #c5a053
}
#verticalLabelLine {
    height: 460px;
    width: 1px;
    background: #fff;
    position: absolute;
    top: 60px;
    left: 60px;
    transform-origin: top;
    will-change: transform
}
#roomLabelContent .labels {
    position: absolute;
    bottom: 0;
    left: 174px
}
#roomLabelContent .labels .smallLabel {
    color: #fff;
    position: absolute;
    top: 55px;
    font-size: 34px;
    font-style: italic;
    left: 11px
}
#roomLabelContent .labels .bigLabel {
    font-size: 190px;
    color: #fff
}
#roomContentRight {
    position: relative;
    flex: 1
}
#roomServicesList {
    position: absolute;
    bottom: 0;
    left: 7.5vw
}
#roomServicesList li {
    letter-spacing: 3px;
    font-size: 20px;
    padding: .3vw 0
}
#rooms .verticalTitle {
    margin-left: -40px
}
#rooms .verticalTitle h1 {
    letter-spacing: 16px;
    position: relative;
    top: -15px;
    color: #bbb
}
.flexed {
    display: flex
}
.space_between {
    justify-content: space-between
}
.justify_center {
    justify-content: center
}
.glideContainer {
    overflow: hidden;
    width: 100%;
    position: relative
}
#otherSliderContainer {
    margin-left: 0
}
#index #otherSliderContainer {
    margin-left: 0
}
#otherSliderContainer .glide {
    position: static
}
#otherSliderContainer .itemSliderTitle h2 {
    text-transform: uppercase
}
.itemSliderContainer .itemSliderTitleLine {
    height: 82px
}
.itemSlider {
    max-width: 800px
}
.itemSlider .glide__track {
    overflow: visible
}
.itemSlider .glide__slides {
    overflow: visible
}
.itemSliderContent {
    display: flex
}
.itemSliderPic {
    max-width: 500px;
    width: 100%
}
.itemSliderRight {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: 70px;
    min-width: 500px
}
.itemSliderText .body_text {
    margin-top: 45px
}
.itemSliderMore {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0
}
.list-params {
    padding-left: 0;
    list-style: none;
    margin-top: 15px
}
.list-params__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -moz-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 15px
}
.list-params__lab {
    font-size: 15px;
    display: block;
    padding: 0 7px 0 0
}
.list-params__line {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0;
    -moz-box-flex: 1;
    -ms-flex: 1 0;
    flex: 1 0;
    border-bottom: 1px dotted #c6c7cb;
    height: 4px;
    position: relative;
    top: -2px
}
.list-params__value {
    display: block;
    padding: 0 0 0 7px;
    font-size: 14px
}
.itemSliderArrow {
    background: #fff
}
.itemSliderRight {
    position: relative
}
.div-more {
    position: static;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 45px;
    padding-right: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -webkit-flex: 0 auto;
    -ms-flex: 0 auto;
    flex: 0 auto;
    font-weight: 700;
    opacity: 1;
    transform: translateX(0) translateY(0) translateZ(0);
    transition: opacity 2s cubic-bezier(.785, .135, .15, .86), transform 1s cubic-bezier(.785, .135, .15, .86)
}
.line-cta {
    width: 25px;
    height: 1px;
    margin-right: 10px;
    background-color: #000
}
.link-menu {
    position: relative;
    z-index: 99;
    color: #000;
    font-size: 13px;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
    opacity: 1;
    transform: translateX(0) translateY(0) translateZ(0) skewX(0) skewY(0);
    transition: opacity 1s, transform 1s;
    cursor: pointer
}
.div-sha {
    background: rgba(62, 156, 212, .3);
    position: relative;
    z-index: 1;
    width: 55px;
    height: 25px;
    margin-left: -35px;
    opacity: 1;
    transform: translateX(0) translateY(0) translateZ(0);
    transform-style: preserve-3d;
    transition: opacity 2s cubic-bezier(.785, .135, .15, .86), transform 1s
}
.div-more:hover .link-menu {
    transform: translateX(10px) translateY(0) translateZ(0) skewX(0) skewY(0)
}
.div-more:hover .div-sha {
    transform: translateX(-35px) translateY(0) translateZ(0)
}
.itemSliderRight h2 {
    font-size: 38px;
    letter-spacing: 1px;
    font-weight: 700
}
.itemSliderTitleLine {
    position: absolute;
    height: 80px;
    width: 1px;
    top: 0;
    background: #1f1f1f;
    left: 50px;
    transform-origin: top
}
.itemSliderTitle {
    margin-top: 24px
}
.glideContainer .trackingBar {
    margin-top: 160px;
    margin-bottom: 10px
}
.glide.itemSlider .glide__arrow {
    border: none;
    background: 0 0;
    box-shadow: none;
    bottom: 6px;
    top: auto
}
.glide.itemSlider {
    position: static
}
.otherSliderOuter .sectionPaddedContainer {
    padding-bottom: 3.5vw
}
.half_container {
    display: flex
}
.half.padded {
    padding: 7.5vw;
    box-sizing: border-box
}
.half.padded.motion {
    padding: 2vw;
   
}
.half.grey {
    background: #ccc
}
.half.blue {
    background: #48abc1
}
.half.white {
    background: #fff
}
.half.yellow {
    background: #dfc386
}
.three-controls .third {
    width: 33.33333%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    position: relative
}
.three-controls .third p {
    line-height: 1.5;
    padding-left: 30px;
    font-size: 16px
}
.number {
    position: absolute;
    top: 28px;
    font-size: 160px;
    font-weight: 900;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .06);
    z-index: -1
}
.three-controls {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: center
}
.three-controls h3 {
    font-weight: 700;
    font-size: 32px;
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    margin-bottom: 25px;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}
#three-advs .third {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    padding: 25px
}
#three-advs .third > span {
    display: block;
    text-align: center;
    line-height: 1.5;
    margin-top: 30px;
    font-size: 15px
}
#three-advs .third > img {
    width: 160px;
    height: 160px
}
#advantages-pictos > div, #instructions > div, #three-advs > div {
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto
}
#design-awards > div {
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto;
    width: 50%
}
#design-awards > div > .sectionTitleContent {
    width: 100%;
    max-width: 100%
}
#design-awards .logos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center;
    margin-top: 70px
}
#design-awards {
    padding-top: 250px
}
#design-awards img {
    min-width: 189px
}
#design-awards > div .resSectionTitle {
    font-size: 25px;
    line-height: 1.5;
    color: #1f6b9a;
    font-weight: 300
}
#design-awards > div .resSectionTitle span {
    display: block;
    font-size: 40px;
    margin-bottom: 20px;
    font-weight: 700
}
#three-advs .third > div > img {
    max-width: 100px
}
#three-advs .third > div {
    width: 130px;
    height: 130px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    color: #fff;
    font-weight: 700;
    text-shadow: 0 4px 30px rgb(0 0 0 / 21%);
    font-size: 40px;
    border-radius: 8px;
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    box-shadow: 0 5px 15px rgb(0 0 0 / 13%)
}
#three-advs .third > div > div > span {
    font-weight: 300;
    font-size: 26px;
    display: inline-block;
    margin-bottom: 6px
}
#silent {
      padding-top: 2vw;
    padding-bottom: 0;
}

.c-btn {
    border-radius: 50px;
    box-shadow: 0 5px 16px rgb(0 0 0 / 30%);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    margin-top: 60px;
    color: #fff;
    padding-right: 45px;
    padding-left: 45px;
    line-height: 60px;
    text-transform: uppercase;
    position: relative;
    z-index: 90;
    overflow: hidden;
    max-width: 445px;
    margin-left: auto;
    margin-right: auto;
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    text-decoration: none!important;
    cursor: pointer;
    letter-spacing: 1.5px
}
.c-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -5px auto auto -5px;
    display: block;
    width: 20px;
    height: 10px;
    border-radius: 5px;
    background-color: #fff;
    z-index: -1;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .5s;
    transition: transform .5s
}
.c-btn:hover {
    color: #23527c
}
.c-btn:hover::before, a:hover .c-btn::before {
    -webkit-transform: scale(30);
    transform: scale(30)
}
.giantTypo {
    color: #fff;
    font-size: 110px;
    white-space: nowrap;
    margin-top: 9vw;
    z-index: 1;
    position: relative;
    margin-bottom: 7.5vw
}
.typoPic {
    position: absolute;
    margin-top: -5vw;
    z-index: 999;
    width: 950px;
    height: 550px;
    transform: translate(-50%);
    left: 50%
}
.typoPic > div {
    
    width:100%;
    height:100%;
}
.typoPic video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: rgb(0 0 0 / 30%) 0 50px 120px
}
.sectionBigTypo + .typoPic {
    margin-top: 5vw
}
.centerTextContainer {
    max-width: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%
}
.sectionDoublePaddedContainer {
    display: flex;
    padding: 5vw;
    padding-bottom: 0
}
.half.pic {
    max-width: 480px
}
.sectionPaddedContainer .half.pic {
    max-width: 700px
}
.half.text {
    display: flex;
    flex-direction: column;
    justify-content: center
}
.half.text:last-child {
    align-items: flex-end
}
.half.text.end {
    justify-content: flex-end
}
.half.text.body_text.limit {
    max-width: 460px
}
.downloadContainer {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    justify-content: center
}
.downloadButton {
    width: 100%;
    max-width: 300px;
    height: 170px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}
.downloadButton.taller {
    height: 200px
}
.downloadButton .buttonContent {
    display: flex;
    flex-direction: column;
    align-items: center
}
.typo1 {
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 700
}
.typo2 {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-top: 5px;
    text-align: center
}
.borders {
    position: absolute;
    width: 100%;
    height: 100%
}
.borders > div {
    position: absolute;
    background: #333
}
.borders .top {
    width: 100%;
    height: 1px;
    transform-origin: left;
    top: 0;
    left: 0
}
.borders .bottom {
    width: 100%;
    height: 1px;
    transform-origin: right;
    bottom: 0;
    right: 0
}
.borders .left {
    width: 1px;
    height: 100%;
    transform-origin: bottom;
    bottom: 0;
    left: 0
}
.borders .right {
    width: 1px;
    height: 100%;
    transform-origin: top;
    top: 0;
    right: 0
}
.sectionDoublePaddedContainer .half {
    padding: 5vw 0
}
.circleArrow.down {
    transform: rotateZ(90deg) translateY(.5px);
    margin-top: 30px
}
.half.rightBordered {
    width: calc(50% - 70px)
}
#residential {
    padding-bottom: 0
}
.roleContainer {
    display: flex
}
.rolePic {
    width: 30%;
    display: flex;
    align-items: flex-end;
    position: relative;
}
.rolePic > .voice-control {
    position: absolute;
    width: 190px;
    height: 190px;
    bottom: 0;
    right: 0;
}
.roleDesc {
    flex: 1;
    margin-left: 60px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}
.roleTitle {
    text-align: left;
    color: #000;
    font-size: 60px;
    line-height: 1.2;
    font-weight: 700;
    will-change: transform
}
.roleText {
    text-align: left;
    width: 90%;
    margin-top: 2.5vw;
    will-change: transform
}
.bluevolution {
    position: relative
}
.bluevolution:before {
    position: absolute;
    display: block;
    right: -80px;
    top: -65px;
    width: 210px;
    content: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iRWJlbmVfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1NjkuOCA1MSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTY5LjggNTE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM0MUE2RTQ7fQ0KPC9zdHlsZT4NCjxnPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00NTQuMyw1MC4yaDguNFYzMi42di02Yy0yLjctMC4yLTUuNS0wLjMtOC40LTAuNXY1LjdWNTAuMnoiLz4NCgkJPC9nPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMS40LDUwLjJoMzQuN2M1LjQsMCw5LjctNC42LDEwLTEwLjVjMC0wLjIsMC0wLjQsMC0wLjZ2LTcuM2MwLTAuNC0wLjEtMC45LTAuMS0xLjMNCgkJCWMtMi45LDAuMi01LjcsMC40LTguNCwwLjdjMC4xLDAuMiwwLjIsMC40LDAuMiwwLjZ2Ny4zYzAsMS0wLjgsMS45LTEuNywxLjlIMTEuNGMtMC45LDAtMS43LTAuOS0xLjctMS45di01LjQNCgkJCWMtMywwLjMtNS44LDAuNS04LjMsMC44djEyLjFWNTAuMnoiLz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTM1NC42LDM5LjJjMCw2LjEsNC41LDExLjEsMTAsMTEuMWgyNS41YzUuNiwwLDEwLTUsMTAtMTEuMVYyNy42di00Yy0yLjgtMC4xLTUuNS0wLjItOC40LTAuM3YzLjl2MTINCgkJCWMwLDEtMC43LDEuOS0xLjcsMS45aC0yNS41Yy0wLjksMC0xLjctMC45LTEuNy0xLjlWMjUuN3YtMy4zYy0yLjctMC4xLTUuNS0wLjEtOC4zLTAuMnYzLjJWMzkuMnoiLz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyMy4xLDUwLjJoOC4zVjI5Ljh2LTQuOWMtMi43LTAuMS01LjUtMC4yLTguMy0wLjR2NC42VjUwLjJ6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik05OS42LDM5LjJjMCw2LjEsNC41LDExLjEsMTAsMTEuMUgxMzVjNS42LDAsMTAtNSwxMC0xMS4xdi05Ljh2LTQuOGMtMi44LDAuMS01LjYsMC4yLTguMywwLjRWMzB2OS4yDQoJCQljMCwxLTAuNywxLjktMS43LDEuOWgtMjUuNGMtMC45LDAtMS43LTAuOS0xLjctMS45di02LjZ2LTYuMWMtMi44LDAuMi01LjYsMC4zLTguMywwLjV2Ni41VjM5LjJ6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMjIuNSw1MC4yaDguM2wxMi44LTI1LjZsMS41LTNjLTMuMiwwLTYuNCwwLjEtOS41LDAuMWwtMS41LDMuMWwtNy40LDE1bC03LjEtMTQuNmwtMS42LTMuMg0KCQkJYy0zLjIsMC4xLTYuMywwLjEtOS40LDAuMmwxLjcsMy4zTDIyMi41LDUwLjJ6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTEuMSwzOS4yYzAsNi4xLDQuNSwxMS4xLDEwLDExLjFoMzUuNVY0MWgtMzUuNWMtMC45LDAtMS43LTAuOS0xLjctMS45di05aDM3LjJ2LTMuOXYtMy42DQoJCQljLTE1LjgsMC40LTMxLjEsMS00NS41LDEuNnY0LjZWMzkuMnoiLz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTI1Ny40LDM5LjJjMCw2LjEsNC41LDExLjEsMTAsMTEuMWgyNS41YzUuNiwwLDEwLTUsMTAtMTEuMVYyNC4ydi0yLjhjLTIuOCwwLTUuNSwwLTguMywwdjIuOHYxNQ0KCQkJYzAsMS0wLjgsMS45LTEuNywxLjloLTI1LjVjLTAuOSwwLTEuNy0wLjktMS43LTEuOVYyNC4zdi0yLjljLTIuOCwwLTUuNiwwLTguMywwLjF2Mi45VjM5LjJ6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00NzAuNCwzOS4yYzAsNi4xLDQuNSwxMS4xLDEwLDExLjFoMjUuNWM1LjYsMCwxMC01LDEwLTExLjF2LTAuNXYtOC42Yy0yLjctMC4yLTUuNS0wLjQtOC4zLTAuNnY4LjF2MS42DQoJCQljMCwxLTAuOCwxLjktMS43LDEuOWgtMjUuNWMtMC45LDAtMS43LTAuOS0xLjctMS45di00Ljl2LTYuN2MtMi43LTAuMi01LjUtMC4zLTguMy0wLjV2Ni4zVjM5LjJ6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NjAsNDUuMnY1aDguNHYtMy43di0xMmMtMi42LTAuMi01LjMtMC41LTguNC0wLjhWNDUuMnoiLz4NCgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTUyMi44LDUwLjJoOC4zdi05LjV2LTkuNWMtMi43LTAuMi01LjUtMC41LTguMy0wLjd2OVY1MC4yeiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTQuMywzOS4yYzAsNi4xLDQuNSwxMS4xLDEwLDExLjFoMjkuMVY0MUg2NC4zYy0wLjksMC0xLjctMC45LTEuNy0xLjl2LTEuNnYtOC4yYy0yLjgsMC4yLTUuNiwwLjQtOC40LDAuNg0KCQkJdjguN1YzOS4yeiIvPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzA5LjMsMzkuMmMwLDYuMSw0LjUsMTEuMSwxMCwxMS4xaDI5LjFWNDFoLTI5LjFjLTAuOSwwLTEuNy0wLjktMS43LTEuOVYyNC40di0yLjljLTIuOCwwLTUuNSwwLTguMy0wLjENCgkJCXYyLjhWMzkuMnoiLz4NCgk8L2c+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ3MC40LDM5LjJjMCw2LjEsNC41LDExLjEsMTAsMTEuMWgyNS41YzUuNiwwLDEwLTUsMTAtMTEuMXYtMC41di04LjZjLTIuNy0wLjItNS41LTAuNC04LjMtMC42djguMXYxLjYNCgkJYzAsMS0wLjgsMS45LTEuNywxLjloLTI1LjVjLTAuOSwwLTEuNy0wLjktMS43LTEuOXYtNC45di02LjdjLTIuNy0wLjItNS41LTAuMy04LjMtMC41djYuM1YzOS4yeiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NjAsNDUuMnY1aDguNHYtMy43di0xMmMtMi42LTAuMi01LjMtMC41LTguNC0wLjhWNDUuMnoiLz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTIyLjgsNTAuMmg4LjN2LTkuNXYtOS41Yy0yLjctMC4yLTUuNS0wLjUtOC4zLTAuN3Y5VjUwLjJ6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBkPSJNOS43LDMxLjljMC0xLDAuOC0xLjksMS43LTEuOWgyNC43YzAuNywwLDEuNCwwLjUsMS42LDEuMmMyLjctMC4yLDUuNS0wLjQsOC4zLTAuN2MtMC4zLTIuNy0xLjUtNS4yLTMuMi02LjkNCgkJYzAuNi0xLjQsMS0zLjEsMS00Ljh2LTcuMWMwLTYuMS00LjUtMTEuMS0xMC0xMS4xSDEuNHYzMy43QzQsMzQuMyw2LjgsMzQsOS43LDMzLjdWMzEuOXogTTkuNywxMS45YzAtMSwwLjgtMS45LDEuNy0xLjloMjIuNA0KCQljMC45LDAsMS43LDAuOSwxLjcsMS45djcuMWMwLDEtMC44LDEuOS0xLjcsMS45SDExLjRjLTAuOSwwLTEuNy0wLjktMS43LTEuOVYxMS45eiIvPg0KCTxwYXRoIGQ9Ik0zNjIuOSwwLjhoLTguM3YyMS40YzIuOCwwLjEsNS42LDAuMSw4LjMsMC4yVjAuOHoiLz4NCgk8cGF0aCBkPSJNNDAwLjEsMC44aC04LjR2MjIuNWMyLjgsMC4xLDUuNiwwLjIsOC40LDAuM1YwLjh6Ii8+DQoJPHBhdGggZD0iTTQzMS40LDEwaDE3LjVWMC44aC00My4yVjEwaDE3LjV2MTQuNmMyLjgsMC4xLDUuNiwwLjMsOC4zLDAuNFYxMHoiLz4NCgk8cGF0aCBkPSJNMTQ1LjEsMC44aC04LjN2MjQuMWMyLjctMC4xLDUuNS0wLjMsOC4zLTAuNFYwLjh6Ii8+DQoJPHBhdGggZD0iTTEwNy45LDAuOGgtOC4zdjI2LjFjMi43LTAuMiw1LjUtMC4zLDguMy0wLjVWMC44eiIvPg0KCTxyZWN0IHg9IjQ1NC4zIiB5PSIwLjgiIHdpZHRoPSI4LjQiIGhlaWdodD0iOS4yIi8+DQoJPHBhdGggZD0iTTIwNy40LDAuOGgtOS42bDEwLjcsMjEuNWMzLjEtMC4xLDYuMi0wLjEsOS40LTAuMkwyMDcuNCwwLjh6Ii8+DQoJPHBhdGggZD0iTTI1NS41LDAuOGgtOS42bC0xMC40LDIwLjljMy4xLDAsNi4zLTAuMSw5LjUtMC4xTDI1NS41LDAuOHoiLz4NCgk8cGF0aCBkPSJNMTk2LjYsMTEuOWMwLTYuMS00LjUtMTEuMS0xMC0xMS4xaC0yNS41Yy01LjUsMC0xMCw0LjktMTAsMTEuMXYxMi4zYzE0LjUtMC42LDI5LjctMS4yLDQ1LjUtMS42VjExLjl6IE0xODguMywyMC45aC0yOC45DQoJCXYtOWMwLTEsMC44LTEuOSwxLjctMS45aDI1LjVjMC45LDAsMS43LDAuOSwxLjcsMS45VjIwLjl6Ii8+DQoJPHBhdGggZD0iTTI2NS43LDExLjljMC0xLDAuOC0xLjksMS43LTEuOWgyNS41YzAuOSwwLDEuNywwLjksMS43LDEuOXY5LjVjMi44LDAsNS41LDAsOC4zLDB2LTkuNmMwLTYuMS00LjUtMTEuMS0xMC0xMS4xaC0yNS41DQoJCWMtNS41LDAtMTAsNC45LTEwLDExLjF2OS42YzIuOCwwLDUuNSwwLDguMy0wLjFWMTEuOXoiLz4NCgk8cGF0aCBkPSJNNDc4LjcsMTEuOWMwLTEsMC44LTEuOSwxLjctMS45aDI1LjVjMC45LDAsMS43LDAuOSwxLjcsMS45djE3LjZjMi44LDAuMiw1LjYsMC40LDguMywwLjZWMTEuOWMwLTYuMS00LjUtMTEuMS0xMC0xMS4xDQoJCWgtMjUuNWMtNS41LDAtMTAsNC45LTEwLDExLjFWMjdjMi44LDAuMiw1LjYsMC4zLDguMywwLjVWMTEuOXoiLz4NCgk8cGF0aCBkPSJNNTMxLjEsMTEuOWMwLTEsMC44LTEuOSwxLjctMS45aDI1LjVjMC45LDAsMS43LDAuOSwxLjcsMS45djIxLjljMywwLjMsNS44LDAuNSw4LjQsMC44VjExLjljMC02LjEtNC41LTExLjEtMTAtMTEuMQ0KCQloLTM1LjV2MjkuOGMyLjksMC4yLDUuNiwwLjQsOC4zLDAuN1YxMS45eiIvPg0KCTxwYXRoIGQ9Ik02Mi42LDAuOGgtOC40djExLjF2MTguMWMyLjctMC4yLDUuNS0wLjQsOC40LTAuNlYwLjh6Ii8+DQoJPHBhdGggZD0iTTMxNy43LDAuOGgtOC4zdjExLjF2OS42YzIuOCwwLDUuNiwwLjEsOC4zLDAuMVYwLjh6Ii8+DQoJPHBhdGggZD0iTTQ2Mi43LDE3aC04LjR2OS4xYzIuOCwwLjIsNS42LDAuMyw4LjQsMC41VjE3eiIvPg0KPC9nPg0KPC9zdmc+DQo=)
}
.roleLine {
    width: 100%;
    margin-top: 15px;
    background: #000;
    height: 1px;
    will-change: transform
}
.fullPic {
    width: calc(100% - 70px)
}
.fullPic.frameBorder {
    width: calc(100% - 140px);
    margin-right: 0
}
.sectionContent {
    display: flex;
    padding-top: 5vw;
    width: 100%;
    padding-left: 7.5vw;
    box-sizing: border-box
}
.sectionContent.last {
    padding-bottom: 7.5vw
}
.sectionTitleLeft {
    display: flex;
    box-sizing: border-box;
    width: 38%;
    z-index: 2;
    align-items: center
}
.sectionContentRight {
    flex: 1;
    margin-right: -5vw
}
.resSectionTitle {
    text-align: left;
    color: #000;
    font-size: 50px;
    line-height: 1.2;
    font-weight: 700;
    will-change: transform
}
.resSectionTitle span, .roleTitle span, .sectionMainTitle h3 span {
    display: inline-block;
    background: linear-gradient(45deg, #000 33%, #00adef 66%, #16cade);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}
.resSectionTitle.black {
    color: #000
}
.pult {
    position: absolute;
    width: 210px;
    top: 15.8vw;
    left: 30vw;
}
.pult-cover {
    position: absolute;
    width: 210px;
    top: 31vw;
    left: 30vw
}
.pult img {
    width: 300px
}
#design {
    margin-bottom: 55px;
}
#design .body_text p, #three-d-flow .body_text p  {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 0;
}
.box-shadow {
    box-shadow: 0 50px 120px rgb(0 0 0 / 20%)
}
.resSectionLine {
    width: 44vw;
    height: 1px;
    background: #fff;
    margin-top: 30px
}
.resSectionLine.black {
    background: #111
}
.resSectionLine.gold {
    background: #c5a053
}
.sectionTitleContent {
    width: 90%;
    max-width: 295px
}
.sectionContentRight .gallery_container {
    height: 36.5vw
}
.sectionContent.odd .sectionTitleLeft {
    order: 1
}
.sectionContent.odd .sectionContentRight {
    order: 0
}
.sectionContent.odd .fullscreenPanel {
    left: -7.5vw;
    right: auto
}
.sectionContent.odd .sectionTitleContent {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 5%
}
.mainCta {
    height: 47.5vw;
    pointer-events: none
}
.ctaLabel {
    position: absolute;
    max-width: 48%;
    pointer-events: all
}
.ctaLabel br {
    display: none
}
.ctaPic {
    position: absolute;
    width:100%;
}
.ctaName {
    font-size: 80px;
    letter-spacing: -5px;
    overflow: hidden;
    padding-right: 10px
}
.ctaLine {
    width: 87px;
    height: 1px;
    margin-top: 10px;
    margin-left: 260px;
    transform-origin: left;
    background: #fff
}
.ctaTitlePay {
    font-size: 25px;
    letter-spacing: 2px;
    margin-left: 200px;
    line-height: 1.4
}
.ctaBottom {
    display: flex;
    align-items: center;
    margin-top: 20px
}
.ctaPlus {
    border-radius: 50%;
    min-width: 60px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    box-sizing: border-box;
    color: #000;
    background: #fff;
    box-shadow: 0 5px 15px rgb(0 0 0 / 43%)
}
.ctaLabel:hover .ctaPlus {
    transform: scale(1.2);
    -webkit-transition: -webkit-transform .6s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
    transition: transform .6s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1)
}
.reverse .ctaPlus {
    order: 1;
    margin-left: 100px
}
.reverse .ctaTitlePay {
    order: 0;
    margin-left: 260px
}
.reverse .ctaBottom {
    justify-content: space-between
}
.ctaNameChar {
    display: inline-block
}
.outdoorBlockContainer {
    display: flex;
    position: relative
}
.outdoorBlockContainer.last {
    padding-bottom: 7.5vw
}
#bluevolution > div:first-child {
    width: 95vw;
    position: absolute;
    height: 65%;
    z-index: -1;
    top: 11.5vw;
}
#bluevolution .rolePic img {
    margin-top: 1px
}
#instructions .sectionDoublePaddedContainer > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%
}
#instructions .sectionDoublePaddedContainer > div .instruction {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center
}
#instructions .sectionDoublePaddedContainer > div .instruction > a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center
}
#instructions .sectionDoublePaddedContainer > div .instruction > a > div {
    background: linear-gradient(142.55deg, #1f6b9a -3.22%, #4ba6de 60.89%, #e3fcea 101.57%, #dffee6 101.58%);
    width: 180px;
    height: 180px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center;
    box-shadow: 0 5px 15px rgb(0 0 0 / 13%)
}
#instructions .sectionDoublePaddedContainer > div .instruction > a > div > img {
    width: 110px;
    height: 110px;
    margin-left: 15px
}
#instructions .sectionDoublePaddedContainer > div .instruction > a > span {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    text-decoration: none;
    color: #000;
    margin-top: 35px;
    font-size: 18px
}
#instructions .sectionDoublePaddedContainer > div .instruction > a > span > img {
    width: 30px;
    margin-right: 15px
}
#instructions .sectionDoublePaddedContainer {
    display: flex;
    padding: 5vw;
    padding-bottom: 0;
    padding-top: 0;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto
}
#instructions {
    padding-top: 95px;
    padding-bottom: 45px;
    background: #eee;
}
.greyBG {
    width: 95vw;
    background: #eee
}
.outdoorBlockLeft {
    width: 57vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end
}
.outdoorBlockText {
    text-align: right;
    margin-top: 100px
}
.two_col {
    max-width: 1050px;
    column-count: 2;
    column-gap: 85px;
    margin-top: 20px
}
.outdoorBlockDesc {
    position: absolute;
    top: 25vw;
    color: #fff;
    left: -12vw;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end
}
.outdoorBlockRight {
    flex: 1
}
.outdoorBlockLine {
    width: 30vw;
    height: 1px;
    background: #fff;
    margin-top: 25px
}
.outdoorBlockTime {
    font-size: 30px;
    color: #333;
    margin-top: 20px
}
.outdoorBlockTitle {
    font-size: 80px;
    width: 200%
}
.outdoorBlockDesc.gold .outdoorBlockTitle {
    color: #c59f52
}
.outdoorBlockDesc.gold .outdoorBlockLine {
    background: #c59f52
}
.outdoorBlockContainer.odd .outdoorBlockLeft {
    order: 1;
    align-items: flex-start
}
.outdoorBlockContainer.odd .outdoorBlockDesc {
    left: 8.1vw;
    align-items: flex-start
}
.outdoorBlockContainer.odd {
    padding-right: 70px
}
.outdoorBlockContainer.odd .outdoorBlockText {
    text-align: left;
    position: relative;
    right: 10vw
}
.outdoorBlockDesc.black .outdoorBlockLine {
    background: #31313f
}
.outdoorBlockDesc.black .outdoorBlockTitle {
    color: #31313f
}
.outdoorBlockDesc.white .outdoorBlockTitle {
    color: #fff
}
.leftBackground {
    position: absolute;
    bottom: 15vw;
    left: -7.5vw;
    width: calc(100%+ 7.5vw);
    height: 100%;
    background: #eee
}
.gradient {
    background: linear-gradient(142.74deg, #0079c5 13.33%, #e3fcea 100.68%, #dffee6 100.69%)
}
#gallery.index .verticalTitle ._2 {
    letter-spacing: 0;
    font-size: 75px;
    position: relative;
    top: -14px
}
#gallery .fullscreenBackground {
    height: calc(100% - 45px)
}
#gallery .photogalleryLabel {
    color: #333;
    font-size: 30px
}
#gallery .fullscreenPanel .inner {
    flex-direction: column
}
#motion-sensor .sectionBigTypo {
    margin-top: 65px
}
#motion-sensor .body_text {
    margin-bottom: 35px
}
.fullScreenBar {
    width: 100%;
    z-index: 1;
    letter-spacing: 2.3px;
    color: #fff;
    height: 45px;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    position: relative;
    min-height: 45px
}
.fullScreenBarBackground {
    position: absolute;
    background: #c4a159;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    transform-origin: top
}
#gallery .fullScreenPanelContainer {
    padding: 30px 20px
}
#gallery .gallery_container {
    height: calc(100vh - 70px)
}
#gallery .fullscreenPanel {
    top: auto;
    bottom: 70px
}
#gallery .fullscreenPanelLeft {
    width: 54.5%
}
#gallery .fullscreenPanelRight {
    width: 46.5%
}
#gallery .circleArrow.down {
    margin-right: 31px;
    margin-left: 33px;
    margin-top: 0
}
.mainCta[rel=sales-network] .ctaLine, .mainCta[rel=sales-network] .ctaPlus {
    background: #fff;
    color: #000
}
.mainCta[rel=sales-network] .ctaLabel {
    left: 10%;
    top: 48%;
    color: #fff
}
.mainCta[rel=sales-network] .ctaLabel .ctaName {
    font-weight: 700
}
@media all and (max-width:1600px) {
    #footerLeft {
        width: auto;
        min-width: 0
    }
    #logoBox {
        height: 367px
    }
    #contactBox .listItems {
        flex-direction: column
    }
    .footerContactText {
        margin-top: 25px
    }
    .footerContactText:first-child {
        margin-top: 0
    }
    #suiteBox .list {
        width: auto
    }
    #footerSuiteList {
        min-width: 280px
    }
    #callBox {
        height: 349px;
        display: flex;
        flex-direction: column
    }
    #logoBox {
        display: flex;
        align-items: center;
        height: 367px
    }
    #footerLeft > div {
    padding: 64px 2.5vw 64px 5vw;
}
   
    .footerCall {
        display: flex;
        align-items: center;
        padding: 0 40px;
        font-size: 19px;
        line-height: 28px;
        height: 50%
    }
    #logoContainer {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        width: 100%
    }
    #linkBox a {
        font-size: 24px
    }
}