

/* Start:/_/plg/fancybox/jquery.fancybox.min.css?176598258012795*/
body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
/* End */


/* Start:/_/plg/formstyler/jquery.formstyler.css?17659825792175*/
.jq-checkbox,
.jq-radio {
	position: relative;
	display: inline-block;
	overflow: hidden;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.jq-checkbox input,
.jq-radio input {
	position: absolute;
	z-index: -1;
	margin: 0;
	padding: 0;
	opacity: 0;
}
.jq-file {
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.jq-file input {
	position: absolute;
	top: 0;
	right: 0;
	height: auto;
	margin: 0;
	padding: 0;
	opacity: 0;
	font-size: 100px;
	line-height: 1em;
}
.jq-file__name {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.jq-selectbox,
.jq-select-multiple {
	position: relative;
	display: inline-block;
}
.jq-selectbox select,
.jq-select-multiple select {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
}
.jq-selectbox li,
.jq-select-multiple li {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	white-space: nowrap;
}
.jq-selectbox {
	z-index: 10;
}
.jq-selectbox__select {
	position: relative;
}
.jq-selectbox__select-text {
	overflow: hidden;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.jq-selectbox__dropdown {
	position: absolute;
}
.jq-selectbox__search input {
	-webkit-appearance: textfield;
}
.jq-selectbox__search input::-webkit-search-cancel-button,
.jq-selectbox__search input::-webkit-search-decoration {
	-webkit-appearance: none;
}
.jq-selectbox__dropdown ul {
	position: relative;
	overflow: auto;
	overflow-x: hidden;
	list-style: none;
	-webkit-overflow-scrolling: touch;
}
.jq-select-multiple ul {
	position: relative;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
.jq-number {
	display: inline-block;
}
.jq-number__field input {
	-moz-appearance: textfield;
	text-align: left; /* для Opera Presto */
}
.jq-number__field input::-webkit-inner-spin-button,
.jq-number__field input::-webkit-outer-spin-button {
	margin: 0; /* в каких-то браузерах присутствует отступ */
	-webkit-appearance: none;
}
/* End */


/* Start:/_/css/main.css?176651760643352*/
@charset 'utf-8';

body {

	--gap-side: 20px;
	--gap-between: 100px;

	--head-height: 76px;

	--inner-max-width: 1552px;

	--color-dark: #282828;
	--color-light: #fff;
	--color-gray-light: #f7f7f7;
	--color-border: #dcdcdc;
	--color-brand: #002437;
	--color-brand-hover: #023e5e;

	--font-title: 'Manrope', serif;
	--font-text: 'Manrope', sans-serif;
	--font-size: 18px;

	@media (min-width: 414px) {
		--gap-side: 50px;
	}

	@media (min-width: 630px) {
		--font-size: 25px;
		--gap-between: 150px;
	}

	@media (min-width: 630px) {
		--gap-side: 76px;
	}

	@media (min-width: 1024px) {
		--head-height: 66px;
	}

	@media (min-width: 1200px) {
		--gap-side: 70px;
		--font-size: 20px;
	}

	@media (min-width: 1400px) {
		--gap-side: 138px;
		--gap-between: 200px;
	}

	@media (min-width: 1800px) {
		--gap-side: 184px;
		--head-height: 75px;
	}

}

@layer reset {

	*, ::before, ::after {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		-webkit-tap-highlight-color: transparent;
		-webkit-text-size-adjust: 100%;
	}
	html {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	html, body {
	  scrollbar-gutter: stable;
	}
	img, svg, picture, video, iframe {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	svg:not(:root) {
		overflow: hidden;
	}
	table {
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;
	}
	code, pre {
		font-family: monospace, serif;
	}
	blockquote, q {
		quotes: none;
		&::before, &::after {
			content: '';
			content: none;
		}
	}
	button, input, select, textarea {
		font: inherit;
		border-radius: 0;
	}
	label {
		display: block;
	}
	label, button, input[type="file"] {
		cursor: pointer;
	}
	input[type="search"] {
		-webkit-appearance: textfield;
		&::-webkit-search-cancel-button, &::-webkit-search-decoration {
			-webkit-appearance: none;
		}
	}
	input[type="number"] {
		&::-webkit-outer-spin-button, &::-webkit-inner-spin-button {
			-webkit-appearance: none;
		}
		&, &:hover, &:focus {
			appearance: none;
			-moz-appearance: textfield;
		}
	}
	*:disabled {
		cursor: default;
	}
	a {
		color: inherit;
		text-decoration: none;
	}
	a:hover {
		color: currentColor;
	}
	p a {
		text-decoration: underline;
		text-decoration-style: solid;
		text-underline-offset: 2px;
		text-decoration-thickness: 1px;
		text-decoration-color: currentColor;
	}
	p a:hover {
		text-decoration-color: transparent;
	}
	[hidden] {
		display: none !important;
	}

}

@layer common {

	body {
		font-size: var(--font-size);
		font-family: var(--font-text);
		font-style: normal;
		font-weight: 400;
		line-height: 1;
		color: var(--color-dark);
	}

	:has( > .inner) {
		padding-left: var(--gap-side);
		padding-right: var(--gap-side);
	}
	.inner {
		max-width: var(--inner-max-width);
		height: 100%;
		margin: 0 auto;
	}

	a,
	button {
		transition: all 400ms linear;
	}

	.a {
		text-decoration: underline;
		text-decoration-color: transparent;
		text-underline-offset: 2px;
	}
	.a:hover {
		text-decoration-color: currentColor;
	}

	.p, p {
		text-wrap: pretty;
		line-height: normal;

		&:not(:first-child) {
			margin-top: 1lh;
		}
	}

	.h1, h1,
	.h2, h2,
	.h3, h3,
	.h4, h4 {
		font-family: var(--font-title);
		font-optical-sizing: auto;
		font-style: normal;
		font-weight: 400;
		line-height: normal;

		& + p {
			margin-top: 0 !important;
		}
	}
	.h1, h1 {
		margin-bottom: 20px;
		font-size: 30px;
	}
	.h2, h2 {}
	.h3, h3 {
		font-size: 25px;
	}
	.h4, h4 {
		font-size: inherit;
	}

	.btn {
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 40px;
		padding: 0 20px;
		line-height: 1;
		text-decoration: none;
		font-weight: 600;
		border: none;
		border-radius: 0px;
		background: none;
	}
	.btn._bg {
		color: var(--color-light);
		background: var(--color-dark);
	}
	.btn._bd {
		color: var(--color-dark);
		border: 1px solid var(--color-border);

		&:hover {
			color: var(--color-light);
			background: var(--color-brand);
			border-color: var(--color-brand);
		}
	}

	ol, ul {
		padding-left: 20px;
		line-height: normal;

		&:not(:first-child) {
			margin-top: 1lh;
		}
	}
	ul {
		list-style-type: square;
	}
	li {
		margin: 0;
	}

	.fit {
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		object-fit: cover;
		object-position: center;
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		.h1, h1 {
			font-size: 40px;
			margin-bottom: 15px;
		}
		.h3, h3 {
			font-size: 35px;
		}
	}

	@media (min-width: 1024px) {
		.h1, h1 {
			margin-bottom: 50px;
		}
	}

	@media (min-width: 1400px) {
		.h1, h1 {
			margin-bottom: 40px;
			font-size: 35px;
		}
		.h3, h3 {
			font-size: 30px;
		}
	}

	@media (min-width: 1600px) {
		.h1, h1 {
			margin-bottom: 60px;
		}
	}

}

.columns {
	display: grid;
	gap: 20px;

	.h1:first-child:last-child {
		margin-bottom: 0;
	}

	@media (min-width: 1024px) {
		grid-template-columns: 2fr 3fr;

		.side {
			grid-row: 1 / 2;
			grid-column: 1 / 2;
		}
		.main {
			grid-row: 1 / 2;
			grid-column: 2 / 3;
		}
		.sticky {
			--top: 20px;
			position: sticky;
			top: calc(var(--head-height) + var(--top));
		}
	}

	@media (min-width: 1280px) {
		grid-template-columns: 1fr 2fr;
		gap: 20px;
	}

	@media (min-width: 1600px) {
		grid-template-columns: repeat(5, 1fr);
		gap: 10px;

		.side {
			grid-column: 1 / 3;
		}
		.main {
			grid-column: 3 / -1;
		}
	}
}

form {
	position: relative;

	&::after {
		content: '';
		display: block;
		width: calc(100% + 20px);
		height: calc(100% + 20px);
		position: absolute;
		top: -10px;
		left: -10px;
		background: rgba(255, 255, 255, .2);
		transition: all 200ms linear;
		border-radius: 5px;
		opacity: 0;
		visibility: hidden;
		cursor: wait;
	}
	&.sending::after {
		opacity: 1;
		visibility: visible;
	}

	input,
	textarea,
	select {
		width: 100%;
		height: 42px;
		padding: 0;
		background: #fff;
		border: 1px solid var(--color-border);
		outline: none;
	}
	textarea {
		overflow: auto;
		line-height: 1.1;
		min-height: 5.5em;
		resize: vertical;
		vertical-align: top;
	}

	[placeholder]::-webkit-input-placeholder { color: #939393; }
	[placeholder]:-ms-input-placeholder      { color: #939393; }
	[placeholder]::-moz-placeholder          { color: #939393; }
	[placeholder]:focus::-webkit-input-placeholder { color: transparent; }
	[placeholder]:focus:-ms-input-placeholder      { color: transparent; }
	[placeholder]:focus::-moz-placeholder          { color: transparent; }

	input[type="radio"],
	input[type="checkbox"] {
	  display: none !important;
	}
	input[type="radio"] + div,
	input[type="checkbox"] + div {
	  position: relative;
	  display: block;
	  padding: 0 0 0 30px;
	}
	input[type="radio"] + div::before,
	input[type="radio"] + div::after,
	input[type="checkbox"] + div::before,
	input[type="checkbox"] + div::after {
	  content: '';
	  display: block;
	  position: absolute;
	  box-sizing: border-box;
	}
	input[type="radio"] + div::before,
	input[type="radio"] + div::after {
		border-radius: 50%;
	}
	input[type="radio"] + div::before,
	input[type="checkbox"] + div::before {
	  top: 0;
	  left: 0;
	  width: 16px;
	  height: 16px;
	  border: 1px solid #000;
	}
	input[type="radio"] + div::after,
	input[type="checkbox"] + div::after {
	  opacity: 0;
	  top: 3px;
	  left: 3px;
	  width: 10px;
	  height: 10px;
	  background: #000;
	  transition: all 200ms linear;
	}
	input[type="radio"]:checked + div::after,
	input[type="checkbox"]:checked + div::after {
	  opacity: 1;
	}

	input[type="url"] {
		background: url(/_/media/ui/link.svg) right center no-repeat;
	}

	/*
	*******************************************************************************/

	label {
		position: relative;
	}
	.wrong input,
	.wrong textarea,
	.wrong .jq-selectcontent.__select {
		border-color: #f3c0c0;
		background: #ffeaea !important;
	}
	.error {
		position: absolute;
		top: 100%;
		padding: 5px 0;
		font-size: 14px;
		color: #c34343;
		transition: all 200ms linear;
		transform: translateY(-50%);
		opacity: 0;
	}
	.error.shown {
		opacity: 1;
		transform: translateY(0);
	}

	.ajax_loader {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 60px;
		height: 60px;
		transform: translate(-50%, -50%);
		z-index: 1;
	}
	.ajax_loader_svg {
		width: 100%;
		height: 100%;
	}
	.ajax_loader_circle {
		stroke: #00A499;
		transition: 300ms stroke-dashoffset;
	  transform: rotate(-90deg);
	  transform-origin: 50% 50%;
	}
	.ajax_loader_digit {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		font-weight: 400;
		font-size: 14px;
		line-height: 100%;
		text-align: center;
	}

}

.jq-checkbox,
.jq-radio {
	vertical-align: -4px;
	width: 24px;
	height: 24px;
	margin: 0 4px 0 0;
	border: 1px solid #C3C3C3;
	cursor: pointer;
}
.jq-checkbox.focused,
.jq-radio.focused {
	border: 1px solid #08C;
}
.jq-checkbox.disabled,
.jq-radio.disabled {
	opacity: .55;
}
.jq-checkbox {
	border-radius: 3px;
}
.jq-checkbox.checked .jq-checkbox__div {
	width: 8px;
	height: 4px;
	margin: 3px 0 0 0;
	border-bottom: 2px solid #666;
	border-left: 2px solid #666;
	-webkit-transform: rotate(-50deg);
	transform: rotate(-50deg);
}
.jq-radio {
	border-radius: 50%;
}
.jq-radio.checked .jq-radio__div {
	width: 10px;
	height: 10px;
	margin: 3px 0 0 3px;
	border-radius: 50%;
}
.jq-checkbox__div{
	padding: 7px 0 0 23px !important;
}
.jq-checkbox__div::before{
	border: none !important;
}

.jq-checkbox__div::after{
	background: none !important;
}

.jq-selectbox {
	vertical-align: middle;
	cursor: pointer;
	width: 100%;
	height: 42px;

	.jq-selectbox__select {
		height: 100%;
		padding: 0 42px 0 0;
		border-bottom: 1px solid #000;
	}
	.jq-selectbox__select-text {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.placeholder {
		color: #939393;
	}
	.jq-selectbox__trigger {
		position: absolute;
		top: 0;
		right: 0;
		width: 42px;
		height: 100%;
	}
	.jq-selectbox__trigger-arrow {
		position: absolute;
		top: 40%;
		right: 0;
		width: 0;
		height: 0;
		border-top: 8px solid var(--color-brand);
		border-right: 5px solid transparent;
		border-left: 5px solid transparent;
	}
	.jq-selectbox__dropdown {
		width: 100%;
		margin-top: -1px;
		padding: 0;
		border: 1px solid var(--color-border);
		background: #fff;

		ul {
			margin: 0;
			padding: 0;
		}
		li {
			padding: 15px;

			&:not(:first-child) {
				border-top: 1px solid var(--color-border);
			}
			li:empty + & {
				border-top: 0;
			}
		}
		li:hover,
		li.selected {
			color: var(--color-light);
			background-color: var(--color-brand);
		}
		li.disabled {
			color: #AAA;
		}
		li.disabled:hover {
			background: none;
		}
		li.optgroup {
			font-weight: bold;
		}
		li.optgroup:hover {
			background: none;
			color: #231F20;
			cursor: default;
		}
		li.option {
			padding-left: 25px;
		}
	}
}

[arise] {
	transition: all 800ms cubic-bezier(0.645, 0.045, 0.645, 1);

	&:is([arise="out"]) {
		opacity: 0;
	}
	&:is([arise="in"]) {
		opacity: 1;
	}
}

header.head {
	position: sticky;
	top: 0;
	background: var(--color-light);
	z-index: 10;
	/*&.scrolled {
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	}*/

	.head_row {
		height: var(--head-height);
	}
	.head_logo {
		aspect-ratio: 106 / 110;
		height: 38px;
	}
	.head_nav {
		font-weight: 300;

		ul {
			list-style: none;
			margin: 0;
			padding: 0;
		}
		a {
			position: relative;
		}
		a::after {
			content: '';
			display: block;
			width: 0;
			height: 1px;
			position: absolute;
			left: 0;
			bottom: 0;
			background: currentColor;
			transition: all 300ms linear;
		}
		a.current::after,
		a:hover::after {
			width: 100%;
		}
	}

	@media (max-width: 1023px) {
		padding: 0 10px !important;

		.head_row {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
		.head_nav {
			position: fixed;
			inset: var(--head-height) 0 0;
			padding: 86px var(--gap-side) var(--gap-side);
			background: var(--color-light);
			overflow: auto;
			transition: all 300ms linear;
			opacity: 0;
			visibility: hidden;

			ul {
				display: grid;
				gap: 30px;
			}
			&.shown {
				opacity: 1;
				visibility: visible;
			}
		}
		.head_burger {
			position: relative;
			display: block;
			width: 50px;
			height: 100%;
			padding: 0;
			overflow: hidden;
			font-size: 0;
			text-indent: -9999px;
			border: none;
			background: none;

			div,
			div::before,
			div::after {
				position: absolute;
				left: 0;
			}
			div {
				top: 30px;
				width: 100%;
				height: 9px;
			}
			div::before,
			div::after {
				content: '';
				display: block;
				width: 100%;
				height: 2px;
				transition: all 300ms linear;
				background: var(--color-brand);
			}
			div::before {
				top: 0;
			}
			div::after {
				bottom: 0;
				width: 50%;
			}
		}
		.head_burger.active div {
			background: none;

			&::before,
			&::after {
				width: 25px;
				left: 50%;
			}
			&::before {
				top: 50%;
				transform: translate(-50%, -50%) rotate(45deg);
			}
			&::after {
				bottom: 50%;
				transform: translate(-50%, 50%) rotate(-45deg);
			}
		}
	}

	@media (min-width: 630px) {
		.head_logo {
			height: 58px;
		}
	}

	@media (min-width: 1024px) and (max-width: 1279px) {
		.columns .main {
			grid-column: 1 / -1;
		}
	}

	@media (min-width: 1024px) {
		font-size: 18px;

		.head_row {
			position: relative;
		}
		.head_logo {
			position: absolute;
			top: 100%;
			right: 100%;
			margin-right: 10px;
		}
		.head_nav ul {
			grid-column: 2 / 3;
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 75px;
			height: var(--head-height);
		}
		.head_burger {
			display: none;
		}
	}

	@media (min-width: 1200px) {
		.head_nav ul {
			gap: unset;
			justify-content: space-between;
		}
		.head_logo {
			height: 50px;
		}
	}

	@media (min-width: 1400px) {
		.head_logo {
			height: 78px;
			margin-right: 30px;
		}
	}

	@media (min-width: 1600px) {
		.head_nav {
			font-size: 22px;
		}
	}

	@media (min-width: 1800px) {
		.head_logo {
			height: 110px;
			margin-right: 40px;
		}
	}

}

footer.foot {
	margin-top: 100px;
	padding-bottom: 16px;
	line-height: normal;

	.foot_row {
		display: grid;
		align-items: center;
		grid-template-columns: repeat(3, 1fr);
		color: #616161;
		font-size: 14px;

		& > div {
			display: flex;
			flex-direction: column;
			/*justify-content: space-between;*/
			/*justify-content: center;*/
			height: 100%;
		}
		._address {}
		._contacts {
			align-items: center;
		}
		._soc {
			align-items: flex-end;
		}
	}
	.foot_bottom {
		margin-top: 65px;
		display: grid;
		align-items: end;
		grid-template-columns: repeat(2, auto);
		gap: 10px;
		color: #c9c9c9;
		font-size: 12px;

		._policy {
			text-align: center;
		}
		._madeby {
			justify-self: end;
			display: flex;
			align-items: baseline;
			gap: 6px;

			svg {
				width: 35px;
			}
		}
	}

	@media (max-width: 767px) {
		.foot_bottom ._policy {
			grid-column: 1 / -1;
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		.foot_row {
			font-size: 21px;
		}
	}

	@media (min-width: 768px) {
		.foot_bottom {
			grid-template-columns: repeat(3, 1fr);

			._copyright {
				order: 1;
			}
			._policy {
				order: 2;
			}
			._madeby {
				order: 3;
			}
		}
	}

	@media (min-width: 1200px) {
		.foot_row {
			font-size: 16px;
		}
		.foot_bottom {
			margin-top: 46px;
			font-size: 14px;

			._madeby svg {
				width: 36px;
			}
		}
	}

	@media (min-width: 1600px) {
		margin-top: 200px;
		padding-bottom: 25px;

		.foot_bottom {
			margin-top: 84px;
			._madeby svg {
				width: 48px;
			}
		}
	}

}

picture {

	&.toRight {

		--margin-side: calc(var(--gap-side) * -1);
		margin-left: var(--margin-side);
		margin-right: var(--margin-side);
		height: 456px !important;

		@media (min-width: 630px) {
			height: 846px !important;
		}

		@media (min-width: 1024px) {
			height: 541px !important;
			margin-left: 0;
		}

		@media (min-width: 1400px) {
			height: auto !important;
			aspect-ratio: 1736 / 753 !important;
		}

	}

	&.gray {
		filter: grayscale(1);
	}

}

article.page > header {

	.columns h1 {
		margin: 0;
	}
	picture {
		max-width: none;
		height: 360px;
		margin-bottom: 15px;
	}

	@media (max-width: 1023px) {
		.columns {
			gap: 10px;
		}
		picture {
			--margin-side: calc(var(--gap-side) * -1);
			margin-left: var(--margin-side);
			margin-right: var(--margin-side);
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		.columns {
			gap: 15px;
		}
		picture {
			height: 505px;
			margin-bottom: 23px;
		}
	}

	@media (min-width: 1024px) {
		hgroup {
			& > h1 {
				max-width: 1200px;
			}
			.main {
				max-width: 616px;
			}
		}
	}

	@media (min-width: 1400px) {
		picture {
			aspect-ratio: 1552 / 753;
			height: auto;
		}
	}

	@media (min-width: 1900px) {
		picture {
			margin-bottom: 18px;
		}
	}

}

article.home {

	display: grid;
	gap: var(--gap-between);

	@media (min-width: 1024px) and (max-width: 1399px) {
		header,
		section.services .side {
			font-size: 20px;
		}
	}

	header {
		@media (min-width: 1024px) {
			picture {
				height: 435px !important;
			}
		}
		@media (min-width: 1400px) {
			picture {
				height: auto !important;
			}
		}
	}

	section.services:not(.test) {

		--duration: 600ms; /* обязательно в ms, используется в js */
		--transition: all var(--duration) cubic-bezier(0.61, 1, 0.87, 1);
		--sticky-top: 80px;

		.item {
			height: calc(var(--jsh) * 10);

			a {
				display: block;
				overflow: hidden;
				position: sticky;
				top: var(--sticky-top);
			}
			.side > * {
				transition: var(--transition);
				opacity: 0;

				&.h1 {
					transition-delay: 0.2s;
				}
				&:is(p) {
					transition-delay: 0.4s;
				}
				&.more {
					transition-delay: 0.6s;
				}
				transform: translateX(-50%);
			}
			.main {
				transition: var(--transition);
				opacity: 0;
				transform: scale(0.5);
			}
			a.inView {
				opacity: 1;

				.side > * {
					opacity: 1;
					transform: translateX(0);
				}
				.main {
					opacity: 1;
					transform: scale(1);
				}
			}
			&:not(:last-child) {
				padding-bottom: var(--gap-between);
			}
		}

		.more {
			height: 40px;
			display: flex;
			align-items: center;
			justify-content: flex-start;
		}

		@media (max-width: 1023px) {
			.inner {
				position: relative;
				padding-bottom: 60px;
			}
			.more {
				position: absolute;
				inset: auto 0 0;
			}
			.item .main {
				transition-delay: 0.8s;
			}
			picture {
				aspect-ratio: 314 / 282;
			}
		}

		@media (min-width: 1024px) {
			.item {
				height: calc(var(--jsh) * 1.2);

				/*&:not(:first-child) {
					padding-top: var(--gap-between);
				}*/
				a {
					display: block;
				}
			}
			picture {
				position: relative;
				height: 100%;
				min-height: 358px;

				img {
					position: absolute;
				}
			}
			.more {
				align-items: flex-end;
				margin-top: 30px;
			}
		}

		@media (min-width: 1280px) {
			--sticky-top: 200px;

			.h1 {
				margin-bottom: 40px;
			}
		}

		@media (min-width: 1600px) {

			.columns {
				height: 100%;

				.side {
					display: flex;
					flex-direction: column;
					padding-right: 60px;

					.more {
						margin-top: auto;
					}
				}
				picture {
					min-height: 478px;
				}
			}
		}

	}

	section.services.test {
		position: relative;

		--duration: 600ms; /* обязательно в ms, используется в js */
		--transition: all var(--duration) cubic-bezier(0.61, 1, 0.87, 1);
		--sticky-top: 80px;

		.sticky {
			position: sticky;
			top: var(--sticky-top);
			width: 100%;
			overflow: hidden;
		}
		.roll {
			display: flex;
			flex-wrap: nowrap;
			position: absolute;
			top: 0;
			left: 0;
		}
		.item {
			position: relative;
			width: 100vw;
			opacity: 0;
			/*height: calc(var(--jsh) * 10);*/

			a {
				display: block;
				height: auto;
				/*overflow: hidden;
				position: sticky;
				top: var(--sticky-top);*/
			}
			/*.side > * {
				transition: var(--transition);
				opacity: 0;

				&.h1 {
					transition-delay: 0.2s;
				}
				&:is(p) {
					transition-delay: 0.4s;
				}
				&.more {
					transition-delay: 0.6s;
				}
				transform: translateX(-50%);
			}
			.main {
				transition: var(--transition);
				opacity: 0;
				transform: scale(0.5);
			}
			a.inView {
				opacity: 1;

				.side > * {
					opacity: 1;
					transform: translateX(0);
				}
				.main {
					opacity: 1;
					transform: scale(1);
				}
			}
			&:not(:last-child) {
				padding-bottom: var(--gap-between);
			}*/
		}

		.more {
			height: 40px;
			display: flex;
			align-items: center;
			justify-content: flex-start;
		}

		@media (max-width: 1023px) {
			.inner {
				position: relative;
				padding-bottom: 60px;
			}
			.more {
				position: absolute;
				inset: auto 0 0;
			}
			.item .main {
				transition-delay: 0.8s;
			}
			picture {
				aspect-ratio: 314 / 282;
			}
		}

		@media (min-width: 1024px) {
			.item {
				/*height: calc(var(--jsh) * 1.2);*/

				/*&:not(:first-child) {
					padding-top: var(--gap-between);
				}*/
				a {
					display: block;
				}
			}
			picture {
				position: relative;
				height: 100%;
				min-height: 358px;

				img {
					position: absolute;
				}
			}
			.more {
				align-items: flex-end;
				margin-top: 30px;
			}
		}

		@media (min-width: 1280px) {
			--sticky-top: 200px;

			.h1 {
				margin-bottom: 40px;
			}
		}

		@media (min-width: 1600px) {

			.columns {
				height: 100%;

				.side {
					display: flex;
					flex-direction: column;
					padding-right: 60px;

					.more {
						margin-top: auto;
					}
				}
				picture {
					min-height: 478px;
				}
			}
		}

	}

	section.about {
		.about_stat {
			margin-top: 20px;
		}
		.about_stat_item {
			padding: 20px;
			display: grid;
			gap: 20px;
			border: 1px solid var(--color-border);
			border-right: 0;
			border-bottom: 0;
			line-height: normal;

			._big {
				font-size: 40px;
			}
			._text {
				margin: 0;
			}
		}
		.columns {
			gap: 18px;

			.side[arise] {
				transition-delay: 0.2s;
			}
			.side[arise="out"] {
				transform: translateX(-100px);
			}
			.main[arise="out"] {
				transform: translateY(100px);
			}
			[arise="in"] {
				transform: translate(0);
			}
		}

		@media (min-width: 630px) {
			.about_stat_item {
				gap: 30px;
				padding: 30px;
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			.columns {
				gap: 30px;
			}
			.about_stat {
				margin-top: 47px;

				._big {
					font-size: 55px;
				}
			}
		}

		@media (min-width: 1024px) {
			.columns {
				grid-template-columns: repeat(3, 1fr);
				gap: 0;
				align-items: start;

				.main {
					grid-column: 3 / 4;
				}
			}
			.about_stat {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				margin-top: 32px;
				border-right: 1px solid var(--color-border);
			}
		}

		@media (min-width: 1400px) {
			.columns .side {
				grid-column: 1 / 3;
				max-width: 454px;
			}
			.about_stat_item {
				gap: 15px;

				._big {
					font-size: 45px;
				}
			}
		}

		@media (min-width: 1900px) {
			.about_stat {
				margin-top: 52px;
			}
			.about_stat_item {
				gap: 20px;
				padding: 40px;

				._big {
					font-size: 60px;
				}
			}
		}
	}

	section.cycle {
		.h1 {
			margin: 0;
		}
		.cycle_row {
			ul {
				list-style: none;
				padding: 0;
				display: flex;
				gap: 10px;
			}
			li {
				position: relative;
				flex: 0 0 225px;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				justify-content: space-between;
				height: 189px;
				padding: 15px;
				font-size: 25px;
				background: var(--color-gray-light);

				._icon {
					width: 65px;
					aspect-ratio: 1 / 1;
					transition: opacity 400ms linear;

					svg {
						width: 100%;
					}
				}
				._desc {
					position: absolute;
					inset: 0;
					margin: 0;
					padding: 15px;
					color: var(--color-light);
					background: var(--color-brand);
					transition: all 600ms linear;
					opacity: 0;
					visibility: hidden;
					z-index: 1;
				}
				._desc p {
					margin: 0;
					-webkit-line-clamp: 8;
					display: -webkit-box;
					-webkit-box-orient: vertical;
					overflow: hidden;
					font-size: 14px;
				}
			}
			li:hover {
				._icon {
					opacity: 0;
				}
				._desc {
					opacity: 1;
					visibility: visible;
				}
			}
		}

		@media (max-width: 1199px) {
			.cycle_row {
				margin: 16px calc(var(--gap-side) * -1) 0;
				padding-left: var(--gap-side);
				width: 100vw;
				overflow: auto;
				-ms-overflow-style: none;
	  		scrollbar-width: none;

	  		&::-webkit-scrollbar {
				  display: none;
				}
				ul::after {
					content: '';
					display: block;
					flex: 0 0 calc(var(--gap-side) - 10px);
				}
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			.cycle_row li {
				flex: 0 0 342px;
				height: 287px;

				._icon {
					width: 99px;
				}
			}
		}

		@media (min-width: 1024px) {
			.columns {
				grid-template-columns: repeat(3, 1fr);
				gap: 0;
				align-items: center;

				.main {
					grid-column: 3 / 4;
				}
			}
		}

		@media (min-width: 1200px) {
			.cycle_row {
				margin-top: 35px;

				ul {
					display: grid;
					grid-template-columns: repeat(5, 1fr);
				}
				li {
					font-size: 18px;
				}
			}
		}

		@media (min-width: 1900px) {
			.cycle_row {
				margin-top: 40px;

				ul {
					display: grid;
					grid-template-columns: repeat(5, 1fr);
				}
				li {
					flex: 0 0 300px;
					height: 274px;
					padding: 20px;
					font-size: 20px;

					._icon {
						width: 85px;
					}
				}
			}
		}
	}

}

article.project {

	section.about {
		margin-top: 30px;

		h1 {
			margin-bottom: 10px;
		}
		.columns {
			gap: 30px;
		}
		table {
			font-size: 15px;
			border-top: 1px solid var(--color-border);

			&,
			tbody {
				display: block;
				line-height: 1.3;
			}
			tr {
				display: flex;
				align-items: center;
				justify-content: space-between;
				border-bottom: 1px solid var(--color-border);
			}
			th,
			td {
				padding: 10px 0;
			}
			th {
				font-weight: 400;
				text-align: left;
			}
			td {
				text-align: right;
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			.columns {
				gap: 60px;
			}
			table {
				font-size: 20px;
			}
		}

		@media (min-width: 1024px) {
			margin-top: 60px;

			h1 {
				margin-bottom: 22px;
			}
			.columns {
				gap: 10px;
				grid-template-columns: repeat(5, 1fr);

				.side {
					grid-column: 1 / 3;
					font-size: 15px;
				}
				.main {
					grid-column: 4 / 6;
				}
			}
		}

		@media (min-width: 1600px) {
			margin-top: 80px;

			.columns .side {
				font-size: 20px;
			}
			table {
				font-size: 20px;
			}
		}

	}

	section.gallery {
		margin-top: 30px;

		.gallery_row {
			display: grid;
			gap: 40px;
		}
		picture {
			aspect-ratio: 314 / 205;
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			margin-top: 50px;
		}

		@media (min-width: 1024px) {
			margin-top: 60px;

			.gallery_row {
				grid-template-columns: 1fr 1fr;
				gap: 60px;
			}
			picture {
				aspect-ratio: auto;
				height: 550px;
			}
			picture:nth-child(3n+1) {
				grid-column: 1 / -1;
				height: 644px;
			}
		}

		@media (min-width: 1280px) {
			.gallery_row {
				gap: 100px;
			}
		}

		@media (min-width: 1600px) {
			margin-top: 80px;

			picture {
				height: 616px;
			}
			picture:nth-child(3n+1) {
				height: 756px;
			}
		}

	}

	nav {
		margin-top: 10px;
		font-size: 13px;

		ul {
			list-style: none;
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin: 0;
			padding: 0;
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			margin-top: 25px;
			font-size: 20px;
		}

		@media (min-width: 1024px) {
			margin-top: 20px;
			font-size: 15px;
		}

		@media (min-width: 1600px) {
			margin-top: 25px;
			font-size: 20px;
		}

	}

}

article.projects {

	.projects_row {
		display: grid;
		gap: 40px;
	}
	article {
		position: relative;
		/*-webkit-perspective: 1000;
	  perspective: 1000;*/

		header {
			position: absolute;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			color: var(--color-light);
			background: var(--color-brand);
			inset: 0;
			padding: 20px;
			/*transition: all 600ms cubic-bezier(0.5, 1, 0.89, 1);*/
			transition: all 450ms linear;
			opacity: 0;
			visibility: hidden;
			backface-visibility: hidden;
			transform-style: preserve-3d;
			/*transform: translateY(-20px);*/

			h4 {
				margin-bottom: 5px;
				line-height: 1.3;
				font-weight: 400;
			}
			p {
				font-size: 16px;
				opacity: 0.5;
			}
			a {
				margin-top: auto;
				align-self: flex-end;
				font-size: 16px;
			}
			a::after {
				content: '';
				display: block;
				position: absolute;
				inset: 0;
			}

		}
		&:hover header {
			opacity: 1;
			visibility: visible;
			/*transform: translateY(0);*/
		}
		picture {
			aspect-ratio: 314 / 256;
		}

	}

	@media (max-width: 1023px) {
		.projects_row {
			margin-top: 32px;
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		article header {
			h4 {
				margin-bottom: 10px;
				font-size: 25px;
			}
			a, p {
				font-size: 20px;
			}
		}
		.projects_row {
			margin-top: 26px;
		}
	}

	@media (min-width: 630px) {
		article picture {
			aspect-ratio: 478 / 336;
		}
	}

	@media (min-width: 768px) {
		.projects_row {
			grid-template-columns: 1fr 1fr;
		}
	}

	@media (min-width: 1280px) {
		.projects_row {
			grid-template-columns: repeat(3, 1fr);
		}
		article {
			header :is(h4, p) {
				font-size: 15px;
			}
			header a {
				font-size: 12px;
			}
			picture {
				aspect-ratio: 361 / 215;
			}
		}
	}

	@media (min-width: 1600px) {
		.projects_row {
			gap: 53px 70px;
		}
		article {
			header h4 {
				margin-bottom: 15px;
				font-size: 20px;
			}
			header :is(p, a) {
				font-size: 15px;
			}
		}
	}

}

article.about {

	header {
		@media (min-width: 1024px) {
			picture {
				height: 435px !important;
			}
		}
		@media (min-width: 1400px) {
			picture {
				height: auto !important;
			}
		}
	}

	section {
		--main-padding-left: 30px;
		margin-top: var(--gap-between);

		@media (min-width: 1280px) {
			--main-padding-left: 50px;
			.columns .side {
				max-width: 334px;
			}
		}

		@media (min-width: 1600px) {
			.columns .side {
				max-width: 462px;
			}
		}
	}

	section.philosophy {
		.columns .main {
			max-width: 720px;
		}
		ul {
			display: grid;
			gap: 50px;
			padding-left: var(--main-padding-left);
			list-style: none;

			li {
				display: grid;
				gap: 20px;
			}
			h3 {
				--marker-width: 8px;
				position: relative;
			}
			h3::before {
				content: '';
				display: block;
				width: var(--marker-width);
				aspect-ratio: 1 / 1;
				position: absolute;
				top: calc(0.5lh - (var(--marker-width) / 2));
				left: calc(var(--main-padding-left) * -1);
				background: var(--color-brand);
			}
		}

		@media (max-width: 1599px) {
			.columns {
				gap: 30px;
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			.main p {
				font-size: 20px;
			}
		}

		@media (min-width: 1280px) {
			ul h3 {
				--marker-width: 12px;
			}
		}
	}

	section.awards {

		header {
			margin-bottom: 20px;

			.filter {
				display: flex;
				gap: 20px;
			}
			label input + div {
				line-height: 1.39;
				padding: 0;
				transition: opacity 200ms linear;

				:not(:checked) + & {
					opacity: 0.5;
				}
				&::before,
				&::after {
					display: none;
				}
			}
		}
		._other {
			display: none !important;
		}
		.years .columns[data-year] {
			align-items: center;
			padding: 30px 0;
			border-top: 1px solid var(--color-border);

			.side {
				font-size: 16px;
			}
		}
		.more {
			margin-top: 20px;

			button {
				background: none;
				border: none;
				font-size: inherit;
				text-decoration: underline;
				text-decoration-thickness: 1px;
				text-underline-offset: 2px;
			}
			button:hover {
				text-decoration-color: transparent;
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			.years .columns[data-year] {
				gap: 30px;

				.side {
					font-size: 18px;
				}
				.main {
					font-size: 20px;
				}
			}
		}

		@media (min-width: 1024px) {
			.filter {
				justify-content: flex-end;
			}
			.years .columns {
				.main {
					padding-left: var(--main-padding-left);
				}
			}
			.more {
				margin-top: 25px;
			}
		}

		@media (min-width: 1280px) {
			header {
				margin-bottom: 30px;
			}
		}

		@media (min-width: 1400px) {
			header {
				margin-bottom: 35px;
			}
		}

		@media (min-width: 1600px) {
			header {
				margin-bottom: 40px;
			}
		}

	}

	section.partners {

		.partners_row {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 10px;
		}

		@media (min-width: 768px) {
			.partners_row {
				grid-template-columns: repeat(3, 1fr);
			}
		}

		@media (min-width: 1024px) {
			.partners_row {
				grid-template-columns: repeat(4, 1fr);
			}
		}

		@media (min-width: 1280px) {
			.partners_row {
				grid-template-columns: repeat(5, 1fr);
			}
		}
	}

}

article.contacts {

	h1 {
		margin-bottom: 76px;
	}
	.contacts_row {
		display: grid;
		gap: 30px;
		margin-top: 44px;
	}
	.contacts_item {
		display: grid;
		gap: 10px;

		._title {
			opacity: 0.5;
		}
		._text {
			display: grid;
			justify-content: start;
			gap: 2px;
			line-height: normal;
		}
	}
	.columns .main {
		margin: 0 calc(var(--gap-side) * -1);
	}
	.map {
		height: 556px;
		max-height: 60dvh;

		.ymaps-2-1-79-ground-pane {
			filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
			-webkit-filter: grayscale(100%);
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		margin-bottom: var(--gap-between);
		font-size: 20px;

		h1 {
			margin-bottom: var(--gap-between);
		}
		.map {
			height: 846px;
		}
	}

	@media (min-width: 1024px) {
		h1 {
			margin-bottom: 37px;
		}
		.contacts_row {
			margin-top: 50px;
			grid-template-columns: 1fr 1fr;
		}
		.columns {
			height: calc(var(--jsh) - (var(--head-height) * 2));

			.main {
				margin-left: 0;
			}
		}
		.map {
			height: 100%;
			max-height: none;
		}
	}

	@media (min-width: 1024px) and (max-width: 1279px) {
		.columns {
			grid-template-columns: 1fr 1fr;
		}
	}

	@media (min-width: 1024px) and (max-width: 1599px) {
		.columns {
			font-size: 16px;
		}
	}

	@media (min-width: 1600px) {
		h1 {
			margin-bottom: 62px;
		}
		.contacts_row {
			margin-top: 40px;
		}
	}

}

article.policy {

	padding-top: 27px;

	@media (min-width: 1024px) {
		--pt: calc(108px - var(--head-height));
		padding-top: var(--pt);
		font-size: 16px;

		.columns .sticky {
			--top: var(--pt);
		}
	}

}

article.page404 {

	.inner {
		position: relative;
		height: calc(var(--jsh) - var(--head-height));
		padding: 27px 0 calc(250px + 27px + 27px);
	}
	header {
		h1 {
			margin-bottom: 15px;
		}
		p {
			margin: 0;
			color: #A7A7A7;
			text-wrap: auto;

			a {
				color: var(--color-dark);
			}
		}
	}
	section div {
		opacity: 0.1;
		line-height: normal;
		font-size: 180px;
		font-weight: 300;
	}

	@media (max-width: 1023px) {
		section {
			position: absolute;
			inset: auto 0 27px;
			display: flex;
			align-items: center;
			justify-content: center;

			svg {
				position: absolute;
				top: 50%;
				left: 50%;
				width: 48px;
				transform: translateX(-50%);
			}
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		header {
			max-width: 370px;
		}
		section {
			div {
				font-size: 270px;
			}
			svg {
				width: 74px;
			}
		}
	}

	@media (min-width: 1024px) {
		.inner {
			display: flex;
			align-items: center;
			justify-content: center;
			height: var(--jsh);
			padding: 0;
		}
		header {
			text-align: center;
		}
		section div,
		section svg {
			position: absolute;
		}
		section div:nth-child(1) {
			top: 0;
			left: 0;
		}
		section div:nth-child(2) {
			top: 0;
			right: 0;
		}
		section div:nth-child(3) {
			right: 0;
			bottom: 0;
		}
		section svg {
			left: 0;
			bottom: 60px;
		}
	}

}

@media (min-width: 1024px) {
	body:has(article.page404) header.head {
		display: none;
	}
}

article.career {

	.btn._bd {
		font-size: 15px;
		font-weight: 400;
	}

	section {
		margin-top: var(--gap-between);
	}

	section.vacancies {

		details {
			border-bottom: 1px solid var(--color-border);

			&:first-child {
				border-top: 1px solid var(--color-border);
			}
		}
		summary {
			cursor: pointer;
			list-style: none;
			display: grid;
			align-items: center;
			grid-template-columns: 1fr 32px;
			gap: 20px;
			height: 100px;

			&::marker {
				display: none;
		    content: '';
		  }
			&::-webkit-details-marker {
				display: none !important;
			}
			h3 {
				font-size: 20px;
			}
			path:first-child {
				transition: opacity 300ms linear;

				summary.opened & {
					opacity: 0;
				}
			}
		}
		.details_wrapper {
			position: relative;
			height: 0;
			overflow: hidden;
			transition: all 300ms linear;
		}
		.details_content {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			padding: 20px 0;
		}

		@media (max-width: 1023px) {
			.columns {
				gap: 30px;
			}
		}

		@media (min-width: 630px) and (max-width: 1023px) {
			summary h3 {
				font-size: 25px;
			}
			.details_content {
				padding: 30px 0;
				font-size: 20px;

				ul {
					margin-top: 10px;
				}
			}
		}

	}

	section.practice {

		.btn {
			margin-top: 15px;
		}
		picture {
			margin-top: 25px;
		}

	}

	section.contests {

		.btn {
			margin-top: 15px;
		}

	}

	@media (min-width: 630px) and (max-width: 1023px) {
		.btn._bd {
			margin-top: 20px !important;
			height: 48px;
			font-size: 20px;
		}
	}

}

.mediaList {

	.mediaList_row {
		display: grid;
		gap: 40px;
	}
	.mediaList_item {

		picture {
			aspect-ratio: 314 / 200;
		}
		.caption {
			margin-top: 10px;
			display: grid;
			grid-template-columns: 110px 1fr;
			gap: 5px;
			font-size: 15px;
			line-height: normal;

			.title {
				opacity: 0.5;
			}
			.text {
				-webkit-line-clamp: 3;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				overflow: hidden;
			}
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		.mediaList_row {
			gap: 60px;
		}
		.mediaList_item {
			picture {
				aspect-ratio: 478 / 275;
			}
			.caption {
				grid-template-columns: 190px 1fr;
				font-size: 18px;
			}
		}
	}

	@media (min-width: 768px) {
		.mediaList_row {
			grid-template-columns: 1fr 1fr;
		}
	}

	@media (min-width: 1280px) {
		.mediaList_row {
			grid-template-columns: repeat(3, 1fr);
		}
		.mediaList_item .caption {
			grid-template-columns: 140px 1fr;
		}
	}

	@media (min-width: 1600px) {
		.mediaList_row {
			gap: 40px 70px;
		}
		.mediaList_item .caption {
			.text {
				font-size: 20px;
			}
		}
	}

	@media (hover: hover) {
		picture {
			position: relative;
		}
		picture::after {
			content: 'Подробнее…';
			display: flex;
			align-items: flex-end;
			justify-content: flex-end;
			position: absolute;
			inset: 0;
			padding: 20px;
			font-size: 14px;
			color: var(--color-light);
			background: var(--color-brand);
			transition: all 500ms linear;
			opacity: 0;
		}
		.mediaList_item:hover picture::after {
			opacity: 1;
		}
	}

}

aside.mediaList {
	margin-top: var(--gap-between);
}

article.mediaEntry {

	section {
		.columns {
			gap: 30px;
		}
		.side p:not(:first-child) {
			margin-top: 10px;
		}
		figure {
			margin: 35px 0;

			figcaption {
				margin-top: 10px;
				opacity: 0.5;
				font-size: 13px;
				line-height: normal;
			}
			& + p {
				margin-top: 0;
			}
		}
		footer {
			margin-top: 25px;

			.download {
				display: grid;
				align-items: center;
				grid-template-columns: 16px auto;
				gap: 14px;

				.text {
					text-decoration: underline;
					transition: all 300ms linear;
				}
				&:hover .text {
					text-decoration-color: transparent;
				}
			}
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		h1 {
			margin-bottom: 30px;
			font-size: 30px;
		}
		section .side {
			font-size: 20px;
		}
		section figure {
			margin: 30px 0;

			figcaption {
				font-size: 18px;
			}
		}
	}

	@media (min-width: 1024px) and (max-width: 1399px) {
		section .side {
			font-size: 16px;
		}
	}

	@media (min-width: 1400px) {
		header h1 {
			margin-bottom: 40px;
			font-size: 45px;
		}
		section {
			figure {
				margin: 50px 0;

				figcaption {
					font-size: 16px;
				}
			}
			footer {
				margin-top: 50px;
			}
		}
	}

	@media (min-width: 1600px) {
		header h1 {
			margin-bottom: 60px;
		}
	}

}

article.services {

	header {
		margin-bottom: var(--gap-between);
	}

	article {
		margin-top: 50px;

		picture {
			margin-bottom: 20px;

			img {
				filter: saturate(65%);
			}
		}
		.side .h1 {
			margin-bottom: 20px;
		}
		.main li {
			padding: 10px 0;
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		article {
			margin-top: 100px;

			.side .h1 {
				margin-bottom: 12px;
				font-size: 30px;
			}
		}
	}

	@media (min-width: 1280px) {
		article {
			margin-top: 100px;

			picture {
				margin-bottom: 40px;
				height: 510px;
			}
			.side .h1 {
				margin-bottom: 12px;
			}
		}
	}

	@media (min-width: 1600px) {
		article {
			margin-top: 150px;

			picture {
				margin-bottom: 20px;
				height: 550px;
			}
		}
	}

}

.modal {
	display: none;
	width: 82%;
	max-width: 1000px;
	margin: auto;
	padding: 60px 20px;

	h1 {
		text-align: center;
	}
	form {
		display: grid;
		gap: 40px 20px;
		max-width: 546px;
		margin: 30px auto 0;
		font-size: 16px;

		input {
			border-top: 0;
			border-left: 0;
			border-right: 0;
			border-bottom-color: #000;
		}
		button {
			width: 100%;
			height: 68px;
		}
	}

	.fancybox-slide--html:has(&) {
		padding: 0;
	}
	.close {
		cursor: pointer;
		position: absolute;
		top: 25px;
		right: 25px;
		width: 30px;
		height: 30px;
		padding: 5px;
		background: none;
		border: none;

		svg {
			width: 100%;
		}
	}

	@media (min-width: 1024px) {
		margin: 100px auto;
		padding: 60px 40px;

		h1 {
			margin-bottom: 30px;
			font-size: 45px;
		}
		form {
			grid-template-columns: 1fr 1fr;
		}
		.fw {
			grid-column: 1 / -1;
		}
	}

}

#modalSuccess {
	max-width: 454px;
	padding: 0;
	font-size: 18px;
	text-align: center;
	line-height: normal;

	.row {
		height: 200px;
		padding: 60px 40px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	@media (min-width: 1024px) {
		font-size: 22px;
	}
}

.cloudFilters {
	position: sticky;
	bottom: 20px;
	margin-top: 40px;
	padding: 0;
	z-index: 1;

	form {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		font-size: 16px;
	}
	label input + div {
		display: flex;
		align-items: center;
		height: 42px;
		padding: 0 15px;
		border-radius: 5px;
		border: 1px solid var(--color-border);
		transition: all 300ms linear;
		background: var(--color-light);

		&::before,
		&::after {
			display: none;
		}
		&:hover {
			color: var(--color-light);
			background: var(--color-brand);
			border-color: var(--color-brand);
		}
	}
	label input:checked + div {
		color: var(--color-light);
		border-color: var(--color-brand);
		background: var(--color-brand);
	}

	@media (max-width: 1023px) {
		form {
			gap: 10px;
		}
	}

	@media (min-width: 630px) and (max-width: 1023px) {
		form {
			flex-wrap: nowrap;
		}
	}

}
/* End */
/* /_/plg/fancybox/jquery.fancybox.min.css?176598258012795 */
/* /_/plg/formstyler/jquery.formstyler.css?17659825792175 */
/* /_/css/main.css?176651760643352 */
