/**
Theme Name: Poly Box
**/

.calc .calc__block input.form-control.notValid {
	border-color: #dc3545;
	box-shadow: 0 0 0 .25rem rgb(220 53 69 / 25%);
}

.banner__title {
	margin-bottom: 1em;
	text-align: center;
}

.banner__title h1 {
	margin: 0;
	display: inline-block;
    vertical-align: middle;
}

.banner__title div {
	font-weight: 800;
	text-transform: uppercase;
	display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
	margin-bottom: 0px;
}

.banner__title + div {
	margin: 0;
	text-align: center;
}

.footer .social__line {
	gap: 10px
}

.footer .social__line a img {
	width: 40px;
}

.galleryMargin {
	margin-bottom: 100px;
}

.gallerySlider {
	--slider-width: 25%;
}

.gallerySlider .youtube {
	padding-bottom: 177.77777778%;
}

.gallerySlider .slider__control {
	z-index: 2;
}

.breadcrumbs.breadcrumbsBg.serviceBreadcrumbs {
	padding: 50px 0 100px 0;
}

.breadcrumbs.breadcrumbsBg.serviceBreadcrumbs:after {
	height: 15px;
	background: rgba(255, 255, 255, 0.5);
}

.serviceBreadcrumbs h1 {
	text-align: center;
}

.serviceBreadcrumbs .popup__block {
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.serviceBreadcrumbs .popup__block .popup__block__title {
	text-align: center;
}

.serviceBreadcrumbs .popup__block form .btn {
	margin-bottom: 0;
}

.serviceBreadcrumbs .breadcrumbs__block {
	margin-bottom: 50px;
}

.serviceBreadcrumbs .text ul {
	padding: 0;
	margin: 0;
	display: block;
}

.serviceBreadcrumbs .text ul li {
	display: block;
	margin-bottom: 30px;
	padding-left: 60px;
	font-size: 24px;
	line-height: 32px;
	position: relative;
	font-weight: 700;
}

.serviceBreadcrumbs .text ul li:last-child {
	margin-bottom: 0;
}

.serviceBreadcrumbs .text ul li:before {
	content: '';
	position: absolute;
	left: 0px;
	top: 50%;
	width: 40px;
	height: 40px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(img/check.svg);
	background-position: center center;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
	-webkit-filter: invert(44%) sepia(75%) saturate(2168%) hue-rotate(189deg) brightness(88%) contrast(81%);
	filter: invert(44%) sepia(75%) saturate(2168%) hue-rotate(189deg) brightness(88%) contrast(81%);
}

.feature {
  padding: 10px 0;
  border-bottom: 4px solid #979797;
  background: #f5f5f5;
}
.feature .row {
	margin-bottom: -24px
}
.feature .row > * {
	margin-bottom: 24px
}
.feature__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  line-height: 1.5;
}
.feature img {
  margin-right: 15px;
  width: 63px;
}

.link__go__other:hover div:before, 
.link__go__other:hover div:after {
	display: none;
}

.example {
	--slider-width: 25%;
}

.boxes {
	--slider-width: -webkit-calc(33.33333333% - 16px);
	--slider-width: -moz-calc(33.33333333% - 16px);
	--slider-width: calc(33.33333333% - 16px);
}

.boxes .slider__container {
	margin: -12px;
}

.boxes .slider__item {
	padding: 12px;
}

.boxes .slider__item .boxes__block__img {
	height: 0;
    padding-top: 100%;
    background: #ffffff;
	-webkit-background-size: contain;
	   -moz-background-size: contain;
	     -o-background-size: contain;
	        background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.boxes .slider__item .boxes__block__title {
    font-size: 14px;
    text-transform: none;
    line-height: 1.5;
}

.popup__box-desc .popup__block {
	max-width: 800px
}

.popup__box-desc__on {
	cursor: pointer;
}

.popup__box-desc__on:hover {
	opacity: 0.8
}

.boxes__pagination .pagination {
	gap: 0;
	margin-top: 24px;
}

.review .section__title + .slider {
	--slider-width: 33.33333333%
}

.mt-100 {
	margin-top: 100px
}

@media (max-width: 991px) {
    .mt-100 {
        margin-top: 80px;
    }
}
@media (max-width: 767px) {
    .mt-100 {
        margin-top: 60px;
    }
}
@media (max-width: 575px) {
    .mt-100 {
        margin-top: 40px;
    }
}

@media (min-width: 1400px) {
	.breadcrumbs.breadcrumbsBg.serviceBreadcrumbs {
		padding-bottom: 100px;
	}
	.serviceBreadcrumbs .breadcrumbs__block {
		margin-bottom: 70px;
	}
}

@media (max-width: 1199px) {
	.example {
		--slider-width: 33.33333333%;
	}
}

@media (min-width: 992px) {
	.header__menu > ul > li:nth-child(1) > ul.sub-menu > li:nth-child(2) ul.sub-menu li {
		width: 100%
	}
	.header__menu > ul > li:nth-child(1) > ul.sub-menu > li,
	.header__menu > ul > li:nth-child(1) > ul.sub-menu > li:nth-child(2) {
		width: -webkit-calc(100% / 3 - 20px);
		width: -moz-calc(100% / 3 - 20px);
		width: calc(100% / 3 - 20px)
	}
}

@media (max-width: 991px) {
	.galleryMargin {
		margin-bottom: 80px;
	}
	.gallerySlider {
		--slider-width: 33.333333333%;
	}
	.example {
		--slider-width: 50%;
	}
	.boxes {
		--slider-width: -webkit-calc(50% - 12px);
		--slider-width: -moz-calc(50% - 12px);
		--slider-width: calc(50% - 12px);
	}
}

@media (max-width: 767px) {
	.galleryMargin {
		margin-bottom: 60px;
	}
	.gallerySlider {
		--slider-width: 50%;
	}
	.serviceBreadcrumbs .text ul li {
		margin-bottom: 20px;
		padding-left: 45px;
		font-size: 22px;
		line-height: 30px;
	}
	
	.serviceBreadcrumbs .text ul li:before {
		width: 30px;
		height: 30px;
	}
	.breadcrumbs.breadcrumbsBg.serviceBreadcrumbs {
		padding: 30px 0 50px 0;
	}
	.serviceBreadcrumbs .breadcrumbs__block {
		margin-bottom: 30px;
	}
	
	.review .section__title + .slider {
		--slider-width: 50%
	}
}

@media (min-width: 576px) {
	.boxes .slider__container {
		margin: 0;
		overflow: visible;
	}

	.boxes .slider__items {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		gap: 24px;
	}

	.boxes .slider__item {
		padding: 0
	}
}

@media (max-width: 575px) {
	.banner__title div {
		font-size: 23px;
	}
	.banner__title + div {
		font-size: 20px;
	}
	.galleryMargin {
		margin-bottom: 40px;
	}
	.gallerySlider {
		--slider-width: 100%;
	}
	.grecaptcha-badge {
		display: none !important
	}
	.btn__up {
		left: auto;
    right: 30px;
    bottom: 10px;
	}
	.b24-widget-button-position-bottom-right {
    right: 20px !important;
    bottom: 70px !important;
	}
	.banner {
		margin-top: -87px;
	}
	.footer .social__line,
	.footer__payment,
	.footer .phones a {
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	.footer .social__line {
		margin: 15px 0;
	}
	.footer__menu ul li a,
	.footer .logo {
		margin: 0 auto;
	}
	.footer .phones div {
		margin: 0 auto;
	}
	.footer .logo {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}
	.footer__copyright,
	.footer__policy ul li a,
	.footer__rate {
		text-align: center;
	}
	.serviceBreadcrumbs .text ul li {
		margin-bottom: 15px;
		padding-left: 40px;
		font-size: 20px;
		line-height: 26px;
	}
	
	.serviceBreadcrumbs .text ul li:before {
		width: 25px;
		height: 25px;
	}

	.serviceBreadcrumbs h1 {
		font-size: 23px;
	}

	.serviceBreadcrumbs .popup__block .popup__block__title {
		font-size: 1rem;
	}
	.serviceBreadcrumbs .popup__block form .btn {
		padding: 15px;
	}
	.feature .row {
		margin-bottom: -12px
	}
	.feature .row > * {
		margin-bottom: 12px
	}
	.boxes__menu__btn {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		gap: 12px;
		-webkit-box-pack: end;
		-webkit-justify-content: flex-end;
		   -moz-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.boxes__menu__btn div:nth-child(1) {
		font-weight: 500
	}
	.boxes__menu__btn div:nth-child(2) {
		width: 46px;
		height: 36px;
		position: relative;
		padding: 6px;
		background-color: #2d80ce;
		-webkit-border-radius: 3px;
		   -moz-border-radius: 3px;
		        border-radius: 3px;
		cursor: pointer;
	}
	.boxes__menu__btn div:nth-child(2) span {
		position: absolute;
		height: 3px;
		width: 34px;
		left: 6px;
		background: #ffffff;
		-webkit-border-radius: 5px;
		   -moz-border-radius: 5px;
		        border-radius: 5px;
	}
	.boxes__menu__btn div:nth-child(2) span:nth-child(1) {
		top: 7px;
	  }
	.boxes__menu__btn div:nth-child(2) span:nth-child(2) {
		top: 50%;
		-webkit-transform: translateY(-50%);
		   -moz-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			 -o-transform: translateY(-50%);
				transform: translateY(-50%);
	}
	.boxes__menu__btn div:nth-child(2) span:nth-child(3) {
		bottom: 7px;
	}
	.boxes__menu__other {
		display: none;
		margin-top: 12px;
	}
	.boxes__menu__btn.active div:nth-child(2) span:nth-child(1) {
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
		   -moz-transform: translate(-50%, -50%) rotate(45deg);
		    -ms-transform: translate(-50%, -50%) rotate(45deg);
		     -o-transform: translate(-50%, -50%) rotate(45deg);
		        transform: translate(-50%, -50%) rotate(45deg);
		left: 50%;
	}
	.boxes__menu__btn.active div:nth-child(2) span:nth-child(2) {
		display: none;
	}
	.boxes__menu__btn.active div:nth-child(2) span:nth-child(3) {
		bottom: auto;
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		   -moz-transform: translate(-50%, -50%) rotate(-45deg);
		    -ms-transform: translate(-50%, -50%) rotate(-45deg);
		     -o-transform: translate(-50%, -50%) rotate(-45deg);
		        transform: translate(-50%, -50%) rotate(-45deg);
		left: 50%;
	}
	.example {
		--slider-width: 100%;
	}
	.boxes {
		--slider-width: 100%;
	}
}

@media (max-width: 420px) {
	.banner {
		margin-top: -96px;
	}
	.review .section__title + .slider {
		--slider-width: 100%
	}
}


.thanks__block {
	padding: 25px 30px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    background-color: #f4f4f4;
	text-align: center;
}

.thanks__block a {
	display: block;
    width: fit-content;
    margin-left: auto;
	margin-bottom: 15px;
}

.thanks__block p {
	margin: 0;
}

.thanks__block  h1 {
	margin-bottom: 15px;
}

.thanks__block hr {
	margin: 30px 0
}

.thanks__block .social__line {
	margin-top: 15px;
	gap: 10px;
	justify-content: center;
}

.thanks__block .social__line a {
	margin: 0;
}

.thanks__block .social__line a img {
	width: 40px;
	height: 40px;
}


@media (max-width: 575px) {
	.thanks__block a {
		margin-bottom: 10px;
	}
	.thanks__block {
		padding: 15px;
	}
	.thanks__block hr {
		margin: 20px 0;
	}
	.thanks__block .social__line {
		margin-top: 10px
	}
	.thanks__block  h1 {
		margin-bottom: 10px
	}
}

/* 05.05.2025 */
.section-mb {
	margin-bottom: 100px;
}
.review__block__title {
	margin: 0;
}
.review__block__title small {
	padding-left: 12px;
	font-size: 12px;
	color: #444444;
	font-weight: 400;
}
.review__block__service {
	font-size: 14px;
}
.review__block__service b {
	color: #2d80ce;
}
.review__block .text {
	margin-top: 15px;
}
.gallery__block:before {
	background: rgba(0, 0, 0, 0.25);
}

.header .btn__menu {
	display: none;
}

.gallery .--service {
	display: none;
}
.tab__btns {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 1rem;
}
.tab__btn {
	    -webkit-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
    -moz-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
    transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    cursor: pointer;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    text-decoration: none;
    font-weight: 800;
    padding: 15px 30px;
    text-transform: uppercase;
    color: #ffffff;
	border-radius: .25rem;
	background: #444444;
	margin: 0
}
.tab__btn.--active {
	background: #3B96E7;
}

.withCaption .fancybox__caption {
	flex: 1;
	padding: 30px;
	-webkit-box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.2);
	background: #ffffff;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	color: #444444;

}

.header__menu #menu-item-2647 a:hover {
	color: #444444;
	background: transparent;
}

@media (min-width: 1200px) {
	.withCaption .fancybox__slide {
		flex-direction: row;
		gap: 48px;
	}
	.withCaption .fancybox__content {
		max-width: 480px;
	}
}
@media (max-width: 1199px) {
	.withCaption .fancybox__caption {
		margin-top: 20px;
	}
}
@media (max-width: 991px) {
    .section-mb {
        margin-bottom: 80px;
    }
	.header__menu #menu-item-923 ul {
		display: none;
	}
	.header__menu {
		padding: 50px 0;
	}
	.header__menu ul {
		display: flex;
		flex-direction: column;
	}
	.header__menu> ul > li {
		order: 1
	}
	.header__menu> ul > li:nth-child(1) {
		order: 2
	}
	.header__menu> ul > li:nth-child(2) {
		order: 3
	}
	.header__menu> ul > li:nth-child(2) > ul > li:nth-child(1) > a {
		display: none
	}
	.header__menu> ul > li:nth-child(2) > ul > li:nth-child(1) > ul {
		padding-top: 0;
	}
	section.contacts.withBg {
		padding-top: 130px;
	}
	.callback__text > .d-flex,
	.callback__text > .d-md-flex {
		display: block !important;
	}
	.callback__text > .d-flex .phones + div,
	.callback__text > .d-md-flex .phones + div {
		margin-top: 1rem !important;
	}
	.header .btn__menu {
		display: block;
	}
	.header .btn__menu.--close {
		display: none;
	}
	.header__top {
		position: relative;
	}
  .header__open .btn__menu.--close {
	z-index: 100;
	  display: block;
	  position: fixed;
  }
  .header__open .btn__menu.--close span {
	-webkit-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
	transition: 0.5s all cubic-bezier(0.4, 0, 0.2, 1);
  }
  .header__open .btn__menu.--close span:nth-child(1) {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	   -moz-transform: translate(-50%, -50%) rotate(-45deg);
		-ms-transform: translate(-50%, -50%) rotate(-45deg);
		 -o-transform: translate(-50%, -50%) rotate(-45deg);
			transform: translate(-50%, -50%) rotate(-45deg);
  }
  .header__open .btn__menu.--close span:nth-child(2) {
	display: none;
  }
  .header__open .btn__menu.--close span:nth-child(3) {
	bottom: auto;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	   -moz-transform: translate(-50%, -50%) rotate(45deg);
		-ms-transform: translate(-50%, -50%) rotate(45deg);
		 -o-transform: translate(-50%, -50%) rotate(45deg);
			transform: translate(-50%, -50%) rotate(45deg);
  }
	.withCaption .fancybox__caption {
		padding: 20px;
	}
}

@media (max-width: 767px) {
    .section-mb {
        margin-bottom: 60px;
    }
	section.contacts.withBg {
		padding-top: 105px;
	}
}

@media (max-width: 575px) {
	section.contacts.withBg {
		padding-top: 80px;
	}
    .section-mb {
        margin-bottom: 40px;
    }
	.footer .row {
		position: relative;
	}
	.footer .phones {
		position: absolute;
		top: 0;
		left: 24px;
		width: calc(100% - 48px);
	}
	.footer .logo {
		width: calc(100% - 24px);
		text-align: center;
		margin: 65px 12px 0 12px;
		padding: 15px;
		border-top: 1px solid rgba(255,255,255, 0.75);
		border-bottom: 1px solid rgba(255,255,255, 0.75);
	}
	.footer .social__line {
		border-bottom: 1px solid rgba(255,255,255, 0.75);
		padding-bottom: 15px;
		margin: 15px 12px;
	}
	.footer__rate {
		width: 124px;
		position: absolute;
		bottom: -30px;
		margin: 0;
		left: calc(50% - 12px);
		transform: translateX(-100%);
	}
	.footer__rate img {
		border-radius: 50px;
	}
	.footer__payment {
		width: fit-content;
		position: absolute;
		bottom: -30px;
		margin: 0;
		left: calc(50% + 12px);
		justify-content: end;
	}
	.footer .row:last-child {
		margin-top: 50px;
	}
	.header .col-12 {
		align-items: start;
	}
	.header__location {
		max-width: calc(100% - 153px)
	}
	.header__location img {
		min-width: 18px;
		width: 18px;
		margin-right: 3px;
	}
	.header__location select {
		font-size: 14px;
		width: 100%;
	}
	.header .logo {
		flex: none;
		width: 100px;
		margin-right: auto;
	}
	.header .phones {
		display: flex;
		flex-wrap: wrap;
	}
	.header .search__btn {
		margin-top: 8.5px;
	}
	.header__top {
		gap: 6px 9px;
	}
	.tab__btns {
		gap: 12px;
	}
	.tab__btn {
		font-size: 5.8vw;
		padding: 10px 20px;
	}
	.withCaption .fancybox__caption {
		padding: 12px;
	}
}

@media (min-width: 1200px) {
	.boxes .col-12 .slider__item {
		max-width: calc(25% - 18px);
	}
}