@charset "utf-8";
@font-face {
		font-family: 'Sherika';
		src: url('../fonts/sherika_light.woff') format('woff'), url('../fonts/sherika_light.ttf') format('truetype');
		font-weight: 300;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'Sherika';
		src: url('../fonts/sherika_regular.woff') format('woff'), url('../fonts/sherika_regular.ttf') format('truetype');
		font-weight: normal;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'Sherika';
		src: url('../fonts/sherika_medium.woff') format('woff'), url('../fonts/sherika_medium.ttf') format('truetype');
		font-weight: 500;
		font-style: normal;
		font-display: swap;
}
@font-face {
		font-family: 'Sherika';
		src: url('../fonts/sherika_bold.woff') format('woff'), url('../fonts/sherika_bold.ttf') format('truetype');
		font-weight: bold;
		font-style: normal;
		font-display: swap;
}
:root {
		--font: Sherika, -apple-system, system-ui, "sans-serif";
		--body: #EFEFEF;
		--black: #000000;
		--dark: #020C1C;
		--white: #fff;
		--blue: #4D6BFF;
		--grey: #F9FBFD;
		--darkgrey: #9294A1;
		--blackgrey: #676D77;
		--lightgrey: #A7ADB6;
		--green: #31D974;
		--red: #D93C32;
		--side-padding: 20px;
		--vert-padding: 80px;
		--border: rgba(0, 0, 0, 0.08);
		--duration-hover: .2s;
		--move-hover: -0.25em;
		--header-height: 70px;
		/*--move-timing: cubic-bezier(.05, .43, .43, .94);*/
		--move-timing: cubic-bezier(.05, .29, .82, .91);
		--swiper-arrows: 50px;
		--distance: 50px;
		font-size: 16px;
}
@media only screen and (min-width: 1024px) and (max-width: 1440px) {
		:root {
				font-size: 1.111111vw;
		}
}
@media only screen and (min-width: 1024px) {
		:root {
				--side-padding: 50px;
				--vert-padding: 150px;
				--swiper-arrows: 70px;
		}
}
@media only screen and (min-width: 1280px) {
		:root {
				--side-padding: 80px;
		}
}
html, body {
		height: 100%;
		box-sizing: border-box;
		text-rendering: optimizeLegibility !important;
		-webkit-font-smoothing: antialiased;
}
body {
		margin: 0;
		padding: 0;
		font-weight: normal;
		font-family: var(--font);
		line-height: 1.4;
		font-size: 18px;
		-webkit-text-size-adjust: none;
		display: flex;
		flex-direction: column;
		background: var(--body);
		color: var(--black);
}
body.dark {
		background: var(--black);
		color: var(--white);
}
*, *:before, *:after {
		box-sizing: border-box;
}
form, fieldset {
		margin: 0;
		padding: 0;
		border: 0;
}
input, select, textarea, button {
		font: normal 20px/1.1 var(--font);
		color: var(--black);
		outline: none;
		text-align: left;
}
input[type="text"], input[type="password"], input[type="email"], input[type="color"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="number"], input[type="range"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="week"], textarea, select {
		-webkit-appearance: none;
		border-radius: 0;
		box-shadow: none;
		border-style: solid;
		border-width: 0 0 1.5px 0;
		border-color: rgba(0, 0, 0, 0.12);
		background: none;
		margin: 0;
		padding: 8px 0 14px 0;
		width: 100%;
		display: block;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
		opacity: 1;
		color: rgba(0, 0, 0, 0.5);
}
input::-moz-placeholder, textarea::-moz-placeholder {
		opacity: 1;
		color: rgba(0, 0, 0, 0.5);
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
		opacity: 1;
		color: rgba(0, 0, 0, 0.5);
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
		opacity: 0.5 !important;
}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
		opacity: 0.5 !important;
}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
		opacity: 0.5 !important;
}
input::-ms-clear {
		display: none;
}
button::-moz-focus-inner {
		border: 0;
}
textarea {
		resize: vertical;
		height: 88px;
		min-height: 45.5px;
}
video {
		-webkit-mask-image: -webkit-radial-gradient(white, black);
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
}
header, nav, section, article, aside, footer, menu, time, figure, figcaption, main {
		display: block;
}
img, svg, picture {
		border: 0;
		vertical-align: top;
}
a {
		color: var(--blue);
		text-decoration: none;
		outline: none;
		cursor: pointer;
}
a[href^=tel] {
		color: inherit !important;
		text-decoration: none !important;
}
strong {
		font-weight: 500;
}
.form-input-info {
		font-size: 16px;
		line-height: 1.1;
		color: var(--blackgrey);
		margin: 5px 0 calc(-1.1em - 5px) 0;
}
.form-input-info.red {
		color: var(--red);
		display: none;
}
input:invalid:not(:placeholder-shown):not(.placeholder) {
		border-bottom-color: var(--red);
}
input:invalid:not(:placeholder-shown):not(.placeholder) ~ .form-input-info {
		display: block;
}
.form-el {
		margin: 0 0 50px 0;
		flex: 0 0 auto;
		width: 100%;
}
.form-label {
		display: inline-block;
		vertical-align: top;
		font-weight: normal;
		color: var(--black);
		font-size: 16px;
		line-height: 1.1;
		text-align: left;
		margin: 0;
		padding: 0;
}
.form-label > * {
		display: inline;
		font: inherit;
		color: var(--blackgrey);
		margin: 0;
		padding: 0;
		outline: none;
		border: 0;
}
.form-label abbr {
		position: relative;
		left: 1em;
}
.form-submit {
		flex: 0 0 auto;
		width: 100%;
		gap: 15px;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		font-weight: normal;
		font-size: 12px;
		line-height: 1.3;
		color: rgba(0, 0, 0, 0.6);
		container-type: inline-size;
		container-name: form-submit;
}
.form-submit a {
		color: var(--black);
}
.form-submit .btn {
		flex: 0 0 auto;
		width: 100%;
}
.form-submit > *:not(.btn) {
		flex: 0 0 auto;
		width: 100%;
		text-align: center;
}
@container form-submit (min-width: 400px) {
		.form-submit .btn {
				width: 200px;
		}
		.form-submit > *:not(.btn) {
				width: calc(100% - 215px);
				text-align: left;
		}
}
.container {
		flex: 0 0 auto;
		width: 100%;
		margin: 0 auto;
		padding: 0 var(--side-padding);
		max-width: 1440px;
}
.menu ul, .menu li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.js_hover div {
		display: inline;
}
@media (pointer:fine) {
		.js_hover {
				--time: 1s;
				line-height: 1 !important;
		}
		.js_hover:not(.btn) div {
				transition: transform var(--duration-hover) ease;
		}
		.btn.js_hover, .js_hover:not(.btn) div {
				transform: translateY(var(--y)) translateZ(0);
		}
		.js_hover div {
				display: inline-flex;
				overflow: hidden;
				backface-visibility: hidden;
				text-shadow: 0 1em 0 currentColor;
		}
		.js_hover span {
				vertical-align: top;
				display: block;
				backface-visibility: hidden;
				transition: transform var(--duration-hover) ease;
				transform: translateY(var(--m)) translateZ(0);
		}
		.js_hover span:nth-child(1) {
				transition-delay: calc(var(--time) / 20 * 0);
		}
		.js_hover span:nth-child(2) {
				transition-delay: calc(var(--time) / 20 * 1);
		}
		.js_hover span:nth-child(3) {
				transition-delay: calc(var(--time) / 20 * 2);
		}
		.js_hover span:nth-child(4) {
				transition-delay: calc(var(--time) / 20 * 3);
		}
		.js_hover span:nth-child(5) {
				transition-delay: calc(var(--time) / 20 * 4);
		}
		.js_hover span:nth-child(6) {
				transition-delay: calc(var(--time) / 20 * 5);
		}
		.js_hover span:nth-child(7) {
				transition-delay: calc(var(--time) / 20 * 6);
		}
		.js_hover span:nth-child(8) {
				transition-delay: calc(var(--time) / 20 * 7);
		}
		.js_hover span:nth-child(9) {
				transition-delay: calc(var(--time) / 20 * 8);
		}
		.js_hover span:nth-child(10) {
				transition-delay: calc(var(--time) / 20 * 9);
		}
		.js_hover span:nth-child(11) {
				transition-delay: calc(var(--time) / 20 * 10);
		}
		.js_hover span:nth-child(12) {
				transition-delay: calc(var(--time) / 20 * 11);
		}
		.js_hover span:nth-child(13) {
				transition-delay: calc(var(--time) / 20 * 12);
		}
		.js_hover span:nth-child(14) {
				transition-delay: calc(var(--time) / 20 * 13);
		}
		.js_hover span:nth-child(15) {
				transition-delay: calc(var(--time) / 20 * 14);
		}
		.js_hover span:nth-child(16) {
				transition-delay: calc(var(--time) / 20 * 15);
		}
		.js_hover span:nth-child(17) {
				transition-delay: calc(var(--time) / 20 * 16);
		}
		.js_hover span:nth-child(18) {
				transition-delay: calc(var(--time) / 20 * 17);
		}
		.js_hover span:nth-child(19) {
				transition-delay: calc(var(--time) / 20 * 18);
		}
		.js_hover span:nth-child(20) {
				transition-delay: calc(var(--time) / 20 * 19);
		}
		.btn.js_hover:hover, a:hover .js_hover {
				--y: var(--move-hover);
		}
		.btn.js_hover:hover span, a:hover .js_hover span {
				--m: calc(1em * -1);
		}
}
.btn {
		-webkit-appearance: none;
		cursor: pointer;
		user-select: none;
		font: normal 16px/1 var(--font);
		text-align: center;
		text-decoration: none;
		outline: none;
		box-shadow: none;
		transform: translate3d(0, 0, 0);
		display: flex;
		align-items: center;
		justify-content: center;
		height: 56px;
		border-radius: 10px;
		border: 0;
		color: var(--color);
		transition-property: transform, background, color;
		transition-duration: var(--duration-hover), 0.5s, 0.5s;
		transition-timing-function: ease, cubic-bezier(0.645, 0.045, 0.355, 1), cubic-bezier(0.645, 0.045, 0.355, 1);
}
.btn-white {
		background-color: var(--white);
		--color: var(--black);
}
.btn-dark {
		background-color: var(--black);
		--color: var(--white);
}
.btn-grey {
		background-color: var(--body);
		--color: var(--black);
}
h1, .h1, h2, .h2, h3, .h3 {
		font-size: 30px;
		font-weight: 300;
		line-height: 1.1;
		word-wrap: break-word;
		hyphens: auto;
		margin: 0 0 10px 0;
		padding: 0;
}
h3, .h3 {
		line-height: 1.2;
		font-size: 24px;
		font-weight: normal;
}
@media only screen and (min-width: 1024px) {
		h1, .h1 {
				font-size: 4rem;
		}
		h2, .h2 {
				font-size: 2.75rem;
		}
		h3, .h3 {
				font-size: 30px;
		}
}
.section {
		display: block;
		margin: 0;
		position: relative;
		padding: var(--vert-padding) 0;
		background-color: var(--body);
		color: var(--black);
}
.section.js_dark {
		background-color: var(--black);
		color: var(--white);
}
.section-inner:not(:first-child) {
		margin-top: var(--vert-padding);
}
@media only screen and (min-width: 1024px) {
		.section-inner:not(:first-child) {
				margin-top: 230px;
		}
}
.link-more {
		display: inline-block;
		vertical-align: top;
		font-weight: normal;
		font-size: 18px;
		letter-spacing: normal;
		text-transform: none;
		line-height: 24px;
		padding-right: 28px;
		min-height: 24px;
		position: relative;
}
.link-more:after {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		width: 24px;
		height: 24px;
		background: url("../img/more-blue.svg") no-repeat 100% 50%;
		background-size: contain;
		margin: -12px 0;
		transition: transform var(--duration-hover) ease;
}
.link-more.white:after {
		background-image: url("../img/more-white.svg");
}
@media (pointer:fine) {
		a.link-more:hover {
				--y: var(--move-hover);
		}
		a.link-more:hover:after {
				transform: translateY(var(--y)) translateZ(0);
		}
}
.mainwrap {
		flex: 0 0 auto;
		width: 100%;
		min-height: 100%;
		position: relative;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		backface-visibility: hidden;
		will-change: transform;
		transform: translate3d(0, 0, 0);
}
@media (pointer:fine) {
		body.smooth {
				height: var(--height);
				overscroll-behavior: none;
				scroll-behavior: auto;
				--top: 0;
		}
		.mainwrap {
				position: fixed;
				top: 0;
				left: 0;
				--top: 0;
				transform: translate3d(0, calc(var(--top) * -1), 0);
		}
		.mainwrap.smooth {
				transition: transform 0.5s var(--move-timing);
		}
}
.js_scroll-progress {
		--percent: 0;
}
.js_scroll-opacity {
		backface-visibility: hidden;
		transition-property: transform, opacity;
		transition-duration: 1.5s;
		transition-timing-function: var(--move-timing);
		transform: translate3d(0, 0, 0);
}
.text.js_scroll-opacity {
		transition-delay: 0.1s;
}
.btns.js_scroll-opacity {
		transition-delay: 0.2s;
}
.js_scroll-opacity:not(.visible) {
		opacity: 0 !important;
		pointer-events: none !important;
		transform: translate3d(0, var(--distance), 0);
}
.swiper-wrapper {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
}
.swiper-slide {
		flex: 0 0 auto;
		list-style: none;
		margin: 0;
		padding: 0;
}
.swiper-arrows {
		z-index: 5;
		position: relative;
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		gap: 10px;
}
.swiper-arrow {
		-webkit-appearance: none;
		cursor: pointer;
		user-select: none;
		width: var(--swiper-arrows);
		height: var(--swiper-arrows);
		flex: 0 0 auto;
		border-radius: 50%;
		background-color: var(--body);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 42.85% auto;
		margin: 0;
		padding: 0;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.swiper-arrow.swiper-button-disabled {
		opacity: 0.5;
		pointer-events: none;
}
.swiper-arrow.prev {
		background-image: url("../img/slider-prev.svg");
}
.swiper-arrow.next {
		background-image: url("../img/slider-next.svg");
}
.swiper-arrows.white .swiper-arrow {
		background-color: var(--white);
}
.counter {
		font-size: 18px;
		line-height: 31px;
		font-weight: normal;
		color: var(--blackgrey);
		min-height: 53px;
}
.counter:before, .counter strong {
		font-weight: 300;
		font-size: 44px;
		line-height: 1.2;
		color: var(--black);
		margin-right: 23px;
		vertical-align: top;
}
.btns {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		margin: 30px 0 0 0;
}
.btns .btn {
		flex: 0 0 auto;
		width: 100%;
}
@media only screen and (min-width: 600px) {
		.btns .btn {
				width: auto;
				min-width: 220px;
		}
}