body {
	position: relative;
	margin: 0;
	font-family: "Geologica", sans-serif;
	font-optical-sizing: auto;
	overflow-x: hidden;
	cursor: default;
	width: 100%;
	outline: none !important;
	background: #F5F5F7;
	color: #000;
}
.grecaptcha-badge {
	display: none !important;
}
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;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}
*:before,
*:after {
	position: absolute;
	content: "";
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
* {
	margin: 0;
	padding: 0;
  scrollbar-width: thin;
  scrollbar-color: #303030 #C0C0C0;
}

/* для Chrome/Edge/Safari */
*::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}
*::-webkit-scrollbar-track {
  background: #303030;
}
*::-webkit-scrollbar-thumb {
  background-color: #303030;
  border-radius: 5px;
  border: 3px solid #C0C0C0;
}
* {
	-webkit-tap-highlight-color: transparent;
}
button,
input,
textarea,
select {
	outline: none;
	font-family: "Geologica", sans-serif;
}
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: none;
}
ol, ul {
	list-style: none;
	margin:0;
	padding:0;
}
p, li {
	position: relative;
	font-size: 0.83vw;
	font-weight: 300;
	line-height: 1.4;
}
img {
	max-width: 100%;
	display: block;
}
.container {
	position: relative;
	width: 100%;
	padding: 0 10.42vw;
}
.section {
	padding: 5.21vw 0;
}
input::-webkit-input-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}
input::-moz-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}
input:-ms-input-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}
textarea::-webkit-input-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}
textarea::-moz-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}
textarea:-ms-input-placeholder {
	font-family: "Geologica", sans-serif;
	color: rgba(0, 0, 0, 0.5);
}

/* --------------------------------
	
	header
	
-------------------------------- */
header {
	position: fixed;
	width: 100%;
	z-index: 10;
	top: 0;
	left: 0;
	background: #fff;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.header-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5.17vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.burger {
	display: none;
}
.logo {
	width: 6.92vw;
	color: #000;
}
.logo img {
	width: 100%;
}
.logo-txt {
	font-size: 0.52vw;
	line-height: 1;
	display: block;
	text-align: center;
	color: #000;
	margin: 0.25vw 0 0 0;
}
.nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#menu-header {
	display: flex;
	align-items: center;
}
#menu-header .menu-item {
	font-size: 0.63vw;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0 1.25vw 0 0;
}
#menu-header .menu-item:last-child {
	margin: 0;
}
#menu-header .menu-item a {
	color: #2F5597;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
#menu-header .menu-item a:hover {
	color: #000;
}
#menu-header .menu-item.current_page_item a {
	color: #000;
}
.header-contact {
	flex: 0 0 auto;
	margin: 0 3.13vw;
}
.header-contact a {
	display: flex;
	align-items: center;
	font-size: 0.73vw;
	font-weight: 300;
	color: #000000;
	margin: 0 0 5px 0;
}
.header-contact a:last-child {
	margin: 0;
}
.header-contact a img {
	width: 0.73vw;
	margin: 0 0.52vw 0 0;
	flex: 0 0 auto;
}
.header-btn-group {
	display: flex;
	align-items: center;
}
.btn {
	position: relative;
	display: inline-flex;
	background: #2F5597;
	color: #fff;
	height: 3.65vw;
	align-items: center;
	justify-content: space-between;
	border-radius: 50px;
	padding: 0 0.83vw 0 2vw;
	font-size: 0.73vw;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	border: 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn img {
  width: 2.34vw;
	height: 2.34vw;
	flex: 0 0 auto;
	margin: 0 0 0 1.46vw;
}
.btn:hover {
	background: #FF0000;
}
.header-btn-group .btn {
	height: 2.08vw;
	text-transform: none;
	padding: 0 0.8vw;
	font-size: 0.63vw;
	font-weight: 500;
}
.header-btn-group .btn img {
	width: 0.83vw;
	height: 0.83vw;
	margin: 0 0 0 0.43vw;
}
.btn.btn-callback {
	background: #DFE7F5;
	color: #2F5597;
	margin: 0 0 0 0.52vw;
}
.header-btn-group .btn.btn-callback img {
	margin: 0 0.43vw 0 0;
}
.btn.btn-callback:hover {
	background: #EDF0F4;
}
.btn-soc {
	position: relative;
	width: 2.08vw;
	margin: 0 0.43vw 0 0;
}
.btn-soc img {
	width: 100%;
}

/* --------------------------------
	
intro
	
-------------------------------- */
#intro {
	position: relative;
	overflow: hidden;
}
.intro-img {
	position: absolute;
	bottom: 0;
	width: 50%;
	height: 100%;
	display: flex;
	align-items: flex-end;
}
.intro-img img {
	position: relative;
	width: 100%;
}
.intro-img:before {
	background: #E8EBF1;
	width: 50%;
	height: 100%;
	top: 0;
	right: 0;
}
.intro-flex {
	position: relative;
	height: 100vh;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.intro-content {
	width: 40%;
}
h1 {
	font-size: 3.33vw;
	font-weight: 600;
	margin: 0 0 2.34vw 0;
	line-height: 1.2;
}
.intro-content-txt {
	font-weight: 400;
	margin: 0 0 1.04vw 0;
}

/* --------------------------------
	
b1
	
-------------------------------- */
#b1 {
	position: relative;
	overflow: hidden;
	background: #fff;
}
.title {
	font-size: 2.40vw;
	font-weight: 600;
	margin: 0 0 46px 0;
}
#b1 .title {
	margin: 0 0 16px 0;
}
.subtitle {
	margin: 0 0 46px 0;
	font-size: 1vw;
	font-weight: 500;
}
.b1-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.b1-item {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	background: #F5F5F7;
	width: calc(50% - 0.42vw);
	margin: 0 0 0.83vw 0;
	padding: 2.34vw 3.65vw;
	min-height: 18.49vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b1-item:hover {
	box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
.b1-item:last-child {
	background: #fff;
	border: 1px solid #2F5597;
	margin: 0;
}
.b1-item:nth-of-type(3) {
	margin: 0;
}
.b1-item-img {
	position: absolute;
	top: 0;
	right: 0;
	width: 55%;
	height: 100%;
}
.b1-item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left;
}
.b1-item-content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.b1-item-descr h3 {
	font-size: 1.25vw;
	font-weight: 600;
	margin: 0 0 1.25vw 0;
}
.b1-item-descr {
	width: 50%;
}
.b1-item-descr ul {
	padding: 0 0 0 20px;
	list-style: disc;
}
.b1-item-descr li {
	margin: 0 0 5px 0;
}
.b1-item-btn-group {
	display: flex;
	margin: 1.46vw 0 0 0;
}
.b1-item-btn-group .btn {
	height: 2.60vw;
	font-size: 0.63vw;
}
.b1-item-btn-group .btn img {
	width: 0.83vw;
	height: 0.83vw;
	margin: 0 0 0 0.83vw;
}
.b1-item-btn-group .btn-light {
	margin: 0 16px 0 0;
}
.b1-num {
	position: absolute;
	font-size: 14.58vw;
	line-height: 1;
	color: #fff;
	bottom: 0;
	left: 0;
	transform: translate(-22%,30%);
}
.b1-item:last-child .b1-num {
	color: #f5f5f7;
}

/* --------------------------------
	
b2
	
-------------------------------- */
#b2 {
	position: relative;
	overflow: hidden;
}
.b2-flex {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 5.21vw 0;
}
.b2-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	object-fit: cover;
	object-position: right bottom;
}
.b2-content {
	width: 40%;
}
.b2-content-txt {
	margin: 0 0 2.92vw 0;
	width: 75%;
}
.b2-content-txt p {
	font-size: 1.04vw;
	line-height: 1.2; 
	margin: 0 0 16px 0;
}
strong {
	font-weight: 600;
}
.b2-content h2 {
	font-size: 2.08vw;
	font-weight: 700;
	color: #2F5597;
	line-height: 1.2;
	margin: 0 0 1.56vw 0;
}

/* --------------------------------
	
b3
	
-------------------------------- */
#b3 {
	position: relative;
	overflow: hidden;
	margin: 0 0 70px 0;
}
.b3-container {
	position: relative;
	padding: 5.21vw 0;
}
.b3-container::before {
	background: #fff;
	border-radius: 30px;
	width: 92%;
	top: 0;
	height: 100%;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.b3-flex {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.b3-txt-group {
	width: 30%;
	padding: 0 2.34vw 0 0;
}
.b3-slider {
	width: 70%;
	position: relative;
	overflow: hidden;
}
.b3-item-img {
	position: relative;
	width: 50%;
	border-radius: 28px;
	overflow: hidden;
}
.b3-item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.b3-item-content {
	width: 50%;
	padding: 0 0 0 2.71vw;
}
.b3-item-content h3 {
	font-size: 1.67vw;
	font-weight: 600;
	margin: 0 0 1.67vw 0;
	width: 90%;
}
.b3-item-content h4 {
	font-size: 1.04vw;
	font-weight: 600;
	margin: 1.67vw 0 0.52vw 0;
}
.b3-item.swiper-slide {
	background: #fff;
}
.b1-slider-nav {
	position: absolute;
	bottom: 24px;
	left: 43%;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
}
.slider-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.34vw;
	height: 2.34vw;
	cursor: pointer;
}
.slider-btn img {
	position: relative;
	width: 0.83vw;
	height: 0.83vw;
	object-fit: contain;
}
.slider-btn:before {
	width: 100%;
	height: 100%;
	background: #2F5597;
	border-radius: 50%;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.slider-btn:hover:before {
	transform: scale(1.15);
}
.b1-slider-nav .slider-btn.prev-button-slide {
	margin: 0 0 12px 0;
}
.b3-slider .swiper-pagination {
	flex-direction: column;
	display: flex;
	width: auto;
	top: 24px;
	left: 44.2%;
	z-index: 1;
}
.b3-slider .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 0 12px 0;
	background: #fff;
	opacity: 1;
}
.b3-slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #FF0000;
}
.b3-txt-group .title {
	margin: 0 0 20px 0;
}
.b3-txt {
	font-size: 1.04vw;
	line-height: 1.2;
	color: rgba(0, 0, 0, 0.78);
	margin: 0 0 1.46vw 0;
}
.b3-txt-btn {
	position: relative;
	padding: 1.25vw 2.08vw;
	border-radius: 15px;
	border: 2px dashed rgba(47, 85, 151, 0.5);
	margin: 2.08vw 0 0 0;
}
.b3-txt-btn p {
	font-size: 0.83vw;
	font-weight: 500;
	margin: 0 0 20px 0;
}
.btn.btn-light {
	background: transparent;
	border: 1px solid rgba(47, 85, 151, 0.5);	
	color: #2F5597;
	padding: 0 0.83vw 0 1.5vw;
}
.b3-txt-group .btn-light {
	font-size: 0.63vw;
	font-weight: 500;
	height: 2.60vw;
}
.btn-light:hover {
	border: 1px solid #2F5597;	
}
.btn.btn-light img {
	width: 0.83vw;
	height: 0.83vw;
	margin: 0 0 0 0.83vw;
}

/* --------------------------------
	
b4
	
-------------------------------- */
#b4 {
	position: relative;
	overflow: hidden;
}
#b4 .title {
	text-align: center;
}
.b4-grid {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -0.83vw;
}
.b4-item {
	width: calc(16.666% - 1.67vw);
	margin: 0 0.83vw;
}
.b4-item img {
	width: 100%;
	border-radius: 10px;
	filter: grayscale(1);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.b4-item img:hover {
	filter: grayscale(0);
}

/* --------------------------------
	
footer
	
-------------------------------- */
footer {
	position: relative;
	background: #fff;
	padding: 2.71vw 0;
}
.footer-flex {
	display: flex;
	justify-content: space-between;
}
.footer-contact {
	display: flex;
	justify-content: flex-end;
}
.footer-item {
	position: relative;
	margin: 0 0 0 4.43vw;
}
.footer-item-label {
	display: block;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.4);
}
.footer-item a {
	display: block;
	font-size: 1.67vw;
	color: #000;
	margin: 0 0 5px 0;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.footer-item a:hover {
	color: #FF0000;
}

/* --------------------------------
	
about-page
	
-------------------------------- */
#about-page {
	position: relative;
	overflow: hidden;
}
.section-top {
	padding: 5.17vw 0 0 0;
}
.about-page-bg {
	position: absolute;
	width: 50%;
	top: 5.17vw;
	right: 0;
	height: 100%;
	object-fit: contain;
	object-position: top right;
}
.about-content {
	position: relative;
	width: 40%;
	padding: 0;
}
.about-content p {
	margin: 0 0 0.83vw 0;
	color: rgba(0, 0, 0, 0.78);
}
.single-post .about-content {
	padding: 0;
}

/* --------------------------------
	
breadcrumbs

-------------------------------- */
.breadcrumbs {
	display: flex;
	align-items: center;
	z-index: 1;
	position: relative;
	padding: 1.82vw 10.42vw 3.39vw 10.42vw;
	font-size: 0.73vw;
	color: rgba(0, 0, 0, 0.57);
}
.breadcrumbs span {
	font-size: 0.73vw;
	margin: 0 10px;
	color: rgba(0, 0, 0, 0.57);
}
.breadcrumbs > span {
	margin: 0;
	display: flex;
	align-items: center;
}
.breadcrumbs > span span:first-of-type {
	margin: 0 10px 0 0;
}
.breadcrumbs span.breadcrumb_last {
	margin: 0 0 0 10px;
}
.breadcrumb-separator {
	color: #757575;
	margin: 0 5px;
}
.breadcrumbs a {
	color: rgba(47, 85, 151, 0.55);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.breadcrumbs a:hover {
	color: rgba(47, 85, 151, 1);
}

/* --------------------------------
	
about1
	
-------------------------------- */
#about1 {
	position: relative;
	overflow: hidden;
}
.about1-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 -1.67vw;
}
.about1-item {
	position: relative;
	width: calc(25% - 3.33vw);
	margin: 0 1.67vw;
}
.about1-item h3 {
	font-size: 40px;
	color: #2F5597;
	margin: 0 0 10px 0;
}
.about1-item p {
	color: rgba(0, 0, 0, 0.78);
}

/* --------------------------------
	
service-page
	
-------------------------------- */
#service-page {
	position: relative;
	overflow: hidden;
	padding-bottom: 5vw;
}
#service-page .about-page-bg {
	width: 45%;
	top: 0;
}

/* --------------------------------
	
service1
	
-------------------------------- */
#service1 {
	position: relative;
	overflow: hidden;
	padding-bottom: 0;
}
.service1-grid {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px 0;
}
.service1-item {
	width: calc(33.333% - 8px);
	background: #F5F5F7;
	border-radius: 15px;
	padding: 2.08vw 2.60vw;
	color: #000;
	position: relative;
	min-height: 14.58vw;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.service1-item:hover {
	box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
.service1-bg {
	position: absolute;
	width: 60%;
	height: 100%;
	right: 0;
	object-fit: contain;
	top: 0;
	object-position: right;
}
.service1-item h3 {
	width: 50%;
	font-size: 1.25vw;
	font-weight: 600;
}

/* --------------------------------
	
service2
	
-------------------------------- */
#service2 {
	position: relative;
	overflow: hidden;
}
.service2-grid {
	display: flex;
	justify-content: space-between;
}
.service2-item {
	width: calc(33.333% - 8px);
	border-radius: 15px;
	overflow: hidden;
	padding: 2.08vw 2.60vw;
	color: #fff;
	position: relative;
	min-height: 12.50vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.service2-item-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.service2-item h3 {
	position: relative;
	font-size: 1.25vw;
	font-weight: 600;
	width: 50%;
}
.btn-service {
	position: absolute;
	bottom: 2.08vw;
	right: 2.60vw;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.60vw;
	height: 2.60vw;
}
.btn-service img {
	position: relative;
	width: 0.83vw;
	height: 0.83vw;
}
.btn-service:before {
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 50%;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.service2-item:hover .btn-service:before {
	transform: scale(1.15);
}


/* --------------------------------
	
project-page
	
-------------------------------- */
#project-page {
	position: relative;
	overflow: hidden;
	padding-bottom: 5vw;
}
.project-grid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.project-item {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
	width: calc(50% - 0.42vw);
	margin: 0 0 0.83vw 0;
	padding: 2.34vw 3.39vw;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.project-item:hover {
	box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
.project-img {
	position: relative;
	margin: 0 0 36px 0;
}
.project-img img {
	width: 100%;
	height: 17.19vw;
	object-fit: cover;
	border-radius: 15px;
}
.project-content-title {
	font-size:1.67vw;
	font-weight: 600;
	margin: 0 0 1.88vw 0;
	width: 85%;
}
.project-content h4 {
	font-size: 1.04vw;
	font-weight: 600;
	margin: 24px 0 10px 0;
}
.project-client {
	padding: 1.25vw 2.40vw;
	border: 2px dashed rgba(47, 85, 151, 0.5);
	border-radius: 15px;
	margin: 24px 0 0 0;
}
.project-content .project-client h4 {
	margin: 0 0 10px 0;
}
.project-content p {
	color: rgba(0, 0, 0, 0.78);
}
.btn-detail {
	position: relative;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
	color: #2F5597;
	display: inline-flex;
	align-items: center;
	margin: 24px 0 0 0;
	cursor: pointer;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-detail:after {
	position: relative;
	background: url(../img/arr3.svg) no-repeat center / contain;
	width: 0.83vw;
	height: 0.83vw;
	margin: 0 0 0 0.83vw;
	will-change: transform;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-detail:before {
	position: relative;
	content: "подробнее";
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.btn-detail.active:before {
	content: "свернуть";
}
.btn-detail:hover:after {
	transform: translateX(6px);
}
.project-content {
	position: relative;
	height: 13.1vw;
	overflow: hidden;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.project-content.open {
	height: auto;
}
.pagination {
	margin: 30px 0 0 0;
}
.nav-links {
	position: relative;
	display: flex;
	justify-content: center;
}
.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 2.60vw;
	height: 2.60vw;
	border-radius: 5px;
	background: #fff;
	margin: 0 5px;
	color: #2F5597;
	font-size: 0.83vw;
	font-weight: 600;
}
.next-page, .preious-page {
	width: 0.83vw;
	height: 0.83vw; 
}
.next-page svg, .preious-page svg {
	width: 0.83vw;
	height: 0.83vw; 
}
.page-numbers.current {
	background: #2F5597;
	color: #fff;
}

/* --------------------------------
	
project-page
	
-------------------------------- */
#contact-page {
	position: relative;
	overflow: hidden;
	padding-bottom: 5.21vw;
}
.contact-flex {
	display: flex;
	justify-content: space-between;
	padding: 0 0 5.21vw 0;
}
.contact-info {
	width: 28%;
	padding: 0 24px 0 0;
}
.contact-callback {
	width: 28%;
	padding: 2.34vw;
	border: 2px dashed rgba(47, 85, 151, 0.5);
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.contact-callback-txt {
	margin: 0 0 24px 0;
}
.contact-callback-txt p {
	font-size: 1.04vw;
	font-weight: 500;
}
.contact-form {
	width: 40%;
	background: #fff;
	border-radius: 15px;
	padding: 2.60vw;
}
#map {
	position: relative;
}
.contact-info .footer-item {
	margin: 0 0 0.83vw 0;
}
.contact-info .footer-item a, .contact-info .footer-item p {
	font-size: 1.25vw;
	margin: 0;
	font-weight: 400;
	display: inline-block;
}
.contact-info .footer-item-label {
	font-size: 0.73vw;
	margin: 0 0 5px 0;
}


/* --------------------------------
	
form
	
-------------------------------- */
.form-group {
	margin: 0 0 0.63vw 0;
}
.wpcf7-form-control-wrap {
	width: 100%;
	display: block;
}
.wpcf7-form-control.wpcf7-text {
	width: 100%;
	display: block;
	height: 2.86vw;
	font-size: 0.83vw;
	font-weight: 300;
	padding: 0 1.04vw;
	border-radius: 8px;
	border: 1px solid rgba(47, 85, 151, 0.42);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	display: block;
	font-size: 0.83vw;
	font-weight: 300;
	padding: 1.04vw;
	border-radius: 8px;
	border: 1px solid rgba(47, 85, 151, 0.42);
	resize: vertical;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.wpcf7-form-control.wpcf7-text:hover, .wpcf7-form-control.wpcf7-textarea:hover {
	border: 1px solid rgba(47, 85, 151, 0.82);
}
.form-group label {
	font-size: 0.73vw;
	font-weight: 700;
	display: block;
	margin: 1.04vw 0 0.52vw 0;
	padding: 0 0 0 1.04vw;
	color: #0000006e;
}
.wpcf7-not-valid-tip {
	font-size: 12px !important;
	position: absolute;
	top: 6px;
	right: 20px;
}
.wpcf7-spinner {
	display: none !important;
}
.form-submit {
	position: relative;
	display: flex;
	align-items: flex-end;
	flex-direction: column;
}
.form-submit p {
	font-size: 0.73vw;
	margin: 0 0 0.52vw 0;
}
.form-submit .wpcf7-form-control-wrap {
	text-align: right;
	display: inline-block;
	width: auto;
	margin: 0 0 1.04vw 0;
}
.wpcf7-list-item {
	margin: 0 !important;
}
.wpcf7-list-item-label {
	font-size: 0.73vw;
	display: block;
	padding: 0 0 0 28px;
}
input[type="checkbox"], input[type="radio"] {
	display: none;
}
input[type="checkbox"] ~ .wpcf7-list-item-label::before, input[type="radio"] ~ .wpcf7-list-item-label::before {
	background: url(../img/check1.svg) no-repeat center / contain;
	width: 20px;
	height: 20px; 
	left: 0;
	top: 2px;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before, input[type="radio"]:checked ~ .wpcf7-list-item-label::before {
	background: url(../img/check2.svg) no-repeat center / contain;
} 
.wpcf7-list-item-label a {
	color: #000;
	font-weight: 600;
	text-decoration: underline;
}
.form-succes {
	display: none;
	align-items: center;
}
.form-succes img {
	width: 80px;
	flex: 0 0 auto;
	margin: 0 20px 0 0;
}
.modal-title {
	margin: 0 0 1vw 0;
}
.modal-title h3 {
	font-size: 1.3vw;
	font-weight: 600;
	margin: 0 0 0.48vw 0;
}
.modal-title p {
	font-size: 0.8vw;
}
.wpcf7-response-output {
	display: none !important;
}
#map {
	width: 100%;
	height: 60vh;
	border-radius: 30px;
	overflow: hidden;
}
.btn-map {
	position: relative;
	cursor: pointer;
	overflow: hidden;
	width: 2.08vw;
	height: 2.08vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #3F3F3F;
	font-size: 0.94vw;
	font-weight: 700;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	border-radius: 5px;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.btn-map:hover {
	background: #3F3F3F;
	color: #fff;
}
#zoom-in {
	margin: 0 0 10px 0;
}

/* --------------------------------
	
atribut-page
	
-------------------------------- */
#atribut-page {
	position: relative;
	overflow: hidden;
	padding-bottom: 5.21vw;
	min-height: 100vh;
}
.tabs {
	position: relative;
	display: flex;
	margin: 0 0 0.83vw 0;
	padding: 0 10.42vw;
}
.tab-btn {
	margin: 0 0.83vw 0 0;
}
.tab-btn a {
  display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0.63vw;
	font-weight: 600;
	text-transform: uppercase;
	color: #2F5597;
	height: 2.60vw;
	border: 1px solid rgba(47, 85, 151, 0.5);
	border-radius: 40px;
	padding: 0 1.67vw;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.tab-btn a:hover {
	border: 1px solid rgba(47, 85, 151, 0.85);
}
.tab-btn a.active {
  background: #2F5597;
	color: #fff;
	border: 1px solid #2F5597;
}
#atribut-tab-group {
	position: relative;
	padding: 2.60vw 5.17vw;
	border-radius: 30px;
	background: #fff;
}
.tab-header {
	margin: 0 0 35px 0;
}
.tab-header .title {
	margin: 0 0 25px 0;
}
.tab-header p {
	color: rgba(0, 0, 0, 0.78);
	font-size: 1vw;
}
.atribut-content h3 {
	font-size: 1.3vw;
	margin: 0 0 16px 0;
}
.atribut-content ul {
	padding: 0 0 0 24px;
	margin: 0 0 24px 0;
	list-style: disc;
}
.atribut-content p {
	margin: 0 0 16px 0;
}
.accordion-item {
	border-bottom: 1px solid #ddd;
}
.acc-hidden {
	display: none;
}
.acc-target {
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 0;
}
.acc-target:after {
	position: relative;
	display: block;
	background: url(../img/ar2.svg) no-repeat center / contain;
	width: 16px;
	height: 16px;
	will-change: transform;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.acc-target.active:after {
	transform: rotate(90deg);
}
.acc-hidden {
	padding: 0 0 32px 0;
}
.acc-hidden-grid {
	display: flex;
	justify-content: space-between;
}
.acc-hidden-item {
	background: #f5f5f7;
	padding: 32px;
	border-radius: 10px;
	width: 49%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}
.acc-hidden-item img {
	/* width: 100%;
	height: 6.21vw;
	object-fit: contain;
	object-position: left; */
	margin: 0 0 16px 0;
	flex-grow: 1;
}
.acc-hidden-item p {
	width: 65%;
	margin: 0;
}
table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 0.83vw;
}
table th {
	font-weight: 600;
	padding: 0.83vw 5.73vw;
	border: 1px solid #2F5597;
}
table td {
	border: 1px solid #2F5597;
	padding: 0.52vw 5.73vw;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.78);
}
table tr td:first-child {
	border-left: none;
	padding: 0.52vw 0px;
}
table tr th:first-child {
	border-left: none;
	padding: 0.83vw 0px;
}
table tr td:last-child, table tr th:last-child {
	border-right: none;
}
.group_header {
	font-weight: 600;
}
.atribut-content p {
	color: rgba(0, 0, 0, 0.78);
}

/* --------------------------------

burger

-------------------------------- */
.burger {
	position: relative;
	width: 24px;
	height: 16px;
	cursor: pointer;
	display: none;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	margin: 0;
	z-index: 999;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	border-radius: 6px;
}
.burger::before, .burger span, .burger::after {
	width: 100%;
	height: 2px;
	display: block;
	background: #000;
	border-radius: 2px;
	opacity: 1;
}
.burger:before, .burger:after {
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.burger::before {
	top: 0;
}
.burger span {
  position: relative;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s ease-out;
}
.burger:after {
  top: auto;
  bottom: 0;
  -webkit-transition: 0.35s ease-out;
  transition: 0.35s 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;
}


/* --------------------------------
	
	modal-box
	
-------------------------------- */
.modal, .modal-box {
	z-index: 1000;
}
.modal-sandbox {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
}
.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
	background: rgba(0, 76, 151, 0.21);
  -webkit-transition: 0.25s ease-out 0.25s;
	transition: 0.25s ease-out 0.25s;
}
.modal.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.modal-box {
  display: block;
  width: 100%;
  height: 100%;
}
.modal-body {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.modal_container {
	margin: 0 auto;
	width: 95%;
	padding: 24px 32px;
	position: relative;
	background: #fff;
	color: #000;
	will-change: transform;
	transform: translateX(-300%);
	max-width: 28vw;
	-webkit-transition: 0.25s ease-out 0s;
	transition: 0.25s ease-out 0s;
	border-radius: 15px;
	box-shadow: 0 8px 20px rgba(15, 47, 73, 0.13);
}
.open .modal_container {
	transform: translateX(0);
	-webkit-transition: 0.25s ease-out 0.25s;
	transition: 0.25s ease-out 0.25s;
}
.close-modal {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
	width: 14px;
	height: 14px;
	z-index: 9999;
	-webkit-transition: 0.25s ease-out;
	transition: 0.25s ease-out;
}
.close-modal:hover {
	opacity: 0.6;
}
.close-modal img {
	position: relative;
	width: 100%;
	display: block;
}
.close-modal img {
	position: relative;
	width: 100%;
  -webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
.close-modal:hover img {
	opacity: 0.7;
}
.page-content h3 {
	font-size: 24px;
	margin: 24px 0 16px 0;
}
.page-content p {
	margin: 0 0 16px 0;
}
.page-content ul {
	padding: 0 0 0 20px;
	list-style: disc;
	margin: 0 0 20px 0;
}
.page-content table ul {
	margin: 0;
}
#page {
	position: relative;
	overflow: hidden;
	padding-bottom: 70px;
}

/* --------------------------------
	
location-page
	
-------------------------------- */
#location-page {
	position: relative;
	overflow: hidden;
	min-height: 100vh;
	padding-bottom: 70px;
}
.location-content {
	position: relative;
	width: 100%;
	padding: 2.19vw 3.65vw;
	background: #fff;
	border-radius: 24px;
}
.form-row {
	display: flex;
	justify-content: space-between;
}
.location-title {
	font-size: 0.94vw;
	display: block;
	margin: 0 0 16px 0;
}
.form-row input {
	width: 100%;
	display: block;
	height: 3.65vw;
	font-size: 0.83vw;
	font-weight: 300;
	padding: 0 20px;
	border-radius: 8px;
	border: 1px solid rgba(47, 85, 151, 0.42);
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
}
#apply {
	flex: 0 0 auto;
	margin: 0 0 0 32px;
}
#response {
	position: relative;
	margin: 40px 0 24px 0;
	border-bottom: 1px solid rgba(47, 85, 151, 0.42);
}
#response.open {
	margin: 0 0 24px 0;
}
#response h3 {
	font-size: 2.40vw;
	margin: 0 0 36px 0;
}
.response-row {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid rgba(47, 85, 151, 0.42);
}
.response-item {
	width: 100%;
	padding: 12px;
	border-left: 1px solid rgba(47, 85, 151, 0.42);
}
.response-item:first-child {
	padding: 12px 0;
	border: 0;
}
.response-row.response-header p {
	font-weight: 600;
}
.not-location {
	font-size: 1.40vw;
	font-weight: 600;
	display: none;
}
.not-location.open {
	display: block;
}
#filter.hidden {
	display: none;
}
.reset-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* --------------------------------
	
success-page
	
-------------------------------- */
#success-page {
	position: relative;
	overflow: hidden;
}
.success-content {
	min-height: 100vh;
	padding-bottom: 70px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.success-content h2 {
	font-size: 32px;
	margin: 0 0 24px 0;
}




































/* --------------------------------
	
	адаптив
	
-------------------------------- */
@media (max-width: 1600px) {






}

@media (max-width: 1400px) {






}

@media (max-width: 1200px) {
* {
		scrollbar-color: rgba(242, 244, 250, 0.4) #C0C0C0;
	}
	/* для 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(242, 244, 250, 0.4);
	}
	* {
		-webkit-tap-highlight-color: transparent;
	}
.container {
	padding: 0 30px;
}
.logo {
	width: 30%;
	display: flex;
	align-items: center;
}
.logo img {
	width: 60%;
	height: 100%;
}
.logo-txt {
	font-size: 10px;
	margin: 0 0 0 12px;
	text-align: left;
}
.burger {
	display: flex;
}
.header-flex {
	height: 58px;
}
.nav {
	position: fixed;
	display: flex;
	align-items: flex-start;
	top: 0;
	flex-direction: column;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #fff;
	will-change: transform;
	transform: translateX(-100%);
	visibility: hidden;
	-webkit-transition: 0.35s ease-out;
	transition: 0.35s ease-out;
	justify-content: center;
	padding: 30px;
}
.nav.open {
  transform: translateX(0%);
	visibility: visible;
} 
p, li {
	font-size: 16px;
}
.intro-content {
	width: 45%;
}
h1 {
	font-size: 40px;
	margin: 0 0 30px 0;
}
.intro-content-txt {
	margin: 0 0 20px 0;
}
.btn {
	height: 56px;
	padding: 0 8px 0 32px;
	font-size: 12px;
}
.btn img {
	width: 36px;
	height: 36px;
	margin: 0 0 0 16px;
}
#menu-header {
	align-items: flex-start;
	flex-direction: column;
}
#menu-header .menu-item {
	font-size: 3vw;
	font-weight: 600;
	text-transform: uppercase;
	margin: 0 0 16px 0;
}
.header-contact {
	margin: 20px 0 40px 0;
}
.header-contact a {
	font-size: 2.5vw;
	margin: 10px 0;
}
.header-contact a img {
	width: 2vw;
	margin: 0 16px 0 0;
}
.header-btn-group .btn {
	height: 58px;
	padding: 0 24px;
	font-size: 12px;
}
.header-btn-group .btn img {
	width: 14px;
	height: 14px;
	margin: 0 0 0 12px;
}
.header-btn-group .btn.btn-callback img {
	margin: 0 12px 0 0;
}
.title {
	font-size: 32px;
	margin: 0 0 24px 0;
}
.b1-item {
	width: 100%;
	margin: 0 0 16px 0;
	padding: 40px;
	min-height: 30vw;
}
.b1-item:nth-of-type(3) {
	margin: 0 0 16px 0;
}
.b1-item-descr h3 {
	font-size: 18px;
	margin: 0 0 16px 0;
}
.b1-item-btn-group .btn {
	height: 48px;
	font-size: 12px;
}
.btn.btn-light img, .b1-item-btn-group .btn img {
	width: 16px;
	height: 16px;
	margin: 0 0 0 12px;
}
.b1-item-img {
	width: 35%;
}
.b2-content {
	width: 45%;
}
.b2-content h2 {
	font-size: 32px;
	margin: 0 0 24px 0;
}
.b2-content-txt p {
	font-size: 18px;
	margin: 0 0 16px 0;
}
.b2-content-txt {
	margin: 0 0 32px 0;
	width: 100%;
}
.section, .b2-flex, .b3-container {
	padding: 70px 0;
}
.b2-img {
	width: 40%;
}
.b3-container::before {
	width: 100%;
}
.b3-flex {
	flex-direction: column;
}
.b3-txt-group {
	width: 100%;
	padding: 0 0 40px 0;
}
.b3-txt {
	font-size: 18px;
	margin: 0 0 24px 0;
}
.b3-txt-group .btn-light {
	height: 48px;
	font-size: 12px;
}
.b3-txt-btn {
	padding: 24px;
	margin: 32px 0 0 0;
}
.b3-txt-btn p {
	font-size: 16px;
}
.b3-slider {
	width: 100%;
}
.b3-item-content h3 {
	font-size: 24px;
	margin: 0 0 20px 0;
}
.b3-item-content h4 {
	font-size: 18px;
	margin: 20px 0 10px 0;
}
.slider-btn {
	width: 46px;
	height: 46px;
}
.slider-btn img {
	width: 16px;
	height: 16px;
}
.b3-slider .swiper-pagination {
	left: 45%;
}
.footer-item a {
	font-size: 3vw;
}
.copy {
	font-size: 12px;
}
.b3-item-content {
	padding: 0 0 0 40px;
}
.breadcrumbs {
	padding: 30px;
	font-size: 12px;
}
.breadcrumbs span {
	font-size: 12px;
}
.section-top {
	padding: 48px 0 0 0;
}
.about-page-bg {
	width: 80%;
	top: 48px;
}
.about-content {
	width: 100%;
	padding: 0;
}
.about-content h1 {
	margin: 0 0 470px 0;
}
.about1-grid {
	margin: 0 -16px;
	flex-wrap: wrap;
}
.about1-item {
	width: calc(50% - 32px);
	margin: 16px;
	padding: 0 40px 0 0;
}
.tab-btn a {
	font-size: 12px;
	height: 42px;
	padding: 0 24px;
}
.tabs {
	margin: 0 0 16px 0;
	padding: 0 30px 10px 30px;
	overflow: auto;
}
.tab-btn {
	flex: 0 0 auto;
}
#atribut-tab-group {
	padding: 30px 50px;
}
.tab-header p {
	font-size: 18px;
}
.atribut-content h3 {
	font-size: 24px;
}
table {
	font-size: 14px;
}
table tr th:first-child {
	padding: 16px 0;
}
table tr td:first-child {
	padding: 10px 0;
}
#service-page .about-content h1 {
	margin: 0 0 30px 0;
}
#service-page .about-page-bg {
	display: none;
}
.service1-item {
	padding: 24px;
	min-height: 20vw;
}
.service1-item h3 {
	font-size: 18px;
}
.service1-bg {
	width: 55%;
}
.service2-item {
	padding: 24px;
	min-height: 20vw;
}
.service2-item h3 {
	font-size: 18px;
}
.btn-service {
	bottom: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
}
.btn-service img {
	width: 16px;
	height: 16px;
}
.btn-detail::after {
	width: 12px;
	height: 12px;
	margin: 0 0 0 10px;
}
.about-content p {
	margin: 0 0 16px 0;
}
.btn.btn-light {
	padding: 0 16px;
}
.project-item {
	padding: 24px 32px;
}
.project-img img {
	height: 22vw;
	border-radius: 8px;
}
.project-img {
	margin: 0 0 24px 0;
}
.project-content-title {
	font-size: 24px;
	margin: 0 0 24px 0;
}
.project-content h4 {
	font-size: 18px;
}
.project-content {
	height: 26vw;
}
.project-client {
	padding: 24px;
}
.page-numbers {
	width: 42px;
	height: 42px;
	font-size: 12px;
}
#project-page {
	padding-bottom: 70px;
}
.next-page svg, .preious-page svg {
	width: 12px;
	height: 12px;
}
.next-page, .preious-page {
	width: 12px;
	height: 12px;
}
.contact-flex {
	padding: 0 0 40px 0;
	flex-direction: column;
}
.contact-info {
	width: 100%;
	padding: 0 0 24px 0;
}
.contact-callback {
	width: 100%;
	padding: 24px;
	margin: 0 0 24px 0;
}
.contact-form {
	width: 100%;
	padding: 24px;
}
.contact-info .footer-item {
	margin: 0 0 16px 0;
}
.contact-info .footer-item-label {
	font-size: 12px;
}
.contact-callback-txt p {
	font-size: 16px;
}
.contact-info .footer-item a, .contact-info .footer-item p {
	font-size: 24px;
}
.modal-title {
	font-size: 24px;
	margin: 0 0 20px 0;
}
.form-group {
	margin: 0 0 16px 0;
}
.wpcf7-form-control.wpcf7-text {
	width: 100%;
	height: 42px;
	font-size: 14px;
	padding: 0 16px;
}
.wpcf7-form-control.wpcf7-textarea {
	font-size: 14px;
	padding: 16px;
}
.wpcf7-list-item-label {
	font-size: 12px;
	padding: 0 0 0 32px;
}
.modal_container {
	padding: 24px;
	max-width: 40%;
}
.modal-title h3 {
	font-size: 24px;
	margin: 0 0 10px 0;
	line-height: 1.2;
}
.modal-title p, .form-submit p {  
	font-size: 12px;
}
.form-group label {
	font-size: 12px;
	margin: 15px 0 10px 0;
	padding: 0 0 0 16px;
}
table td {
	padding: 10px 16px;
}
table p, table li {
	font-size: 14px;
}
table td {
	padding: 10px 16px;
}
.location-content {
	padding: 32px;
}
.location-title {
	font-size: 18px;
}
.form-row input {
	height: 56px;
	font-size: 16px;
}
.response-row.response-header {
	display: none;
}
.response-row {
	flex-wrap: wrap;
}
.response-item {
	width: 50%;
	padding: 12px 0;
	border-left: 0;
}
.response-item:before {
	position: relative;
	font-size: 12px;
	display: block;
  content: attr(data-name);
  font-weight: 600;
} 
.not-location {
	font-size: 24px;
}
.btn-soc {
	width: 58px;
	margin: 0 8px 0 0;
}
.subtitle {
	margin: 0 0 36px 0;
	font-size: 16px;
}
.acc-hidden-item p {
	width: 100%;
}

















}

@media (max-width: 991px) {
.intro-img {
	width: 100%;
}
.intro-flex {
	justify-content: flex-start;
	align-items: flex-start;
	padding: 100px 0 0 0;
}
.intro-content {
	width: 80%;
}
.b1-item-img {
	width: 45%;
}
.b2-img {
	width: 90%;
}
.b2-flex {
	justify-content: flex-start;
	position: relative;
}
.b2-content {
	width: 70%;
}
.b3-item.swiper-slide {
	flex-direction: column;
}
.b3-item-img {
	width: 100%;
}
.b3-item-content {
	padding: 40px 0 0 0;
	width: 100%;
}
.b3-slider .swiper-pagination {
	left: 93.5%;
}
.b1-slider-nav {
	bottom: auto;
	left: 91%;
	top: 200px;
}
.b3-item-img {
	height: 360px;
}
.b4-grid {
	margin: 0 -16px;
	flex-wrap: wrap;
}
.b4-item {
	width: calc(33.333% - 16px);
	margin: 8px;
}
.b4-item img {
	filter: grayscale(0);
}
.footer-flex {
	flex-direction: column-reverse;
	align-items: center;
}
.copy {
	text-align: center;
	margin: 20px 0 0 0;
}
footer {
	padding: 30px 0;
}
#menu-header .menu-item {
	font-size: 4vw;
}
.header-contact a {
	font-size: 3.5vw;
}
.btn.btn-callback {
	margin: 0 0 0 16px;
}
.about-content h1 {
	margin: 0 0 340px 0;
}
.footer-item {
	margin: 0 1.56vw;
}
#atribut-tab-group {
	padding: 24px 32px;
	border-radius: 24px;
}
.service1-grid {
	flex-wrap: wrap;
}
.service1-item {
	width: 100%;
	margin: 0 0 16px 0;
}
.service1-item:last-child {
	margin: 0;
}
.service1-item {
	min-height: 30vw;
}
.service2-grid {
	flex-wrap: wrap;
}
.service2-item {
	min-height: 30vw;
	width: 100%;
	margin: 0 0 16px 0;
}
.service2-item:last-child {
	margin: 0;
}
.project-item {
	padding: 24px;
	width: 100%;
	margin: 0 0 24px 0;
}
.project-img img {
	height: 40vw;
}
.project-content {
	height: 24vw;
}
.modal_container {
	max-width: 55%;
}
.logo {
	width: 40%;
}
.b1-num {
	font-size: 80vw;
}
#response h3 {
	font-size: 24px;
	margin: 0 0 24px 0;
}
.acc-hidden-grid {
	flex-direction: column;
}
.acc-hidden-item {
	width: 100%;
	margin: 0 0 16px 0;
}
.acc-hidden-item:last-child {
	margin: 0;
}
.acc-hidden-item img {
	width: 100%;
}
.tab-btn {
	margin: 0 16px 0 0;
}


















}

@media (max-width: 767px) {
.container {
	padding: 0 16px;
}
.logo {
	width: 70%;
}
.intro-content {
	width: 100%;
}
.intro-flex {
	padding: 15vh 0 0 0;
} 
.nav {
	justify-content: flex-start;
	padding: 32px 16px;
	overflow: auto;
}
#menu-header .menu-item {
	font-size: 7vw;
}
.header-contact a {
	font-size: 6vw;
}
.header-contact a img {
	width: 4vw;
}
.header-btn-group {
	justify-content: flex-start;
	flex-wrap: wrap;
}
.header-btn-group .btn {
	width: 100%;
	margin: 16px 0 0 0;
	font-size: 18px;
}
.b1-item {
	padding: 24px;
	min-height: 100vw;
}
.b1-item-btn-group {
	margin: 24px 0 0 0;
	flex-direction: column;
	align-items: flex-start;
}
.b1-item-btn-group .btn {
	padding: 0 8px 0 32px;
}
.b1-item-btn-group .btn-light {
	margin: 0 0 16px 0;
	background: #f5f5f7;
}
.b1-item-descr {
	width: 100%;
}
.b1-item-img {
	width: 70%;
}
.b2-content {
	width: 100%;
}
.b1-slider-nav {
	left: auto;
	right: 16px;
}
.b3-slider .swiper-pagination {
	left: auto;
	right: 36px;
}
.b4-item {
	width: calc(50% - 16px);
}
.about-page-bg {
	display: none;
}
.about-content h1 {
	margin: 0 0 30px 0;
}
.about1-grid {
	margin: 0;
}
.about1-item {
	width: 100%;
	margin: 0 0 24px 0;
	padding: 0;
}
.about1-item:last-child {
	margin: 0;
}
.breadcrumbs {
	padding: 30px 16px;
	overflow: auto;
}
.breadcrumbs span {
	flex: 0 0 auto;
}
.footer-item a {
	font-size: 4.5vw;
}
.footer-item {
	margin: 0 4vw;
}
.b2-img {
	width: 100%;
}
.tabs {
	padding: 0 16px 10px 16px;
}
.tab-header p {
	width: 100%;
}
#atribut-tab-group {
	padding: 24px 16px;
}
.atribut-content {
	position: relative;
	overflow: auto;
}
table td {
	min-width: 140px;
}
h1 {
	font-size: 9vw;
}
.title {
	font-size: 7vw;
}
.service1-item {
	min-height: 50vw;
}
.service2-item {
	min-height: 50vw;
}
.project-item {
	padding: 16px;
}
.project-content-title {
	font-size: 18px;
	margin: 0 0 16px 0;
	width: 100%;
}
.project-content h4 {
	font-size: 16px;
}
.project-content {
	height: 72vw;
}
#map {
	border-radius: 15px;
}
.modal_container {
	max-width: 100%; 
}
.page-content h3 {
	font-size: 18px;
}
.form-row {
	flex-direction: column;
}
#apply {
	margin: 16px 0 0 0;
} 
.location-content {
	padding: 32px 24px;
	border-radius: 16px;
}
.response-item {
	width: 100%;
	padding: 8px 0;
}
.response-row {
	padding: 8px 0;
}
.reset-button {
	flex-direction: column;
}
.not-location {
	font-size: 18px;
	margin: 0 0 24px 0;
}
#reset {
	width: 100%;
}
.b1-item-descr ul {
	width: 60%;
}
.atribut-content h3 {
	font-size: 20px;
}
.acc-hidden-item {
	padding: 32px 24px;
}
#tab2 .atribut-content {
	overflow: visible;
}


























}
