@font-face {
 font-family: 'circe';
 src: url('/static/fonts/CirceThin.woff') format('woff');
 font-weight: 100;
 font-display: swap;
}
@font-face {
 font-family: 'circe';
 src: url('/static/fonts/CirceLight.woff') format('woff');
 font-weight: 300;
 font-display: swap;
}
@font-face {
 font-family: 'circe';
 src: url('/static/fonts/Circe.woff') format('woff');
 font-weight: 400;
 font-display: swap;
}
@font-face {
 font-family: 'circe';
 src: url('/static/fonts/CirceBold.woff') format('woff');
 font-weight: 700;
 font-display: swap;
 font-style: bold;
}

.contacts a {
	color: #000;
}

#top {
	display: inline-block;
	background-color: rgba(0,187,0,0.8);
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 3px;
	position: fixed;
	bottom: 30px;
	right: 30px;
	transition: background-color .3s, opacity: .5s, visibility: .5s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	font-size: 2.3em;
	color: #FFF;
}

#top::after {
	font-size: 2em;
	line-height: 50px;
	color: #FFF;
}

#top:hover {
	cursor: pointer;
	background-color: rgba(0,187,0,1);
}

#top:active {
	cursor: pointer;
	background-color: rgba(0,187,0,1);
}

#top.show {
	opacity: 1;
	visibility: visible;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: #f0f0f0;
	font-family: 'circe', Arial, sans-serif;
}

a, b, code, div, h1, h2, h3, h4, h5, h6,
i, img, p, pre, span, table, td, th, tr,
u, video {
	margin: 0;
	padding: 0;
	border: 0;
}

h1 {
	font-size: 16px;
}

h2 {
	font-size: 30px;
}

.container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.container::before, .container::after {
	display: table;
	content: " ";
}

.wrapper {
	background-color: #f0f0f0;
}

.center {
	text-align: center;
}

.middle {
	display: table-cell;
	vertical-align: middle;
}

.col {
	display: inline;
	float: left;
	margin-left: 20px;
	margin-right: 20px;
	width: 100%;
}

.col-4 {
	max-width: 360px;
}

.col-6 {
	max-width: 560px;
}

.col-8 {
	max-width: 760px;
}

.col-12 {
	max-width: 1160px;
}

.card {
	width: 20rem;
	position: relative;
	display: inline-flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #eee;
	background-clip: border-box;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: 0.25rem;
	margin: 1rem;
}

.card .card-body {
	flex: 1 1 auto;
	padding: 1.25rem;
}

.card .card-body .card-title {
	margin-bottom: .75rem;
	font-size: 1.25rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

.card .card-body .card-text {
	margin-top: 0;
	text-align: left;
	box-sizing: border-box;
	word-wrap: break-word;
	margin-bottom: 1rem;
}

.title {
	margin-bottom: 16px;
	font-size: 42px;
	line-height: 1.23;
	font-weight: 600;
	color: #202020;
}

.subtitle {
	color: #666;
	margin-bottom: 28px;
	font-size: 16px;
	line-height: 1.55;
	font-weight: 300;
}

.descr {
	margin: 28px auto auto auto;
	font-size: 20px;
	line-height: 1.55;
	font-weight: 300;
	color: #202020;
}

img.responsive {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.about img.responsive {
	max-width: 560px;
}

nav.mobile {
	display: none;
	position: static;
	z-index: 990;
	top: 0;
	background-color: #000;
	margin: 0 auto;
	overflow: auto;
	min-width: 200px;
}

nav.mobile .container {
	position: relative;
	max-width: 100%;
	padding: 10px;
}

nav.mobile .title {
	display: table-cell;
	color: #fff;
	vertical-align: middle;
	font-size: 16px;
}

nav.mobile .logo {
	display: table-cell;
	width: 40px;
	padding-right: 15px;
}

nav.mobile .logo img {
	height: 40px;
}

nav.mobile .burger {
	position: absolute;
	top: 50%;
	margin-top: -10px;
	right: 40px;
	width: 28px;
	height: 20px;
	transform: rotate(0deg);
	cursor: pointer;
	z-index: 1004;
}

nav.mobile .burger span {
	display: block;
	position: absolute;
	width: 100%;
	opacity: 1;
	left: 0;
	transform: rotate(0deg);
	transition: 0.25s ease-in-out;
	height: 3px;
	background-color: #fff;
}

nav.mobile .burger span:nth-child(1) {
	top: 0px;
}

nav.mobile .burger span:nth-child(2),
nav.mobile .burger span:nth-child(3) {
	top: 8px;
}

nav.mobile .burger span:nth-child(4) {
	top: 16px;
}

nav.mobile.opened .burger span:nth-child(1) {
	top: 8px;
	width: 0%;
	left: 50%;
}

nav.mobile.opened .burger span:nth-child(2) {
	transform: rotate(45deg);
}

nav.mobile.opened .burger span:nth-child(3) {
	transform: rotate(-45deg);
}

nav.mobile.opened .burger span:nth-child(4) {
	top: 8px;
	width: 0%;
	left: 50%;
}

nav.menu {
	display: none;
	height: auto;
	width: 100%;
	text-align: center;
	margin: 0;
	padding: 0;
	position: static;
	background-color: #00bb00;
}

nav.menu .wrapper {
	background-color: #0b0;
}

nav.menu .wrapper ul,
nav.menu .wrapper ul li {
	display: block;
}

nav.menu .wrapper ul li a {
	margin: 20px;
	padding: 15px;
	display: block;
	font-size: 24px;
}

nav.regular {
	display: block;
	position: absolute;
	width: 100%;
	z-index: 990;
	top: 0;
	background-color: rgba(0,187,0,0.8);
	transition: background-color 300ms linear;
	height: 100px;
	margin: 0 auto;
}

nav.regular .container {
	height: 100px;
	position: relative;
	max-width: 1200px !important;
}

nav.regular .container .logo_wrapper {
	left: 50%;
	position: absolute;
	display: table;
	height: inherit;
}
nav.regular .container .logo_wrapper div {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	left: -50%;
	z-index: 100;
}

nav.regular .container .logo_wrapper div img {
	height: 175px;
}

nav.regular .container .left, nav.regular .container .right {
	width: 50%;
	box-sizing: border-box;
	position: absolute;
	height: 100%;
}

nav.regular .container .left {
	padding-left: 20px;
	padding-right: 130px;
	left: 0;
}

nav.regular .container .left > div,
nav.regular .container .right > div {
	display: inline-table;
	height: 100%;
	vertical-align: middle;
}


nav.regular ul,
nav.menu ul{
	margin: 0;
	list-style-type: none;
	padding: 0 !important;
	display: table-cell;
	vertical-align: middle;
}

nav.regular ul li:first-child {
	padding-left: 0;
}

nav.regular ul li,
nav.menu ul li {
	clear: both;
	font-size: 16px;
	display: inline-block;
	padding-left: 15px;
	margin: 0;
	white-space: nowrap;
}

nav a {
	color: #fff;
}

nav.regular ul li a,
nav.menu ul li a {
	position: relative;
	text-decoration: none;
	font-weight: 700;
}

nav.regular ul li a::after,
nav.menu ul li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 20%;
	opacity: 0;
	width: 100%;
	height: 100%;
	border-bottom: 1px solid #fff;
	box-shadow: inset 0px -1px 0px 0px;
	transition: all 0.3s ease;
}

nav.regular ul li a:hover::after,
nav.menu ul li a:hover::after {
	opacity: 1;
	bottom: -1px;
}

nav.regular .right {
	padding-right: 20px;
	padding-left: 110px;
	right: 0;
	text-align: right;
}

nav.regular .right > div > div {
	padding-left: 30px;
	display: table-cell;
	vertical-align: middle;
	white-space: nowrap;
	color: #fff;
	font-size: 20px;
}

nav.regular .right ul li {
	padding: 0 10px;
	font-size: 16px;
}

section .container {
	margin-bottom: 50px;
	overflow: auto;
}

section.intro {
	height: 100vh;
	width: 100%;
	background-size: cover;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
	position: relative;
	background-attachment: fixed;
	overflow: hidden;
}

section.intro {
	background-image: url('/static/imgs/intro_bg.jpg');
        background-image: image-set(url('/static/imgs/intro_bg.avif') type('image/avif'), url('/static/imgs/intro_bg.webp') type('image/webp'), url('/static/imgs/intro_bg.jpg') type('image/jpeg'));
}



section.intro .banner {
	max-width: 480px;
	position: absolute;
	padding: 50px 54px 60px;
	bottom: 0;
	right: 0;
}

section.intro .banner .content {
	position: relative;
	z-index: 1;
	text-align: left;
}

section.intro .banner .content .subtitle {
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 14px;
	font-weight: 600;
	letter-spacing: 2.5px;
}

section.intro .banner .content .title {
	font-weight: 600;
	color: #fff;
	margin-bottom: 22px;
	line-height: 1.2;
	font-size: 30px;
}

section.intro .banner .content .descr {
	font-weight: 300;
	font-size: 18px;
	line-height: 1.55;
	color: #fff;
}

section.intro .banner .bg {
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	position: absolute;
	background-color: rgba(0, 187, 0, 0.9);
}

section.about, section.advantages {
	padding-top: 80px;
	padding-bottom: 80px;
	overflow: auto;
}

section.about .col:first-child {
	margin-top: 12ex;
}

section.about .col {
	text-align: center;
}

section.about .wrapper .middle {
	height: 560px;
}

section.about .wrapper hr {
	width: 40px;
	border: 2px solid #0b0;
}

section.partners {
	padding-top: 65px;
	padding-bottom: 60px;
}

section.partners .container.title {
	padding-bottom: 60px;
	overflow: auto;
}

section.partners .container.title .col {
	padding-left: 200px;
}

section.partners .container.solutions {
	overflow: visible;
}

section.partners .solutions .carousel-cell {
	margin: 1em 2em;
	width: 15em;
	text-align: center;
}

section.partners .solutions .carousel-cell div {
	display: table-cell;
	vertical-align: middle;
	height: 15ex;
}

section.partners .solutions .carousel-cell img {
	width: 30ex;
	margin: 12px;
}

section.partners .solutions .carousel-cell img:hover {
	width: 35ex;
	margin: 5px;
	transition: width 1s, margin 1s;
}

section.partners .container.solutions .wrapper {
	background-color: #fff;
}

section.partners .container.solutions .block {
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	width: 50%;
}

section.partners .container.solutions .title {
	max-width: 360px;
	padding: 0px 10px;
	margin: 0 auto;
	font-size: 36px;
}

section.partners .container.solutions .descr {
	padding: 20px 10px 0px 10px;
	max-width: 360px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 25px;
	opacity: 0.7;
}

section.advantages, section.advantages .wrapper {
	background-color: #eaeaeaea;
}

section.advantages .wrapper {
	display: table;
}

section.advantages .wrapper i {
	font-size: 2em;
}

section.advantages .col img {
	width: 35px;
	height: auto;
}

section.advantages .elements .col {
	margin-bottom: 40px;
}

section.advantages .elements .col .title {
	padding-left: 10px;
	font-size: 18px;
}

section.advantages .elements .col .descr {
	margin-top: 12px;
	font-size: 16px;
}

section.advantages .elements .separator {
	margin-bottom: 70px;
	clear: both;
}

section.contacts {
	background: #ededed;
	padding-top: 80px;
	overflow: auto;
}

footer {
	background-color: #202020;
	height: 100px;
}

footer .descr {
	color: #ededed;
}

@media screen and (min-width:980px) {
	nav.menu {
		display: none !important;
	}
}

@media screen and (max-width:1200px) {
	.col {
		margin-left: 10px;
		margin-right: 10px;
	}
	.col-4 {
		max-width: 300px;
	}
	.col-6 {
		max-width: 460px;
	}
	.col-8 {
		max-width: 620px;
	}
	.col-12 {
		max-width: 940px;
	}

	.container {
		max-width: 960px;
	}

	.title {
		font-size: 38px;
	}

	.subtitle {
		font-size: 14px;
	}

	.descr {
		font-size: 18px;
	}

	section.about .col:first-child {
		margin-top: 0;
		margin-bottom: 30px;
	}

	section.about .wrapper .middle {
		height: 460px;
	}

	section.partners .container.title .col {
		padding-left: 160px;
	}

	section.partners .container.solutions .title {
		font-size: 32px;
	}

	section.advantages .elements .col .title {
		font-size: 16px;
	}

	section.advantages .elements .col .descr {
		font-size: 14px;
	}
}

@media screen and (max-width:980px) {
	nav.regular {
		display: none;
	}

	nav.mobile {
		display: block;
	}
}

@media screen and (max-width:960px) {
	.col {
		display: block;
		float: none;
		margin: 0;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
	}

	.col, .col-4, .col-6, .col-8, .col-12 {
		width: 100%;
		max-width: 100%;
	}

	.container {
		max-width: 640px;
	}

	section.about .wrapper .middle {
		height: auto;
	}

	section.partners .container.title .col {
		padding-left: 20px;
	}

	section.advantages .elements .separator {
		display: none;
	}
}

@media screen and (max-width:640px) {
	.wrapper {
		display: inline;
	}

	section.partners .container.solutions .block {
		display: block;
		width: 100%;
	}

	section.partners .container.solutions .title {
		padding-top: 30px;
	}

	section.partners .container.solutions .descr {
		padding-bottom: 30px;
		font-size: 14px;
	}
}


/* Static v2: no JavaScript dependencies. */
.icon { width: 1em; height: 1em; fill: currentColor; vertical-align: -0.125em; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.top-link { display:flex; align-items:center; justify-content:center; opacity:.85; visibility:visible; text-decoration:none; }
.top-link .icon { width:.65em; height:.65em; }
.mobile-nav { display:none; position:relative; z-index:1005; background:#000; color:#fff; }
.mobile-nav summary { list-style:none; display:flex; align-items:center; gap:15px; min-height:60px; padding:10px 20px; cursor:pointer; box-sizing:border-box; }
.mobile-nav summary::-webkit-details-marker { display:none; }
.mobile-nav summary > span:nth-of-type(1) { flex:1; font-weight:600; }
.mobile-nav .burger { width:28px; height:20px; position:relative; flex:0 0 28px; }
.mobile-nav .burger b { position:absolute; left:0; width:100%; height:3px; background:#fff; transition:transform .2s, opacity .2s, top .2s; }
.mobile-nav .burger b:nth-child(1) { top:1px; }
.mobile-nav .burger b:nth-child(2) { top:9px; }
.mobile-nav .burger b:nth-child(3) { top:17px; }
.mobile-nav[open] .burger b:nth-child(1) { top:9px; transform:rotate(45deg); }
.mobile-nav[open] .burger b:nth-child(2) { opacity:0; }
.mobile-nav[open] .burger b:nth-child(3) { top:9px; transform:rotate(-45deg); }
.mobile-nav nav { background:#0b0; text-align:center; }
.mobile-nav nav ul { list-style:none; margin:0; padding:8px 0; }
.mobile-nav nav li { display:block; }
.mobile-nav nav a { display:block; padding:12px 20px; color:#fff; font-weight:700; text-decoration:none; }
.partner-strip { display:flex; gap:2rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; padding:1rem 0 1.5rem; }
.partner { flex:0 0 15rem; scroll-snap-align:center; text-align:center; }
.partner > a > div { display:flex; align-items:center; justify-content:center; height:15ex; }
.partner img { max-width:12rem; max-height:7rem; width:auto; height:auto; margin:12px; }
.partner svg { max-width:12rem; }
@media screen and (max-width:980px) { nav.regular { display:none; } .mobile-nav { display:block; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
