html {
  scroll-padding-top: 150px;
}
body {
  margin: 0;
  font-family: 'Montserrat', sans-serif;
  cursor: default;
  width: 100%;
  outline: none !important;
  background: #fff;
  color: #000;
}
a {
  text-decoration:none;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
a:active,
a:focus,
a:hover {
  outline: none !important;
}
* {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	scrollbar-width: thin;
  scrollbar-color: rgba(12, 12, 12, 0.36) #D9D9D9;
}
/* для Chrome/Edge/Safari */
*::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}
*::-webkit-scrollbar-track {
  background: rgba(12, 12, 12, 0.36);
}
*::-webkit-scrollbar-thumb {
  background-color: rgba(12, 12, 12, 0.36);
  border-radius: 5px;
  border: 3px solid #D9D9D9;
}
* {
	-webkit-tap-highlight-color: transparent;
}
*:before,
*:after {
  position: absolute;
  content: "";
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none;
}
input::-webkit-input-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
input::-moz-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
input:-moz-placeholder{
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
input:-ms-input-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
textarea::-webkit-input-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
textarea::-moz-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
textarea:-moz-placeholder{
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
textarea:-ms-input-placeholder {
  font-family: 'Montserrat', sans-serif;
  color: rgba(0,0,0,0.35);
}
ol,ul {
  list-style: none;
  margin:0;
  padding:0;
}
p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
.container {
  position: relative;
  width: 100%;
	max-width: 1920px;
	margin: 0 auto;
  padding: 0 150px;
}
.section {
	padding: 250px 0;
	overflow: hidden;
}
.wpcf7 form .wpcf7-response-output {
	font-size: 12px !important;
}
.b24-form-header-padding {
	display: none !important;
}
.b24-form-sign {
	display: none !important;
}
.b24-form-field-agreement .b24-form-control-desc {
	opacity: 1 !important;
}
.b24-form-field-agreement a.b24-form-field-agreement-link {
	color: #000 !important;
	font-size: 14px !important;
	font-weight: 500;
}
.b24-form-padding-side {
	padding: 0 !important;
}
.b24-form-field-agreement .b24-form-control-desc {
	padding: 0 0 0 35px;
}
.b24-form-control-container input[type="checkbox"], .b24-form-control-container input[type="radio"] {
	position: absolute;
	display: block;
	cursor: pointer;
	opacity: 0;
	top: 0;
	left: 0;
}
.b24-form-control-container input[type="checkbox"] ~ .b24-form-control-desc::after {
	background: url(../img/check-default.svg) no-repeat center left;
	background-size: cover;
	border-radius: 2px;
	width: 20px;
	height: 20px;
	top: -2px;
	left: 0;
	cursor: pointer;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b24-form-control-container input[type="checkbox"]:checked ~ .b24-form-control-desc::after {
	background: url(../img/check-default.svg) no-repeat center right;
	background-size: cover;
}
.b24-form-wrapper.b24-from-state-on {
	min-height: 300px !important;
}
.b24-form-success-icon {
	width: 119px !important;
	height: 119px !important;
}
.b24-form-state-container .b24-form-loader, .b24-form-state-container .b24-form-state {
	border-radius: 10px !important;
}
.b24-form-state-container .b24-form-success {
	background-color: #eaffcb !important;
}
.form-succes {
	position: relative;
	display: none;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.form-succes img {
	width: 70px;
	margin: 24px 0;
}
.form-succes h3 {
	font-size: 18px;
	font-weight: 400;
}
.wpcf7-response-output {
	display: none !important;
}
.iti {
	width: 100%;
}

/* --------------------------------
	
	cookie-box
	
-------------------------------- */
.cookie-box {
	position: fixed;
	bottom: 30px;
	right: 30px;
	background: #F8F9F9;
	padding: 24px;
	border-radius: 20px;
	width: 35vw;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 10px 35px rgba(29, 81, 179, 0.18);
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(120%);
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.cookie-box.open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0%);
}
.cookie-box img {
	width: 50px;
	margin: 0 0 16px 0;
}
.cookie-box p {
	font-size: 12px;
	margin: 0 0 12px 0;
}
.cookie-box a {
	position: relative;
	font-size: 14px;
	color: #000;
	font-weight: 600;
	margin: 0 0 24px 0;
}
.cookie-box a::after {
	background: #252E42;
	width: 100%;
	height: 1px;
	bottom: -1px;
	left: 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.cookie-box a:hover::after {
	width: 0;
}
.cookie-box .btn-light {
	border: 1px solid #2a73ff;
	color: #2a73ff;
	min-width: 15.63vw;
}
.cookie-box .btn-light:hover {
	border: 1px solid #252E42;
	color: #fff;
}
.cookie-box .btn {
	font-size: 12px;
	height: 40px;
}
.cookie-box .btn::after {
	width: 12px;
	height: 12px;
}


/* --------------------------------
	
	header
	
-------------------------------- */
header {
	position: fixed;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	padding: 40px 0;
	z-index: 99;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
header.shrink {
	padding: 10px 0;
	background: #000;
}

.header-flex {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.logo {
	position: relative;
	width: 100%;
	max-width: 250px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.shrink .logo {
	max-width: 210px;
}
.logo img {
	width: 100%;
	display: block;
}
.logo img {
	width: 100%;
	display: block;
}
.logo img.black {
	display: none;
}
.menu-menju-v-shapke-container {
	margin: 0 40px;
	flex: 0 0 auto;
}
.menu-top {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 40px;
}
.menu-top li {
	position: relative;
	padding: 20px 0;
}
.menu-top li a {
	position: relative;
	font-size: 0.75vw;
	margin: 0 35px 0 0;
	display: flex;
	color: #fff;
	align-items: center;
	line-height: 1.2;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.menu-top li:last-child a {
	margin: 0;
}
.menu-top li a:hover {
	color: rgba(255,255,255,0.75);
}
.menu-item-has-children a {
	padding: 0 15px 0 0;
}
.menu-item-has-children a::after {
	background: url(../img/nav.svg) no-repeat center / contain;
	width: 8px;
	height: 8px;
	will-change: transform;
	right: 0;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.menu-item-has-children:hover a::after {
	transform: rotate(-90deg);
}
.sub-menu {
	position: absolute;
	background: rgba(0, 0, 0, 0.7);
	width: 240px;
	border-radius: 10px;
	padding: 5px 15px;
	bottom: 2px;
	left: 0;
	opacity: 0;
	border: 0.5px solid rgba(0, 0, 0, 0.5);
	visibility: hidden;
	will-change: transform;
	transform: translateY(120%);
	backdrop-filter: blur(4px);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.menu-item-has-children:hover .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(100%);
}
.menu-top .sub-menu li {
	margin: 0;
	padding: 0;
	font-weight: 500;
}
.menu-top .sub-menu a {
	color: rgba(255,255,255,0.75);
	margin: 0;
	font-size: 0.7vw;
	padding: 8px 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.sub-menu a::after {
	display: none;
}
.menu-top .sub-menu a:hover {
	color: #fff;
}
.menu-top .big-memu {
	position: static;
}
.big-memu .sub-menu {
	width: 100%;
	padding: 5px 15px;
	bottom: 2px;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	padding: 15px;
}
.menu-top .big-memu .sub-menu li {
	width: 25%;
}
.menu-top .big-memu .sub-menu a {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: flex-end;
}
.menu-top .big-memu .sub-menu a img {
	width: 2.08vw;
	margin: 0 0.83vw 0 0;
	flex: 0 0 auto;
}
.header-contact {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.btn-header {
	position: relative;
	height: 55px;
	background: rgba(255, 255, 255, 0.1);
	border: 0.5px solid #FFFFFF;
	border-radius: 10px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 30px;
	font-size: 0.9vw;
	margin: 0 0 0 30px;
	cursor: pointer;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	flex: 0 0 auto;
}
.btn-header:hover {
	background: rgba(255, 255, 255, 1);
	color: #000;
}
.btn-header {
	position: relative;
	height: 3.13vw;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid #FFFFFF;
	border-radius: 10px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.25vw;
	font-size: 0.9vw;
	margin: 0 0.83vw 0 0;
	cursor: pointer;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	flex: 0 0 auto;
}
.header-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	flex: 0 0 auto;
	cursor: pointer;
}
.header-link img {
	position: relative;
	width: 35px;
	height: 35px;
}
.header-link:before {
	background: rgba(204, 51, 51, 0.5);
	width: 100%;
	height: 100%;
	border-radius: 50%;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.header-link:hover:before {
	transform: scale(1.1);
}
.header-contact-link {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 18px;
	margin: 0 0 15px 0;
}
.header-contact-link img {
	flex: 0 0 auto;
	width: 30px;
	margin: 0 10px 0 0;
}
.header-contact-item {
	margin: 0 0 40px 0;
	line-height: 1.6;
}
.header-contact-item span {
	display: block;
	font-size: 16px;
	color: #525252;
}
.header-contact-item a {
	font-size: 16px;
	color: #fff;
	text-decoration: underline;
}
.menu-item a[aria-current="page"] { 
	color: #CC3333;
  font-weight: 700;
}
.header-top {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0 0 1.25vw 0;
}
.header-top-item {
	color: #fff;
	display: flex;
	align-items: center;
	margin: 0 0 0 2.08vw;
	flex: 0 0 auto;
	font-size: 0.83vw;
	font-weight: 600;
}
.header-top-item img {
	width: 1.25vw;
	margin: 0 0.83vw 0 0;
	flex: 0 0 auto;
}
.page-template-about .header-top-item, .category .header-top-item, .page-template-contact .header-top-item, .post-template-news .header-top-item, .post-template-service .header-top-item, .page-template-default .header-top-item {
	color: #000;
}

/* --------------------------------
	
	intro
	
-------------------------------- */
#intro {
	position: relative;
	overflow: hidden;
	background: #000;
	/* background: url(../img/intro.jpg) no-repeat center bottom / cover; */
	color: #fff;
}
.video-intro {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-intro video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.video-intro::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.72);
}
.intro-group {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100vh;
	padding: 9.90vw 0 1.04vw 0;
}
.intro-flex {
	position: relative;
	padding: 0 0 3.39vw 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.intro-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 75%;
	padding: 0;
}
.intro-txt {
	margin: 0 0 10px 0;
}
.intro-content h1 {
	font-size: 2.75vw;
	font-weight: 700;
	margin: 0 0 2.56vw 0;
}
.title {
	position: relative;
	font-size: 2.25vw;
	margin: 0 0 70px 0;
	font-weight: 700;
	line-height: 1.2;
}
.title span {
	color: #CC3333;
}
.intro-content h1 span {
	color: #CC3333;
}
.intro-list {
	margin: 0 0 2.08vw 0;
}
.intro-list li {
	position: relative;
	font-size: 16px;
	padding: 0 0 0 35px;
	color: #fff;
	line-height: 1.6;
	margin: 5px 0;
}
.intro-list li:before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	top: 6px;
	left: 0;
}
.intro-btn-group {
	display: flex;
	align-items: center;
}
.btn {
	position: relative;
	font-family: 'Montserrat', sans-serif;
	background: #CC3333;
	color: #fff;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 600;
	height: 70px;
	padding: 0 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex: 0 0 auto; 
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn:after {
	position: relative;
	background: url(../img/next.svg) no-repeat center / contain;
	width: 20px;
	height: 20px;
	margin: 0 0 0 12px;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn:hover:after {
	transform: translateX(10px);
}
.btn-white {
	background: #fff;
	color: #000;
}
.btn-white:after {
	background: url(../img/next-black.svg) no-repeat center / contain;;
}
.btn-white:hover::after {
	background: url(../img/next.svg) no-repeat center / contain;
}
.btn-white:hover {
	background: #000;
	color: #fff;
}
.header-contact .btn {
	font-size: 0.9vw;
	height: 2.40vw;
	padding: 0 1.25vw;
}
.header-contact.btn::after {
	width: 16px;
	height: 16px;
}
.btn-border {
	background: transparent;
	border: 1px solid #000;
	color: #000;
}
.btn-border::after {
	background: url(../img/next-black.svg) no-repeat center / contain;
}
.btn-border:hover::after {
	background: url(../img/next.svg) no-repeat center / contain;
}
.btn-border:hover {
	background: #000;
	color: #fff;
}
.intro-btn-group .btn {
	margin: 0 40px 0 0;
}
.intro-btn-txt {
	font-size: 16px;
	color: rgba(255,255,255,0.6);
}
.intro-img {
	width: 40%;
	margin: 30px 0 0 0;
	-webkit-transform: perspective(600px) rotateY(360deg);
	-ms-transform: perspective(600px) rotateY(360deg);
  transform: perspective(600px) rotateY(360deg);
	animation: flip 10s ease-in-out 1s infinite;
  -webkit-animation: flip 10s ease-in-out 1s infinite;
}
@-webkit-keyframes flip {
  50% {transform: none;}
}
@keyframes flip {
  50% {transform: none;}
}
.intro-grid {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 0 -0.52vw;
}
.intro-grid-item {
	position: relative;
	width: calc(100% - 1.04vw);
	background: rgba(217, 217, 217, 0.2);
	border-radius: 10px;
	padding: 2.34vw 1.56vw;
	color: #fff;
	margin: 0 0.52vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.intro-grid-item:hover {
	background: rgba(217, 217, 217, 0.1);
}
.intro-grid-item span {
	font-size: 2vw;
	font-weight: 600;
	margin: 0 0 0.78vw 0;
	display: block;
}






/* --------------------------------
	
	b1
	
-------------------------------- */
#b1 {
	position: relative;
	overflow: hidden;
}
#b1::before {
	background: url(../img/b1.svg) no-repeat right / contain;
	width: 750px;
	height: 750px;
	top: 0;
	right: 0;
}
.main-service {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.main-service-item {
	position: relative;
	overflow: hidden;
	background: #E5E5E5;
	border-radius: 10px;
	margin: 10px;
	color: #000;
	padding: 50px;
	width: calc(33.333% - 20px);
	height: 350px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.main-service-item:hover {
	background: #CC3333;
	color: #fff;
}
.main-service-item h3 {
	position: relative;
	font-size: 22px;
	font-weight: 600;
	width: 70%;
	line-height: 1.2;
}
.service-img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 74%;
	height: 100%;
	object-fit: cover;
	object-position: left;
	will-change: transform;
	transform: translate(100%,0);
	-webkit-transition: 0.75s ease-out;
	transition: 0.75s ease-out;
}
.active .service-img {
	transform: translate(15px,0);
}
.main-service-item:hover .service-img {
	transform: translate(0,0);
}
.main-service-item::before {
	font-weight: 700;
	font-size: 300px;
	line-height: 1;
	color: #fff;
	bottom: -57px;
	left: 0;
	transform: translateX(-100%);
	-webkit-transition: 0.75s ease-out;
	transition: 0.75s ease-out;
}
.main-service-item.active::before {
	transform: translateX(-20%);
}
.main-service-item:nth-of-type(1):before {
	content: "01";
}
.main-service-item:nth-of-type(2):before {
	content: "02";
}
.main-service-item:nth-of-type(3):before {
	content: "03";
}
.main-service-item:nth-of-type(4):before {
	content: "04";
}
.main-service-item:nth-of-type(5):before {
	content: "05";
}
.main-service-item:nth-of-type(6):before {
	content: "06";
}
.main-service-item:nth-of-type(7):before {
	content: "07";
}
.main-service-item:nth-of-type(8):before {
	content: "08";
}
.main-service-item:nth-of-type(9):before {
	content: "09";
}
.dop-service {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.dop-service-item {
	position: relative;
	overflow: hidden;
	background: #000;
	border-radius: 10px;
	margin: 10px;
	color: #fff;
	width: calc(33.333% - 20px);
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop-service-item:before {
	
	background: linear-gradient(171.43deg, rgba(0, 0, 0, 0) 6.55%, rgba(204, 51, 51, 0.75) 93.45%);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 1;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop-service-item:after {
	background: linear-gradient(171.43deg, rgba(0, 0, 0, 0) 6.55%, rgba(0, 0, 0, 0.75) 93.45%);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop-service-item:hover:before {
	opacity: 1;
}
.dop-service-item:hover:after {
	opacity: 0;
}
.dop-img {
	position: relative;
	border-radius: 10px;
	width: 100%;
	display: block;
	filter: grayscale(1);
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop-service-item:hover .dop-img {
	filter: grayscale(0);
	transform: scale(1.1);
}
.dop-service-txt {
	position: absolute;
	padding: 60px 30px;
	text-align: center;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	z-index: 1;
}
.dop-service-txt p {
	font-size: 22px;
	line-height: 1.2;
}
.plus {
	position: absolute;
	z-index: 1;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.plus img {
	position: relative;
	width: 20px;
	height: 20px;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.plus:before {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(217, 217, 217, 0.5);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop-service-item:hover .plus:before  {
	background: #CC3333;
}

/* --------------------------------
	
	b2
	
-------------------------------- */
#b2 {
	position: relative;
	overflow: hidden;
	background: #333333;
	color: #fff;
	padding: 80px 0;
}
#b2 .title {
	margin: 0;
}
.b2-flex {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.b2-bg {
	width: 82%;
}
.b2-list {
	display: none;
}
.b2-list li {
	display: flex;
	align-items: center;
	font-size: 16px;
	line-height: 1.6;
	margin: 10px 0;
}
.b2-list li:before {
	position: relative;
	background: url(../img/b2-1.svg) no-repeat center / contain;
	width: 30px;
	height: 30px;
	margin: 0 15px 0 0;
}
.b2-list li:first-child:before {
	background: url(../img/b2-2.svg) no-repeat center / contain;
}



/* --------------------------------
	
	b3
	
-------------------------------- */
#b3 {
	position: relative;
	overflow: hidden;
	padding: 250px 0;
	color: #000;
}
.post-template-dopservice #b3 {
	padding: 0 0 250px 0;
}
.b3-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.b3-item {
	position: relative;
	overflow: hidden;
	background: transparent;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,0.3);
	margin: 10px;
	padding: 60px 40px;
	width: calc(33.333% - 20px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b3-item:hover {
	background: #CC3333;
  color: #fff;
	border: 1px solid #CC3333;
}
.b3-item-img {
	position: relative;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 35px 0;
}
.b3-item-img img {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b3-item-img img:last-child {
	opacity: 0;
}
.b3-item:hover .b3-item-img img:last-child {
	opacity: 1;
}
.b3-item:hover .b3-item-img img:first-child {
	opacity: 0;
}
.b3-item h3 {
	font-size: 24px;
  font-weight: 700;
	margin: 0 0 20px 0;
	line-height: 1.3;
}
.b3-item.b3-item-title {
	border: none;
	background: url(../img/ico1.svg) no-repeat center / cover;
	padding: 30px;
	justify-content: flex-start;
}
.b3-item.b3-item-title .title {
	margin: 0;
	line-height: 1.3;
	font-size: 1.95vw;
}
.b3-item.b3-item-title:hover {
	border: none;
	background: url(../img/ico1.svg) no-repeat center / cover;
  color: #000;
}
.b2-txt {
	font-size: 16px;
	line-height: 1.5;
}

/* --------------------------------
	
	b4
	
-------------------------------- */
#b4 {
	position: relative;
	overflow: hidden;
}
.post-template-dopservice #b4 {
	padding: 0 0 250px 0;
}
.post-template-transportation #b4 {
	padding-bottom: 0;
}
#b4 .intro-btn-group {
	justify-content: center;
	padding: 80px 0 0 0;
}
#b4 .intro-btn-txt {
	color: rgba(0,0,0,0.6);
}
.b4-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 0 90px 0;
	padding: 15px 0 0 0;
}
.b4-item {
	width: 50%;
	padding: 0 100px 0 0;
}
.title2 {
	position: relative;
	font-size: 2.25vw;
	display: flex;
	align-items: center;
	padding: 0 0 0 40px;
	margin: 0 0 40px 0;
	line-height: 1.2;
}
.title2:before {
	background: #CC3333;
	width: 10px;
	height: 70px;
	left: 0;
}
.b4-txt {
	font-size: 18px;
	line-height: 1.5;
}
.b4-video {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.video-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.video-bg {
	position: relative;
	width: 100%;
	object-fit: cover;
	border-radius: 10px;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	height: 100%;
}
.video-link:hover .video-bg {
	transform: scale(1.05);
}
.player-icon {
	position: absolute;
	width: 110px;
	height: 110px;
  display: flex;
	align-items: center;
	justify-content: center;
}
.player-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  display: block;
  z-index: 1;
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.player-icon:before {
  width: 100%;
  height: 100%;
  background: rgba(204, 51, 51, 0.5);
  border-radius: 50%;
  will-change: transform;
  -webkit-animation: scale 2.5s linear infinite;
  animation: scale 2.5s linear infinite;
}
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
	}
  100% {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
		opacity: 0;
	}
}
@-webkit-keyframes scale {
	0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
	}
  100% {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
		opacity: 0;
	}
}

.player {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
  z-index: 9999;
}
.player__video {
	position: relative;
	top: 50%;
	left: 50%;
	width: auto;
	max-width: 75%;
	transform: translate(-50%, -50%);
	border-radius: 12px;
	overflow: hidden;
}
.js--show-video {
  opacity: 1;
}
.video-filler {
  display: block;
  width: 100%;
}
.video-close {
	position: absolute;
	z-index: 0;
	top: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
	border: none;
	outline: none;
	cursor: pointer;
	background: transparent;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	z-index: 11;
}
.video-iframe {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pop_up_video {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  text-align: center;
  z-index: 9999999999999;
}
.pop_up_video > div {
  display: table;
  width: 100%;
  height: 100%;
}
.pop_up_video > div > div {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

/* --------------------------------
	
	b5
	
-------------------------------- */
#b5 {
	position: relative;
	overflow: hidden;
	padding: 250px 0;
}
#b5::before {
	background: url(../img/b1.svg) no-repeat right / contain;
	width: 750px;
	height: 750px;
	bottom: 0;
	right: 0;
}
.post-template-transportation #b5::before {
	display: none;
}
.b5-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.b5-flex.b5-flex-main {
	justify-content: flex-end;
}
.b5-img {
	width: 40%;
	border-radius: 0 10px 10px 0;
	object-fit: cover;
	position: relative;
}
.b5-img img {
	width: 100%;
	border-radius: 0 10px 10px 0;
	object-fit: cover;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.b5-img .b5-img-logo {
	position: absolute;
	width: 50%;
	height: auto;
	left: 0;
	right: 0;
	top: 120px;
	margin: 0 auto;
	max-width: 355px;
}
.b5-content {
	position: relative;
	width: 60%;
	padding: 0 150px 0 140px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.b5-content .title {
	margin: 0 0 60px 0;
}
.b5-list {
	display: flex;
	flex-direction: column;
	width: 90%;
}
.b5-list-item {
	padding: 20px;
	border: 1px solid rgba(0,0,0,0.3);
	border-radius: 10px;
	margin: 0 0 20px 0;
	display: flex;
	align-items: center;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b5-list-item:last-of-type {
	margin: 0;
}
.b5-list-item svg {
	width: 60px;
	flex: 0 0 auto;
	margin: 0 35px 0 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b5-list-item:hover {
	border: 1px solid #CC3333;
	background: #CC3333;
	color: #fff;
}
.b5-list-item svg rect, .b5-list-item svg path {
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b5-list-item:hover svg rect {
	fill: #fff;
}
.b5-list-item:hover svg path {
	fill: #CC3333;
}
.b5-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.b5-grid-item {
	position: relative;
	overflow: hidden;
	background: #E5E5E5;
	border-radius: 10px;
	margin: 20px 10px 0 10px;
	color: #000;
	padding: 32px;
	width: calc(33.333% - 20px);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b5-bg {
	position: absolute;
	width: 40%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 0 10px 10px 0;
	object-fit: cover;
}
.b5-item-ico {
	width: 60px;
	margin: 0 0 35px 0;
}








/* --------------------------------
	
	b6
	
-------------------------------- */
#b6 {
	position: relative;
	overflow: hidden;
	background: #333333;
	color: #fff;
}
.b6-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.b6-flex::after {
	background: url(../img/ico2.svg) no-repeat right / cover;
	width: 46%;
	height: 100%;
	bottom: 0;
	left: 0;
}
.b6-title, .b6-title-content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}
.b6-title {
	width: 35%;
	padding: 150px 50px 100px 150px;
	z-index: 1;
}
/* .b6-title-content {
	margin: 0 0 130px 0;
} */
.b6-title-content .title {
	margin: 0 0 15px 0;
}
.b6-title-content h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
}
.b6-title-content .btn {
	margin: 40px 0 0 0;
}
.b6-sub {
	position: relative;
	color: rgba(255,255,255,0.6);
}
.b6-slider {
	position: relative;
	width: 100%;
	padding: 0 0 0 20%;
}
.b6-slider .slick-prev {
	top: 46%;
	left: 24px;
}
.b6-slider .slick-next {
	top: 46%;
	right: 32px;
}
.slider-container {
	position: relative;
	overflow: hidden;
	width: 65%;
	padding: 150px 0 100px 0;
}
.slider-container:after {
	background: linear-gradient(90deg, #333333 0%, rgba(51, 51, 51, 0) 100%);
	width: 20%;
	height: 100%;
	top: 0;
	left: 0;
}
.project-item {
	position: relative;
	width: 27.60vw;
	margin: 0 20px 0 0;
	color: #fff;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	overflow: hidden;
}
.slide-img {
  display: block;
  object-fit: cover;
  width: 100%;
}
.project-item .slide-img {
	object-position: center;
	border-radius: 10px;
	width: 100%;
	display: block;
	filter: grayscale(1);
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	height: 500px;
}
.project-item:hover .slide-img {
	transform: scale(1.05);
	filter: grayscale(0);
}
.project-item::before {
	background: linear-gradient(171.43deg, rgba(0, 0, 0, 0) 6.55%, rgba(204, 51, 51, 0.75) 93.45%);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 1;
	border-radius: 10px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.project-item::after {
	background: linear-gradient(171.43deg, rgba(0, 0, 0, 0) 6.55%, rgba(0, 0, 0, 0.75) 93.45%);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 10px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.project-item:hover .plus:before  {
	background: #CC3333;
}
.project-title {
	position: absolute;
	bottom: 45px;
	font-size: 18px;
	line-height: 1.4;
	z-index: 1;
	text-align: center;
	padding: 0 40px;
	font-weight: 600;
}
.project-item:hover::before {
	opacity: 1;
}
.project-item:hover::after {
	opacity: 0;
}

/* --------------------------------
	
	slick
	
-------------------------------- */
.slick-slider, .slick-track {
  position: relative;
  display: block;
  margin: 0 auto;
  cursor: grab;
}
.slick-list {
  position: relative;
  display: block;
  width: 100%;
}
.slick-loading .slick-slide, .slick-loading .slick-track {
  visibility: hidden;
}
.slick-slider {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: 0;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-list, .slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  top: 0;
  left: 0;
}
.slick-track:after, .slick-track:before {
  display: table;
  content: ''
}
.slick-track:after {
  clear: both;
}
.slick-slide {
	display: none;
	display: inline-flex;
	min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
  object-fit: cover;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  position: relative;
  vertical-align: middle;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
.slick-initialized .slick-slide.slick-active {
  opacity: 1;
}
@charset 'UTF-8';
.slick-dots, .slick-next, .slick-prev {
  position: absolute;
  display: block;
  padding: 0;
  z-index: 1;
}
.slick-dots li button:before, .slick-next:before, .slick-prev:before {
  font-family: slick;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-next, .slick-prev {
  font-size: 0;
  line-height: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  color: transparent;
  outline: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.slick-next img, .slick-prev img {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 18px;
  height: 18px;
  object-position: center center;
}
.slick-next:before, .slick-prev:before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #CC3333;
  border-radius: 50%;
  will-change: transform;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
	background: #9A9A9A;
}
.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
  color: transparent;
  outline: 0;
  opacity: 1;
}
.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
  opacity: 1;
}
.slick-next.slick-disabled, .slick-prev.slick-disabled {
  opacity: 0;
  pointer-events: none;
}
.slick-prev {
	top: -110px;
  right: 210px;
}
.slick-next {
  top: -110px;
  right: 150px;
}
.slick-dots {
  bottom: 0;
  list-style: none;
  text-align: center;
  display: flex;
  justify-content: flex-end;
  right: 100px;
}
.slick-dots li {
  position: relative;
  height: 10px;
  width: 10px;
  margin: 0 0 0 30px;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  height: 10px;
  width: 10px;
  background: #EFF3F5;
  cursor: pointer;
  color: transparent;
  border: 0;
  border-radius: 50%;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.slick-dots li.slick-active button {
  background: #2CA7E0;
  transform: scale(1.5);
}

/* --------------------------------
	
	b7
	
-------------------------------- */
#b7 {
	position: relative;
	overflow: hidden;
}
.post-template-service #b7 {
	background: #F7F7F7;
}
.b7-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.b7-content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 100px 0 150px;
	align-items: flex-start;
	width: 60%;
}
.b7-flex:before {
	background: url(../img/b7-map.svg) no-repeat center / contain;
	width: 60%;
	height: 100%;
	left: 0;
}
.post-template-service .b7-flex:before {
	background: url(../img/b7-map2.svg) no-repeat center / contain;
	height: 90%;
}
.b7-img {
	width: 40%;
	object-fit: cover;
}
.b7-content .title.small {
	font-size: 1.8vw;
}




/* --------------------------------
	
	b8
	
-------------------------------- */
#b8 {
	position: relative;
	overflow: hidden;
	padding: 210px 0 0 0;
	background: #fff;
}
.b8-item.swiper-slide {
	height: 40vw;
	color: #fff;
	width: 33.333vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b8-item.swiper-slide:hover {
	width: 45vw;
}
.b8-item .slide-img {
	position: relative;
	height: 100%;
}
.b8-title {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 32px;
	width: 100%;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
}

/* --------------------------------
	
	b9
	
-------------------------------- */
#b9 {
	position: relative;
	overflow: hidden;
	padding: 250px 0 210px 0;
}
#b9::before {
	background: url(../img/b1.svg) no-repeat right / cover;
	width: 40%;
	height: 100%;
	top: 0;
	right: 0;
}
.b9-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.b9-title {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 30%;
}
.category-novosti #page {
	min-height: 70vh;
	padding-bottom: 210px;
}
.news-slider {
	position: relative;
	width: 70%;
}
.news-slider .slick-track {
	display: flex;
}
.news-grid {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 70%;
	margin: 0 -10px;
}
.blog-grid {
	position: relative;
	display: flex;
	margin: 0 -10px;
	flex-wrap: wrap;
}
.news-item {
	position: relative;
	width: calc(33.333% - 20px);
	margin: 0 10px;
	color: #000;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
.news-img {
	height: 200px;
}
.blog-grid .news-item {
	display: flex;
	width: calc(25% - 20px);
	margin: 0 10px 40px 10px;
}
.news-slider .news-item {
	width: 100%;
	
}
.news-item .anons {
	flex-grow: 1;
}
.news-img {
	width: 100%;
	display: block;
	border-radius: 10px;
	margin: 0 0 20px 0;
}
.event-title {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 10px 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.news-date {
	display: block;
	margin: 30px 0 0 0;
	font-size: 18px;
	font-weight: 700;
}
.news-item:hover .event-title {
	color: #cc3333;
}
.post-template-news #b9::before {
	display: none;
}



/* --------------------------------
	
	footer
	
-------------------------------- */
footer {
	position: relative;
	overflow: hidden;
	background: #000;
	color: #fff;
}
.footer-flex {
	display: flex;
	justify-content: space-between;
	padding: 80px 0;
}
.footer-flex-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 60%;
}
.footer-flex-right {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: 35%;
	justify-content: space-between;
}
.logo-footer {
	position: relative;
	width: 100%;
	max-width: 355px;
}
.logo-footer img {
	width: 100%;
	display: block;
}
.footer-contact {
	display: flex;
	justify-content: space-between;
	padding: 130px 0 220px 0;
}
.footer-contact-right {
	padding: 0 150px 0 0;
}
.footer-contact-right p {
	margin: 0 0 24px 0;
}
.footer-contact-right p span {
	font-weight: 600;
	display: block;
}
.footer-contact-right a {
	color: #fff;
}
.contact-link {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 10px 0;
	display: block;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.contact-link:hover {
	color: rgba(255,255,255,0.75);
}
.contact-link:last-of-type {
	margin: 0;
}
.social-grid {
	display: flex;
	align-items: center;
	margin: 30px 0 0 0;
}
.footer-contact-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.footer-contact-left p span {
	font-weight: 600;
	display: block;
}
.social-grid-link {
	width: 50px;
	height: 50px;
	margin: 0 10px 0 0;
}
.social-grid-link img {
	width: 100%;
	display: block;
	filter: grayscale(1);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.social-grid-link:hover img {
	filter: grayscale(0);
}
.footer-nav-grid {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 75px 0;
}
.footer-nav-item {
	
}
#footer-nav {
	padding: 0 50px 0 0;
}
.footer-nav-item li {
	font-size: 16px;
	margin: 0 0 10px 0;
}
.footer-nav-item li a {
	color: #fff;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.footer-nav-item li a:hover {
	color: rgba(255,255,255,0.75);
}
.footer-flex-right .btn::after {
	display: none;
}
.footer-flex-right .btn:hover {
	background: #535353;
}
.doc-list li {
	text-align: right;
}
.doc-list li a {
	color: #fff;
	font-size: 18px;
	line-height: 1.6;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.doc-list li a:hover {
	color: rgba(255,255,255,0.75);
}
.footer-bottom {
	display: flex;
	justify-content: space-between;
	padding: 0 0 35px 0;
	align-items: flex-end;
}
footer .btn {
	font-size: 0.9vw;
	height: 3.13vw;
	padding: 0 1.25vw;
}
.bottom-block {
	display: flex;
	align-items: flex-end;
}
.doc-list {
	display: flex;
	align-items: center;
}
.doc-list li {
	text-align: right;
	margin: 0 0 0 2.08vw;
}
.top-link {
	position: fixed;
	z-index: 1;
	width: 3.13vw;
	height: 3.13vw;
	bottom: 1.04vw;
	right: 0.64vw;
	will-change: transform;
	transform: translateY(200%);
	cursor: pointer;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.top-link.active {
	transform: translateY(0%);
}
.top-link img {
	width: 100%;
}
.footer-btn-group {
	display: flex;
	justify-content: space-between;
}

/* --------------------------------
	
	breadcrumbs
	
-------------------------------- */
.breadcrumb-flex {
	display: flex;
	align-items: flex-start;
}
#dop-intro .breadcrumb-flex, #service-intro .breadcrumb-flex, #project-intro .breadcrumb-flex, #direction-intro .breadcrumb-flex {
	position: absolute;
	top: 9vw;
	z-index: 1;
}
.aioseo-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
}
.aioseo-breadcrumb {
	font-size: 13px;
	display: block;
}
.aioseo-breadcrumb a {
	color: #fff;
}
.aioseo-breadcrumb a:hover {
	color: rgba(255,255,255,0.7);
}
.post-template-service .aioseo-breadcrumb a,
.page-template-contact .aioseo-breadcrumb a,
.page-template-about .aioseo-breadcrumb a,
.category-novosti .aioseo-breadcrumb a,
.post-template-news .aioseo-breadcrumb a,
.post-template-work .aioseo-breadcrumb a,
.category-7 .aioseo-breadcrumb a,
.category-3 .aioseo-breadcrumb a,
.category-8 .aioseo-breadcrumb a,
.category-10 .aioseo-breadcrumb a,
.page-template-default .aioseo-breadcrumb a {
	color: #000;
}
.post-template-service .aioseo-breadcrumb a:hover,
.page-template-contact .aioseo-breadcrumb a:hover,
.page-template-about .aioseo-breadcrumb a:hover,
.category-novosti .aioseo-breadcrumb a:hover,
.post-template-news .aioseo-breadcrumb a:hover,
.post-template-work .aioseo-breadcrumb a:hover,
.category-7 .aioseo-breadcrumb a:hover,
.category-3 .aioseo-breadcrumb a:hover,
.category-8 .aioseo-breadcrumb a:hover,
.category-10 .aioseo-breadcrumb a:hover,
.page-template-default .aioseo-breadcrumb a:hover {
	color: rgba(0,0,0,0.7);
}
.aioseo-breadcrumb-separator {
	margin: 0 4px;
}
.breadcrumb-arrow {
	width: 40px;
	display: flex;
	align-items: center;
	margin: 2px 20px 0 0;
	cursor: pointer;
}
.breadcrumb-arrow svg {
	width: 100%;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.breadcrumb-arrow:hover svg {
	opacity: 0.7;
}

/* --------------------------------
	
	dop-intro
	
-------------------------------- */
#dop-intro {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #fff;
}
.intro-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}
.page-intro-flex {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100vh;
	width: 60%;
	justify-content: center;
	padding: 145px 0 0 0;
}
#dop-intro .title {
	margin: 0 0 45px 0;
}
.intro-info {
	width: 80%;
}
.intro-info li {
	position: relative;
	font-size: 16px;
	margin: 5px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.intro-info li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 2px;
}
.page-intro-flex .intro-btn-group {
	margin: 45px 0 0 0;
}
.intro-descr {
	margin: 16px 0 0 0;
	font-size: 1.04vw;
	font-weight: 600;
}





/* --------------------------------
	
	dop1
	
-------------------------------- */
#dop1 {
	position: relative;
	overflow: hidden;
	background: #333333;
	color: #fff;
}
.dop1-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 -10px;
}
.dop1-item {
	position: relative;
	background: #525252;
	border-radius: 10px;
	padding: 30px 30px 60px 30px;
	width: 100%;
	margin: 0 10px;
	overflow: hidden;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop1-item:hover {
	background: rgba(82, 82, 82, 0.48);
}
.dop1-item::before {
	background: url(../img/ico5.svg) no-repeat bottom / contain;
	width: 70%;
	max-width: 390px;
	bottom: 0;
	right: 0;
	display: none;
	height: 340px;
}
.dop1-item.visible:before {
	display: block;
}
.dop1-item h3 {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 30px 0;
	font-size: 22px;
}
.dop1-item h3 img {
	width: 50px;
	height: 50px;
	margin: 0 30px 0 0;
	flex: 0 0 auto;
}
.dop1-text {
	position: relative;
}
.dop1-text li {
	position: relative;
	font-size: 16px;
	margin: 5px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.dop1-text li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.dop1-text p {
	color: rgba(255,255,255,0.5);
	margin: 0 0 25px 0;
}

/* --------------------------------
	
	dop2
	
-------------------------------- */
#dop2 {
	position: relative;
	overflow: hidden;
}
.post-template-service #dop2 {
	padding: 0 0 200px 0;
}
.dop2-grid {
	position: relative;
	display: flex;
	margin: 0 -10px;
}
.dop2-item {
	position: relative;
	background: #F4F4F4;
	border-radius: 10px;
	margin: 0 10px;
	width: calc(33.333% - 20px);
	padding: 40px;
	display: none;
	flex-direction: column;
	justify-content: space-between;
}
.postid-174 .dop2-item.check2 {
	display: flex;
}
.postid-174 .dop2-item.check3 {
	display: flex;
}
.postid-230 .dop2-item.check1 {
	display: flex;
}
.postid-230 .dop2-item.check2 {
	display: flex;
}
.postid-218 .dop2-item.check1 {
	display: flex;
}
.postid-218 .dop2-item.check3 {
	display: flex;
}
.post-template-service .dop2-item.check1,
.post-template-service .dop2-item.check2,
.post-template-service .dop2-item.check3 {
	display: flex;
}
.dop2-item::before {
	background: url(../img/ico6.svg) no-repeat bottom / contain;
	width: 80%;
	bottom: 0;
	right: 0;
	height: 320px;
}
.dop2-item img {
	position: relative;
	width: 100%;
	height: 270px;
	object-fit: cover;
	display: block;
	border-radius: 5px;
	filter: grayscale(1);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop2-item:hover img {
	filter: grayscale(0);
}
.dop2-content {
	position: relative;
	margin: 30px 0 0 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex-grow: 1;
}
.dop2-txt {
	flex-grow: 1;
	margin: 20px 0 0 0;
}
.dop2-txt p {
	margin: 0 0 15px 0;
}
.dop2-txt p:last-child {
	margin: 0;
}
.dop2-content h3 {
	font-size: 22px;
	color: #000;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.dop2-content h3:hover {
	color: #cc3333;
}

/* --------------------------------
	
	post-template-service
	
-------------------------------- */
.post-template-service .header-flex .menu-top li a,
.page-template-contact .header-flex .menu-top li a,
.page-template-about .header-flex .menu-top li a,
.category-novosti .header-flex .menu-top li a,
.post-template-news .header-flex .menu-top li a,
.post-template-work .header-flex .menu-top li a,
.category-7 .header-flex .menu-top li a,
.category-3 .header-flex .menu-top li a,
.category-8 .header-flex .menu-top li a,
.category-10 .header-flex .menu-top li a,
.page-template-default .header-flex .menu-top li a {
	color: rgba(0,0,0,0.65);
	font-weight: 500;
}
.post-template-service .menu-top li a[aria-current="page"],
.page-template-contact .menu-top li a[aria-current="page"],
.page-template-about .menu-top li a[aria-current="page"],
.category-novosti .menu-top li a[aria-current="page"],
.post-template-news .menu-top li a[aria-current="page"],
.post-template-work .menu-top li a[aria-current="page"],
.category-7 .menu-top li a[aria-current="page"],
.category-3 .menu-top li a[aria-current="page"],
.category-8 .menu-top li a[aria-current="page"],
.category-10 .menu-top li a[aria-current="page"],
.page-template-default .menu-top li a[aria-current="page"] { 
	color: #CC3333;
  font-weight: 700;
}
.post-template-service .header-flex .menu-top li a:hover,
.page-template-contact .header-flex .menu-top li a:hover,
.page-template-about .header-flex .menu-top li a:hover,
.category-novosti .header-flex .menu-top li a:hover,
.post-template-news .header-flex .menu-top li a:hover,
.post-template-work .header-flex .menu-top li a:hover,
.category-7 .header-flex .menu-top li a:hover,
.category-3 .header-flex .menu-top li a:hover,
.category-8 .header-flex .menu-top li a:hover,
.category-10 .header-flex .menu-top li a:hover,
.page-template-default .header-flex .menu-top li a:hover {
	color: #000;
}
.post-template-service .header-flex .logo img.white,
.page-template-contact .header-flex .logo img.white,
.page-template-about .header-flex .logo img.white,
.category-novosti .header-flex .logo img.white,
.post-template-news .header-flex .logo img.white,
.post-template-work .header-flex .logo img.white,
.category-7 .header-flex .logo img.white,
.category-3 .header-flex .logo img.white,
.category-8 .header-flex .logo img.white,
.category-10 .header-flex .logo img.white,
.page-template-default .header-flex .logo img.white {
	display: none;
}
.post-template-service .header-flex .logo img.black,
.page-template-contact .header-flex .logo img.black,
.page-template-about .header-flex .logo img.black,
.category-novosti .header-flex .logo img.black,
.post-template-news .header-flex .logo img.black,
.post-template-work .header-flex .logo img.black,
.category-7 .header-flex .logo img.black,
.category-3 .header-flex .logo img.black,
.category-8 .header-flex .logo img.black,
.category-10 .header-flex .logo img.black,
.page-template-default .header-flex .logo img.black {
	display: block;
}
.post-template-service header.shrink,
.page-template-contact header.shrink,
.page-template-about header.shrink,
.category-novosti header.shrink,
.post-template-news header.shrink,
.post-template-work header.shrink,
.category-7 header.shrink,
.category-3 header.shrink,
.category-8 header.shrink,
.category-10 header.shrink,
.page-template-default header.shrink {
	background: #f4f4f4;
}
.post-template-service .btn-header,
.page-template-contact .btn-header,
.page-template-about .btn-header,
.category-novosti .btn-header,
.post-template-news .btn-header,
.post-template-work .btn-header,
.category-7 .btn-header,
.category-3 .btn-header,
.category-8 .btn-header,
.category-10 .btn-header,
.page-template-default .btn-header {
	background: #E5E5E5;
	border: 0.5px solid rgba(0, 0, 0, 0.3);
	color: #000;
}
.post-template-service .btn-header:hover,
.page-template-contact .btn-header:hover,
.page-template-about .btn-header:hover,
.category-novosti .btn-header:hover,
.post-template-news .btn-header:hover,
.post-template-work .btn-header:hover,
.category-7 .btn-header:hover,
.category-3 .btn-header:hover,
.category-8 .btn-header:hover,
.category-10 .btn-header:hover,
.page-template-default .btn-header:hover {
	background: rgba(0, 0, 0, 1);
	color: #fff;
}
.post-template-service .header-flex .menu-item-has-children a::after,
.page-template-contact .header-flex .menu-item-has-children a::after,
.page-template-about .header-flex .menu-item-has-children a::after,
.category-novosti .header-flex .menu-item-has-children a::after,
.post-template-news .header-flex .menu-item-has-children a::after,
.post-template-work .header-flex .menu-item-has-children a::after,
.category-7 .header-flex .menu-item-has-children a::after,
.category-3 .header-flex .menu-item-has-children a::after,
.category-8 .header-flex .menu-item-has-children a::after,
.category-10 .header-flex .menu-item-has-children a::after,
.page-template-default .header-flex .menu-item-has-children a::after {
	background: url(../img/nav3.svg) no-repeat center / contain;
}
.post-template-service .header-flex .sub-menu,
.page-template-contact .header-flex .sub-menu,
.page-template-about .header-flex .sub-menu,
.category-novosti .header-flex .sub-menu,
.post-template-news .header-flex .sub-menu,
.post-template-work .header-flex .sub-menu,
.category-7 .header-flex .sub-menu,
.category-3 .header-flex .sub-menu,
.category-8 .header-flex .sub-menu,
.category-10 .header-flex .sub-menu,
.page-template-default .header-flex .sub-menu {
	background: rgba(236, 236, 236, 0.7);
	border: 0.5px solid rgba(0, 0, 0, 0.1);
}
.post-template-service .intro-btn-txt {
	color: rgba(0,0,0,0.6);
}
.post-template-service .page-intro-flex .title {
	margin: 0;
	color: #CC3333;
}
.postid-288 .page-intro-flex .title {
	width: 50%;
}
.subtitle {
	font-size: 2.45vw;
	margin: 15px 0 35px 0;
	font-weight: 700;
}
.subtitle-small {
	font-size: 1.8vw;
	margin: 15px 0 0 0;
	font-weight: 700;
	display: block;
	width: 80%;
	line-height: 1.4;
}
.service-intro-bg {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 60%;
	height: 100%;
}
.service-intro-bg img {
	position: relative;
	width: 100%;
	display: block;
	object-fit: contain;
	object-position: right bottom;
	height: 100%;
}
.service-intro-bg .service-mob-img {
	display: none;
}
#service-intro {
	position: relative;
	overflow: hidden;
}
.page-content {
	padding: 0 0 150px 0;
}
.page-content p {
	margin: 12px 0;
}
.wp-block-heading {
	margin: 20px 0;
	font-size: 22px;
}
.page-content form {
	width: 35%;
}
.page-content ul, .page-content ol {
	margin: 20px 0;
	padding: 0 0 0 25px;
}
.page-content ul {
	list-style: disc;
}
.page-content ol {
	list-style: decimal;
}
.page-content li {
	margin: 12px 0;
	font-size: 16px;
	line-height: 1.5;
}
.page-content ul.iti__country-list {
	margin: 0;
	padding: 0;
}
.page-content ul.iti__country-list {
	list-style: none;
}



/* --------------------------------
	
	post-template-service
	
-------------------------------- */
#service1 {
	position: relative;
	overflow: hidden;
	padding: 150px 0;
	background: #333333;
	color: #fff;
}
.post-template-project #service1 {
	padding: 150px 0;
}
.service1-flex {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.service1-content {
	width: 55%;
	position: relative;
}
.service1-content .title {
	margin: 0 0 40px 0;
}
.service1-map {
	width: 75%;
	position: absolute;
	right: 0;
}
.postid-301 .service1-map, .postid-314 .service1-map, .postid-333 .service1-map,
.post-template-project .service1-map {
	width: 60%;
}
.service1-map img {
	width: 100%;
	display: block;
}
.service1-content li {
	position: relative;
	font-size: 16px;
	margin: 0 0 10px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.service1-content li span {
	color: rgba(255,255,255,0.5);
}
.service1-content li:last-child {
	margin: 0;
}
.service1-content li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.service1-content ul {
	margin: 0 0 50px 0;
}
.service1-content p {
	margin: 15px 0;
}
.service1-text {
	width: 75%;
}
.service1-content h3 {
	margin: 25px 0 0 0;
	font-weight: 700;
}


/* --------------------------------
	
	service-form
	
-------------------------------- */
#service-form {
	position: relative;
	padding: 0;
	margin: -90px 0 0 0;
}
.service-form-flex {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #CC3333;
	border-radius: 10px;
	color: #fff;
	padding: 0 50px;
	height: 180px;
}
.service-form-flex h2 {
	font-size: 30px;
	margin: 0 100px 0 0;
}
.service-form-flex::before {
	background: url(../img/s1.svg) no-repeat center / cover;
	width: 390px;
	height: 100%;
	top: 0;
	right: 15%;
}

/* --------------------------------
	
	service2
	
-------------------------------- */
#service2 {
	position: relative;
	padding-bottom: 0;
}
.service2-flex {
	display: flex;
	justify-content: space-between;
}
.service2-bg {
	width: 45%;
	object-fit: cover;
}
.service2-content {
	position: relative;
	width: 55%;
	padding: 0 150px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.service2-content li {
	position: relative;
	font-size: 16px;
	margin: 10px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.service2-content li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.service2-content .title {
	margin: 0 0 30px 0;
}

/* --------------------------------
	
	project-intro
	
-------------------------------- */
#project-intro {
	position: relative;
	overflow: hidden;
	color: #fff;
}
.project-intro-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.project-intro-bg img {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.project-intro-bg:after {
  background: linear-gradient(109.42deg, rgba(0, 0, 0, 0.95) 13.03%, rgba(0, 0, 0, 0.75) 63.03%);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#project-intro .page-intro-flex {
	width: 100%;
}
#project-intro .intro-flex {
	width: 100%;
	padding: 13vh 0;
	align-items: normal;
}
#project-intro .intro-content {
	justify-content: space-between;
}
.project-intro-txt h3 {
	font-size: 22px;
	font-weight: 700;
	border-radius: 5px;
	color: #fff;
	margin: 0;
}
.project-intro-txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.project-sub {
	width: 80%;
}
.project-sub p {
	margin: 15px 0;
}
.post-template-project #service1 .title {
	margin: 0 0 20px 0;
}
.post-template-project .service-sub {
	margin: 0 0 30px 0;
	font-size: 22px;
}
.intro-title-group .title {
	margin: 0 0 15px 0;
}
.intro-title-group {
	margin: 0 0 10vh 0;
}



/* --------------------------------
	
	project2
	
-------------------------------- */
.project-heading-title {
	margin: 0 0 85px 0;
}
.project-heading-title .title {
	margin: 0 0 20px 0;
}
.project-heading-title .sub {
	width: 70%;
}
.project2-grid {
	display: flex;
	margin: 0 -10px;
}
.project2-item {
	background: #F7F7F7;
	border-radius: 15px;
	padding: 35px 30px;
	width: calc(33.333% - 20px);
	margin: 0 10px;
}
.project2-item.col2 {
	width: calc(66.666% - 20px);
}
.project2-item-title {
	display: flex;
	align-items: center;
	margin: 0 0 30px 0;
}
.project2-item-title h3 {
	font-size: 25px;
}
.project2-item-title img {
	width: 50px;
	flex: 0 0 auto;
	margin: 0 30px 0 0;
}
.project2-item-txt p {
	margin: 0 0 30px 0;
}
.project2-item-txt p:last-child {
	margin: 0;
}
.project2-item-txt ul {
	padding: 0 0 0 25px;
	margin: 0 0 20px 0;
}
.project2-item-txt li {
	font-size: 16px;
	list-style: disc;
	line-height: 1.4;
}
.project2-item-txt h4 {
	font-size: 18px;
	margin: 0 0 10px 0;
}
.project2-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.project2-flex-content {
	position: relative;
	width: 57%;
	padding: 150px 0 150px 150px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.project2-flex-img {
	width: 43%;
}
.project2-flex-img img {
	position: relative;
	width: 100%;
	display: block;
	object-fit: contain;
	object-position: top;
}
.project2-flex-img::before {
	width: 930px;
	height: 930px;
	border-radius: 50%;
	background: #E5E5E5;
	transform: translate(18%,9%);
}
.project2-flex-content h2 {
	position: relative;
	font-size: 2.45vw;
	margin: 0 0 35px 0;
	font-weight: 700;
	line-height: 1.2;
}
.project2-flex-content p {
	margin: 13px 0;
}
.project2-flex-content ul {
	padding: 0 0 0 25px;
}
.project2-flex-content li {
	font-size: 16px;
	list-style: disc;
	line-height: 1.4;
}
#project2 .service-form-flex {
	background: #333333;
}
.short-btn {
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
	display: inline-block;
	margin: 0 0 25px 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.short-btn:hover {
	text-decoration: none;
}
.short-txt {
	position: relative;
	margin: 0 0 15px 0;
}
.short-btn:last-of-type {
	margin: 0;
}


/* --------------------------------
	
	page
	
-------------------------------- */
#page {
	position: relative;
	overflow: hidden;
}
.section-top {
	padding-top: 9vw;
}
.section-top .breadcrumb-flex {
	padding: 0 0 85px 0;
}
.contact-intro .title {
	margin: 0 0 55px 0;
}
.contact-flex {
	display: flex;
	justify-content: space-between;
	padding: 0 0 200px 0;
}
.contact-txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 40%;
	padding: 0 70px 0 0;
	justify-content: space-between;
}
.contact-map {
	width: 60%;
}
.contact-map iframe {
	border: none;
	width: 100%;
	height: 530px;
}
.contact-info p {
	margin: 5px 0;
}
.contact-info a {
	color: #000;
	text-decoration: underline;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.contact-info a:hover {
	text-decoration: none;
}
.contact-time {
	padding: 55px 0;
}
.contact-time span {
	font-weight: 600;
	display: block;
	margin: 0 0 5px 0;
}
.contact-txt .social-grid-link img {
	filter: grayscale(0);
}
.contact-txt .social-grid-link:hover img {
	filter: grayscale(1);
}

/* --------------------------------
	
	c1
	
-------------------------------- */
#c1 {
	position: relative;
	overflow: hidden;
	background: url(../img/c1-bg.jpg) no-repeat center / cover fixed;
	padding: 100px 0;
}
.c1-flex {
	display: flex;
	justify-content: flex-start;
}
.c1-form {
	position: relative;
	padding: 55px 50px;
	border-radius: 10px;
	background: #fff;
	width: 100%;
	max-width: 660px;
}
.form-title {
	margin: 0 0 30px 0;
}
.wpcf7 .screen-reader-response {
	display: none;
}
.wpcf7-form-control-wrap {
	position: relative;
	width: 100%;
	margin: 0 0 20px 0;
	display: block;
}
.wpcf7-form-control-wrap:last-of-type {
	margin: 35px 0;
}
.wpcf7-form-control-wrap input {
	background: transparent;
	padding: 15px 0;
	font-size: 16px;
	color: #000;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 1);
	position: relative;
	width: 100%;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.wpcf7-form-control-wrap input:hover {
	border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}
textarea {
	position: relative;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 1);
	color: #000;
	font-size: 16px;
	width: 100%;
	resize: vertical;
	padding: 15px 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
textarea:hover {
	border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}
.wpcf7-submit {
	border: none;
	width: 100%;
}
.wpcf7-acceptance {
  position: relative;
  width: 100%;
  display: block;
}
.wpcf7-acceptance span {
  display: block;
}
.wpcf7-acceptance input[type="checkbox"], .wpcf7-acceptance input[type="radio"] {
  position: absolute;
  display: block;
  cursor: pointer;
  opacity: 0;
  top: 0;
  left: 0;
}
.wpcf7-list-item-label {
  font-size: 14px;
  color: #000;
  line-height: 1.3;
  cursor: pointer;
	padding: 0 0 0 15px;
}
.wpcf7-list-item-label a { 
	color: #000;
	font-weight: 500;
	text-decoration: underline;
	position: relative;
}
input[type="checkbox"] ~ .wpcf7-list-item-label:after {
	background: url(../img/check-default.svg) no-repeat center left;
	background-size: cover;
  border-radius: 2px;
	width: 20px;
	height: 20px;
	top: -2px;
  left: 0;
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after {
  background: url(../img/check-default.svg) no-repeat center right;
	background-size: cover;
}
.wpcf7-not-valid-tip {
	font-size: 12px !important;
	position: absolute;
	bottom: -14px;
	z-index: 1;
}
.wpcf7 form .wpcf7-response-output {
	margin: 10px 0 0 0 !important;
	padding: 10px !important;
	border-radius: 5px;
	font-size: 14px;
}


/* --------------------------------
	
	о компании
	
-------------------------------- */
.about-page {
	
}
.about-description {
	padding: 0 0 150px 0;
	width: 70%;
}
.about-description p {
	margin: 0 0 25px 0;
}
.about-description p:last-child {
	margin: 0;
}
.about-page .b4-video {
	margin: 85px 0;
}
.about-page .b4-txt {
	width: 35%;
}
.about-team {
	position: relative;
	padding: 250px 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.about-team-bg {
	display: block;
	width: 100%;
	border-radius: 10px;
	margin: 0 0 80px 0;
}
.about-page .about-team .b4-txt {
	width: 60%;
}
.about-page .about-team .b4-txt p {
	margin: 0 0 40px 0;
}

/* --------------------------------
	
	about1
	
-------------------------------- */
#about1 {
	position: relative;
	overflow: hidden;
	background: url(../img/about1-bg.jpg) no-repeat center / cover fixed;
	color: #fff;
	padding: 150px 0;
}
.about1-grid {
	position: relative;
	display: flex;
	margin: 0 -10px;
	flex-wrap: wrap;
}
.about1-item {
	position: relative;
	width: calc(25% - 20px);
	background: rgba(217, 217, 217, 0.2);
	border-radius: 10px;
	padding: 45px 30px;
	color: #fff;
	margin: 10px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.about1-item:hover {
	background: rgba(217, 217, 217, 0.1);
}
.stats-counter {
	font-size: 35px;
	font-weight: 600;
	margin: 0 0 15px 0;
	display: block;
}




/* --------------------------------
	
	about2
	
-------------------------------- */
#about2 {
	position: relative;
	overflow: hidden;
	padding: 200px 0 0 0;
}
#about2:before {
	background: url(../img/about2.svg) no-repeat right / cover;
	width: 35%;
	height: 100%;
	top: 0;
	left: 0;
}
.about2-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.about2-content {
	position: relative;
	width: 45%;
	padding: 20px 70px 0 0;
}
.about2-img {
	width: 55%;
}
.about2-img img {
	width: 100%;
	display: block;
	border-radius: 10px;
}
.about2-content .title {
	margin: 0 0 50px 0;
}
.about2-content li {
	position: relative;
	font-size: 16px;
	margin: 15px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.about2-content li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.page-template-about #b3 {
	padding: 250px 0 0 0;
}

/* --------------------------------
	
	news-page
	
-------------------------------- */
.news-page {
	position: relative;
	width: 80%;
}
.news-page-img {
	width: 100%;
	display: block;
	margin: 0 0 45px 0;
}
.news-description p {
	margin: 15px 0;
}
.news-description h3 {
	font-size: 2.25vw;
	margin: 20px 0;
	font-weight: 700;
	line-height: 1.2;
}
.news-description a {
	color: #000;
	text-decoration: underline;
}
.news-description a:hover {
	text-decoration: none;
}
.news-description li {
	position: relative;
	font-size: 16px;
	margin: 15px 0;
	line-height: 1.5;
	padding: 0 0 0 40px;
}
.news-description li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.news-description {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* --------------------------------
	
	decision
	
-------------------------------- */
#decision {
	position: relative;
	overflow: hidden;
}
.decision-grid {
	display: flex;
	flex-wrap: wrap;
}
.decision-item {
	position: relative;
	width: 33.333%;
	padding: 0 138px 10px 0;
	margin: 45px 0 0 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.decision-item:last-of-type {
	margin: 0;
}
.decision-item .num {
	position: relative;
	font-size: 100px;
	color: #E5E5E5;
	line-height: 1;
	font-weight: 600;
	margin: 95px 0 15px 0;
	display: block;
}
#decision .title {
	margin: 0;
}
.decision-item img {
	width: 100%;
	display: block;
	height: 100%;
	object-fit: contain;
	object-position: bottom;
}
.decision-item .num::after {
	background: url(../img/line.svg) no-repeat center / contain;
	width: 220px;
	height: 60px;
	bottom: 20px;
	right: -90px;
}
.decision-item:nth-of-type(3) .num::after, .decision-item:nth-of-type(5) .num::after {
	display: none;
}
.decision-item:nth-of-type(1), .decision-item:nth-of-type(2), .decision-item:nth-of-type(3) {
	margin: 0;
}

/* --------------------------------
	
	work
	
-------------------------------- */
.work-page .title {
	margin: 0 0 20px 0;
	color: #CC3333;
}
.work-page .title.worktitle {
	margin: 0 0 50px 0;
	color: #000;
}
.intro-info p {
	margin: 0 0 20px 0;
}
.post-template-work .intro-btn-txt {
	color: rgba(0,0,0,0.6);
}
.work-page .service-intro-bg {
	height: 86%;
}
.work-page .service-intro-bg img {
	object-position: center bottom;
}
.work-page .service-intro-bg:before {
	background: #E5E5E5;
	width: 955px;
	height: 955px;
	border-radius: 50%;
	bottom: 0;
	right: 0;
	transform: translate(8%,23%);
}


/* --------------------------------
	
	work1
	
-------------------------------- */
#b3.work1 {
	color: #fff;
	background: #333333;
}
.work1 .b3-item {
	background: rgba(60, 60, 60, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.work1 .b3-item.b3-item-title {
	border: none;
	background: url(../img/ico1-1.svg) no-repeat center / cover;
}
.work1 .b3-item:hover {
	background: #CC3333;
	color: #fff;
	border: 1px solid #CC3333;
}
.work1 .b3-item.b3-item-title:hover {
	border: none;
	background: url(../img/ico1-1.svg) no-repeat center / cover;
	color: #fff;
}

/* --------------------------------
	
	work2
	
-------------------------------- */
#work2 {
	position: relative;
	overflow: hidden;
	color: #000;
}
.work2-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px 45px -10px;
}
.work2-item {
	position: relative;
	overflow: hidden;
	background: #333333;
	color: #fff;
	border-radius: 10px;
	margin: 10px;
	padding: 30px 35px;
	width: calc(33.333% - 20px);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.work2-item:nth-of-type(5)::before {
	background: url(../img/ico5.svg) no-repeat bottom / contain;
	width: 70%;
	max-width: 390px;
	bottom: 0;
	right: 0;
	height: 340px;
}
.work2-item h3 {
	position: relative;
	font-size: 20px;
	margin: 0 0 20px 0;
}
.work2-txt {
	position: relative;
}
.work2-txt p {
	margin: 12px 0;
}
.work2-item-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}
.center-btn-group {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.center-btn-group .btn {
	margin: 0 40px 0 0;
}

/* --------------------------------
	
	direction-intro
	
-------------------------------- */
#direction-intro {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #fff;
}
#direction-intro .title {
	background: #CC3333;
	border-radius: 5px;
	padding: 15px 25px;
	margin: 0 0 30px 0;
}
#direction-intro .intro-sub {
	font-size: 2.25vw;
	width: 100%;
}
#direction-intro .page-intro-flex {
	width: 70%;
}
#direction-intro .intro-btn-txt {
	color: rgba(255,255,255,1);
}
#direction-intro .intro-info {
	margin: 25px 0 0 0;
}
#direction-intro .intro-info ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#direction-intro .intro-info li {
	width: 50%;
	padding: 0 40px 0 30px;
}
.postid-1399 #direction-intro .intro-sub, .postid-1375 #direction-intro .intro-sub {
	font-size: 1.75vw;
}




/* --------------------------------
	
	post-template-directions
	
-------------------------------- */
.post-template-directions .b5-list {
	width: 100%;
}
.post-template-directions .b5-content {
	padding: 0 150px;
	width: 55%;
}
.post-template-directions .b5-img {
	width: 45%;
}

/* --------------------------------
	
	d2
	
-------------------------------- */
#d2 {
	position: relative;
	overflow: hidden;
	background: #333333;
	color: #fff;
	padding: 135px 0;
} 
.title-group {
	margin: 0 0 45px 0;
}
.title-group .title {
	margin: 0 0 20px 0;
}
.title-group p {
	width: 50%;
	margin: auto;
}
#d2 .title-group {
	text-align: center;
}
.d2-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	align-items: center;
	margin: 0 -10px;
}
.d2-grid {
	display: flex;
	margin: 0 -10px 100px -10px;
	width: 100%;
	justify-content: space-between;
}
.d2-item {
	position: relative;
	background: rgba(82, 82, 82, 0.3);
	padding: 45px 40px;
	border-radius: 10px;
	color: #fff;
	width: calc(20% - 20px);
	margin: 0 10px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.postid-1143 .d2-item {
	width: calc(50% - 20px); 
}
.d2-item:hover {
	background: rgba(82, 82, 82, 0.15);
}
.d2-item img {
	width: 80px;
	margin: 0 0 45px 0;
}
.d2-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 60%;
	text-align: center;
}
.d2-descr h3 {
	font-size: 2.25vw;
	margin: 0 0 24px 0;
}
.d2-descr p a {
	color: #fff;
}
.d2-descr-form {
	position: relative;
	overflow: hidden;
	background: rgba(82, 82, 82, 0.3);
	padding: 45px 40px;
	border-radius: 10px;
	margin: 50px 0 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.d2-descr-form::before {
	background: url(../img/ico2.svg) no-repeat right / cover;
	width: 46%;
	height: 100%;
	bottom: 0;
	left: 0;
}
.d2-descr-form h3 {
	font-size: 22px;
	margin: 0 0 15px 0;
}
.d2-descr-form p {
	color: rgba(255, 255, 255, 0.6);
	margin: 25px 0;
}
.d2-item p span {
	font-weight: 700;
}
.d2-item p a {
	text-decoration: underline;
}

/* --------------------------------
	
	d3
	
-------------------------------- */
#d3 {
	position: relative;
	overflow: hidden;
	padding-bottom: 200px;
}
.d3-grid {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 0 -10px;
}
.d3-item {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-radius: 10px;
	padding: 45px 40px;
	margin: 0 10px;
}
.d3-item img {
	width: 80px;
	margin: 0 0 50px 0;
}

/* --------------------------------
	
	d4
	
-------------------------------- */
#d4 {
	position: relative;
	overflow: hidden;
}
.d4-content {
	position: relative;
	width: 65%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 0 200px 0;
}
.post-template-transportation .d4-content {
	padding-top: 200px;
	width: 50%;
}
#d4 .title {
	margin: 0 0 40px 0;
}
.d4-list, .d4-list-grid {
	margin: 0 0 36px 0;
}
.post-template-transportation .d4-list {
	width: 75%;
}
.post-template-transportation.postid-1167 .d4-list {
	width: 100%;
}
.post-template-transportation .service-intro-bg {
	right: 150px;
}
.d4-list ul {
	display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
}
.d4-list li {
	position: relative;
	width: 50%;
	font-size: 16px;
	margin: 10px 0;
	line-height: 1.5;
	padding: 0 40px;
}
.d4-list li a {
	color: #000;
}
.post-template-transportation .d4-list li {
	width: 100%;
	padding: 0 0 0 40px;
}
.post-template-transportation.postid-1167 .d4-list li {
	width: 50%;
	padding: 0 40px;
}
.d4-list li::before {
	background: #CC3333;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	left: 0;
	top: 5px;
}
.d4-list-grid {
	width: 85%;
}
.d4-list-item {
	position: relative;
	font-size: 16px;
	margin: 16px 0;
	line-height: 1.5;
	display: flex;
	align-items: center;
}
.d4-list-item img {
	width: 48px;
	margin: 0 24px 0 0;
	flex: 0 0 auto;
}
.d4-sub {
	font-size: 22px;
	margin: 0 0 30px 0;
}
#d4 .service-intro-bg::before {
	background: #E5E5E5;
	width: 955px;
	height: 955px;
	border-radius: 50%;
	top: 10%;
	right: 0;
	transform: translate(24%,0%);
}
.post-template-transportation #d4 .service-intro-bg::before {
	transform: translate(44%,0%);
	top: 19%;
}

/* --------------------------------
	
	d5
	
-------------------------------- */
#d5 {
	position: relative;
	overflow: hidden;
}
#d5 .dop2-item {
	display: flex;
}

/* --------------------------------
	
	d6
	
-------------------------------- */
#d6 {
	position: relative;
	overflow: hidden;
}
#d6 .service-form-flex {
	background: #333333;
}

/* --------------------------------
	
	d8
	
-------------------------------- */
#d8 {
	position: relative;
	overflow: hidden;
	background: #F7F7F7;
}
#d8 .b7-flex::before {
	background: url(../img/b7-map2.svg) no-repeat center / contain;
	height: 90%;
}
.postid-903 .d2-item, .postid-918 .d2-item, .postid-933 .d2-item {
	width: calc(50% - 20px);
}
.postid-903 .d4-list li {
	width: 100%;
}
.b5-txt p span {
	font-weight: 700;
}
.postid-918 .d4-content, .postid-933 .d4-content, .postid-948 .d4-content, .postid-958 .d4-content {
	padding: 200px 0;
}
#d4 .service-intro-bg {
	width: 42%;
	height: auto;
}
.post-template-transportation #d4 .service-intro-bg {
	width: 47%;
	max-width: 910px;
}
.category-7 #page {
	padding-bottom: 200px;
}
.category-7 .service-img {
	transform: translate(10%,0);
}
.category-7 .main-service-item::before {
	transform: translateX(-20%);
}


/* --------------------------------
	
	project
	
-------------------------------- */
.project-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
	padding: 0 0 200px 0;
}
.project-grid .project-item {
	width: calc(33.333% - 20px);
	margin: 10px;
	display: flex;
}

/* --------------------------------
	
	burger
	
-------------------------------- */
.burger {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
	display: none;
	background: #CC3333;
	border-radius: 50%;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.burger::before, .burger span, .burger::after {
  width: 20px;
  height: 2px;
  display: block;
  background: #fff;
  border-radius: 1.5px;
  opacity: 1;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.burger::before {
	top: 16px;
}
.burger span {
	position: relative;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.burger:after {
	top: auto;
	bottom: 16px;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
/* Click */
.burger.cross span {
	opacity: 0;
}
.burger.cross:before, .burger.cross:after {
	top: 50%;
}
.burger.cross:before {
	-webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.burger.cross:after {
	-webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.burger:focus {
	outline: none;
}
.header-nav {
	display: none;
}
.hidden {
	display: none;
}
.post-template-directions #b5::before {
	display: none;
}

/* --------------------------------
	
	modal-box
	
-------------------------------- */
.modal, .modal-box {
	z-index: 999;
}
.modal-sandbox {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.modal {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.modal.open {
	position: fixed;
	opacity: 1;
	visibility: visible;
}
.modal-box {
	display: table;
	width: 100%;
	height: 100%;
	z-index: 9999;
}
.modal-body {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	z-index: 9999;
}
.modal_container {
	margin: 0 auto;
	width: 100%;
	max-width: 650px;
	position: relative;
	display: table;
	background: rgba(255, 255, 255, 1);
	color: #000;
	box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.3);
	border-radius: 5px;
	padding: 50px;
	will-change: transform;
	-webkit-transition: 0.15s ease-out;
	transition: 0.15s ease-out;
	transform: translateY(-100%);
	opacity: 0;
}
.open .modal_container {
	transform: translateX(0%);
	opacity: 1;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}

/* Close Button */
.close-modal {
	position: absolute;
	top: 12px;
	right: 12px;
	cursor: pointer;
	width: 12px;
	height: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
  will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.close-modal img {
	position: relative;
	width: 100%;
}
.close-modal:hover {
	transform: rotate(-90deg);
}

.form-title {
	font-size: 35px;
	font-weight: 700;
	margin: 0 0 10px 0;
	text-align: center;
	line-height: 1;
}
.form-txt {
	font-size: 18px;
	margin: 0 auto 30px auto;
	text-align: center;
	width: 85%;
}
.modal .wpcf7-form-control-wrap input {
	background: #F4F4F4;
	padding: 15px;
	border: 1px solid transparent;
}
.modal .wpcf7-form-control-wrap input:hover {
	border: 1px solid rgba(0, 0, 0, 0.15);
}

/** Custom Select **/
.nice-select {
	font-family: 'Montserrat', sans-serif;
	-webkit-tap-highlight-color: transparent;
	background-color:transparent;
	box-sizing: border-box;
	clear: both;
	cursor: pointer;
	display: flex;
	align-items: center;
	background: #F4F4F4;
	color: #000;
	font-size: 16px;
	outline: none;
	padding: 15px;
	border: 1px solid transparent;
	position: relative;
	text-align: left !important;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	white-space: nowrap;
	width: 100%;
}
.nice-select:hover {
	border: 1px solid rgba(0, 0, 0, 0.15);
}
.nice-select:active, .nice-select.open, .nice-select:focus {
	border: 1px solid rgba(0, 0, 0, 0.15);
}
.nice-select:after {
	background: url(../img/select.svg) no-repeat center / contain;
	height: 8px;
	width: 8px;
	pointer-events: none;
	right: 12px;
	will-change: transform;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.nice-select.open:after {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.nice-select.disabled {
	border-color: #ededed;
	color: #999;
	pointer-events: none;
}
.nice-select.disabled:after {
	border-color: #cccccc;
}
.nice-select.wide {
	width: 100%;
}
.nice-select.wide .list {
	left: 0 !important;
	right: 0 !important;
	height: auto;
	border: 0;
	max-height: 285px;
	box-shadow: 6px 6px 6px rgba(0,0,0,0.2);
}
.nice-select.right .list {
	left: auto;
	right: 0;
}
.nice-select.small {
	font-size: 12px;
	height: 36px;
	line-height: 34px;
}
.nice-select.small:after {
	height: 4px;
	width: 4px;
}
.nice-select.small .option {
	line-height: 34px;
	min-height: 34px;
}
.nice-select .list {
	background: rgba(255,255,255,0.65);
	box-shadow: 4px 0 10px rgba(68, 68, 68, 0.23);
	box-sizing: border-box;
	margin-bottom: 8px;
	opacity: 0;
	overflow: hidden;
	padding: 0;
	pointer-events: none;
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 100%;
	backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
	will-change: transform;
	-webkit-transform-origin: 50% 0;
	-ms-transform-origin: 50% 0;
	transform-origin: 50% 0;
	-webkit-transform: scale(0.75) translateY(21px);
	-ms-transform: scale(0.75) translateY(21px);
	transform: scale(0.75) translateY(21px);
	-webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
	transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
	z-index: 9;
}
.nice-select.open .list {
	opacity: 1;
	pointer-events: auto;
	-webkit-transform: scale(1) translateY(0);
	-ms-transform: scale(1) translateY(0);
	transform: scale(1) translateY(0);
}
.nice-select .list:hover .option:not(:hover) {
	background-color: transparent !important;
}
.nice-select .option {
	cursor: pointer;
	color: #000;
	font-size: 14px;
	font-weight: 400;
	list-style: none;
	outline: none;
	padding: 10px 15px;
	margin: 0;
	text-align: left;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.nice-select .option:hover, .nice-select .option.selected.focus {
	background: #F4F4F4;
}
.nice-select .option.selected {
	font-weight: 500;
}
.nice-select .option.disabled {
	background-color: transparent;
	color: #999;
	cursor: default;
}
.no-csspointerevents .nice-select .list {
	display: none;
}
.no-csspointerevents .nice-select.open .list {
	display: block;
}
.form-group span.select, .form-group span.current {
	margin-bottom: 0;
}

.file {
	position: relative;
	display: inline-block;
}
.file .wpcf7-form-control-wrap {
	margin: 0; 
}
.add-image {
	position: relative;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 16px;
	color: #000;
	border: 1px solid #000;
  border-radius: 5px;
	text-align: center;
	border-radius: 4px;
	background-color: transparent;
	line-height: 1;
	padding: 15px 20px;
	box-sizing: border-box;
	margin: 0;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.add-image img {
	width: 20px;
	flex: 0 0 auto;
	margin: 0 15px 0 0;
}
.file input[type=file] {
	position: absolute;
	z-index: -1;
	opacity: 0;
	display: block;
	width: 0;
	height: 0;
}

/* Focus */
.file input[type=file]:focus + .add-image {
	box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

/* Hover/active */
.file:hover .add-image {
	border: 1px solid #ddd;
}
.file:active .add-image {
	border: 1px solid #ddd;
}

/* Disabled */
.file input[type=file]:disabled + .add-image {
	border: 1px solid #ddd;
}


/* --------------------------------
	
	notfound-flex
	
-------------------------------- */
.error404, .page-template-thanks {
	background: #000;
	color: #fff;
}
.notfound-flex {
	position: relative;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.not-number {
	font-size: 300px;
	font-weight: 800;
	position: absolute;
	color: rgba(255,255,255,0.15);
}
.notfound-flex .title {
	margin: 0 0 20px 0;
}
.notfound-flex p {
	margin: 0 0 24px 0;
}
.succes-ico {
	width: 120px;
	margin: 0 0 24px 0;
}



/* --------------------------------
	
	t9
	
-------------------------------- */
#t9 {
	position: relative;
	overflow: hidden;
	padding: 0 0 250px 0;
} 
.t9-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.t9-item {
	position: relative;
	background: #F7F7F7;
	padding: 30px;
	border-radius: 10px;
	width: calc(33.333% - 20px);
	margin: 10px;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.t9-item.custom {
	background: transparent;
	display: flex;
	flex-direction: column;
	justify-content: flex-end; 
}
.t9-item h3 {
	font-size: 16px;
	margin: 0 0 15px 0;
}
.t9-offer {
	position: relative;
	font-weight: 700;
	width: 50%;
	margin: 40px 0 0 0;
}
.t9-item img {
	width: 80px;
	height: 80px;
	margin: 0 0 20px 0; 
}
.project-gal {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px 70px -10px;
}
.project-gal-item {
	width: calc(33.333% - 20px);
	margin: 10px;
}
.project-gal-item img {
	width: 100%;
	display: block;
	border-radius: 20px;
}














/* --------------------------------
	
	анимация
	
-------------------------------- */
/* .will {
	opacity: 0;
	visibility: hidden;
	}
	.will.active {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
} */

/* --------------------------------
	
	адаптив
	
-------------------------------- */
@media (max-width: 1700px) {
	.container {
		padding: 0 70px;
	}
	.btn {
		font-size: 16px;
		height: 60px;
	}
	.btn::after {
		width: 16px;
		height: 16px;
	}
	p {
		font-size: 14px;
	}
	.project2-flex-content li {
		font-size: 14px;
	}
	.main-service-item {
		padding: 40px;
	}
	.dop-service-txt {
		padding: 50px 30px;
	}
	.b3-item {
		padding: 50px 30px;
	}
	.b3-item h3 {
		font-size: 20px;
	}
	.b4-txt {
		font-size: 14px;
	}
	.b6-title {
		padding: 150px 50px 100px 70px;
	}
	.b7-content {
		padding: 0 100px 0 70px;
	}
	.event-title {
		font-size: 18px;
	}
	.news-date {
		font-size: 14px;
	}
	.footer-nav-item li {
		font-size: 14px;
	}
	.doc-list li a {
		font-size: 14px;
	}
	.contact-link {
	  font-size: 16px;
	}
	.footer-contact-right {
		padding: 0 100px 0 0;
	}
	.logo-footer {
		max-width: 315px;
	}
	.intro-content {
		width: 65%;
	}
	.section {
		padding: 150px 0;
	}
	.intro-list li {
		font-size: 14px;
	}
	#b3 {
		padding: 150px 0;
	}
	.b2-txt {
		font-size: 14px;
	}
	#b9 {
		padding: 150px 0 110px 0;
	}
	.slick-next {
		right: 70px;
	}
	.slick-prev {
		right: 140px;
	}
	#dop-intro .title {
		margin: 0 0 30px 0;
	}
	.aioseo-breadcrumb {
		font-size: 11px;
	}
	header {
		padding: 20px 0;
	}
	.post-template-dopservice #b4 {
		padding: 0 0 150px 0;
	}
	.service1-content li {
		font-size: 14px;
	}
	.project2-flex-content {
		padding: 150px 0 150px 70px;
	}
	.dop2-content h3 {
		font-size: 18px;
	}
	.intro-info li {
		font-size: 14px;
	}
	.intro-info {
		width: 70%;
	}
	.dop1-text li {
		font-size: 14px;
	}
	.intro-btn-txt {
		font-size: 14px;
	}
	.dop1-item h3 {
		font-size: 20px;
	}
	.service2-content {
		padding: 0 70px;
	}
	.service2-content li {
		font-size: 14px;
	}
	.footer-contact {
		padding: 100px 0 120px 0;
	}
	.about-team {
		padding: 150px 0;
	}
	#about2 {
		padding: 100px 0 0 0;
	}
	#b5 {
		padding: 150px 0;
	}
	.about1-item span {
		font-size: 30px;
	}
	.about2-content li {
		font-size: 14px;
	}
	.page-template-about #b3 {
		padding: 150px 0 0 0;
	}
	#about1 {
		padding: 100px 0;
	}
	.section-top .breadcrumb-flex {
		padding: 0 0 45px 0;
	}
	#project-intro .intro-flex {
		padding: 5vh 0;
	}
	.intro-title-group {
		margin: 0 0 4vh 0;
	}
	.project-intro-txt h3 {
		font-size: 20px;
	}
	.intro-img {
		width: 30%;
	}
	.footer-flex-right {
		width: 40%;
	}
	.decision-item .num {
		font-size: 80px;
		margin: 55px 0 15px 0;
	}
	.decision-item {
		padding: 0 110px 10px 0;
	}	
	.decision-item .num::after {
		width: 190px;
		height: 45px;
		right: -80px;
	}
	#decision .title {
		margin: 0 0 20px 0;
	}
	.work-page .service-intro-bg::before {
		width: 700px;
		height: 700px;
	}
	#direction-intro .title {
		margin: 0 0 20px 0;
	}
	#direction-intro .intro-info {
		margin: 15px 0 0 0;
	}
	.page-intro-flex .intro-btn-group {
		margin: 30px 0 0 0;
	}
	.post-template-directions .b5-content {
		padding: 0 70px;
	}
	#d3 {
		padding-bottom: 150px;
	}	
	.d4-content {
		padding: 0 0 150px 0;
	}
	.d4-list {
		margin: 0 0 30px 0;
	}
	#d4 .title {
		margin: 0 0 30px 0;
	}	
	.d2-descr-form {
		margin: 30px 0 0 0;
	}	
	.d2-descr-form p {
		margin: 20px 0;
	}	
	.d2-descr-form h3 {
		margin: 0;
	}	
	.d3-item {
		padding: 35px 30px;
	}
	.d4-sub {
		font-size: 20px;
	}
	.modal_container {
		padding: 30px;
	}
	.form-title {
		font-size: 25px;
	}
	.form-txt {
		font-size: 14px;
		margin: 0 auto 20px auto;
	}
	.modal .wpcf7-form-control-wrap {
		margin: 0 0 10px 0;
	}	
	.modal .wpcf7-form-control-wrap:last-of-type {
		margin: 20px 0;
	}	
	.modal_container {
		max-width: 480px;
	}
	#t9 {
		padding: 0 0 150px 0;
	}
	#d2 {
		padding: 100px 0;
	}
	.post-template-transportation .d4-content {
		padding-top: 150px;
	}	
	.d4-list li {
		font-size: 14px;
	}
	.post-template-transportation .service-intro-bg {
		right: 70px;
	}
	.post-template-transportation #d4 .service-intro-bg {
		width: 52%;
	}
	.t9-item h3 {
		font-size: 14px;
		margin: 0 0 10px 0;
	}
	.menu-top li a {
		margin: 0 35px 0 0;
	}
	.logo {
		max-width: 220px;
	}	
	.project2-item-txt li {
		font-size: 14px;
	}
	.page-content li {
		font-size: 14px;
	}
	#b8 {
		padding: 110px 0 0 0;
	}	
	.header-contact .btn {
		height: 46px;
	}	
	.about-description {
		padding: 0 0 100px 0;
	}	
	.d4-list-item {
		font-size: 14px;
		margin: 12px 0;
	}
	.d4-list-item img {
		width: 40px;
	}
	.b5-content {
		padding: 0 70px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 1400px) {
	.container {
		padding: 0 40px;
	}
	.logo {
  	max-width: 180px;
	}
	header {
		padding: 10px 0;
	}
	.header-link {
		width: 45px;
		height: 45px;
	}
	.header-link img {
		width: 30px;
		height: 30px;
	}
	.intro-grid-item {
		padding: 35px 25px;
	}
	.title, .title2 {
		margin: 0 0 50px 0;
	}
	.main-service-item::before {
		font-size: 260px;
	}
	.main-service-item {
		height: 300px;
	}
	.main-service {
		margin: 0 -10px;
	}
	.main-service-item h3, .dop-service-txt p {
		font-size: 20px;
	}
	.b3-item-img {
		width: 70px;
		height: 70px;
		margin: 0 0 30px 0;
	}
	.b5-content {
		padding: 0 100px;
	}
	.b5-list-item svg {
		width: 50px;
		margin: 0 30px 0 0;
	}
	.b6-title {
		padding: 150px 50px 100px 40px;
	}
	.project-item .slide-img, .b8-slider-item .slide-img {
		height: 450px;
	}
	.slick-next {
		right: 40px;
	}
	.slick-prev {
		right: 110px;
	}
	.section {
		padding: 100px 0;
	}
	.aioseo-breadcrumb {
		font-size: 10px;
	}
	.post-template-dopservice #b4 {
		padding: 0 0 100px 0;
	}
	.dop1-item h3 img {
		margin: 0 20px 0 0;
	}
	.dop2-item img {
		height: 220px;
	}
	.dop2-item {
		padding: 30px;
	}
	#service1 {
		padding: 100px 0 160px 0;
	}
	.service2-content {
		padding: 0 40px;
	}
	.service-form-flex h2 {
		font-size: 25px;
	}
	.title2::before {
		width: 7px;
		height: 60px;
	} 
	.about1-item span {
		font-size: 28px;
	}
	.about1-item {
		padding: 35px 25px;
	}
	.about-team {
		padding: 100px 0;
	}
	.event-title {
		font-size: 18px;
	}
	.blog-grid .news-item {
		width: calc(33.333% - 20px);
	}
	.category-novosti #page {
		padding-bottom: 140px;
	}
	.event-title {
		font-size: 16px;
	}
	.decision-item {
		margin: 30px 0 0 0;
	}
	.work-page .service-intro-bg img {
		object-position: right bottom;
	}
	.work-page .service-intro-bg::before {
		width: 640px;
		height: 640px;
	}	
	.work2-item h3 {
		font-size: 18px;
	}	
	.form-title {
	  margin: 0 0 20px 0;
	}
	.c1-form {
		padding: 45px 30px;
		max-width: 460px;
	}
	.wpcf7-form-control-wrap {
		margin: 0 0 10px 0;
	}
	.wpcf7-form-control-wrap input {
		padding: 12px 0;
		font-size: 14px;
	}
	.contact-flex {
		padding: 0 0 150px 0;
	}
	textarea {
	  font-size: 14px;
	}
	.d3-item img {
		width: 70px;
		margin: 0 0 30px 0;
	}
	.d4-sub {
		font-size: 18px;
	}	
	.d4-content {
		padding: 0 0 100px 0;
	}
	.post-template-transportation .d4-content {
		padding-top: 100px;
	}
	#t9 {
		padding: 0 0 100px 0;
	}
	#d2 {
		padding: 80px 0;
	}
	.post-template-transportation .service-intro-bg {
		right: 40px;
	}
	.postid-1399 #direction-intro .intro-sub, .postid-1375 #direction-intro .intro-sub {
		font-size: 2.25vw;
	}
	.intro-descr {
		font-size: 1.44vw;
	}
	.about-description {
		padding: 0 0 85px 0;
	}
	.b5-grid-item {
		width: calc(50% - 20px);
	}
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 1200px) {
	* {
		scrollbar-color: rgba(12, 12, 12, 0.2) rgba(12, 12, 12, 0);
	}
	/* для Chrome/Edge/Safari */
	*::-webkit-scrollbar {
		height: auto;
		width: auto;
	}
	*::-webkit-scrollbar-track {
		background: transparent;
	}
	*::-webkit-scrollbar-thumb {
		background-color: transparent;
		border-radius: 5px;
		border: 3px solid rgba(12, 12, 12, 0.2);
	}
	* {
		-webkit-tap-highlight-color: transparent;
	}
	.header-contact .btn-header {
		display: none;
	}
	.burger {
		display: flex;
	}
	.header-link {
		width: 50px;
		height: 50px;
		margin: 0 20px 0 0;
	}
	.intro-grid {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.intro-grid-item {
		width: calc(50% - 20px);
		margin: 10px;
	}
	.dop-service {
		margin: 0;
		flex-direction: column;
	}
	.dop-service-item {
		margin: 0 0 20px 0;
		width: 100%;
		height: 350px;
	}
	.dop-service-item:last-child {
		margin: 0;
	}
	#b2 .title {
		text-align: center;
		margin: 0 0 40px 0;
	}
	.b2-bg {
		width: 95%;
	}
	.b3-item {
		width: calc(50% - 20px);
	}
	.b4-grid {
		margin: 0 0 40px 0;
	}
	#b5 {
	  padding: 100px 0;
	}
	.b5-content {
		padding: 0 40px;
	}
	
	/* --------------------------------
		
		навигация адаптив
		
	-------------------------------- */
	.header-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 80%;
		max-width: 300px;
		background: #333333;
		/* height: calc(var(--vh, 1vh) * 100); */
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 0 20px;
		visibility: hidden;
		will-change: transform;
		transform: translateX(-100%);
		-webkit-transition: 0.25s ease-out;
		transition: 0.25s ease-out;
	}
	.header-nav.show {
		visibility: visible;
		transform: translateX(0%);
	}
	.header-nav-top {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		height: 65vh;
		padding: 30px 0;
	}
	.header-nav-bottom {
		padding: 0 0 30px 0;
	}
	.header-nav .logo {
		max-width: 225px;
		margin: 0 0 50px 0;
		width: 65%;
	}
	.menu-top {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		margin: 0;
		flex-direction: column;
		height: 100%;
		position: relative;
		overflow: auto;
	}
	.menu-menju-v-shapke-container {
		margin: 0;
		height: 100%;
		padding: 0 0 32px 0;
	}
	.menu-top li a {
		font-size: 18px;
		margin: 0;
	}
	.sub-menu, .menu-item-has-children .sub-menu {
		position: relative;
		background: transparent;
		width: 100%;
		border-radius: 0px;
		padding: 0;
		bottom: 0;
		left: 0;
		opacity: 1;
		border: none;
		margin: 20px 0 0 0;
		visibility: visible;
		transform: translateY(0%);
		backdrop-filter: none;
	}
	.menu-top .big-memu .sub-menu a img {
	  width: 24px;
	  margin: 0 16px 0 0;
	}
	.sub-menu {
	  display: block;
	}
	.big-memu .sub-menu {
	  padding: 0;
	}
	.menu-top .big-memu .sub-menu a {
		margin: 0;
		padding: 10px 0;
	}
	.menu-item-has-children:hover .sub-menu {
		display: block;
		transform: translateY(0%);
	}
	.menu-top .sub-menu a {
		font-size: 14px;
		font-weight: 400;
		padding: 0;
		color: #fff;
		line-height: 1.6;
		margin: 10px 0;
	}
	.menu-top .sub-menu li {
		font-weight: 400;
	}
	.menu-top li {
		padding: 15px 10px 15px 0;
	}
	.b7-content {
		padding: 0 40px;
	}
	.b8-slider-item {
		width: 430px;
	}
	.b8-slider-item p {
		font-size: 22px;
	}
	.b9-flex {
		flex-direction: column;
		align-items: flex-start;
	}
	.b9-title {
		width: 100%;
	}
	.news-slider {
		width: 100%;
		padding: 0 15% 0 0;
		margin: 0 0 40px 0;
	}
	.hidden {
		display: block;
	}
	.btn.hidden {
		display: flex;
	}
	.b9-title .btn {
		display: none;
	}
	#b9 {
		padding: 100px 0;
	}
	#b9 .slick-next {
		right: 0px;
	}
	#b9 .slick-prev {
		right: 70px;
	}
	.slick-next {
		top: -90px;
	}
	.slick-prev {
		top: -90px;
	}
	.footer-flex {
		padding: 50px 0 35px 0;
		flex-direction: column;
	}
	.footer-flex-left {
		width: 100%;
	}
	.footer-contact {
		padding: 40px 0;
		flex-direction: column;
		width: 100%;
		align-items: flex-start;
	}
	.footer-contact-right {
		padding: 0 0 30px 0;
	}
	.footer-contact-left p {
		margin: 10px 0;
	}
	.footer-flex-right {
		align-items: flex-start;
		width: 100%;
	}
	.footer-nav-grid {
		width: 100%;
		margin: 0 0 40px 0;
		flex-direction: column;
	}
	.item-service {
		display: none;
	}
	.footer-bottom {
		align-items: flex-start;
		flex-direction: column-reverse;
	}
	.doc-list {
		margin: 0 0 32px 0;
		flex-direction: column;
		align-items: flex-start;
	}
	.doc-list li {
		text-align: left;
		margin: 0 0 8px 0;
	}
	.copy {
		color: rgba(255,255,255,0.5);
	}
	.social-grid-link {
		width: 40px;
		height: 40px;
	}
	.main-service-item {
		width: calc(50% - 20px);
	}
	.dop1-grid {
		margin: 0;
		flex-direction: column;
	}
	.dop1-item {
		margin: 0 0 20px 0;
	}
	.dop1-item:last-child {
		margin: 0;
	}
	.dop2-grid {
		margin: 0;
		flex-direction: column;
	}
	.dop2-item {
		margin: 0 0 20px 0;
		width: 100%;
	}
	.dop2-item:last-child {
		margin: 0;
	}
	.dop2-item img {
		height: 360px;
	}
	.post-template-service .page-intro-flex {
		width: 100%;
		min-height: auto;
	}
	#b6 .btn.hidden {
		display: none;
	}
	.service-form-flex h2 br {
		display: none;
	}
	#service-intro {
		display: flex;
		flex-direction: column-reverse;
	}
	.service-intro-bg {
		position: relative;
		display: flex;
		justify-content: flex-end;
	}
	.post-template-service .page-intro-flex {
		padding: 210px 0 0 0;
	}
	.service-intro-bg {
		width: 100%;
	}
	.page-intro-flex {
		width: 100%;
	}
	.service-intro-bg img {
		height: 60vh;
	}
	.about-description {
		margin: 0 0 50px 0;
		width: 100%;
	}
	.about-page .b4-txt {
		width: 100%;
	}
	.about-page .about-team .b4-txt {
		width: 100%;
	}
	.about1-item {
		width: calc(50% - 20px);
	}
	.about1-item span {
		font-size: 24px;
		margin: 0 0 10px 0;
	}
	.about2-flex {
		flex-direction: column;
	}
	.about2-content {
		width: 100%;
		padding: 0 0 50px 0;
	}
	.about2-img {
		width: 100%;
	}
	#about1 {
		background: url(../img/about1-bg.jpg) no-repeat center / cover;
	}
	.project-intro-txt h3 {
		font-size: 18px;
	}
	.intro-content {
		width: 100%;
	}
	.project2-grid {
		margin: 0;
		flex-wrap: wrap;
	}
	.project2-item, .project2-item.col2 {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.project2-item:last-of-type {
		margin: 0;
	}
	.project2-flex {
		flex-direction: column-reverse;
		align-items: center;
	}
	.project2-flex-content {
		padding: 0 40px 50px 40px;
		width: 100%;
		z-index: 1;
	}
	.project2-flex-img::before {
		width: 730px;
		height: 730px;
		transform: translate(38%,9%);
	}
	.project2-item-title h3 {
		font-size: 20px;
	}
	.project2-flex-content h2 {
		font-size: 20px;
		margin: 0 0 20px 0;
	}
	.project2-flex-content p {
		margin: 10px 0;
	}
	.blog-grid .news-item {
		width: calc(50% - 20px);
	}
	.bottom-block {
		width: 100%;
		justify-content: space-between;
	}
	.news-page {
		width: 100%;
	}
	.b3-item.b3-item-title .title {
		font-size: 30px;
	}
	.decision-item {
		width: 50%;
	}
	.decision-item .num::after {
		display: none;
	}	
	.decision-item .num {
		margin: 0 0 20px 0;
	}
	.decision-item, .decision-item:nth-of-type(1), .decision-item:nth-of-type(2), .decision-item:nth-of-type(3) {
		padding: 30px 130px 30px 0;
		margin: 0;
	}	
	.work2-item {
		width: calc(50% - 20px);
	}	
	#b3 {
		padding: 100px 0;
	}
	.page-intro-flex {
		min-height: auto;
	}	
	.menu-item a[aria-current="page"] {
	  color: #fff !important;
	}
	.wpcf7-form-control-wrap:last-of-type {
		margin: 20px 0;
	}
	.wpcf7-list-item-label {
		font-size: 12px;
	}
	#c1 {
		background: url(../img/c1-bg.jpg) no-repeat center / cover;
	}	
	.header-flex .menu-menju-v-shapke-container {
		display: none;
	}
	.project-grid .project-item {
		width: calc(50% - 20px);
	}
	.project-grid {
		padding: 0 0 100px 0;
	}
	#direction-intro .page-intro-flex {
		width: 100%;
		padding-bottom: 100px;
	}
	.post-template-directions .b5-content {
		padding: 0 40px;
	}
	.d2-grid {
	  flex-wrap: wrap;
	  justify-content: flex-start;
	  margin: 0 -10px 100px -10px;
		width: auto;
	}
	.d2-item {
	  width: calc(33.333% - 20px);
		margin: 10px;
	}
	.d2-flex {
		flex-direction: column;
		margin: 0;
	}
	.d2-content {
		width: 100%;
		padding: 0;
	}
	.d2-descr h3 {
		font-size: 28px;
	}
	.d3-grid {
		flex-wrap: wrap;
		justify-content: center;
	}	
	.d3-item {
		width: calc(33.333% - 20px);
		margin: 10px;
	}
	#d4 {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-end;
	}
	.d4-content {
		padding: 0;
		width: 100%;
	}
	#d3 {
		padding-bottom: 100px;
	}
	.intro-info {
		width: 100%;
	}
	.b7-content .title.small {
		font-size: 25px;
	}
	.modal_container {
		max-width: 460px;
		padding: 30px 20px;
		width: 95%;
	}
	.form-title {
		margin: 0 0 10px 0;
		font-size: 25px;
	}	
	.form-txt {
		font-size: 14px;
		margin: 0 auto 20px auto;
	}	
	.nice-select {
		font-size: 14px;
		height: 49px;
	}	
	.modal .form-title {
		margin: 0 0 10px 0;
		font-size: 20px;
	}
	.form-txt {
		font-size: 12px;
	}	
	.add-image {
		font-size: 14px;
		padding: 15px;
	}	
	.post-template-transportation .d4-content {
		width: 100%;
	}
	.header-top {
		display: none;
	}
	.section-top {
		padding-top: 100px;
	}	
	#dop-intro .breadcrumb-flex, #service-intro .breadcrumb-flex, #project-intro .breadcrumb-flex, #direction-intro .breadcrumb-flex {
		top: 100px;
	}	
	.b8-item.swiper-slide {
		height: 50vw;
		width: 45vw;
	}
	.b8-item.swiper-slide:hover {
		width: 45vw;
	}
	.menu-top .big-memu .sub-menu li {
	  width: 100%;
	}
	.header-contact {
		display: none;
	}
	.btn-header {
		height: 48px;
		padding: 0 24px;
		font-size: 14px;
		margin: 0 16px 0 0;
	}
	footer .btn {
		height: 48px;
		padding: 0 24px;
		font-size: 14px;
	}
	.top-link {
		width: 40px;
		height: 40px;
		bottom: 16px;
		right: 16px;
	}
	.title {
		font-size: 36px;
		margin: 0 0 40px 0;
	}
	.d4-list-grid {
		width: 100%;
	}
	.project-item {
		width: 360px;
	}
	.b5-bg {
		display: none;
	}
	.b5-flex.b5-flex-main {
		justify-content: flex-start;
	}
	.b5-flex-main .b5-content {
		width: 100%;
	}
	.b5-content .title {
		margin: 0 0 40px 0;
	}
	.intro-group {
		min-height: auto;
		padding: 120px 0 10px 0;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 991px) {
	.intro-flex {
		flex-direction: column;
	}
	.intro-content {
		width: 100%;
		padding: 0;
	}
	.intro-img {
		display: none;
	}
	.section {
		padding: 100px 0;
	}
	.main-service {
		margin: 0 -10px;
	}
	.b2-bg {
		width: 100%;
		margin: 0 0 40px 0;
	}
	#b2 {
		padding: 60px 0 45px 0;
	}
	#b3 {
		padding: 100px 0;
	}
	.b3-grid {
		margin: 0;
	}
	.b3-item {
		width: 100%;
		margin: 0 0 16px 0;
	}
	.b3-item:last-of-type {
		margin: 0;
	}
	.b3-item.b3-item-title {
		background: transparent;
		padding: 0;
		margin: 0 0 45px 0;
	}
	.b4-grid {
		margin: 0;
		flex-direction: column;
	}
	.b4-item {
		width: 100%;
		padding: 0;
		margin: 0 0 80px 0;
	}
	.b4-item:last-child {
		margin: 0 0 45px 0;
	}
	.b5-flex {
		flex-direction: column-reverse;
	}
	#b5 {
		padding: 100px 0 0 0;
	}
	.b5-content {
		width: 100%;
		margin: 0 0 80px 0;
	}
	.b5-list {
		width: 100%;
	}
	.b5-content .title {
		margin: 0 0 45px 0;
	}
	.b5-img {
		width: 100%;
		border-radius: 0;
	}
	.b6-flex {
		flex-direction: column;
		align-items: flex-start;
		padding: 100px 40px;
	}
	.b6-sub {
		display: none;
	}
	.b6-title {
		padding: 0;
		width: 100%;
		z-index: 1;
	}
	.slider-container {
		width: 100%;
		padding: 45px 0;
		overflow: visible;
		z-index: 1;
	}
	.b6-title-content .btn {
		display: none;
	}
	.b6-title-content h3 {
		margin: 0;
	}
	.b6-slider {
		padding: 0;
	}
	.slider-container::after {
		display: none;
	}
	.b6-flex::after {
		background: url(../img/ico2.svg) no-repeat left / cover;
		width: 100%;
	}
	.b6-flex .btn.hidden {
		z-index: 1;
	}
	#b5::before {
		display: none;
	}
	.project-item .slide-img {
		opacity: 0.8;
	}
	.b7-flex {
		align-items: flex-start;
		flex-direction: column;
	}
	.b7-content {
		width: 100%;
		padding: 100px 40px;
	}
	.b7-img {
		width: 100%;
		position: relative;
	}
	.b8-flex {
		padding: 100px 40px;
		flex-direction: column;
	}
	.b8-sub {
		display: none;
	}
	.b8-slider {
		padding: 0;
	}
	.slick-next {
		right: 0;
	}
	.slick-prev {
		right: 60px;
	}
	.b8-title .title {
		margin: 0 130px 0 0;
	}
	.b8-flex .slider-container {
		padding: 45px 0 0 0;
	}
	.b7-flex::before {
		background: url(../img/b7-map.svg) no-repeat left top / contain;
		width: 100%;
		height: 100%;
		left: 0;
		top: 60px;
	}
	.post-template-dopservice #b3 {
		padding: 0 0 100px 0;
	}
	#b6 .btn.hidden {
		display: flex;
	}
	#b9::before {
		display: none;
	}
	#b4 .intro-btn-group {
		justify-content: flex-start;
	}
	.intro-btn-group .btn {
		margin: 0;
	}
	#dop-intro .breadcrumb-flex, #service-intro .breadcrumb-flex, #project-intro .breadcrumb-flex, #direction-intro .breadcrumb-flex {
		top: 100px;
	}
	#service-intro {
		display: flex;
		flex-direction: column-reverse;
		justify-content: space-between;
	}
	.post-template-service .page-intro-flex, .post-template-work .page-intro-flex {
		padding: 160px 0 0 0;
	}
	.subtitle-small {
		font-size: 18px;
		width: 100%;
	}
	.subtitle {
		font-size: 25px;
		margin: 15px 0 20px 0;
	}
	.page-intro-flex .intro-btn-group {
		margin: 35px 0 0 0;
	}
	.service1-map {
		display: none;
	}
	.service1-content {
		width: 100%;
	}
	.service1-text {
		width: 100%;
	}
	.service-form-flex {
		padding: 30px;
		height: auto;
		flex-direction: column;
	}
	.service-form-flex h2 {
		margin: 0 0 20px 0;
		font-size: 20px;
	}
	.service-form-flex .btn {
		width: 100%;
	}
	.intro-btn-txt {
		display: none;
	}
	.title {
		font-size: 25px;
	}
	#service1 {
	  padding: 45px 0;
	}
	#service-intro {
		min-height: 100vh;
	}
	.intro-content h1, .title, .title2 {
		font-size: 25px;
	}
	.about-team {
		padding: 100px 0;
	}
	#about2::before {
		width: 75%;
		height: 60%;
	}
	.project2-item-title img {
		width: 40px;
		margin: 0 20px 0 0;
	}
	.project2-item-txt h4 {
		font-size: 16px;
	}
	.project2-flex-img {
		width: 60%;
	}
	.news-description h3 {
		font-size: 25px;
	}
	.b3-item.b3-item-title .title {
		font-size: 26px;
	}
	.decision-item, .decision-item:nth-of-type(1), .decision-item:nth-of-type(2), .decision-item:nth-of-type(3) {
		padding: 30px 70px 30px 0;
		margin: 0;
	}	
	.center-btn-group .btn {
		margin: 0;
	}
	.project-heading-title .sub {
		width: 100%;
	}
	.contact-flex {
		padding: 0 0 100px 0;
		flex-direction: column;
	}	
	.contact-txt {
		width: 100%;
		padding: 0 0 50px 0;
	}	
	.contact-map {
		width: 100%;
	}	
	.contact-time {
		padding: 35px 0;
	}	
	.contact-txt .social-grid {
		margin: 0;
	}
	#direction-intro .intro-sub {
		font-size: 25px;
	}
	.post-template-directions .b5-content {
		width: 100%;
	}
	.post-template-directions .b5-img {
		width: 100%;
		display: block;
	}	
	.b5-img img {
		width: 100%;
		border-radius: 0;
		position: relative;
	}	
	.post-template-directions #b5 {
		padding: 100px 0;
	}
	.d3-item {
		width: calc(50% - 20px);
	}
	#d4 .service-intro-bg img {
		height: auto;
	}	
	#d4 .service-intro-bg {
		width: 60%;
	}	
	.d4-list li {
		width: 100%;
		font-size: 14px;
		padding: 0 0 0 30px;
	}
	.postid-918 .d4-content, .postid-933 .d4-content, .postid-948 .d4-content, .postid-958 .d4-content {
		padding: 50px 0 20px 0;
	}
	.t9-grid {
		margin: 0;
	}
	.t9-item {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.t9-item:last-of-type {
		margin: 0;
	}	
	.t9-item.custom {
		padding: 0;
	}
	.post-template-transportation .d4-list {
		width: 100%;
	}
	.t9-offer {
		width: 100%;
	}
	.project-gal-item {
		width: calc(50% - 20px);
	}
	.project-gal-item img {
		border-radius: 10px;
	}
	.page-content form {
		width: 100%;
	}
	.postid-1399 #direction-intro .intro-sub, .postid-1375 #direction-intro .intro-sub {
		font-size: 25px;
	}
	.intro-descr {
		font-size: 16px;
	}
	#d2 .title-group {
		text-align: left;
	}
	.title-group p {
		width: 100%;
	}	
	.d2-flex {
		align-items: flex-start;
	}
	.d2-content {
		align-items: flex-start;
		text-align: left;
	}
	.d2-grid {
		margin: 0 -10px 70px -10px;
	}
	.d2-descr-form {
		align-items: flex-start;
	}
	.b6-slider .slick-next {
		right: 0;
	}
	.b6-slider .slick-prev {
		left: 0;
	}
	.b5-bg {
		display: none;
	}
	.b5-grid-item {
		margin: 0 10px 20px 10px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 767px) {
	header, header.shrink {
		padding: 15px 0;
	}
	.container {
		padding: 0 16px;
	}
	.logo, .shrink .logo {
		max-width: 155px;
		transition: 0s;
	}
	.intro-content h1, .title, .title2 {
		font-size: 25px;
	}
	.intro-btn-txt {
		display: none;
	}
	.btn {
		font-size: 16px;
		height: 65px;
	}
	.intro-grid {
		margin: 0;
	}
	.intro-grid-item {
		width: 100%;
		margin: 0 0 16px 0;
	}
	#intro {
		padding: 0;
	}
	.title, .title2 {
		margin: 0 0 45px 0;
	}
	.intro-grid-item span {
		font-size: 25px;
	}
	.main-service-item {
		width: 100%;
		margin: 0 0 16px 0;
		height: 250px;
		padding: 25px 30px;
	}
	.main-service-item:last-of-type {
		margin: 0;
	}
	.main-service-item::before {
		font-size: 200px;
		bottom: -40px;
	}
	.main-service-item.active::before {
		transform: translateX(-28%);
	}
	.active .service-img {
		transform: translate(0,0);
	}
	.service-img {
		width: 90%;
	}
	.dop-service-item {
		height: auto;
	}
	.b3-item {
		padding: 25px;
	}
	.b3-item-img {
		width: 50px;
		height: 50px;
		margin: 0 0 15px 0;
	}
	.player-icon {
		width: 60px;
		height: 60px;
	}
	.b5-content {
		padding: 0 16px;
	}
	.b5-list-item svg {
		width: 40px;
		margin: 0 25px 0 0;
	}
	.b6-slider .slick-track {
		display: flex;
	}
	.project-item .plus {
	  display: none;
	}
	.project-item .slide-img, .b8-slider-item .slide-img {
	  height: 100%;
	  position: absolute;
		top: 0;
		left: 0;
	}
	.project-item {
		width: 260px;
		margin: 0 20px 0 0;
		align-items: flex-end;
	}
	.b6-flex {
		padding: 100px 16px;
	}
	.b6-title-content .title {
		font-size: 35px;
	}
	.b6-title-content h3 {
		font-size: 18px;
		width: 70%;
	}
	.slick-prev {
		top: -60px;
		right: 50px;
	}
	.slick-next {
		top: -60px;
	}
	.slick-next, .slick-prev {
		width: 30px;
		height: 30px;
	}
	.slick-next img, .slick-prev img {
		width: 14px;
		height: 14px;
	}
	.project-title {
		bottom: 0;
		font-size: 16px;
		position: relative;
		padding: 30px;
	}
	.b7-content {
		padding: 100px 16px;
	}
	.btn {
		padding: 0 20px;
	}
	.b8-flex {
		padding: 100px 16px;
	}
	.b8-slider-item {
		width: 260px;
		height: 260px;
		align-items: flex-end;
	}
	.b8-slider-item p {
		position: relative;
		font-size: 16px;
		bottom: 0;
		padding: 30px;
	}
	.news-item {
		margin: 0 20px 0 0;
	}
	.news-slider .news-item {
		max-width: 260px;
	}
	#b9 .slick-prev {
		right: 50px;
	}
	.logo-footer {
		max-width: 154px;
	}
	.header-nav {
		width: 85%;
	}
	.dop-service-txt {
		padding: 30px 20px;
	}
	.intro-info {
		width: 100%;
	}
	.dop1-item {
		padding: 20px 20px 40px 20px;
	}
	.intro-info li {
		font-size: 14px;
		padding: 0 0 0 30px;
	}
	.dop1-text li {
		font-size: 14px;
		padding: 0 0 0 30px;
	}
	.dop2-item {
		padding: 20px;
	}
	.dop2-item img {
		height: auto;
	}
	.dop2-content h3 {
		font-size: 20px;
	}
	.dop2-txt {
	  margin: 10px 0 0 0;
	}
	.dop2-txt p {
	  margin: 0 0 12px 0;
	}
	.post-template-dopservice #b4 {
		padding: 0 0 100px 0;
	}
	.player__video {
		max-width: 100%;
	}
	.video-close {
		width: 16px;
		height: 16px;
	}
	.video-close img {
		width: 100%;
	}
	#b4 .intro-btn-group {
		padding: 45px 0 0 0;
	}
	.page-intro-flex {
		padding: 125px 0 0 0;
	}
	.video-link {
		height: 250px;
	}
	.post-template-service .b7-flex::before {
		background: url(../img/b7-map3.svg) no-repeat left / contain;
		height: 240px;	
	}
	.b7-img {
		width: 100%;
		position: relative;
		height: 400px;
	}
	.service-intro-bg .service-mob-img {
		display: block;
	}
	.service-intro-bg .service-desc-img {
		display: none;
	}
	.work-page .service-intro-bg .service-desc-img {
	  display: block;
	}
	.service-intro-bg img {
		height: auto;
	}
	#dop-intro .breadcrumb-flex, #service-intro .breadcrumb-flex, #project-intro .breadcrumb-flex, #direction-intro .breadcrumb-flex {
		top: 85px;
	}
	#project-intro .page-intro-flex {
	  padding: 160px 0 0 0;
	}
	.b2-list {
		display: block;
		margin: 0 0 40px 0;
		width: 100%;
	}
	.b2-bg {
		display: none;
	}
	#b2 .title {
		text-align: left;
		margin: 0 0 30px 0;
	}
	#b2::before {
		background: url(../img/b2-3.svg) no-repeat right / contain;
		width: 70%;
		height: 445px;
		right: 0;
		top: 35%;
	}
	.about-team-bg {
		margin: 0 0 50px 0;
	}
	.page-template-about #b3 {
		padding: 100px 0 0 0;
	}
	.post-template-project #service1 {
		padding: 100px 0;
	}
	.project2-item {
		padding: 30px 20px;
	}
	.project-heading-title {
		margin: 0 0 45px 0;
	}
	.project2-flex-img {
		width: 80%;
	}
	.project2-flex-img::before {
		width: 530px;
		height: 530px;
		transform: translate(28%,39%);
	}
	.project2-flex-content {
		padding: 0 16px 50px 16px;
	}
	.blog-grid {
		margin: 0;
	}
	.blog-grid .news-item {
		width: 100%;
		margin: 0 0 40px 0;
	}
	.blog-grid .news-item:last-of-type {
		margin: 0;
	}
	.category-novosti #page {
		padding-bottom: 100px;
	}
	.title br {
		display: none;
	}	
	.decision-item, .decision-item:nth-of-type(1), .decision-item:nth-of-type(2), .decision-item:nth-of-type(3) {
		padding: 0;
		margin: 30px 0;
	}	
	.decision-item {
		width: 100%;
	}	
	.decision-item .num {
		margin: 0 0 10px 0;
	}
	.decision-item .num {
		color: #f5d6d6;
	}
	.decision-item:last-of-type {
		display: none;
	}
	.page-intro-flex {
		min-height: 100vh;
	}
	.work-page .page-intro-flex {
		min-height: auto;
	}
	.work-page .service-intro-bg::before {
		width: 440px;
		height: 440px;
		transform: translate(18%,37%);
	}	
	.work2-grid {
		margin: 0 0 30px 0;
	}
	.work2-item {
	  width: 100%;
		margin: 0 0 15px 0;
		padding: 30px 25px;
	}
	.work2-item:last-of-type {
		margin: 0;
	}
	.post-template-service #dop2 {
	  padding: 0 0 100px 0;
	}
	.project-sub {
		width: 100%;
	}
	.contact-intro .title {
		margin: 0 0 45px 0;
	}	
	.contact-map iframe {
		height: 50vh;
	}
	.form-title {
		margin: 0 0 20px 0;
	}
	.c1-form {
		padding: 35px 20px;
		max-width: 460px;
	}
	.wpcf7 form .wpcf7-response-output {
		font-size: 12px;
	}
	.header-contact-item {
		margin: 0 0 20px 0;
	}
	.header-nav-bottom {
	  padding: 0 0 50px 0;
	}
	.header-nav-top {
		height: 57vh;
		padding: 30px 0 15px 0;
	}
	.header-contact-item span {
		font-size: 14px;
	}	
	.header-contact-item a {
		font-size: 14px;
	}	
	.header-nav .logo {
		margin: 0 0 20px 0;
	}
	.project-grid {
		margin: 0;
	}
	.project-grid .project-item {
		width: 100%;
		height: 300px;
		margin: 0 0 15px 0;
	}
	.project-grid .project-item:last-of-type {
		margin: 0;
	}	
	#d4 .service-intro-bg {
		width: 80%;
	}
	#direction-intro .title {
		font-size: 22px;
		padding: 15px;
	}	
	#direction-intro .page-intro-flex {
		padding: 160px 0 100px 0;
		min-height: auto;
	}
	.post-template-directions .b5-content {
		padding: 0 16px;
	}	
	.post-template-directions .b5-list-item {
		padding: 0;
		border: none;
		border-radius: 0;
		margin: 0 0 30px 0;
		align-items: flex-start;
	}
	.post-template-directions .b5-list-item:last-of-type {
		margin: 0;
	}	
	.title-group p {
		width: 100%;
	}
	.d2-grid {
		margin: 0 0 45px 0;
	}
	.d2-item {
		width: 100% !important;
		padding: 20px;
		display: flex;
		align-items: center;
		margin: 0 0 20px 0;
	}
	.d2-item:last-of-type {
		margin: 0;
	}
	.d2-item img {
		width: 60px;
		margin: 0 30px 0 0;
		flex: 0 0 auto;
	}
	.d2-descr h3 {
		font-size: 18px;
	}
	.d2-descr-form {
		padding: 30px 20px;
	}
	.d2-descr-form h3 {
		font-size: 18px;
	}
	#d2 {
		padding: 60px 0 45px 0;
	}
	.d3-grid {
		margin: 0;
	}
	.d3-item {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 20px;
		display: flex;
		align-items: center;
	}
	.d3-item:last-of-type {
		margin: 0;
	}
	.d3-item img {
		width: 60px;
		margin: 0 30px 0 0;
		flex: 0 0 auto;
	}
	#d4 .service-intro-bg .service-desc-img {
		display: block;
	}
	#d4 .service-intro-bg {
		width: 100%;
	}	
	#d4 .service-intro-bg::before {
		width: 350px;
		height: 350px;
		transform: translate(10%,20%);
	}
	#d8 .b7-flex::before {
		background: url(../img/b7-map.svg) no-repeat center / contain;
		width: 100%;
		height: 50%;
		left: 0;
		top: 0;
	}
	.wp-block-heading {
		font-size: 18px;
	}
	.page-content {
		padding: 0 0 100px 0;
	}
	.wp-block-table td, .wp-block-table th {
		font-size: 14px;
	}
	.b24-form-field-agreement a.b24-form-field-agreement-link {
		font-size: 11px !important;
	}	
	.not-number {
	  font-size: 180px;
	}
	.t9-item img {
		width: 60px;
		height: 60px;
	}
	.post-template-transportation.postid-1167 .d4-list li {
		width: 100%;
		padding: 0 0 0 40px;
	}	
	.post-template-transportation #d4 .service-intro-bg {
		width: 100%;
		right: 0;
	}
	.post-template-transportation #d4 .service-intro-bg::before {
		transform: translate(10%,20%);
		top: 10%;
	}
	.t9-item {
		padding: 20px;
	}
	#t9 {
	  padding: 100px 0;
	}
	.project-gal {
		margin: 0 -6px 40px -6px;
	}
	.project-gal-item {
		width: calc(50% - 12px);
		margin: 5px;
	}
	.cookie-box {
		bottom: 0;
		right: 0;
		width: 100%;
		padding: 24px 16px;
		border-radius: 12px 12px 0 0;
	}	
	.b8-item.swiper-slide {
		height: 100vw;
		width: 85vw;
	}
	.b8-item.swiper-slide:hover {
		width: 85vw;
	}
	.b8-title {
		padding: 32px 16px;
		width: 70%;
		font-size: 16px;
	}
	.footer-btn-group {
		flex-direction: column;
		width: 100%;
	}
	.btn-header {
		height: 65px;
		width: 100%;
		margin: 0 0 16px 0;
	}
	.video-intro {
		position: fixed;
		height: 100vh;
	}
	#b1, #b3, #b4, #b5, #b7, #b9 {
		background: #fff;
	}
	.intro-descr {
		font-size: 14px;
		font-weight: 400;
	}
	footer .btn {
		height: 65px;
	}
	.d2-descr-form::before {
		width: 100%;
	}
	.b6-slider .slick-next {
		right: -8px;
	}
	.b6-slider .slick-prev {
		left: -8px;
	}
	.b5-grid {
		margin: 0;
	}
	.b5-grid-item {
		margin: 0 0 16px 0;
		width: 100%;
		padding: 25px;
	}
	.b5-item-ico {
		width: 50px;
		margin: 0 0 15px 0;
	}	
	.about-description {
		margin: 0;
	}
	.intro-txt {
		width: 70%;
	}
	
	
	
	
	
	
	
	
	
	
	
}

@media (max-width: 480px) {
	.footer-contact-left p {
		width: 80%;
	}
	.about1-grid {
		margin: 0;
	}
	.about1-item {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.about1-item:last-of-type {
		margin: 0;
	}
	#about2::before {
		width: 100%;
		height: 70%;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}




