@charset "UTF-8";
@import url("reset1b26.css?v2");
@import url("fonts.css");
@import url("slick.css");

.grecaptcha-badge { display:none!important; }

.body_hide {
	opacity: 0;
	transition:0.5s all;
}

.body_visible {
	opacity: 1;
}


@keyframes ticker-old {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(100%, 0);
  }
}

@keyframes ticker {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(-100%, 0);
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes singleHeartbeat {
    
  0%
  {
    transform: scale( 1 );
  }
  10%
  {
    transform: scale( 1.025 );
  }
  20%
  {
    transform: scale( 1 );
  }
  30%
  {
    transform: scale( 1.025 );
  }
  40%
  {
    transform: scale( 1 );
  }
  100%
  {
    transform: scale( 1 );
  }
    
}

@keyframes heartbeat {
  0%
  {
    transform: scale( 1 );
  }
  10%
  {
    transform: scale( 1.1 );
  }
  20%
  {
    transform: scale( 1 );
  }
  30%
  {
    transform: scale( 1.1 );
  }
  40%
  {
    transform: scale( 1 );
  }
  100%
  {
    transform: scale( 1 );
  }
}

@keyframes preloaderline {
    0%
    {
        height: 33vh;
    }
    50%{
        height: 20vh;
    }
    100%
    {
        height: 0vh;
    }
}

.separator{display: none;}

.document{font-weight:400;font-family:'Manrope', sans-serif;font-size: 18px;line-height: 1.2;color: #000;background-color: #fff;letter-spacing: -0.02em;overflow:-moz-scrollbars-none!important;}
.document::-webkit-scrollbar{display: none;}


.preloader{position: fixed;top: 0;left: 0;width: 100%;z-index: 100;visibility: hidden;display: flex;align-items: center;justify-content: center;flex-direction: column;}
.preloader::after{content: "";height: 33vh;width: 100%;background-color: #fff;flex: auto;}
.preloader-inner{display: flex;align-items: center;justify-content: center;background-color: #eee;height: 100vh;width: 100%;flex: none;}
.preloader-logo{clip-path: inset(100% 0 0 0);display: flex;justify-content: center;height: 40px;width: 100%;}
.preloader-logo .logo-cut{overflow: hidden;}
.preloader-logo div{display: flex;height: 100%;}

.preloader-logo div:nth-child(3){margin: 0 4px;}
.preloader-logo div:nth-child(5){margin-left: 1px;margin-right: 0;}

.preloader-logo svg{height: 100%;width: auto;visibility: visible;}

.loading{overflow: hidden;}

.loading .mainnav{transform: translateY(-100%);}
.loading .title span,
.loading .header-reviews{visibility: hidden;transform: translateX(-10vw);opacity: 0;}
.loading .header-cross{visibility: hidden;left: 100%;}
.loading .header-heart{margin-left: 0;}
.loading .headroom{visibility: hidden;}
.loading .menu{visibility: hidden;}
.loading .main{visibility: hidden;}
.loading .preloader{visibility: visible;}


.loading-phase-1 .preloader-logo{transition: all .25s ease-in-out;clip-path: inset(0 0 0 0);}
.loading-phase-2 .preloader-logo .logo-cut{transition: all .5s linear;max-width: 0!important;visibility: hidden;}


.loading-phase-2 .preloader-logo div:nth-child(5){transition: all .5s linear;margin-left: -4px;margin-right: 5px;}
.loading-phase-3 .preloader{transition: all 2.1s;transform: translateY(-110vh);}
.loading-phase-3 .preloader::after{animation: preloaderline 1.4s linear .7s 1;height: 0;transition: height 0s 2.1s;}
.loading-phase-4 .preloader::after{opacity: 0;}
.loading-phase-4 .preloader{visibility: hidden;}
.loading-phase-4 .title span{visibility: visible;transform: translateX(0);opacity: 1;transition: all .75s cubic-bezier(0.65,0.05,0.36,1);}
.loading-phase-4 .header-heart{margin-left: 10vw;transition: margin-left .75s .15s cubic-bezier(0.65,0.05,0.36,1);}

.loading-phase-5 .main{visibility: visible;opacity: 1;transition: all .5s linear;}
.loading-phase-5 .header-reviews{visibility: visible;transform: translateY(0);opacity: 1;transition: all .75s cubic-bezier(0.65,0.05,0.36,1);}
.loading-phase-5 .mainnav{transform: translateY(0);}

.headroom{display: flex;height: 0;align-items: flex-start;z-index: 10;}
.headroom-inner{background-color: #fff;width: 100%;visibility: hidden;transform: translateY(-100%);opacity: 0;border-bottom: 1px solid #eee;}

.headroom.init{position: fixed;top: 0;width: 100%;}
.headroom.init .headroom-inner{transform: translateY(-100%);visibility: visible;transition: all .5s;opacity: 1;}
.headroom.active .headroom-inner{transform: translateY(0);}

.wrapper{max-width: 1920px;width: 100%;margin: 0 auto;padding:0 90px;}

.container{overflow: hidden;}

.icon{display:flex;max-height:100%;align-items:center;justify-content:center;}

.appear{opacity: 0;transform: translateX(-40px);transition: all .5s;clip-path: inset(0 100% 0 0);}
.appear.aos-animate{opacity: 1;transform: translateX(0);clip-path: inset(0 0 0 0);}

.fadein{opacity: 0;transition: all .5s;}
.fadein.aos-animate{opacity: 1;}

.runner{display: flex;justify-content: flex-start;/*justify-content: flex-end;*/}
.runner-start,
.runner-end{animation: 25s ticker 0s infinite linear;display: flex;will-change: transform;transition: transform .01s;}

.cover{position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;}

.title{font-weight: 700;}
.title__main{font-size: 130px;line-height: .94;letter-spacing: -0.05em;   background-color: transparent;}
.title__default{font-size: 50px;line-height: 1.04;letter-spacing: -0.035em;   background-color: transparent;}

.title__main h1 span {
	position:relative;
}

.title__main h1 span:first-child {
	z-index:7;
}

.title__main h1 span:last-child {
	z-index:1;
}

.brandcolor{color: #4C86F9;}

.redlink{color: #4C86F9;font-weight: 500;white-space: nowrap;display: inline-flex;}
.redlink::after{content: "\003e";margin-left: .35em;flex: none;transition: all .15s;}

.mainnav{position: sticky;top: 0;z-index: 55;width: 100%;color: #000;margin-bottom: -72px;transition-property: transform, background-color, color;transition-duration: .75s, .5s, .5s;transition-timing-function: cubic-bezier(0.65,0.05,0.36,1);}

.mainnav:hover {
	/*background-color: #eee;*/
}

.mainnav.active,
.mainnav.always-active{background-color: #000;color: #fff;}
.mainnav.active .topbar-social li,
.mainnav.always-active .topbar-social li{color: #cbcbcb;}

.header{background-color: #eee;overflow: hidden;position: relative;}
.header-wrapper{display: flex;flex-direction: column;padding-bottom: 250px;z-index: 2;position: relative;min-height: 100vh;}

.header-heart{position: absolute;top: 50vh;left: 50%;transform: translate(-50%, -60%);z-index: 3;}
.header-heart .heart{width: 3.3em;height: 3.3em;max-width: none;max-width: none;}
.header-heart .heart .icon{min-width: 100%;min-height: 100%;}

.header-link {
	background: red;
    display: block;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
	opacity:0;
	z-index:100;
}

.header-caption .title span {
	display:block;	
}

.header-caption .title span:nth-child(2){position: relative;z-index: 1;}

@media screen and (max-width: 720px) {
	.header-caption .title span:nth-child(2){ z-index: 2; }
}

.header-cross{position: absolute;top: 60%;left: 70%;width: 200vw;height: 200vw;z-index: 1;transform: translate(-50%,-50%);transition-property: all;pointer-events: none;color: #575757;transition-timing-function: ease-out;pointer-events: none;}
.header-cross:nth-child(1){transition-duration: .5s;}
.header-cross:nth-child(2){transition-duration: 1s;}
.header-cross svg{opacity: .5;}
.header-cross_text{position: absolute;left: 50%;top: 50%;padding: 0 1em;transform: translate(-50%, -50%) rotate(-45deg);background-color: #eee;font-size: 14px;line-height: 1.2;font-weight: 500;}

.header__cut{background-color: #fff;}
.header__cut .header-wrapper{min-height: 0;padding-bottom: 50px;}

.main { margin-top: 150px; }

.page-template-page-contact-php .main {
	margin-top:205px;
}

@media screen and (max-width: 1023px) {
	
	.page-template-page-contact-php .main {
		margin-top:80px;
	}
	
}

.main.error__404 { margin-top: 0px; }

.header ~ .main{margin-top: 0;}

.topbar {
	display: flex;
	padding: 16px 0;
}

.topbar-nav{display: flex;margin: -16px 0;align-items: center;}
.topbar-logo{display: flex;align-items: center;width: 160px;margin-left: 0;padding: 5px 0 0;margin-right: 50px;}
.topbar-social{margin-left: auto;}
.topbar-social ul{display: flex;align-items: center;height: 100%;}
.topbar-social li{font-size: 14px;line-height: 1;letter-spacing: -0.03em;margin-left: 30px;color: #575757;font-weight: 600;}
.topbar-social a{transition: color .15s;}
.topbar-social a:hover{color: #4C86F9;}
.topbar-contact{margin-left: 40px;}
.topbar-contact_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #4C86F9;
	border-radius: 100px;
	height: 40px;
	color: #FFF;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: -0.03em;
	padding: 0 20px;
	transition: all .15s;
}
.topbar-contact_button:hover { 
	background: #4578df;
	color: #fff;
}

.topnav{display: flex;align-items: center;}
.topnav-item{position: relative;display: flex;align-items: center;padding: 0;margin-left:72px;font-weight: 600;margin-right: 16px;font-size: 14px;letter-spacing: -0.03em;}
.topnav-item.dropdown::after{content: "\003e";margin-left: .5em;flex: none;transition: transform .25s;display: block;}

.mainnav-dropdown-layer{background-color: inherit;position: absolute;top: 100%;left: 0;width: 100%;height: 0;transition: height .25s .25s;z-index: 1;overflow: hidden;}
.mainnav-dropdown-layer .wrapper{padding-left: 0;}
.mainnav-dropdown-layer-container{position: absolute;bottom: 0;right: 0;padding-bottom: 24px;transition: opacity .25s;opacity: 0;display: none;}
.mainnav-dropdown-layer-text{color: #9a9a9a;font-size: 14px;line-height: 1.3;letter-spacing: -0.03em;font-weight: 600;}
.mainnav-dropdown-layer-text a{transition: color .15s;color: #fff;}
.mainnav-dropdown-layer-text a::after{content: "\003e";margin-left: .35em;display: inline-block;}
.mainnav-dropdown-layer-text a:hover{color: #4C86F9;}


.mainnav.active .mainnav-dropdown-layer-container,
.mainnav.always-active .mainnav-dropdown-layer-container{display: block;}


.dropdown-list{position: absolute;top: 100%;left: 0;padding-bottom: 24px;visibility: hidden;opacity: 0;z-index: 2;transition-property: visibility, opacity;transition-duration: .25s;}
.dropdown-list li{padding-top: 16px;}
.dropdown-list li a{white-space: nowrap;transition: color .15s;}
.dropdown-list li a:hover{color: #4C86F9;}

.dropdown.hover .dropdown-list{visibility: visible;opacity: 1;transition-delay: .25s;}
.dropdown.hover::after{transform: rotate(90deg);transform-origin: center;}
.mainnav-dropdown-layer.active{transition-delay: 0s;}
.mainnav-dropdown-layer.active .mainnav-dropdown-layer-container{transition-delay: .25s;opacity: 1;}

.topnav-follower{position: absolute;width: 0;height: 3px;background-color: currentColor;bottom: 0;left: 0;transition: all .25s;max-width: 150px;}


.header-caption{margin-top: 250px;display: flex;align-items: center;flex: auto;}
.header-reviews{margin-top: 150px;}
.header-marquee{background-color: #000;color: #CBCBCB;height: 48px;text-align: center;align-items: center;display: flex;font-weight: 700;white-space: nowrap;overflow: hidden;}

.marquee-line,
.marquee-line_text { 
	display: inline-flex;
	align-items: center;
}	
.marquee-line_text::after {
	content: "\003e";
	padding: 0 2em;
	flex: none;
	color: #4C86F9;
}


.errorpage{position: relative;overflow: hidden;}
.errorpage-grid{display: grid;grid-template-columns: auto 1fr;grid-gap: 100px;align-items: center;justify-items: flex-end;position: relative;z-index: 1;min-height: 100vh;padding: 250px 0;}
.errorpage-content{display: flex;flex-direction: column;align-items: flex-end;}
.errorpage-title{font-size: 50px;letter-spacing: -0.05em;}
.errorpage-subtitle{margin-top: 30px;font-size: 22px;}
.errorpage-id{margin-left: 100px;font-size: 50px;line-height: 1;letter-spacing: -0.08em;font-weight: 500;}

.errorpage .header-cross_text{background-color: #fff;}

.errorpage-hearts{position: absolute;left: 0;top: 0;width: 100%;height: 100%;pointer-events: none;}
.errorpage-heart{position: absolute;z-index: -1;color: #4C86F9;width: 120px;height: 120px;transition: transform .15s;}
.errorpage-heart:nth-child(1){bottom: 55%;right: 45%;}
.errorpage-heart:nth-child(2){top: 50%;left: 60%;}
.errorpage-heart:nth-child(3){bottom: 55%;left: 75%;}
.errorpage-heart:nth-child(4){top: 65%;right: 75%;}
.errorpage-heart .icon{max-width: 100%;max-height: 100%;}
.errorpage-heart:nth-child(1) .icon{transform: rotate(-31.79deg);}
.errorpage-heart:nth-child(2) .icon{transform: rotate(35.89deg);}
.errorpage-heart:nth-child(3) .icon{transform: rotate(-60.13deg);}
.errorpage-heart:nth-child(4) .icon{transform: rotate(-105.83deg);}

.section:last-child { 
	padding-bottom: 250px;
}

.page-template-page-contact-php .section:last-child { padding-bottom:50px; }

.section {
	margin-top: 200px;
}

.section:first-child {
	margin-top:0px;
}

.section.nonepadding {
	margin-top:0px;
}

.section__contrast {background-color: #eee;padding: 100px 0 200px;}

.inner-wrapper{padding: 0 100px;}

.section-caption{display: inline-flex;position: relative;display: inline-flex;align-items: center;margin-bottom: 100px;}
.section-caption::before{content: "";width: 76px;margin-right: 24px;margin-left: -100px;height: 1px;background-color: currentColor;}
.section-caption_text{overflow: hidden;white-space: nowrap;line-height: 2;}
.section-caption__inline{margin-bottom: 48px;}
.section-caption__inline::before{margin-left: 0;}

.section-caption.aos-init::before{transform: scaleX(0);transition: all .5s;transform-origin: left;}
.section-caption.aos-init .section-caption_text{transform: translateX(-40px);transition: all .5s;clip-path: inset(0 100% 0 0);}
.section-caption.aos-animate::before{transform: scaleX(1);}
.section-caption.aos-animate .section-caption_text{transform: translateX(0);clip-path: inset(0 0 0 0);}

.section-footer{margin-top: 80px;font-size: 22px;}
.section-footer:first-child{margin-top: 0;}

.reviews{display: flex;}
.reviews-col{display: flex;flex-direction: column;}
.reviews-col + .reviews-col{margin-left: 8px;}
.reviews-pretitle{text-transform: uppercase;font-size: 8px;line-height: 1;letter-spacing: 0.175em;}
.reviews-logo{margin-top: 4px;width: 64px;}
.reviews-stars{width: 100%;background-image: url(../img/star.svg);background-position: left center;background-size: contain;margin-bottom: auto;display: flex;background-repeat: no-repeat;}
.reviews-stars::before{content: "";flex: none;width: 0;padding-top: 20%;}
.reviews-num{text-transform: uppercase;font-size: 8px;letter-spacing: 0.225em;line-height: 1;margin-top: 4px;}

.shiftbox-carousel{position: relative;z-index: 2;}
.shiftbox-carousel > :nth-child(n + 2){display: none;}
.shiftbox-carousel .slick-track{overflow: visible;}
.shiftbox-carousel .slick-slide{opacity: 1!important;transition-duration: 1s;}
.shiftbox-carousel .shiftbox-image{opacity: 1;transition: all 0s .5s;clip-path: inset(0 100% 0 0);}
.shiftbox-carousel .slick-active .shiftbox-image{opacity: 1;transition-delay: 0s;clip-path: inset(0 0 0 0);transition-duration: .5s;}
.shiftbox-carousel .shiftbox-content{opacity: 0;transform: translateX(40px);transition: all .5s 0s;clip-path: inset(0 100% 0 0);}
.shiftbox-carousel .preview-content::before{display: none;}
.shiftbox-carousel .slick-active .shiftbox-content{opacity: 1;transform: translateX(0);clip-path: inset(0 0 0 0);transition-delay: .5s;}

.shiftbox-carousel .slick-dots{position: absolute;width: 100%;display: flex;padding: 0 16px;top: 0;align-items: flex-start;flex-wrap: wrap;}
.shiftbox-carousel .slick-dots li{flex: 1;border-top: 1px solid;margin: 20px 0 0;position: relative;line-height: 1;}
.shiftbox-carousel .slick-dots li::before{content: "";height: 3px;position: absolute;top: -2px;left: 0;width: 100%;background-color: currentColor;transition: transform .25s linear;transform-origin: right center;transform: scaleX(0);}
.shiftbox-carousel .slick-dots li button{visibility: hidden;height: 1px;overflow: hidden;}
.shiftbox-carousel .slick-dots li.slick-active::before{transform: scaleX(1);transform-origin: left center;}

.shiftbox-nav{margin-left: 60vw;padding-left: 20px;margin-top: 20px;display: flex;align-items: center;height: 24px;}
.shiftbox-arrow{cursor: pointer;flex: none;font-weight: 500;position: relative;}
.shiftbox-arrow::before{content: "\003e";}
.shiftbox-arrow::after{content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 1;margin: -10px;}
.shiftbox-arrow__left{transform: scaleX(-1);}
.shiftbox-pos{}
.shiftbox-current{width: 40px;text-align: right;display: inline-block;}
.shiftbox-num{width: 40px;display: inline-block;}

.shiftbox{display: grid;grid-auto-flow: column;align-items: flex-end;margin-top: -218px;position: relative;z-index: 1;min-height: 400px;grid-template-columns: auto 1fr;}
.shiftbox-image{min-height: 100%;position: relative;width: 60vw;display: flex;}
.shiftbox-image::before{content: "";flex: none;width: 0;padding-top: 55%;}
.shiftbox-content{padding-top: 94px;margin-left: 36px;}

.preview{display: flex;flex-direction: column;position: relative;}
.preview-media{margin-bottom: 20px;width: 100%;position: relative;overflow: hidden;}
.preview-media::after{content: "";position: absolute;top:0;left: 0;right: 0;bottom: 0;z-index: 1;background-color: #000;opacity: 0;transition: all .25s;}
.preview-media img{transition: transform .25s ease-in-out;will-change: transform;}
.preview-content{display: flex;flex-wrap: wrap;}
.preview-content::before{content: attr(data-index);width: 40px;height: 40px;background-color: #000;color: #eee;margin-bottom: 8px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;letter-spacing: -0.025em;font-weight: 600;line-height: 1;}

.preview-name {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: -0.035em;
	margin-right: .25em;
}

.preview-name::before { 
	content: "/"; 
	margin-right: .25em; 
}

.preview-name:first-child::before {
	content:'';
	margin-right:0px;
}

.preview-name:last-child { margin-right: 0; }

.preview-name__caption{min-width: 100%;color: #000;font-weight: 700;margin-right: 0;}
.preview-name__caption + .preview-name::before{display: none;}
.preview-name__caption a::after{content: "";position: absolute;top:0;left: 0;right: 0;bottom: 0;z-index: 1;}
.preview-tags{margin-top: 10px;position: relative;z-index: 1;width: 100%;}
.preview-tags .chip-label{font-size: 14px;height: 30px;}
.preview-action{position: absolute;left: 0;width: 100%;top: 0;height: 100%; display: flex;justify-content: center;align-items: center;color: #fff;z-index: 2;pointer-events: none;font-size: 22px;line-height: 1;font-weight: 500;opacity: 0;transition: all .15s;}
.preview-action::after{content: "\003e";padding-left: .15em;transition: all .15s;}

.preview:hover .preview-media::after{opacity: .4;}
.preview:hover .preview-media img{transform: scale(1.05);}
.preview:hover .preview-action{opacity: 1;}
.preview:hover .preview-action::after{transition-delay: .1s;transform: translateX(.25em);}

.textbox{font-size: 36px;line-height: 1.25;letter-spacing: -0.035em;max-width: 780px;margin-left: 282px;width: calc(60vw - 282px - 90px);}
.textbox__wide{max-width: 920px;}
.textbox__push{margin-left: 0;}
.textbox-content{display: inline;}
.textbox-action{display: inline;}

.service-grid{display: grid;grid-template-columns: 1fr 1fr;grid-gap: 150px;}
.service-list{counter-reset: index;}
.service{margin-top: 40px;}
.service:first-child{margin-top: 0;}
.service-caption{font-size: 66px;font-weight: 700;color: #CBCBCB;line-height: 1.2;letter-spacing: -0.035em;cursor: pointer;position: relative;padding-left: 48px;display: inline-flex;min-height: 1.2em;white-space: nowrap;transition: all .25s;}
.service-caption::before{content: counter(index, decimal-leading-zero);counter-increment: index;position: absolute;top: 0;left: 0;font-size: 14px;line-height: 1;letter-spacing: -0.02em;font-weight: 400;}
.service-content{display: flex;flex-direction: column;}
.service-tags{margin-bottom: 40px;}
.service-text{flex: auto;line-height: 1.2;letter-spacing: -0.02em;}
.service-action{margin-top: auto;font-size: 22px;padding: 28px 0;border-bottom: 1px solid;}
.service-preview{position: relative;max-width: 540px;}

.service-content-copy{min-height: 100%;display: flex;flex-direction: column;}
.service-content-copy .service-content{transition: all 1s;width: 100%;min-height: 100%;display: flex;flex-direction: column;flex: auto;}
.service-content-copy .service-action{border-bottom-width: 0;}
.service-content-copy::after{content: ""; width: 100%;height: 1px;display: block;background-color: currentColor;transition: transform 1s;transform-origin: right bottom;}
.service-content-copy.hidden::after{transform: scaleX(0);}
.service-content-copy.hidden .service-content{opacity: 0;clip-path: inset(0 100% 0 0);}
.service-content-copy.active::after{transform: scaleX(1);}
.service-content-copy.active .service-content{opacity: 1;clip-path: inset(0 0 0 0);}

.service.active .service-caption{color: #000;}

.heartbox{display: flex;align-items: center;justify-content: center;text-align: center;position: relative;z-index: 1;min-height: 130px;cursor: pointer;}
.heartbox_icon{position: absolute;top: 50%;left: 50%;z-index: -1;width: 180px;height: 180px;margin: -90px 0 0 -90px;display: flex;align-items: center;justify-content: center;}
.heartbox_text{font-size: 42px;line-height: 50px;letter-spacing: -0.05em;font-weight: 600;}
.heartbox_button{color: #fff;}
.heartbox_button *{cursor: pointer;}

.marquee-separator{overflow: hidden;display: block;}

.marquee{display: inline-flex;transition: transform 1s ease-out;will-change: transform;}
.marquee-item{color: #CBCBCB;font-size: 36px;line-height: 1.25;letter-spacing: -0.035em;display: flex;white-space: nowrap;}
.marquee-item::after{content: "\2014";margin: 0 .25em;}
.marquee-item:last-child::after{display: none;}

.heart{width: 180px;height: 130px;color: #4C86F9;position: relative;display: flex;align-items: center;justify-content: center;}
.formbox .heartbox .heart{animation: heartbeat 2s infinite;}
.formbox .heartbox:hover .heart{animation-play-state: paused;}

.previews-carousel{width: 70vw;margin-bottom: 100px;}
.previews-carousel .slick-slide + .slick-slide{margin-left: 20px;}
.previews-carousel .slick-slide a{pointer-events: none;}
.previews-carousel .slick-active a{pointer-events: all;}

.numbers{display: grid;grid-gap: 150px;grid-template-columns: repeat(3, 1fr);}
.numbers-value{width: 100%;border-bottom: 1px solid;font-size: 130px;font-weight: 600;letter-spacing: -0.05em;line-height: 1;align-items: center;display: flex;overflow: hidden;padding-bottom: 30px;}
.numbers-title{font-size: 36px;font-weight: 700;letter-spacing: -0.03em;line-height: 1;overflow: hidden;padding-top: 40px;}
.numbers-note{margin-top: 50px;font-size: 14px;line-height: 1.25;letter-spacing: normal;font-weight: 400;}

.numbers-item.aos-init .numbers-value{transform: scaleX(0);transform-origin: left;transition: all .5s;}
.numbers-item.aos-init .numbers-value > div{transition: all .5s .5s;transform: translateY(150%);}
.numbers-item.aos-init .numbers-title > div{transition: all .5s .5s;transform: translateY(-100%);opacity: 0;}
.numbers-item.aos-animate .numbers-value{transform: scaleX(1);}
.numbers-item.aos-animate .numbers-value > div{transform: translateY(0);}
.numbers-item.aos-animate .numbers-title > div{transform: translateY(0);opacity: 1;}

.keynumbers-intro{max-width: 564px;line-height: 1.25;}

.keynumbers{display: grid;grid-gap: 150px;grid-template-columns: repeat(3, 1fr);margin: 120px 0;}
.keynumbers:first-child{margin-top: 0;}
.keynumbers:last-child{margin-bottom: 0;}
.keynumber{display: flex;flex-direction: column;}
.keynumber-caption{font-size: 46px;line-height: 1;letter-spacing: -0.035em;font-weight: 700;border-bottom: 1px solid;overflow: hidden;}
.keynumber-caption > span{display: block;padding-bottom: 40px;}
.keynumber-value{font-size: 130px;line-height: 1;letter-spacing: -0.05em;font-weight: 600;overflow: hidden;}
.keynumber-value > span{display: block;padding-top: 30px;line-height: 2em;white-space: nowrap;}
.keynumber-description{margin-top: 60px;}

.keynumber.aos-init .keynumber-caption{transform: scaleX(0);transform-origin: left;transition: all .25s;}
.keynumber.aos-init .keynumber-caption > span{transition: all .25s .25s;transform: translateY(100%);}
.keynumber.aos-init .keynumber-value > span{transition: all .25s .25s;transform: translateY(-100%);}
.keynumber.aos-init .keynumber-description{opacity: 0;transition: all .5s .5s;transform: translateY(-40px);clip-path: inset(0 0 100% 0);}

.keynumber.aos-animate .keynumber-caption{transform: scaleX(1);}
.keynumber.aos-animate .keynumber-caption > span{transform: translateY(0);}
.keynumber.aos-animate .keynumber-value > span{transform: translateY(0);}
.keynumber.aos-animate .keynumber-description{opacity: 1;transform: translateY(0);clip-path: inset(0 0 0 0);}

.keynumbers__small .keynumber-value{font-size: 80px;}


.clients {
    display: grid;grid-template-columns: repeat(5, 1fr);
    grid-gap: 150px;
	align-items: center;
	justify-content: space-between;
	max-width: 1400px;
    justify-items: center;
}

.clients-separator {
	height: 0;
	min-width: 100%;
}

.client {
    width: 100%;
	height: 80px;
	display: flex;
	align-items: center;
	filter: grayscale(1);
	opacity: .6;
    position: relative;
    
}

.client img {
    position: absolute;
    top: 0;left: 0;
    width: 100%;height: 100%;
    object-fit: contain;
    object-position: center;
    transition-duration: .5s;
    transition-property: opacity, transform
}

.client img.hidden{transform: scale(0);opacity: 0; transition-delay: .5s;}
.client img.visible{transform: scale(1);opacity: 1;}

.client img:nth-child(n + 2){transform: scale(0);opacity: 0;}


.citebox{font-size: 140px;font-weight: 600;line-height: 1.03;letter-spacing: -0.05em;margin: 3em 0;position: relative;}
.citebox-content > span{position: relative;display: inline-block;white-space: nowrap;}

.citebox-content > span:first-of-type::before{content: "";height: .55em;width: .5em;position: absolute;background-image: url("data:image/svg+xml,%3Csvg width='54' height='49' viewBox='0 0 54 49' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M53.0719 0.77703L51.8719 10.077C48.9385 9.87703 46.6719 10.4104 45.0719 11.677C43.4719 12.9437 42.4052 14.7104 41.8719 16.977C41.3385 19.2437 41.2385 21.8104 41.5719 24.677L53.0719 24.677L53.0719 48.777H30.9719L30.9719 22.677C30.9719 14.8104 32.8385 8.87702 36.5719 4.87703C40.3719 0.810362 45.8719 -0.556302 53.0719 0.77703ZM22.2719 0.77703L21.0719 10.077C18.1385 9.87703 15.8719 10.4104 14.2719 11.677C12.6719 12.9437 11.6052 14.7104 11.0719 16.977C10.5385 19.2437 10.4385 21.8104 10.7719 24.677L22.2719 24.677L22.2719 48.777H0.171876L0.171875 22.677C0.171875 14.8104 2.03854 8.87702 5.77187 4.87703C9.57187 0.810362 15.0719 -0.556302 22.2719 0.77703Z' fill='%234C86F9'/%3E %3C/svg%3E ");background-repeat: no-repeat;background-size: contain;background-position: left top;left: 0;bottom: 100%;}
.citebox-content > span:last-of-type::after{content: "";height: .55em;width: .5em;position: absolute;background-image: url("data:image/svg+xml,%3Csvg width='53' height='49' viewBox='0 0 53 49' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M0.000389142 48.0003L1.20039 38.7003C4.13372 38.9003 6.40039 38.367 8.00039 37.1003C9.60039 35.8336 10.6671 34.067 11.2004 31.8003C11.7337 29.5336 11.8337 26.967 11.5004 24.1003L0.000391232 24.1003L0.000393339 0.000304366L22.1004 0.000306298L22.1004 26.1003C22.1004 33.967 20.2337 39.9003 16.5004 43.9003C12.7004 47.967 7.20039 49.3336 0.000389142 48.0003ZM30.8004 48.0003L32.0004 38.7003C34.9337 38.9003 37.2004 38.367 38.8004 37.1003C40.4004 35.8336 41.4671 34.067 42.0004 31.8003C42.5337 29.5337 42.6337 26.967 42.3004 24.1003L30.8004 24.1003L30.8004 0.000307058L52.9004 0.00030899L52.9004 26.1003C52.9004 33.967 51.0337 39.9003 47.3004 43.9003C43.5004 47.967 38.0004 49.3336 30.8004 48.0003Z' fill='%234C86F9'/%3E %3C/svg%3E ");background-repeat: no-repeat;background-size: contain;background-position: left bottom;right: 0;top: 100%;z-index: 2;}
/*
.citebox-content > span:first-of-type::before,
.citebox-content > span:last-of-type::after{color: #4C86F9;font-size: 150%;position: absolute;z-index: 2;}
.citebox-content > span:first-of-type::before{content: "\201c";top: 0;left: 0;transform: translateY(-50%);}
.citebox-content > span:last-of-type::after{content: "\201e";bottom: 0;right: 0;transform: translateY(40%);}
*/

.citebox-mask{position: absolute;top:0;left: 0;bottom: 0;width: 100%;height: 100%;}
.citebox-mask > span{position: relative;color: rgba(0,0,0,0);display: inline-block;white-space: nowrap;transform: scaleX(1);transform-origin: right;transition-duration: 1s;transition-property: transform;}
.citebox-mask > span::after{content: "";position: absolute;left: 0;top: 14%;height: 100%;width: 105%;background-color: #fff;opacity: .75;}

.aos-animate .citebox-mask > span,
.citebox-mask > span.aos-animate{transform: scaleX(0);}

.partners{display: grid;grid-template-columns: repeat(4, 1fr);grid-gap: 20px;margin: 0 auto;max-width: 1360px;}
.partner{display: flex;position: relative;overflow: hidden;border-radius: 15px;background-color: #eee;padding: 20px;max-width: 310px;width: 100%;margin: 0 auto;}
.partner-image{flex: none;margin: auto 0;max-width: 68px;width: 30%;display: inline-flex;position: relative;}
.partner-image::before{content: "";flex: none;width: 0;padding-top: 100%;}
.partner-image > img{position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: contain;object-position: center;}
.partner-content{max-width: 160px;margin-left: 15px;display: flex;flex-direction: column;flex: auto;}
.partner-title{font-size: 14px;line-height: 1.25;letter-spacing: -0.035em;}
.partner-subtitle{margin-top: auto;padding-top: 4px; font-size: 12px;line-height: 1.25;color: #9a9a9a;letter-spacing: -0.035em;}

.awards{display: grid;grid-template-columns: auto 1fr;grid-gap: 100px;}
.awards-list{display: flex;flex-direction: column;align-items: flex-end;}
.award{border-bottom: 1px solid;max-width: 660px;width: 100%;position: relative;}
.award::after{content: "";position: absolute;bottom: -2px;height: 3px;background-color: #000;width: 100%;transform: scaleX(0);transform-origin: right;transition: transform .5s ease-in-out;}
.award-header{display: flex;align-items: baseline;padding: 12px 0;cursor: pointer;}
.award-caption{flex: auto;margin-right: 40px;font-size: 18px;line-height: 1.2;letter-spacing: -0.02em;}
.award-type{flex: none;font-size: 12px;line-height: 1.2;letter-spacing: -0.035em;color: #9a9a9a;}
.award-content-wrapper{display: none;}
.award-content{display: flex;}
.award-text{flex: auto;font-size: 15px;max-width: 404px;margin-right: auto;letter-spacing: -0.02em;color: #575757;padding: 20px 0 40px;}
.award-image{flex: none;max-width: 92px;margin-left: 40px;padding: 20px 0 40px;}

.award:not(.active).hover::after,
.award:not(.active):not(.hover):hover::after,
.award.active::after{transform: scaleX(1);transform-origin: left;}

.award:first-child .award-header{padding-top: 0;}

.projects-nav{margin: 100px 0;display: inline-flex;min-width: calc(55% - 8px);justify-content: space-between;}
.projects-nav_item{display: flex;color: #CBCBCB;flex: none;margin-right: 40px;transition: all .15s;}
.projects-nav_item::after{content: "\003e";padding-left: 10px;margin: 0;transition: transform .15s;display: none;}
.projects-nav_item:last-child{margin-right: 0;}
.projects-nav_item a{transition: transform .15s;}
.projects-nav_item.active{pointer-events: none;}
.projects-nav_item.active,
.projects-nav_item:hover{color: #000;}
.projects-nav_item.active a,
.projects-nav_item:hover a{transform: translateX(-5px);}
.projects-nav_item.active::after,
.projects-nav_item:hover::after{transform: translateX(5px);}
.projects-nav_item:first-child.active a,
.projects-nav_item:first-child:hover a{transform: translateX(0);}
.projects-nav_item:first-child:first-child:first-child.active::after,
.projects-nav_item:first-child:hover::after{transform: translateX(10px);}
.projects-nav_item:last-child.active a,
.projects-nav_item:last-child:hover a{transform: translateX(-10px);}
.projects-nav_item:last-child.active::after,
.projects-nav_item:last-child:hover::after{transform: translateX(0);}

.projects{display: flex;flex-wrap: wrap;margin: -36px -8px;}
.project{flex: none;width: 50%;padding: 36px 8px;}   
/* es shevcvale 45 iko */
.project .preview-media{display: flex;position: relative;}
.project .preview-media::before{content: "";flex: none;width: 0;padding-top: 65%;} /* x = 0.65 */

.infobox{display: flex;flex-direction: column;position: relative;}
.infobox-title{font-size: 46px;line-height: 1.2;letter-spacing: -0.035em;font-weight: 700;}
.infobox-description{margin-top: 60px;}
.infobox-action{margin-top: 60px;font-size: 22px;}
.infobox-index{counter-increment: index;width: 70px;height: 70px;border-radius: 50%;background-color: #eee;display: inline-flex;font-size: 28px;line-height: 1;font-weight: 600;letter-spacing: -0.025em;align-items: center;justify-content: center;margin-bottom: -25px;}
.infobox-index:empty::before{content: counter(index, decimal-leading-zero);}
.infobox-index ~ *{margin-left: 96px;}

.infobox-grid{display: grid;grid-gap: 30px 0;counter-reset: index;}
.infobox-row{display: grid;grid-gap: 0 120px;}
.infobox-cell{width: 440px;}
.infobox-grid__1 .infobox-row{grid-template-columns: repeat(3, 1fr);}

.infobox-grid__1 .infobox-row:nth-child(1) .infobox-cell{}
.infobox-grid__1 .infobox-row:nth-child(2) .infobox-cell{grid-column-start: 2;}
.infobox-grid__1 .infobox-row:nth-child(3) .infobox-cell{grid-column-start: 3;}

.infobox-grid__1 .infobox-row:nth-child(4) .infobox-cell{ grid-column-start: 2; }
.infobox-grid__1 .infobox-row:nth-child(5) .infobox-cell{ grid-column-start: 1; }
.infobox-grid__1 .infobox-row:nth-child(6) .infobox-cell{ grid-column-start: 2; }
.infobox-grid__1 .infobox-row:nth-child(7) .infobox-cell{ grid-column-start: 3; }
.infobox-grid__1 .infobox-row:nth-child(8) .infobox-cell{ grid-column-start: 2; }

.infobox-grid__2 .infobox-row {
	grid-template-columns: 1fr 1fr;
	margin-left: 180px;
	position:relative;
	margin:-40px 0;
}

.infobox-grid__2 .infobox-cell {
	max-width: 440px;
	width: auto;
	margin:40px 0;
}

.infobox-grid__3 .infobox-row{grid-template-columns: repeat(4, 1fr);}
.infobox-grid__3 .infobox-row:nth-child(1) .infobox-cell{}
.infobox-grid__3 .infobox-row:nth-child(2) .infobox-cell{grid-column-start: 2;}
.infobox-grid__3 .infobox-row:nth-child(3) .infobox-cell{grid-column-start: 3;}
.infobox-grid__3 .infobox-row:nth-child(4) .infobox-cell{grid-column-start: 4;}
.infobox-grid__4{grid-gap: 80px 0;margin: 0 auto;max-width: 1200px;}
.infobox-grid__4 .infobox-row:nth-child(even) .infobox-cell{margin-left: auto;}
.infobox-grid__4 .infobox-cell{width: 640px;}
.infobox-grid__5{grid-gap: 100px 0;}
.infobox-grid__5 .infobox-row{grid-template-columns: 1fr 1fr;grid-gap: 0 228px;}
.infobox-grid__5 .infobox-cell{max-width: none;width: auto;}

.chevron::before{content: "\003e";color: #4C86F9;}

.panes{display: grid;grid-gap: 30px;grid-template-columns: repeat(3, 1fr);margin: 100px 0;counter-reset: index;}
.panes:first-child{margin-top: 0;}
.panes:last-child{margin-bottom: 0;}
.pane{background-color: #eee;border-radius: 20px;padding: 40px;display: flex;flex-direction: column;}
.pane-index{line-height: 1.25;letter-spacing: -0.035em;margin-bottom: 40px;}
.pane-index:empty::before{content: counter(index, decimal-leading-zero);counter-increment: index;}
.pane-index::after{content: "\003e";margin-left: .25em;}
.pane-title{font-size: 46px;line-height: 1.2;font-weight: 700;letter-spacing: -0.035em;margin-bottom: 40px;}
.pane-subtitle{margin-top: auto;}
.pane-subtitle::before{content: "";display: block;width: 150px;height: 1px;background-color: currentColor;margin-bottom: 15px;}

.dotsline{background-image: linear-gradient(45deg, #000, #cdcdcd);background-position: top;background-repeat: no-repeat;background-size: 100% 1px;}
.dotsline-wrapper{display: flex;justify-content: space-between;}
.dotsline-item{position: relative;margin-right: 100px;flex: 1;max-width: 330px;padding-top: 50px;color: #CBCBCB;}
.dotsline-item:last-child{margin-right: 0;}
.dotsline-item::before{content: "";position: absolute;top:-7px;left: 0;width: 15px;height: 15px;border-radius: 50%;background-color: currentColor;}
.dotsline-item.active{color: #000;}
.dotsline-caption{font-size: 46px;line-height: 1.2;letter-spacing: -0.035em;font-weight: 700;}
.dotsline-description{margin-top: 40px;}

.chips{display: flex;flex-wrap: wrap;margin: -5px;}
.chip { margin: 5px; }

.chip br {
	display:none!important;
}

.chip-label,
.checkbox-label{white-space: nowrap;height: 40px;overflow: hidden;padding: 0 1.25em;display: inline-flex;max-width: 100%;text-overflow: ellipsis;border-radius: 100px;background-color: #eee;align-items: center;font-size: 16px;line-height: 1.2;letter-spacing: -0.05em;font-weight: 600;transition: all .15s;}

.chip-label:hover{background-color: #cdcdcd;}
.chip-label:active{color: #fff;background-color: #4C86F9;}

.checkbox{position: relative;overflow: hidden;cursor: pointer;user-select: none;}
.checkbox-control{width: 0;height: 0;right: 100%;bottom: 100%;opacity: 0;pointer-events: none;position: absolute;}

.checkbox-control:checked ~ .checkbox-label{color: #fff;background-color: #4C86F9;}

.nlist{counter-reset: index;margin-left: 80px;}
.nlist-item{position: relative;margin-top: 80px;padding-left: 100px}
.nlist-item:first-child{margin-top: 0;}
.nlist-item::before{content: counter(index, decimal-leading-zero);counter-increment: index;width: 70px;height: 70px;border-radius: 50%;background-color: #eee;display: inline-flex;font-size: 28px;line-height: 1;font-weight: 600;letter-spacing: -0.025em;align-items: center;justify-content: center;transform: translateX(-90px);margin-bottom: -25px;}
.nlist-caption{font-size: 46px;line-height: 1.2;letter-spacing: -0.035em;font-weight: 700;margin-bottom: 60px;}
.nlist-tabs{display: flex;position: relative;}
.nlist-tab{letter-spacing: -0.03em;color: #CBCBCB;font-weight: 700;margin-right: 40px;position: relative;padding-top: 20px;cursor: pointer;transition: all .25s;}
.nlist-tab.active{color: #000;pointer-events: none;}
.nlist-tab:last-child{margin-right: 0;}
.nlist-content{max-width: 820px;margin-top: 20px;}
.nlist-pane{overflow: hidden;margin-top: 0;font-size: 26px;line-height: 1.25;letter-spacing: -0.03em;transition: all .25s;}
.nlist-sensor{position: absolute;top:0;left: 0;width: 0;height: 1px;background-color: #000;transition: all .25s ease-in-out;}

.nlist-content.hidden .nlist-pane{opacity: 0;clip-path: inset(0 100% 0 0);}
.nlist-content.active .nlist-pane{opacity: 1;clip-path: inset(0 0 0 0);}

.contacts-grid{display: grid;grid-template-columns: 1fr 348px 348px 1fr;grid-gap: 0 4px;grid-template-areas: ". map map ." ". . . address" "form form form form";align-items: flex-end;}
.contacts-map{grid-area: map;}
.contacts-address{grid-area: address;}
.contacts-form{grid-area: form;}

.address{margin-top: 20px;margin-bottom: 160px;}
.address::before{content: "";height: 1px;background-color: currentColor;width: 45px;display: block;margin-bottom: 20px;}

.map {
	position: relative;
	background-color: #eee;
	display: flex;
	max-height: 450px;
	min-width: 100%;
}

.map::before{content: "";flex: none;width: 0;padding-top: 65%;}
.map-canvas{position: absolute;top:0;left: 0;width: 100%;height: 100%;z-index: 1;}
.map-marker{position: absolute;top: 50%;left: 50%;z-index: 2;transform: translate(-50%,-50%);width: 100%;}

#map {
	overflow:hidden;
}

#map iframe {
	position:absolute;
	left:0px!important;
	right:0px!important;
	top:0px!important;
	bottom:-100px!important;
	width:100%!important;
	height:calc(100% + 100px)!important;
	filter: grayscale(100%)!important;;
}

.formtabs{display: flex;}
.formtab{font-size: 36px;line-height: 1;font-weight: 700;letter-spacing: -0.03em;color: #CBCBCB;cursor: pointer;transition: all .15s;}
.formtab.active{color: #000;pointer-events: none;}
.formtab + .formtab{margin-left: 80px;}

.formpane{display: none;}
.formpane.active{display: block;}

.formbox-wrapper{display: flex;min-height: calc(100vh - 400px);align-items: center;width: 100%;justify-content: center;}

.formbox{position: relative;min-height: 50px;}
.formbox-caption{font-size: 42px;line-height: 50px;letter-spacing: -0.05em;font-weight: 600;text-align: center;white-space: nowrap;z-index: 2;position: relative;transition: all .25s;pointer-events: none;}
.formbox-content{z-index: 1;position: relative;display: none;opacity: 0;transition: opacity .25s;}
.formbox-grid{overflow: hidden;padding: 50px 0 100px;opacity: 1;display: grid;grid-template-columns: 1fr 1fr;grid-gap: 0;}
.formbox-grid > :last-child{padding-left: 132px;}

.formbox-caption ~ .formbox-form .formbox-grid {
	padding: 55px 0 65px;
}

.formbox-row + .formbox-row{margin-top: 60px;}
.formbox .heartbox{max-height: 0;min-height: 0;margin-top: -25px;}
.formbox .heartbox_button{transition: all .25s;}

.formbox .heartbox_button{visibility: hidden;opacity: 0;}

.formbox.active .formbox-caption{margin-bottom: 0;}
.formbox.active .heartbox{margin-top: 0;}

.formbox.active .heartbox_button {
	visibility: visible;
	opacity: 1;
	display:block;
	position:relative;
	width:180px;
	height:133px;
}

.formbox.active .heartbox_button input {
	display:block;
	position:absolute;
	left:0px;
	right:0px;
	top:0px;
	bottom:0px;
	z-index:33;
}

.textfield{width: 100%;display: flex;flex-direction: column;}
.textfield-input{background-image: linear-gradient(#000, #000), linear-gradient(#000, #000);background-position: bottom;background-repeat: no-repeat;background-size: 100% 1px, 0 2px;padding: 12px 0;width: 100%;text-overflow: ellipsis;transition: all .25s;line-height: 1.65;height: 56px;order: 1;}
.textfield-label{order: -1;font-size: 24px;line-height: 1.2;letter-spacing: -0.05em;font-weight: 600;margin-bottom: 28px;}
.textfield-input[required] ~ .textfield-label::after{content: "*";}
.textfield-note{font-size: 16px;line-height: 1;color: #4C86F9;letter-spacing: -0.05em;visibility: hidden;margin: -24px 0 8px;}

.textfield__invalid .textfield-input{color: #4C86F9;}
.textfield__invalid .textfield-note{visibility: visible;}

.selectbox{position: relative;display: flex;align-items: center;background-image: linear-gradient(#000, #000);background-position: bottom;background-repeat: no-repeat;background-size: 100% 1px;cursor: pointer;}
.selectbox-input{padding: 12px 0;width: 100%;text-overflow: ellipsis;line-height: 1.65;height: 56px;pointer-events: none;}
.selectbox-suffix{flex: none;margin-left: 20px;transition: transform .15s;}

.selectbox.hidden{visibility: hidden;}

.selectbox.active .selectbox-suffix{transform: scaleY(-1);}

.select{position: absolute;z-index: 10;background-color: #fff;width: 100%;visibility: hidden;transform: translateY(20px);opacity: 0;transition: all .15s;}
.select.active{visibility: visible;opacity: 1;transform: translateY(0);}
.select-option{min-height: 56px;border-bottom: 1px solid #9a9a9a;letter-spacing: -0.05em;color: #9a9a9a;transition: color .15s;padding: 12px 16px;display: flex;align-items: center;cursor: pointer;}
.select-option:hover,
.select-option.active{color: #000;}

.editbox{background-image: linear-gradient(#000, #000), linear-gradient(#000, #000);background-position: bottom;background-repeat: no-repeat;background-size: 100% 1px, 0 2px;padding: 12px 16px;transition: all .25s;line-height: 1.65;min-height: 56px;}

.editbox:empty::before{content: attr(data-placeholder);color: #CBCBCB;}

.textfield-input:focus,
.editbox:focus{background-size: 100% 1px, 100% 2px;}

.filebox{width: 100%;border: 1px dashed;position: relative;overflow: hidden;transition: background-color .25s;}
.filebox-input{position: absolute;opacity: 0;left: 0;top: 0;width: 100%;height: 100%;z-index: 1;}
.filebox-label{align-items: center;justify-content: center;text-align: center;display: flex;flex-direction: column;letter-spacing: -0.05em;padding: 20px;min-height: 232px;}
.filebox-info{transition: all .25s;margin: 15px 0;}
.filebox-label_icon{}
.filebox-label_title{color: #9A9A9A;}
.filebox-label_subtitle{}
.filebox-label_note{font-size: 14px;line-height: 1.265;letter-spacing: -0.05em;color: #9A9A9A;}

.filebox:hover{background-color: rgba(238, 238, 238, 0.5);}
.filebox:hover .filebox-info{transform: scale(1.1);margin: 20px 0;}

.emailbox{margin-top: 80px;margin-bottom:170px;font-size: 160px;line-height: 1.2;letter-spacing: -0.035em;display: flex;}
.emailbox-content{padding-right: .25em;transition: all .15s;}
.emailbox-content a{transition: all .15s;}
.emailbox-content a:hover{color: #4C86F9;}

.emailbox:hover .runner-start,
.emailbox:hover .runner-end{animation-play-state: paused;}

.keygrid-wrapper{}

.single-post .section:first-child .keygrid-wrapper { 
	padding:200px 0 0 0; 
}

.keygrid{display: grid;grid-template-columns: calc(35% - 16px) 10% 10% 10% calc(35% + 16px);grid-gap: 0;}
.keygrid-col__black{background-color: #000;color: #fff;}
.keygrid-col__gray{background-color: #eee;}
.keygrid-col__black,
.keygrid-col__gray{padding: 100px 0;}

.keygrid-media{position: relative;display: flex;min-height: 100%;}
.keygrid-media::before{content: "";flex: none;width: 0;}


.keygrid-carousel{position: relative;min-height: 100%;display: flex;}
.keygrid-carousel > div{width: 100%;min-height: 100%;}
.keygrid-carousel > div:nth-child(n + 2){display: none;}
.keygrid-carousel .slick-list{overflow: hidden;}
.keygrid-carousel .slick-track{height: 100%;}
.keygrid-carousel .slick-dots{position: absolute;right: 100%;width: calc(45vw - 16px);padding: 0 90px;display: flex;bottom: 100px;align-items: flex-start;}
.keygrid-carousel .slick-dots li{flex: 1;border-top: 1px solid;margin: 20px 0 0;position: relative;line-height: 1;}
.keygrid-carousel .slick-dots li::before{content: "";height: 3px;position: absolute;top: -2px;left: 0;width: 100%;background-color: currentColor;transition: transform .25s linear;transform-origin: right center;transform: scaleX(0);}
.keygrid-carousel .slick-dots li button{visibility: hidden;height: 1px;overflow: hidden;}
.keygrid-carousel .slick-dots li.slick-active::before{transform: scaleX(1);transform-origin: left center;}

.keygrid-carousel__contrast {
	color: #fff;
	background:#000;
}

.keygrid-carousel__left .slick-dots{right: auto;left: 100%;width: calc(45vw + 16px);max-width: calc(480px + 180px);}

.keygrid-inner{padding: 0 90px;}

.keygrid-maintitle{font-size: 48px;line-height: 1;letter-spacing: -0.035em;font-weight: 700;max-width: 480px;}
.keygrid-description{font-size: 18px;line-height: 1.25;letter-spacing: -0.035em;margin-top: 48px;max-width: 480px;}

.case{max-width: 480px;display: flex;flex-direction: column;justify-content: center;min-height: 100%;}
.case-title::before{content: "";display: block;margin-bottom: 48px;height: 1px;width: 68px;background-color: currentColor;}
.case-description{font-size: 18px;line-height: 1.25;letter-spacing: -0.035em;margin-top: 48px;max-width: 480px;}
.case-date{margin-top: 150px;}

.case-carousel-nav{margin-top: 150px;text-align: right;margin-bottom: 50px;}


.footer{background-color: #000;color: #fff;padding: 70px 0 40px;}
.footer-caption{max-width: 800px;}
.footer-email{font-size: 50px;font-weight: 500;line-height: 1.04;color: #575757;letter-spacing: -0.035em;transition: all .15s;}
.footer-email:hover{color: #757575;}
.footer-grid{display: grid;grid-template-columns: repeat(4, 1fr);margin-top: 100px;grid-gap: 100px;}
.footer-col::before{content: "";width: 88px;height: 1px;background-color: currentColor;margin-bottom: 20px;display: block;}
.footer-col_caption{font-size: 16px;line-height: 1.25;font-weight: 700;}
.footer-col_list{margin-top: 20px;font-size: 16px;line-height: 1.25;letter-spacing: -0.035em;}
.footer-col_list li + li{margin-top: 1em;}
.footer-col_list a{transition: all .15s;}
.footer-col_list a:hover{color: #4C86F9;}

.bottombar{display: grid;grid-template-columns: repeat(4, 1fr);margin-top: 100px;grid-gap: 100px;}
.bottombar-col{font-size: 12px;display: inline-flex;}
.bottombar-col:last-child{grid-column-end: span 2;justify-content: flex-end;}
.bottombar-col__arr::after{content: "\003e";margin-left: 2em;flex: none;}

.bottombar-heart{flex: none;margin-left: 8px;display: flex;align-items: center;width: 20px;height: 15px;}
.bottombar-heart .heart{max-width: 100%;max-height: 100%;overflow: hidden;}

.menu-button{display: flex;height: 24px;width: 24px;position: relative;margin-top: -4px;margin-left: auto;}
.menu-button::before,
.menu-button::after{content: "";width: 100%;height: 2px;background-color: currentColor;left: 0;position: absolute;top: 50%;margin-top: -1px;transition: transform .5s .75s;}
.menu-button::before{transform: translateY(-3px);}
.menu-button::after{transform: translateY(3px);}

.menu{position: fixed;z-index: 100;top:0;left: 0;right: 0;bottom: 0;background-color: #000;color: #fff;overflow: hidden;display: flex;transition: all .5s .5s cubic-bezier(0.65,0.05,0.36,1);visibility: hidden;clip-path: inset(0 0 0 100%);overflow: auto;}
.menu-close{position: relative;width: 24px;height: 24px;margin-top: -4px;margin-left: auto;}
.menu-close::before,
.menu-close::after{content: "";width: 100%;height: 2px;background-color: currentColor;position: absolute;top: 50%;left: 0;margin-top: -1px;transition: transform .5s;}

.menu-inner{min-height: 100%;height: 100%;display: flex;flex-direction: column;}
.menu-header{flex: none;}
.menu-nav{flex: auto;padding: 40px 0;transition-property: transform, opacity;transition-duration: .25s;opacity: 0;transform: translateX(100vw);}
.menu-nav li{padding: 20px 0;border-bottom: 1px solid;}
.menu-nav li > a{display: block;font-size: 24px;}
.menu-footer{flex: none;padding: 20px 0 60px;font-size: 14px;letter-spacing: -0.03em;transition-property: transform, opacity;transition-duration: .25s;opacity: 0;transform: translateX(100vw);}
.menu-footer ul{display: flex;margin: -10px;justify-content: space-between;}
.menu-footer li{margin: 0 10px;}

.menu-active .menu{visibility: visible;clip-path: inset(0 0 0 0);}
.menu-active .menu-button::before,
.menu-active .menu-button::after{transform: translateY(0);transition-delay: 0s;}
.menu-active .menu-close::before,
.menu-active .menu-close::after{transition-delay: .75s;}
.menu-active .menu-close::before{transform: rotate(45deg);}
.menu-active .menu-close::after{transform: rotate(-45deg);}
.menu-active .menu-nav,
.menu-active .menu-footer{opacity: 1;transform: translateX(0);transition-delay: 1s;}

.fab-button {
	position: fixed;
	bottom: 0;
	right: 0;
	margin: 80px 40px;
	z-index: 5;
	transition: all .25s;
	opacity: 0;
	transform: translateX(100%);
	cursor: pointer;
	width: 180px;
}

.fab.active .fab-button{transform: translateX(0);opacity: 1;}
.fab.active .fab-text{animation: rotate 8s 0s infinite linear;transform-origin: center;}
.fab.active .fab-button *{transform-origin: center;}

.fab.active:hover .fab-button { 
	animation: singleHeartbeat 2s 0s infinite linear; 
}

.pane-cross{position: absolute;visibility: hidden;opacity: 0;left: 0;top: 0;transition: opacity .5s;}

.pane-cross div{width: 200vw;height: 200vw;transform: translate(-50%,-50%);left:0;top: 0;position: absolute;top: 0%;left: 0%;z-index: 1;opacity: .5;transition-property: left, top;pointer-events: none;color: #575757;transition-timing-function: linear;}

.pane{overflow: hidden;position: relative;}
.pane .pane-cross{visibility: visible;}
.pane:hover .pane-cross{opacity: 1;}


@media screen and (max-width: 1799.98px) {
    
    .citebox{font-size: 130px;}
    
    .textbox{font-size: 28px;}
    
    .service-caption{font-size: 50px;}
    
    .infobox-title{font-size: 40px;}
    
    .infobox-grid__4{max-width: 1100px;}
    .infobox-grid__4 .infobox-cell{width: 540px;}
    
}

@media screen and (max-width: 1599.98px) {
 
    .wrapper{padding: 0 70px;}
    .inner-wrapper{padding: 0 50px;}
    
    .title__main{font-size: 100px;}
    .citebox{font-size: 100px;}
    .textbox{width: calc(60vw - 282px - 70px);}
    .textbox__push{margin-left: 0;}
    .pane{padding: 40px 50px;}
    
    .projects-nav_item{font-size: 16px;}
    .preview-content::before{font-size: 16px;width: 34px;height: 34px;}
    
    .section-caption{font-size: 16px;}
    
    .service-preview{max-width: 450px;}
    .service-caption::before{font-size: 16px;}
    .service-action{font-size: 20px;}
    .service-text{font-size: 16px;}
    
    .infobox-index{font-size: 22px;width: 60px;height: 60px;}
    .infobox-title{font-size: 36px;}
    .infobox-description{font-size: 16px;max-width: 350px;}
    
    .infobox-grid__4{max-width: 900px;}
    .infobox-grid__4 .infobox-cell{width: 540px;}
    
    .numbers-value{font-size: 100px;}
    
    .keynumber-value{font-size: 100px;}
    .keynumber-description{font-size: 16px;}
    
    .address{font-size: 16px;}
    
    .footer-col_list{font-size: 16px;}
    
}

@media screen and (max-width: 1439.98px) {

    .header-caption{}
    .header-reviews{margin-top: 120px;}
    .shiftbox-content{margin-left: 20px;}
    
    .numbers{grid-gap: 100px;}
    .keynumbers{grid-gap: 100px;}
    .keynumber-caption{font-size: 36px;}
    
    .clients{grid-gap: 100px;grid-template-columns: repeat(4, 1fr);}
    .client:nth-child(n + 9){display: none;}
    
    .partners{}
    .panes{grid-template-columns: 1fr 1fr;}
    
    .pane:nth-child(even){transition-delay: .25s;}
    
    .footer-grid{margin-top: 75px;grid-gap: 80px 0;}
    .footer-col{padding-right: 80px;}
    .bottombar{grid-template-columns: auto auto 1fr;grid-gap: 0 80px;margin-top: 120px;}
    .bottombar-col:last-child{grid-column-end: span 1;}
    
}

@media screen and (max-width:1319.98px){
    
    
    .title__main{font-size: 80px;}
    .topbar-logo{max-width: 160px;}
    
    .topnav-item{margin-left: 32px;}
}

@media screen and (max-width:1199.98px){
    
    
    .textbox{margin-left: 0;width: calc(60vw - 70px);}
    .service-grid{grid-template-columns: 1fr auto;grid-gap: 0;}
    .service-list{}
    .service-content{overflow: hidden;max-height: 0;margin: 0;transition: all .15s;padding-left: 48px;}
    .service.active .service-content{max-height: none;margin: 60px 0;}
    .service-action{margin-top: 30px;}
    .service-preview{display: none;}
    
    .numbers{grid-template-columns: 1fr 1fr;grid-gap: 40px;}
    .numbers-item{grid-column-start: 1;}
    .numbers-item:nth-child(even){transform: translateX( calc(100% + 40px) );}
    .numbers-title{margin-right: 80px;}
    .numbers-note{margin-right: 80px;}
    
    .keynumbers{grid-template-columns: auto;}
    .keynumber{max-width: 420px;}
    
    .infobox-grid__2 .infobox-row{margin-left: 0;}
    .infobox-grid__4{margin: 0;}
    
    .nlist{margin-left: 0;}
    
    .contacts-grid{grid-template-columns: auto;grid-template-areas: "map" "address" "form";}
    .address{margin-bottom: 100px;}
    
    .formbox-grid > :last-child{padding-left: 90px;}
    
    .emailbox{font-size: 100px;}
    
    .partners{grid-template-columns: 1fr 1fr;grid-gap: 50px;}
    .partner:nth-child(odd){margin-right: 0;}
    .partner:nth-child(even){margin-left: 0;}
    
}

@media screen and (max-width:1023.98px){
    
    .desktop{display: none!important;}
    
    .wrapper{padding: 0 40px;}
    .inner-wrapper{padding: 0 32px;}
    
    .title__main{font-size: 60px;}
    .title__default{font-size: 32px;}
    
    .mainnav{margin-bottom: -52px;}
    
    .main{margin-top: 80px;}
    
    .topbar-logo{margin: 0;padding: 0;max-width: 96px;}
    .header-wrapper{padding-bottom: 200px;}
    
    .header__cut .header-wrapper{}
    
    .section + .section:not(.nonepadding){margin-top: 100px;}
    .section__contrast{padding-bottom: 100px;}
    .section:last-child{padding-bottom: 150px;}
    
    .section-caption{margin-bottom: 40px;margin-left: -48px;}
    .section-caption::before{margin-left: 0;margin-right: 16px;width: 32px;}
    
    .section-footer{margin-top: 40px;}
    
    .textbox{font-size: 26px;letter-spacing: -0.03em;width: calc(60vw - 40px - 32px);margin-left: 32px;max-width: 100%;}
    .marquee-item{font-size: 18px;}
    
    .chip-label, .checkbox-label{height: 30px;font-size: 12px;}
    
    .service{margin-top: 20px;}
    .service-caption{padding-left: 0;font-size: 32px;flex-direction: column;}
    .service-caption::before{position: relative;font-size: 10px;margin-bottom: 5px;}
    .service-content{padding-left: 0;}
    .service-tags{padding-bottom: 30px;margin-bottom: 12px;border-bottom: 1px solid;}
    .service.active .service-content{margin: 48px 0;}
    .service-text{font-size: 14px;}
    .service-action{border-width: 0;padding: 0;margin: 48px 0 0;font-size: 14px;}
    
    .heartbox{min-height: 100px;}
    .heartbox_icon{width: 100px;height: 100px;margin: -50px 0 0 -50px;}
    .heartbox_text{font-size: 30px;}
    
    .heart{max-height: 100px;max-width: 100px;}
    
    .heartbox .heart{animation: heartbeat 2s infinite;}
    
    .previews-carousel{margin-bottom: 0;width: 100%;}
    
    .numbers{grid-gap: 24px;}
    .numbers-item{overflow: hidden;width: 100%;}
    .numbers-item:nth-child(even){transform: translateX( calc(100% + 24px) );}
    .numbers-value{font-size: 60px;padding-bottom: 20px;margin-bottom: 0;line-height: 1;}
    .numbers-title{font-size: 18px;margin: 20px 0 0;padding: 0;}
    .numbers-note{margin-top: 15px;margin-right: 0;font-size: 10px;}
    
    
    .clients{grid-gap: 50px 0;}
    
    .citebox{font-size: 60px;}
    .citebox > span:first-child::before, 
    .citebox > span:last-child::after{font-size: 80px;}
    
    .partners{margin-top: 30px;}
    
    .panes{grid-gap: 24px;}
    .pane{padding: 40px;}
    .pane-title{font-size: 36px;}
    
    .nlist-pane{font-size: 24px;}
    
    .infobox-grid{grid-gap: 40px 0;}
    .infobox-title{font-size: 36px;}
    .infobox-description{margin-top: 40px;}
    .infobox-action{margin-top: 30px;}
    
    .infobox-grid__3 .infobox-row{grid-template-columns: auto;}
    .infobox-grid__3 .infobox-row .infobox-cell{width: auto;}
    .infobox-grid__3 .infobox-row:nth-child(1) .infobox-cell,
    .infobox-grid__3 .infobox-row:nth-child(2) .infobox-cell,
    .infobox-grid__3 .infobox-row:nth-child(3) .infobox-cell,
    .infobox-grid__3 .infobox-row:nth-child(4) .infobox-cell{grid-column-start: 1;}
    
    .infobox-grid__4 .infobox-row:nth-child(even) .infobox-cell{margin-left: 0;}
    
    .infobox-grid__5 .infobox-row{grid-gap: 0 100px;}
    
    .formtab{font-size: 22px;}
    .formtab + .formtab{margin-left: 40px;}
    
    .formbox-wrapper{min-height: calc(100vh - 200px);}
    .formbox-row + .formbox-row{margin-top: 40px;}
    
    .formbox-caption{font-size: 22px;}
    
    .textfield-label{font-size: 20px;margin-bottom: 16px;}
    .textfield-note{margin-top: -12px;margin-bottom: -2px;font-size: 14px;}
    .filebox-label{min-height: 208px;}
      
    .keygrid-inner{padding: 0 40px;}
    .keygrid-carousel .slick-dots{padding: 0 40px;}
    .keygrid-maintitle{font-size: 36px;}
    
    .footer-email{font-size: 32px;}
    
    .footer-grid{grid-template-columns: 1fr 1fr;grid-gap: 0;}
    
    .footer-col_list{font-size: 14px;}
    
    .footer-col__connect{grid-column-end: span 2;margin-top: 60px;padding-right: 0;}
    .footer-col__address{grid-column-end: span 2;margin-top: 8px;padding-right: 0;}
    
    .footer-col__connect::before,
    .footer-col__address::before,
    .footer-col__connect .footer-col_caption,
    .footer-col__address .footer-col_caption{display: none;}
    
    .footer-col__connect .footer-col_list,
    .footer-col__address .footer-col_list{margin-top: 0;}
    
    .footer-col__connect .footer-col_list ul{display: flex;font-size: 12px;justify-content: space-between;}
    .footer-col__address .footer-col_list ul{display: flex;font-size: 12px;color: #575757;}
    
    .footer-col__connect .footer-col_list li + li,
    .footer-col__address .footer-col_list li + li{margin: 0 0 0 8px;}
    
    .bottombar{margin-top: 60px;grid-gap: 40px;}
    
}

@media screen and (max-width:767.98px){
    
    .wrapper{max-width: 640px;padding: 0 16px;}
    .topbar-logo{max-width: 96px;}
    
    .header-wrapper{padding-bottom: 150px;}
    
    .header-heart .heart{width: 3em;height: 3em;max-width: none;max-height: none;}
    
    .previews .preview-content::before{display: none;}
    .previews ~ .section-footer{font-size: 14px;display: flex;justify-content: flex-end;}
    
    .shiftbox-carousel{position: relative;}
    .shiftbox{margin-top: 0;grid-template-columns: auto;grid-auto-flow: row;min-height: 0;}
    .shiftbox-image{width: 100%;}
    .shiftbox-content{max-width: 640px;padding: 48px 16px 0;margin: 0 auto;width: 100%;}
    
    .shiftbox-carousel .slick-dots{top: 55vw;}
    
    .textbox{width: auto;}
    .textbox-action{display: block;}
    
    .preview-action{display: none;}
    
    .previews-carousel .slick-slide + .slick-slide{margin-left: 10px;}
    
    .preview-content::before{font-size: 14px;display: none;}
    .preview-name{font-size: 14px;}
    
    .clients{grid-gap: 20px;grid-template-columns: 1fr 1fr;}
    .client{height: 60px;}
    
    .client:nth-child(n + 7){display: none;}
    
    .citebox{}
    .citebox > span:first-child::before, 
    .citebox > span:last-child::after{}
    
    .projects{margin: -20px 0;}
    .project{width: 100%;padding: 20px 0;}
    .project .preview-media{width: auto;margin: 0 -20px 20px;}
    
    .nlist{margin-left: 0;}
    .nlist-item{margin-top: 40px;padding-left: 0;}
    .nlist-item::before{margin-bottom: 20px;margin-left: 0;transform: none;width: 32px;height: 32px;font-size: 18px;font-weight: 400;}
    .nlist-caption{font-size: 36px;margin-bottom: 20px;}
    
    .nlist-content{display: none;}
    .nlist-sensor{display: none;}
    
    .nlist-tabs{flex-direction: column;align-items: flex-start;margin-top: 40px;}
    .nlist-tab{margin-right: 0;}
    .nlist-pane{font-size: 16px;max-height: 0;opacity: 0;}
    .nlist-tab.active + .nlist-pane{max-height: none;padding: 10px 0 20px;opacity: 1;}
    
    .infobox-grid{grid-gap: 70px;}
    .infobox-cell{max-width: 440px;width: 100%;}
    .infobox-grid__1 .infobox-row{grid-template-columns: auto;}
    .infobox-grid__1 .infobox-row:nth-child(1) .infobox-cell,
    .infobox-grid__1 .infobox-row:nth-child(2) .infobox-cell,
    .infobox-grid__1 .infobox-row:nth-child(3) .infobox-cell,
	.infobox-grid__1 .infobox-row:nth-child(4) .infobox-cell,
	.infobox-grid__1 .infobox-row:nth-child(5) .infobox-cell,
	.infobox-grid__1 .infobox-row:nth-child(6) .infobox-cell,
	.infobox-grid__1 .infobox-row:nth-child(7) .infobox-cell,
	.infobox-grid__1 .infobox-row:nth-child(8) .infobox-cell{
		grid-column-start: 1;
	}
    .infobox-grid__2 .infobox-row{grid-template-columns: auto;grid-gap: 70px 0;}
    .infobox-grid__4{margin: 0;}
    .infobox-grid__4 .infobox-cell{max-width: 640px;width: 100%;}
    .infobox-grid__4 .infobox-title{font-size: 28px;font-weight: 500;}
    .infobox-grid__5 .infobox-row{grid-gap: 40px 0;grid-template-columns: auto;}
    .infobox-grid__5 .infobox-title{font-size: 24px;}
    
    .infobox-index{margin-bottom: 20px;margin-left: 0;transform: none;width: 32px;height: 32px;font-size: 14px;font-weight: 400;}
    .infobox-index ~ *{margin-left: 0;}
    .infobox-description{margin-top: 30px;font-size: 14px;line-height: 1.3;}
    
    .partners{grid-template-columns: auto;grid-gap: 15px;}
    .partner:nth-child(odd),
    .partner:nth-child(even){margin: 0 auto;}
    
    .panes{grid-template-columns: auto;grid-gap: 20px;}
    .pane:nth-child(even){transition-delay: 0s;}
    .pane{padding: 20px 16px 40px;}
    .pane-index{margin-bottom: 20px;}
    .pane-title{margin-bottom: 20px;}
    .pane-subtitle{font-size: 14px;}
    
    .map{margin: 0 -16px;}
    
    .awards{grid-template-columns: auto;grid-gap: 0;}
    .award{max-width: none;}
    
    .formbox.active .formbox-caption ~ .formbox-form .formbox-grid{padding: 100px 0;}
    .formbox.active .formbox-grid {
		padding: 50px 0 80px;
	}
    
    .formbox-grid{grid-template-columns: auto;grid-gap: 50px 0;}
    .formbox-grid > :last-child{padding-left: 0;}
    
    .service-text{font-size: 12px;}
    
    .emailbox{font-size: 72px;}
    
    .keynumbers{margin: 0;grid-gap: 50px 0;}
    .keynumbers-intro{margin-bottom: 70px;font-size: 14px;line-height: 1.3;}
    .keynumber-caption{padding-bottom: 10px;}
    .keynumber-caption > span{font-size: 18px;padding-bottom: 20px;}
    .keynumber-value{font-size: 60px;}
    .keynumber-value > span{padding-top: 0;line-height: 1.75;}
    .keynumbers__small .keynumber-value{font-size: 70px;}
    .keynumber-description{font-size: 14px;margin-top: 0;}
    
    
    .keygrid{grid-template-columns: auto;}
    .keygrid-inner{max-width: 640px;padding: 20px 16px;margin: 0 auto;}
    .keygrid-col{padding: 0;overflow: hidden;}
    .keygrid-col__black, 
    .keygrid-col__gray{padding: 40px 0;}
    .keygrid-col__mobile-first{order: -1;}
    .keygrid-maintitle{font-size: 28px;font-weight: 500;}
    .keygrid-description{font-size: 14px;line-height: 1.3; margin-top: 20px;}
    .keygrid-media::before{padding-top: 60%;}
    
    .case-title::before{margin-bottom: 30px;}
    .case-description{font-size: 16px;margin-top: 30px;}
    .case-date{margin-top: 40px;}
    .case-carousel-nav{margin: 40px 0 0 ;}
    
    .footer{padding: 100px 24px;}
    .footer-col{padding-right: 0;}
    .footer-col::before{margin-bottom: 16px;}
    .footer-col_list{margin-top: 16px;}
    
    .footer-email{font-size: 22px;margin-top: 10px;}
    
    .bottombar{margin-top: 50px;grid-template-columns: auto;grid-gap: 20px;}
    .bottombar-col:last-child{justify-content: flex-start;}
    
    .bottombar{margin-top: 36px;display: flex;align-items: baseline;}
    .bottombar-col__arr::after{display: none;}
    .bottombar-col:nth-child(1){margin-right: auto;font-size: 8px;letter-spacing: -0.035em;color: #575757;}
    .bottombar-col:nth-child(2){display: none;}
    .bottombar-col:nth-child(3){}
    
}

@media screen and (max-width:639.98px){

    .shiftbox-image::before{padding-top: 65%;}
    .shiftbox-carousel .slick-dots{top: 65vw;}
    
    .runner-start,
    .runner-end{}
    
    .main{margin-top: 52px;}
    
    .numbers-item:nth-child(even){margin-top: -40px;margin-bottom: -40px;}
    
    .preloader-logo{height: 20px;}
    .preloader-logo div{}
    .preloader-logo div:nth-child(3){margin: 0 2px;}
    .preloader-logo div:nth-child(5){margin-left: 0;margin-right: 0;}
    
    .loading-phase-2 .preloader-logo div:nth-child(5){transition: all .5s linear;margin-left: -2px;margin-right: 2px;}
    
    .footer{padding: 40px 24px 80px;}
    .footer-caption .title{font-size: 28px;}
    .footer-email{font-size: 28px;margin-top: 4px;}
    .footer-grid{margin-top: 100px;}
    .footer-col::before{margin-bottom: 10px;}
    .footer-col_caption{font-size: 14px;}
    .footer-col_list{margin-top: 10px;}
    .footer-col_list li + li{margin-top: 10px;}
    .footer-col__connect{margin-top: 48px;}
    .footer-col__connect .footer-col_list{font-size: 12px;}
    .footer-col__address .footer-col_list ul{justify-content: space-between;}
    
    
    
    .footer-col:nth-child(2){padding-left: 40px;}
    
}

@media screen and (max-width:399.98px){
    
    .inner-wrapper{padding: 0;}
    .title__main{font-size: 52px;}
    .textbox{margin: 0;font-size: 20px;line-height: 1.2;}
    .section-caption{margin-left: 0;}
    
}

@media screen and (max-width:374.98px){
    
    .inner-wrapper{padding: 0;}
    .title__main{font-size: 46px;}
    
    .footer{padding: 40px 0 60px;}
    
}

@media screen and (min-width:768px) {
    
    .project:nth-child(4n + 2),
    .project:nth-child(4n + 3){width: 50%;margin-top: 0;} /* 55x - ((100-55) * x) */
    .project:nth-child(4n + 2) .preview-media,
    .project:nth-child(4n + 3) .preview-media{margin-top: 0%;}
    .project:nth-child(4n + 2) .preview-media::before,
    .project:nth-child(4n + 3) .preview-media::before{padding-top: 65%;}
    
    .nlist-tabs .nlist-pane{display: none;}
    
    .keygrid-col__a{grid-column-end: span 1;}
    .keygrid-col__b{grid-column-end: span 2;}
    .keygrid-col__c{grid-column-end: span 3;}
    .keygrid-col__d{grid-column-end: span 4;}
    .keygrid-col:only-child{grid-column-end: span 5;}
    
    .shiftbox-carousel .slick-dots{width: 60vw;top: 100%;bottom: auto;padding:0;padding-left: 20px;margin-top: 14px;}
    
}

@media screen and (min-width:1024px){
    
    .mobile{display: none!important;}
    .redlink:hover::after{transform: translateX(50%);}
    
    .reviews{display: flex;}
    .reviews-col + .reviews-col{margin-left: 12px;}
    .reviews-pretitle{font-size: 10px;}
    .reviews-logo{width: 80px;}
    .reviews-num{font-size: 10px;}

    .footer-col__connect{order: 1;}
    
    
}

@media screen and (min-width:1200px){
    
    
    .service .service-content{display: none;}
    
    
    .numbers-item:nth-child(2).aos-init .numbers-value{transition-delay: .5s;}
    .numbers-item:nth-child(2).aos-init .numbers-value > div{transition-delay: .75s;}
    .numbers-item:nth-child(2).aos-init .numbers-title > div{transition-delay: .75s;}
   
    .numbers-item:nth-child(3).aos-init .numbers-value{transition-delay: .75s;}
    .numbers-item:nth-child(3).aos-init .numbers-value > div{transition-delay: 1s;}
    .numbers-item:nth-child(3).aos-init .numbers-title > div{transition-delay: 1s;}
    
    .keynumber:nth-child(2).aos-animate .keynumber-caption{transition-delay: 1s;}
    .keynumber:nth-child(2).aos-animate .keynumber-caption > span{transition-delay: 1.25s;}
    .keynumber:nth-child(2).aos-animate .keynumber-value > span{transition-delay: 1.25s;}
    .keynumber:nth-child(2).aos-animate .keynumber-description{transition-delay: 1.5s;}
    
    .keynumber:nth-child(3).aos-animate .keynumber-caption{transition-delay: 2s;}
    .keynumber:nth-child(3).aos-animate .keynumber-caption > span{transition-delay: 2.25s;}
    .keynumber:nth-child(3).aos-animate .keynumber-value > span{transition-delay: 2.25s;}
    .keynumber:nth-child(3).aos-animate .keynumber-description{transition-delay: 2.5s;}
    
}

@media screen and (min-width:1440px){
    
    
    .topnav-item,
    .topbar-social li,
    .topbar-contact_button,
    .mainnav-dropdown-layer-text{font-size: 16px;}
    
    .pane:nth-child(3n+1){transition-delay: 0s;}
    .pane:nth-child(3n+2){transition-delay: .25s;}
    .pane:nth-child(3n+3){transition-delay: .5s;}
    
    
    .client:nth-child(n + 11){display: none;}
   
    
}

@media screen and (min-width:1600px){
    
    
    .shiftbox-carousel .slick-dots{padding-left: 90px;}
   
    
}

@media screen and (min-width:1920px){
    
    .keygrid-col:nth-child(1) .keygrid-inner{margin-left: calc((100vw - 1920px) / 2)}
    .keygrid-carousel:not(.keygrid-carousel__left) .slick-dots{padding-left: calc((100vw - 1920px) / 2 + 90px);}
    .shiftbox-carousel .slick-dots{padding-left: calc((100vw - 1920px) / 2 + 90px);}
    .textbox{width: calc((60vw) - (100vw - 1920px) / 2 - 90px - 282px );}
    
}

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

#contact.section {
	margin:150px 0 0 0;
}

@media screen and (max-width: 1024px) {
	#contact.section {
		margin:100px 0 0 0;
	}	
}

.wpcf7 {
	position:relative;
	display:block;
}

span.wpcf7-form-control-wrap {
	position:relative;
}

.wpcf7-not-valid-tip {
	position:absolute;
	top:110%;
	left:0px;
}

.wpcf7 .wpcf7-response-output {
	border:none!important;
	text-align:center!important;
	padding:0!important;
	position:absolute!important;
	left:0px!important;
	right:0px!important;
	bottom:-120px!important;
}

.wpcf7-spinner {
	position:absolute!important;
	left:50%!important;
	bottom:0px!important;
	margin:0 0 0 -90px!important;
	display:block!important;
	border-radius:0px!important;
	width:180px!important;
	height:130px!important;
	z-index:11;
	opacity:1!important;
	background:none!important;
}

.wpcf7-spinner::after {
	content:'';
	display:block;
	top:50px;
	bottom:50px;
	left:40px;
	right:40px;
	background:#4C86F9;
	position:absolute;
	z-index:12;
}

.wpcf7-spinner::before {
	content:''!important;
	display:block!important;
	z-index:13!important;
	position:absolute!important;
	left:0px!important;
	right:0px!important;
	top:0px!important;
	bottom:0px!important;
	width:100%!important;
	height:100%!important;
	background:url("loading.svg") no-repeat center center!important;
	background-size:180px auto!important;
	animation-name:none!important;
}

i.utm {
	display:none;
}

.videosection .keygrid-col div {
	position:relative;
}

.videosection .keygrid-col div video {
	display: block;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    overflow: hidden;
}

.page-template-page-about-php .header-heart {
	display:none;
}

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

.formss { padding:100px 0 0 0; }

.page-template-page-contact-php .formss {
	padding:0 0 100px 0;
}

.formss .center {
	width:100%;
	margin:0 auto;
	padding:0 90px;
}

@media screen and (max-width: 1600px) {
	.formss .center {
		padding:0 70px;
	}
}

@media screen and (max-width: 1024px) {
	.formss .center {
		padding:0 40px;
	}
}

.formss-wrap {
	width:100%;
	clear:both;
	position:relative;
}

.formss-wrap h2 {
	font-family:'Manrope', sans-serif;
	display:block;
	text-align:center;
	font-style: normal;
	font-weight: 600;
	font-size: 42px;
	line-height: 90.1%;
	letter-spacing: -0.05em;
	color: #000000;
	position:relative;
	z-index:5;
	cursor:pointer;
}

.formss-wrap h2.show { cursor:default; }

.formss-wrap i.formss-heart {
	display:block;
	width: 180px;
	height: 130px;
	background:url("../../images/heart.svg") no-repeat center center;
	position:absolute;
	left:50%;
	margin:0 0 0 -90px;
	bottom:-45px;
	z-index:3;
	animation: beat 2s infinite;
	cursor:pointer;
	display:none;
}

.formss-wrap i.formss-heart.show { cursor:default; }

.formss:hover .formss-wrap i.formss-heart {
	transition: all 0.5s;
	animation:none;
}

.formss .formss-wrap i.formss-heart.no-active {
	bottom:-45px!important;
	opacity:1!important;
	animation:none!important;
	display:block!important;
}

@keyframes beat {
	0%		{ transform: scale(1); }
	10% 	{ transform: scale(1.1); }
	20% 	{ transform: scale(1); }
	30% 	{ transform: scale(1.1); }
	40% 	{ transform: scale(1); }
	100% 	{ transform: scale(1); }
}

.formss-wrap .toggle-formss {
	display:block;
}

.formss span.wpcf7-form-control-wrap {
	display:block;
	width:100%;
	padding:20px 0;
}

.formss span.wpcf7-form-control-wrap:first-child {
	padding-top:0px;
}

.formss span.wpcf7-form-control-wrap:last-child {
	padding-bottom:0px;
}

.formss .wpcf7-text {
	background-image: linear-gradient(#000, #000), linear-gradient(#000, #000);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100% 1px, 0 2px;
	padding: 12px 0;
	width: 100%;
	text-overflow: ellipsis;
	transition: all .25s;
	line-height: 1.65;
	height: 56px;
}

.formss .wpcf7-text:focus {
	background-size: 100% 1px, 100% 2px;
}

.formss .hide {
	display:none;
}

.formss .cell {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding:50px 0;
}

.formss .cell .inputs {
	width:calc(100% - 40px);
}

.formss .cell .checkbox-select {
	width:calc(50% - 40px);
	position:relative;
}

.formss strong {
	display:block;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.05em;
	font-weight: 600;
	margin-bottom: 5px;
}

.formss .wpcf7-checkbox {
	display:flex;
	flex-wrap: wrap;
	position:relative;
	margin:-5px;
}

.formss .wpcf7-checkbox .wpcf7-list-item { 
	display:block;
	height:40px;
	margin:5px;
	position:relative;
}

.formss input[type="checkbox"] {
	display:block!important;
	position:absolute!important;
	left:0px!important;
	right:0px!important;
	top:0px!important;
	bottom:0px!important;
	opacity:0!important;
	z-index:2!important;
	cursor:pointer;
}

.formss input[type="checkbox"] ~ span.wpcf7-list-item-label {
	white-space: nowrap;
	height: 40px;
	overflow: hidden;
	padding: 0 15px;
	display:flex;
	border-radius: 100px;
	background: #eee;
	align-items: center;
	font-size: 16px;
	line-height: 1.2;
	letter-spacing: -0.05em;
	font-weight: 600;
	transition: all .15s;								
}

.formss input[type="checkbox"]:checked ~ span.wpcf7-list-item-label {
	background:#4C86F9;
	color:#FFF;
}

span.wpcf7-list-item-label.choise {
	background:#4C86F9!important;
	color:#FFF;	
}
						
.formss .selectbox {
	position:absolute;
	left:0px;
	right:0px;
	bottom:0px;
}

.formss .wpcf7-submit {
	display:flex;
	justify-content: center;
	align-items:center;
	width: 180px;
	height: 130px;
	background:url("../img/heart.svg") no-repeat center center;
	color:#FFF;
	margin:0 auto;
	position:relative;
	z-index:5;
	animation: beat 2s infinite;
	cursor:pointer;
}

.formss .wpcf7-submit:hover {
	transition: all 0.5s;
	animation:none;
}

.formss .submitting .wpcf7-submit {
	animation:none;
}

.formss .wpcf7 p {
	margin:0!important;
}

.formss .wpcf7 .wpcf7-not-valid-tip {
	position:absolute;
	font-size:14px;
	top: calc(100% - 14px);
	left: 0px;
}

.formss .wpcf7 .wpcf7-form-control-wrap:last-child .wpcf7-not-valid-tip {
	top: calc(100% + 6px);
}

.formss .wpcf7 .wpcf7-response-output {
	border: none!important;
	text-align: center!important;
	padding: 0!important;
	position: absolute!important;
	left: 0px!important;
	right: 0px!important;
	bottom: -75px!important;
	display:none!important;
}

.selectbox.visible {
	visibility: visible!important;
}

@media screen and (max-width: 1090px) {
	
	.formss .cell .inputs {
		width:calc(45% - 20px);
	}

	.formss .cell .checkbox-select {
		width:calc(55% - 20px);
	}	
	
}

@media screen and (max-width: 900px) {
	
	.formss .cell {
		flex-wrap: wrap;
		align-items: flex-start;
	}
	
	.formss .cell .inputs {
		width:100%;
	}

	.formss .cell .checkbox-select {
		padding:30px 0 0 0;
		width:100%;
	}	
	
	.formss-wrap h2 {
		font-size:32px;
	}
	
	.formss .selectbox {
		position:relative;
		left:auto;
		right:auto;
		bottom:auto;
		margin:5px 0 0 0;
	}
	
	.formss-wrap i.formss-heart {
		width: 130px;
		height: 94px;
		background-size:100% auto;
		margin:0 0 0 -65px;
		bottom:-36px;
	}
	
	.formss .wpcf7-submit {
		width: 130px;
		height: 94px;
		background-size:100% auto;
	}	
	
	.selectbox {
		visibility: visible!important;
	}
	
}

@media screen and (max-width: 600px) {
	
	.formss .cell {
		padding:40px 0;
	}
	
	.formss span.wpcf7-form-control-wrap {
		padding:0;
	}
	
	.formss .wpcf7 .wpcf7-not-valid-tip {
		font-size: 11px;
		top: calc(100% + 2px);
		left: auto;
		right: 0px;
	}
	
	.formss .wpcf7 .wpcf7-form-control-wrap:last-child .wpcf7-not-valid-tip {
		top: calc(100% + 2px);
	}
	
	.formss strong {
		font-size: 18px;
		margin-bottom: 20px;
	}
	
	.formss .wpcf7-checkbox .wpcf7-list-item {
		height: 34px;
	}
	
	.formss input[type="checkbox"] ~ span.wpcf7-list-item-label {
		height: 34px;
		font-size: 14px;
	}
	
	.formss-wrap h2 {
		font-size: 29px;
		height:54px;
		display:flex;
		align-items: center;
		justify-content:center;
	}
	
	.formss-wrap i.formss-heart {
		bottom: -21px;
	}
	
}



.logotype {
	display:flex;
	align-items: center;
	margin-left:282px;
	padding:77px 0 0 0;
}

.logotype span {
	display:flex;
	align-items: center;
	justify-content: center;
}

.logotype span img {
	width:100%;
	height:auto;
	border:none;
	vertical-align:bottom;
}

.logotype span {
	margin:0 0 0 40px;	
}

.logotype span:first-child { margin:0; }

@media screen and (max-width: 1600px) {
	
	.logotype span {
		width:200px;
		height:84px;
	}	
	
}

@media screen and (max-width: 1400px) {
	
	.logotype span {
		width:180px;
		height:76px;
	}	
	
}

@media screen and (max-width: 1400px) {
	
	.logotype span {
		width:180px;
		height:76px;
	}	
	
}

@media screen and (max-width: 1200px) {
	
	.logotype {
		margin:0 0 0 32px;
	}
	
}

@media screen and (max-width: 990px) {
	
	.logotype span {
		width:160px;
		height:67px;
	}	
	
}

@media screen and (max-width: 800px) {
	
	.logotype {
		padding:45px 0 0 0;
	}
	
	.logotype span {
		width:140px;
		height:59px;
	}	
	
}

@media screen and (max-width: 700px) {
	
	.logotype {
		padding:45px 0 0 0;
	}
	
	.logotype span {
		width:100px;
		height:42px;
		margin:0 0 0 20px;
	}	
	
}

@media screen and (max-width: 600px) {
	
	.shiftbox-carousel .shiftbox-image {
		width:100%!important;
		height:254px!important;
		min-height:254px!important;
		overflow:hidden!important;
	}
	
}

@media screen and (max-width: 400px) {
	
	.logotype {
		padding:35px 0 0 0;
		margin:0;
	}
	
	.logotype span {
		margin:0 0 0 15px;
	}		
	
}

.bottom-line {
	display:flex;
	align-items: center;
	justify-content: space-between;
	font-size:12px;
	padding:55px 0 0 0;
}

.bottom-line .line-1-2 {
	display:flex;
	align-items: center;
}

.bottom-line .line-1-2 p {
	padding:0 15px 0 0;
	margin:0 0 0 10px;
	position:relative;
}

.bottom-line .line-1-2 p::after {
    content: "\003e";
    position:absolute;
	right:0px;
	top:0px;
}

.bottom-line .line-1-2 p:first-child { margin:0; }

.bottom-line .logotype-bottom {
	display:flex;
	align-items: center;
}

.bottom-line .logotype-bottom span {
	margin:0 0 0 47px;
	width:200px;
}

.bottom-line .logotype-bottom span:first-child { margin:0; }

.bottom-line .logotype-bottom span img {
	width:100%;
	height:auto;
	border:none;
	vertical-align:bottom;
}

.bottom-line .line-last {
	position:relative;
	padding:0 28px 0 0;
}

.bottom-line .line-last .heart {
	width:20px;
	height:15px;
	position:absolute;
	right:0px;
	top:50%;
	margin:-7px 0 0 0;
}

@media screen and (max-width: 1216px) {
	
	.bottom-line .logotype-bottom span {
		width:150px;
	}
	
}

@media screen and (max-width: 1130px) {
	
	.bottom-line .logotype-bottom span {
		width:110px;
	}
	
}

@media screen and (max-width: 1024px) {
	
	.bottom-line {
		flex-wrap: wrap;
		padding:25px 0 0 0;
	}
	
	.bottom-line .logotype-bottom {
		width:100%;
		order:1;
		padding:0 0 25px 0;
	}
	
	.bottom-line .line-1-2 {
		order:2;
	}
	
	.bottom-line .line-last {
		order:3;
	}
	
	.bottom-line .logotype-bottom span {
		width: 130px;
	}
	
}

@media screen and (max-width: 670px) {
	
	.bottom-line .line-1-2 p:last-child {
		display:none;
	}
	
	.bottom-line .line-1-2 p:first-child::after {
		display:none;
	}	
	
	.header-caption .title span {
		display:inline;	
	}
	
}

@media screen and (max-width: 434px) {
	
	.bottom-line .logotype-bottom {
		justify-content: space-between;
	}
	
	.bottom-line .logotype-bottom span {
		margin:0;
		width:140px;
	}
	
	.bottom-line .line-1-2 p:first-child {
		padding:0;
		color: #575757;
		font-size:8px;	
	}	

	.footer {
		padding-bottom:45px;
	}	
	
}

.normal-text b,
.normal-text strong {
	font-weight:bold!important;
}

.normal-text i,
.normal-text em {
	font-style:italic!important;
}

.normal-text a {
	color:#4C86F9;
	text-decoration:underline;
}

.normal-text a:hover {
	text-decoration:none; 
}

.normal-text ul li {
	padding:5px 0 5px 20px!important;
	position:relative;
	display:block;
}

.normal-text ul li::before {
	content:'';
	display:block;
	width:4px;
	height:4px;
	background:#000;
	border-radius:50%;
	position:absolute;
	left:5px;
	top:13px;
}

.normal-text ol {
	counter-reset: item;
}

.normal-text ol li {
	padding:5px 0 5px 20px!important;
	position:relative;
	display:block;
}

.normal-text ol li::before {
  	display:block;
 	content: counter(item) ") ";
  	counter-increment: item;
  	width: 2em;
  	position:absolute;
	left:0px;
	top:5px;
}
