@media only screen and (max-width:1510px) {

	/*.header-place {
		grid-column-start: 2;
		grid-column-end: 4;
	}*/
	.header-place br {
		display: none;
	}

	.header-clock {
		grid-column: 4;
		grid-row: 1;
	}

	.header-email {
		grid-column: 4;
		grid-row: 2;
		margin-top: -38px;
	}
	.header-bottom .button-yellow {
		width: 180%;
		margin-left: 20%;
		margin-right: auto;
	}
	.plus-raboty {
		background: #CEE0F5;
		background: linear-gradient(180deg,rgba(206, 224, 245, 1) 0%, rgba(227, 236, 248, 1) 100%);
/* 		background-size: 100% 150%; */
	}

	.o-kompanii-descr {
		gap: 55px;
	}
	.o-kompanii-descr-images .div-img {
    	width: 204px;
	}

	.block-komplex-rabot-otoplenie .komplex-rabot:nth-child(5), .block-komplex-rabot-otoplenie .komplex-rabot:nth-child(6),
	.page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1), .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) {
		gap: 10px;
	}
	.komplex-descr {
		padding: 25px 25px;
	}
	.komplex-descr h3 {
		padding-right: 0;
	}
	.komplex-rabot .komplex-descr .div-p p, .komplex-descr .div-p p, .komplex-descr li {
		font-size: 16px;
		line-height: 140%;
	}
	.komplex-rabot .komplex-descr h3 {
		margin-bottom: 25px;
	}

	.footer_top {
		gap: 40px;
	}
	.footer-top-menu1 {
		padding-left: 25px;
	}


}



@media only screen and (max-width:1300px) {


	.header-bottom {
		display: grid;
		grid-template-columns: repeat(6, 1fr); /* 6 равных колонок */
		gap: 10px;
		justify-content: space-between; /* равномерное распределение */
		padding-top: 21px;
		padding-bottom: 21px;
	}

	.header-bottom > * {
		grid-column: auto; /* убрать жесткие позиции */
		grid-row: auto;
	}

	.header-place {
		grid-column: 2;
		grid-row: 1;
		width: 200%;
	}

	.header-clock {
		grid-column: 2;
		grid-row: 2;
		width: 200%;
	}

	.header-phone {
		grid-column: 5;
		grid-row: 1;
		width: 200%;
		margin-left: -100%;
	}

	.header-email {
		grid-column: 5;
		grid-row: 2;
		margin-top: 0;
		width: 200%;
		margin-left: -100%;
	}

	.header-bottom .button-yellow {
		grid-column-start: 6;
		grid-column-end: 7;
		grid-row: 1;
		justify-self: end;
		width: 150%;
		margin-left: initial;
		margin-right: initial;
	}
	
	.sistem-otopl .komplex-rabot:nth-child(5) .div-img img.dimg, .sistem-otopl .komplex-rabot:nth-child(6) .div-img img.dimg,
	.page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1) img.dimg, .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) img.dimg {
		max-width: 180%;
	}
	.block-etapy-predostavleniya-uslug h2 {
		margin-bottom: 70px;
	}
	.variant-otopleniya-descr h3 {
		margin-bottom: 25px;
	}
	.variant-otopleniya-descr p {
		line-height: 150%;
	}
	.footer_top {
		gap: 30px;
	}


}





@media only screen and (max-width:1200px) { 


	h1 {
		font-size: 44px;
	}
	.header-bottom .button-yellow {
		width: 140%;
	}
	.main .block-slider-descr > div {
		font-size: 18px;
	}
	.main .block-slider-descr {
		max-width: 750px;
	}
	.block-uslugi {
		margin-top: -65px;
	}

	.usluga .div-img {
		height: 290px;
	}
	.usluga-opisanie {
		padding: 30px;
	}
	.usluga-opisanie h3 {
		font-size: 26px;
	}
	.block-uslugi .block-inside {
    	gap: 25px;
    	padding: 0 0 45px 0;
    }
    .modulnye-kotelnye-image-2 {
    	max-width: 440px;
    	left: calc(50% - 256px);
    }
    .modulnye-kotelnye-button {
    	z-index: 10;
    }
    .modulnye-kotelnye-image-1 img {
    	opacity: 0.65;
    }
    .dop-usluga-img {
    	width: 45px;
    	height: 45px;
    }
    .dop-usluga-name h3 {
    	margin-left: 15px;
    	font-size: 16px;
    }
    .dop-usluga {
		min-width: 0;
		padding: 10px 10px 20px;
	}
	.dop-usluga-descr {
		padding: 20px 10px 0 10px;
	}

	.o-kompanii-opyt {
		grid-template-columns: 5fr 7fr;
		gap: 45px;
		margin-bottom: 70px;
	}
	.o-kompanii-opyt-description p {
		font-size: 28px;
	}
	.o-kompanii-descr {
		gap: 45px;
	}
	.o-kompanii-descr-images .div-img {
        width: 155px;
    }
    .osnovnye-vidy-rabot-otoplenie li a, .osnovnye-vidy-rabot-elektro li a {
    	font-size: 17px;
    }
    .block-osnovnye-vidy-rabot .block-inside {
    	padding-bottom: 70px;
    }
    .block-aspect-raboty {
    	min-height: 350px;
    }
    .block-opyt-cifry p:nth-child(2) {
    	margin-bottom: 10px;
    	line-height: 100%;
    }
    .konsultaciya-svyazhites {
    	margin-bottom: 10px;
    }
    .block-konsultaciya .block-inside {
    	padding-bottom: 50px;
    }
    .vypolnennye-raboty {
    	gap: 20px;
    }
    .preimuschestvo-name {
		margin-bottom: 25px;
		font-size: 32px;
		line-height: 100%;
    }
    .preimuschestvo {
		padding: 30px 110px 35px 35px;
		border-radius: 35px;
	}
	.svyazatsya-form {
		max-width: 60%;
	}
	.checkbox-block, .checkbox-block label, .checkbox-block label a {
		font-size: 12px;
	}
	.checkbox-block input[type="checkbox"] {
		margin-right: 7px;
	}
	.block-konsultaciya-forma .block-inside {
		background-position: center right;
	}
	.block-cenovaya-politica .block-inside {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.cenovaya-politica {
		margin-top: 45px;
		gap: 20px;
	}
	.button-yellow {
		font-size: 16px;
	}
	.cenovaya-politica-tarif--cena {
		text-align: center;
	}
	.cenovaya-politica-tarif {
    	padding: 30px 25px 30px;
	}
	.slide-sertificat {
		padding: 35px 20px 20px;
	}
	.block-slider-category .block-inside {
		min-height: 530px;
	}
	.block-slider-descr {
		padding: 30px;
	}
	.block-slider-descr .div-p p {
		font-weight: 500;
	}
	main .block-slider-descr > div {
		margin-bottom: 30px;
	}
	.block-slider-descr .button-yellow {
		margin-top: 20px;
	}
	.block-plusy-raboty .block-inside {
		padding-bottom: 90px;
		gap: 20px;
	}
	.plus-raboty {
		padding: 20px 20px 0 20px;
	}
	.plusy-raboty-name {
		font-size: 22px;
	}
	.komplex-rabot-block {
		column-gap: 20px;
	}
	.komplex-descr {
		padding: 25px 20px;
	}
	.komplex-rabot .komplex-descr h3 {
		min-height: 55px;
		margin-bottom: 20px;
		font-size: 20px;
		line-height: 120%;
	}
	.komplex-rabot .komplex-descr .div-p p, .komplex-descr .div-p p, .komplex-descr li {
		line-height: 130%;
	}
	.block-komplex-rabot-otoplenie .komplex-rabot:nth-child(5), .block-komplex-rabot-otoplenie .komplex-rabot:nth-child(6),
	.page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1), .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) {
		grid-template-columns: 1fr;
	}
	.sistem-otopl .komplex-rabot:nth-child(5) .div-img img.dimg, .sistem-otopl .komplex-rabot:nth-child(6) .div-img img.dimg,
	.page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1) img.dimg, .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) img.dimg {
		position: relative;
	}
	.img-picta {
		background: #fff;
	}
	.block-plusy-raboty .block-inside {
		padding-top: 65px;
		padding-bottom: 65px;
	}
	.block-komplex-rabot .block-inside {
		padding-top: 55px;
		padding-bottom: 65px;
	}
	.step-block {
		background: #fff;
		border-radius: 25px;
		padding: 20px 65px 30px 30px;
	}
	.block-stoimost-otopleniya .block-inside {
		padding-top: 65px;
		padding-bottom: 65px;
	}
	.block-varianty-otopleniya .block-inside {
		padding-top: 65px;
	}
	.block-etapy-predostavleniya-uslug .block-inside {
		padding-top: 65px;
		padding-bottom: 65px;
	}
	.block-cena-za-raboty .block-inside {
		padding-top: 65px;
	}
	.block-otvety-na-voprosy .block-inside {
		padding-bottom: 65px;
	}
	.block-etapy-predostavleniya-uslug h2 {
		margin-bottom: 50px;
	}
	.variant-otopleniya-descr {
		max-width: 45%;
	}
	.variant-otopleniya-img {
		max-width: 50%;
	}
	.block-ostavte-zayavku, .page-sistemy-vodosnabzhenija .block-ostavte-zayavku {
		background-position: left 30% center;
	}
	.kalkulyator-opisanie {
		grid-template-columns: 7fr 4fr;
		gap: 50px;
	}
	.block-kalkulyator h2 {
		font-size: 35px;
	}
	.kalkulyator-top {
		grid-template-columns: 7fr 8fr 8fr;
		padding: 35px 50px 35px;
	}
	.calc-inform {
		padding: 10px 35px 20px;
	}
	.calc-inform-name {
		font-weight: 500;
	}
	.kalkulyator-bottom {
		font-size: 16px;
	}
	.kalkulyator-bottom span {
		margin-left: 15px;
		font-weight: 500;
		font-size: 28px;
	}
	.block-kalkulyator .block-inside {
		padding-top: 65px;
		padding-bottom: 65px;
	}
	.block-vypolnennoe .swiper-slide {
		grid-template-columns: 3fr 2fr;
		gap: 35px;
	}
	.block-vypolnennoe .block-inside {
		padding-bottom: 65px;
	}

    .footer_top {
    	grid-template-columns: 2fr 3fr 4fr 2fr;
    	gap: 25px;
    }
    .footer-phone-1 {
    	font-size: 26px;
    }
    .footer_top .footer-place {
    	margin-top: 30px;
    }

    .page-kontakty h3 {
    	font-size: 24px; 
    	text-align: center;
    }
    .contact:before {
    	left: -37px;
    }
    .stoimost-otopleniya {
    	gap: 20px;
    }
    .stoimost-otopleniya-doma-descr, .stoimost-otopleniya-doma-cena {
    	padding: 20px;
    }
	


}




@media only screen and (max-width:990px) {

	.header {
		background: none;
	}
	.header-top {
		padding: 0 30px;
	}
	.zagolovok-stranicy {
		display: none;
	}
	.header-bottom {
		grid-template-columns: repeat(4, 1fr);
	}
	.header-bottom .div-img {
		margin-top: -10px;
		margin-bottom: 0;
		margin-right: 20px;
		grid-row-start: 1;
		grid-row-end: 2;
		height: 200%;
		position: relative;
	}
	.header-bottom .div-img img {
		display: block;
		max-width: 100%;
		margin: 0;
		position: absolute;
	}
	.header-phone {
		grid-column: 2;
		grid-row: 3;
		margin-left: 0;
    }
    .header-email {
		grid-column: 2;
		grid-row: 4;
		margin-top: 0;
		margin-left: 0;
    }
	.header-place {
		grid-column: 2;
		grid-row: 1;
	}
	.header-bottom .button-yellow {
		width: 54px;
		height: 200%;
		padding: 3px;
		font-size: 0;
		grid-column-start: 4;
		grid-column-end: 4;
		grid-row-start: 1;
		grid-row-end: 2;
		background: none;
		right: 25px;
	}
	.header-bottom .button-yellow:before {
		border: 3px #ffb62d solid;
	}
	.block-modulnye-kotelnye {
		margin-bottom: 0;
	}
	.block-dop-uslugi {
		margin-top: -70px;
	}
	.block-dop-uslugi .block-inside {
		padding-top: 140px;
	}
	.main .block-slider, .main .block-slider .block-inside {
		min-height: calc(90vh - 232px);
	}
	.block-uslugi .block-inside {
		gap: 15px;
	}
	.usluga-opisanie {
		padding: 20px;
	}
	.usluga-opisanie h3 {
		font-size: 22px;
    }
	.usluga .div-img {
		max-height: 245px;
	}
	.usluga {
		padding: 15px;
	}
	.usluga:after {
		bottom: initial;
		top: 20px;
		right: 20px;
	}
	.usluga-opisanie .uslugi {
		margin-bottom: 20px;
	}
	.dop-uslugi {
		gap: 20px;
		grid-template-columns: 1fr 1fr;
	}
	.block-modulnye-kotelnye .block-inside {
		padding: 40px 30px;
	}
	.o-kompanii-opyt {
		grid-template-columns: 4fr 7fr;
		gap: 35px;
		margin-bottom: 50px;
	}
	.o-kompanii-descr {
		grid-template-columns: 1fr;
	}
	.o-kompanii-descr-images {
		gap: 15px;
		justify-content: space-between;
	}
	.o-kompanii-descr-images .div-img {
		width: calc(33% - 15px);
	}
	.o-kompanii-descr-images img {
		width: 100%;
	}
	.osnovnye-vidy-rabot {
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	.osnovnye-vidy-rabot-img {
		display: none;
	}
	.preimuschestva {
		gap: 25px;
	}
	.preimuschestvo {
		padding: 30px 90px 30px 30px;
		border-radius: 35px;
    }
    .preimuschestvo:after {
    	width: 70px;
    	height: 70px;
    	background-size: 55% auto;
    }
    .vypolnennaya-rabota-name:after {
    	right: 0;
    	top: 0;
    }
    .block-vypolnennye-raboty .block-inside, .block-preimuschestva .block-inside {
    	padding-bottom: 65px;
    }
    .otvet-na-voprosy {
    	display: flex;
    	align-items: center;
		min-height: 105px;
		padding: 20px 100px 20px 55px;
	}
	.cenovaya-politica {
		grid-template-columns: 1fr;
	}
	.slide-sertificat {
        padding: 25px 15px 15px;
    }


	/*-- Start #bar-fixed and menu --*/
	.block-menu {display: block; width: 100%; height: 0; position: relative;}
	#bar-fixed .block-menu {
		width: 220px;
		height: 100%;
		margin: auto;
		padding: 50px 0 0 0;
		position: fixed;
		top: 0; 
		right: -220px;
/*		right: 0;*/
		background: #27282a;
		background: #04132A;
		box-shadow: 3px 3px 5px rgba(0,0,0,.7);
		z-index: 1000;
	}
	.menu-icon, .mi-active {display: block; top: 10px; right: 45px;}


	#bar-fixed .bmi-width {transition: right 0.3s; –webkit-transition: right 0.3s;}
	#bar-fixed .bmi-active {right: 0; transition: right 0.3s; –webkit-transition: right 0.3s;}
	#bar-fixed .bmi-active .sub-menu {margin: 0;}

	#bar-fixed ul.sub-menu {display: none; margin: 0; padding: 0; position: relative; left: 0; top: 0; opacity: 1; text-align: left!important; border-radius: 0;}
	#bar-fixed ul.sub-menu li {display: block; width: 100%; height: 38px; line-height: 38px; border: 0;}
	#bar-fixed ul li > a, #bar-fixed ul li span,
	#bar-fixed ul li.menu-item-has-children > span {width: 100%; padding: 0 0 0 15px; background: none; cursor: pointer; color: #fff; font-size: 14px; line-height: 42px;}
	#bar-fixed ul li span {cursor: inherit; opacity: 0.5;}
	#bar-fixed ul li:hover a {text-decoration: none!important;}
	#bar-fixed ul li.menu-item-has-children > a {width: 100%; padding: 0 0 0 16px; background: none; cursor: pointer; color: #fff; line-height: 42px; text-decoration: none!important;}
	#bar-fixed ul li.menu-item-has-children > a label {display: inline-block; padding: 0 18px 0 0; background: url(../images/tr-new.png) no-repeat right 19px;}
	#bar-fixed ul li a:hover {background: #575a61; text-decoration: none!important;}
	#bar-fixed ul.sub-menu li:first-child {border-radius: 0;}
	#bar-fixed ul.sub-menu li:last-child {border-radius: 0; border-bottom: 0!important;}
	ul.sub-menu li a {display: block; height: 37px; line-height: 38px; color: #333;}
	#bar-fixed ul.sub-menu li > a, #bar-fixed ul.sub-menu li > span {color: #333;}
	#bar-fixed ul.sub-menu li:hover, #bar-fixed ul.sub-menu li a:hover {background: #fffdec;}
	#bar-fixed ul li.menu-item-has-children > a:before, #bar-fixed ul li.menu-item-has-children > span:before {content: ""; right: 15px; top: 17px;}
	.btn:hover {background: inherit;}

	#bar-fixed ul {width: 100%; padding: 0;}
	#bar-fixed ul > li {display: block; width: 100%; padding: 0; float: none; position: relative; background: none; line-height: 40px; border-bottom: 1px #575a61 solid!important;}
	#bar-fixed ul > li:first-child {border-top: 0px #575a61 solid; text-align: left; padding: 0; border-radius: 0;}
	#bar-fixed ul li .sub-menu li {padding: 0; border-bottom: 0; border-top: 0px #ced3d6 solid;}
	#bar-fixed ul li.menu-item-has-children li:last-child {padding: 0;}
	#bar-fixed ul li:last-child {padding: 0;}
	#bar-fixed ul li.menu-item-has-children {padding: 0;}


	.block-menu.block-inside #menu-main_menu > li > ul.sub-menu {
		padding: 0;
		border-radius: 0;
	}

	.block-menu.block-inside #menu-main_menu > li > ul.sub-menu > li {
		max-width: 100%;
		margin-bottom: 0;
		padding: 0;
		position: relative;
		top: 0;
		border-radius: 0;
	}
	.block-menu.block-inside #menu-main_menu > li > ul.sub-menu > li > a, .block-menu.block-inside #menu-main_menu > li > ul.sub-menu > li > span {
		padding: 0;
	}
	#bar-fixed ul li.menu-item-has-children .click-a-2 > ul.sub-menu li {
		width: 100%;
		margin-bottom: 0;
		font-size: 16px;
		line-height: 16px;
	}
	/*-- End #bar-fixed and menu --*/


	.category-uslugi .block-komplex-rabot .block-inside {
		padding-top: 0;
	}
	.category-uslugi .block-slider-descr {
		height: 100%;
		position: absolute;
	}
	.category-uslugi .block-slider-descr .div-p p {
        font-size: 22px;
    }

	.category-uslugi .komplex-rabot .komplex-descr {
		margin-top: -10px;
		padding: 15px 15px;
	}
	.category-uslugi .sistem-otopl .komplex-rabot .div-img {
		order: initial;
		overflow: initial;
	}

	.block-slider-descr {
		max-width: 100%;
	}
	.block-slider-category .block-inside .div-img img, .block-slider-category .block-inside .div-img video {
		min-width: 100%;
		max-width: 155%;
	}
	.block-slider-category .block-inside {
		min-height: 250px;
		background: none;
	}
	.block-slider-descr {
		padding: 25px;
		backdrop-filter: blur(15px);
	}
	.block-plusy-raboty .block-inside {
		grid-template-columns: 1fr 1fr;
	}
	.plus-img {
		margin-right: -40px;
	}
	.komplex-rabot-block {
		grid-template-columns: 1fr 1fr;
 		padding-top: 35px;
 		margin-top: 35px;
 	}
 	.komplex-rabot .komplex-descr h3 {
 		min-height: inherit;
 	}
 	.block-komplex-rabot-otoplenie .komplex-rabot:nth-child(5), .block-komplex-rabot-otoplenie .komplex-rabot:nth-child(6),
 	.page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1), .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) {
		grid-template-columns: inherit;
/* 		grid-column: span 4; */
	}
	.variant-otopleniya-img iframe {
		height: 250px;
	}
	.stoimost-otopleniya {
		gap: 20px;
	}
	.stoimost-otopleniya-doma-descr {
		padding: 0px 20px;
		border-bottom: 0;
	}
	.stoimost-otopleniya-doma-cena {
		padding: 20px;
	}
	.stoimost-otopleniya-doma h3 {
		font-size: 22px;
	}
	.stoimost-za-kv-m {
		font-size: 18px;
	}
	.stoimost-cena {
		margin-top: 20px;
		font-size: 25px;
	}
	.stoimost-otopleniya-doma .button-yellow {
		display: flex;
		align-items: center;
		padding: 15px 15px 15px 56px;
	}
	.block-kalkulyator h2 {
		font-size: 32px;
	}
	.kalkulyator-top {
		padding: 30px;
	}
	.vypolnennoe-stoimost-descr, .vypolnennoe-stoimost-obschaya {
		padding: 20px;
	}
	.block-etapy-predostavleniya-uslug h2 {
		margin-bottom: 35px;
	}
	.etapy-predostavleniya-uslug {
		gap: 20px;
	}
	.step-block {
		min-height: 365px;
		padding: 20px 30px 20px 20px;
	}
	.block-ostavte-zayavku .ostavte-zayavku-forma {
		max-width: 65%;
	}
	.block-ostavte-zayavku .ostavte-zayavku {
		margin-bottom: 30px;
	}
	.block-ostavte-zayavku .svyazatsya-form input[type="text"] {
		padding: 15px 30px;
	}
	.variant-otopleniya .div-images {
		gap: 20px;
	}
	.variant-otopleniya-preim {
		padding: 30px;
	}
	.step-name {
		margin-left: -10px;
		padding: 10px;
		background: rgba(255, 255, 255, 0.75);
		border-radius: 15px;
		font-size: 20px;
	}
	.calc-inform {
		padding: 10px 25px 20px;
	}
	.block-vypolnennoe .swiper-slide {
		gap: 20px;
	}
	.block-vypolnennoe .swiper-slide {
		padding: 15px;
	}
	.vypolnennoe-tablichka th {
		width: 170px;
		font-size: 16px;
	}
	.vypolnennoe-tablichka td {
		padding: 15px 0;
	}
	.ploschad-pomescheniya, .vypolnennoe-tablichka p {
		font-size: 16px;
	}
	.vypolnennoe-stoimost {
		margin-top: 15px;
	}
	.vypolnennoe-stoimost-obschaya-descr {
		font-weight: 500;
		font-size: 18px;
	}
	.vypolnennoe-stoimost-obschaya-cena {
		font-size: 28px;
	}
	.block-otvety-na-voprosy h2 {
		margin-bottom: 35px;
	}

	.variant-otopleniya {
		gap:  20px;
	}
	.variant-otopleniya {
		margin-bottom: 25px;
	}
	.cena-za-raboty-attention {
   		padding: 25px 25px 25px 65px;
   	}
   	.ceny-za-raboty thead tr th:last-child {
   		padding-right: 30px;
   	}
   	.ceny-za-raboty thead tr th:first-child {
   		padding-left: 30px;
   	}
   	.ceny-za-raboty tbody th {
   		padding: 20px 30px;
   	}
   	.block-konsultaciya-forma .block-inside {
   		padding: 50px 35px;
   	}
   	.svyazatsya-form-checkbox {
   		grid-template-columns: 1fr;
   	}
   	.svyazatsya-form input[type="submit"] {
   		width: 100%;
   	}
	.komplex-rabot-ustanovka-boilerov {
		grid-column: span 2;
	}
	.ustanovka-boilerov-descr {
		max-width: 100%;
	}
	.ustanovka-boilerov-info {
		max-width: 100%;
		width: 100%;
		margin-top: 25px;
	}
	.step {
		font-weight: 500;
		font-size: 18px;
	}

	/*.page-sistemy-elektrosnabzhenija .block-konsultaciya-forma .block-inside {
		background: url(images/konsult-forma-3-fon.webp) no-repeat center left;
	}*/
	.vypolnennaya-rabota {
		padding: 20px;
	}
	.page-aktsii .stoimost-otopleniya-doma h3, .page-blog .stoimost-otopleniya-doma h3 {
		font-size: 24px;
	}
	.page-kontakty {
		display: grid; 
		grid-template-columns: 1fr 1fr; 
		text-align: center;
		padding: 0 20px;
	}
	.contact:before {
        left: 0px;
    }
    .contact-map h3.title-map {
    	font-size: 30px; 
    }
    .pad-bottom-0 h2 {
    	text-transform: unset;
    }
    .komplex-rabot-elektrika-pod-kluch h3 {
    	position: relative;
    	z-index: 1000;
    }
    .block-gallery.slide-sph {
    	width: calc(33% - 15px);
    }
    .stoimost-otopleniya {
    	grid-template-columns: 1fr 1fr;
    }




	.footer_top {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }
    .footer-top-logo .div-p {
    	display: none;
    }
    .footer-top-info, .footer-phone-1, .footer-phone-2, .footer_top .footer-place {
    	text-align: left;
    }
    .footer_top .button-underline, .footer_top .button-mail, .footer_top .chasy-raboty {
    	margin-top: 30px;
    }
    .footer_bottom {
    	gap: 35px;
    }
    .footer-block-icons {
    	gap: 20px;
    }


 
}




/*----------------------------------------------*/
@media only screen and (max-width:767px) { 


	h1 {
		font-size: 32px;
	}
	.page-category h1, .single h1, .page-two h1 {
		margin-bottom: 20px;
	}
	h3 {
		font-size: 22px;
		line-height: 26px;
	}
	.block-otzyvov p {
		font-size: 16px;
	}
	.block-slider-descr .div-p p {
		font-size: 16px;
	}
	.plus-raboty {
		padding: 15px 15px 0 15px;
	}
	.plusy-raboty-name {
    	font-size: 20px;
	}
	.plus-img {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 90px;
		height: 90px;
	}
	.pi-ins {
		width: 50px;
		height: 50px;
	}
	.pi-ins img {
		width: 50%;
	}
	.block-komplex-rabot h2, .block-etapy-predostavleniya-uslug h2 {
		font-size: 34px;
	}
	.komplex-rabot-text {
		font-size: 16px;
	}
	#hb-logo {
		max-width: 150px;
		height: 38px;
		position: relative;
		right: 65px;
	}
	#hb-logo img {
		display: block;
		max-width: 100%;
		max-height: 100%;
		height: auto;
	}

	.header-bottom {
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		margin: auto;
		position: relative;
		width: 100%;
	}
	.header-place, .header-email, .header-clock, .header-phone {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		width: auto;
	}
	.header-place:before {
		top: 3px;
	}
	.header-email:before {
		top: 4px;
	}
	.header-clock:before {
		top: 1px;
	}
	.header-phone:before {
		content: none;
	}
	.header-phone a {

	}
	.header-phone a:before {
		content: '';
		display: inline-flex;
		width: 18px;
		height: 18px;
		left: 0px;
		margin-right: 7px;
		position: relative;
		top: 3px;
		background: url("../images/phone.svg") no-repeat center center;
		background-size: 12px auto;
	}

	.header-bottom .button-yellow {
		width: 37px;
		height: 37px;
		position: absolute;
		left: 15px;
		top: 15px;
	}
	.header-phone {
		display: flex;
		flex-direction: row;
		justify-content: center;
		width: 100%;
		gap: 20px;
		padding: 0;
                
                flex-wrap: wrap;
    
                
                
	}
	.header-bottom .button-yellow:before {
		width: 35px;
		height: 35px;
	}
	.main .block-slider-descr {
		padding: 20px;
	}
	h1 {
        font-size: 38px;
    }
    .block-slider-descr .button-yellow {
	    margin-top: 5px;
	}
	.block-uslugi {
        margin-top: 0px;
    }
    .block-uslugi .block-inside {
    	padding: 45px 0;
    }
    .block-uslugi .block-inside {
    	grid-template-columns: 1fr; 
    }
    .usluga .div-img {
        max-height: 300px;
        max-width: 100%;
    }
    .dop-uslugi-name {
    	grid-template-columns: 1fr;
    	margin-bottom: 50px;
    }
    .block-dop-uslugi h2 {
    	font-size: 36px; 
    }
    .dop-uslugi-name-img {
    	display: none;
    }
    .dop-uslugi {
    	grid-template-columns: 1fr; 
    }
    .o-kompanii-opyt {
    	grid-template-columns: 1fr; 
    }
    .o-kompanii-descr-images {
    	gap: 6px;
    }
    .o-kompanii-descr-images .div-img {
        width: calc(33% - 6px);
    } 
    .osnovnye-vidy-rabot {
    	grid-template-columns: 1fr; 
    }
    .block-aspect-raboty {
    	background: none; 
    	border-radius: 0;
    }
    .block-aspect-raboty .block-inside {
    	padding: 0 15px;
    }
    .block-aspect-raboty .div-p {
    	padding: 40px;
    	background: #3E6085;
    }
    .vypolnennye-raboty {
    	grid-template-columns: 1fr; 
    }
    .preimuschestva {
    	grid-template-columns: 1fr; 
    }
    .preimuschestvo-name {
    	font-size: 28px;
    }
    .otvet-na-voprosy {
    	padding-left: 25px;
    }
    body .accordion-body__contents {
    	padding: 20px 100px 20px 25px; 
    }
    body .accordion__item > .accordion-header:after {
    	right: 20px;
    	top: 20px;
    	width: 50px;
    	height: 50px;
    }
    body .accordion-body__contents p {
    	font-size: 18px;
    }
    body .accordion__item.active .accordion-header {
    	border-radius: 30px 30px 0 0;
    }
    body .accordion__item.active .accordion-body {
    	border-radius:  0 0 30px 30px;
    }
    .otvet-na-voprosy {
    	border-radius: 30px;
    }
    .sertificaty-fon {
    	height: calc(100% - 20px);
    }
    .category-uslugi .komplex-rabot .komplex-descr {
    	margin-top: 0;
    	border-radius: 0 0 25px 25px;
    }
    .stoimost-otopleniya {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.etapy-predostavleniya-uslug {
		grid-template-columns: 1fr;
	}
	.komplex-rabot .komplex-descr {
		margin-top: -30px;
	}
	.komplex-descr {
		padding: 20px 15px;
	}
	.variant-otopleniya-descr, .variant-otopleniya-img {
		max-width: 100%;
	}
	.variant-otopleniya-descr h3 {
		margin-top: 20px;
	}
	.varianty-otopleniya-preim {
		grid-template-columns: 1fr;
	}
	.kalkulyator-opisanie {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.kalkulyator-top {
		grid-template-columns: 1fr;
	}
	.calc-inform {
		padding: 15px 0;
		border-left: 0;
	}
	.kalkulyator-bottom span {
		font-size: 22px;
	}
	.kalkulyator-tochnaya-stoimost > span {
		display: block;
		margin: 0 auto 15px;
		text-align: center;
	}
	.vypolnennoe-tablichka tr {
		display: block;
		padding: 15px 0;
	}
	.vypolnennoe-tablichka th {
		display: block;
		padding: 5px 0;
	}
	.vypolnennoe-tablichka td {
		padding: 5px 0;
	}
	.block-vypolnennoe .swiper-slide, .single-services .block-vypolnennoe .swiper-slide {
		grid-template-columns: 1fr;
	}
	.block-vypolnennoe .vypolnennoe-images {
		order: 1;
	}
	.block-vypolnennoe .vypolnennoe-descr {
		order: 2;
	}
	.vypolnennoe-stoimost-descr, .vypolnennoe-stoimost-obschaya {
		padding: 15px;
	}
	.otzyv-descr {
		gap: 10;
	}
    .block-konsultaciya-forma .block-inside {
		background-position: center left;
		padding: 40px;
		background-size: auto 125%;
    }
    .ostavte-zayavku {
		margin-bottom: 25px;
		line-height: 120%;
    }
    .resi-f {
		top: -30px;
	}
    .svyazatsya-form {
    	max-width: 100%;
    }
    .svyazatsya-form input[type="text"]/*, .svyazatsya-form input[type="submit"]*/ {
		padding: 15px 20px;
	}
    .svyazatsya-form-info, .svyazatsya-form-checkbox {
    	grid-template-columns: 1fr; 
    }
    .svyazatsya-form-info {
    	margin-bottom: 10px;
    }
    .step-block {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.komplex-rabot {
		grid-column: span 2;
	}
    .svyazatsya-form input[type="submit"] {
    	width: 100%; 
    }
    .modulnye-kotelnye-image-2 {
    	display: none;
    }
    .ustanovka-boilerov-info {
    	padding: 20px;
    }
    .ceny-za-raboty tbody th {
		padding: 10px 15px;
	}
	.ceny-za-raboty tbody td {
		width: auto;
		min-width: 120px;
		padding: 10px 15px;
	}
	.footer_top {
    	grid-template-columns: 1fr; 
    	text-align: center;
    }
    .footer-top-info, .footer-phone-1, .footer-phone-2, .footer_top .footer-place {
    	text-align: center;
    }
    .logo-footer {
    	margin: auto;
    }
    .footer-icons-sozdanie {
    	display: none;
    }
    .footer_bottom {
    	grid-template-columns: 1fr; 
    	text-align: center;
    	margin-top: 50px;
    	gap: 50px;
    }
    .footer-politica {
    	order: 2; 
    }
    .footer-block-icons {
    	grid-template-columns: 1fr; 
    }
    .footer .header-top-icons {
    	justify-content: center;
    }
    .footer-top-menu1 {
    	padding-left: 0;
    }

    /*.page-sistemy-vodosnabzhenija .block-ostavte-zayavku {
    	background: none;
    }
    .page-sistemy-vodosnabzhenija .block-ostavte-zayavku .block-inside {
    	background: url(images/zayavka-fon.webp) no-repeat center left;
    }*/
    .page-sistemy-elektrosnabzhenija .komplex-rabot-block, .children-cat .komplex-rabot-block {
    	grid-template-columns: 1fr 1fr; 
    }
    .komplex-rabot-elektrika-pod-kluch .div-img-absolute1, .page-cat-vakansii .div-img-absolute1 {
    	opacity: 0.6; 
    }
    .page-sistemy-elektrosnabzhenija .block-ostavte-zayavku .ostavte-zayavku-forma {
    	max-width: 100%; 
    }
    .konsultaciya-forma {
    	max-width: 100%; 
    }
    .block-gallery.slide-sph {
    	width: calc(50% - 15px);
    }
    .pc-tseny h2 {
    	font-size: 24px; 
    }
    .page-aktsii .stoimost-otopleniya-doma h3, .page-blog .stoimost-otopleniya-doma h3 {
        font-size: 22px;
    } 
    .page-single .block-vypolnennoe h2 {
    	text-transform: unset;
    }
    .page-kontakty {
    	grid-template-columns: 1fr; 
    }
    .contact-map h3.title-map {
        font-size: 26px;
    }
    .col.text-right img {
    	display: none;
    }
    .w100 {
    	display: block;
    }
    .w100 .col {
    	width: 100%; 
    	max-width: 100%; 
    }
    .block-ostavte-zayavku .svyazatsya-form input[type="submit"] {
    	padding-left: 10px;
    	font-size: 17px;
    }
    .page-sistemy-vodosnabzhenija .block-konsultaciya-forma .block-inside {
    	background: #29527f; 
    }
    .stoimost-otopleniya {
    	grid-template-columns: 1fr;
    }
 
}


@media only screen and (max-width:515px) {

	.header-bottom .button-yellow {
		right: initial;
		left: 0;
		top: 10px;
	}
	.header-place, .header-email, .header-clock {
		padding-left: 25px;
	}
	.stoimost-otopleniya {
		display: grid;
		grid-template-columns: 1fr;
	}
	.komplex-rabot-block {
		grid-template-columns: 1fr;
	}
	.block-ostavte-zayavku .form-ostavte-submit:before {
		display: none;
	}
	.block-ostavte-zayavku .svyazatsya-form input[type="submit"] {
		padding: 24px;
	}

}




/*----------------------------------------------*/
@media only screen and (max-width:479px) { 

    .single-services h1,	h1 {
        font-size: 30px;
    }
    .border-radius-bottom {
    	border-radius: 0 0 20px 20px;
    }
    .header-top {
    	padding: 0 15px;
    	border-radius: 0 0 20px 20px;
    }
    #hb-logo {
    	width: 33px;
    	height: 33px;
    	background: url("../images/logo-mob.png") no-repeat center;
    	background-size: 100% auto;
    	position: relative;
    	top: -2px;
    }
    #hb-logo img {
    	display: none;
    }
    .menu-icon, .mi-active {
    	right: 30px;
    }
    .modulnye-kotelnye-images {
    	display: none;
    }
    .block-modulnye-kotelnye .block-inside {
    	grid-template-columns: 1fr; 
    }
    .modulnye-kotelnye-button {
    	text-align: left;
    }
    .uslugi {
    	position: relative;
    }
    .block-dop-uslugi h2 {
        font-size: 28px;
    } 
    .o-kompanii-opyt-description p {
    	font-size: 20px;
    }
    .o-kompanii-opyt-cifry {
    	grid-template-columns: 1fr; 
    }
    .block-opyt-cifry p:nth-child(2) {
    	font-size: 30px; 
    }
    .osnovnye-vidy-rabot-otoplenie h3, .osnovnye-vidy-rabot-elektro h3 {
    	font-size: 24px;
    }
    .osnovnye-vidy-rabot-otoplenie, .osnovnye-vidy-rabot-elektro {
    	padding: 15px; 
    }
    .block-aspect-raboty .div-p {
    	padding: 25px;
    }
    .block-aspect-raboty p {
    	font-size: 16px; 
    }
    .block-konsultaciya .button-yellow {
    	font-size: 20px;
    }
    .vypolnennaya-rabota-name h3 {
    	font-size: 20px;
    }
    .vypolnennaya-rabota {
    	padding: 20px; 
    }
    .vypolnennaya-rabota-name {
    	min-height: auto; 
    	margin-bottom: 20px;
    }
    .preimuschestvo {
    	padding: 20px;
    }
    .block-vypolnennye-raboty h2, .block-preimuschestva h2, .block-otvety-na-voprosy h2 {
    	font-size: 26px; 
    }
    body .ah-text h5 {
    	font-size: 18px;
    }
    body .ah-text {
    	max-width: 100%;
    }
    .block-konsultaciya-forma .block-inside {
    	padding: 30px;
    }
    .svyazatsya-form input[type="submit"] {
    	padding-left: 30px;
    	padding-right: 30px;
    }
    .svyazatsya-form .form-submit:before {
    	display: none;
    }
    .block-ostavte-zayavku .block-inside {
    	display: block;
    }
    .block-ostavte-zayavku .ostavte-zayavku-forma {
    	max-width: 100%; 
    }
    .block-plusy-raboty .block-inside {
    	grid-template-columns: 1fr; 
    }
    .ceny-za-raboty tbody td, .ceny-za-raboty tbody th p {
    	font-size: 12px; 
    }
    .ceny-za-raboty thead th {
    	font-size: 14px; 
    	padding: 15px;
    }
    .ceny-za-raboty thead tr th:first-child {
    	padding-left: 15px;
    }
    .page-sistemy-elektrosnabzhenija .block-konsultaciya-forma .svyazatsya-form input[type="submit"] {
    	padding-left: 30px;
    }
    .block-slider-photo {
    	margin-top: 10px;
    }
	.block-gallery.slide-sph {
        width: 100%;
    }
    .page-single .block-vypolnennoe h2 {
    	font-size: 22px;
    }
    .pad-bottom-0 h2 {
    	font-size: 22px;
    }
    .page-kontakty {
    	margin-top: 50px; 
    }
    .col .of-container h2 {
    	font-size: 32px;
    }
    .ostavte-zayavku-forma-name {
		background: rgba(255, 255, 255, 0.5);
	    padding: 10px;
	    border-radius: 20px;
	    margin-bottom: 10px;
    }
    .block-ostavte-zayavku .ostavte-zayavku {
    	margin-bottom: 0;
    }

}

/* Compact "About us" dropdown in the main navigation. */
#bar-fixed #menu-main_menu > #menu-item-1957 {
	position: relative;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle {
	display: inline-block;
	position: relative;
	padding: 0 25px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	line-height: inherit;
	cursor: pointer;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle::after {
	content: '\2228';
	position: absolute;
	right: 0;
	top: 0;
	font-size: 11px;
	transform: scale(1.1, .6);
}
#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle:hover,
#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle:focus-visible {
	text-decoration: underline;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 12px);
	width: 220px;
	max-width: none;
	padding: 8px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
	z-index: 20;
}
#bar-fixed #menu-main_menu > #menu-item-1957.about-menu-open > ul.sub-menu {
	display: block;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a,
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > span {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	background: transparent;
	color: #21314a;
	font-size: 15px;
	line-height: 1.3;
	white-space: normal;
}
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a:hover,
#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a:focus-visible {
	background: #eef3f9;
	text-decoration: none;
}
@media only screen and (max-width: 990px) {
	#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle {
		width: 100%;
		padding: 0 32px 0 15px;
		text-align: left;
		font-size: 14px;
		line-height: 42px;
	}
	#bar-fixed #menu-main_menu > #menu-item-1957 > .about-menu-toggle::after {
		right: 15px;
		top: 0;
	}
	#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu {
		position: static;
		width: 100%;
		padding: 0;
		border-radius: 0;
		background: #10243f;
		box-shadow: none;
	}
	#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a,
	#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > span {
		padding: 8px 15px 8px 28px;
		border-radius: 0;
		color: #fff;
		font-size: 14px;
		line-height: 1.4;
	}
	#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a:hover,
	#bar-fixed #menu-main_menu > #menu-item-1957 > ul.sub-menu > li > a:focus-visible {
		background: #2b4263;
	}
	#bar-fixed .block-menu.bmi-active {
		overflow-y: auto;
	}
}
  
/* Изображение котельной на главной */
.block-modulnye-kotelnye .modulnye-kotelnye-images {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-modulnye-kotelnye .modulnye-kotelnye-image-2 {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
    max-width: 360px;
}

.block-modulnye-kotelnye .modulnye-kotelnye-image-2 img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 260px;
    object-fit: contain;
}

/* Партнёры на странице «О компании» */
.company-partners h2 {
    margin-bottom: 30px;
}

.company-partners-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.company-partners .company-partner-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 40px;
    border: 1px solid #d6e1ed;
    border-radius: 25px;
    background: #f1f5fa;
    color: #141f30;
    text-align: center;
    text-decoration: none;
}

.company-partners .company-partner-logo {
    display: block;
    width: 240px;
    max-width: 100%;
    height: 160px;
    object-fit: contain;
    margin: 0;
}

.company-partners .company-partner-link {
    margin-top: 40px;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.company-partners .company-partner-card:hover {
    border-color: #141f30;
}

.company-partners .company-partner-card:focus-visible {
    outline: 3px solid #ffb62d;
    outline-offset: 4px;
}

@media only screen and (max-width: 990px) {
    .company-partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 640px) {
    .company-partners-grid {
        grid-template-columns: 1fr;
    }
}
/* Адреса офисов */
.header-place .header-address {
    display: block;
}

.header-place .header-address + .header-address {
    margin-top: 8px;
}

.footer_top .footer-place + .footer-place {
    margin-top: 16px;
}
/* Полноразмерная кнопка звонка на мобильных устройствах */
@media only screen and (max-width: 990px) {
    .header-bottom .button-yellow {
        box-sizing: border-box;
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: center;
        flex-shrink: 0;
        width: 280px;
        max-width: 100%;
        height: auto;
        min-height: 48px;
        margin: 16px auto 0;
        padding: 12px 20px 12px 56px;
        background: #ffb62d;
        color: #162f4e;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
    }

    .header-bottom .button-yellow::before {
        top: 50%;
        left: 4px;
        width: 40px;
        height: 40px;
        border: 0;
        transform: translateY(-50%);
    }

    .header-bottom .button-yellow:focus-visible {
        outline: 3px solid #162f4e;
        outline-offset: 4px;
    }
}
/* Верхняя панель мобильной навигации */
@media only screen and (max-width: 990px) {
    body,
    body.fixed-padding-top {
        padding-top: 56px;
    }

    html {
        scroll-padding-top: 64px;
    }

    #bar-fixed,
    #bar-fixed.fixed {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: 56px;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: #21314a;
        z-index: 9000;
        transition: none;
    }

    #bar-fixed .block-menu {
        box-sizing: border-box;
        padding-top: 64px;
    }

    #bar-fixed .menu-icon,
    #bar-fixed .mi-active {
        top: 6px;
        right: 16px;
        width: 44px;
        height: 44px;
    }

    #bar-fixed .icon-m {
        left: 6px;
        width: 32px;
    }

    #bar-fixed .icon1 {
        top: 11px;
    }

    #bar-fixed .icon2 {
        top: 22px;
        margin-top: 0;
    }

    #bar-fixed .icon3 {
        top: 33px;
        margin-top: 0;
    }

    #bar-fixed .icon1.active,
    #bar-fixed .icon2.active {
        top: 22px;
    }

    #bar-fixed .icon3.active {
        opacity: 0;
    }

    #bar-fixed .mi_layer {
        top: 0;
        height: 100%;
    }

    #Go_Top {
        top: 6px;
        bottom: auto;
        left: 16px;
        right: auto;
        width: 44px;
        height: 44px;
        z-index: 9001;
    }

    body.overflow #Go_Top,
    body.overflow-hidden #Go_Top {
        display: none !important;
    }
}
/* Мобильная навигация при входе в WordPress */
@media only screen and (max-width: 990px) {
    body.admin-bar {
        --mobile-admin-offset: 32px;
    }

    body.admin-bar #wpadminbar {
        position: fixed;
    }

    body.admin-bar #bar-fixed {
        top: var(--mobile-admin-offset);
    }

    body.admin-bar #bar-fixed .block-menu {
        top: var(--mobile-admin-offset);
        height: calc(100% - var(--mobile-admin-offset));
    }

    body.admin-bar #bar-fixed .menu-icon,
    body.admin-bar #bar-fixed .mi-active,
    body.admin-bar #Go_Top {
        top: calc(var(--mobile-admin-offset) + 6px);
    }
}

@media only screen and (max-width: 782px) {
    body.admin-bar {
        --mobile-admin-offset: 46px;
    }
}
/* P2: перенос названий и размеры мобильного меню услуг */
@media only screen and (max-width: 990px) {
    #bar-fixed #menu-main_menu > .click-a .sub-menu {
        box-sizing: border-box;
        position: static;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    #bar-fixed #menu-main_menu > .click-a .sub-menu li {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        margin-bottom: 0;
    }

    #bar-fixed #menu-main_menu > .click-a .sub-menu li > a,
    #bar-fixed #menu-main_menu > .click-a .sub-menu li > span {
        box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: 44px;
        margin-bottom: 0;
        padding: 10px 24px 10px 12px;
        font-size: 14px;
        line-height: 1.4;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
/* P2: категории и карточки на странице «Услуги» */
.services-directory {
    padding-top: 40px;
    padding-bottom: 60px;
}
.services-directory-group + .services-directory-group {
    margin-top: 48px;
}
.services-directory-group > h2 {
    margin-bottom: 24px;
    color: #21314a;
    overflow-wrap: anywhere;
}
.services-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}
.services-directory-group--single .services-directory-grid {
    grid-template-columns: minmax(0, 1fr);
}
.services-directory-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #21314a;
    color: #fff;
    text-decoration: none;
}
.services-directory-card > img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}
.services-directory-group--single .services-directory-card {
    flex-direction: row;
    align-items: stretch;
}
.services-directory-group--single .services-directory-card > img {
    width: 32%;
    height: 220px;
}
.services-directory-group--single .services-directory-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.services-directory-description {
    padding: 24px;
    overflow-wrap: anywhere;
}
.services-directory-description h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 22px;
    line-height: 1.3;
}
.services-directory-description p {
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}
.services-directory-card:hover {
    color: #fff;
    text-decoration: none;
    box-shadow: 0 0 0 3px #ffb62d;
}
.services-directory-card:focus-visible {
    outline: 3px solid #ffb62d;
    outline-offset: 4px;
}
@media only screen and (max-width: 1199px) {
    .services-directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media only screen and (max-width: 990px) {
    .services-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media only screen and (max-width: 640px) {
    .services-directory-grid {
        grid-template-columns: 1fr;
    }
    .services-directory-group--single .services-directory-card {
        flex-direction: column;
    }
    .services-directory-group--single .services-directory-card > img {
        width: 100%;
    }
}
/* P2: хлебные крошки без выхода за границы экрана */
.breadcrumbs {
    box-sizing: border-box;
    min-width: 0;
}

.breadcrumbs .yoast-breadcrumbs {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.6;
}

.breadcrumbs .yoast-breadcrumbs span,
.breadcrumbs .yoast-breadcrumbs a {
    display: inline;
    white-space: normal;
    overflow-wrap: anywhere;
}
/* Отдельный значок у каждого адреса в шапке. Добавить в конец css/media.css. */
.header-place {
    padding-left: 0;
}

.header-place::before {
    content: none;
}

.header-place .header-address {
    position: relative;
    padding-left: 31px;
}

.header-place .header-address::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 18px;
    height: 18px;
    background: url("../images/place.svg") no-repeat center center;
}

@media only screen and (max-width: 479px) {
    .header-place .header-address {
        padding-left: 25px;
    }
}
/* Меню услуг: прокрутка внутри доступной высоты окна. */
@media only screen and (min-width: 991px) {
    #bar-fixed .block-menu.block-inside #menu-main_menu > .cla-mob > ul.sub-menu {
        box-sizing: border-box;
        max-height: var(--services-menu-height, calc(100vh - 280px));
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }
}

/* Логотип и соцсети находятся в одном ряду мобильной и планшетной шапки. */
@media only screen and (max-width: 990px) {
    .header-top {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .header-top #hti {
        position: static;
        margin: 0;
    }

    .header-top #hb-logo {
        position: static;
        margin: 0;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        transform: none;
        background: url("../images/logo-mob.png") no-repeat center;
        background-size: contain;
    }

    .header-top #hb-logo img {
        display: none;
    }

    /* Обе формы: крестик внутри окна, форма доступна на коротком экране. */
    .b-popup {
        box-sizing: border-box;
        width: calc(100% - 24px);
        max-width: 390px;
        top: 72px;
        top: calc(72px + var(--mobile-admin-offset, 0px));
        max-height: calc(100vh - 88px);
        max-height: calc(100dvh - 88px - var(--mobile-admin-offset, 0px));
        padding-top: 60px;
        overflow-y: auto;
        overscroll-behavior: contain;
        z-index: 10001;
    }

    .b-popup .close {
        box-sizing: border-box;
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
        font-size: 22px;
        line-height: 44px;
        color: #21314a;
        background: #f0f3f7;
        text-decoration: none;
    }

    .b-popup .close:focus-visible {
        outline: 3px solid #21314a;
        outline-offset: 2px;
    }
}
/* P2, пункт 5: семь этапов работы на главной. */
.block-aspect-raboty.work-process {
    display: block;
    min-height: 0;
    overflow: hidden;
    background: #1d4c78 url("../images/aspect-fon.webp") no-repeat center;
    background-size: cover;
}

.work-process .block-inside {
    padding: 44px 36px;
}

.work-process-content {
    width: 68%;
}

.work-process-content > h2 {
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(28px, 3vw, 46px);
    font-weight: 700;
    line-height: 1.15;
    text-transform: none;
}

.work-process-steps {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.work-process-step {
    grid-column: span 3;
    min-width: 0;
    margin: 0;
    padding: 18px 14px;
    border: 1px solid #dae9f6;
    border-radius: 12px;
    background: linear-gradient(145deg, #fff, #e2f1fc);
    box-shadow: 0 5px 14px rgb(6 26 51 / 12%);
    color: #162f4e;
    overflow-wrap: break-word;
}

.work-process-step:nth-child(n + 5) {
    grid-column: span 4;
}

.work-process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #d5ebfc;
    font-size: 17px;
    font-weight: 700;
}

.work-process-step h3 {
    margin: 0 0 10px;
    color: #162f4e;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.work-process .work-process-step p {
    margin: 0;
    color: #162f4e;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
}

@media only screen and (max-width: 1100px) {
    .block-aspect-raboty.work-process {
        background: linear-gradient(120deg, #163c64, #316b9a);
    }

    .work-process-content {
        width: 100%;
    }
}

@media only screen and (max-width: 640px) {
    .work-process .block-inside {
        padding: 28px 15px;
    }

    .work-process-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .work-process-step,
    .work-process-step:nth-child(n + 5) {
        grid-column: auto;
    }

    .work-process-step:last-child {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width: 360px) {
    .work-process-steps {
        grid-template-columns: 1fr;
    }
}
/* P2, пункт 4: чёрный заголовок только на странице водяных тёплых стен. */
.service-warm-walls .block-slider .page-title {
    color: #000;
}

/* Страницы услуг: таблицы и длинные заголовки на мобильном экране. */
@media only screen and (max-width: 767px) {
    .single-services .cena-za-raboty-tabs {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
    }

    .single-services h1,
    .single-services h2,
    .single-services h3 {
        overflow-wrap: anywhere;
    }

    .single-services .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(1) .komplex-descr,
    .single-services .page-sistemy-vodosnabzhenija .komplex-rabot:nth-child(2) .komplex-descr {
        min-width: 0;
        margin-right: 0;
        padding-right: 15px;
    }
}


/* P3: два сертификата и просмотр увеличенного изображения. */
.block-sertificaty .certificates-slider {
    max-width: 900px;
}

.certificates-slider .swiper-slide {
    justify-content: center;
}

.certificate-zoom {
    display: block;
    cursor: zoom-in;
}

.certificate-viewer {
    box-sizing: border-box;
    width: min(760px, calc(100% - 24px));
    max-width: calc(100% - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    margin: auto;
    padding: 60px 16px 16px;
    border: 0;
    border-radius: 16px;
    background: #fff;
    overflow: auto;
}

.certificate-viewer::backdrop {
    background: rgb(0 0 0 / 75%);
}

.certificate-viewer .certificate-viewer-image {
    display: block;
    width: 100%;
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.certificate-viewer-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f0f3f7;
    color: #21314a;
    font-size: 28px;
    line-height: 44px;
    cursor: pointer;
}

.certificate-zoom:focus-visible,
.certificate-viewer-close:focus-visible {
    outline: 3px solid #ffb62d;
    outline-offset: 3px;
}

/* P3, пункт 2: одинаковые размеры, отступы и выравнивание контактов в шапке. */
.header .header-bottom {
    display: grid;
    grid-template-columns: minmax(130px, 0.7fr) minmax(240px, 1.5fr) minmax(170px, 0.9fr) minmax(200px, 1fr) minmax(210px, 1.1fr);
    align-items: start;
    gap: 12px 20px;
    padding-top: 24px;
    padding-bottom: 24px;
}

.header .header-bottom #hb-logo {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    width: 100%;
    height: auto;
    margin: 0;
    position: static;
}

.header .header-bottom #hb-logo img {
    position: static;
    width: 100%;
    height: auto;
}

.header .header-place,
.header .header-phone {
    display: contents;
}

.header .header-place::before,
.header .header-phone::before {
    content: none;
}

.header .header-address,
.header .header-email,
.header .header-clock,
.header .header-phone a {
    box-sizing: border-box;
    display: block;
    position: relative;
    align-self: start;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0 0 0 30px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
}

.header .header-email a {
    font: inherit;
}

.header .header-place .header-address {
    margin: 0;
    padding-left: 30px;
    grid-column: 2;
}

.header .header-address:nth-child(1),
.header .header-phone a:nth-child(1),
.header .header-clock {
    grid-row: 1;
}

.header .header-address:nth-child(2),
.header .header-phone a:nth-child(2),
.header .header-email {
    grid-row: 2;
}

.header .header-phone a {
    grid-column: 3;
}

.header .header-clock,
.header .header-email {
    grid-column: 4;
}

.header .header-place .header-address::before,
.header .header-email::before,
.header .header-clock::before,
.header .header-phone a::before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.header .header-phone a::before {
    background-image: url("../images/phone.svg");
}

.header .header-bottom > .button-yellow {
    grid-column: 5;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: stretch;
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 54px;
    margin: 0;
}

@media only screen and (min-width: 991px) and (max-width: 1200px) {
    .header .header-bottom {
        grid-template-columns: 110px minmax(0, 1fr) 190px 210px 190px;
        column-gap: 12px;
    }
}

@media only screen and (max-width: 990px) {
    .header .header-bottom {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        justify-items: stretch;
        align-items: start;
        margin: 0;
    }

    .header .header-place .header-address,
    .header .header-email,
    .header .header-clock,
    .header .header-phone a:nth-child(n) {
        grid-column: 1;
        grid-row: auto;
        text-align: left;
    }

    .header .header-bottom > .button-yellow {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
        width: 280px;
        margin: 12px 0 0;
    }
}

/* Единый номер первым в порядке ссылок; на десктопе телефоны сгруппированы по адресам. */
.header .header-phone > a.header-phone-main {
    grid-column: 3;
    grid-row: 2;
}

.header .header-phone .header-phone-local {
    display: flex;
    flex-direction: column;
    gap: 8px;
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
}

.page-kontakty.page-kontakty--regional {
    display: grid;
    grid-template-columns: minmax(0, 2.4fr) minmax(180px, 1fr) minmax(190px, 1fr);
    gap: 32px;
    text-align: left;
    padding: 0;
}

.page-kontakty--regional .contact {
    min-width: 0;
    margin: 0;
}

.page-kontakty--regional .contact::before {
    content: none;
}

.page-kontakty--regional h3 {
    margin: 0 0 24px;
    text-align: left;
}

.contact-offices-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(180px, 1fr);
    gap: 24px;
    align-items: start;
}

.contact-office {
    display: contents;
}

.contact-office .address,
.contact-office .tel {
    margin: 0;
    min-width: 0;
    font-size: 18px;
    line-height: 1.5;
}

.contact-office .address {
    grid-column: 1;
}

.contact-office .tel {
    display: flex;
    flex-direction: column;
    gap: 6px;
    grid-column: 2;
}

.contact-office .tel a {
    font-size: clamp(18px, 2.1vw, 28px);
    white-space: nowrap;
}

.contact-office--spb .address,
.contact-office--spb .tel {
    grid-row: 1;
}

.contact-office--moscow .address,
.contact-office--moscow .tel {
    grid-row: 2;
}

@media only screen and (max-width: 990px) {
    .header .header-phone > a.header-phone-main,
    .header .header-phone .header-phone-local {
        grid-column: 1;
        grid-row: auto;
    }

    .header .header-phone .header-phone-local {
        gap: 12px;
    }

    .page-kontakty.page-kontakty--regional {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-kontakty--regional .contact-offices {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width: 600px) {
    .page-kontakty.page-kontakty--regional,
    .contact-offices-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-office {
        display: block;
    }

    .contact-office .tel {
        margin-top: 12px;
    }
}

/* Компактная мобильная шапка: одна верхняя панель и читаемые контакты. */
@media only screen and (max-width: 990px) {
    .header .header-top {
        box-sizing: border-box;
        position: fixed;
        top: var(--mobile-admin-offset, 0px);
        left: 60px;
        right: 60px;
        width: auto;
        max-width: none;
        min-width: 0;
        height: 56px;
        padding: 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-radius: 0;
        background: transparent;
        z-index: 9001;
    }

    .header .header-top #hti {
        display: flex;
        flex-wrap: nowrap;
        flex: 0 0 auto;
        gap: 4px;
        margin: 0;
        padding: 0;
    }

    .header .header-top .header-icon {
        box-sizing: border-box;
        flex: 0 0 26px;
        width: 26px;
        height: 26px;
    }

    .header .header-top #hb-logo {
        order: 1;
        flex: 0 0 30px;
        width: 30px;
        max-width: 30px;
        height: 30px;
        margin: 0;
    }

    .header .header-bottom {
        padding-top: 10px;
        padding-bottom: 12px;
        gap: 6px;
    }

    .header .header-place .header-address,
    .header .header-email,
    .header .header-clock,
    .header .header-phone a {
        padding-left: 22px;
        font-size: 14px;
        line-height: 1.35;
    }

    .header .header-phone .header-phone-local {
        gap: 6px;
    }

    .header .header-place .header-address::before,
    .header .header-email::before,
    .header .header-clock::before,
    .header .header-phone a::before {
        top: 2px;
        width: 14px;
        height: 14px;
    }

    .header .header-bottom > .button-yellow {
        width: 220px;
        min-height: 40px;
        margin-top: 4px;
        padding: 10px 16px 10px 52px;
        font-size: 14px;
        line-height: 20px;
    }

    .header .header-bottom > .button-yellow::before {
        left: 2px;
        top: 50%;
        width: 36px;
        height: 36px;
        transform: translateY(-50%);
    }
}

/* Мобильная версия: подарок по центру, место под значки и переносы в политике. */
@media only screen and (max-width: 990px) {
    .main .block-slider-descr .gift {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: max-content;
        max-width: calc(100% - 24px);
        margin-left: 0;
        margin-right: 0;
        text-align: center;
    }

    .page-info p,
    .page-info li,
    .page-info a {
        overflow-wrap: anywhere;
    }
}

@media only screen and (max-width: 767px) {
    .main .block-preimuschestva .preimuschestvo {
        padding-bottom: 90px;
    }
}
