* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

body {
	font-family: "Geologica", sans-serif;
	font-size: 16px;
	font-weight: 300;
	font-style: normal;
	color: #1C1C1C;
	padding-top: 110px;
}

img {
	max-width: 100%;
}

a {
	text-decoration: none;
	transition: all 0.3s;
	color: #1C1C1C;
}

a:hover {
	color: #0065B3;
}

.container {
	max-width: 1200px;
	padding: 0 15px;
	width: 100%;
	margin: 0 auto;
}

.btn {
	display: flex;
	background: #0065B3;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	border-radius: 5px;
	color: #fff !important;
	transition: all 0.3s;
	padding: 0 15px;
	font-size: 16px;
	font-weight: 400;
	font-family: "Geologica", sans-serif;
}

.btn:hover {
	background: #0065B380;
}

.btn.btn-white {
	background: transparent;
	border: 1px solid #fff;
}

.btn.btn-white:hover {
	background: #0065B3;
	border-color: #0065B3;
}

.border-top {
	border-radius: 40px 40px 0 0;
	z-index: 1;
	position: relative;
}

.title {
	font-size: 32px;
	margin-bottom: 30px;
	font-weight: 400;
}

.swiper {
	padding: 20px 15px;
}

.swiper-slide {
	height: auto;
}

.swiper__btn {
	width: 50px;
	height: 50px;
	border-radius: 10px;
	border: 0;
	background: #0065B3;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(24, 24, 24, 0.12);
	transition: transform 0.08s ease, filter 0.12s ease;
}

.swiper__btn:active {
	transform: translateY(1px);
}

.swiper__btn:hover {
	filter: brightness(1.03);
}

.swiper__btn:disabled {
	opacity: 0.55;
	cursor: default;
}

.swiper__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 15px;
}

.swiper__header .title {
	margin-bottom: 0;
}

.swiper__nav {
	display: flex;
	gap: 10px;
}

.swiper-card {
	background: #ffffff;
	border-radius: 5px 5px 20px 20px;
	overflow: hidden;
	box-shadow: 4px 4px 10px 0px #0000001A;
}
.thanks .swiper-card__paper {
    max-height: 310px;
    display: flex;
}
.swiper-card__paper a {
	width: 100%;
	background: #ffffff;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid #0000002B;
	height: 290px;
}

.swiper-card__paper a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	background: #ffffff;
}

.swiper-card__caption {
	padding: 20px 15px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 400;
	background: #fff;
}

input.field, input.field.ym-input {
	border: 1px solid #00000033;
	height: 50px;
	width: 100%;
	margin-bottom: 20px;
	border-radius: 5px;
	padding: 15px;
	margin-top: 0 !important;
}
.yoomoney-payment-form .ym-payment-btn-block {
     align-items: center;
    margin-top: 0 !important;
}
.yoomoney-payment-form .ym-payment-btn-block {
    height: auto !important;
}
.yoomoney-payment-form .ym-input-icon-rub input {
    margin-bottom: 0 !important;
}
form .checks {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

form button.btn {
	width: 100%;
	border: 0;
}

label.check {
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 16px;
	margin-bottom: 10px;
	font-size: 12px;
}

/* HEADER */

header {
	box-shadow: 4px 4px 25px 0px #0000001A;
	padding: 30px 0;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 14;
	background: #fff;
}

header .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .wrap .info {
	display: flex;
	align-items: center;
	gap: 15px;
}

header .wrap .info .item {
	display: flex;
	align-items: center;
	gap: 15px;
}
header .wrap .info .item .list {
    display: flex;
    gap: 15px;
    align-items: center;
}
header .wrap .logo img {
	width: 100%;
}

header .wrap .info .item a {
	font-weight: 400;
	display: flex;
}

header .burger .close {
	display: none;
}

header .burger.active .close {
	display: block;
}

header .burger.active .open {
	display: none;
}

header .info .btn {
	margin: 0 15px;
}

header .burger {
	display: flex;
	align-items: center;
	min-width: 60px;
	cursor: pointer;
}

.m-overlay {
	position: fixed;
	inset: 0;
	background: rgba(17, 24, 39, 0.32);
	display: none;
	z-index: 9999;
}

.m-overlay.is-open {
	display: block;
}

.m-panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(460px, 100%);
	background: #ffffff;
	box-shadow: -12px 0 40px rgba(0,0,0,0.18);
	display: flex;
	flex-direction: column;
	transform: translateX(110%);
	transition: transform 220ms ease;
	border-radius: 20px 0 0 20px;
}

.m-overlay.is-open .m-panel {
	transform: translateX(0);
}

.m-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 14px 10px 14px;
}

.m-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #111827;
}

.m-brand {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.m-brandName {
	font-weight: 800;
	letter-spacing: .2px;
	font-size: 15px;
}

.m-tagline {
	font-size: 11px;
	color: #6B7280;
	margin-top: 3px;
}

.m-close {
	width: 40px;
	height: 40px; 
	border: none;
	background: transparent;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.m-closeX {
	font-size: 22px;
	line-height: 1;
	color: #111827;
	margin-top: -2px;
}

.m-body {
	flex: 1;
	overflow: auto;
	padding: 6px 14px 0 14px;
}

.m-nav {
	padding-bottom: 16px;
}

.m-group {
	display: grid;
	gap: 0;
}

.m-item,
  .m-docItem,
  .m-subItem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	text-decoration: none;
	font-family: "Geologica", sans-serif;
	padding: 7px 0;
	font-size: 15px;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-weight: 300;
}
.m-item.colored {
    font-weight: 700;
    color: #0065b3;
}
.m-item:hover,
  .m-docItem:hover,
  .m-subItem:hover {
	color: #0065B3;
}

.m-item--toggle {
	padding-top: 7px;
	padding-bottom: 7px;
}

.m-caret {
	width: 8px;
	height: 8px;
	border-right: 1px solid #0B1F33;
	border-bottom: 1px solid #0B1F33;
	transform: rotate(45deg);
	transition: transform 180ms ease;
	margin-right: 4px;
}

.m-item--toggle[aria-expanded="true"] .m-caret {
	transform: rotate(-135deg);
}

.m-sub {
	display: grid;
	gap: 0;
	padding: 0 0 6px 15px;
}
.m-sub a {
    margin-bottom: 9px;
    font-size: 14px;
}
.m-sub.is-collapsed {
	display: none;
}

.m-subItem {
	font-size: 14px;
	color: #374151;
	padding: 10px 0;
}

.m-sep {
	height: 1px;
	background: #fff;
	margin: 15px 0;
}

.m-sectionTitle {
	font-weight: 700;
	font-size: 15px;
	color: #111827;
	padding: 6px 0 4px;
}

.m-docItem {
	/* font-size: 14px; */
	/* color: #374151; */
	line-height: 1.25;
	padding: 10px 0;
}

.m-contact {
	padding: 0;
}

.m-phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #111827;
	font-weight: 600;
	padding: 10px 0 12px;
}

.m-phoneIcon {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #F3F4F6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.m-phoneText {
	font-size: 15px;
}

.m-social {
	display: flex;
	gap: 10px;
	padding: 0;
	align-items: center;
}

.m-socialBtn {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1px solid #E5E7EB;
	background: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.m-sticky {
	border-top: 1px solid #E5E7EB;
	background: #ffffff;
	padding: 15px 15px 25px;
}

.m-stickyInner {
	display: flex;
	align-items: center;
	gap: 10px;
}

.m-stickyText {
	font-size: 16px;
	color: #1c1c1c73;
}
.m-phone-block {
    display: flex;
    gap: 10px;
    align-items: center;
}
  /* мелкая подстройка под мобильный вид */
@media (max-width: 420px) {
	.m-head {
		padding: 12px 12px 8px 12px;
	}

	.m-body {
		padding: 6px 12px 0 12px;
	}

	.m-sticky {
		padding: 12px;
	}
}

/* HERO */


section.hero .wrapper {
	min-height: 640px;
	padding-top: 110px;
	display: flex;
	flex-direction: column;
	max-width: 630px;
}

section.hero {
	background-image: url(/assets/redesigned/images/main.jpg);
	background-repeat: no-repeat;
	background-position: bottom;
	background-position-x: calc(100% - 20px);
	position: relative;
}
section.hero.doc {
	background-image: url(/assets/redesigned/images/doc.png);
	background-repeat: no-repeat;
	background-position: top;
	background-position-x: calc(100% - 20px);
	position: relative;
}
section.hero .wrapper h1 {
	font-size: 40px;
	font-weight: 400;
	line-height: 120%;
	margin-bottom: 15px;
}
section.hero.doc .wrapper {
    padding-top: 30px;
}
section.hero .wrapper .dscription {
	margin-bottom: 20px;
}
section.hero .wrapper .dscription ul {
    padding-left: 20px;
    margin: 30px 0 0;
}

section.hero .wrapper .dscription ul li {
    margin-bottom: 15px;
}

section.hero .wrapper .dscription ul li::marker {
    color: #0065b3;
    font-size: 20px;
}
.flex-btn {
	display: flex;
	gap: 15px;
}

section.hero.page {
    background-image: none;
    background: linear-gradient(180deg, rgba(0, 101, 179, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);

}

section.hero.page .wrapper {
    padding-top: 30px;
    max-width: 100%;
    min-height: auto;
}

section.breadcrumbs {
    padding: 0 0 40px;
}

section.breadcrumbs ul {
    display: flex;
    list-style-type: none;
    gap: 10px;
    color: rgb(0 0 0 / 50%);
    font-size: 14px;
}

section.breadcrumbs ul li a {
    color: rgb(0 0 0 / 50%);
    font-size: 14px;
}

section.hero.page .wrapper .wrap {
    display: flex;
    gap: 20px;
}

section.hero.page .wrapper .wrap .image {
    width: 50%;
}

section.hero.page .wrapper .wrap .dscription p {
    margin-bottom: 15px;
}

section.hero.page .wrapper .wrap .data {
    flex: 1;
}

/* SERVICES */
.services .first_text {
	text-align: center;
	font-size: 20px;
	max-width: 730px;
	margin: 0 auto 50px;
}

.services {
	padding: 40px 0;
	color: #111827;
	background: linear-gradient(180deg, rgba(0, 101, 179, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);

}
section.services.bg-none {
    background: transparent;
}
.services__wrap {
	max-width: 980px;
	margin: 0 auto;
}

.services__title {
	font-size: 28px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 18px 0;
}

.services__card {
	background: #ffffff;
	border: 1px solid #00000033;
	border-radius: 5px;
	overflow: hidden;
}

.services__grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	min-height: 210px;
}

.services__tabs {
	border-right: 1px solid #00000033;
	background: #ffffff;
	border-radius: 5px;
	overflow: hidden;
}

.services__tab {
	display: block;
	width: 100%;
	text-align: left;
	border: 0;
	margin: 0;
	padding: 15px 20px;
	background: transparent;
	line-height: 1;
	cursor: pointer;
	border-bottom: 1px solid #00000033;
	font-size: 16px;
	font-family: "Geologica", sans-serif;
	font-weight: 400;
}

.services__tab:hover {
	background: #f7f8ff;
}

.services__tab.is-active {
	background: #0065B3;
	color: #ffffff;
	border-bottom-color: #0065B3;
	border-radius: 5px;
}

.services__content {
	padding: 16px 18px;
}

.services__panel {
	display: none;
}

.services__panel.is-active {
	display: block;
}

.services__panelTitle {
	font-size: 24px;
	line-height: 1.25;
	margin-bottom: 20px;
	font-weight: 400;
}

.services__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.services__list li,.services__list li a {
	font-size: 16px;
	line-height: 1;
}

  /* Mobile container */
.services__mobile {
	display: none;
	padding: 12px;
	border-bottom: 1px solid #e6e8f0;
	background: #ffffff;
}

  /* Custom Select */
.cselect {
	position: relative;
}

.cselect__trigger {
	width: 100%;
	height: 40px;
	border-radius: 6px;
	border: 1px solid #d7dbea;
	padding: 0 40px 0 12px;
	font-size: 14px;
	color: #111827;
	background: #ffffff;
	outline: none;
	text-align: left;
	cursor: pointer;
	position: relative;
}

.cselect__trigger:focus {
	border-color: #0065B3;
	box-shadow: 0 0 0 3px rgba(79, 85, 255, 0.15);
}

.cselect__value {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cselect__chev {
	position: absolute;
	right: 12px;
	top: 50%;
	width: 10px;
	height: 10px;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid #6b7280;
	border-bottom: 2px solid #6b7280;
}

.cselect.is-open .cselect__chev {
	transform: translateY(-50%) rotate(-135deg);
}

.cselect__panel {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	background: #ffffff;
	border: 1px solid #d7dbea;
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(17, 24, 39, 0.12);
	overflow: hidden;
	z-index: 20;
}

.cselect.is-open .cselect__panel {
	display: block;
}

.cselect__list {
	list-style: none;
	padding: 6px;
	margin: 0;
	max-height: 260px;
	overflow: auto;
}

.cselect__option {
	padding: 10px 10px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.25;
	color: #111827;
	cursor: pointer;
	outline: none;
}

.cselect__option:hover {
	background: #f2f4fb;
}

.cselect__option:focus {
	box-shadow: 0 0 0 3px rgba(79, 85, 255, 0.15);
}

.cselect__option.is-active {
	background: #0065B3;
	color: #ffffff;
}

  /* Responsive: tabs -> custom select */
@media (max-width: 768px) {
	 

	.services__grid {
		grid-template-columns: 1fr;
	}

	.services__tabs {
		display: none;
	}

	.services__mobile {
		display: block;
	}

	.services__content {
		padding: 14px 14px 16px 14px;
	}
}

ces__tabs .services__tab:nth-last-child(1) {
	border-bottom: 0;
}

.services__list li {
	padding: 10px;
	width: fit-content;
	background: #F0F0F2;
	margin-bottom: 10px;
	transition: all 0.3s;
	border-radius: 5px; 
}

.services__list li:hover {
	
	background: #0065B3;
}
.services__list li:hover a{
    color: #fff;
}
.serivec_desc {
	text-align: center;
	margin-top: 40px;
}

.serivec_desc .subtitle {
	font-size: 24px;
	margin-bottom: 10px;
	font-weight: 400;
}

.serivec_desc .desc {
	margin-bottom: 15px;
}

.serivec_desc .btn {
	max-width: 300px;
	margin: 0 auto;
}

/* CONCEPT */

section.concept {
	padding: 40px 0;
}

section.concept .wrap {
	display: flex;
	align-items: center;
}

section.concept .wrap .text {
	width: 50%;
}

section.concept .wrap .image {
	flex: 1;
}

section.concept .wrap .text .subtitle {
	font-size: 24px;
	max-width: 450px;
	margin-bottom: 15px;
	font-weight: 400;
}

section.concept .wrap .text .desc {
	max-width: 480px;
	margin-bottom: 50px;
}



/* ADV */


section.advantages {
	padding: 40px 0;
}

section.advantages .wrap {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	    justify-content: space-between;
}

section.advantages .wrap .item {
	padding: 30px 20px;
	border: 1px solid #0000004D;
	border-radius: 5px;
	width: calc(100%/2 - 10px);
	box-shadow: 4px 4px 25px 0px #0000000D;

}

section.advantages .wrap .item.full {
	width: 100%;
}
section.advantages .wrap .item.mini {
	width: calc(100%/3 - 15px);
}
section.advantages .wrap .item .name {
	font-size: 24px;
	margin-bottom: 15px;
	font-weight: 400;
}
section.advantages .wrap .item .subname {
	font-size: 22px; 
	font-weight: 400;
}

/* REVIEWS */

section.reviews {padding: 50px 0;}


/* ThANKS */

.thanks {
	padding: 40px 0;
}

.thanks__slider {
	width: 100%;
}

@media (max-width: 640px) {
	.thanks__container {
		width: calc(100% - 24px);
	}

	.thanks__title {
		font-size: 22px;
	}
}


/* PARTNERS */

.partners {
	padding: 40px 0;
}

.partners__slider {
	margin-left: -20px;
}



/* BLOG */


section.blog {
	padding: 40px 0;
}


/* BOTTOM FORM */

section.bottom-form {
	padding: 50px 0 250px;
	background-image: url(/assets/redesigned/images/bottom.svg);
	background-repeat: no-repeat;
	background-position: top;
	background-position-y: 100px;
}
section.bottom-form.bg-none{
   background-image: none; 
   padding-bottom: 50px;
}
section.bottom-form .wrap {
	display: flex;
	gap: 40px;
}

section.bottom-form .wrap .form {
	width: 100%;
	border: 1px solid #00000033;
	background: #fff;
	padding: 30px;
	border-radius: 5px;
	max-width: 690px;
}

section.bottom-form .wrap .text {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

section.bottom-form .wrap .subtitle {
	font-size: 26px;
	font-weight: 400;
	margin-bottom: 12px;
}

section.bottom-form .wrap .social {
	display: flex;
	gap: 20px;
	align-items: center;
	max-width: 300px;
}

section.bottom-form .wrap .social .item a {
	width: 50px;
	display: flex;
}

section.bottom-form .wrap .social .item a img {
	width: 100%;
}



/* FOOTER */


footer.footer {
	min-height: 500px;
	background: #1C1C1C;
	margin-top: -150px;
	border-radius: 40px 40px 0 0;
	padding: 50px 0;
}

footer.footer .wrap {
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
}

footer.footer .wrap .col {
	width: calc(100%/2 - 10px);
}

footer.footer .wrap .col .logo {
	margin-bottom: 30px;
}

footer.footer .wrap .col .footer_contacts {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

footer.footer .wrap .col .footer_contacts .item {
	background: #F0F0F2;
	border-radius: 5px;
	padding: 20px;
	width: calc(100%/2 - 10px);
}

footer.footer .wrap .col .footer_contacts .item img {
	width: 46px;
	margin-bottom: 5px;
}

footer.footer .wrap .col .footer_contacts .item .name {
	color: #6B6B6B;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 10px;
}

footer.footer .wrap .col .footer_contacts .item a,footer.footer .wrap .col .footer_contacts .item p {
	color: #1C1C1C;
	font-size: 18px;
	font-weight: 400;
	display: block;
}

footer.footer .wrap .col .footer_contacts .item .social {
	display: flex;
	gap: 12px;
}

footer.footer .wrap .col .footer_contacts .item .social span {
	font-size: 12px;
	max-width: 130px;
}

footer.footer .wrap .col .footer_contacts .item .social a img {
	width: 30px;
}

.footer_bottom {
	padding-top: 40px;
	display: flex;
	color: #6B6B6B;
	justify-content: space-between;
	border-top: 1px solid rgb(255 255 255 / 20%);
}

.footer_bottom .links {
	display: flex;
	gap: 30px;
}

.footer_bottom .links a {
	color: #6B6B6B;
}

footer.footer .wrap .col:nth-child(2) {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

footer.footer .wrap .col .footer_menu {
	max-width: 300px;
}

footer.footer .wrap .col .footer_menu .name {
	color: #6B6B6B;
	font-size: 20px;
	margin-bottom: 15px;
}

footer.footer .wrap .col .footer_menu ul li a {
	color: #fff;
	font-size: 16px;
	font-weight: 300;
}

footer.footer .wrap .col .footer_menu ul li {
	margin-bottom: 10px;
}

footer.footer .wrap .col .footer_menu:nth-child(3) {
	max-width: 100%;
}

footer.footer .wrap .col .footer_menu .btn {
	margin-top: 40px;
}
footer.footer .wrap .col .footer_menu .btn:nth-last-child(1) {
    margin-top: 15px;
}
footer.footer .wrap .col .footer_menu ul li a:hover {
	color: #0065B3;
}

.map-container {
	position: relative;
	width: 100%;
	height: 600px;
}
.desc-map {
    margin-bottom: 30px;
}
#map {
	width: 100%;
	height: 100%;
}

        /* Верхний блок с абсолютным позиционированием */
.map-controls {
	position: absolute;
	top: 50px;
	left: 20px;
	right: 20px;
	z-index: 10;
	display: flex;
	gap: 0;
	pointer-events: none;
 /* Чтобы клики проходили сквозь блок, но не сквозь внутренние элементы */
}

        /* Левая часть - фильтры */
.filters-panel {
	background: #fff;
	border-radius: 20px 0 0 20px;
            /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); */
	padding: 0;
	width: 320px;
	pointer-events: auto;
	border: 1px solid #00000033;
	overflow: hidden;
}

.filters-title {
	font-size: 20px;
	font-weight: 600;
	padding: 20px;
	color: #0B1F33;
	text-align: center;
}

.filters-list {
	display: flex;
	flex-direction: column;
}

.filter-item {
	padding: 15px 20px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 15px;
	color: #00000080;
	background: #fff;
	border-bottom: 1px solid #00000033;
}

.filter-item:hover {
	background: #e9ecef;
	color: #0065B3;
}

.filter-item.active {
	background: #0065B3;
	color: white;
	font-weight: 500;
	border-color: #0065B3;
}

        /* Правая часть - карточка объекта */
.object-card {
	background: white;
	border-radius: 0 20px 20px 0;
	padding: 20px;
	width: 420px;
	pointer-events: auto;
	transition: all 0.3s ease;
	border: 1px solid #00000033;
	border-left: 0;
}

.object-card.empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	color: #999;
	text-align: center;
}

.object-photo {
	width: 100%;
	height: 180px;
	background: #f0f0f0;
	border-radius: 8px;
	margin-bottom: 15px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.object-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.object-photo .no-photo {
	color: #999;
	font-size: 14px;
}

.object-title {
	font-size: 18px;
	font-weight: 600;
	color: #333;
	margin-bottom: 8px;
}

.object-address {
	font-size: 14px;
	color: #666;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eee;
}

.object-description {
	font-size: 14px;
	color: #666;
	line-height: 1.5;
}

.object-description p {
	margin-bottom: 5px;
}

.object-description .label {
	font-weight: 600;
	color: #333;
}

.filters-panel .phones {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 10px 20px;
}

.filters-panel .phones .list {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.filters-panel .phones .list a {
	font-size: 16px;
	font-weight: 500;
}

.filters-panel .social {
	display: flex;
	align-items: center;
	padding: 10px 20px 15px;
	gap: 10px;
}

.filters-panel .social img {
	width: 30px;
}

.filters-panel .social span {
	max-width: 130px;
	font-size: 12px;
	font-weight: 400;
}

.filters-panel .social a {
	display: flex;
}
        /* Адаптивность */
@media (max-width: 768px) {
	.map-controls {
		flex-direction: column;
		top: 10px;
		left: 10px;
		right: 10px;
	}

	.filters-panel,
            .object-card {
		width: 100%;
		margin-left: 0;
	}
}

.mobile-contacts {
    display: none;
}


/* NEWS */


section.news-list {
    padding: 40px 0;
}

section.news-list .wrap {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

section.news-list .wrap .item-new {
    width: 100%;
    display: flex;
    align-items: center;
}

section.news-list .wrap .item-new .image {
    display: flex;
    background: #fff;
    width: 250px;
}

section.news-list .wrap .item-new .data {
    padding: 15px;
    flex: 1;
}

section.news-list .wrap .item-new .data .name {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 10px;
}

/* DOC */

section.documents {
    padding: 40px 0;
    background: linear-gradient(180deg,rgba(0,101,179,.1) 0%,rgba(255,255,255,.1) 100%);
}

section.documents .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

section.documents .wrap .item {
    width: calc(100%/4 - 15px);
    background: #fff;
    box-shadow: 4px 4px 25px 0px #0000001A;
    border-radius: 20px;
    overflow: hidden;
}

section.documents .wrap .item .name {
    padding: 15px;
    display: block;
    font-size: 16px;
}

section.documents .wrap .item .img {
    /* border: 1px solid #0000002B; */
    display: flex;
    height: 240px;
    border-radius: 20px 20px 0 0;
}

section.documents .wrap .item .img img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
section.documents .swiper__header {display: none;}

/* CONTENT */

section.content {
    padding: 40px 0;
}
section.content p, section.content li {
    margin-bottom: 15px;
}
section.content ol,section.content ul {
    margin: 20px;
}
section.content h2,section.content h3 {
    margin: 15px 0 20px;
}
section.content table {
    border: 1px solid;
    width: 100%;
    border-collapse: collapse;
}

section.content table tr td {
    padding: 10px;
    border: 1px solid;
}


section.content p img {
    margin: 0 15px 15px 0 !important; 
}
 
section.content .flex {
    display: flex;
    gap: 30px;
    align-items: start;
}

section.content .flex .image {
    width: 440px;
    display: flex;
}

section.content .flex  .text {flex: 1;}
section.content .flex .image img {
    width: 100%;
    object-fit: cover;
    border-radius: 5px;
    display: flex;
    overflow: hidden;
    float: left;
} 
section.content.article img{
    display: block;
    max-width: 100%;
    border-radius: 5px;
    margin: 5px 20px 20px 20px !important;
}
section.content.article ul {
    list-style-type: none;
    margin-left: 0;
}
section.content.article ul li{
    font-size: 16px;
    color: #2F2F2F;
    line-height: 20px;
    margin: 0 0 10px 0;
    overflow: hidden;
    position: relative;
    padding-left: 20px;
}
section.content.article  ul li::before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    border-radius: 100%;
    width: 5px;
    height: 5px;
    background-color: #000;
}
/* CONTACTS PAGE */

section.contacts-main .wrap {
    display: flex;
    gap: 30px;
    align-items: end;
    margin-bottom: 50px;
}

section.contacts-main .wrap .name {
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 15px;
}

section.contacts-main .wrap p {
    margin-bottom: 15px;
}

section.contacts-main .wrap .data {
    flex: 1;
}

section.contacts-main .wrap .map {
    width: 100%;
    max-width: 760px;
}

section.contacts-main .wrap .map .map-block {
    border-radius: 20px;
    overflow: hidden;
    height: 420px;
}

section.contacts-main .wrap hr {
    margin: 20px 0;
}

section.contacts-main .wrap .item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

section.contacts-main .wrap .item .list {
    display: flex;
    gap: 15px;
}

section.contacts-main .wrap .item a {
    font-weight: 400;
}

section.contacts-main .wrap .item .mail {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 30px;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 50px;
}

.gallery img {
    width: calc(100%/2 - 10px);
}

/* SERVICE */
.wrap_service {
    display: flex;
    gap: 20px;
    align-items: center;
}

section.hero .wrapper .wrap_service h1 {
    font-size: 38px !important;
    flex: 1;
    margin: 0;
}

.wrap_service .service_price {
    display: flex;
    gap: 20px;
}

.wrap_service .service_price .item {
    background: #0065B3;
    color: #fff;
    padding: 12px 15px;
    border-radius: 10px;
    font-size: 20px;
    font-style: italic;
    font-weight: 500;
}

/* DOCS */

section.docs p {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 30px;
    margin-top: 30px;
}

section.docs {
	padding: 40px 0;
}

section.docs ul {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style-type: none;
}

section.docs ul li {
	padding: 30px 20px;
	border: 1px solid #0000004D;
	border-radius: 5px;
	width: calc(100%/2 - 10px);
	box-shadow: 4px 4px 25px 0px #0000000D;
	font-size: 22px; 
	font-weight: 400;

}

section.docs ul li:nth-child(1),section.docs ul li:nth-child(6) {
	width: 100%;
}

section.docs ul li {
	width: calc(100%/2 - 15px);
}
 
/* HOW WORK */

section.how-work {
    padding: 40px 0;
}

section.how-work .wrap {
    display: flex;
    gap: 20px;
    align-items: center;
}

section.how-work .wrap .list {
    border: 1px solid #00000033;
    border-radius: 20px;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    justify-content: space-between;
}

section.how-work .wrap .list .item {
    width: calc(100%/2);
    padding: 30px 20px;
    border-bottom: 1px solid #00000033;
}

section.how-work .wrap .list .item .name {
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 10px;
}

section.how-work .wrap .list .item:nth-last-child(-n+2) {
    border: 0;
}

/* CONCEPT */


section.etaps-search {
    padding: 50px 0;
}

section.etaps-search .wrap {
    display: flex;
    flex-direction: column;
}

section.etaps-search .wrap .item {display: flex;gap: 20px;margin-bottom: 50px;align-items: start;position: relative;}

section.etaps-search .wrap .item .text {
    display: flex;
    gap: 25px;
    flex: 1;
    margin-top: 8px;
}

section.etaps-search .wrap .item .num {
    color: #0065B3;
    font-size: 68px;
    font-weight: 400;
    line-height: 68px;
    width: 45px;
}

section.etaps-search .wrap .item .text .name {
    color: #000000;
    font-size: 21px;
    font-weight: 500;
    width: 330px;
}

section.etaps-search .wrap .item .text ul {
    flex: 1;
}

section.etaps-search .wrap .item .text ul li {
    margin-bottom: 12px;
    font-size: 18px;
}

section.etaps-search .wrap .item:after {
    content: '';
    width: 2px;
    height: calc(100% - 20px);
    background: #00000087;
    display: block;
    position: absolute;
    left: 17px;
    bottom: -47px;
}

section.etaps-search .wrap .item:nth-last-child(1):after {
    display: none;
}
section.search-concept-map .wrap {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

section.search-concept-map .wrap h2 {
    font-size: 22px;
    font-weight: 500;
    width: 100%;
    max-width: 645px;
}

section.search-concept-map .wrap .right {
    flex: 1;
}

section.search-concept-map .wrap .right .search-field {
    display: flex;
    flex-wrap: wrap;
}

section.search-concept-map .wrap .right .search-field input {
    margin: 0;
    border-radius: 5px 0 0 5px;
    width: 90%;
}

section.search-concept-map .wrap .right .search-field .btn {
    border: 0;
    border-radius: 0 5px 5px 0;
    width: 60px;
    padding: 0;
    min-width: 1px;
    cursor: pointer;
    flex: 1;
}

 

section.search-concept-map .blockmap {
    border-radius: 20px;
    overflow: hidden;
    width:100%;
    min-width:500px;
    height:450px;
    float:left;
    margin-bottom: 30px
}

section.search-concept-map .alert {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 20px;
}

section.search-concept-map .alert .icon {
    width: 82px;
}

section.search-concept-map .alert .text {
    flex: 1;
    color: rgb(0 0 0 / 50%);
}

section.etaps {
    padding: 50px 0;
}

section.etaps .wrap {
    display: flex;
    gap: 20px;
    margin-bottom: 50px;
}

section.etaps .wrap .item {
    width: calc(100%/5 - 10px);
    padding: 20px;
    border-radius: 15px;
    color: #fff;
}
section.etaps .wrap .item:nth-child(4) {
    background: #767676;
}
section.etaps .wrap .item:nth-child(1) {
    background: #00C825CC;
}

section.etaps .wrap .item:nth-child(2) {
    background: #0065B3CC;
}

section.etaps .wrap .item:nth-child(3) {
    background: #E50004CC;
}

section.etaps .wrap .item:nth-child(5) {
    background: #4700CCCC;
}

section.etaps .wrap .item .name {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 10px;
}

section.etaps .wrap .item .text {
}

section.etaps .find-object.long {
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 30px;
}

section.etaps .wrap-bottom {
    display: flex;
    gap: 50px;
}

section.etaps .wrap-bottom .subtitle {
    font-size: 20px;
}
section.search-concept-map .wrap .right .search-field div#alertblock {
    width: 100%;
    margin-top: 10px;
    font-size: 13px;
}

/* MODAL */

 

.overlay {
    
   opacity: 0;
   visibility: hidden;
   
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, .5);
   z-index: 20;
   transition: .3s all;
}

.modal {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    max-width: 500px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 30;
    box-shadow: 0 3px 10px -.5px rgba(0, 0, 0, .2);
    text-align: center;
    padding: 35px;
    border-radius: 3px;
    background-color: #fff;
    transition: 0.3s all;
}
 

.modal.active,
.overlay.active{
   opacity: 1;
   visibility: visible;
}
 

.modal__cross {
   width: 30px;
   height: 30px;
   position: absolute;
   top: 5px;
   right: 5px;
   fill: #444;
   cursor: pointer;
}
.modal.big {
    max-width: 1200px;
}

.modal-body { 
    max-height: 500px;
    overflow: auto;
    min-height: 270px;
}

.modal-body ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    margin-bottom: 30px;
}

.modal-body ul li {
    width: calc(100% / 2 - 5px);
    text-align: left;
    list-style-type: none;
    padding-left: 20px;
    margin-bottom: 10px;
    position: relative;
}

.modal-body ul li:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #0065B3;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 4px;
}

.modal-body .h4 {
    text-align: left;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 20px;
}

p.modal__title {
    font-size: 24px;
    font-weight: 500;
}


/* ERROR */


section.error {
    padding: 50px 0;
}

section.error .wrap {
    display: flex;
    gap: 0;
    align-items: center;
}

section.error .wrap .image {
    width: 400px;
}

section.error .wrap .text {
    flex: 1;
}

section.error .wrap .text ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    align-items: start;
}

section.error .wrap .text ul li {
    padding-left: 30px;
    width: calc(100%/2 - 10px);
    background-image: url(/assets/redesigned/images/icons/error.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

section.error .wrap .text p {
    margin-bottom: 25px;
}

/* TYPICAL */

section.typical-work {
	position: relative;
	margin: 50px 0;
}

 

section.typical-work ul {
	padding: 0 0 50px 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	list-style: none;
	display: flex;
	border-bottom: 1px solid #0065B3;
}

section.typical-work ul>li {
	width: calc(25% - 20px);
	margin: 0 20px 0 0;
	display: flex;
	align-items: start;
	flex-wrap: wrap;
	position: relative;
}
section.typical-work ul.three>li{
    width: calc(100%/3 - 20px);
}
section.typical-work ul>li:last-child {
	margin: 0;
}

section.typical-work ul>li:after {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 2px;
	transform: rotate(45deg);
	background: #0065B3;
	position: absolute;
	bottom: -55px;
	left: calc(50% - 5px);
}

section.typical-work ul>li img {
	margin: 0 20px 15px 0;
	width: 70px;
	height: 60px;
	display: block;
	object-fit: contain;
}

section.typical-work ul>li h3 {
	font-size: 16px;
	line-height: 25px;
	width: calc(100% - 90px);
	margin: 0 0 15px 0;
	height: 60px;
}

section.typical-work ul>li p {
	font-family: 'pt_serif';
	font-size: 14px;
	line-height: 22px;
	width: 100%;
}

@media (max-width: 1300px) {
	section.typical-work {
		padding: 0 10px;
	}
     
}

@media (max-width: 1100px) {
	section.typical-work ul {
		flex-wrap: wrap;
		border: none;
	}

	section.typical-work ul>li {
		width: calc(50% - 10px);
	}

	section.typical-work ul>li:after {
		display: none;
	}

	section.typical-work ul>li:nth-child(1) {
		margin: 0 20px 20px 0;
	}

	section.typical-work ul>li:nth-child(2) {
		margin: 0 0 20px 0;
	}

	section.typical-work ul>li:nth-child(3) {
		margin: 0 0 20px 0;
	}

	section.typical-work ul>li:nth-child(4) {
		margin: 0;
	}
}

@media (max-width: 650px) {
	section.typical-work {
		margin: 50px 0;
	}
 
	section.typical-work ul>li {
		width: 100%;
	}

	section.typical-work ul>li:nth-child(1) {
		margin: 0 0 20px 0;
	}

	section.typical-work ul>li:nth-child(2) {
		margin: 0 0 20px 0;
	}

	section.typical-work ul>li:nth-child(2) {
		margin: 0 0 20px 0;
	}

	section.typical-work ul>li:nth-child(4) {
		margin: 0;
	}
	.modal-body .h4 {
	    font-size: 18px;
	}
	.modal-body ul {
	        flex-direction: column;
	}
	.modal-body ul li {
	    width: 100%;    
	}
}


section.material img {
display: block;
max-width: 100%;
border-radius: 5px;
margin: 5px 20px 20px 20px!important;
}

/* FAQ */


.faq .item {
    margin-bottom: 20px;
}

.faq .item .quest {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0065B3;
    padding: 20px;
    cursor: pointer;
    border-radius: 15px;
}

.faq .item .quest .name {
    margin: 0;
    color: #fff;
    font-size: 19px;
}

.faq .item .quest .icon {
    color: #fff;
    font-size: 28px;
    line-height: normal;
    transition: all 0.3s;
}
.faq .item.show .quest .icon {
    transform: rotate(-90deg);
}
.faq .item .answer {
    padding: 20px;
    display: none;
    transition: all 0.3s;
}

.faq .item.show .answer {
    display: block;
}



.why .wrap .item {
    width: calc(100%/3 - 20px);
    background: #0065B3;
    padding: 20px;
    border-radius: 10px;
}

.why .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 40px 0;
    justify-content: center;
}

.why .wrap .item .name {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 15px; 
}

.why .wrap .item .text p {
    color: #fff;
    margin: 0;
}
.why .wrap .item .text ul li {
    color: #fff;
}

.why .wrap .item .text ul li::before {
    background: #fff;
}
.path {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 40px;
}
 
.path .item {
    width: calc(100%/2 - 20px);
    padding: 25px;
    border: 2px solid #0065B3;
    border-radius: 10px;
}

.path .item .name {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 15px;
}
.path-number {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 0 40px;
    justify-content: center;
}
 
.path-number .item {
    width: calc(100%/2 - 20px);
    padding: 25px;
    border: 2px solid #3176f7;
    border-radius: 10px;
}

.path-number .item .name {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 15px;
    display: flex;
    gap: 30px;
    align-items: center;
}
.path-number .item .name .num {
    background: #3176f7;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    color: #fff;
}
@media screen and (max-width: 768px) {
    .why .wrap .item {
        width: calc(100%/2 - 20px); 
    }
}
@media screen and (max-width: 768px) {
    .why .wrap .item ,.path .item ,.path-number .item {
        width: 100%; 
    }
}


section.our-works-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

section.our-works-gallery .gallery {
	position: relative;
	width: 25%;
	margin-bottom: 0;
}

section.our-works-gallery .gallery img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
}

section.our-works-gallery .gallery .description {
	width: 100%;
	height: 300px;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 101, 179, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0;
	transition: all 0.2s;
}

section.our-works-gallery .gallery:hover .description {
	opacity: 1;
}

section.our-works-gallery .gallery .description p {
	font-size: 16px;
	color: #fff;
	line-height: 22px;
	text-align: center;
	width: 100%;
}

button.btn.btn-primary.btn-more {
    margin-top: 40px;
    border: 0;
    cursor: pointer;
}

  .burger.is-open .close {
        display: block;
    }
    
      .burger.is-open .open {
        display: none;
    }
    
    
section.vid-3d {
    padding: 40px 0;
}

section.vid-3d .subtitle {
    font-size: 30px;
    margin-bottom: 30px;
}

section.vid-3d .wrap {
    display: flex;
    gap: 20px;
}

section.vid-3d .wrap .item {
    width: calc(100%/2 - 10px);
    box-shadow: 4px 4px 25px 0px #0000001A;
    border-radius: 15px;
    overflow: hidden;
}

section.vid-3d .wrap .item .image {
    display: flex;
}

section.vid-3d .wrap .item .name {
    padding: 20px;
    font-size: 20px;
    font-weight: 400;
}

section.vid-3d .wrap .item .desc {
    padding: 0 20px 30px;
}

section.zachem {
    padding: 60px 0;
}

section.zachem .wrap {
    display: flex;
    gap: 100px;
    align-items: center;
}

section.zachem .wrap .image {
    display: flex;
    width: 485px;
}

section.zachem .wrap .info {
    flex: 1;
}

section.zachem .wrap .info .name {
    font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
}

section.zachem .wrap .info .list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

section.zachem .wrap .info .list .item {
    border: 1px solid #0000004D;
    width: calc(100%/2 - 10px);
    border-radius: 5px;
    text-align: center;
    padding: 10px;
}

.faq.new .item .quest {
    background: #fff;
    box-shadow: 4px 4px 25px 0px #0000000D;
}

.faq.new .item .quest .name {
    color: #000;
    display: flex;
    gap: 10px;
    font-size: 24px;
}

.faq.new .item {
    border: 1px solid #0000004D;
    border-radius: 5px;
    background: #fff;
}

.faq.new .item .quest .name .num {
    color: #0065B3;
}

section.faq.new {
    padding: 50px 0 0;
} 

.faq.new .item.show .quest {
    border-bottom: 1px solid #0000004D;
    border-radius: 5px;
}

.faq.new .item .answer p {
    margin-bottom: 15px;
}


.doc-new {
    background: linear-gradient(180deg,rgba(0,101,179,.1) 0%,rgba(255,255,255,.1) 100%);
    padding: 90px 0;
}

.doc-new .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}

.doc-new .wrap .item {
    width: calc(100%/3 - 15px);
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    gap: 20px;
    align-items: center;
    box-shadow: 4px 4px 25px 0px #0000001A;
}

.doc-new .wrap .item .name {
    flex: 1;
}

.doc-new .wrap .item .icon {
    width: 50px;
}

section.hero.doc img.mobile {
    display: none;
}

/* MEIDA */

@media screen and (min-width: 769px) {
    .m-panel {
        width: 100%;
        border-radius: 0 0 20px 20px;
        top: 110px;
        height: auto;
                box-shadow: 0px 5px 10px -8px rgba(0, 0, 0, 0.6);
    }

    .m-head {
        display: none;
    }
    .m-sep {
        display: none;
    }
    .m-sticky {
        display: none;
    }
    
    .m-overlay {
        background: transparent;
    }
    .m-container {
        max-width: 1170px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }
    
    .m-item {
        justify-content: start;
    }
    
    .m-sub {
        padding-top: 6px;
    }
    .m-col {
        width: calc(100%/3 - 24px);
    }
    
}

@media screen and (max-width: 1550px) {
    .container {
        max-width: 1200px;
    }
    section.hero {
        background-size: 60%;
    }
    section.hero .wrapper {
        min-height: 545px;
        padding-top: 50px;
    }
}
 
@media screen and (max-width: 1400px) {
    .container {
        max-width: 1200px;
    }
    header .wrap .info .item .list {
        flex-direction: column;
        gap: 5px;
    }
    
    header .wrap .info {
        gap: 10px;
    }
    
    header .info .btn {
        margin: 0;
    }
    
    header .wrap .info .item {
        gap: 10px;
    }
    
    
    
     
    
    .services__panelTitle {
        font-size: 20px;
    }
    
    .title {
        font-size: 30px;
    }
    
    section.advantages .wrap .item .name {
        font-size: 20px;
    }
    
    .swiper-card__caption {
        font-size: 15px;
    }
    
    section.bottom-form .wrap .form {
        max-width: 450px;
    }
    
    footer.footer .wrap .col .footer_contacts .item a, footer.footer .wrap .col .footer_contacts .item p {
        font-size: 14px;
    }
    
    footer.footer .wrap {gap: 20px;}
    
    footer.footer .wrap .col .footer_menu {
        max-width: 197px;
    }
    
    footer.footer .wrap .col .footer_menu ul li a {
        font-size: 14px;
    }
    
    footer.footer .wrap .col .footer_menu .name {
        font-size: 18px;
    }
    
    footer.footer .wrap .col .logo {
        max-width: 200px;
    }
    footer.footer .wrap .col .footer_contacts .item .social a img {
        width: 20px;
    }
    footer.footer .wrap .col .footer_contacts .item {
        
        padding: 15px;
    }
    footer.footer .wrap .col .footer_contacts .item .social {gap: 5px;}
    footer.footer .wrap .col .footer_contacts .item .social span {
        flex: 1;
        font-size: 10px;
    }
}
@media screen and (max-width: 1024px) {
    .container {
        max-width: 100%;
    }
    section.hero {
        background-size: 63%;
    }
    section.contacts-main .wrap .map {
        max-width: 50%;
    }
     
    
    section.hero.doc {
        background: transparent;
    }
}

@media screen and (max-width: 768px) {
    header .wrap .info .item {
        display: none;
    }
    section.our-works-gallery .gallery {
        width: 50%;
    }
    section.news-list .wrap .item-new .data .name {
        font-size: 18px;
    }
    section.hero .wrapper {
        padding-top: 80px;
    }
    section.hero.page .wrapper .wrap {
        flex-direction: column;
    }
    
    section.hero.page .wrapper .wrap .image {
        width: 100%;
        text-align: center;
    }
    section.documents .wrap .item {
        width: calc(100%/2 - 14px);
     
    }
    section.hero.page .wrapper {
        padding-top: 0;
    }
    
    section.advantages .wrap .item.mini {
        width: calc(100%/2 - 10px);
    }
    .services__mobile {
        padding: 0;
    }
    section.contacts-main .wrap {
        flex-direction: column-reverse;
    }
    
    section.contacts-main .wrap .map {
        max-width: 100%;
    }
    
    section.contacts-main .wrap .data {
        width: 100%;
    }
    .cselect__trigger {
        border: 0;
        background: #0065B3;
        color: #fff;
        text-align: center;
    }
    
    .cselect__chev {
        right: 32%;
        border-color: #fff;
    }
    
    .services__panelTitle {
        display: none;
    }
    
    .services__grid {
        min-height: 1px;
    }
    
    .map-controls {
        position: relative;
        left: 0;
        right: 0;
        width: 100%;
        padding: 15px;
    }
    
    .filters-panel {
        border-radius: 20px;
    }
    section.how-work .wrap {
        flex-direction: column-reverse;
    }
    
    section.how-work .wrap .list .item {
        width: 100%;
    }
    section.how-work .wrap .list .item .name {
        font-size: 20px;
    }
    .map-container {
        height: auto;
    }
    .map-container #map{
        height: 450px;
    }
    .object-card {
        border: 1px solid #00000033;
        border-radius: 20px;
    }
    
    section.bottom-form .wrap {
        flex-direction: column;
    }
    
    section.bottom-form .wrap .form {
        max-width: 100%;
    }
    
    section.bottom-form .wrap .text {
        gap: 40px;
    }
    section.error .wrap .image {
        display: none;
    }
    
    section.docs ul li {
        font-size: 18px;
        padding: 15px;
    }
    section.bottom-form {
        background-position-y: 0;
        background-position: bottom;
    }
    
    footer.footer .wrap {
        flex-wrap: wrap;
    }
    
    footer.footer .wrap .col {
        width: 100%;
    }
    
    footer.footer .wrap .col .footer_menu:nth-child(3) {
        max-width: 100%;
    }
    
    footer.footer .wrap .col .footer_menu {
        width: calc(100%/3 - 15px);
    }
    
    .footer_bottom {
        font-size: 12px;
    }
    section.etaps-search .wrap .item .text {
        flex-direction: column;
    }
    
    section.search-concept-map .wrap {
        flex-direction: column;
    }
    
    section.etaps .wrap .item {
        width: calc(100%/2 - 10px);
    }
    
    section.etaps .wrap {
        flex-wrap: wrap;
    }
    
    section.etaps .wrap-bottom {
        flex-direction: column;
        gap: 0;
    }
    section.content .flex {
        flex-direction: column;
    }
    .doc-new .wrap .item {
        width: calc(100%/2 - 15px);
    }
}


@media screen and (max-width: 600px) {
    section.search-concept-map .blockmap {
         min-width:1px; 
    }
    section.content.article img {
        width: 100%;
        margin: 15px 0 !important;
    }
    header .info .btn {
        display: none;
    }
    section.our-works-gallery .gallery {
        width: 100%;
    }
    section.content .flex .image{
        width: 100%;
    }
    .border-top {
        border-radius: 0;
    }
    header {
        padding: 15px 0;
    }
    footer.footer .wrap .col .footer_contacts {
        gap: 10px
    }
    footer.footer .wrap .col .footer_contacts .item a {
        white-space: nowrap;
    }
    footer.footer .wrap .col .footer_contacts .item {
        width: calc(100%/2 - 5px);
    }
    section.news-list .wrap .item-new {
        width: 100%;
        flex-direction: column;
        align-items: start;
    }
    section.documents .wrap .item {
        width: 100%;
     
    }
    section.documents .wrap .item .name {
        font-size: 18px;
    }
    section.news-list .wrap .item-new .data {
        padding: 15px 0;
    }
    section.hero .wrapper h1 {
        font-size: 25px;
    }
    section.advantages .wrap .item.mini {
        width: 100%;
    }
    section.hero .wrapper .dscription {
        font-size: 16px;
    }
    section.hero.page {
        padding-top: 15px;
    }
    section.content p img {
        margin: 15px 0 !important;
        width: 100% !important;
    }
    section.hero.page .mobile-contacts {
        margin-bottom: 0;
    }
    
    section.breadcrumbs {
        padding: 10px 0;
    }
    .flex-btn {
        flex-direction: column;
    }
    section.contacts-main .wrap .name {
        font-size: 24px;
    }
    
    .gallery img {
        width: 100%;
    }
    section.hero .wrapper {
        min-height: 750px;
        padding-top: 10px;
    }
    
    section.hero {background-size: contain;background-position: bottom center;}
    
    .services .first_text {
        font-size: 16px; 
        margin-bottom: 30px;
    }
    section.news-list .wrap .item-new .image {
        width: 100%;
    }
    .title {
        font-size: 24px;
    }
    
    .cselect__chev {
        position: relative;
        right: 0;
        top: 3px;
    }
    
    .cselect__trigger {
        display: flex;
        align-items: center;
        gap: 15px;
        justify-content: center;
    }
    
    .serivec_desc .subtitle {
        font-size: 22px;
    }
    
    section.concept .wrap {
        flex-direction: column;
        gap: 30px;
    }
    
    section.concept .wrap .text {
        width: 100%;
    }
    
    section.concept .wrap .text .desc {
        margin-bottom: 20px;
    }
    
    section.advantages .wrap .item {
        width: 100%;
    }
    section.etaps-search .wrap .item .num {
        font-size: 46px;
        width: 36px;
        text-align: center;
    }
    
    section.etaps-search .wrap .item .text {
        margin-top: 15px;
    }
    
    section.etaps-search .wrap .item .text .name {
        font-size: 18px;
    }
    
    section.etaps-search .wrap .item .text ul {
        margin-left: 20px;
    }
    
    section.etaps-search .wrap .item .text ul li {
        font-size: 14px;
    }
    
    section.etaps-search .wrap .item {
        margin-bottom: 5px;
    }
    
    section.etaps-search .wrap .item:after {
        left: 19px;
        height: calc(100% - 60px);
        bottom: -10px;
    }
    
    section.search-concept-map .alert .icon {
        width: 50px;
    }
    
    section.search-concept-map .alert .icon svg {
        width: 50px;
    }
    
    section.search-concept-map .alert {
        gap: 10px;
    }
    
    section.etaps .wrap .item {
        width: 100%;
    }
    
    section.etaps .wrap .item .name {
        font-size: 18px;
    }
    
    section.etaps .find-object.long {
        font-size: 18px;
    }
    .swiper__btn {
        width: 35px;
        height: 35px;
    }
    
    .swiper__btn svg {
        width: 15px;
    }
    
    .filters-title {
        font-size: 18px;
    }
    
    section.bottom-form .wrap .subtitle {
        font-size: 24px;
    }
    
    section.bottom-form .wrap .form {
        padding: 20px;
    }
    
    footer.footer .wrap .col .footer_contacts .item {}
    
    footer.footer .wrap .col .footer_menu {
        width: 100%;
        max-width: 100%;
    }
    
    footer.footer .wrap .col {
        width: 100%;
    }
    
    .footer_bottom .links {
        flex-direction: column;
        gap: 5px;
    }
    
    footer.footer .wrap {
        margin-bottom: 20px;
    }
    
    .footer_bottom {
        padding-top: 20px;
    }
    .mobile-contacts {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 80px;
    }
    
    .mobile-contacts .item {
        display: flex;
        gap: 10px;
    }
    
    .mobile-contacts .item .list {
        display: flex;
        flex-direction: column;
    }
    section.content .flex img {
        width: 100%;
        margin: 0 0 20px 0;
    }
    body {
        padding-top: 75px;
    }
    section.docs ul li {
        width: 100%;
        font-size: 16px;
    }
    .wrap_service {
        flex-direction: column;
    }
    
    .wrap_service .service_price {
        width: 100%;
    }
    
    .wrap_service .service_price .item {
        width: calc(100%/2 - 10px);
        font-size: 16px;
    }
    
    section.hero .wrapper .wrap_service h1 {
        font-size: 25px !important;
    }
    section.error .wrap .text ul li {
        width: 100%;
    }
    section.breadcrumbs ul {
        flex-wrap: wrap;
        gap: 5px;
    }
    section.material img {
        float: none;
        margin: 15px 0 !important;
        width: 100%;
    }
    section.vid-3d .wrap .item {
        width: 100%;
    }
    
    section.vid-3d .wrap {
        flex-wrap: wrap;
    }
    
    section.vid-3d .subtitle {
        font-size: 20px;
    }
    
    section.vid-3d .wrap .item .name {
        font-size: 18px;
    }
    
    section.zachem .wrap {
        flex-direction: column;
        gap: 30px;
    }
    
    section.zachem .wrap .image {
        width: 100%;
    }
    
    section.zachem .wrap .info .name {
        font-size: 20px;
    }
    
    section.zachem .wrap .info .list .item {
        width: 100%;
    }
    
    section.zachem .wrap .info .list {
        gap: 10px;
    }
    
    .faq.new .item .quest .name {font-size: 18px; }
    section.documents .swiper .wrap {
        flex-wrap: nowrap;
        gap: 0;
    }
    section.documents .swiper__header {
        display: flex;
        justify-content: end;
    }
    section.hero.doc .mobile-contacts {
        margin-bottom: 30px;
    }
    
    section.hero.doc img.mobile {
        display: block;
        width: 100%;
        margin-bottom: 30px;
    }
    
    .doc-new .wrap .item {
        width: 100%;
    }
    .services__card {
        overflow: visible;
    }
    .cselect__list {max-height: fit-content;}
    .table-adaptive {
        overflow-x: scroll;
        font-size: 14px;
    }
    
    .table-adaptive table tr td {
        padding: 5px;
    }
    
    .table-adaptive table tr td p {
        margin: 0;
    }
    section.content h2 {
        font-size: 20px;
    }
    
    section.content h2,section.content p {
        margin-left: 0 !important;
    }
}




section.content.article.float-img img {
    float: left;
    max-width: 590px;
}

.modal.success p.name {
    font-size: 24px;
    font-weight: 600;
}

.modal.success .modal-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 340px) {
    
    
    .services__list li, .services__list li a {
        font-size: 14px;
    }
    section.bottom-form .wrap .form {
        overflow: hidden;
    }
    
    .serivec_desc .subtitle {
        font-size: 20px;
    }
    
    .title {
        font-size: 20px;
    }
    
    section.concept .wrap .text .subtitle {
        font-size: 20px;
    }
    
    .btn {
        font-size: 14px;
    }
    
    section.advantages .wrap .item .name {
        font-size: 18px;
    }
    
    section.advantages .wrap .item .text {
        font-size: 14px;
    }
    
    section.vid-3d .wrap .item .desc {
        font-size: 14px;
    }
    
    section.docs p {
        font-size: 18px;
    }
    
    .object-title {
        font-size: 16px;
    }
    
    section.content h2, section.content h3 {
        font-size: 20px;
    }
    
    h2 {
        font-size: 20px;
    }
    
    .faq .item .quest .name {
        font-size: 16px;
    }
    
    section.bottom-form .wrap .subtitle {
        font-size: 20px;
    }
    
    section.bottom-form .wrap .social .desc {
        font-size: 14px;
    }
    
    footer.footer .wrap .col .footer_contacts .item {
        width: 100%;
    }
    
    footer.footer .wrap .col .footer_menu ul li a {
        font-size: 12px;
    }
    section.hero .wrapper .wrap_service h1 {
        font-size: 22px !important;
    }
    
    .wrap_service .service_price .item {
        font-size: 14px;
    }
    
    .faq.new .item .quest .name {
        font-size: 14px;
    }
}