:root{

	--text-color: #fff;
	--body-color: #000;

	--section-padding: 96px;
}


/*@font-face {
	font-family: "TildaSans-VF";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local("TildaSans-VF"),
	url("../fonts/TildaSans-VF.ttf") format("ttf"),
	url("../fonts/TildaSans-VF.woff2") format("woff2"),
	url("../fonts/TildaSans-VF.woff") format("woff");
}*/

@font-face {
	font-family: 'TildaSans';
	src: url('../fonts/TildaSans-Bold/TildaSans-Bold.eot');
	src:
	url('../fonts/TildaSans-Bold/TildaSans-Bold.eot?#iefix') format('embedded-opentype'),
	url('../fonts/TildaSans-Bold/TildaSans-Bold.woff2') format('woff2'),
	url('../fonts/TildaSans-Bold/TildaSans-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'TildaSans';
	src: url('../fonts/TildaSans-Medium/TildaSans-Medium.eot');
	src:
	url('../fonts/TildaSans-Medium/TildaSans-Medium.eot?#iefix') format('embedded-opentype'),
	url('../fonts/TildaSans-Medium/TildaSans-Medium.woff2') format('woff2'),
	url('../fonts/TildaSans-Medium/TildaSans-Medium.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'TildaSans';
	src: url('../fonts/TildaSans-Regular/TildaSans-Regular.eot');
	src:
	url('../fonts/TildaSans-Regular/TildaSans-Regular.eot?#iefix') format('embedded-opentype'),
	url('../fonts/TildaSans-Regular/TildaSans-Regular.woff2') format('woff2'),
	url('../fonts/TildaSans-Regular/TildaSans-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


body{
	font-family: "TildaSans", 'Arial', sans-serif;
	font-optical-sizing: auto;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	max-width: 2048px;
	margin-left: auto;
	margin-right: auto;
	color: var(--text-color);
	background-color: var(--body-color);
	position: relative;
}

body.menu-open{
	height: 100vh;
	overflow: hidden;
}

ul,ol{
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6{
	line-height: 1.4;
}

img {
	max-width: 100%;
	height: auto;
}



.link-absolute{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 2;
}


.section-btn {
	margin: 48px 0;
	text-align: center;
	position: relative;
	z-index: 2;
}

input.btn,
a.btn {
	color: #fff;
	display: inline-block;
	font-size: 20px;
	border: 2px solid #ffff;
	border-radius: 30px;
	background: #000;
	padding: 12px 30px;
	font-weight: 600;
	min-width: 300px;
	text-align: center;
	transition: all .2s;
}

input.btn:hover,
a.btn:hover {
	color: #000;
	text-decoration: none;
	background-color: #c8c8c8;
}




.wp-content *:last-child {
	margin-bottom: 0;
}

.section{
	position: relative;
	padding: var(--section-padding) 0;
	display: flex;
	align-items: center;
	min-height: 100vh;
	background-size: cover;
	background-position: center;
}

.section .container{
	position: relative;
	z-index: 5;
}

.section-title{
	font-size: 80px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	margin-bottom: 48px;
}


.mobile-menu-button {
	display: none;
	cursor: pointer;
	padding: 19px 0;
	width: 28px;
	flex-shrink: 0;
	margin-right: 0;

	margin-left: 15px;
}

.mobile-menu-button span {
	display: block;
	height: 3px;
	position: relative;
	transition: all .3s ease
}

.mobile-menu-button span:before,
.mobile-menu-button span:after {
	display: block;
	content: '';
	left: 0;
	right: 0;
	height: 3px;
	position: absolute;
	left: 0;
	transition: all .25s ease
}

.mobile-menu-button span:before,
.mobile-menu-button span:after,
.mobile-menu-button span {
	transform: rotate(0);
	background: #fff;
	border-radius: 8px;
}

.mobile-menu-button span:before {
	top: -9px
}

.mobile-menu-button span:after {
	bottom: -9px
}

.mobile-menu-button.active span {
	background: 0 0
}

.mobile-menu-button.active span:before {
	transform: translate(0px,9px) rotate(-45deg)
}

.mobile-menu-button.active span:after {
	transform: translate(0px,-9px) rotate(45deg)
}


.main-header{
	background-color: rgba(0, 0, 0, .5);
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 99;
}

.logo-container{
/*	width: 326px;*/
}



.logo{
	width: 50px;
	display: block;
}

.main-header-container{
	gap: 24px;
	display: flex;
	align-items: center;
	height: 100px;
	padding: 0 48px;
}

.menu-wrap{
	flex: 1;
	display: flex;
	align-items: center;
}

.main-header .menu{
	margin-left: auto;
	margin-right: auto;
	display: flex;
	gap: 48px;
}

.main-header .menu li{
	display: block;
	list-style: none;
}

.main-header .menu li a{
	transition: color .2s;
}

.main-header .menu li a:hover{
	color: rgba(255, 255, 255, .6);
}

.main-header a{
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	font-weight: 600;
}

/*
.main-header .popup-btn{
	display: inline-block;
	font-size: 16px;
	padding: 12px;
	border-radius: 40px;
	border: 2px solid #fff;
}
*/

.main-header .popup-btn{
	border-bottom: 1px solid rgb(255 255 255 / 60%);
}

.main-header-contacts {
	display: flex;
	align-items: center;
	gap: 24px;
}

.main-header-contacts {
	flex-direction: column;
	gap: 0;
	align-items: flex-end;
}

.main-header .popup-btn {
	font-size: 16px;
}

.banner{
	padding: var(--section-padding) 0;
	padding-top: 112px;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	display: flex;
	align-items: center;
}

.banner.full-height{
	min-height: 100vh;

}



.section-overlay,
.banner-overlay{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.6));
}

.banner-content{
	position: relative;
	z-index: 2;
}


.banner-content .company-name {
	font-weight: bold;
	font-size: 100px;
	letter-spacing: 1px;
	line-height: 120px;
	font-size: 80px;
	line-height: 1.2;
}



.banner-content .btn{
	margin: 0 0 24px 0;
}

.banner-list {
	display: flex;
	justify-content: space-between;
	margin-top: 96px;
	font-weight: 700;
	font-size: 35px;
	line-height: 42px;
}

.banner-list .list-item:hover {
	color: rgba(255, 255, 255, .6);
}

.banner-list .list-item {
	transition: color .2s;
	color: #fff;
	text-decoration: none;
}

.banner-title{
	font-size: 60px;
	line-height: 1.2;
	font-weight: 700;
	margin-bottom: 12px;
}

.home .banner-title {
	font-size: 90px;
}

.banner-content .banner-slogan {
	font-size: 29px;
	line-height: 35px;
	max-width: 80%;
	margin: 24px 0;
}

.home .banner-content .banner-slogan {

	max-width: 575px;
}

.breadcrumbs-container {
	position: absolute;
	bottom: 48px;
	bottom: 72px;
	z-index: 4;
	left: 0;
	right: 0;
	font-size: 16px;
}

.breadcrumbs-container a {
	color: #fff;
	text-decoration: none;
}

.breadcrumbs-container .kb_title {
	color: #999;
}

.breadcrumbs-container .kb_sep {
	margin: 0 3px;
}


.about-items{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.about-items .about-item{
	border: 2px solid rgba(255, 255, 255, .5);
	background-color: rgba(0, 0, 0, .5);
	border-radius: 30px;
	padding: 48px 32px;
	text-align: center;
}

.about-items .about-item .about-title{
	font-size: 45px;
	line-height: 1;
	margin-bottom: 48px;
	font-weight: bold;
}

.about-items .about-item p{
	margin: 0;
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
}


.work-scheme-items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 80px;
}

.work-scheme-item {
	position: relative;
}

.work-scheme-item .item-no {
	--size: 160px;
	width: var(--size);
	height: var(--size);
	border: 2px solid #fff;
	border-radius: 40px;
	margin-bottom: 48px;
}

.work-scheme-item .item-no img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.work-scheme-item .work-scheme-title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px;
}

.work-scheme-item p {
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
}

.work-scheme-item:before {
	content: '';
	height: 2px;
	width: 138px;
	background: #fff;
	position: absolute;
	top: 80px;
	left: 160px;
}

.work-scheme-item:last-child:before {
	display: none;
}



.section-blur-top {
	position: absolute;
	top: -96px;
	left: 0;
	right: 0;
	bottom: 0;
	height: calc(var(--section-padding) * 2);
	background: #000;
	z-index: 3;
	filter: blur(46px);
}


.section-blur-top.half{
	top: -48px;
	filter: blur(23px);
	height: var(--section-padding);
}

.pt-half{
	padding-top: 48px;
	padding-bottom: 48px;
	min-height: 0;
}

.service-items.slick-slider {
	display: block;
}

.slick-slider .service-item{
	margin-left: 12px;
	margin-right: 12px;
}

.slick-track{
	display: flex !important;
}

.slick-slide{
	height: inherit !important;
}


.service-items{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}


.service-item {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	border: 2px solid rgba(255, 255, 255, .5);
}

.service-item .service-content {
	padding: 36px 24px;
	height: 100%;
	background: rgba(0,0,0,.5);
}

.service-item .service-img {

}

.service-item .service-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.service-item .service-title {
	font-size: 24px;
	/* min-height: 48px; */
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px;
}

.service-item p {
	margin: 0;
	font-size: 18px;
	line-height: 20px;
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
}




.blog-items{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}


.blog-item {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	border: 2px solid rgba(255, 255, 255, .5);
}

.blog-item .blog-content {
	padding: 36px 24px;
	height: 100%;
	background: rgba(0,0,0,.5);
}

.blog-item .blog-img {

}

.blog-item .blog-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.blog-item .blog-title {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px;
	min-height: 48px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.blog-item p {
	margin: 0;
	font-size: 18px;
	line-height: 20px;
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.blog-header{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	margin-bottom: 12px;
}

.blog-header,
.blog-header a{
	color: rgba(255,255,255,0.8);
}


.contacts-section {
	position: relative;
	padding-top: var(--section-padding);
}

.contacts-section .container{
	position: relative;
}


.contacts-section .map-container {
	filter: invert(100%);
}

.contacts-section .map-container iframe {

}

.contacts-section .container {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 9;
}

.contacts-section .contacts-wrap {
	position: absolute;
	top: 50%;
	z-index: 2;
	padding: 48px;
	background: #000;
	width: auto;
	transform: translateY(-50%);
}

.contacts-section .contacts-wrap {
	padding: 36px;
	background: rgba(0, 0, 0, .5);
	border-radius: 30px;
	border: 2px solid rgba(255, 255, 255, .5);
	min-width: 350px;
}

.contact-item {
	margin-bottom: 24px;
	max-width: 600px;
}

.contact-item:last-child {
	margin-bottom: 0;
}

.contact-item h5 {
	font-size: 20px;
	margin-bottom: 8px;
	font-weight: 600;
}

.contact-item p {
	font-size: 16px;
	margin-bottom: 0;
}


.contact-item a {
	display: block;
	color: #fff;
	text-decoration: none;
}

.contact-item a.popup-btn {
	border-bottom: 1px solid rgb(255 255 255 / 60%);
	display: inline-block;
}


.contact-title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px;
}


/*.main-footer{
	padding: 0 48px;
}*/

.footer-container {
	display: flex;
	justify-content: space-between;
	padding: 48px 0;
	align-items: center;
}

.footer-menu {
	display: flex;
	gap: 48px;
}

.footer-menu li {
	display: block;
	list-style: none;
}

.footer-menu li a {
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	font-weight: 600;
}

.main-footer a {
	color: #fff;
	text-decoration: none;
}

.footer-info {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
	padding: 48px 0;
	border-top: 1px solid rgba(2558,255,255,.6);
}

.footer-info .main-footer-contacts {
	display: flex;
	flex-direction: column;
}

.footer-info p {
	margin: 0;
}

.footer-copyright {
	opacity: .6;
	text-align: right;
}

.footer-info .main-footer-contacts .phone {
	text-decoration: none;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
}




.popup-form-cont {
	position: relative;
	margin: auto;
	background: #000;
	color: #fff;
	max-width: 480px;
	border-radius: 30px;
	border: 2px solid rgba(255, 255, 255, .5);
	padding: 36px 24px;
}

.popup-form-cont .form-title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 36px;
}

.popup-form-cont .mfp-close {
	color: #fff;
	top: 12px;
	right: 12px;
}

.popup-form-cont .wpcf7-textarea,
.popup-form-cont .wpcf7-text {
	font-size: 18px;
	display: block;
	padding: 12px;
	margin-bottom: 24px;
	border-radius: 12px;
	border: 0;
	background: #fff;
	color: #000;
	width: 100%;
	line-height: 24px;
	outline: none;
}

.popup-form-cont .wpcf7-textarea{
	height: 96px;
	resize: vertical;
}

.popup-form-cont .wpcf7-spinner {
	position: absolute;
}

.popup-form-cont .btn {
	margin-top: 12px;
	border-radius: 12px;
}




.wpcf7-not-valid-tip {
	margin: -12px 0 24px;
	font-size: 16px;
}






.wp-content h2 {
	font-size: 32px;
	margin-bottom: 24px;
}

.wp-content p {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 12px;
}

.wp-content p + * {
	margin-top: 24px;
}

.wp-content h3 {
	font-size: 28px;
	margin-bottom: 24px;
}

.wp-content h4 {
	font-size: 22px;
	margin-bottom: 24px;
}

.wp-content ol {
	padding-left: 30px;
	margin-bottom: 20px;
}

.wp-content ul {
	padding-left: 0;
	margin-bottom: 20px;
}

.wp-content ol li, .wp-content ul li {
	margin: 5px 0;
}

.wp-content ul li {
	padding-left: 30px;
	display: block;
	position: relative;
}

.wp-content ul li:before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	left: 15px;
	top: 10px;
}

.gallery {
	margin-left: -15px;
	margin-right: -15px;
	font-size: 0;
}

.gallery img {
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 16px;
	aspect-ratio: 1;
	object-fit: cover;
}



.gallery .gallery-item {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px;
	text-align: center;
	width: 33.33333333%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33.33333333%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.66666667%;
}

.wp-content {
	font-size: 18px;
}

.table-wrap {
	width: 100%;
	margin-bottom: 24px;
	overflow-x: auto;
}

table {
	min-width: 600px;
	width: 100%;
	line-height: 24px;
	margin: 24px 0;
}

table tr {
	/* border: 1px solid rgba(255,255,255,.6); */
}

table tr td {
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, .6);
}

table thead {
	background: #fcfcfc;
	font-weight: bold;
}


.slick-dots li.slick-active button:before {
	color: #fff;
}

.slick-dots li button:before {
	color: #fff;
}






button.slick-arrow {
	background: transparent;
	border: 0;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	transition: all .2s;
}

button.slick-arrow:hover{
	background-color: #fff;
}

button.slick-arrow:hover svg{
	fill: #000;
}

button.slick-arrow svg {
	width: 20px;
	height: 20px;
	fill: #fff;
	transition: all .2s;
}

button.slick-design-prev{
	left: -60px;
}

button.slick-design-next{
	right: -60px;
}


.pagination {
	--size: 14px;
	color: var(--tect-color);
	text-align: center;
	font-size: 16px;
	line-height: 20px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 20px 0;
}

.pagination svg {
	fill:#fff;"
	width: var(--size);
	height: var(--size);
	vertical-align: -1px;
}

.pagination a {
	color: var(--text-color);
	text-decoration: none;
}

.pagination .page-numbers {
	width: 22px;
}

.pagination .page-numbers.current {
	color: var(--main-color);
}






.main-service-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-columns: repeat(2, 450px);
	justify-content: center;
	gap: 24px;
}

.main-sevice-item {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	border: 2px solid rgba(255, 255, 255, .5);
}

.main-sevice-item .main-sevice-content{
	padding: 36px 24px;
	height: 100%;
	background: rgba(0, 0, 0, .5);
}

.main-sevice-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.main-sevice-item .main-sevice-title {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 24px;
	/*min-height: 48px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;*/
}

.main-sevice-item a {
	color: #fff;
	text-decoration: none;
}

.main-sevice-item .main-sevice-list {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.main-sevice-item .main-sevice-list li {
	display: block;
	margin-bottom: 12px;
}

.main-sevice-item .main-sevice-list li:last-child {
	margin-bottom: 0;
}