@charset "UTF-8";
@import "../font_face/stylesheet.css";
@import "default.css";
@import "variable.css";
@import "landing.css";

a:active, a:focus, a:visited {
    color: #000000;
}
a:-webkit-any-link{
    color: #000000;
}
.main_wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.editor__content {
    margin: 60px 10.29512697323267vw;
}
.loader{
    position: fixed;
    z-index: 10003;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff;
}
.non-projects {
    width: 100%;
    padding: 0 10px;
    font-size: 30px;
    text-align: center;
}
.load_logo{
    display: flex;
    margin: auto;
    height: 100%;
    justify-content: center;
    width: 26.76733013040494vw;
    min-width: 260px;
}
.load_logo img{
    width: 100%;
}
.load_holder{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #000000;
    z-index: -1;
    transform: translate(-100%,0);
}
.home-navigation.offset0{transform: translate(0,0%);transition: transform 200ms linear;}
.home-navigation.offset1{transform: translate(0,-10%);transition: transform 200ms linear;}
.home-navigation.offset2{transform: translate(0,-20%);transition: transform 200ms linear;}
.home-navigation.offset3{transform: translate(0,-30%);transition: transform 200ms linear;}
.home-navigation.offset4{transform: translate(0,-40%);transition: transform 200ms linear;}
.home-navigation.offset5{transform: translate(0,-50%);transition: transform 200ms linear;}

.home-navigation button i,
.home-navigation button:after,
.home-page header .language a,
.home-page header .language button,
.home-page header.black .burger div{
}

header.black .language a,
header.transparent .language a,
header.transparent .language button,
header.black .language button{
    color: #000000;
}
header.transparent .burger div,
header.black .burger div{
    background: #000000;
}
.home-navigation{
    position: fixed;
    right: 0;
    bottom: 10%;
    transform: translate(0,0%);
    z-index: 10002;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
    font-weight: 300;
    padding: 0 1.029512697323267vw;
    height: 50%;
    transition: transform 200ms linear;
}
.home-navigation.transparent{
    opacity: 0;
}
.home-navigation.white{
    color: #ffffff;
}
.home-navigation.black{
    color: #000000;
}
.home-navigation button:after{
    content: '';
    height: 1px;
    width: 2.059025394646534vw;
    position: absolute;
    right: 0;
    top: 50%;
    transition: background 200ms linear, transform 200ms linear;
    transform: scaleX(0.5);
    transform-origin: right;
    background: rgba(255,255,255,0);
}
.home-navigation button.active:after{
    content: '';
    transform: scaleX(1);
}
.home-navigation.black button:after{
    background: rgba(0,0,0,1);
}
.home-navigation.white button:after{
    background: rgba(255,255,255,1);
}
.home-navigation button{
    display: flex;
    align-items: center;
    width: 3.4317089910775564vw;
    justify-content: space-between;
    min-height: 25px;
    height: 1.7158544955387782vw;
    min-width: 50px;
    position: relative;
}
.home-navigation button i{
    display: block;
    font-size: 1.5099519560741248vw;
    transition: transform 200ms linear, color 200ms linear;
    line-height: 1;
    transform: scale(0);
}
.home-navigation button.active i{
    transform: scale(1);
}
.home-navigation.white button i{
    color: #ffffff;
}
.home-navigation.black button i{
    color: #000000;
}

main{
    overflow: hidden;
}
.home-page main{
    margin-top: 0!important;
    position: relative;
}
header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 2.3335621139327385vw 2.7453671928620453vw;
}
header > a.phone{
    margin-left: auto;
    margin-right: 15px;
    position: relative;
    z-index: 150;
}
header.white-header{
    background: #ffffff;
    position: relative;
}
.slider-logo{
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    justify-content: center;
    align-items: center;
    z-index: 10;
    color: #ffffff;
    width: 26.76733013040494vw;
    min-width: 260px;
    margin: auto;
}
.slider-logo *{
    color: #ffffff;
}

.slider-logo img {
    width: 100%;
}

.slider{
    background: #000000;
    z-index: 600;
}
.slide img{
    transition-duration: 0s;
    transition-delay: 0s;
    transition-property: transform;
    transition-timing-function: linear;
    transform: scale(1);
    transform-origin: center;
}
.slick-active .slide img{
    transform: scale(1.15);
}
.slick-slide>div{
    position: relative;
}
.slider .slick-slide>div:before{
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.4);
    z-index: 9;
    pointer-events: none;
}

.headline h1{
    text-align: center;
    margin-top: 2.40219629375429vw;
    margin-bottom: 2.7453671928620453vw;
}

.more_projects_wrap{
    display: flex;
    flex-flow: row wrap;
    overflow: hidden;
    position: relative;
    margin-left: -0.6863417982155113vw;
    width: calc(100% + 0.6863417982155113vw);
}
.more_projects_wrap .headline{
    margin: 2.059025394646534vw 0 2.7453671928620453vw 0;
}

.more_info .content{
    display: flex;
    flex-flow: row wrap;
}
.caption{
    margin-bottom: 2%;
    font-weight: 600;
}
.more_projects_wrap .project_item{
    position: relative;
    overflow: hidden;
    margin-left: 0.6863417982155113vw;
    margin-bottom: 0.6863417982155113vw;
    width: calc(25% - 0.6863417982155113vw);
}
.more_projects_wrap .project_item .img_wrap{
    height: 100%;
}
.more_projects_wrap .project_item img{
    height: 26.08098833218943vw;
    object-fit: cover;
}
.home.projects .project_item img {
    transition: 1s;
}
.no-touch .home.projects .project_item:hover img {
    transform: scale(1.2);
}

.home .project_holder{
    align-items: center;
    padding: 0;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.home-project-link{
    padding: 0;
    width: 100%;
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-page .project_holder a{
    align-items: center;
}
.project_item .img_wrap {
    height: 100%;
    min-height: 215px;
}
.project_item .img_wrap a{
    display: block;
    height: 100%;
}
.project_item img{
    object-fit: cover;
    height: 100%;
}
.no-touch .project_item:hover .project_holder>a{
    opacity: 0;
    transform: rotateX(0deg) translate3d(-50%,0%, 20px);
    transition: opacity 0.3s linear 0s, transform .5s linear 0s;
}
.no-touch .project_item .project_holder{
    transition: transform 0.3s linear 0.3s;
}
.no-touch .project_item:hover .project_holder{
    transform: rotateX(0deg) translate3d(-110%,0%, -10px) rotateY(0);
}
.no-touch .project_item:hover .project_holder:after{
    transform: rotateX(0deg) translate3d(-110%,0%, -10px) rotateY(0);
    transition: transform 0.3s linear 0.1s;
}

.language{
    position: relative;
}
.language button{
    color: #ffffff;
    text-transform: uppercase;
    opacity: 0.8;
    position: relative;
    font-weight: 400;
}
.language button:after{
    content: '';
    position: absolute;
    display: block;
    top: -50%;
    left: -50%;
    right: -50%;
    bottom: -50%;
}
.language a{
    color: #ffffff;
    text-transform: uppercase;
    opacity: 0.6;
    margin-top: 1.029512697323267vw;
    display: block;
    font-weight: 400;
    position: relative;
}
.language a:before{
    content: '';
    position: absolute;
    top: -25%;
    bottom: -25%;
    left: -50%;
    right: -50%;
}
.language ul{
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
}
.transparent-header .language ul{
    background: rgba(255,255,255,0);
}

.home-page footer {
    min-height: 40vh;
}
footer{
    background: #000000;
    padding: 2.059025394646534vw 10.638297872340425vw 3.4317089910775564vw;
    display: flex;
    flex-flow: row wrap;
}
.contact_wrap{
    width: 43%;
    display: flex;
    flex-flow: column wrap;
}
.contact_wrap address{
    margin-bottom: 1.029512697323267vw;
    line-height: 1.23;
}
.contact_wrap a{
    margin-bottom: 1.029512697323267vw;
    line-height: 1.23;
}
.menu_wrap{
    display: flex;
    flex-flow: column wrap;
    width: 40%;
    text-transform: uppercase;
    align-items: baseline;
    max-width: calc(100% - 43% - 190px);
}
.menu_wrap span,
.menu_wrap a{
    line-height: 1.23;
    width: 100%;
}
.menu_wrap > *:not(:last-child) {
    margin-bottom: 1.029512697323267vw;
}
.logo_wrap{
    width: 17%;
    min-width: 190px;
}
.logo_wrap img{}
.copyright{
    margin-top: 3.4317089910775564vw;
}
.socials{}
.socials a{
    display: flex;
    margin: 0 1.029512697323267vw;
}
.socials a svg{
    height: 1.0981468771448182vw;
    width: 1.3726835964310227vw;
    min-width: 20px;
    min-height: 16px;
}
.socials a svg use{
    color: #fff;
    fill: #fff;
    fill-opacity: 0.7;
}
a.phone{
    letter-spacing: 0.09285714285714286em;
}
.made a{
    transition: all .2s linear;
}
.no-touch .made a:hover{
    color: #ef63a3;
    text-decoration: underline;
}
.hidden_menu{
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    padding: 0 0 0 7.549759780370624vw;
    background: #fff;
    height: 100%;
    transform: translate(-105%,0);
    z-index: 40;
}

.menu_wrapper>span {
    color: #000000;
    font-weight: 300;
    position: relative;
    text-transform: uppercase;
    padding-right: 10px;
}

.menu_wrapper>span:before {
    content: '';
    position: absolute;
    width: calc(100% + 25px);
    background: linear-gradient(transparent 5%, #ffffff 5%, #ffffff 94%, transparent 95%);
    height: 100%;
    right: 0;
    left: -25px;
    z-index: -1;
    transition: all 0.25s;
}
.menu_wrapper>span.no-hover:before {
    width: 0;
}

.menu_wrapper>a{
    text-transform: uppercase;
    font-weight: 300;
    position: relative;
    color: #ffffff;
    transition: .75s;
    padding-right: 10px;
}
.menu_wrapper>a:before {
    content: '';
    position: absolute;
    width: 0;
    background: linear-gradient(transparent 5%, #ffffff 5%, #ffffff 94%, transparent 95%);
    height: 100%;
    top: 0;
    width: 0;
    left: -25px;
    z-index: -1;
    transition: all 0.25s;
}
.no-touch .menu_wrapper>a:hover {
    color: #000;
}
.no-touch .menu_wrapper>a:hover:before {
    width: calc(100% + 25px);
}

.menu_wrapper>a+span,
.menu_wrapper>span+a,
.menu_wrapper>a+a{
    margin-top: 1.5453671928620453vw;
}

.menu_wrapper>span.child-link,
.menu_wrapper>a.child-link {
    margin-top: 0.8vw;
    font-size: 1.2vw;
    margin-left: 1vw;
}

.menu_wrapper{
    display: flex;
    flex-flow: column nowrap;
    background: #000000;
    height: 100%;
    padding: 7.25vh 2.059025394646534vw 0 3.4317089910775564vw;
    transform: translate(-150%, 0);
    align-items: baseline;
}

/*.menu_wrapper-overflow{*/
/*    display: flex;*/
/*    flex-flow: column nowrap;*/
/*}*/

.menu_substrate {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 15;
}
.menu_substrate.active {
    display: block;
}

.inverse{
    color: #ffffff;
}

.burger{
    width: 4.118050789293068vw;
    height: 1.5099519560741248vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    min-width: 30px;
    min-height: 20px;
    cursor: pointer;
    z-index: 50;
    max-width: 60px;
}
.burger:before{
    content: '';
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -25%;
    right: -25%;
}
.navigation .burger.active div{
    background: #000000;
}
.burger.active div.center{
    visibility: hidden;
}
.burger div.center{
    position: absolute;
    left: 0;
    display: block;
    width: 60%;
    height: 2px;
    background: #fff;
    top: 50%;
    /*top: calc(50% - 1px);*/
    z-index: 50;
}
.burger div.top{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    /*transform: translateY(-1px);*/
}
.burger div.bottom{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    /*transform: translateY(1px);*/
}
.contact_menu{
    display: flex;
    flex-flow: column nowrap;
    margin-top: 3.147563486616335vw;
    margin-bottom: 2vh;
    position: relative;
}
.contact_menu a{
    color: #ffffff;
    font-weight: 400;
}
.contact_menu>a+a{
    margin-top: 1.7158544955387782vw;
}
.social_menu{
    position: absolute;
    bottom: 0;
    right: calc(100% + 3.4317089910775564vw);
    width: 4.118050789293068vw;
    padding-right: 2.059025394646534vw;
    min-width: 40px;
}
.social_menu a{
    width: 100%;
    display: block;
    height: 1.3726835964310227vw;
    margin-top: 1.3726835964310227vw;
    min-height: 18px;
    color: #000;
}
.social_menu a use{
    opacity: .6;
}
.site-link{
    position: relative;
    width: auto;
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.site-link.multiline{
    line-height: 1.5;
    overflow: hidden;
}
.site-link:before{

}
.service_slider .site-link{
    color: #ffffff;
}

.service_slider .site-link:before{
    transition: width .5s cubic-bezier(0.5, 0, 0, 1) 2s;
}
.service_slider .site-link.active:before{
    transition: width .5s cubic-bezier(0.5, 0, 0, 1) 0s;
    width: 115%;
}
.site-link.inverse.active{
    color: #000000;
    background: #ffffff;
}
.site-link.active{
    color: #ffffff;
    background: linear-gradient(transparent 10%, black 10%, black 90%, transparent 90%);
    padding-right: 1px;
    padding-left: 2.059025394646534vw;
    margin-left: -2.059025394646534vw;
    /*box-shadow: -10px 0 0 0 linear-gradient(transparent 10%, black 10%, black 90%, transparent 90%;*/
}
.site-link.active.short{
    padding-left: 0.34317089910775567vw;
    padding-right: 0.34317089910775567vw;
}
.site-link span{
    /* position: absolute; */
}
.site-link.active span{
    background: #000;
}
.timeline_years .site-link {
    padding: 0 5px;
    position: relative;
    transition: 0.25s;
}
.timeline_years .site-link:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    height: 100%;
    width: 0;
    transition: 0.25s;
    z-index: -1;
}
.no-touch .timeline_years .site-link:hover {
    color: #fff;
}
.no-touch .timeline_years .site-link:hover:before {
    width: 100%;
}
.timeline_years{
    display: flex;
    flex-flow: row nowrap;
    padding-left: 10.29512697323267vw;
}
.timeline_years .site-link.active:before {
    width: 100%;
}
.timeline_years .site-link.active{
    padding: 0 5px;
    margin: 0 0 0 calc(2.059025394646534vw - 10px);
    background: none;
}
.timeline_years .site-link.active:first-child{
    margin-left: 0;
}
.timeline_years button+button{
    margin-left: calc(2.059025394646534vw - 10px);
}
.site-link.inverse.active:before{
    background: #ffffff;
}
.home.about {
    height: 100vh;
}

.about{
    width: 100%;
    display: flex;
    /*flex-flow: row wrap;*/
    flex-direction: row;
    align-items: self-start;
    opacity: 0;
}
.about_animated .waves{
    animation: transformWave 60s linear infinite;
    position: absolute;
    top: -30%;
    bottom: -25%;
    left: -35%;
    right: 15%;
    width: 150%;
    height: 150%;
    z-index: 10;
    overflow: visible;
}
@keyframes transformWave {
    0%{
        transform: scale(1,1) rotate(0deg);
    }
    20%{
        transform: scale(.95,1.05) rotate(5deg);
    }
    40%{
        transform: scale(1.05,1) rotate(-5deg);
    }
    60%{
        transform: scale(1,1.05) rotate(5deg);
    }
    80%{
        transform: scale(1.05,.9) rotate(-5deg);
    }
    100%{
        transform: scale(1,1) rotate(0deg);
    }
}
@keyframes transformWaveDesktop {
    0%{
        transform: scale(1,1) rotate(0deg);
    }
    20%{
        transform: scale(.95,1.05) rotate(5deg);
    }
    40%{
        transform: scale(1.05,1) rotate(-5deg);
    }
    60%{
        transform: scale(1,1.05) rotate(5deg);
    }
    80%{
        transform: scale(1.05,.9) rotate(-5deg);
    }
    100%{
        transform: scale(1,1) rotate(0deg);
    }
}
.about_text{
    width: 50%;
    display: block;
    flex-flow: row wrap;
    align-items: center;
}
.about .about_text{
    padding-right: 0;
    position: relative;
    z-index: 12;
    /* padding-top: 11.324639670555937vw; */
    padding-top: 5vw;
}
.about .about_text .site-link {
    /*margin-right: 50px;*/
    /*margin-left: 50px;*/
    text-transform: uppercase;
}

.about_template .about .about_image div.bubble-line{
    position: absolute;
    bottom: 7.89293067947838vw;
    left: 0;
    right: auto;
    width: 100vw;
    height: 3px;
    background: #000000;
}
.about_template .about .about_text{
    padding-right: 13.040494166094716vw;
}
.about_animated{
    width: 50%;
    position: relative;
    z-index: 10;
}
.home .about_animated .waves{
    top: -32%;
    left: -60%;
    width: 200%;
    height: 150%;
}
.about.home .about_description{
    width: 30.885380919698008vw;
    min-width: 400px;
}
.about .about_description{
    width: 85%;
    text-align: justify;
}
.about_description{
    margin: 4.118050789293068vw 0;
}
.more_link{
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #000;
}
.more_link span{
    width: 2.7453671928620453vw;
    position: relative;
    height: 1px;
    margin-left: 1.3726835964310227vw;
    background: #000000;
    transition: width .3s linear;
    display: block;
}
.more_link.inverse span{
    background: #ffffff;
}
.more_link.inverse span:before{
    background: #ffffff;
}
.no-touch .more_link:hover span{
    width: 4.118050789293068vw;
}
.more_link span:before{
    content: '';
    right: 0;
    position: absolute;
    height: 1px;
    width: 10px;
    background: #000000;
    display: block;
    top: 0;
    transform: rotateZ(-35deg);
    transform-origin: right;
}
.fancybox-container .more_link span{
    background: #ffffff;
    display: block;
}
.fancybox-container .more_link span:before{
    background: #ffffff;
}
.about_animated .svg_wrap{
    pointer-events: none;
}
.about .about_image{
    padding: 13.726835964310226vw 0 7.89293067947838vw 9.60878517501716vw;
    display: flex;
    position: relative;
    z-index: 50;
    perspective: 200px;
}
.home .about_image{
    padding: 10.29512697323267vw 0 17.158544955387782vw 0;
    display: flex;
    justify-content: center;
    perspective: 200px;
}
.about .about_image div{
    transform: translate(0);
    width: 24.91420727522306vw;
    height: 32.73850377487989vw;
}

.home .about_image img.david{
    transform: translate(0,15%);
    width: 30.061770761839394vw;
    height: 20.79615648592999vw;
    object-fit: cover;
}

/* .about_bubble-1 img {
    opacity: 0.9;
    animation: bubble-2 15s linear infinite;
}
.about_bubble-2 img {
    opacity: 0.9;
    animation: bubble-4 20s linear infinite;
}
.about_bubble-3 img {
    opacity: 0.9;
    animation: bubble-3 15s linear infinite;
}
.about_bubble-4 img {
    opacity: 0.9;
    animation: bubble-2 20s linear infinite;
}
.about_bubble-5 img {
    opacity: 0.9;
    animation: bubble-1 16s linear infinite;
} */

/*bubble keyframes*/

@keyframes bubble-4 {
    0% {
        transform: scale(1, 1) translateY(0) translateZ(0);
    }
    20%{
        transform: scale(1.2, 0.8) translateY(50%) translateZ(15px);
    }
    40%{
        transform: scale(0.9, 1.2) translateY(150%) translateZ(5px);
    }
    60%{
        transform: scale(1.1, 0.8) translateY(200%) translateZ(10px);
    }
    80%{
        transform: scale(0.9, 1.2) translateY(30%) translateZ(15px);
    }
    100%{
        transform: scale(1, 1) translateY(0) translateZ(0);
    }
}

@keyframes bubble-3 {
    0% {
        transform: scale(1, 1) rotate(0deg) translateY(0) translateZ(0);
    }
    20%{
        transform: scale(0.85, 1.1) rotate(80deg) translateY(5px) translateZ(15px);
    }
    40%{
        transform: scale(1.15, 0.8) rotate(180deg) translateY(15px) translateZ(5px);
    }
    60%{
        transform: scale(0.8, 1.2) rotate(220deg) translateY(0) translateZ(10px);
    }
    80%{
        transform: scale(1.1, 0.85) rotate(300deg) translateY(5px) translateZ(-10px);
    }
    100%{
        transform: scale(1, 1) rotate(360deg) translateY(0) translateZ(0);
    }
}

@keyframes bubble-2 {
    0% {
        transform: scale(1, 1) translateY(0) translateZ(0);
    }
    20%{
        transform: scale(1.2, 0.8) translateY(30%) translateZ(15px);
    }
    40%{
        transform: scale(0.9, 1.2) translateY(40%) translateZ(5px);
    }
    60%{
        transform: scale(1.1, 0.8) translateY(20%) translateZ(10px);
    }
    80%{
        transform: scale(0.9, 1.2) translateY(30%) translateZ(15px);
    }
    100%{
        transform: scale(1, 1) translateY(0) translateZ(0);
    }
}

@keyframes bubble-1 {
    0% {
        transform: scale(1, 1)  rotate(0deg) translateY(0) translateZ(0px);
    }
    25% {
        transform: scale(0.85, 1.2) rotate(90deg) translateY(-30%) translateZ(-20px);
    }
    50% {
        transform: scale(1.1, 0.85) rotate(180deg) translateY(-45%) translateZ(0px);
    }
    75% {
        transform: scale(0.85, 1.2) rotate(270deg) translateY(-30%) translateZ(20px);
    }
    100% {
        transform: scale(1, 1) rotate(360deg) translateY(0) translateZ(0px);
    }
}


.waves path{
    /* opacity: 1!important; */
    /* transform: none!important; */
}
.waves img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.home.quote {
    height: 100vh;
}
.home.quote.show .holder{
    transform: translateX(0);
}
.quote{
    position: relative;
}
.quote .img_wrap {
    height: 100%;
}
.quote .img_wrap .hide-600{
    height: 100%;
    object-fit: cover;
}
.holder{
    position: absolute;
    top: 0;
    left:0;
    bottom: 0;
    transform: translateX(-100%);
    z-index: 10;
    background-color: rgba(0,0,0,.6);
    right: 35%;
    display: flex;
    transition: transform 0.5s;
}
.home.quote.show .quote_content{
    transform: translateX(0);
}
.quote_content{
    /*margin-top: 13.726835964310226vw;*/
    transform: translateX(-100%);
    transition: transform 0.5s 0.25s;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 10.29512697323267vw;
    width: 30.885380919698008vw;
    min-width: 450px;
}
.quote_content .description{
    position: relative;
    margin: 4.118050789293068vw 0;
    text-align: justify;
}
.quote_content .description:before{
    content: '';
    background: url("../image/quote-top.svg") no-repeat;
    /*min-width: 11px;*/
    /*min-height: 13px;*/
    right: 100%;
    display: inline-block;
    vertical-align: middle;
    margin-left: -1.0981468771448182vw;
    width: 0.7549759780370624vw;
    height: 0.8922443376801648vw;
    position: absolute;
    top: 0;
    left: -2px;
}
.quote_content .description:after{
    content: '';
    background: url("../image/quote-bottom.svg") no-repeat;
    display: inline-block;
    /*min-width: 11px;*/
    /*min-height: 13px;*/
    width: 0.7549759780370624vw;
    height: 0.8922443376801648vw;
    margin-left: 0.34317089910775567vw;
    position: absolute;
    bottom: 0;
    right: -15px;
}
.quote_author{
    text-align: right;
}
.home.service {
    height: 100vh;
}
.service{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    /* padding-top: 10.29512697323267vw; */
    padding-top: 5vw;
    height: 100vh;
    align-content: flex-start;
}
.headline{
    width: 100%;
    text-align: center;
}
.service .headline{
    margin-bottom: 2.40219629375429vw;
}
.projects .headline{
    margin-bottom: 4.118050789293068vw;
}
.service_slider_wrap{
    width: 50%;
    display: flex;
    align-items: center;
}
.service_img{
    padding-bottom: 15.099519560741248vw;
    width: 50%;
    /* position: relative; */
    perspective: 100px;
}
.service_img div{
    width: 28.826355525051476vw;
    height: 23.74742621825669vw;
}
/*
.service_bubble-1 img {
    opacity: .9;
    animation: service_bubble-1 18s linear infinite;
}
.service_bubble-2 img {
    opacity: .9;
    animation: service_bubble-2 22s linear infinite;
}
.service_bubble-3 img {
    opacity: .9;
    animation: service_bubble-3 20s linear infinite;
}
.service_bubble-4 img {
    opacity: .9;
    animation: service_bubble-4 18s linear infinite;
    transform-origin: 0 0;
}
.service_bubble-5 img {
    opacity: .9;
    animation: service_bubble-5 20s linear infinite;
    transform-origin: 0 100%;
} */


/*service_img bubble keyframes*/

@keyframes service_bubble-1 {
    0% {
        transform: scale(1, 1) translate(0, 0);
    }
    20% {
        transform: scale(0.8, 1.2) translate(35px, 10px);
    }
    40% {
        transform: scale(1.2, 0.8) translate(-20px, 35px);
    }
    60% {
        transform: scale(0.9, 1.15) translate(25px, -20px);
    }
    80% {
        transform: scale(1.2, 0.8) translate(-35px, 10px);
    }
    100% {
        transform: scale(1, 1) translate(0, 0);
    }
}

@keyframes service_bubble-2 {
    0% {
        transform: scale(1, 1) rotate(0deg) translate(0, 0);
    }
    20% {
        transform: scale(1.2, 0.8) rotate(72deg) translate(-15px, 15px);
    }
    40% {
        transform: scale(0.8, 1.2) rotate(144deg) translate(25px, -10px);
    }
    60% {
        transform: scale(1.15, 0.9) rotate(216deg) translate(-20px, 8px);
    }
    80% {
        transform: scale(0.8, 1.2) rotate(288deg) translate(10px, -15px);
    }
    100% {
        transform: scale(1, 1) rotate(360deg) translate(0, 0);
    }
}

@keyframes service_bubble-3 {
    0% {
        transform: scale(1, 1) rotate(0deg) translate(0, 0);
    }
    20% {
        transform: scale(1.2, 0.8) rotate(-72deg) translate(0, 45px);
    }
    40% {
        transform: scale(0.8, 1.2) rotate(-144deg) translate(0, -10px);
    }
    60% {
        transform: scale(1.15, 0.9) rotate(-216deg) translate(0, -35px);
    }
    80% {
        transform: scale(0.8, 1.2) rotate(-288deg) translate(0, 75px);
    }
    100% {
        transform: scale(1, 1) rotate(-360deg) translate(0, 0);
    }
}

@keyframes service_bubble-4 {
    0% {
        transform: scale(1, 1) rotate(0deg);
    }
    20% {
        transform: scale(0.8, 1.1) rotate(72deg);
    }
    40% {
        transform: scale(1.2, 0.9) rotate(144deg);
    }
    60% {
        transform: scale(1, 1.15) rotate(216deg);
    }
    80% {
        transform: scale(1.2, 0.8) rotate(288deg);
    }
    100% {
        transform: scale(1, 1) rotate(360deg);
    }
}

@keyframes service_bubble-5 {
    0% {
        transform: scale(1, 1) rotate(0deg) translate(0, 0);
    }
    20% {
        transform: scale(0.8, 1.1) rotate(72deg) translate(35px, 10px);
    }
    40% {
        transform: scale(1.2, 0.9) rotate(144deg) translate(-20px, 35px);
    }
    60% {
        transform: scale(1, 1.15) rotate(216deg) translate(25px, -20px);
    }
    80% {
        transform: scale(1.2, 0.8) rotate(288deg) translate(-35px, 10px);
    }
    100% {
        transform: scale(1, 1) rotate(360deg) translate(0, 0);
    }
}

.service_slide{
    flex-flow: row wrap;
    padding-left: 10.29512697323267vw;
    padding-right: 2vw;
}
.service_slide .description{
    margin: 4.118050789293068vw 0;
    width: 30.885380919698008vw;
    max-width: 100%;
    min-width: 450px;
}
.service_slider{
    width: 100%;
}
.more_link.slide-nav span{
    margin: 0;
}
.slide-nav{
    position: absolute;
    top: 100%;
    left: 10.29512697323267vw;
    height: 1.7158544955387782vw;
    transform: translate(0,-50%);
}
.slide-nav.next{
    right: calc(100% - 19.21757035003432vw);
    left: auto;
}
.more_link.prev span:before{
    right: 100%;
    transform: rotateZ(-145deg);
}
.service_navigation{
    width: calc(100% - (10.29512697323267vw * 2));
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    align-self: flex-end;
}
#service_active{
    position: absolute;
    height: 2px;
    background: #000000;
    bottom: 0;
    left: 0;
}
.service_navigation button{
    height: 10px;
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .5) inset;
    width: 100%;
}
.home .projects_wrap {
    height: 100vh;
}
.projects_wrap{
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    width: 100%;
}
.project_item{
    position: relative;
    overflow: hidden;
    width: 100%;
}
.project_link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.projects_name{
    position: absolute;
    z-index: 10;
    display: flex;
    top: 0;
    left: 0;
    bottom: 0;
}
.timeline{
    padding: 6.236101578586135vw 0 5.490734385724091vw 0;
    height: 60vh;
    position: relative;
}
.timeline_scroll{
    margin: 4vw 0;
    overflow: hidden;
    box-sizing: content-box;
    position: relative;
    z-index: 151;
}

.cat_sit-iure-possimus-suscipit-fugit-sit-laborum .site-link:not(:first-of-type) {
    margin-left: 5px;
}

/*.timeline:after{
    content: '';
    position: absolute;
    bottom: 0;
    height: 5.490734385724091vw;
    background: #ffffff;
    left: 0;
    right: 0;
    z-index: 9999999;
    pointer-events: none;
}*/
.line_year:first-child{
    padding-left: 10.29512697323267vw;
}
.line_year:first-child:after{
    content: '';
    position: absolute;
    left: 0;
    width: 10.29512697323267vw;
    height: 5px;
    top: calc(50% - 2px);
    background: #ffffff;
    pointer-events: none;
}
.line_year:last-child{
    padding-right: 70vw;
}
.line_year:last-child:after{
    content: '';
    position: absolute;
    right: 0;
    width: calc(70vw - 2px);
    height: 5px;
    top: calc(50% - 2px);
    background: #ffffff;
    pointer-events: none;
    z-index: -1;
}
.timeline_content{
    display: flex;
    flex-flow: row nowrap;
    margin-bottom: 2.863417982155113vw;
    margin-top: 2.863417982155113vw;
    overflow-y: visible;
    overflow-x: visible;
}
.line_year:before{
    content: '';
    height: 2px;
    position: absolute;
    background: #000;
    top: 50%;
    width: 100%;
    z-index: -1;
    right: 0;
    left: 0;
}
.line_year{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    position: relative;
    /*opacity: 0.5;*/
}
.line_year.active{
    opacity: 1;
}
.line_year>*{
    min-width: 140px;
    width: 9.60878517501716vw;
}
.line_year.active .line_number{
    color: #fff;
    background: #000;
}
.line_number{
    text-align: center;
    text-indent: -4%;
    line-height: .89;
    transition: all .2s linear;
    position: relative;
}
.line_link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.line_item{
    min-height: 5.490734385724091vw;
    width: 13.726835964310226vw;
    display: flex;
    padding: 0 0.6863417982155113vw 0 0;
    opacity: .6;
    height: 150px;
    /*height: 75px;*/
    position: relative;
}
.line_number:after{
    content: '';
    position: absolute;
    height: 0.8236101578586136vw;
    width: 2px;
    background: #000;
    right: 0;
    transform: translate(-3px,-50%);
    top: 50%;
}
.line_item:after{
    content: '';
    position: absolute;
    height: 0.8236101578586136vw;
    width: 2px;
    background: #000;
    right: 0;
}
.line_year.active .line_item{
    opacity: 1;
}

.line_item:nth-child(even):after{
    top: 0;
    transform: translate(2px, -45%);
}
.line_item:nth-child(odd):after{
    top: 100%;
    transform: translate(2px,-45%);
}
.line_item:nth-child(even){
    transform: translate(0,50%);
    align-self: flex-start;
    padding-top: 1.029512697323267vw;
}
.line_item:nth-child(odd){
    padding-bottom: 1.029512697323267vw;
    transform: translate(0,-50%);
    align-items: flex-end;
}
footer .location{
    /* display: none; */
    margin: 1.3726835964310227vw 0 2.059025394646534vw 0;
    display: block;
}
a.rect-link{
    position: relative;
    padding: 0.34317089910775567vw 2.7453671928620453vw;
    box-shadow: 0 0 0 1px #000 inset, 0 0 0 3px #ffffff inset;
    background: #000000;
    color: #ffffff;
    transition: 0.25s;
}

span.rect-link{
    display: flex;
    justify-content: center;
    position: relative;
    padding: 7px 15px;
    box-shadow: 0 0 0 1px #000 inset, 0 0 0 3px #ffffff inset;
    transition: 0.25s;
    font-size: 15px;
}
.no-touch a.rect-link:hover {
    background: #fff;
    color: #000;
}
.rect-link.short{
    padding: 0.34317089910775567vw 0.6863417982155113vw;
    background: #000;
}.comment-image
.rect-link:before{
    content: '';
    position: absolute;
    left: 1px;
    right: 1px;
    top: calc(100% - 3px);
    bottom: 1px;
    background: #ffffff;
    z-index: 1;
}
.rect-link:after{
    content: '';
    position: absolute;
    top: 100%;
    width: 4px;
    height: 45%;
    background: #fff;
    left: 50%;
    transform: rotate(45deg) translate(-4px);
    box-shadow: 1px 0 0 0 #000 inset;
    z-index: 0;
}
.rect-link.inverse:before{
    background: #000000;
    top: calc(100% - 5px);
}
.rect-link.inverse:after{
    content: '';
    position: absolute;
    top: 100%;
    width: 3px;
    height: 50%;
    background: #000000;
    left: 50%;
    transform: rotate(45deg) translate(-7px);
    box-shadow: 1px 0 0 0 #ffffff inset;
}
.rect-link.inverse{
    box-shadow: 0 0 0 1px #ffffff inset;
    background: #000000;
}

.rect-link.transparent{
    background: rgba(255,255,255,0);
    color: #000000;
}
.no-touch .rect-link.transparent:hover{
    background: rgba(0,0,0, 1);
    color: #ffffff;
}

.no-touch .rect-link.inverse:hover {
    box-shadow: 0 0 0 1px #ffffff inset;
    background: #000000;
    color: #fff;
}
.team .headline{
    margin-bottom: 1.7158544955387782vw;
}
.team_wrap{
    display: flex;
    flex-flow: row wrap;
    margin-left: -0.6863417982155113vw;
    width: calc(100% + 0.6863417982155113vw);
}
.team_item{
    width: calc(25% - 0.6863417982155113vw);
    position: relative;
    cursor: pointer;
    margin-left: 0.6863417982155113vw;
    margin-bottom: 0.6863417982155113vw;
    overflow: hidden;
}
.team_item .project_holder{
    transition: transform .2s linear;
}

.no-touch .team_item:hover .project_holder{
    transform: translate(-100%,0);
}

.team_item .description{
    margin-top: 0.6863417982155113vw;
}
.team_item img{
    width: 100%;
}
.team_item .project_holder>p:first-child{
    width: 100%;
}
.team_item .project_holder:after{
    left: 0;
    right: 0;
}
.main_logo{
    position: absolute;
    display: flex;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    justify-content: center;
    align-items: center;
}
.main_logo a{
    display: flex;
    justify-content: center;
    align-items: center;
}
.home-page .main_logo{
    display: none;
}
.main_logo img{
    width: 13.040494166094716vw;
    min-height: 40px;
    object-fit: contain;
    max-height: 55px;
    min-width: 150px;
}
.cat_header{
    padding: 4.118050789293068vw 0 4.118050789293068vw 10.981468771448181vw;
}
.cat_header .cat_list{
    display: flex;
}
.cat_header .cat_list:nth-last-child(1){
    margin-top: 2.40219629375429vw;
}
.cat_header .cat_list:nth-last-child(2){}
.cat_list a {
    color: #000;
    position: relative;
    overflow: hidden !important;
    transition: 0.25s;
    padding: 0 5px;
    display: inline-block;
}
.cat_list a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(transparent 10%, black 10%, black 90%, transparent 90%);
    transition: 0.25s;
    z-index: -1;
}
.no-touch .cat_list a:hover {
    color: #fff;
}
.no-touch .cat_list a:hover:before {
    width: 100%;
}
.cat_list a+a.short{
    margin-left: calc(3.4317089910775564vw - 10px);
}
.cat_list a.short:first-of-type {
    margin-left: 0 !important;
}
.cat_list a.site-link.active{
    position: relative;
}
.cat_years{
    display: flex;
}
.cat_years a+a.short{
    margin-left: 2.059025394646534vw;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cat_years a.site-link.active{
    position: relative;
}
/*.site-link-wrapper .site-link.active:before{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100vw;
    top: 0;
    height: 0.15em;
    left: 0;
    z-index: 10;
}*/
.service_slide .site-link.active,
.home.about .site-link.active{
    text-transform: uppercase;
    background: linear-gradient(transparent 10%, black 10%, black 90%, transparent 90%);
}
/*.site-link-wrapper .site-link.active:after{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100vw;
    bottom: 0;
    height: 0.15em;
    left: 0;
    z-index: 10;
}*/
.menu_wrapper a.site-link.active:before{
    content: '';
    position: absolute;
    background: #000000;
    width: 100%;
    top: 0;
    height: 0.15em;
    left: 0;
    z-index: 10;
}
.menu_wrapper a.site-link.active:after{
    content: '';
    position: absolute;
    background: #000000;
    width: 100%;
    bottom: 0;
    height: 0.15em;
    left: 0;
    z-index: 10;
}
.cat_list a.site-link.active:before,
.cat_years a.site-link.active:before{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    top: 0;
    height: 3px;
    left: 0;
    z-index: 10;
}
.cat_list a.site-link.active:after,
.cat_years a.site-link.active:after{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    bottom: 0;
    height: 3px;
    left: 0;
    z-index: 10;
}
.cat_item .project_holder{
    padding: 0;
    overflow: hidden;
    pointer-events: none;
}
.touch .cat_item .project_holder{
}
.cat_item:nth-child(1),
.cat_item:nth-child(2){
    margin-top: 0;
}
.cat_item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}
.cat_name{
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    padding-left: 2.059025394646534vw;
    width: 17.158544955387782vw;
    background: rgba(0, 0, 0, .5);
    opacity: 1;
    transition: transform .3s linear 0s, opacity .3s linear 0s;
}
.cat_wrapper{
    padding: 0 6.863417982155113vw;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.category_template main{
    margin-bottom: 7.89293067947838vw;
}

.cat_item .project_holder:after{
    left: 0;
    right: 0;
    transition: transform .5s linear 0s;
}
.no-touch .cat_item:hover .cat_name{
    transform: translate(-100%,0);
    opacity: 0;
    transition: transform .3s linear .2s, opacity .3s linear .2s;
}
.no-touch .cat_item:hover .cat_desc{
    opacity: 0;
    transition: transform .3s linear .2s, opacity .3s linear .2s;
}
.no-touch .cat_item:hover .project_holder:after{
    transform: translate(-100%,0);
    transition: transform .5s linear 0s;
}
.cat_wrapper+div{
    margin-top: 7.89293067947838vw;
}
.cat_wrapper+div+.pagination{
    margin-top: 6.520247083047358vw;
}
.pagination{
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
}
.pagination .more_link{
    height: 1.3726835964310227vw;
    display: flex;
}
.pagination .more_link span{
    margin: 0;
}
.page-link-numbers{
    margin: 0 17.158544955387782vw;
    display: flex;
    flex-flow: row nowrap;
}
.page-link-numbers .site-link.active {
    padding-left: 0;
    margin-left: 0;
}
.btn_wrap{
    width: 100%;
    display: flex;
    justify-content: center;
}
.cat_image{
    width: 100%;
}
.cat_image a{
    display: block;
    height: 100%;
    width: 100%;
}
.page-link-numbers a{
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 20px;
    margin: 0 0.34317089910775567vw;
    width: 1.3726835964310227vw;
    color: #000;
    transition: .25s;
    overflow: hidden;
}
.page-link-numbers a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(transparent 10%, black 10%, black 90%, transparent 90%);
    transition: 0.25s;
    z-index: -1;
}
.no-touch .page-link-numbers a:hover {
    color: #fff;
}
.no-touch .page-link-numbers a:hover:before {
    width: 100%;
}
.pagination .more_link span:after{
    content: '';
    width: 0;
    top: 0;
    display: block;
    height: 1px;
    background: #000;
    position: absolute;
    transition: width .2s linear;
}
.no-touch .pagination .more_link:hover span:after{
    width: 1.3726835964310227vw;
}
.pagination .more_link.prev span:after{
    left: 100%;
}

.pagination .more_link.next span:after{
    right: 100%;
}
.no-touch .page-link.more_link:hover span{
    width: 2.7453671928620453vw;
}
.page-link-numbers .site-link.active.short{
    padding: 0;
    margin: 0 0.34317089910775567vw;
}
.page-link-numbers .site-link.active.short:before{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    top: 0;
    height: 2px;
    left: 0;
    z-index: 10;
}
/*.page-link-numbers .site-link.active.short:after{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    bottom: 0;
    height: 2px;
    left: 0;
    z-index: 10;
}*/
.dropdown.site-link{
    color: #ffffff;
    background: #000000;
    padding: 0 5px;
}
.dropdown.site-link:before{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    top: 0;
    height: 2px;
    left: 0;
    z-index: 10;
}
.dropdown.site-link:after{
    content: '';
    position: absolute;
    background: #ffffff;
    width: 100%;
    bottom: 0;
    height: 0;
    left: 0;
    z-index: 10;
}
.btn_drop svg{
    width: 19px;
    height: 10px;
    margin-left: 10px;
    margin-top: 1px;
    transition: transform .5s linear;
    transform: scale(1);
}
.btn_drop.active svg{
    transform: scale(-1);
}
.btn_drop{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.page-link-numbers a.active{
    /* background: #000000; */
    /* color: #ffffff; */
}
.close-dropdown{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    text-align: center;
    width: 100%;
    box-shadow: 0 1px 0 0 #fff inset;
}
.big_text p{
    line-height: .73;
}
.not_found .headline{
    /* height: 100%; */
    padding: 0 10px;
}
.not_found main{
    display: flex;
    height: 100%;
    flex-flow: column wrap;
}
.not_found .rect-link.short{
    margin-bottom: 15px;
}
.not_found main>div{
    margin-top: 5.490734385724091vw;
    text-align: center;
}
.about_image div[data-depth],
.service_img div[data-depth]{
    position: absolute;
}
div.service_bubble-1{width: 5.284831846259437vw;height: 4.80439258750858vw;top: 10.6%;left: -5.6%;}
div.service_bubble-2{width: 6.520247083047358vw;height: 6.863417982155113vw;left: 2.8%;top: 49.5%;}
div.service_bubble-3{width: 7.824296499656829vw;height: 7.824296499656829vw;left: 20.1%;top: 64.4%;}
div.service_bubble-4{width: 5.5593685655456415vw;height: 5.765271105010295vw;left: 41%;top: 82.1%;}
div.service_bubble-5{width: 7.27522306108442vw;height: 7.89293067947838vw;left: 57%;top: 11.5%;}

.home div.about_bubble-1{width: 2.40219629375429vw;height: 2.40219629375429vw;top: 15.6%;left: 29.4%;}
.home div.about_bubble-2{width: 4.323953328757721vw;height: 3.706245710363761vw;left: 14.7%;top: 36.2%;}
.home div.about_bubble-3{width: 4.323953328757721vw;height: 4.186684969114619vw;left: 26.1%;top: 67.4%;}
.home div.about_bubble-4{width: 2.539464653397392vw;height: 2.539464653397392vw;left: 45%;top: 87.1%;}
.home div.about_bubble-5{width: 5.971173644474948vw;height: 5.490734385724091vw;left: 61%;top: 73.5%;}


.canvas_slider{
    width: 100vw;
    height: 100vh;
    position: relative;
    display: flex;
    background-size: cover;
    background-position: center center;
    background: #000;
}
.canvas_slider canvas{
    opacity: 0;
    transition: opacity 0.3s linear;
}
.canvas_holder{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    transition: 2s;
}
.main_wrapper.project_inner{
    background: #ffffff;
}
.black_body{
    background: #000000;
}
.main_wrapper.category_template{
    opacity: 0;
}

.scene-nav{
    width: 8.236101578586135vw;
    height: 8.236101578586135vw;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
    transition: transform .2s linear;
    border-radius: 50%;
    min-width: 90px;
    min-height: 90px;
}
.scene-nav:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.25);
    border-radius: 50%;
    border: 1px solid #fff;
    transition: opacity .2s linear;
}
.no-touch .scene-nav:hover:before{
    opacity: 0;
}
.scene-nav img{
    width: 100%;
    object-fit: cover;
    height: 100%;
    transition: transform .2s linear;
    border-radius: 50%;
}
[data-nav="prev"]{
    left: 2.7453671928620453vw;
}

[data-nav="next"]{
    right: 2.7453671928620453vw;
}
.shape-overlays{}
.shape-overlays path:nth-child(1){fill: rgba(0,0,0,0.2);}
.shape-overlays path:nth-child(2){fill: rgba(0,0,0,0.2);}
.shape-overlays path:nth-child(3){fill: rgba(0,0,0,0.2);}
.project_inner header {
    background: rgba(0,0,0,0.15);
    transition: background .2s linear .2s;
}
.project_inner header.hide_bg {
    background: none;
}
.project_inner header.black_bg{
    background: rgba(0,0,0,1);
    transition: background .6s linear 0s;
}
.project_inner header > *{
    color: #ffffff;
}

.project_content{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    margin: auto;
    text-align: center;
    width: 51.47563486616335vw;
    padding-top: 8.236101578586135vw;
    opacity: 0;
}
.project_content>p{
    width: 100%;
}
.project_content .description{
    margin: 3.088538091969801vw 0;
}
.tags{
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    margin-top: 2.059025394646534vw;
}
.tag_item{
    display: flex;
    flex-flow: column nowrap;
    /*justify-content: center;*/
    align-items: center;
    text-align: center;
    width: 100%;
}
.tag_item svg{
    width: 2.059025394646534vw;
    height: 2.059025394646534vw;
    min-width: 30px;
    min-height: 30px;
    margin-bottom: 2.059025394646534vw;
}
.tag_item i{
    margin-top: 0.34317089910775567vw;
}
.canvas_footer{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.45);
    transition: background .2s linear .2s, opacity .2s linear;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 0 2.7453671928620453vw;
    opacity: 0;
}
.canvas_footer.hide_bg {
    background: none;
}
.canvas_footer>*{
    width: 33.333333%;
}
svg.share{
    width: 2.059025394646534vw;
    height: 2.059025394646534vw;
    min-width: 30px;
    min-height: 30px;
    margin-left: 0.6863417982155113vw;
}
svg.arrow-close{
    width: 4.25531914893617vw;
    min-width: 62px;
    height: 0.7549759780370624vw;
    min-height: 11px;
    margin: 0 auto 5px;
    transition: transform .2s linear;
    transform: scale(-1);
}
button.active svg.arrow-close{
    transform: scale(1);
}
.show-info{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
.share_wrap{
    text-align: right;
}
.back_wrap{}
.back_wrap span{
    margin: 0 10px 0 0;
}
.main_logo a.black-logo{
    display: none;
}
.project_inner .project_holder .description{
    margin-top: 0.6863417982155113vw;
}
.images .slick-slide img{
    width: 100%;
    height: 50vw;
    min-height: 325px;
    max-height: 450px;
}
.project_slider{
    display: none;
}
.project_inner .btn_wrap{
    display: none;
}
.static-mobile{
    position: static!important;
}
.about_image div[class^="about_page-bubble-"]{
    width: auto;
    height: auto;
}
.about_image div[class^="about_page-bubble-1"]{
    width: 5.628002745367192vw;
    height: 7.89293067947838vw;
    top: 2.7453671928620453vw;
    left: 24.708304735758407vw;
    min-width: 58px;
    min-height: 81px;
}
.about_image div[class^="about_page-bubble-2"]{
    width: 4.461221688400824vw;
    height: 4.667124227865477vw;
    top: 38.43514070006864vw;
    left: 35.346602608098834vw;
    min-width: 46px;
    min-height: 48px;
}
.about_image div[class^="about_page-bubble-3"]{
    width: 5.010295126973233vw;
    height: 5.696636925188744vw;
    top: 10.981468771448181vw;
    left: 21.962937542896363vw;
    min-width: 52px;
    min-height: 59px;
}
.about_image div[class^="about_page-bubble-4"]{
    width: 3.4317089910775564vw;
    height: 3.2944406314344543vw;
    top: 28.483184625943718vw;
    left: 13.726835964310226vw;
    min-width: 43px;
    min-height: 41px;
}
.about_image div[class^="about_page-bubble-5"]{
    width: 6.520247083047358vw;
    height: 6.177076183939602vw;
    top: 34.317089910775564vw;
    left: 8.922443376801647vw;
    min-width: 67px;
    min-height: 63px;
}
.about_image div[class^="about_page-bubble-6"]{
    width: 1.9217570350034316vw;
    height: 2.059025394646534vw;
    top: 35.68977350720659vw;
    left: 40.83733699382292vw;
    min-width: 24px;
    min-height: 26px;
}
.team_img{
    display: flex;
    height: 100%;
}
.team_img img{
    width: 100%;
    height: 25.737817433081673vw;
    object-fit: cover;
    min-height: 215px;
}
#timeline-bubbles{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 150;
    pointer-events: none;
}
#timeline-bubbles div.about_bubble-5{
    top: 35%;
    left: 75%;
}
#timeline-bubbles [data-depth]{
    position: absolute;
}
/* .timeline_content:before{
    content: '';
    position: absolute;
    top: -2.863417982155113vw;
    left: -50vw;
    bottom: -2.863417982155113vw;
    right: -100vw;
    transition: all .2s linear;
    pointer-events: none;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 10%, rgba(0, 0, 0, 0.2) 50%, rgba(255, 255, 255, 0) 90%);
    opacity: 0;
    z-index: 11;
}
.timeline_scroll:hover .timeline_content:before{
    opacity: 1;
} */
.project_holder .cat_name{
    pointer-events: all;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    justify-content: flex-start;
}
.project_holder .cat_name > p{
    width: 100%;
}


.cat_item{
    position: relative;
    cursor: pointer;
}

.project_holder a.cat_desc{
    white-space: break-spaces;
}

.project_holder a.cat_desc br{
    display: none;
}

@media (min-width: 401px){}
@media (min-width: 701px){}
@media (min-width: 801px){
    .cat_item{
        width: calc(50% - 10px);
        margin-top: 20px;
    }
    .cat_name{
        height: 100%;
    }
    .project_holder{
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        z-index: 10;
        width: 100%;
        height: 100%;
        display: flex;
        flex-flow: row wrap;
        align-items: flex-end;
        align-content: flex-end;
        padding: 2.7453671928620453vw;
        transform: perspective(800px) translate(0,0%);
        transform-style: preserve-3d;
        /* transition: all .3s linear; */
    }
    .project_holder:after{
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: -1%;
        right: -1%;
        bottom: 0;
        background: rgba(0,0,0,.6);
        z-index: -1;
        transform: rotateX(0deg) translate3d(0%,0%, 0px) rotateY(0);
        transition: transform .3s linear 0s;
        pointer-events: none;
    }
    .project_holder a{
        opacity: 1;
        transition: opacity 0.3s linear .2s, transform .5s linear .2s;
        transform: rotateX(0deg) translate3d(0%,0%, 0px);
        display: flex;
        align-items: flex-end;
        padding: 2.7453671928620453vw;
        pointer-events: all;
    }
}
@media (min-width: 901px){
    .cat_item{
        width: calc(50% - 20px);
        margin-top: 40px;
        min-height: 201px;
    }
}
@media (min-width: 1000px){}
@media (min-width: 1025px){
    .cat_image{
        height: 100%;
    }
}
@media (min-width: 1201px) {
    .cat_item{
        position: relative;
        width: 41.18050789293068vw;
        cursor: pointer;
        margin-top: 2.40219629375429vw;
        height: 22.99245024021963vw;
    }
}
@media (min-width: 1401px){}
@media (min-width: 1701px){
    header{
        padding-top: 25px;
        padding-bottom: 25px;
    }
}




@media (max-width: 1600px) {
    .about_animated .waves{
    top: -33%;
    left: -32%;
    }
}
@media (max-width: 1500px) {
    .about_animated .waves{
    left: -33%;
    top: -34%;
}
}
@media (max-width: 1400px) {
    .about_animated .waves{
    }
}
@media (max-width: 1300px) {
    .about_animated .waves{
    left: -30%;
    top: -37%;
    }
}
@media (max-width: 1200px) {
    footer .location{
        margin: 15px 0 25px 0;
    }
    .menu_wrapper>span:not(:first-child){
        margin-top: 30px;
    }
    .cat_header .cat_list:nth-last-child(1){
        margin-top: 30px;
    }
    .about_template .about .about_image div.bubble-line{
        bottom: calc(60px + -1.8%);
    }
    .slider_holder>div{
        justify-content: center;
    }
    .about_animated .waves {
        left: -64%;
        top: -54%;
        width: 228%;
        height: 190%;
    }
    .about_text {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .holder {
        padding: 30px 0;
        /* position: static; */
    }
    .quote_content{
        width: auto;
        margin: 0 40px;
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        align-content: center;
    }
    .home-page footer {
        height: auto;
    }
    .timeline {
        height: auto;
    }
    .line_item {
        height: 75px;
    }
    .home.about ,
    .home.quote ,
    .home.service {
        height: auto;
    }
    .home .projects_wrap {
        height: auto;
    }
    .timeline_years .site-link.active{
        /*line-height: 0.9;*/
        margin: 0 0 0 20px;
    }
    .timeline:after{
        height: 50px;
    }
    .about_image div[class^="about_page-bubble-1"]{
        left: 65%;
        top: 6%;
    }
    .about_image div[class^="about_page-bubble-2"]{
        left: 75%;
        top: 90%;
    }
    .about_image div[class^="about_page-bubble-3"]{
        top: 18%;
        left: 40%;
    }
    .about_image div[class^="about_page-bubble-4"]{
        left: 26%;
        top: 58%;
    }
    .about_image div[class^="about_page-bubble-5"]{
        top: 70%;
        left: 10%;
    }
    .about_image div[class^="about_page-bubble-6"]{
        top: 70%;
        left: 95%;
    }
    .project_inner .project_holder .description{
        margin-top: 10px;
    }
    .project_inner .project_holder{
        padding: 15px 15px 10% 15px;
        align-items: center;
    }
    svg.arrow-close{
        width: 60px;
        height: 10px;
        min-height: 10px;
        min-width: 60px;
    }
    svg.share{
        width: 30px;
        height: 30px;
        margin-left: 10px;
    }
    .back_wrap.more_link.inverse span{
        margin-left: 0;
    }
    .canvas_footer{
        padding: 0 20px;
    }
    .project_content .description{
        margin: 35px 0;
    }
    .tags{
        margin-top: 40px;
    }
    .tag_item svg{
        margin-bottom: 20px;
        width: 30px;
        height: 30px;
        min-width: 30px;
        min-height: 30px;
    }
    .tag_item i{
        margin-top: 5px;
    }
    .project_content{
        width: 65%;
        padding-top: 90px;
    }
    [data-nav="prev"]{
        left: 30px;
    }
    [data-nav="next"]{
        right: 30px;
    }
    .more_projects_wrap .headline{
        margin: 45px 0 30px 0;
    }
    .service{
        padding-top: 50px;
    }
    .not_found .headline{
        height: auto;
    }
    .not_found main{
        justify-content: space-around;
        padding-bottom: 90px;
    }
    .not_found main>div{
        margin-top: 0;
    }
    .cat_wrapper+div{
        margin-top: 55px;
    }
    .cat_wrapper+div+.pagination{
        margin-top: 40px;
    }
    .category_template main{
        margin-bottom: 50px;
    }
    .no-touch .pagination .more_link:hover span:after{
        width: 20px;
    }
    .page-link.more_link span,
    .no-touch .page-link.more_link:hover span{
        width: 60px;
    }
    .pagination .more_link{
        height: 18px;
    }
    .rect-link.short{
        padding: 5px 10px;
    }
    .cat_name{
        padding-left: 20px;
        width: 45%;
    }
    .project_holder .cat_name a{
        padding: 0;
    }
    .cat_wrapper{
        padding: 0 45px;
    }
    .cat_header{
        padding: 45px 0 45px 90px;
    }
    .cat_years a.site-link.active{
        margin-left: 20px;
    }
    .cat_list a.site-link.active{
        margin-left: 30px;
    }
    .site-link.active.short{
        padding: 0 5px;
    }
    .cat_years a+a.short{
        margin-left: 25px;
    }
    .cat_list a+a.short{
        margin-left: 25px;
    }
    .about_template .about .about_text{
        padding-right: 5%;
    }
    .team_item{
        width: calc(25% - 10px);
        margin: 0 0 10px 10px;
    }
    .team_wrap{
        margin-left: -10px;
        width: calc(100% + 10px);
    }
    .team .project_holder{
        padding: 20px;
    }
    a.rect-link{
        padding: 5px 35px;
    }
    .line_item:nth-child(odd):after{
        top: calc(100% - 5px);
        transform: translate(2px,0);
    }
    .line_item:nth-child(even):after{
        top: -5px;
        transform: translate(2px,0);
    }
    .timeline_content{
        margin-bottom: 60px;
    }
    .timeline_years button+button{
        margin-left: 20px;
    }
    .timeline_scroll{
        padding-top: 60px;
    }
    .timeline{
        padding: 50px 0;
    }
    .line_number:after,
    .line_item:after{
        height: 13px;
    }
    .line_item:nth-child(odd){
        padding-bottom: 15px;
    }
    .line_item:nth-child(even){
        padding-top: 15px;
    }
    .line_item{
        padding-right: 5px;
    }
    .project_holder a{
    padding: 15px 15px 30px 15px;
    }
    .service_slide .description{
        margin: 40px 0;
    }
    .quote{
    }
    .slide-nav.next{
        right: calc(100% - 10.29512697323267vw - 150px);
    }
    .service_slider_wrap{
        width: 60%;
    }
    .service_img{
        width: 40%;
        padding-bottom: 160px;
    }
    .quote_content .description:after{
        width: 12px;
        height: 1em;
        /*position: absolute;
        bottom: 0;
        right: -15px;*/
    }
    .quote_content .description:before{
        width: 12px;
        height: 1em;
        left: -12px;
    }
    .more_link span{
        width: 60px;
        margin-left: 20px;
    }
    .about_template .about .about_image{
        justify-content: center;
        padding: 120px 0 60px 30px;
    }
    .about_template .about .about_image img.static-image{
        transform: translate(-6%,2%)!important;
    }
    .about .about_image{
        padding: 120px 0 200px 0;
    }
    .hidden_menu{
        padding-left: 80px;
        max-width: 100%;
    }
    .social_menu a{
        margin-top: 20px;
        min-height: 22px;
    }
    .contact_menu>a+a{
        margin-top: 20px;
    }
    .social_menu{
        right: calc(100% + 60px);
        bottom: 70px;
        padding-right: 15px;
    }
    .menu_wrapper>span+a,
    .menu_wrapper>a+a{
        margin-top: 30px;
    }
    .contact_menu{
        margin: auto 0 0 0;
        padding-bottom: 70px;
    }
    /*.site-link.active:before{
        left: -30px;
        width: calc(100% + 35px);
        top: 10%;
        bottom: 10%;
    }*/
    .menu_wrapper{
        padding: 10.981468771448181vh 30px 0 60px;
    }
    .socials a{
        margin: 0 15px;
    }
    .headline h1{
        margin-top: 25px;
        margin-bottom: 35px;
    }
    .project_holder .description{
        margin-top: 10px;
    }
    footer{
        padding: 40px 60px;
    }
    .copyright{
        margin-top: 40px;
    }
    .menu_wrap a,
    .contact_wrap address,
    .contact_wrap a{
        margin-bottom: 10px;
    }
    .menu_wrap > *:not(:last-child) {
        margin-bottom: 10px;
    }
    header{
        padding: 33px 20px;
    }
    .language a,
    .language button{
        letter-spacing: -1px;
    }
    .menu_wrapper>span,
    .menu_wrapper>a{
        font-weight: 400;
    }
    .service .headline{
        margin-bottom: 30px;
    }
    .team .headline{
        margin-bottom: 50px;
    }
    .site-link.active{
        padding-left: 25px;
        margin-left: -25px;
    }
    .no-touch .more_link:hover span{
        width: 40px;
    }

    .menu_wrapper>span.child-link,
    .menu_wrapper>a.child-link {
        margin-top: 10px;
        font-size: 16px;
        margin-left: 15px;
    }
}
@media (max-width: 1024px) {

    .about_bubble-1 img,
    .about_bubble-2 img,
    .about_bubble-3 img,
    .about_bubble-4 img,
    .about_bubble-5 img {
    }

    .about_page-bubble-1 img,
    .about_page-bubble-2 img,
    .about_page-bubble-3 img,
    .about_page-bubble-4 img,
    .about_page-bubble-5 img {
        max-width: 100%;
    }

    .active .more_info{
        left: 50%;
    }
    .more_info{
        bottom: 0;
        width: 50%;
    }
    .contact_wrap{
        width: 40%;
        padding-right: 20px;
    }
    .menu_wrap{
        width: 35%;
        padding: 0 0 0 0%;
        max-width: 100%;
    }
    .logo_wrap{
        width: 25%;
        min-width: 1px;
    }
    .cat_wrapper .project_holder .cat_name{
        position: static;
        text-align: left;
        width: 100%;
        height: auto;
        background: #000000;
    }
    .project_holder a.cat_desc{
        display: block;
        background: black;
        padding: 0 10px 20px 10px;
        text-align: left;
    }
    .cat_wrapper .cat_holder.project_holder {
        position: static;
        height: auto;
    }
    .cat_wrapper .cat_item img {
        height: 30vw;
    }
    .cat_wrapper .cat_item{
        display: flex;
        flex-flow: column;
        background: #000;
    }
}
@media (max-width: 1023px) {

    .quote_content .description{
        margin: 30px 0;
    }
    .home.quote .holder{
        margin-top: -155px;
    }
    .home.quote{
        background: linear-gradient(-180deg, rgba(0, 0, 0, 0.37) 50%, rgb(0, 0, 0) 100%);/* W3C */
        background: #000;
    }
    .editor__content {
        margin: 40px 60px;
    }
    .line_year:first-child{
        padding-left: 60px;
    }
    .line_year:first-child:after{
        width: 60px;
    }
    .about.home .about_description{
        width: 90%;
        min-width: 1px;
    }
    .timeline_scroll{

    }
    .timeline_years {
        padding:0 60px;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .timeline_years button {
        margin-bottom: 10px;
    }
    .slide-nav{
        left: 10%;
        height: 30px;
    }
    .slide-nav.next{
        right: calc(90% - 150px);
    }
    .service_slide .description{
        min-width: 100%;
        width: 100%;
        text-align: justify;
    }
    .service_slide{
        padding-left: 60px;
        padding-right: 5%;
    }
    .service_navigation{
        width: 90%;
    }
    .quote_content{
        min-width: 300px;
        width: 85%;
        margin-top: 0;
        margin-left: 40px;
    }
    .holder{
        display: flex;
        align-items: center;
        /* justify-content: center; */
        position: static;
        padding: 35px 0;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) -10%, rgb(0, 0, 0) 25%);
        /* background: rgba(0,0,0,0); */
    }
}
@media (max-width: 1000px) {
    svg.share{
        width: 19px;
        height: 20px;
        min-width: 19px;
        min-height: 20px;
    }
    .slide-count{
        position: absolute;
        top: calc(100% + 35px);
        transform: translate(0,-50%);
        text-align: center;
        width: 100%;
    }
    .project_inner .btn_wrap{
        display: flex;
        justify-content: flex-end;
        padding: 40px 60px 0 60px;
    }
    .images .slide-nav{
        top: calc(100% + 35px);
        z-index: 150;
    }
    .images .slide-nav.next{
        right: 45px;
    }
    .images .slide-nav.prev{
        left: 45px;
    }
    .shape-overlays-mobile{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
    }
    .shape-overlays-mobile path{
        opacity: 0.2;
    }
    .show-info-mobile{
        margin: 25px 0;
        display: flex;
        flex-flow: row wrap;
        align-items: center;
    }
    .show-info-mobile svg{
        width: 19px;
        height: 10px;
        margin-left: 10px;
        transition: transform .2s linear;
        transform: scale(1);
    }
    .show-info-mobile.active svg{
        transform: scale(-1);
    }
    .slider_holder>p{
        width: 100%;
        text-align: center;
    }
    .slider_holder>div{
        width: 100%;
        pointer-events: none;
    }
    .slider_holder{
        position: absolute;
        bottom: 70px;
        left: 35px;
        right: 35px;
        z-index: 50;
        display: flex;
        justify-content: center;
        flex-flow: row wrap;
        opacity: 0;
        pointer-events: none;
    }
    .project_content .description{
        margin-bottom: 0;
        max-width: 70%;
        min-width: 290px;
    }
    .project_slider{
        display: block;
        padding: 0 15px;
        width: 100%;
        position: relative;
        margin-top: 30px;
    }
    .images{
        width: 100%;
        margin-bottom: 35px;
    }
    .project_content{
        position: static;
        opacity: 1;
        padding: 0;
        width: 100%;
    }

    .project_inner header .language button,
    .project_inner header .language ul a{
        color: #000000;
    }
    .more_projects_wrap .project_item img{
        height: 40vw;
        min-height: 300px;
    }
    .more_projects_wrap{
        margin: 0;
        justify-content: space-between;
        width: 100%;
    }
    .more_projects_wrap .project_item{
        overflow: hidden;
        width: calc(50% - 10px);
        margin: 0 0 20px 0;
    }
    .main_logo a.white-logo{
        display: none;
    }
    .main_logo a.black-logo{
        display: flex;
    }
    .project_inner header .burger>div{
        background: #000000;
    }
    .project_inner header{
        background: rgba(255,255,255,1);
    }
    .project_inner header.black_bg{
        background: rgba(255,255,255,1);
    }
    .canvas_slider *,
    .canvas_slider{
        display: none;
    }
    .projects .headline{
        margin-bottom: 20px;
        margin-top: 10px;
    }
    .home .project_item{
        width: 50%;
        min-height: 215px;
    }
}
@media (max-width: 900px) {
    .about_template .about .about_image{
        padding-left: 60px;
        justify-content: flex-start;
    }
    .about_template .about .about_image img.static-image{
        width: calc(363px / 1.5);
        height: calc(477px / 1.5);
    }
    .team_img img{
        height: 40vw;
    }
    .cat_name{
        width: 60%;
    }
    .cat_header{
        padding: 45px 0 45px 40px;
    }
    .cat_wrapper{
        padding: 0 20px;
    }
    .about_template .about_animated{
        width: 50%;
    }
    .about_template .about .about_description{
        width: 100%;
    }
    .about_template .about .about_text{
        padding-right: 50px;
        width: 60%;
        margin-left: -10%;
    }
    .team_item{
        width: calc(50% - 10px);
    }
    .about_animated .waves{
    left: -71%;
    top: -51%;
    }
    .home .about_animated .waves{
        left: -200%;
        top: -50%;
        right: -100%;
        bottom: -50%;
        width: 400%;
        height: 200%;
    }
    .about .about_image{
        padding: 80px 0 120px 0;
    }
    .home .about_image img.david{
        width: 216px;
        height: auto;
        object-position: right top;
        transform: none;
    }
    .about_animated{
        width: 24%;
        min-width: 216px;
    }
    .about_text{
    }
    .home .about_text{
        width: 76%;
        padding-left: 60px;
        padding-right: 50px;
        max-width: calc(100% - 216px);
    }
    .about.home .about_description{
        width: 100%;
    }
    .home img[class^='about_bubble-']{
        display: none;
        width: auto;
        height: auto;
        visibility: hidden;
    }
    .home img[class^='about_bubble-3']{
        visibility: visible;
        left: 150%;
        top: 85%;
    }
    .home img[class^='about_bubble-5']{
        visibility: visible;
        top: 70%;
        left: 68%;
    }
}
@media (max-width: 800px) {
    .service_bubble-1 img,
    .service_bubble-2 img,
    .service_bubble-3 img,
    .service_bubble-4 img,
    .service_bubble-5 img {
        max-width: 100%;
    }
    .cat_wrapper{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 30px 20px;
    }
    .cat_wrapper .cat_item{
        display: flex;
        flex-flow: column;
        background: #000;
    }
    .home .project_holder{
        background: rgba(0, 0, 0, 0.6);
    }
}
@media (max-width: 767px) {
    .about_image div[class^="about_page-bubble-5"]{
        visibility: hidden;
    }
    .slide-nav{
        left: 60px;
        z-index: 150;
    }
    .slide-nav.next{
        right: 60px;
    }
    .service_slide{
        padding-left: 60px;
        padding-right: 60px;
    }
    .quote_content{
        margin-left: 60px;
    }
    .service_slider_wrap{
        width: 100%;
    }
    .service_img{
        width: 100%;
        padding-bottom: 0;
        margin-top: 15px;
        z-index: -1;
    }
    .service_img div{
        /*width: auto;*/
        /*height: auto;*/
    }
    .quote img{
        /* min-height: 400px; */
        object-fit: cover;
        object-position: center right;
    }
    .service_img div[class^="service_bubble-"]{
        visibility: hidden;
    }
    .service_img div[class^="service_bubble-1"]{
        visibility: visible;
        left: 80%;
        top: -10%;
        width: 70px;
        height: 50px;
    }
    .service_img div[class^="service_bubble-3"]{
        visibility: visible;
        left: 60%;
        top: 45%;
        width: 100px;
        height: 100px;
    }
    .service_img div[class^="service_bubble-5"]{
        visibility: visible;
        left: 30%;
        top: -45%;
        z-index: -1;
        width: 85px;
        height: 100px;
    }
}
@media (max-width: 700px) {
    .cat_header .cat_list{
        display: none;
    }
    .about_template .about_animated .waves{
        top: -51%;
        left: -68%;
    }
    #timeline-bubbles{
        display: none;
    }
    .line_year:first-child:after,
    .line_year:last-child::after {
        width: 0;
    }
    .line_year:first-child{
        padding-left: 0;
    }
    .timeline_years .site-link.active,
    .timeline_years .site-link{
        color: #ffffff;
        margin: 0;
        padding: 5px 0;
        background: rgba(0,0,0,0);
        line-height: normal;
        display: block;
        width: 100%;
    }
    .timeline .btn_wrap .arrow-down{
        width: 19px;
        height: 10px;
        margin-left: 10px;
        transition: transform .2s linear;
    }
    .timeline .btn_wrap.active .arrow-down{
        transform: scale(-1);
    }
    .timeline .btn_wrap{
        justify-content: flex-end;
        align-items: center;
        padding-right: 60px;
    }
    .timeline_years{
        position: absolute;
        opacity: 1;
        top: 110px;
        padding: 0;
        right: 20px;
        flex-flow: column wrap;
        background: #000000;
        width: 50%;
        box-shadow: 0 0 0 1px #ffffff inset;
        z-index: 500;
        display: none;
        /*bottom: 0;*/
        overflow: auto;
        height: 140px;
        border: 5px solid #000;
        box-shadow: 0 0 0 5px #000;
    }
    .timeline_years::-webkit-scrollbar{
        width: 5px;
        height: 5px;
    }
    .timeline_years::-webkit-scrollbar-track{
        background: rgba(255,255,255,0.3);
    }
    .timeline_years::-webkit-scrollbar-thumb{
        background: rgba(255,255,255,1);
    }
    .project_content .description{
        max-width: 90%;
    }
    .home-navigation{
        display: none;
    }
    .cat_list a.site-link.active:after, .cat_years a.site-link.active:after,
    .cat_list a.site-link.active:before, .cat_years a.site-link.active:before{
        display: none;
    }
    .cat_header{
        display: flex;
        justify-content: space-between;
        padding: 20px 45px 0 45px;
        position: relative;
        margin-bottom: 60px;
    }
    .cat_years,
    .cat_list{
        display: none;
        position: absolute;
        top: 100%;
        flex-flow: column wrap;
        background: #000000;
        z-index: 25;
        align-items: baseline;
        margin-top: 5px;
        width: 47%;
        padding: 50px 0 50px 45px;
    }
    .cat_years a.site-link.short,
    .cat_list a.site-link.short{
        color: #ffffff;
        margin: 0 0 15px 0;
        padding: 0;
    }
    .cat_name{
        width: 50%;

    }
    /*.cat_item:nth-child(2) {*/
        /*margin-top: 20px;*/
    /*}*/
    .cat_item{
        width: 100%;
        /*margin-top: 20px;*/
        min-height: 300px;
    }
    .socials a{
        margin: 0;
    }
    .socials a+a{
        margin-left: 20px;
    }
    .socials a svg{
        width: 25px;
        height: 25px;
    }
    .line_number:after{
        display: none;
    }
    .line_number{
        margin-bottom: 35px;
        width: auto;
        min-width: 1px;
        text-indent: 30px;
        padding-right: 2px;
        display: inline-block;
    }
    .line_item:nth-child(odd),
    .line_item:nth-child(even){
        transform: none;
        align-items: baseline;
        padding: 0 0 15px 0;
        font-size: 12px;
    }
    .line_item:before{
        content: '-';
        display: inline-flex;
        font-size: 34px;
        line-height: 13px;
        margin-top: -13px;
        transform: translate(0,5px);
        margin-right: 20px;
    }
    .line_item:after{
        display: none;
    }
    .timeline{
        padding: 80px 0;
        position: relative;
        overflow: visible;
    }
    .timeline_scroll{
        padding-top: 25px;
        padding-left: 70px;
        padding-right: 50px;
        overflow: auto;
        height: auto;
    }
    .timeline_content{
        margin: 0;
        display: block;
        flex-flow: row wrap;
        width: 100%!important;
    }
    .line_year{
        display: none;
        width: 100%;
    }
    .line_year.active{
        display: flex;
        flex-flow: row wrap;
        padding-left: 0;
        padding-right: 0;
    }
    .line_year:before{
        display: none;
    }
    .line_item{
        width: 100%;
        min-height: 1px;
        padding-right: 0;
    }
    .project_holder{
        padding: 20px;
    }
    .contact_wrap{
        order: 2;
        width: 50%;
    }
    .logo_wrap{
        order: 3;
        width: 200px;
        margin-bottom: 0;
        /* margin-left: 50%; */
        height: 60px;
        margin-top: 30px;
    }
    .menu_wrap{
        order: 1;
        width: 50%;
        padding: 0;
    }
    .copyright{
        order: 4;
        margin-top: 0;
        padding-top: 50px;
        position: relative;
    }
    footer{
        padding: 50px 40px 50px 60px;
        justify-content: flex-end;
        position: relative;
    }
    .socials{
        width: auto;
        order: 1;
        justify-content: flex-start;
        position: absolute;
        left: 0;
        bottom: 100%;
        height: 60px;
        align-items: center;
    }
    .made{
        order: 3;
    }
    .rights{
        order: 2;
    }
    .logo_wrap a{
        text-align: center;
    }
    .logo_wrap img{
        max-width: 100%;
        height: 60px;
        object-fit: contain;
    }
    .timeline_years .site-link:before{
        display: none;
    }
}
@media (max-width: 600px) {
    .cat_wrapper{
        grid-template-columns: auto;
    }
    .cat_wrapper .cat_item img{
        height: 45vw;
        min-height: 200px;
    }
    .cat_name{
        padding-right: 10px;
    }
    .home-page .project_holder a{
        align-items: flex-end;
    }
    .project_holder a{
        justify-content: center;
        align-items: flex-end;
        flex-flow: column wrap;
        position: static;
        padding: 0;
        text-align: right;
    }
    .about_template .about .about_image div.bubble-line,
    .about_template .svg_wrap{
        display: none!important;
    }
    .cat_item{
        min-height: 215px;
    }
    .contact_wrap address{
        margin-bottom: 0;
    }
    @keyframes transformWave {
        0%{
            transform: scale(1,1) rotate(-90deg) translate(-5%,-30%);
        }
        20%{
            transform: scale(.95,1.05) rotate(-85deg) translate(-5%,-30%);
        }
        40%{
            transform: scale(1.05,1) rotate(-95deg) translate(-5%,-30%);
        }
        60%{
            transform: scale(1,1.05) rotate(-85deg) translate(-5%,-30%);
        }
        80%{
            transform: scale(1.05,.9) rotate(-95deg) translate(-5%,-30%);
        }
        100%{
            transform: scale(1,1) rotate(-90deg) translate(-5%,-30%);
        }
    }
    .home div.about_bubble-3{
        visibility: hidden;
    }
    .service_bubble-1 img,
    .service_bubble-2 img,
    .service_bubble-3 img,
    .service_bubble-4 img,
    .service_bubble-5 img {
        max-width: 60%;
        object-fit: contain;
    }

    .waves img{}
    .waves img:nth-child(1){width: 220px;}
    .waves img:nth-child(2){width: 270px;}
    .waves img:nth-child(3){width: 320px;}
    .waves img:nth-child(4){width: 370px;}
    .waves img:nth-child(5){width: 420px;}
    .waves img:nth-child(6){width: 470px;}
    .waves img:nth-child(7){width: 520px;}
    .waves img:nth-child(8){width: 570px;}
    .holder {
        padding: 0;
    }
    .projects_wrap{
        flex-flow: row wrap;
    }
    .about {
        flex-wrap: wrap;
    }
    .about_image div[class^="about_page-bubble-"]{
        object-fit: contain;
    }
    .about_image div[class^="about_page-bubble-1"]{
        top: auto;
        left: 80%;
        width: 58px;
        height: 81px;
        bottom: 80vw;
    }
    .about_image div[class^="about_page-bubble-2"]{
        left: 5%;
        bottom: 70vw;
        top: auto;
    }
    .about_image div[class^="about_page-bubble-3"]{
        top: auto;
        bottom: 5vw;
        left: auto;
        right: 110%;
    }
    .about_image div[class^="about_page-bubble-4"],
    .about_image div[class^="about_page-bubble-5"],
    .about_image div[class^="about_page-bubble-6"]{
        visibility: hidden;
    }
    .home img[class^='about_bubble-3']{
        left: 20%;
        top: 10%;
        z-index: 51;
    }
    .more_projects_wrap .project_holder:after{
        background: rgba(0,0,0,1);
        left: 0;
        right: 0;
    }
    .more_projects_wrap .project_item .img_wrap{
        width: 50%;
    }
    .more_projects_wrap .headline p{
        text-align: right;
        padding: 0 60px 0 0;
    }
    .team .headline p{
        text-align: right;
        padding: 0 60px 0 0;
    }
    .tag_item i{
        font-size: 10px;
    }
    .more_projects_wrap{
        justify-content: center;
    }
    .project_inner .project_holder{
        padding: 10px;
        position: static;
        width: 50%;
        text-align: right;
        justify-content: flex-end;
        align-content: center;
    }
    .about_template .waves>path:nth-child(n+1):nth-child(-n+8){
        display: none!important;
    }
    .about_template .about .about_description{
        margin-top: 50px;
    }
    .about_template .about_animated .waves{
        transform: rotate(-90deg);
        top: -179%;
        bottom: auto;
        left: auto;
        right: -712px;
        width: 122%;
        height: 238%;
        min-width: 1150px;
        min-height: 1150px;
    }
    .about_template .about .about_text{
        width: 100%;
        margin-left: 0;
        padding: 0 60px;
        order: 1;
        display: flex;
        justify-content: flex-end;
    }
    .about_template .about_animated{
        width: 100%;
        order: 2;
        position: relative;
    }
    .about_template .about .about_image{
        width: 297px;
        padding: 0;
        transform: rotate(-90deg)!important;
        justify-content: flex-end;
        margin-right: 0;
        margin-left: auto;
    }
    .about_template .about .about_image img.static-image{
        width: auto;
        height: 297px;
        transform: none;
        object-fit: contain;
    }
    .team_img{
        width: 100%;
    }
    .team .project_holder{
        position: static;
        align-items: center;
        align-content: center;
    }
    .team_item .project_holder:after{
        background: #000000;
    }
    .team_wrap{
        width: 100%;
        margin: 0;
    }
    .team_item{
        width: 100%;
        margin-left: 0;
        display: flex;
        flex-flow: row nowrap;
        padding: 0 15px;
    }
    footer .location{
        display: flex;
        margin: 40px 0;
        justify-content: center;
    }
    footer .location a{
        margin: 0;
    }
    .home .project_item{
        width: 100%;
        margin-bottom: 15px;
        display: flex;
        padding: 0 15px;
    }
    .home .img_wrap{
        order: 1;
    }
    .home .project_holder:after{
        background: #000000;
        display: block;
        left: 0;
        right: 0;
    }
    .home .project_holder{
        position: static;
        width: 50%;
        order: 2;
        min-width: 50%;
        padding: 10px;
    }
    .projects{
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-end;
    }
    .projects .headline{
        text-align: right;
        padding-right: 50px;
        width: 50%;
        min-width: 300px;
    }
    .quote_content{
        width: auto;
        margin-right: 60px;
        /* max-height: 450px; */
        /* overflow-y: auto; */
        align-content: flex-start;
    }
    .mobile_caption{
        text-align: right;
        padding-right: 60px;
        padding-bottom: 10px;
        background: #fff;
    }
    .quote_author{
        margin-bottom: 20px;
    }
    .quote_content .description{
        margin: 30px 0 20px 0;
    }
    .quote img{
        min-height: 70vh;
        max-width: 100%;
        max-height: 100%;
        object-position: center;
    }
    .holder{
        position: absolute;
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
    }
    .home.quote .holder{
        position: static;
        margin-top: -255px;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) -20%, rgb(0, 0, 0) 30%);
    }
    .home.quote{
        background: rgba(0,0,0,1);
    }
    .home .about_animated .waves{
        left: auto;
        top: 0;
        right: 0;
        bottom: 0;
        width: 150%;
        height: 150%;
        min-width: 1181px;
        min-height: 1181px;
        transform: translate(-5%,-30%);
        margin-left: auto;
        margin-right: 0;
        animation: none;
    }
    .about_description{
        margin: 10px 0;
        text-align: justify;
    }
    .about_image div{
        height: 303px;
        object-fit: cover;
    }
    .home.about{
        padding-bottom: 100px;
    }
    .about{
        position: relative;
    }
    .site-link-wrapper {
        position: static;
        text-align: right;
        min-width: 300px;
        width: 50%;
    }
    .about_template .about_text .site-link-wrapper .site-link{
        top: 0;
        right: 0;
    }
    .about_text .site-link-wrapper .site-link{
        position: relative;
    }
    .about_text .about_title {
        position: absolute;
        top: 5%;
        right: 60px;
    }
    .active .more_info{
        overflow: hidden;
        width: 100%;
        height: 25%;
        left: 0;
        transition: top .2s linear;
    }
    .more_projects_wrap .project_item{
        width: calc(100% - 30px);
        margin: 0 0 20px 0;
        display: flex;
        flex-flow: row nowrap;
    }
    .more_projects_wrap .project_item img{
        height: 52vw;
        min-height: 215px;
    }
    /*.site-link.active:before{
        top: 10%;
        bottom: 10%;
    }*/
    .home .about_image{
        padding: 120px 0 0 0;
        justify-content: flex-start;
        z-index: 10;
        position: relative;
    }
    .about_animated{
        width: 100%;
        position: static;
    }
    .home .about_animated{
        position: relative;
    }
    .home .about_text{
        width: 100%;
        max-width: 100%;
        padding: 0 60px;
        position: static;
        text-align: right;
    }
    .service .headline{
        text-align: right;
        padding-right: 60px;
    }
    .service_slide{
        justify-content: flex-end;
        text-align: right;
    }
    .project_holder .cat_name {
        padding: 20px 10px;
    }
    .home .project_holder{
        background: rgba(0, 0, 0, 1);
    }
}
@media (max-width: 500px) {
    .project_holder a{
        width: 100%;
    }
    .slider_holder>div{
        padding: 0 15px;
    }
    .slider_holder>p{
        padding: 0 50px;
    }
    .slider_holder{
        left: 0;
        right: 0;
    }
    .page-link-numbers{
        margin: 0 45px;
    }
    .project_holder .cat_name{
        background: #000;
        display: block;
        width: 100%;
    }
    .project_holder .cat_name a{
        text-align: right;
    }
    .cat_desc {
        display: none;
    }
    /*.cat_item .project_holder{*/
        /*display: flex;*/
        /*justify-content: flex-end;*/
    /*}*/
    .cat_item .project_holder:after{
        display: none;
    }
    /*.cat_item{*/
        /*margin-top: 15px;*/
    /*}*/
    /*.cat_item:nth-child(2){*/
        /*margin-top: 15px;*/
    /*}*/
    .cat_wrapper{
        padding: 0 15px;
    }
    .socials,
    .logo_wrap img{
        height: 40px;
    }
    .contact_wrap a:last-child{
        margin-bottom: 0;
    }
    .logo_wrap{
        width: 160px;
        height: 40px;
    }
    .socials a svg use{
        fill-opacity: 1;
    }
    .menu_wrap span,
    .menu_wrap a{
        font-size: 16px;
        margin-bottom: 0;
    }
    .menu_wrap > *:not(:first-child){
        margin-top: 15px;
    }
    .contact_wrap{
        width: 100%;
        order: 2;
    }
    .menu_wrap{
        width: 100%;
        order: 1;
        margin-bottom: 50px;
    }
    .socials a+a{
        margin-left: 15px;
    }
    .cat_image,
    .cat_image a{
        height: auto;
    }
    .project_holder {
        position: static;
        height: auto;
    }
    .cat_item {
        display: block;
        height: auto;
    }
    .more_projects_wrap .project_item .img_wrap{
        width: 100%;
        height: auto;
    }
    .project_inner .project_holder{
        width: 100%;
        height: auto;
        padding: 0;
        text-align: left;
    }
    .project_inner .project_holder a{
        padding: 20px 10px;
    }
    .more_projects_wrap .project_item{
        flex-flow: row wrap;
        width: 100%;
        padding: 0;
    }
    /*.cat_item img{*/
        /*height: 51vw;*/
    /*}*/
}
@media (max-width: 450px) {
    .quote_content{
        min-width: 280px;
        /* max-height: 250px; */
    }
    .navigation .burger.active div.top,
    .navigation .burger.active div.bottom{
        transition: background-color .2s linear 0s;
    }
    .burger div.bottom,
    .burger div.top{
        transition: background-color .2s linear .4s;
    }
    .social_menu a{
        width: 27px;
        display: inline-flex;
        margin: 0 25px 0 0;
    }
    .social_menu a use{
        color: #ffffff;
        z-index: 50;
        opacity: 1;
    }
    .social_menu{
        position: static;
        display: flex;
        flex-flow: row wrap;
        width: auto;
        padding-right: 0;
        margin-bottom: 30px;
    }
    .menu_wrapper{
        padding: 70px 0 70px 60px;
        flex-flow: column nowrap;
    }
    .contact_menu{
        padding-bottom: 0;
        margin-top: 15px;
    }
    .language a, .language button{
        transition: color .4s linear;
    }
    .language.menu a, .language.menu button{
        color: #000000;
    }
    .hidden_menu{
        padding: 85px 0 0 0;
        width: 100%;
    }
    .socials{
    }
    .copyright p{
        text-align: center;
    }
}
@media (max-width: 400px) {
    .tags {
        margin-top: 20px;
    }
    .tag_item svg{
        margin: 10px 0;
    }
    .slider_holder{
        bottom: 15px;
    }
    .tag_item {
        /*width: 50%;*/
        width: 25%;
    }
    .slider_holder>div{
        flex-flow: row wrap;
    }
    .font-mob-173{
        font-size: 150px;
    }
    .cat_header{
        padding: 20px 20px 0 20px;
    }
    .cat_years{
        padding: 35px 0 35px 15px;
        width: 65%;
        right: 15px!important;
    }
    .cat_list{
        padding: 35px 0 35px 15px;
        width: 65%;
        /*left: 15px!important;*/
    }
    .team .project_holder{
        height: auto;
        padding: 10px 10px 30px 10px;
    }
    .menu_wrap span,
    .menu_wrap a{
        font-size: 16px;
    }
    footer{
        padding: 40px 20px;
    }
    .quote_content{
        min-width: auto;
    }
    .menu_wrapper{
        padding: 30px 0 40px 40px;
    }
    .hidden_menu span,
    .hidden_menu a{
        font-size: 18px;
    }

    .menu_wrapper>span.child-link,
    .menu_wrapper>a.child-link {
        margin-top: 5px;
        font-size: 12px;
        margin-left: 10px;
    }
}
@media (max-width: 355px) {
    .cat_item+.cat_item{
        margin-top: 25px;
    }
    .more_projects_wrap .project_item img{
        height: 250px;
    }
    .quote img {
        min-height: auto;
    }
    .holder {
        position: static;
    }
    .line_item {
        margin-bottom: 20px;
    }
    .about_text .about_title {
        right: 20px;
    }

    .tag_item {
        width: 50%;
    }
    .team_item{
        display: block;
    }
    .team_img {
        height: auto;
    }
    .project_item {
        flex-direction: column;
    }
    .project_item .project_holder {
        width: 100%;
        text-align: right;
    }
    .project_item .img_wrap {
        height: 250px;
    }
    .editor__content {
        margin: 20px;
    }
    .home-page .about_text .site-link {
        /*right: 20px;*/
    }
    .more_projects_wrap .headline p{
        padding: 0 15px 0 0;
    }
    .team .headline p{
        padding: 0 20px 0 0;
    }
    .cat_wrapper{
        padding: 0;
    }
    .about_template .about .about_text{
        padding: 0 20px;
    }
    .team .project_holder p.upper{
        font-size: 16px;
    }
    .team_item,
    .home .project_item{
        padding: 0;
    }
    .made{
        margin-top: 10px;
    }
    .copyright p{
        width: 100%;
    }
    .timeline_scroll{
        padding-left: 20px;
        padding-right: 20px;
    }
    .projects .headline{
        padding-right: 20px;
        min-width: 280px;
    }
    .slide-nav{
        left: 20px;
    }
    .slide-nav.next{
        right: 20px;
    }
    .service_slide{
        padding-left: 20px;
        padding-right: 20px;
    }
    .quote_content{
        margin-left: 20px;
        margin-right: 20px;
    }
    .about_text .site-link{
        right: 0;
    }
    .mobile_caption{
        padding-right: 20px;
    }
    .home .about_text{
        padding: 0 20px;
        text-align: right;
    }
    .project_holder .cat_name a{
        font-size: 14px;
    }
    .project_holder .cat_name a.upper{
        font-size: 16px;
    }
    .hidden_menu span,
    .hidden_menu a{
        font-size: 16px;
    }
    .menu_wrapper>span:not(:first-child),
    .menu_wrapper>span+a,
    .menu_wrapper>a+a{
        margin-top: 20px;
    }
    .service .headline{
        padding-right: 20px;
    }
    /*.project_holder a.cat_desc{*/
        /*padding: 0 20px;*/
    /*}*/
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .line_item{
        min-width: 300px;
    }
    .load_logo{
        align-items: center;
    }
    .menu_wrapper {
        align-items: flex-start;
    }
    .menu_wrapper>span,
    .menu_wrapper>a {
        padding-left: 25px;
    }
    .menu_wrapper>span:before,
    .menu_wrapper>a:before {
        left: 0;
    }
    .no-touch .menu_wrapper>a:hover:before {
        width: 100%;
    }
    .menu_wrapper>span:before {
        width: 100%;
    }
    .about .about_text .site-link,
    .service_slide .site-link.active,
    .home.about .site-link.active {
        background: #000;
        padding-left: 0;
        box-shadow: -25px 0 0 0 black;
        margin-left: 0;
    }
    .holder {
        -ms-align-items: center;
        align-items: center;
    }
}
@media (width: 320px) {}

@media (max-width: 1000px) and (min-width: 801px) {
    .project_holder a.cat_desc{
        font-size: 12px;
    }
}

@media (max-width: 1300px) and (min-width: 801px) {
    .project_holder:after{
        background: rgba(0,0,0,.4);
    }
    .project_holder .cat_name{
        background: rgba(0, 0, 0, .25);
    }
    .project_holder a.cat_desc{
        padding-bottom: 10px;
        font-weight: 12;
    }
}

.inner-gallery{
    position: absolute;
    margin: 45px -5px -5px -5px;
}
.project-image{
    width: 25%;
    padding: 5px;
    text-align: center;
}
.project-image img{
    max-width: 100%;
    transition: opacity .3s;
    will-change: opacity;
    opacity: 1;
}
.project-image:hover img{
    opacity: 0.7;
}
.gallery-modal .fancybox-toolbar button[data-fancybox-zoom]{
    display: none !important;
}
.gallery-modal .fancybox-toolbar button{
    display: none;
    background: rgba(0,0,0,0);
    width: 60px;
    height: 60px;
    padding: 20px;
}

.gallery-modal .fancybox-slide--image{
    padding: 40px 120px;
}

.gallery-modal .fancybox-toolbar button.fancybox-button--close{
    display: inline-block;
}
.gallery-modal.fancybox-container .fancybox-navigation .fancybox-button{
    padding: 0;
    background: rgba(0,0,0,0);
    width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.gallery-modal.fancybox-container .fancybox-bg{
    background: #000;
    opacity: 1;
}

.fixed-call-form{
    position: fixed;
    display: flex;
    background: #000000;
    z-index: 9999;
    bottom: 0;
    right: 0;
    transform: translate(0, 100%);
}

.fixed-call-form a{
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 20px;
    padding: 11px 0;
    width: 630px;
    text-align: center;
}
.fixed-form{
    position: fixed;
    z-index: 10003;
    bottom: 0;
    right: 0;
    transform: translate(0, 100%);
    background: #ffffff;
    width: 630px;
    padding: 75px 80px 70px 80px;
    box-shadow: 3px 5px 0 0 #000 inset;
}

.close-fixed-form{
    opacity: 0.5;
    transition: opacity 0.3s;
    position: fixed;
    display: flex;
    top: 20px;
    right: 15px;
    cursor: pointer;
}

.flex-form {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.flex-form label {
    display: flex;
}

.flex-form label:not(:last-child) {
    width: calc(50% - 30px);
}

.flex-form label:last-child {
    width: 100%;
}
.flex-form textarea{
    height: 100px;
    padding: 15px 10px 10px 10px;
}

.close-fixed-form svg {
    width: 12px;
    height: 12px;
}

.close-fixed-form:hover{
    opacity: 1;
}

.fixed-form .site-link {
    font-size: 30px;
    margin: 0 0 0 -20px;
    padding: 0 10px 0 30px;
    text-align: center;
    white-space: nowrap;
}

.fixed-form.success > p{
    visibility: hidden;
}

.fixed-form.success form > p{
    font-size: 18px;
    font-weight: 500;
    margin: 25vh 0;
    text-align: center;
}

.fixed-form > p {
    text-align: center;
}

.field-holder {
    position: absolute;
    bottom: 0;
    top: 0;
    pointer-events: none;
    width: 100%;
}

.textarea-holder {
    position: absolute;
    top: 0;
    left: 1px;
    background: #ffffff;
    transform: translate(0, -50%);
    padding-left: 10px;
    padding-right: 10px;
}

.label-submit {
    width: 250px;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
}
.label-submit input {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
}

@media (max-width: 1200px) {
    .project-image{
        width: 33.3333333%;
    }
}
@media (max-width: 1000px) {
    .inner-gallery{
        margin-top: 75px;
    }
}
@media (max-width: 800px) {
    .project-image{
        width: 50%;
    }
    .gallery-modal.fancybox-container .fancybox-navigation .fancybox-button{
        width: 100px;
    }
    .gallery-modal .fancybox-slide--image{
        padding: 20px 60px;
    }
}
@media (max-width: 700px) {
    .fixed-form{
        width: 100%;
        padding: 60px 30px;
    }
    .fixed-call-form,
    .fixed-call-form a{
        width: 100%;
    }
    .fixed-form .site-link{
        font-size: 24px;
    }
    header > a.phone{
        display: none;
    }
    .gallery-modal .fancybox-slide--image{
        padding: 20px 0 50px 0;
    }
    .project-image{
        width: 100%;
    }
    .gallery-modal.fancybox-container .fancybox-navigation .fancybox-button{
        top: auto;
        bottom: 0;
        transform: none;
        height: 75px;
    }
}

@media (max-width: 500px) {
    .flex-form label:not(:last-child) {
        width: 100%;
    }

    .flex-form label {
        margin-top: 35px;
    }

    .flex-form label:last-child {
        margin-top: 40px;
    }

    .fixed-call-form a,
    .fixed-form .site-link {
        font-size: 5vw;
    }

    .field-holder,
    label > input:not([type='file']):not([type='submit']) {
        font-size: 3.5vw;
    }

    .label-submit {
        width: 100%;
    }
}

@media (max-width: 355px) {
    .project-image {
        width: 100%;
    }
}

/*.cat_types-of-projects{*/
    /*overflow: auto;*/
/*}*/
/*.cat_types-of-projects a{*/
    /*white-space: nowrap;*/
/*}*/

.white-fixed-header .burger div,
header.white-header .burger div {
    background: #000000;
}

.white-fixed-header  a.phone,
.white-fixed-header .language *,
header.white-header .language * {
    color: #000000;
}

.white-fixed-header .white-logo,
header.white-header .white-logo {
    display: none;
}

.white-fixed-header a.black-logo,
header.white-header a.black-logo {
    display: block;
}