@media screen and (max-width: 1250px) {
	.open-menu {
		display: flex;
	}
	header .menu {
		display: none;
	}
	#banner .rel2 {
		display: none;
	}
	#banner .btn2 {
		display: flex;
	}
	#banner .desc, .progress {
		max-width: 100%;
	}
	#banner .rel1 {
		margin-bottom: 235px;
	}
	.modal {
		padding: 40px !important;
		max-width: 600px;
	}
	.modal .d-flex {
		flex-wrap: wrap;
	}
	.modal .col1 {
		max-width: 100%;
		padding: 0 !important;;
		order: 1;
		margin: 0 0 30px;
	}
	.modal .col2 {
		max-width: 100%;
		padding: 0 !important;
		order: 2;
	}
	.modal .t1 {
		font-size: 30px;
		line-height: 40px;
	}
	.modal .t2 {
		font-size: 16px;
	}
	.modal .form form > * {
		max-width: 100%;
	}
	.fancybox__content>.carousel__button.is-close {
		top: 5px;
		right: 5px;
	}
	.tabl tr td:last-child {
		padding-right: 8px;
	}
	#form .d-flex {
		max-width: 600px;
		margin: 0 auto;
	}
	#banner .p1 br {
		display: none;
	}
	#calc .calc {
		padding: 20px;
	}
	#calc .col2 {
		padding: 0 15px;
		max-width: 380px;
	}
	#calc .col3 {
		max-width: calc(100% - 295px - 380px);
	}
	#calc .btn {
		width: 300px;
	}
	#calc .bot {
		margin-top: 40px;
	}
	.lic > a {
		max-width: calc(25% - 10px);
		margin: 0 5px 10px;
	}
	.lic {
		justify-content: center;
		flex-wrap: wrap;
		height: auto;
	}
	.lic a img {
		width: 100%;
		height: auto;
	}
	.blog .prev {
		font-size: 16px;
	}
	footer .mid .t2 p {
		font-size: 16px;
	}
	footer .top .d-flex p {
		margin-left: 30px;
	}
	.spec .title {
		margin: 0 0 25px;
	}
	.spec > div > div > div {
		padding-top: 70px;
	}
	.dc img {
		height: 40vw;
	}
	.dc .title {
		font-size: 15px;
	}
	.tabl th:last-child {
		padding-right: 8px;
	}
	.contacts > div {
		margin-right: 40px;
	}
	.rev {
		padding: 40px 15px;
	}
}

@media screen and (max-width: 992px) {
	.fancybox__slide {
		padding: 10px !important;
	}
	header .btn {
		display: none;
	}
	#banner .bn .slick-slide {
		min-height: 650px;
	}
	#banner .slick-slide > div {
		padding-bottom: 50px;
	}
	#banner .rel1 {
		margin-top: -50px;
		margin-bottom: 45px;
	}
	#geo .col2 {
		padding-left: 40px;
	}
	#geo .col2 p {
		margin: 0 0 15px;
	}
	#geo .col2 p a {
		font-size: 16px;		
	}
	#geo .col1 {
		max-width: 360px;
	}
	/* === ФИКС CLS ДЛЯ БЛОКА GEO === */
	#geo {
		min-height: 850px !important;
		contain: layout;
	}
	#geo .d-flex {
		min-height: 700px !important;
		flex-wrap: wrap;
	}
	#geo .col1 {
		min-height: 550px !important;
		padding: 0;
		max-width: 100%;
		width: 100%;
		text-align: center;
	}
	#geo .col2 {
		min-height: 300px !important;
		max-width: 100%;
		padding: 0;
		margin-top: 20px;
	}

	.tabl tr td {
		font-size: 15px;
		padding: 12px 0;
	}
	.tabl td:first-child {
		font-size: 15px;
	}
	#cont .line1 {
		margin: 0 0 30px;
	}
	.sh > div {
		max-width: 130px;
		margin: 0 10px;
	}
	.sh {
		margin: 0 -10px;
		font-size: 15px;
	}
	.calc > .d-flex {
		flex-wrap: wrap;
	}
	#calc .col1 {
		max-width: 45%;
		padding-right: 20px;
	}
	#calc .col2 {
		max-width: 55%;
		padding-left: 20px;
		padding-right: 0;
		border-right: 0;
	}
	#calc .col3 {
		max-width: 100%;
		margin-top: 30px;
		padding: 0;
		min-height: unset;
	}
	#calc .bot > div {
		order: -1;
		width: 100%;
		display: flex;
		align-content: center;
		align-items: center;
		margin-bottom: 15px;
	}
	#calc .bot > div > * {
		margin-right: 20px;
	}
	#calc .info {
		max-width: 100%;
	}
	#calc .total {
		margin-top: 20px;
	}
	.lic > a {
		max-width: calc(33.33% - 10px);
	}
	.faq .t2 {
		font-size: 16px;
	}
	#blog .blog > div {
		max-width: calc(50% - 24px);
	}
	.home #blog .blog > div:nth-child(3) {
		display: none;
	}
	footer .mid {
		flex-wrap: wrap;
		padding: 0 0 15px;
	}
	footer .mid .col1 {
		padding: 0;
		width: calc(100% + 20px);
		max-width: calc(100% + 20px);
		justify-content: space-between;
		margin: 0 -10px;
	}
	footer .mid .col1 nav {
		margin: 0 10px 20px;
	}
	footer .mid .col2 {
		max-width: 100%;
		padding: 0;
		width: 100%;
		text-align: center;
	}
	footer .copy {
		padding-top: 20px;
	}
	footer {
		padding: 30px 0 20px;
	}
	footer .top {
		flex-wrap: wrap;
		margin: 0 0 20px;
		padding: 0 0 20px;
		justify-content: space-between;
	}
	footer .home-link {
		width: 100%;
		margin: 0 0 15px;
	}
	footer .home-link img:first-child {
		margin: 0 auto;
	}
	#single .buttons .bt {
		max-width: 215px;
	}
	#single .buttons .btn2 {
		max-width: 240px;
	}
	.serv > div {
		max-width: calc(50% - 24px);
	}
	.serv > div:nth-child(3) {
		display: none;
	}
	.contacts > div {
		margin: 0 20px 30px;
		width: calc(50% - 40px);
	}
	.address {
		margin: 0;
	}
	.contacts {
		margin: 0 -20px;
	}
	.vac .t1, .vac .t2, .vac .t3 {
		font-size: 18px;
	}
	.vac .head {
		font-size: 22px;
	}
	.cont5 {
		padding: 0 60px;
	}
	.cont5 .slick-arrow {
		width: 55px;
		background-size: contain !important;
	}
	.rev .slick-arrow {
		width: 45px;
		background-size: contain !important;
	}
	.dc > div {
		max-width: calc(50% - 24px);
	}
	.dc img {
		height: 60vw;
	}
	.dc > div:nth-child(3) {
		display: none;
	}
	#desc .ch > div {
		margin: 0 20px;
	}
	#desc .ch {
		margin: 16px -20px;
	}
	#desc .p1 {
		font-size: 30px;
	}
	#desc .p2 {
		font-size: 15px;
	}
	.spec > div:nth-child(3) {
		display: none;
	}
	.spec > div {
		max-width: calc(50% - 24px);
	}
	.mobile-menu ul a {
		margin: 15px 0;
	}
	header .mobile-menu .btn2 {
		display: none;
	}
	.contacts .t2:last-child {
		margin: 0;
	}

	/* === Блок "Кому подходит услуга": 2 в ряд === */
	#segments .seg-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media screen and (max-width: 767px) {
	.regions > div {
		width: 50%;
	}
	.by {
		float: none;
		text-align: center;
		display: block;
		margin-top: 12px;
	}
	footer .top .d-flex {
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 -10px;
	}
	footer .top {
		padding-bottom: 10px;
	}
	footer .top .d-flex > * {
		margin: 0 10px 10px;
	}
	footer {
		padding: 30px 0;
	}
	footer .mid .col1 {
		flex-wrap: wrap;
	}
	footer .mid .col1 > nav {
		width: 100%;
		margin: 0 10px 0px;
		max-width: calc(50% - 20px);
	}
	footer ul a {
		margin: 0 0 10px;
	}
	footer .copy {
		font-size: 14px;
	}
	header .tel {
		display: none;
	}
	header .home-link img {
		max-width: 200px;
	}
	#banner .p1 {
		font-size: 27px;
		line-height: 35px;
	}
	.form-search .btn2 {
		max-width: 130px;
	}
	.btn, .btn2, #single .buttons .bt a {
		height: 45px;
	}
	.form-search input {
		height: 45px;
		font-size: 16px;
	}
	.form-search input::placeholder {
		font-size: 16px;
	}
	header .mobile-menu .tel {
		display: block;
		color: #000;
		margin: 20px 0 15px;
	}
	header .mobile-menu .btn2 {
		display: flex;
	}
	header .mobile-menu li:hover > a {
		color: #000;
	}
	header nav > ul > li {
		
	}
	.mobile-menu {
		padding: 30px 20px 20px;
	}
	header .mobile-menu li > a {
		margin: 0 0 10px !important;
		padding: 5px 0 !important;
		font-size: 18px !important;
	}
	.mobile-menu .arrow {
		margin: 0 0 10px;
	}
	.mobile-menu .close {
		top: 10px;
		right: 10px;
	}
	#geo .d-flex {
		flex-wrap: wrap;
	}
	#geo .col1 {
		padding: 0;
		max-width: 100%;
		width: 100%;
		text-align: center;
	}
	#geo .col2 {
		max-width: 100%;
		padding: 0;
		margin-top: 20px;
	}
	.section-title {
		font-size: 30px;
		line-height: 40px;
	}
	.tabl {
		overflow: auto;
	}
	.tabl table {
		min-width: 635px;
	}
	.tabl tr td {
		padding: 7px 3px;
		font-size: 13px;
	}
	.tabl td:first-child {
		font-size: 13px;
	}
	.tabl th, .tabl th:first-child {
		font-size: 13px;
	}
	.pre > div {
		margin: 0 20px 30px;
		max-width: calc(50% - 40px);
	}
	.pre {
		margin: 0 -20px;
	}
	.modal {
		padding: 30px 20px 20px !important;
	}
	.modal .form label, #form .form label {
		margin: 0 0 25px;
		font-size: 18px;
	}
	#form .modal {
		padding: 20px !important;
		max-width: 550px;
		margin: 0 auto;
	}
	#form .modal .t1 {
		font-size: 30px;
		line-height: 40px;
		margin: 0 0 20px;
	}
	#form .modal .t2 {
		font-size: 16px;
		line-height: 20px;
	}
	#form .modal .form label input {
		height: 42px;
		font-size: 18px;
		padding-top: 10px;
	}
	#form .modal .form label input::placeholder {
		font-size: 18px;
	}
	.arrows .next {
		margin-left: 10px;
	}
	.sh {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.sh > div {
		width: 100%;
		max-width: calc(33.33% - 20px);
		margin: 0 10px 25px;
	}
	#sh .line {
		margin-top: 15px;
	}
	#calc {
		padding: 20px 0;
	}
	#calc .calc {
		padding: 15px 15px 1px;
		max-width: 550px;
		margin: 0 auto;
	}
	#calc .section-title {
		margin: 0 0 20px;
		font-size: 25px;
	}
	#calc .col1 {
		padding: 0;
		max-width: 100%;
		border: 0;
		margin: 0 0 30px;
	}
	#calc .col2 {
		padding: 0;
		max-width: 100%;
	}
	#calc .type {
		margin: 0 0 15px;
	}
	#calc select {
		height: 35px;
	}
	#calc .bot > div {
		flex-wrap: wrap;
	}
	#calc .btn2,#calc .btn {
		margin: 0 5px 15px;
	}
	#calc .bot {
		justify-content: center;
		margin-top: 30px;
	}
	#calc .btn2 {
		max-width: 200px;
	}
	#calc .btn {
		max-width: 270px;
	}
	#seo {
		font-size: 16px;
		line-height: 20px;
	}
	#lic .line {
		margin-top: 25px;
	}
	#faq .btn2 {
		max-width: 150px;
	}
	#faq .btn {
		max-width: 150px;
	}
	.open-search {
		margin-left: 200px;
	}
	#banner .bn .slick-slide {
		height: 500px;
		min-height: 100vh;
	}
	.h1 {
		font-size: 35px;
		line-height: 45px;
	}
	main {
		padding-top: 80px;
	}
	.bread {
		padding: 15px 0;
	}
	.fancybox__content>.carousel__button.is-close {
		transform: scale(0.75);
		transform-origin: right top;
	}
	.tags a {
		line-height: 33px;
		font-size: 17px;
	}
	#single .text img {
		float: none;
		margin: 0 auto 20px;
	}
	#single .text p, #pr .text p, #d .text p {
		font-size: 16px;
		line-height: 1.25;
		margin: 0 0 15px;
	}
	#single .text li, #pr .text li, #d .text li {
		font-size: 16px;
		line-height: 1.25;
	}
	#single .buttons {
		justify-content: center;
	}
	#single .buttons .bt {
		margin: 0 0 15px;
		width: 100%;
		max-width: 100%;
	}
	#single .buttons .bt a {
		max-width: 240px;
		margin: 0 auto;
	}
	#single .buttons .btn2 {
		margin: 0 0 15px;
	}
	#single .line2 {
		margin-top: 15px;
	}
	#modal4 .form input {
		max-width: 100%;
	}
	#pr .buttons .btn2 {
		max-width: 250px;
		margin-right: 15px;
	}
	#pr .buttons .btn {
		max-width: 200px;
		margin: 0;
	}
	.spec > div > div {
		padding: 15px;
	}
	.vac .head {
		font-size: 18px;
		height: 70px;
	}
	.vac .t1, .vac .t2, .vac .t3 {
		font-size: 15px;
	}
	#au .desc {
		font-size: 16px;
		line-height: 1.25;
	}
	.cont5 {
		padding: 0 20px;
	}
	#au .text {
		font-size: 16px;
	}
	.dc .title {
		height: auto;
		min-height: 55px;
		font-size: 14px;
	}
	#desc p {
		font-size: 16px;
	}
	#desc .ch > div {
		width: calc(50% - 20px);
		margin: 0 10px 25px;
	}
	#desc .ch {
		margin: 16px -10px;
	}
	.rev > div {
		padding: 0 30px;
	}
	.rev .text {
		font-size: 14px;
	}
	.rev {
		padding: 40px 7px;
	}
	.regions a {
		font-size: 18px;
	}
	.tab-head > a {
		margin: 10px;
	}
	#reg1 .regions > div {
		margin-bottom: 10px;
	}
	.regions > div {
		margin-bottom: 30px;
	}

	/* === Блок "Кому подходит услуга": 1 в столбик === */
	#segments .seg-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	#segments .seg-grid > div {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	#segments .container {
		overflow: visible !important;
	}
}

@media screen and (max-width: 550px) {
	.regions > div {
		width: 100%;
	}
	#desc .p1 {
		font-size: 25px;
	}
	#desc .p2 {
		font-size: 13px;
	}
	.spec > div {
		max-width: 100%;
	}
	.dc > div {
		max-width: 100%;
	}
	.dc img {
		height: 115vw;
	}
	.gal > img {
		max-width: 100%;
	}
	#pr .line2 {
		margin: 25px 0 40px;
	}
	#pr .buttons .btn2 {
		max-width: 160px;
		font-size: 16px;
		margin-bottom: 10px;
		margin-right: 15px;
	}
	#pr .buttons .btn {
		font-size: 16px;
		max-width: 145px;
		margin: 0;
	}
	#req .line, #contacts .line {
		margin: 30px 0 25px;
	}
	.contacts > div {
		width: 100%;
		margin-bottom: 20px;
	}
	.lic > a {
		max-width: calc(50% - 10px);
	}
	.faq > div, #blog .blog > div, .serv > div {
		max-width: 100%;
	}
	.hd .section-title {
		font-size: 25px;
	}
	.sh > div {
		max-width: calc(50% - 20px);
	}
	.open-search {
		margin-left: 0;
	}
	
	#single .h1 {
		font-size: 30px;
		line-height: 40px;
	}

	/* === Блок "Кому подходит услуга": гарантия 1 колонки === */
	#segments .seg-grid {
		grid-template-columns: 1fr !important;
	}
}