@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'aeonik';
    src: url('fonts/Aeonik-Medium.eot');
    src: url('fonts/Aeonik-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/Aeonik-Medium.woff2') format('woff2'),
        url('fonts/Aeonik-Medium.woff') format('woff'),
        url('fonts/Aeonik-Medium.ttf') format('truetype'),
        url('fonts/Aeonik-Medium.svg#Aeonik-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

.columns-guide{width:100%;position:fixed;height:100%;top:0;left:0;z-index:100;pointer-events:none;grid-template-rows:1fr}

*{outline:none;margin:0;padding:0;font-family:'aeonik';box-sizing:border-box;font-size:inherit;line-height:inherit}
body{font-weight:500;-webkit-font-smoothing:antialiased!important;font-smoothing:antialiased!important;overflow-x:hidden;position:relative;margin:0 auto;font-size:20px;line-height:24px;background-color:#FFF;color:#0070B3}
body.scroll-disabled{overflow:hidden!important;overflow-x:hidden;-webkit-overflow-scrolling:touch}

.custom-cursor{border-radius:50%;width:50px;height:50px;position:fixed;z-index:1000;pointer-events:none;transform:translate(-20px,-20px);-webkit-transform:translate(-21px,-17px);-ms-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transition:width .1s ease, height .1s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);-moz-backdrop-filter:blur(2px);background:#A0A0A040}

h1,h2,h3,h4,h5{font-weight:inherit;font-size:inherit}
p{font-size:inherit}
p a{display:inline;text-decoration:underline}
a{cursor:pointer;text-decoration:none;color:inherit;font-size:inherit;display:block}
a:not(.no-hover):hover{opacity:.7}
li{list-style:none}
img{width:100%;display:block}

::-webkit-input-placeholder{color:inherit}
:-moz-placeholder{color:inherit;opacity:1}
::-moz-placeholder{color:inherit;opacity:1}
:-ms-input-placeholder{color:inherit}
::-ms-input-placeholder{color:inherit}
input[type="submit"]{border:0;appearance:none;webkit-appearance:none;border-radius:0;color:inherit;background:transparent;cursor:pointer}
input[type="text"], input[type="email"], input[type="password"]{border:none;border-bottom:1px solid;font-size:inherit;line-height:inherit;width:100%;background:transparent;font-weight:500;appearance:none;webkit-appearance:none;border-radius:0;padding:10px 0;color:inherit}
input:-webkit-autofill{background-color:transparent}
input[type="date"]::-webkit-inner-spin-button, input[type="date"]::-webkit-calendar-picker-indicator{background:transparent}
input[type="date"]::-webkit-datetime-edit-day-field, input[type="date"]::-webkit-datetime-edit-day-field{opacity:0}
input[type="date"]::-webkit-datetime-edit-month-field, input[type="date"]::-webkit-datetime-edit-month-field{opacity:0}
input[type="date"]::-webkit-datetime-edit-year-field, input[type="date"]::-webkit-datetime-edit-year-field{opacity:0}
input[type="date"]::-webkit-datetime-edit-text, input[type="date"]::-webkit-datetime-edit-text{opacity:0}
input[type="radio"]{display:none}
input[type="radio"]:checked + label{color:#0070B3}
input[type="radio"] + label{cursor:pointer}

.select-wrapper{overflow:hidden;position:relative}
.select-wrapper span{top:0;font-size:inherit;line-height:inherit;position:absolute;right:0;text-align:center;z-index:1;pointer-events:none}
.select-wrapper select{border:0;background:transparent;width:100%;font-size:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;border-radius:0;color:inherit}
.select-wrapper select:disabled{opacity:.3}

.fs-s{font-size:16px;line-height:20px}
.fs-m{font-size:42px;line-height:46px}
.fs-l{font-size:60px;line-height:64px}
.color-primary{color:#0070B3}
.color-black{color:#000}
.color-grey{color:#B0B0B0}
.color-white{color:#FFF}
.background-grey{background-color:#747474}
.uppercase{text-transform:uppercase}
.underlined{text-decoration:underline}
.display-table{display:table}
.display-block{display:block}
.display-inline{display:inline}
.ta-left{text-align:left}
.ta-right{text-align:right}
.ta-center{text-align:center}
.margin-top-60{margin-top:60px}
.margin-top-120{margin-top:120px}
.margin-top-180{margin-top:180px}
.margin-bottom-120{margin-bottom:120px}
.no-padding{padding:0}
.padding-sides{padding:0 60px}
.border-top{border-top:1px solid #9ADAFF;padding-top:10px!important}
.background-grey .border-top{border-color:#B0B0B0}
.position-relative{position:relative}
.position-sticky{position:sticky}

.btn{padding:5px 20px;border-radius:30px;color:var(--font-color);background-color:var(--background-color)}
.btn:hover{opacity:.7}

.btn-swipe{width:50px;height:50px;position:fixed;cursor:pointer;top:25px;right:45px;z-index:13;background-color:transparent;display:none}
.btn-swipe span{display:block;position:absolute;height:2px;width:24px;background:#3e3c38;opacity:1;left:13px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);transition:.25s ease-in-out}
.header-negative .btn-swipe span{background:#FFF}
body.scrolled .btn-swipe span{background:#3e3c38}
.btn-swipe span:nth-child(1){top:15px;-webkit-transform-origin:left center;-moz-transform-origin:left center;-o-transform-origin:left center;transform-origin:left center}
.btn-swipe span:nth-child(2){top:23px;-webkit-transform-origin:left center;-moz-transform-origin:left center;-o-transform-origin:left center;transform-origin:left center}
.btn-swipe span:nth-child(3){top:31px;-webkit-transform-origin:left center;-moz-transform-origin:left center;-o-transform-origin:left center;transform-origin:left center}
.swipe-opened .btn-swipe span{background:#FFF!important}
.swipe-opened .btn-swipe span:nth-child(1){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);top:15px;left:17px}
.swipe-opened .btn-swipe span:nth-child(2){width:0%;opacity:0}
.swipe-opened .btn-swipe span:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);top:32px;left:17px}

.swipe{position:fixed;top:0;height:100dvh;right:calc(((100% - 300px)/4*2 + 160px)*-1);width:calc((100% - 300px)/4*2 + 160px);padding:40px 60px;overflow:auto;z-index:12;text-align:left;background-color:#0070B3;transition:right .6s cubic-bezier(.7, 0, .3, 1);color:#FFF}
.swipe-opened .swipe{right:0}
.swipe ul li.master{margin-bottom:10px}

.btn-modal{cursor:pointer}
.modal{width:100vw;height:100dvh;overflow:auto;position:fixed;left:0;z-index:21;bottom:100dvh;transition:bottom .6s cubic-bezier(.7, 0, .3, 1);overflow:hidden}
body[modal-opened="gallery-modal"] .modal.gallery-modal{bottom:0}
.modal .close{position:absolute;top:20px;right:60px}
.modal .counter{position:absolute;top:20px;left:60px}
.modal .slider{position:absolute;left:60px;top:70px;height:calc(100% - 120px);width:calc(100% - 120px)}
.modal .slider .slide{background-position:center;background-size:contain;background-repeat:no-repeat;margin:0}
.modal .slider .slick-prev,.modal .slider .slick-next{width:50%;height:100%}

.grid{display:grid;grid-gap:30px;justify-content:center;width:100%;grid-template-columns:repeat(6, 1fr);padding:0 60px}
.grid.no-padding{padding:0}
.grid > *{grid-column-end:span 6}
.fit-content{height:fit-content}
.align-center{align-content:center;align-items:center;justify-items:center}
.row-gap-5{row-gap:5px}
.row-gap-60{row-gap:60px}

.grid .c-1{grid-column-end:span 1}
.grid .c-1  > *{grid-column-end:span 1}
.grid .c-2{grid-column-end:span 2}
.grid .c-2  > *{grid-column-end:span 2}
.grid .c-3{grid-column-end:span 3}
.grid .c-3  > *{grid-column-end:span 3}
.grid .c-4{grid-column-end:span 4}
.grid .c-4  > *{grid-column-end:span 4}
.grid .c-5{grid-column-end:span 5}
.grid .c-5 > *{grid-column-end:span 5}
.grid .c-6{grid-column-end:span 6}
.grid .c-6 > *{grid-column-end:span 6}

.grid .p-2{grid-column-start:2}
.grid .p-3{grid-column-start:3}
.grid .p-4{grid-column-start:4}
.grid .p-5{grid-column-start:5}
.grid .p-6{grid-column-start:6}

.grid.columns-12{grid-template-columns:repeat(12, 1fr)}
.grid.columns-12 > *{grid-column-end:span 1}
.grid.columns-3{grid-template-columns:repeat(3, 1fr)}
.grid.columns-3 > *{grid-column-end:span 1}
.grid.columns-3 > .c-2{grid-column-end:span 2}
.grid.columns-2{grid-template-columns:repeat(2, 1fr);padding:0}
.grid.columns-2 > *{grid-column-end:span 1}
.grid.columns-2.c-2{grid-column-end:span 2}

.thumb{background-color:transparent;position:relative}
.aspect{opacity:0;visibility:hidden}
.lazy{opacity:0;visibility:hidden;transition:opacity .3s ease, transform .3s ease;transform:translateY(10px)}
.lazy.visible{opacity:1;visibility:visible;transform:translateY(0)}
.lazy-img-wrapper{position:relative;overflow:hidden;background-color:#EBE9E9;transition:background-color .2s ease}
.lazy-img-wrapper .img{position:absolute;top:0;left:0;bottom:0;width:100%;opacity:0;transition:opacity .2s ease;background-position:center;background-size:cover;background-repeat:no-repeat}
.lazy-img-wrapper.loaded{background-color:transparent}
.lazy-img-wrapper.loaded .img{opacity:1}
.product .lazy-img-wrapper{background-color:#EBE9E9}
.product .lazy-img-wrapper .img{width:75%;top:50%;left:50%;transform:translate(-50%,-50%)}

.background-grid{background-image:url(../imgs/grid_background.svg);background-position:center;background-repeat:no-repeat;background-size:cover;position:fixed;left:0;top:0;width:100%;height:100%;z-index:-1}

.master-wrapper{width:100%}
header.master{position:fixed;padding:20px 60px;top:0;left:0;width:100%;z-index:10;display:flex;justify-content:space-between;align-items:center;color:#000;background-color:#FFF}
header.master .logotype a{height:56px;width:190px;background-image:url(../imgs/logotype.svg);background-position:center;background-repeat:no-repeat;background-size:100%}
.header-negative header.master{background-color:transparent}
.header-negative header.master .logotype a{background-image:url(../imgs/logotype_negative.svg)}
.header-negative header.master a{color:#FFF}
header.master ul{display:flex;gap:30px}
header.master ul li a.selected{color:#0070B3}
.background-grey header.master{background-color:#747474;color:#FFF}
.background-grey header.master .logotype a{background-image:url(../imgs/logotype_negative.svg)}
.background-grey header.master ul li a.selected{color:#B0B0B0}

main{width:100%;position:relative;display:block}
main.full-height{height:100dvh}
main .slider{width:100%;height:100%}
main .slider div.slide{position:relative;height:100dvh;width:100%;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}
main h1{position:absolute;left:60px;top:calc(50% - 30px);z-index:10;color:#FFF}
main .scroll-h{position:absolute;left:60px;bottom:30px;z-index:1;color:#FFF}

aside{border-bottom:1px solid #9ADAFF;height:fit-content;position:sticky;top:190px}
aside li{border-top:1px solid #9ADAFF;padding:5px 0}

section{padding:0 60px}
section.full-height{height:100dvh;margin-bottom:0}

section.calendar li h3 span{display:none}
section.calendar li.event{width:100%;background:#A0A0A020;padding:20px;border-radius:20px;margin-bottom:20px}

section.cta a{margin:0 auto;background:#A0A0A020;padding:20px 50px;border-radius:100px}

section.parallax-wrapper{position:relative}
section.parallax-wrapper .content{align-items:start;grid-gap:100px 30px}
section.parallax-wrapper .parallax{position:absolute;top:0%;left:0;width:100%;transition:top .1s linear;pointer-events:none}

.projects-list li{margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.products-list .product a{display:relative}
.products-list .product a .overlay{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#0070B3;padding:20px;z-index:1;opacity:0;pointer-events:none;transition:opacity .1s ease}
.products-list .product a:hover .overlay{opacity:1}

section.map{height:80vh}
section.map .map-wrapper{position:relative;width:100%;height:100%}

footer.master{padding:30px 60px 120px;border-top:1px solid;color:#000}
.background-grey footer.master{color:#FFF}



@media (max-width: 1120px){
    body{font-size:16px;line-height:20px}

    .fs-s{font-size:12px;line-height:16px}
    .fs-m{font-size:32px;line-height:36px}
    .fs-l{font-size:46px;line-height:50px}

    .grid .c-1{grid-column-end:span 2}

    .btn-swipe{display:block}

    header.master nav{display:none}

    .page-products .filters > *{grid-column-end:span 2;grid-column-start:auto}
    .page-projects .projects-list ul{grid-template-columns:repeat(4, 1fr)}
    .page-projects .projects-list ul li{grid-column-end:span 1;grid-column-start:auto}
}

@media (max-width: 680px){
    .fs-m{font-size:26px;line-height:30px}
    .fs-l{font-size:38px;line-height:42px}

    .padding-sides{padding:0 30px}

    .grid{grid-template-columns:repeat(1, 1fr);padding:0 30px}
    .grid > *{grid-column-end:span 1!important;grid-column-start:auto!important}
    .grid.columns-3 > *{grid-column-end:span 3!important}
    .grid.columns-12 > *{grid-column-end:span 3!important}

    .btn-swipe{right:15px}
    .swipe{width:100%;right:-100%;padding:40px 30px}

    .modal .slider{width:calc(100% - 60px)}
    .modal .counter{left:30px}
    .modal .close{right:30px}

    header.master{padding:20px 30px}
    aside{position:static}
    section{padding:0 30px}
    footer.master{padding:30px 30px 120px}
    footer.master ul.grid li a.ta-right{text-align:left}

    .page-index main{height:100dvh}
    main h1{left:30px;width:calc(100% - 60px)}
    main .scroll-h{display:none}
    .slick-dots{left:30px;right:initial!important;}

    .page-projects .projects-list ul{grid-template-columns:repeat(1, 1fr);row-gap:0}
    .page-projects .projects-list ul li.ta-right{text-align:left}
    .products-list .product a .overlay{position:static;left:initial;top:initial;width:100%;height:initial;background-color:transparent;padding:0;z-index:1;opacity:1;pointer-events:all}
    .products-list .product a .overlay h2{color:#000;margin-top:10px}

    .slick-prev, .slick-next{display:none!important}
}




/* SLICK PLUG IN */
.slick-slider { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; height: 100%;}
.slick-list:focus { outline: none; }
.slick-loading .slick-list { background: #fffcf3 url("./ajax-loader.gif") center center no-repeat; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; height: 100%;}
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; background-position: center center;background-size: cover;}
[dir="rtl"] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; }

/* Icons */
@font-face { font-family: "slick"; src: url("./fonts/slick.eot"); src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg"); font-weight: normal; font-style: normal; }
/* Arrows */
.slick-prev,.slick-next{position:absolute;display:block;line-height:30px;cursor:pointer;background:transparent;color:transparent;padding:0;border:none;outline:none;z-index:1;font-family:'Work Sans';font-size:50px;font-weight:500;overflow:hidden;height:calc(100% - 120px);width:50%;top:0}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.25; }

.slick-prev:before, .slick-next:before {font-size: 40px; line-height: 1; color: white; opacity: 0.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

[dir="rtl"] .slick-prev {left:auto;right:0}
.slick-prev{left:0;cursor:url('../imgs/nav_prev_white.svg'), auto}

[dir="rtl"] .slick-next {left:0;right:auto}
.slick-next{right:0;cursor:url('../imgs/nav_next_white.svg'), auto}

/* Dots */
.slick-dots{position:absolute;right:60px;list-style:none;display:block;text-align:center;padding:0;bottom:30px;z-index:1}
.slick-dots li { position: relative; margin: 0 5px; padding: 0; cursor: pointer; float:left}
.slick-dots li button { border: 0; background: #FFF; color:#000!important; display: block; outline: none; line-height: inherit; font-size: inherit;cursor: pointer; width:26px;height:26px;padding-bottom: 2px;border-radius:50px;text-align:center}
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots .slick-active button{background:#0070B3;color:#FFF!important}