:root{
	--blue:		51, 83, 181;
	--l-blue:	236, 237, 254;
	--d-blue:	22 46 119;
	--black:	38, 38, 38;
	--white:	254, 254, 254;
	--gray:		122 122 122;
	--l-gray:	160, 160, 160;
	--m-gray:	47, 47, 47;
	
	--c-blue:	rgb(var(--blue));
	--c-l-blue:	rgb(var(--l-blue));
	--c-d-blue:	rgb(var(--d-blue));
	--c-black:	rgb(var(--black));
	--c-white:	rgb(var(--white));
	--c-gray:	rgb(var(--gray));
	--c-l-gray:	rgb(var(--l-gray));
	
	--f-manrope: "Manrope", sans-serif;
	--f-inter: "Inter", sans-serif;
	
	--fm: var(--f-manrope);
	--fs: 16rem;
	--lh: 100%;
	--fw: 400;
	--fc: var(--c-black);
	--ls: normal;
	
	--stroke: 3rem;
}

@font-face {
	font-family: 'icomoon';
	src:  url('../fonts/icomoon.eot?c31xp');
	src:  url('../fonts/icomoon.eot?c31xp#iefix') format('embedded-opentype'),
		url('../fonts/icomoon.ttf?c31xp') format('truetype'),
		url('../fonts/icomoon.woff?c31xp') format('woff'),
		url('../fonts/icomoon.svg?c31xp#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-c-burger:before			{ content: "\e903"; }
.icon-burger:before				{ content: "\e901"; }
.icon-arrow-link:before			{ content: "\e900"; }
.icon-arrow-left:before			{ content: "\e902"; }
.icon-arrow-right:before		{ content: "\e904"; }
.icon-twitter:before			{ content: "\e905"; }
.icon-quoties:before			{ content: "\e906"; }
.icon-link:before				{ content: "\e907"; }
.icon-insta:before				{ content: "\e908"; }
.icon-facebook:before			{ content: "\e909"; }
.icon-calendar:before			{ content: "\e90a"; }
.icon-arrow-right-short:before 	{ content: "\e90b"; }
.icon-arrow-left-short:before	{ content: "\e90c"; }
.icon-mob-pag-right:before		{ content: "\e90d"; }
.icon-mob-pag-left:before		{ content: "\e90e"; }
.icon-accord-button:before		{ content: "\e90f"; }
.icon-argree-check:before		{ content: "\e910"; }

/* *****************
 * 
 * Сброс CSS и адаптивный пиксель
 * 
 * По сути, теперь REM - 1 пиксель макета
 * ТЕ при переносе из фигмы с шириной макета 1920px ВСЕ пиксели должны быть перенесены на сайт в виде REM 
 * 
 * */

@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: smooth;
	}
}

*,*::before,*::after {
	position: relative;
	box-sizing: border-box;
}

html{
	font-size: calc(100vw / 1920);
	scroll-behavior: smooth;
}

#vacancy-form { 
	scroll-margin-top: 100px; 
}

body{
	font-size: 16rem;
	margin: 0;
	-webkit-text-size-adjust: 100%; /* Adjust text size for better readability on iOS */
	-webkit-tap-highlight-color: rgba(var(--blue),.4); 
}

p,h1,h2,h3,h4,h5,h6 {
	margin-top: 0;
	margin-bottom: 0;
}

a,a:not([href]):not([class]),
a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
	display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
	cursor: pointer;
}

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
	padding: 0;
}

::-webkit-inner-spin-button {
	height: auto;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
	padding: 0;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

::file-selector-button {
	font: inherit;
	-webkit-appearance: button;
}


/* **********************
 * Сетки
 * 
 * row-<n> - сетка, под количество столбцов <n>
 * 
 * row-p-<n> - отступы, по краям сетки в <n> едениц
 * row-g-<n> - пространство, между стобцами в <n> едениц
 * 
 * */

.m-hide{display: initial;}
.d-hide{display: none;}

.row-p-0{
	--grid-padding: 0;
}
.row-g-0{
	--grid-gap: 0;
}
 
.row-2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.row-3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.row-5{
	padding-left: var(--grid-padding);
	padding-right: var(--grid-padding);
	display: grid;
	gap: var(--grid-gap);
	grid-template-columns: repeat(5, 1fr);
}
.row-6{
	padding-left: var(--grid-padding);
	padding-right: var(--grid-padding);
	display: grid;
	gap: var(--grid-gap);
	grid-template-columns: repeat(6, 1fr);
}

.col-1	{grid-column: span 1;}
.col-2	{grid-column: span 2;}
.col-3	{grid-column: span 3;}
.col-4	{grid-column: span 4;}
.col-5	{grid-column: span 5;}
.col-6	{grid-column: span 6;}
.col-7	{grid-column: span 7;}
.col-8	{grid-column: span 8;}
.col-9	{grid-column: span 9;}
.col-10	{grid-column: span 10;}
.col-11	{grid-column: span 11;}
.col-12	{grid-column: span 12;}

/* * * * * * * * * * * * * * *
 * 
 * блоки и позиционирование 
 * 
 * * * * * * * * * * * * * * */

.d-f	{ display: flex; }
.d-f > div{ 
	--basis: 1%;
	--grow: 1;
	--shrink: 1;
	--flex: var(--grow) var(--shrink) var(--basis);
	flex: var(--flex);
 }
.d-b	{ display: block; }
.d-ib	{ display: inline-block; }

.fd-row	{ flex-direction: row; }
.fd-col	{ flex-direction: column; }
.fd-col-i{ flex-direction: row-reverse; }
.fd-row-i{ flex-direction: column-reverse; }

.f-align-center{ align-items: center;}
.f-align-end{ align-items: flex-end;}
.f-justify-center{ justify-content: center;}
.f-justify-between{ justify-content: space-between;}
.f-justify-end{ justify-content: flex-end;}

.f-gap{
	--gap: 0;
	gap: var(--gap);
}

.f-order{
	--o: 0;
	order: var(--o);
}

.height{
	--height: auto;
	height: var(--height);
}
.width{
	--width: auto;
	width: var(--width);
}

/* отступы через переменные */

.m{
	--m-top: 0;
	--m-bottom: 0;
	--m-left: 0;
	--m-right: 0;
	--m: var(--m-top) var(--m-right) var(--m-bottom)  var(--m-left);
	margin: var(--m);
}
.p{
	--p-top: 0;
	--p-bottom: 0;
	--p-left: 0;
	--p-right: 0;
	--p: var(--p-top) var(--p-right) var(--p-bottom)  var(--p-left);
	padding: var(--p);
}


/* * * * * * * *
 * 
 * типография 
 * 
 * * * * * * * */

.t{
	font-size: var(--fs);
	font-weight: var(--fw);
	line-height: var(--lh);
	color: var(--fc);
	font-family: var(--fm);
	letter-spacing: var(--ls);
}

.t-inter-f	{ font-family: var(--inter);  }
.t-manrope-f{ font-family: var(--manrope);}
.t-inter	{ --fm: var(--f-inter);  }
.t-manrope	{ --fm: var(--f-manrope);}

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

.t-fc-blue		{ --fc: var(--c-blue);	}
.t-fc-l-blue	{ --fc: var(--c-l-blue);}
.t-fc-d-blue	{ --fc: var(--c-d-blue);}
.t-fc-black		{ --fc: var(--c-black);	}
.t-fc-dim-black	{ --fc: rgba(var(--black),.6);	}
.t-fc-white		{ --fc: var(--c-white);	}
.t-fc-grey		{ --fc: var(--c-gray);	}
.t-fc-l-grey	{ --fc: var(--c-l-gray);}
.t-fc-m-grey	{ --fc: rgba(var(--m-gray), .5); }

/* размеры */
.t-fs-12{ --fs: 12rem; }
.t-fs-14{ --fs: 14rem; }
.t-fs-15{ --fs: 15rem; }
.t-fs-16{ --fs: 16rem; }
.t-fs-18{ --fs: 18rem; }
.t-fs-20{ --fs: 20rem; }
.t-fs-24{ --fs: 24rem; }
.t-fs-28{ --fs: 28rem; }
.t-fs-30{ --fs: 30rem; }
.t-fs-34{ --fs: 34rem; }
.t-fs-38{ --fs: 38rem; }
.t-fs-40{ --fs: 40rem; }
.t-fs-42{ --fs: 42rem; }
.t-fs-48{ --fs: 48rem; }
.t-fs-50{ --fs: 50rem; }
.t-fs-58{ --fs: 58rem; }
.t-fs-60{ --fs: 60rem; }
.t-fs-64{ --fs: 64rem; }
.t-fs-70{ --fs: 70rem; }
.t-fs-90{ --fs: 90rem; }

/* высота */
.t-lh-normal { --lh: normal;  }
.t-lh-96 { --lh: 96%;  }
.t-lh-100{ --lh: 100%; }
.t-lh-104{ --lh: 104%; }
.t-lh-110{ --lh: 110%; }
.t-lh-112{ --lh: 112%; }
.t-lh-120{ --lh: 120%; }
.t-lh-122{ --lh: 122%; }
.t-lh-152{ --lh: 152%; }

/* ширина */
.t-fw-200{ --fw: 200; }
.t-fw-300{ --fw: 300; }
.t-fw-400{ --fw: 400; }
.t-fw-500{ --fw: 500; }
.t-fw-500{ --fw: 500; }
.t-fw-600{ --fw: 600; }
.t-fw-700{ --fw: 700; }
.t-fw-800{ --fw: 800; }

.t-uppercase{ text-transform: uppercase; }

/* buttons */

.btn{
	display: block;
	text-align: center;
	cursor: pointer;
	--btn-pad: 30rem;
	--btn-width: 100%;
	outline: none;	
	background-color: var(--btn-color);
	border-color: var(--btn-border-color);
	border-width: var(--btn-border-width);
	border-style: solid;
	font-size: var(--btn-fs);
	font-weight: var(--btn-fw);
	line-height: var(--btn-lh);
	color: var(--btn-fc);
	font-family: var(--btn-fm);
	letter-spacing: var(--btn-ls);
	width: var(--btn-width);
	transition: .7s all ease-out;
	padding: calc(var(--btn-pad) - var(--btn-border-width) * 1.5);
	opacity: 1;
}
.btn-slim{
	--btn-pad: 24rem;
	--btn-width: auto;
	min-width: 200rem;
}

.btn-prim{
	--btn-color: var(--c-blue);
	--btn-border-color: var(--c-blue);
	--btn-border-width: 2rem;
	--btn-fs: 24rem;
	--btn-fc: var(--c-white);
	--btn-lh: var(--lh);
	--btn-fm: var(--fm);
	--btn-fw: var(--fw);
	--btn-ls: -0.48rem;	
}
.btn-prim:hover{
	--btn-color: var(--c-d-blue);
}
.btn-second-outline{
	--btn-color: transparent;
	--btn-border-color: var(--c-white);
	--btn-border-width: 3rem;
	--btn-fs: 24rem;
	--btn-fc: var(--c-white);
	--btn-lh: var(--lh);
	--btn-fm: var(--fm);
	--btn-fw: 600;
	--btn-ls: -0.24rem;
}
.btn-second-outline:hover{
	opacity: .6;
}
.btn-dark-outline{
	--btn-color: transparent;
	--btn-border-color: var(--c-gray);
	--btn-border-width: 3rem;
	--btn-fs: 24rem;
	--btn-fc: var(--c-gray);
	--btn-lh: var(--lh);
	--btn-fm: var(--fm);
	--btn-fw: 600;
	--btn-ls: -0.24rem;
}
.btn-dark-outline:hover{
	opacity: .6;
}

/* animated dashed lines */

.dashed-top, .dashed-bottom, .dashed-left, .dashed-right{
	--stroke: 2rem;
	--dash-color: var(--c-black);
	position: absolute;
	display: block;
	z-index: 2;
	opacity: .4;
	/*--dashed-anim: 0%;*/
	--dashed-anim: 100%;
}
.dashed-top, .dashed-bottom {
	width: var(--dashed-anim);
	border-top: var(--stroke) dashed var(--dash-color);
	transition: 1.4s width cubic-bezier(0.4, 0, 0.2, 1);
}
.dashed-left, .dashed-right {
	height: var(--dashed-anim);
	border-left: var(--stroke) dashed var(--c-black);
	transition: 1.4s height cubic-bezier(0.4, 0, 0.2, 1);
}
.dashed-top		{ top:		calc(var(--stroke) / -2); left: 0; }
.dashed-bottom	{ bottom:	calc(var(--stroke) / -2); left: 0; }
.dashed-left	{ left:		calc(var(--stroke) / -2); top: 0; }
.dashed-right	{ right:	calc(var(--stroke) / -2); top: 0; }


.float-contaner {
	padding: 20rem 0;
	border-bottom: 2rem solid var(--c-black);
	width: 100%;
}

.input-field {
	outline: none;
	border: none;
	padding: 0;
	width: 100%;
}
.input-field, .input-label {
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 28rem;
	line-height: 104.085%;
	letter-spacing: -0.56rem;
}

textarea.input-field {
	resize: none;
}

.input-label {
	position: absolute;
    left: 0;
    top: 20rem;
    transition: .2s all;
}

.input-field:focus + .input-label,
.input-field:not(:placeholder-shown) + .input-label {
    top: 0;
    font-size: 16rem;
}

/* HEADER */

header{
	--header-pos:0;
	background: transparent;
	top: var(--header-pos);
	position: fixed;
	width: 100%;
	padding: 60rem 172rem 30rem 172rem;
	display: flex;
	justify-content: space-between;
	z-index: 10;
	transition: .2s background ease-out, .2s top ease-out, .4s box-shadow ease-out, .4s padding;
}
header > .logo{ position: relative; z-index: 101;}
header > .logo img{ height: 38rem; }

header.black > nav, header.black-black > nav, header.white-black > nav{ --fc: var(--c-black);}
header.white > nav, header.white-white > nav, header.black-white > nav{ --fc: var(--c-white);}

header > .logo > a{ transition: .3s opacity;}

header > .logo > a[data-lc="black"], header.black > .logo > a[data-lc="black"], header.black-black > .logo > a[data-lc="black"],
header.black-white > .logo > a[data-lc="black"]{ 
	opacity: 1;
}
header > .logo > a[data-lc="white"], header.black > .logo > a[data-lc="white"], header.black-black > .logo > a[data-lc="white"],
header.black-white > .logo > a[data-lc="white"]{
	position: absolute;
	left: 0;
	opacity: 0;
}

header.white > .logo > a[data-lc="black"], header.white-white > .logo > a[data-lc="black"], header.white-black > .logo > a[data-lc="black"]{ 
	opacity: 0; 
}
header.white > .logo > a[data-lc="white"], header.white-white > .logo > a[data-lc="white"], header.white-black > .logo > a[data-lc="white"]{ 
	opacity: 1; 
}

header > nav{
	align-items: center;
	gap: 40rem;
}
header > nav > a{ transition: .3s color;}
header > nav > a:hover, header.black > nav > a:hover, header.black-black > nav > a:hover, header.white-black > nav > a:hover{
	color: var(--c-d-blue);
}
header.white > nav > a:hover,header.white-white > nav > a:hover,header.black-white > nav > a:hover{
	color: var(--c-blue);
}

header.float{
	background: #fff;
	padding: 30rem 172rem 30rem 172rem;
	box-shadow: 0px 4px 6.2px 0px rgba(0, 0, 0, 0.15);
}
header.float > nav{ --fc: var(--c-black);}
header.float > .logo > a[data-lc="black"]{ opacity: 1; }
header.float > .logo > a[data-lc="white"]{ opacity: 0; }

header > .logo.open > a[data-lc="black"]{ opacity: 0; }
header > .logo.open > a[data-lc="white"]{ opacity: 1; }

#burger{display: none;}
#mobile-menu{
	--left-pos: 100%;
	position: fixed;
	top: 0;
	left: var(--left-pos);
	width: 100%;
	height: 100%;
	background: var(--c-blue);
	z-index: 100;
	transition: .2s left;
}
#mobile-menu > ul{
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0 20px;
	padding: 0;
	top: 120px;
	list-style: none;
	color: var(--c-white);
	font-family: var(--f-inter);
	font-size: 50px;
	font-weight: 500;
	letter-spacing: -2.5px;
}
#c-burger{
	--top: 18px;
	position: absolute;
	display: block;
	font-size: 34px;
	height: 34px;
	right: 20px;
	top: var(--top);
	color: var(--c-white);
}

footer{
	padding: 200rem 172rem 60rem 172rem;
	font-size: 16rem;
	font-weight: var(--fw);
	color: var(--fc);
	font-family: var(--fm);
}
footer > div{
	width: 100%;
}
footer > div:nth-of-type(2){
	text-align: right;
}

#popup-bg{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(var(--black), .5);
	z-index: 100;
}


/* landing first screen */
.slider-fader,.slider-fader > div{
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.slider-page {
	position: absolute;
	display: flex;
	gap: 24rem;
	z-index: 10;
	width: auto !important;
	bottom: 70rem !important;
	right: 120rem;
	left: auto !important;
}
.slider-page > span{
	display: block;
	width: 8rem;
	height: 8rem;
	background: var(--c-white);
	opacity: .5;
	border-radius: 50%;
	cursor: pointer;
	transition: .4s opacity ease-out;
}
.slider-page > span.swiper-pagination-bullet-active{
	opacity: 1;
}

#land_first{
	position: relative;
	height: 100vh;
}
.slider-fader:after,.slider-fader:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 192rem;
	left: 0;
	z-index: 2;
}
.slider-fader:after{
	top: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) -22.25%, rgba(0, 0, 0, 0.00) 85.71%);
}
.slider-fader:before{
	bottom: 0;
	background: linear-gradient(0, rgba(0, 0, 0, 0.60) -22.25%, rgba(0, 0, 0, 0.00) 85.71%);
}

#landingSlider > div{
	width: 100vw;
	display: flex;
	flex-direction: column-reverse;
	padding: 70rem 100rem;
}

.img-cover-bg{
	background-image: var(--img);
	background-size: cover;
	background-position: center;
}

.ls3l{ 
	color: var(--fc);
	transition: .7s color ease-out;
}
.ls3l:hover{ --fc: var(--c-blue);}

.srcv-link{
	position: absolute;
	
	top: var(--t);
	left: var(--l);
	
	display: flex;
	align-items: center;
	gap: 20rem;
	
	font-size: 28rem;
	font-family: var(--f-manrope);
	line-height: 34rem;
	letter-spacing: -0.56rem;
	
	transition: .4s color ease-out;
}
.srcv-link > img{
	width: 70rem;
}
.srcv-link:hover{
	color: var(--c-blue);
}

.design-detail{
	padding: 80rem 60rem;
	background-color: var(--c-blue);
}
.design-detail > .design-detail-fill{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	transition: .3s opacity ease-out;
}
.design-detail h4{
	margin-bottom: 34rem;
}
.design-detail p{
	opacity: 0;
	transition: .3s opacity ease-out;
}
.design-detail a{
	float: right;
	margin-top: 66rem;
	opacity: 0;
	transition: .3s opacity ease-out;
}

.design-detail:hover > .design-detail-fill{
	opacity: 0;
}
.design-detail:hover p{
	opacity: 1;
}
.design-detail:hover a{
	opacity: 1;
}

.line{
	--line-speed: 60s;
	
	position: relative;
	width: 100vw;
	max-width: 100%;
	overflow: hidden;
	font-family: var(--f-manrope);
	font-size: 96rem;
	font-weight: 800;
	line-height: 93%;
	letter-spacing: -4.8rem;
	height: calc(96rem);
}

.trackLeft{
	position: absolute;
	white-space: nowrap;
	will-change: transform;
	animation: runToLeft var(--line-speed) linear infinite;
}
.trackRight{
	position: absolute;
	white-space: nowrap;
	will-change: transform;
	animation: runToRight var(--line-speed) linear infinite;
}

.line span{
}


.typewriter-anim{
	display: inline-block;
}
.carret-anim{
	width: var(--tw-initial-w);
	height: var(--tw-initial-h);
}
.carret-anim:after{
	content: "";
	border-right: 2px solid;
	animation-name: blink-caret;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-timing-function: step-end;
}

.projects-window > .img-cover{
	position: absolute;
	opacity: 0;
	transition: .5s opacity;
}
.projects-window > .img-cover.temp{
	opacity: 1;
}
.projects-window > .img-cover.show{
	opacity: 1;
	z-index: 2;
}
.img-cover{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	overflow: hidden;
}
.img-cover > img{
	object-fit: cover;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	user-select: none;
	-webkit-user-drag: none;
	transform: translate(calc(-50% - 1px), calc(-50% - 1px)) scale(var(--scale, 1));
	top: 50%;
	left: 50%;
	transition: .3s transform ease-out;
}
.img-cover > img:hover{
	--scale: var(--h-scale, 1);
}

.project-filter{
	margin-top: 50rem;
	--stroke: 2rem;
	font-family: var(--fm);
	font-size: 14rem;
	font-weight: 500;
	letter-spacing: 0.42rem;
	text-transform: uppercase;
}
.project-filter > div{
	padding: 20rem;
	cursor: pointer;
	border-top: var(--stroke) dashed rgba(var(--black),.4);
	border-bottom: var(--stroke) dashed rgba(var(--black),.4);
}
.project-filter > div:after,.project-filter > div:before{
	content: "";
	position: absolute;
	display: block;
	height: 1rem;
	width: 20rem;
	background: var(--c-black);
	right: 20rem;
	top: 30rem;
}
.project-filter > div:after{
	transform: rotate(90deg);
}
.project-filter > div:not(:last-of-type){
	border-right: var(--stroke) dashed rgba(var(--black),.4);
}
.project-page{
	--stroke: 2rem;
	text-transform: uppercase;
}
.project-page > a{
	border: var(--stroke) dashed rgba(var(--black),.4);
}
.project-page > a > div{
	width: 476rem;
	height: 410rem;
}
.project-page > a:nth-of-type(1),.project-page > a:nth-of-type(2),.project-page > a:nth-of-type(3){
	border-top: none;
}
.project-page > a:nth-of-type(3n){
	border-top: none;
	border-left: none;
}
.project-page > a:nth-of-type(3n+1){
	border-top: none;
}
.project-page > a:nth-of-type(3n+2){
	border-top: none;
	border-left: none;
}

.project-lead{
	height: 100vh;
	display: flex;
	flex-direction: row;
}
.project-lead > div{
	flex: 1;
}

.swiper.sliderImage{
	--p-top: 0;
	--p-bottom: 0;
	--p-left: 0;
	--p-right: 0;
	--p: var(--p-top) var(--p-right) var(--p-bottom)  var(--p-left);
	padding: var(--p);
}
.swiper.sliderImage .swiper-slide{
	width: 560rem;
	height: 620rem;
}

.swiper.sliderImageText{
	--p-top: 0;
	--p-bottom: 0;
	--p-left: 0;
	--p-right: 0;
	--p: var(--p-top) var(--p-right) var(--p-bottom)  var(--p-left);
	padding: var(--p);
	top: -100rem;
}
.swiper.sliderImageText .swiper-slide{
	width: 300rem;
	transition: .3s width;
}
.swiper.sliderImageText .swiper-slide:hover{
	width: 620rem;
}
.swiper.sliderImageText .controls{
	font-size: 42rem;
	top: -80rem;
	left: calc(100vw - 172rem*2 - 120rem);
}
.swiper.sliderImageText .controls > span{
	opacity: 1;
	transition: .3s opacity ease;
	cursor: pointer;
}
.swiper.sliderImageText .controls > span.swiper-button-disabled{
	opacity: 0.4;
	cursor: auto;
}
.swiper.sliderImageText .swiper-slide > .img-cover{
	height: 470rem;
}

.dragit{
	position: absolute;
	z-index: 1;
	top: 265rem;
	left: 590rem;
	width: 115rem;
	height: 115rem;
	padding-top: 44rem;
	border-radius: 50%;
	background: var(--c-blue);
	color: #FFF;
	text-align: center;
	font-family: Manrope;
	font-size: 24rem;
	line-height: 100%;
	letter-spacing: -0.48rem;
	transform: rotate(15deg);
}

.splash-blog-post{
	width: 100%;
	height: 620rem;
}
.detail-blog-post{
	position: absolute;
	bottom: 80rem;
	left: 172rem;
	z-index: 2;
}
.body-blog-post{
	margin: 100rem 490rem 25rem 490rem;
}
.notice-blog-post{
	border-left: 2rem solid var(--c-blue);
	padding-left: 23rem;
}
.image-blog-post{
	height: 410rem;
}
.quote-blog-post{
	display: flex;
	padding-bottom: 48rem;
}
.quote-blog-post:after{
	font-family: var(--f-manrope);
	font-size: 24rem;
	color: #000;
	content: attr(author);
	position: absolute;
	bottom: 0rem;
	right: 0;
}
.avatar-blog-post{
	border-radius: 50% !important;
	height: 72rem !important;
	width: 72rem !important;
}
.link-blog-post{
	display: block;
	height: 54rem;
	width: 54rem;
	padding: 15rem 0;
	text-align: center;
	border-radius: 50%;
	background: var(--c-l-blue);
	transition: .3s background ease-out;
}
.link-blog-post > span{
	font-size: 24rem;
}
.link-blog-post:hover{
	background: #9C9DFE;
}

.latest-tag{
	border: 4rem solid;
	display: inline-block;
	padding: 10rem 25rem;
}
#blog-all > a {
	border: 1px dashed #E8E8EA;
}
#blog-all > a:hover {
	--scale: 1.15;
}
#blog-all > a > div.img-cover {
	width: 450rem;
	height: 310rem;
}
#blog-all > a > div.tag-list{
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
	margin-top: 20rem;
}
#blog-all > a > div.tag-list > span{
	border-radius:8rem;
	background: rgba(75, 107, 251, 0.05);
	color: var(--c-blue);
	font-family: var(--f-manrope);
	font-size: 18rem;
	font-weight: 500;
	line-height: 142%;
	padding: 5rem 13rem;
}
#blog-all > a > div.author-blog{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 25rem;
}
#blog-all img.avatar-blog{
	width: 46rem;
	height: 46rem;
	border-radius: 50%;
	margin-right: 15rem;
}

.pagination{
	color: var(--c-blue);
	font-family: var(--f-inter);
	font-size: 14rem;
	font-weight: 500;
	line-height: 20rem; 
	display: flex;
	justify-content: space-between;
}
.pagination *{
	user-select: none;
}
.pagination a{
	border-radius: 8px;
	transition: .2s background, color ease-out;
}
.pagination a:hover{
	color: var(--c-d-blue);
	background: #e8e9f7;
}
.pagination [class^="icon-"]{
	font-size: 20rem;
}
.pagination .edge{
	display: flex;
	align-items: center;
	gap: 8rem;
	padding: 10rem 0;
	width: 100rem;
	justify-content: center;
}
.pagination div.edge{
	color: var(--c-l-gray);
}
.pagination .pages > *{
	display: inline-block;
	width: 40rem;
	height: 40rem;
	padding: 10rem 0;
	text-align: center;
}
.pagination .current{
	border-radius: 8px;
	background: #F9F5FF;
}
.mpagination{
	display: none;
}


.vacancy-card{
	display: flex;
	padding: 170rem 160rem;
	background: var(--c-white);
}

.vac-back{
	position: absolute;
	top: -100rem;
	font-size: 24rem;
	font-family: var(--f-manrope);
	display: flex;
	line-height: 22rem;
	gap: 10rem;
	align-items: center;
	text-transform: lowercase;
}
.vac-back > .icon-arrow-left{
	font-size: 28rem;
	line-height: 28rem;
}
.vacancy-card > div:nth-of-type(1){
	flex-grow: 1;
	padding-right: 25rem;
}
.vacancy-card > div:nth-of-type(2){
	width: 456rem;
	padding: 60rem 50rem;
	background: #F5F6F7;
	flex-shrink: 0;
	height: max-content;
	position: sticky;
	top: 125rem;
}
.vacancy-card h1, .vacancy-card h2{
	line-height: 35%;
}
.vacancy-descr{
	margin-top: 115rem;
}
.vacancy-descr > h2{
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 38rem;
	font-weight: 700;
	letter-spacing: -1.9rem;
	margin-top: 70rem;
}

.vacancy-descr > ul, .vacancy-descr > p {
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 18rem;
	font-weight: 400;
	line-height: 120%;
	letter-spacing: -.9rem;
	margin-top: 30rem;
}
.vacancy-descr > ul{
	display: flex;
	flex-direction: column;
	gap: 4rem;
	list-style: none;
	margin-bottom: 0;
	padding-left: 10rem;
}
.vacancy-descr > ul > li:before{
	content: "";
	display: block;
	width: 4rem;
	height: 4rem;
	background: var(--c-blue);
	border-radius: 50%;
	position: absolute;
	left: -10rem;
	top: 10rem;
}
.btn-vac{
	--btn-color: var(--c-blue);
	--btn-border-width: 0px;
	--btn-fs: 18rem;
	--btn-fw: 400;
	--btn-lh: 100%;
	--btn-fc: var(--c-white);
	--btn-fm: var(--f-manrope);
	--btn-ls: -.3rem;
	--btn-pad: 15rem;
	--btn-width: 200rem;
}
.btn-vac2{
	--btn-pad: 24rem;
	--btn-width: 100%;
}
.btn-vac:hover{
	--btn-color: var(--c-d-blue);
}
.vacancy-card form{
	display: flex;
	flex-direction: column;
	gap: 20rem;
	width: 480rem;
}
.vacancy-card form > div{
	width: 100%;
	border: 1px solid var(--c-black);
	padding: 24rem 30rem;
}
.vacancy-card textarea, .vacancy-card input{
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 18rem;
	font-weight: 400;
	line-height: normal;
	outline: none;
	border: none;
	width: 100%;
	resize: none;
} 
.input-file {
	position: relative;
	display: inline-block;
}
.input-file-text {
	display: inline-block;
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 18rem;
	font-weight: 400;
	line-height: normal;
	cursor: pointer;
}
.input-file input[type=file] {
	position: absolute;
	z-index: -1;
	opacity: 0;
	display: block;
    width: 1px;
    height: 1px;
    right: -20px;
    bottom: 0;
}
.clip{
	height: 30rem;
	margin: -8rem 8rem -8rem 0;
}

.hero-title{
	height: 690rem;
}
.hero-title > h1{
	position: absolute;
	bottom: 70rem;
	left: 172rem;
	font-family: var(--f-inter);
	font-size: 90rem;
	color: var(--c-white);
	font-weight: 500;
	line-height: 110%;
	letter-spacing: -4.5rem;
	z-index: 1;
}
.hero-title:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 200rem;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) -22.25%, rgba(0, 0, 0, 0.00) 85.71%);
}
.accrd{
	margin: 0 172rem;
}
.accrd > .accrd-main{
	cursor: pointer;
	padding: 60rem 0;
	border-top: 1px dashed rgba(var(--black), .4);
}
.accrd > .accrd-main.open{
	cursor: default;
}
.accrd > .accrd-main:last-of-type{
	border-bottom: 1px dashed rgba(var(--black), .4);
}
.accrd > .accrd-main > .accrd-head > h2{
	max-width: 970rem;
}
.accrd > .accrd-main > .accrd-head > span{
	position: absolute;
	font-size: 44rem;
	top: 0;
	right: 0;
	transform: rotate(45deg);
	transition: .3s transform ease-out;
}
.accrd > .accrd-main.open > .accrd-head > span{
	transform: rotate(180deg);
}
.accrd > .accrd-main > .accrd-body{
	display: flex;
	gap: 180rem;
	height: 0;
	overflow: hidden;
	transition: .3s height ease-out;
}
.accrd > .accrd-main.open > .accrd-body{
	height: var(--open-height);
}
.accrd > .accrd-main > .accrd-body > div:nth-of-type(1){
	flex-basis: 60%;
}
.accrd > .accrd-main > .accrd-body > div:nth-of-type(2){
	flex-grow: 1;
}

.short-vac > div{
	width: 100%;
	border: 1px solid #E1E3E5;
	padding: 24rem 30rem;
	background: var(--c-white);
}
.short-vac textarea, .short-vac input{
	color: var(--c-black);
	font-family: var(--f-manrope);
	font-size: 18rem;
	font-weight: 400;
	line-height: normal;
	outline: none;
	border: none;
	width: 100%;
	resize: none;
}
.btn-vac3{
	--btn-color: var(--c-white);
	--btn-fc: var(--c-blue);
	--btn-width: 100%;
}
.btn-vac3:hover{
	--btn-color: var(--c-l-gray);
	--btn-fc: var(--c-blue);
}


.confer{
	padding-left: 45rem;
	display: block;
	cursor: pointer;
	--main-color: var(--c-black);
}
.confer.wh{
	--main-color: var(--c-white);
}
.confer > span{
	font-family: "Montserrat",sans-serif;
	vertical-align: text-top;
	font-size: 14rem;
	color: var(--main-color);
	letter-spacing: -0.28rem;
	font-weight: 300;
}
.confer.wh > span{
	font-size: 16rem;
	letter-spacing: normal;
	font-weight: 400;
	opacity: .4;
}
.confer > span > a{
	font-family: var(--f-manrope);
	font-size: 14rem;
	text-decoration: underline;
	letter-spacing: -0.28rem;
	font-weight: 300;
}
.confer.wh > span > a{
	font-size: 16rem;
	letter-spacing: normal;
	font-weight: 400;
}
.confer:before{
	content: "";
	top: 0;
	left: 0;
	position: absolute;
	background: transparent;
	display: block;
	width: 35rem;
	height: 35rem;
	border: 1px solid var(--main-color);
}
.confer > .checker{
	position: absolute;
	top: 5rem;
	left: 8rem;
	display: block;
	color: var(--main-color);
	opacity: 0;
	font-size: 22rem;
	transition: .1s opacity ease;
}
.confer > input[type=checkbox]{
	display: inline-block;
	top: 16rem;
	left: 16rem;
	width: 1px;
	height: 1px;
	margin: 0;
	position: absolute;
	z-index: -1;
}
.confer > input[type=checkbox]:checked ~ .checker{
	opacity: 1;
}

.detail-blog-post.article-left{
	left: 490rem;
}


@keyframes blink-caret{
	from, to {
		border-color: transparent
	}
	50% {
		border-color: #000;
	}
}

@keyframes runToLeft {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@keyframes runToRight {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}

@media (max-width: 768px) {
	.dragit{display: none;}
	html{
		font-size: .5px;
	}
	.m-hide{display: none!important;}
	.d-hide{display: block;}

	.mrow-2{
		--m-grid-p: 0;
		--mgap: 0;
		padding-left: var(--m-grid-p);
		padding-right: var(--m-grid-p);
		display: grid;
		gap: var(--mgap);
		grid-template-columns: repeat(2, 1fr);
	}

	.m-row-p-0{
		--grid-padding: 16px;
	}
	
	.md-f{ display: flex; }
	
	.f-gap{
		--mgap: 0;
		gap: var(--mgap);
	}
	
	.d-f > div{ 
		--mbasis: 1%;
		--mgrow: 1;
		--mshrink: 1;
		--mflex: var(--mgrow) var(--mshrink) var(--mbasis);
		flex: var(--flex,--mflex);
	 }

	.m-col-1	{grid-column: span 1;}
	.m-col-2	{grid-column: span 2;}
	.m-col-3	{grid-column: span 3;}
	.m-col-4	{grid-column: span 4;}
	.m-col-5	{grid-column: span 5;}
	.m-col-6	{grid-column: span 6;}
	.m-col-7	{grid-column: span 7;}
	.m-col-8	{grid-column: span 8;}
	.m-col-9	{grid-column: span 9;}
	.m-col-10	{grid-column: span 10;}
	.m-col-11	{grid-column: span 11;}
	.m-col-12	{grid-column: span 12;}
	
	.mfd-wrap	{ flex-wrap: wrap; }
	.mfd-row	{ flex-direction: row; }
	.mfd-col	{ flex-direction: column; }
	.mfd-col-i	{ flex-direction: row-reverse; }
	.mfd-row-i	{ flex-direction: column-reverse; }

	.mf-align-start		{ align-items: flex-start;}
	.mf-align-center	{ align-items: center;}
	.mf-align-end		{ align-items: flex-end;}
	.mf-justify-start	{ justify-content: start;}
	.mf-justify-center	{ justify-content: center;}
	.mf-justify-between	{ justify-content: space-between;}
	
	.f-order{
		--mo: 0;
		order: var(--mo);
	}
	
	.height{
		--mheight: auto;
		height: var(--mheight);
	}
	.width{
		--mwidth: auto;
		width: var(--mwidth);
		min-width: var(--mwidth);
	}
	
	/* отступы через переменные */

	.m{
		--mm-top: 0;
		--mm-bottom: 0;
		--mm-left: 0;
		--mm-right: 0;
		--mm: var(--mm-top) var(--mm-right) var(--mm-bottom)  var(--mm-left);
		margin: var(--mm);
	}
	.p{
		--mp-top: 0;
		--mp-bottom: 0;
		--mp-left: 0;
		--mp-right: 0;
		--mp: var(--mp-top) var(--mp-right) var(--mp-bottom)  var(--mp-left);
		padding: var(--mp);
	}

	.t{
		letter-spacing: var(--mls, --ls);
	}

	.mt-inter	{ --fm: var(--f-inter);  }
	.mt-manrope	{ --fm: var(--f-manrope);}

	.mt-fs-12{ --fs: 12px; }
	.mt-fs-14{ --fs: 14px; }
	.mt-fs-15{ --fs: 15px; }
	.mt-fs-16{ --fs: 16px; }
	.mt-fs-18{ --fs: 18px; }
	.mt-fs-20{ --fs: 20px; }
	.mt-fs-25{ --fs: 25px; }
	.mt-fs-38{ --fs: 38px; }
	.mt-fs-50{ --fs: 50px; }
	
	.mt-fw-400{ --fw: 400;}
	.mt-fw-800{ --fw: 800;}
	
	.mt-lh-normal{ --lh: normal;}
	.mt-lh-100{ --lh: 100%;}
	.mt-lh-120{ --lh: 120%;}
	.mt-lh-142{ --lh: 142%;}
	
	.mt-center{ text-align: center;}
	
	.mt-fc-black{
		--fc: var(--c-black);
	}
	.mt-fc-black-06{
		--fc: rgba(var(--black),0.6);
	}

	.btn{
		--btn-m-width: 100%;
		width: var(--btn-m-width);
		padding: calc(20px - var(--btn-border-width) * 1.5) 0;
	}

	.float-contaner {
		padding: 15px 0;
	}
	.input-field, .input-label {
		font-size: 16px;
	}
	textarea.input-field {
		resize: none;
	}
	.input-label {
		top: 18px;
	}

	.input-field:focus + .input-label,
	.input-field:not(:placeholder-shown) + .input-label {
		font-size: 12px;
	}

	.btn-prim{
		--btn-border-width: 2px;
		--btn-fs: 24px;
		--btn-ls: -0.48px;	
	}
	
	.btn-second-outline{
		--btn-border-width: 2px;
		--btn-fs: 16px;
		--btn-ls: -0.48px;	
	}
	.btn-dark-outline{
		--btn-border-width: 2px;
		--btn-fs: 16px;
		--btn-ls: -0.48px;	
	}
	
	.grid-to-scroll{
		display: flex;
		flex-wrap: nowrap;
		overflow-y: scroll;
		overflow-x: overlay;
		scrollbar-width: none;
	}
	.grid-to-scroll::-webkit-scrollbar {
		width: 0;
	}
	
	.ls3l{ 
		color: var(--fc);
		transition: none;
	}
	
	header > .logo {
		top: 6px;
		height: 0;
	}
	header > .logo img{ height: 20px; }
	header{ padding: 18px 20px 0 20px; }
	header.float{ padding: 12px 20px 12px 20px; }
	#burger{
		display: block;
		font-size: 34px;
		height: 34px;
		color: var(--c-black);
	}
	header.black > #burger,header.black-black > #burger{ color: var(--c-black);}
	header.white > #burger,header.white-white > #burger,header.white-black > #burger{ color: var(--c-white);}
	header.float > #burger{ color: var(--c-black);}
	
	footer{
		padding: 60px 0;
		margin: 0 16px;
		font-size: 14px;
	}
	footer > div{
		width: 100%;
		text-align: center;
	}
	footer > div:nth-of-type(2){
		text-align: center;
	}
		
		
	.slider-fader:after,.slider-fader:before {
		height: 192px;
	}
	#landingSlider > div{
		padding: 28px 20px;
	}
	.slider-page {
		gap: 10px;
		bottom: 16px !important;
		right: auto !important;
		left: 20px !important;
	}
	.slider-page > span{
		width: 6px;
		height: 6px;
	}
		
		
	.srcv-link{
		position: static;
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
		font-size: 14px;
		line-height: 120%;
		letter-spacing: -0.28px;
	}
	.srcv-link > img {
		width: 44px;
	}
	
	.design-detail {
		min-width: 320px;
		margin: 0 7px;
		background-color: transparent;
		padding: 0 0 20px 0;
	}

	.design-detail > .design-detail-fill{
		position: relative;
		height: 196px;
	}
	.design-detail:hover > .design-detail-fill{
		opacity: 1;
	}
	.design-detail h4 {
		margin-top: 18px;
		margin-bottom: 12px;
	}
	.design-detail p{
		opacity: 1;
	}
	.design-detail a{
		float: left;
		margin-top: 0;
		opacity: 1;
	}
	
	.line{
		font-size: 35px;
		letter-spacing: -1.75px;
		height: calc(45px);
	}
	
	.arrow-point:after{
		content: "\e904";
		font-family: 'icomoon' !important;
		display: block;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.project-page > a > div{
		width: calc(100vw - 60px - var(--stroke)*2);
		height: calc(100vw - 80px - var(--stroke)*2);
	}
	
	.project-page > a:nth-of-type(1),.project-page > a:nth-of-type(2),.project-page > a:nth-of-type(3){
		border: 1px dashed rgba(var(--black),.4);
		border-top: var(--stroke) dashed rgba(var(--black),.4);
	}
	.project-page > a:nth-of-type(3n){
		border: 1px dashed rgba(var(--black),.4);
		border-top: var(--stroke) dashed rgba(var(--black),.4);
		border-left: var(--stroke) dashed rgba(var(--black),.4);
	}
	.project-page > a:nth-of-type(3n+1){
		border: 1px dashed rgba(var(--black),.4);
		border-top: var(--stroke) dashed rgba(var(--black),.4);
	}
	.project-page > a:nth-of-type(3n+2){
		border: 1px dashed rgba(var(--black),.4);
		border-top: var(--stroke) dashed rgba(var(--black),.4);
		border-left: var(--stroke) dashed rgba(var(--black),.4);
	}
	
	.project-lead{
		height: auto;
		flex-direction: column;
	}
	.project-lead > div{
		flex: auto;
	}
	
	.splash-blog-post{
		height: 570px;
	}
	
	.detail-blog-post{
		position: absolute;
		bottom: 50px;
		left: 20px;
	}

	.body-blog-post{
		margin: 50px 20px 0 20px;
	}
	
	.notice-blog-post{
		border-left: 1px solid var(--c-blue);
		padding-left: 20px;
	}
	
	.image-blog-post{
		height: 260px;
	}
	
	.quote-blog-post{
		flex-direction: column;
		padding-bottom: 30px;
	}
	.quote-blog-post:after{
		font-size: 12px;
		line-height: 120%;
		letter-spacing: -0.48px;
		left: 0;
	}
	
	.avatar-blog-post{
		height: 72px;
		width: 72px;
	}
	.link-blog-post{
		height: 54px;
		width: 54px;
		padding: 15px 0;
	}
	.link-blog-post > span{
		font-size: 24px;
	}
	
		.latest-tag{
		border: 2px solid;
		padding: 10px 20px;
	}
	#blog-all > a > div.img-cover {
		width: calc(100vw - 66px);
		height: calc(100vw - 166px);
	}
	#blog-all > a > div.tag-list{
		gap: 6px;
		margin-top: 20px;
	}
	#blog-all > a > div.tag-list > span{
		border-radius: 5px;
		font-size: 12px;
		font-weight: 500;
		line-height: 136%;
		padding: 3px 8px;
	}
	#blog-all > a > div.author-blog{
		margin-top: 16px;
	}
	#blog-all img.avatar-blog{
		width: 30px;
		height: 30px;
		margin-right: 10px;
	}
	.pagination{
		display: none;
	}
	.mpagination{
		display: flex;
		justify-content: space-between;
	}
	.mpagination .edge{
		font-size: 58px;
		line-height: 46px;
	}
	.mpagination .pages{
		display: flex;
		gap: 14px;
		align-items: center;
		font-family: var(--f-manrope);
		font-size: 28.5px;
		line-height: 130%;
		letter-spacing: 0.57px;
	}
	
	.vacancy-card{
		padding: 50px 20px;
	}
	.vacancy-card > div:nth-of-type(1){
		padding-right: 0;
	}
	.vacancy-card > div:nth-of-type(2){
		display: none;
	}
	
	.vac-back{
		top: -30px;
		font-size: 16px;
		line-height: 14px;
	}
	.vac-back > .icon-arrow-left{
		font-size: 20px;
		line-height: 20px;
	}
	
	.vacancy-card h1{
		line-height: 100%;
	}
	.vacancy-card h2{
		line-height: 120%;
	}
	.vacancy-descr{
		margin-top: 20px;
	}
	.vacancy-descr > h2{
		font-size: 18px;
		font-weight: 600;
		letter-spacing: initial;
		margin-top: 20px;
	}

	.vacancy-descr > ul, .vacancy-descr > p {
		font-size: 12px;
		letter-spacing: -0.24px;
		margin-top: 5px;
	}
	.vacancy-descr > ul{
		gap: 5px;
		padding-left: 7px;
	}
	.vacancy-descr > ul > li:before{
		width: 2px;
		height: 2px;
		left: -7px;
		top: 7px;
	}
	.vacancy-card form{
		width: 100%;
		gap: 10px;
	}
	
	.vacancy-card form > div{
		padding: 16px 20px;
	}
	.vacancy-card textarea, .vacancy-card input{
		font-size: 14px;
	} 
	.input-file-text {
		font-size: 14px;
	}
	.clip{
		height: 22px;
		margin: -4px 4px -4px 0;
	}

	.btn-vac2{
		--btn-fs: 24px;
		--btn-ls: -0.48px;
		--btn-pad: 22px;
	}
	
		.hero-title{
		height: 390px;
	}
	.hero-title > h1{
		position: absolute;
		bottom: 40px;
		left: 20px;
		font-family: var(--f-manrope);
		font-size: 37px;
		font-weight: 800;
		line-height: 100%;
		letter-spacing: -1.85rem;
	}
	.hero-title:after{
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 200px;
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) -22.25%, rgba(0, 0, 0, 0.00) 85.71%);
	}
	.accrd{
		margin: 0 20px 50px 20px;
	}
	.accrd > .accrd-main{
		padding: 40px 0 5px 0;
		border-top: 1px dashed rgba(var(--black), .4);
	}
	
	.accrd > .accrd-main > .accrd-head > h2{
		max-width: 100%;
	}
	.accrd > .accrd-main > .accrd-head > span{
		font-size: 22px;
		transform: translateY(0) rotate(45deg);
	}
	.accrd > .accrd-main.open > .accrd-head > span{
		transform: translateY(0) rotate(180deg);
	}
	.accrd > .accrd-main > .accrd-body{
		gap: 0;
	}
	.accrd > .accrd-main > .accrd-body > div:nth-of-type(1){
		flex-basis: 100%;
	}
	.accrd > .accrd-main > .accrd-body > div:nth-of-type(2){
		display: none;
	}
	.btn-vac{
		--btn-fs: 24px;
		--btn-ls: -0.48px;
	}
	
	.short-vac > div{
		padding: 16px 20px;
	}
	.short-vac textarea, .short-vac input{
		font-size: 14px;
	} 
	.input-file-text {
		font-size: 14px;
	}
	
	.confer{
		padding-left: 45px;
	}
	.confer > span, .confer > span > a, .confer.wh > span, .confer.wh > span > a{
		font-size: 12px;
	}
	.confer:before{
		width: 36px;
		height: 36px;
	}
	.confer > .checker{
		top: 5px;
		left: 8px;
		font-size: 22px;
	}
	.confer > input[type=checkbox]{
		top: 16px;
		left: 16px;
	}
}

.circle-content {
	background: var(--c-blue);
	box-sizing: border-box;
	width: 62rem;
	height: 62rem;
	border-radius: 50%;
	text-align: center;
	padding-top: 16rem;
	cursor: pointer;
}
.circle-content > .circle-text {
	color: #fefefe;
	font-size: 24rem;
	font-family: var(--f-inter);
}
#projectMap{
	margin-top: 60rem;
	width: 100%;
	height: 700rem;
}
#projectMap .ymaps3x0--top-engine-container{
	position: absolute;
	top: 0;
}
#mapPopup{
	display: none;
	position: fixed;
	width: 480rem;
	height: 480rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #FEFEFE;
	border-radius: 16rem;
	box-shadow: 0 20px 24px -4px rgba(10, 13, 18, 0.10), 0 8px 8px -4px rgba(10, 13, 18, 0.04);
	z-index: 101;
}
#mapPopup > .pop-head{
	padding: 24rem 24rem 20rem 24rem;
}
#mapPopup > .pop-head > svg{
	padding: 12rem;
	width: 48rem;
	height: 48rem;
	border-radius: 10px;
	border: 1px solid #E9EAEB;
	background: #FEFEFE;
	box-shadow: 0 1px 2px 0 rgba(10, 13, 18, 0.05);
	margin-bottom: 16rem;
}
#mapPopup > .pop-head > .pop-close{
	position: absolute;
	top: 16rem;
	font-size: 28rem;
	color: #717680;
	right: 16rem;
	padding: 10rem;
	line-height: 0;
	cursor: pointer;
}
#mapPopup > .pop-body{
	padding: 0 24rem 24rem 24rem;
	height: auto;
	max-height: 323rem;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 12rem;
}
#mapPopup > .pop-body > a{
	display: flex;
	padding: 16rem;
	gap: 16rem;
	border-radius: 12rem;
	border: 2px solid #ECEDFE;
	font-family: var(--f-manrope);
	transition: .3s border ease;
}
#mapPopup > .pop-body > a:hover{
	border: 2px solid #A6BCFF;
}

#mapPopup > .pop-body > a .icon-maplink{
	display: block;
	background: #ECEDFE;
	border-radius: 50%;
	padding: 8rem;
	color: var(--c-blue);
	font-size: 16rem;
}
#mapPopup > .pop-body > a h5, #mapPopup > .pop-body > a p{
	font-size: 14rem;
	line-height: 20rem;
}
#mapPopup > .pop-body > a h5{
	font-weight: 500;
}
#mapPopup > .pop-body > a p{
	opacity: 0.6;
}

@media (max-width: 768px) {
	.circle-content {
		width: 42px;
		height: 42px;
		padding-top: 11px;
	}
	.circle-content > .circle-text {
		color: #fefefe;
		font-size: 16px;
	}
	#projectMap{
		margin-top: 30px;
		width: 100%;
		height: 500px;
	}
	
	#mapPopup{
		position: fixed;
		width: calc(100vw - 30px);
		height: auto;
		max-height: 80vh;
		border-radius: 16px;
	}
	#mapPopup > .pop-head{
		padding: 18px 15px 30px 15px;
	}
	#mapPopup > .pop-head > svg{
		padding: 12px;
		width: 46px;
		height: 46px;
		margin-bottom: 12px;
	}
	#mapPopup > .pop-head > .pop-close{
		top: 12px;
		font-size: 22px;
		right: 12px;
		padding: 10px;
		line-height: 0;
		cursor: pointer;
	}
	#mapPopup > .pop-body{
		padding: 0 15px 15px 15px;
		max-height: calc(80vh - 149px);
		gap: 12px;
	}
	#mapPopup > .pop-body > a{
		padding: 15px;
		gap: 15px;
		border-radius: 12px;
	}
	#mapPopup > .pop-body > a .icon-maplink{
		padding: 7px;
		font-size: 15px;
	}
	#mapPopup > .pop-body > a h5, #mapPopup > .pop-body > a p{
		font-size: 13px;
		line-height: 19px;
	}
}

.animatable {
  /* initially hide animatable objects */
  visibility: hidden;

  /* initially pause animatable objects their animations */
  animation-play-state: paused;
}

.elementor-editor-active .animatable{
    visibility: visible;
}

/* show objects being animated */
.animated {
  visibility: visible;

  animation-fill-mode: both;
  animation-duration: 1s;
  animation-play-state: running;
}

/* CSS Animations (extracted from http://glifo.uiparade.com/) */
@keyframes fadeIn {
  0%,
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    transform: translateX(20px);
  }
  80% {
    transform: translateX(-5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    transform: translateX(-20px);
  }
  80% {
    transform: translateX(5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes moveUp {
  0% {
    transform: translateY(40px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes fadeBgColor {
  0%,
  70% {
    background: none;
  }
  100% {
    background: #464646;
  }
}

.animated.animationDelay {
  animation-delay: 0.4s;
}
.animated.animationDelayMed {
  animation-delay: 1.2s;
}
.animated.animationDelayLong {
  animation-delay: 1.6s;
}
.animated.fadeBgColor {
  animation-name: fadeBgColor;
}
.animated.bounceIn {
  animation-name: bounceIn;
}
.animated.bounceInRight {
  animation-name: bounceInRight;
}
.animated.bounceInLeft {
  animation-name: bounceInLeft;
}
.animated.fadeIn {
  animation-name: fadeIn;
}
.animated.fadeInDown {
  animation-name: fadeInDown;
}
.animated.fadeInUp {
  animation-name: fadeInUp;
}
.animated.moveUp {
  animation-name: moveUp;
}
.img-cover-bg-hover{transition: .2s background-size ease-out;}
.img-cover-bg-hover:hover{ background-size: 120%;}