/* -------------------------------------------------- generic ---------- */

*{-webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0;} html{-webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%;} ul, li, a, h1, h2, h3, p{position: relative; display: inline-block;} ul, li, a, img, p, h1, h2, h3{vertical-align: middle;} :focus{outline: none;} a{line-height: 0; text-decoration: none;} 



/* -------------------------------------------------- fonts ---------- */

@font-face{font-family: "Urbanist"; src: url("Fonts/Urbanist.woff2") format("woff2 supports variations"), url("Fonts/Urbanist.woff2") format("woff2-variations"), url("Fonts/Urbanist.woff") format("woff supports variations"), url("Fonts/Urbanist.woff") format("woff-variations"), url("Fonts/Urbanist.ttf") format("truetype supports variations"), url("Fonts/Urbanist.ttf") format("truetype-variations"); font-weight: 100 900;}

*{font-family: 'Urbanist', sans-serif;}

p{word-break: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -o-hyphens: auto; hyphens: auto;} .h1, .h2{word-break: normal; -webkit-hyphens: manual; -ms-hyphens: manual; -o-hyphens: manual; hyphens: manual;}



/* -------------------------------------------------- color / hover ---------- */

#body-main.toggle, #body-footer.toggle{opacity: .17;} .opacity-low{opacity: .29;} .opacity-middle{opacity: .84;} .opacity-high{opacity: .84;} 

.color-set-light:root{--color-back: #DDE1E0; --color-front: #1F2322;} .color-set-dark:root{--color-back: #1F2322; --color-front: #DDE1E0;}

.js-cursor-outer, .js-cursor-inner{background-color: var(--color-front);} 

#html-body, .back-back{background-color: var(--color-back);} h1, h2, p, a{color: var(--color-front);} [class*="symbol-"] [class*="shape-"]{background-color: var(--color-front);} .back-blur{-webkit-backdrop-filter: blur(54px); backdrop-filter: blur(54px);}

.color-invers{background-color: var(--color-front);} .color-invers .color-invers h1, .color-invers h2, .color-invers h3, .color-invers p, .color-invers a{color: var(--color-back);} .color-invers [class*="symbol-"] [class*="shape-"]{background-color: var(--color-front);} 

.link-button{background-color: var(--color-front);} .link-button p{color: var(--color-back);} 

[class*="image-logo-"]{filter: drop-shadow(0px 0px 7px hsla(165,6%,13%,0.29));}

input, textarea{background-color: hsla(165,6%,13%,0.05);} input:hover, textarea:hover{background-color: hsla(165,6%,13%,0.11);} 



/* -------------------------------------------------- variables ---------- */

#html-body{--padding-horizontal: 0.025; --padding-vertical: calc(0.7vw + 0.7vh + 7px); --padding-link: 4px; --padding-button: calc(0.5vw + 0.5vh + 15px); --padding-form: calc(0.2vw + 0.2vh + 2px); --padding-fan: calc(300px - 20vw);} 



/* -------------------------------------------------- global ---------- */

#body-header, #body-main, #body-footer{width: 100%;} #body-header{z-index: 7;} #body-main{z-index: 1;} #body-footer{z-index: 4;}

hr{border: none; height: 0;} [class*="space-"]{position: relative; display: block; width: 100%;} [class*="-section"]{position: relative; display: block; width: 100%; margin: 0 auto; text-align: center; overflow: hidden;} [class*="layer-"], [class*="frame-"]{position: relative; display: block; margin: 0 auto;} [class*="grid-"]{position: relative; display: inline-block; vertical-align: middle;} [class*="grid-"], [class*="content-"]{text-align: left;} .grid-0{display: none;}

.vertical-top{vertical-align: top;} .vertical-bottom{vertical-align: bottom;} 

/*.section-layer-horizontal{width: 100%; overflow: inherit;} .layer-horizontal, .horizontal-wrapper, .horizontal-wrapper{position: relative; display: block; width: 100%;} .horizontal-wrapper .content-wrapper{position: relative; display: block; width: 100%; bottom: auto; bottom: auto; transform: translate(0,0);} .js-enable .layer-horizontal{position: sticky; position: -webkit-sticky; top: 0; height: 100vh; width: 100%; vertical-align: top; overflow-x: hidden;} .js-enable .horizontal-wrapper{height: 100%;} .js-enable .horizontal-wrapper .content-wrapper{position: absolute; right: 50%; bottom: 50%; transform: translate(50%,50%);}*/

.image-relative{position: relative; display: block; width: 100%; height: auto;} .image-absolute, .content-absolute{position: absolute; display: block;} .image-absolute, .content-absolute{right: 50%; bottom: 50%; transform: translate(50%,50%);} 

[class*="image-logo-"]{position: absolute; display: block; width: calc(27px + 8.1%); height: auto;} .image-logo-topleft{left: 2.9%; top: 2.9%;} .image-logo-topright{right: 2.9%; top: 2.9%;} .image-logo-bottomleft{left: 2.9%; bottom: 2.9%;} .image-logo-bottomright{right: 2.9%; bottom: 2.9%;} 

.grid-100{width: 100%;} .content-absolute{width: 100%; height: auto;} .image-cover{width: 100%; height: 100%; object-fit: cover; object-position: center center;} .image-contain{width: 100%; height: 100%; object-fit: contain; object-position: center center;}

.text-center{text-align: center;} .text-right{text-align: right;} 

/* ---------- */

.section-layer-full{width: 100%; max-width: 2400px;} .section-layer-default{width: 92.5%; max-width: 2040px;} .section-layer-thin{width: 70%; max-width: 1680px;} 

.space-default{height: calc(2.1vw + 2.1vh + 21px);} 
.space-half{height: calc(1.05vw + 1.05vh + 10.5px);} 
.space-flat{height: calc(0.7vw + 0.7vh + 7px);} 
.padding-default{padding: calc(0.7vw + 0.7vh + 7px) 2.5%;} 
.padding-flat{padding: calc(0.35vw + 0.35vh + 3.5px) 2.5%;} 
/*.padding-wide{padding: calc(1.4vw + 1.4vh + 14px) 2.5%;} */
.list-symbol .list-item{margin-top: calc(0.35vw + 0.35vh + 3.5px);}



/* -------------------------------------------------- table, lists, links ---------- */

[class*="list-"], [class*="link-"]{position: relative; display: inline-block;} [class*="list-"] .list-item{position: relative; display: inline-block; list-style: none; vertical-align: middle;} [class*="link-"]{overflow: hidden;} [class*="link-"] p{text-decoration: none; /*text-transform: uppercase;*/ font-weight: 800; letter-spacing: 2px;} .link-text{display: inherit !important; text-decoration: underline; opacity: 1;} 

.list-link{display: block; margin: 0 -4px;} .list-link .list-item{margin: 3px 2px;} .list-link [class*="link-"] p{padding: 4px 4px;} .list-link .link-image{margin: 9px 4px;}

.list-symbol{display: block;} .list-symbol .list-item{display: block; padding-left: 29px;} .list-symbol .symbol-dot{position: absolute; left: 5px; top: 0px;} 

.link-share{width: 38px; height: 52px; overflow: visible;} .link-share .image-absolute{width: 32px;}

.link-button{padding: 21px 14px;}




/* -------------------------------------------------- symbols ---------- */

[class*="symbol-"]{position: relative; display: inline-block; vertical-align: middle;}
[class*="symbol-"] [class*="shape-"], [class*="symbol-"] [class*="text-"]{position: absolute; display: block; right: 50%; bottom: 50%; transform: translate(50%,50%); transition-duration: .27s;}

.symbol-navigation{display: block; margin: 0 -6px; width: 54px; height: 54px;} .symbol-navigation [class*="shape-"]{transform: translate(50%,50%)rotate(0deg); width: 42px; height: 5px;} .symbol-navigation .shape-0{bottom: 32px;} .symbol-navigation .shape-1{bottom: 22px;} 

#body-header.toggle .symbol-navigation [class*="shape-"]{bottom: 27px;} #body-header.toggle .symbol-navigation .shape-0{transform: translate(50%,50%)rotate(-45deg);} #body-header.toggle .symbol-navigation .shape-1{transform: translate(50%,50%)rotate(45deg);}

.symbol-dot{position: relative; display: block;} .symbol-dot [class*="shape-"]{width: 7px; height: 7px; border-radius: 50%;}

.symbol-information{display: inline-block;} .symbol-information [class*="shape-"]{width: 70%; height: 3px; border-radius: 1.5px;} .symbol-information .shape-1{-webkit-transform: translate(50%,50%)rotate(90deg);-ms-transform: translate(50%,50%)rotate(90deg);transform: translate(50%,50%)rotate(90deg);} .js-information-item.on .symbol-information .shape-1, .js-information-item.on:hover .symbol-information  .shape-1{width: 2px;}



/* -------------------------------------------------- pattern ---------- */

/*[class*="pattern-"]{position: absolute; display: block; right: 50%; bottom: 50%; transform: translate(50%,50%); width: 100%; height: 100%;}
.pattern-pixel{background-color: rgba(87,152,152,0.29); background-size: 4px 4px; background-image: linear-gradient(var(--color-back) 0.4px, transparent 0.4px), linear-gradient(to right, var(--color-back) 0.4px, transparent 0.4px); opacity: 0.7;}*/



/* -------------------------------------------------- cursor ---------- */

.js-cursor-outer, .js-cursor-inner{position: fixed; display: block; left: -100px; top: 0; transform: translate(-50%,-50%); border: none; border-radius: 50%; z-index: 999; pointer-events: none;} .js-cursor-outer{transition: left .07s ease-out, top .07s ease-out, width .29s ease-in-out, height .29s ease-in-out, background-color .29s, opacity .29s ease-in-out;} .js-cursor-inner{transition: left .19s ease-out, top .19s ease-out, width .29s ease-in-out, height .29s ease-in-out, background-color .29s, opacity .29s ease-in-out;}

.js-cursor-outer{width: 41px; height: 41px; opacity: 0.17;} .js-cursor-inner{width: 7px; height: 7px; opacity: 1;} .js-cursor-outer.hover{width: 147px; height: 147px; opacity: 0.17;} .js-cursor-inner.hover{width: 147px; height: 147px; opacity: 0;} .js-cursor-hover{cursor: pointer;}



/* -------------------------------------------------- multistep form ---------- */

.slide-multistep{width: 100%; height: auto; padding: 0; vertical-align: middle; overflow: hidden;} .slide-multistep-wrapper{transform: translate(0px,0px);} .slide-multistep .multistep-tab{height: auto; vertical-align: top;}

#form-initial .slide-multistep-wrapper{width: 100%/*500%*/;} #form-initial .slide-multistep .multistep-tab{width: 100%/*20%*/;} 

[class*="multistep-"]{position: relative; display: inline-block;} [class*="multistep-"] input, [class*="multistep-"] textarea{padding: calc(0.7 * var(--padding-button)) calc(3 * var(--padding-form));}  [class*="form-"] input, [class*="form-"] select, [class*="form-"] textarea, [class*="form-"] fieldset{vertical-align: top; border: none; border-radius: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;} [class*="form-"]{margin: 0 calc(-1 * var(--padding-form));} [class*="form-"] .slide-multistep{margin: var(--padding-form) 0;} [class*="form-"] [class*="grid-"], [class*="form-"] [class*="inline-"]{padding: var(--padding-form) var(--padding-form); vertical-align: top;} [class*="multistep-"] label, [class*="multistep-"] input, [class*="multistep-"] select, [class*="multistep-"] textarea, [class*="form-"] fieldset{display: block; width: 100%;} 

[class*="multistep-"] .label-default{position: absolute; padding-left: calc(3 * var(--padding-form)); pointer-events: none;} [class*="multistep-"] label, .multistep-links .multistep-tab p{line-height: calc(var(--padding-form) + 8px); font-size: calc(var(--padding-form) / 2 + 8px); font-weight: 500; letter-spacing: calc(var(--padding-form) / 3 + 1px); opacity: .84; z-index: 7;} [class*="multistep-"] label a p{text-decoration: underline;} [class*="multistep-"] input, [class*="multistep-"] select, [class*="multistep-"] textarea, .link-multistep{position: relative;} [class*="multistep-"] input, [class*="multistep-"] select, [class*="multistep-"] fieldset, [class*="multistep-"] textarea{margin-top: var(--padding-form);} [class*="multistep-"] textarea{resize: none;} [class*="multistep-"] input{transition-duration: .14s;} ::placeholder{opacity: .37;}



/* -------------------------------------------------- header ---------- */

#body-header{position: relative; display: block;} .header-navigation{position: relative; display: block;}

.link-navigation, .frame-navigation{position: fixed; display: block; transform: translate(0,-50%); z-index: 11;} .frame-navigation{right: -100%; top: 50%; width: 100%; height: 100vh;} .frame-navigation .list-link{position: absolute; display: block;} .link-navigation{right: 2.5%; top: 10%;} 

#body-header.toggle .frame-navigation{right: 0;} .frame-navigation .list-link{right: 59%; bottom: 50%; transform: translate(55%,50%); text-align: left;} .frame-navigation .list-link .list-item{display: block;}

.link-brand{width: calc(70px + 0.7vw); height: auto; transition-duration: .29s;} .link-brand .image-absolute{width: 100%;} .link-brand:hover{opacity: .59;} 




/* -------------------------------------------------- frame ---------- */

iframe{display: block; margin: 0; padding: 0; border: none;} 

[class*="frame-relative-"], [class*="frame-absolute-"], [class*="frame-fixed-"]{display: block; width: 100%;} [class*="frame-relative-"]{position: relative; display: block; height: auto;} [class*="frame-absolute-"], [class*="frame-fixed-"]{right: 50%; bottom: 50%; transform: translate(50%,50%);} [class*="frame-absolute-"]{position: absolute;} [class*="frame-fixed-"]{position: fixed;}

.frame-relative-100vh{padding-top: 100vh;} .frame-relative-1to1{padding-top: 100%;} .frame-relative-4to3{padding-top: 75%;} .frame-relative-3to2, .frame-absolute-3to2{padding-top: 66.66%;} .frame-relative-2to3{padding-top: 150%;} .frame-relative-16to9{padding-top: 56.25%;} .frame-relative-2to1{padding-top: 50%;} .frame-absolute-cover, .frame-fixed-cover{height: 100%;} .frame-relative-auto, .frame-absolute-auto, .frame-fixed-auto{height: auto;} 

 .frame-absolute-pageload{width: 29%; height: 29%;} 

.frame-absolute-topleft{left: 0; top: 0; width: 66.67%; padding-top: 50%;} 


[class*="inline-"]{display: inline-block;} .inline-50{width: 50%;} .inline-33{width: 33.33%;} 

.inline-icon{width: calc(24px + 0.8vw + 5%);} .inline-fix{width: calc(72px + 2.4vw + 5%);} .inline-flex{width: calc(-96px - 3.2vw + 90%);} 

[class*="frame-slide-"]{width: 125%; padding-top: calc(2.1vw + 2.1vh + 21px + 40%);} 
.frame-slide-left{margin-right: -25%;} .frame-slide-right{margin-left: -25%;} [class*="frame-slide-"] .inline-33{padding: 0 0.5%;}


    
[class*="overflow-"]{width: 104%;} .overflow-right{margin-right: -4%;} .overflow-left{margin-left: -4%;} 



/* -------------------------------------------------- main ---------- */

.item-symbol{position: relative; display: block; padding-left: calc(90px + 3vw);} .item-symbol .symbol-square{position: absolute; left: 0; top: 0;} 



/* -------------------------------------------------- footer ---------- */



/* -------------------------------------------------- legal ---------- */

.main-section-legal p{padding: 5px 0;} .main-section-legal [class*="list-"] p{padding: 0 0;} .main-section-legal .link-default{padding: 0 7px;}

#matomo-opt-out{padding: calc(0.9vw + 0.9vh + 9px) 1.25%;} #matomo-opt-out input{margin-right: calc(0.45vw + 0.45vh + 4.5px); margin-top: calc(0.45vw + 0.45vh + 4.5px);} #matomo-opt-out label{margin: calc(0.9vw + 0.9vh + 9px) 0;} 



/* -------------------------------------------------- informations ---------- */

.js-information-item{position: relative; display: block;} 

.symbol-information{position: absolute; left: 0; top: 0;} .information-title{position: relative; display: inline-block; width: 100%; height: auto;} .information-description{max-height: 0; padding: 0 0; overflow: hidden; opacity: 0;} .information-description p{display: block;} 

.js-information-item.on .information-description{max-height: 350px; padding-top: calc(0.15vw + 0.15vh + 1.5px); opacity: 1;}

.js-information-item, .information-description{-webkit-transition-duration: .47s;-o-transition-duration: .47s;transition-duration: .47s;}


.js-information-item{padding-left: calc(21px + 1.05vw + 6px);} .symbol-information{width: calc(16.5px + 0.55vw); height: calc(16.5px + 0.55vw);} 



/* -------------------------------------------------- marquee ---------- */

/*[class*="marquee-"]{--gap: 0px; position: relative; display: flex; width: 100%; height: auto; overflow: hidden; user-select: none;} [class*="marquee-"] p{flex-shrink: 0; display: flex; justify-content: space-around; min-width: 100%;} [class*="marquee-"], [class*="marquee-"] p{gap: var(--gap);} [class*="marquee-"] p span{position: relative; display: inline-block; width: 24px; vertical-align: middle; text-align: center;}

.marquee-left p{animation: animation-marguee-left 24s linear infinite;} .marquee-right p{animation: animation-marguee-right 24s linear infinite;} @keyframes animation-marguee-left{from{transform: translateX(calc(0% - var(--gap)));}to{transform: translateX(-100%);}} @keyframes animation-marguee-right{from{transform: translateX(calc(-100% - var(--gap)));}to{transform: translateX(0);}}*/



/* -------------------------------------------------- fade in on scroll ---------- */

[class*="js-fadein-"]{overflow-y: visible;} [class*="js-fadein-fast-"]{transition: transform 870ms ease-in-out 87ms, opacity 590ms ease-in-out 59ms;} [class*="js-fadein-slow-"]{transition: transform 1910ms ease-in-out 191ms, opacity 1440ms ease-in-out 144ms;}



/* -------------------------------------------------- transition ---------- */

.js-approach-item{transition: opacity .17s;}
#html-body, [class*="link-"]{transition-duration: .27s;}
#body-main, #body-footer, .frame-navigation{transition-duration: .54s;}



/* -------------------------------------------------- pageload ---------- */

.js-pageload-item{transition: bottom 0s 1.8s; z-index: 11; pointer-events: none;} .js-pageload-item .frame-absolute-cover{transition: opacity 0.5s 0.9s ease-in;} .js-pageload-item .frame-absolute-pageload{transition: bottom 1.4s 0.9s;} 

.js-pageload-item.toggle{bottom: 150%;} .js-pageload-item.toggle .frame-absolute-cover{opacity: 0;} .js-pageload-item.toggle .frame-absolute-pageload{bottom: 150%;} 



/* -------------------------------------------------- media query ---------- */

h1, .h1, h2, .h2{font-weight: 800;} h3, .h3, .written-bold{font-weight: 700;} p{font-weight: 500;}

@media(max-width: 1040px){
    #body-footer .inline-50{width: 100%; display: block;}
    #body-footer .overflow-right, #body-footer .overflow-left{width: 100%; margin-right: 0; margin-left: 0;}
    #body-footer .frame-relative-1to1{padding-top: 156%;}
    #body-footer .padding-default{padding-left: 4.5%; padding-right: 4.5%;}
    #body-footer .image-cover{object-position: center center;}
    
    .grid-80, .grid-62, .grid-50, .grid-38{width: 100%;} .grid-20{width: 50%;} .only-desktop{display: none;} .only-mobile{display: block;} 
    
    p, input, textarea, .link-text{line-height: calc(16.5px + 0.55vw); font-size: calc(10.5px + 0.35vw); letter-spacing: calc(0.9px + 0.03vw);} [class*="link-"] p, [class*="symbol-"] [class*="text-"]{line-height: calc(15px + 0.5vw); font-size: calc(9px + 0.3vw); letter-spacing: calc(0.9px + 0.03vw);} 
    h3, .h3{line-height: calc(16px + 0.8vw); font-size: calc(12px + 0.6vw); letter-spacing: calc(-0.1px - 0.005vw);} 
    h2, .h2{line-height: calc(26px + 1.3vw); font-size: calc(24px + 1.2vw); letter-spacing: calc(-0.2px - 0.01vw);} 
    h1, .h1{line-height: calc(27px + 2.7vw); font-size: calc(24px + 2.4vw); letter-spacing: calc(-0.5px - 0.05vw);} 
    .h0{line-height: calc(22px + 4.4vw); font-size: calc(22px + 4.4vw); letter-spacing: calc(-0.5px - 0.1vw);}
	
    .list-symbol [class*="symbol-"]{width: 21px; height: 21px;}
    }
@media(min-width: 1039px){
    .grid-80{width: 80%;} .grid-62{width: 61.82%;} .grid-50{width: 50%;} .grid-38{width: 38.18%;} .grid-20{width: 20%;} .only-desktop{display: block;} .only-mobile{display: none;} 
    
	p, input, textarea, .link-text{line-height: calc(16.5px + 0.55vw); font-size: calc(10.5px + 0.35vw); letter-spacing: calc(0.9px + 0.03vw);} [class*="link-"] p, [class*="symbol-"] [class*="text-"]{line-height: calc(15px + 0.5vw); font-size: calc(9px + 0.3vw); letter-spacing: calc(0.9px + 0.03vw);} 
    h3, .h3{line-height: calc(18px + 0.9vw); font-size: calc(14px + 0.7vw); letter-spacing: calc(-0.1px - 0.005vw);} 
    h2, .h2{line-height: calc(26px + 1.3vw); font-size: calc(24px + 1.2vw); letter-spacing: calc(-0.2px - 0.01vw);} 
    h1, .h1{line-height: calc(27px + 2.7vw); font-size: calc(24px + 2.4vw); letter-spacing: calc(-0.5px - 0.05vw);} 
    .h0{line-height: calc(22px + 4.4vw); font-size: calc(22px + 4.4vw); letter-spacing: calc(-0.5px - 0.1vw);} 
    
    .list-symbol [class*="symbol-"]{width: 23px; height: 23px;}
    }



@media(pointer: coarse){
    .js-cursor-outer, .js-cursor-inner{display: none;}
}



@media screen {
    .js-enable [class*="js-fadein-"]{opacity: 0;} .js-enable .js-fadein-slow-left, .js-enable .js-fadein-fast-left{transform: translate(58px,0);} .js-enable .js-fadein-slow-right, .js-enable .js-fadein-fast-right{transform: translate(-58px,0);} .js-enable .js-fadein-slow-up, .js-enable .js-fadein-fast-up{transform: translate(0,29px);} /*.js-enable .js-fadein-down{transform: translate(0,-41px);}*/ .js-enable [class*="js-fadein-"].on{opacity: 1; transform: translate(0,0);} 
    }
@media print {
    .js-enable [class*="js-fadein-"]{opacity: 1;} .js-enable .js-fadein-slow-left, .js-enable .js-fadein-fast-left{transform: translate(0,0);} .js-enable .js-fadein-slow-right, .js-enable .js-fadein-fast-right{transform: translate(0,0);} .js-enable .js-fadein-slow-up, .js-enable .js-fadein-fast-up{transform: translate(0,0);} /*.js-enable .js-fadein-down{transform: translate(0,0);}*/ .js-enable [class*="js-fadein-"].on{opacity: 1; transform: translate(0,0);} 
    }
