:root {
  --color-primary: #0069b4;
  --color-primary2: #0069b4;
  --color-red: #cc000e;
  --color-green: #0069b4;
}

.red {
  color: var(--color-red);
}

.green {
  color: var(--color-green);
}

.d_fl {
  display: flex;
}

.fl_dir {
  flex-direction: column;
}

.fl_wrap {
  flex-wrap: wrap;
}

.jc_cen {
  justify-content: center;
}

.al_cen {
  align-items: center;
}

p {
  margin-bottom: 20px;
}

p:last-child {
  margin-bottom: 0 !important;
}

a {
	outline: none;
	transition: all 0.3s ease-in-out;
}

.fw500 {
	font-weight: 500;
}

.fw600 {
	font-weight: 600;
}

.fw700 {
	font-weight: 700;
}


.btn {
  border: 0;
  background: var(--color-primary);
  padding: 13px 11px;
  min-width: 165px;
  max-width: 100%;
  display: inline-block;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: .3s ease;
}

.btn:hover {
  box-shadow: 3px 3px 15px rgba(0, 0, 0, .5);
}

.btn--orange {
  background: var(--color-primary2);
}

.btn--white {
  color: #000;
  background: #fff;
  border: 1px solid var(--color-primary2);
}

.container {
  max-width: 1320px;
  padding: 0 12px;
  z-index: 2;
  position: relative;
  margin: 0 auto;
  width: 100%;
}

.fl_img,
.fl_img img {
  width: 100%;
}

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



/* modals */
.modal_box {
  max-width: 570px !important;
}

.modal__title {
  font-size: 24px;
  margin-bottom: 25px;
  font-weight: 600;
}

.modal__subtitle {
  margin-bottom: 25px;
}

#modal_callback form input.wpcf7-form-control.wpcf7-submit {
  background: var(--color-primary);
}

#modal_measure form input.wpcf7-form-control.wpcf7-submit {
  background: var(--color-primary);
}

/* modals */


/* header */
.header {
  position: relative;
  z-index: 100;
  padding: 13px 0 10px;
  background: #fff;
  box-shadow: 0 0 8px 0px #0000001f;
}

.header__top {
  gap: 15px;
}

.header__top.d_fl {
  justify-content: space-between;
}

.header__logo {
  width: 196px;
  height: 47px;
  flex: 0 0 196px;
  line-height: 0;
}

.header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

.header__info {
  gap: 6px;
  font-size: 12px;
  line-height: 1;
}

.header__info span,
.header__constructor {
  border-bottom: 1px solid;
}

.header__constructor {
  color: var(--color-primary2);
  font-size: 14px;
}

.header__constructor svg,
.header__phone svg {
  display: none;
}

.header__phone {
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
}

.btn--impulse {
  animation: pulse 1s infinite alternate both;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(18, 163, 57, 0);
  }

100% {
    box-shadow: 0 0 0 5px rgb(0 105 180 / 28%);
}
}

.header__nav {
  padding-top: 10px;
}

ul#topmenu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  width: 100%;
  justify-content: flex-start;
  gap: 15px;
}

ul#topmenu li a {
  display: block;
  padding: 8px;
  margin: 0;
  position: relative;
  color: var(--color-primary);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}

ul#topmenu > li > a:hover {
  color: #fff;
  background: var(--color-primary);
}

ul#topmenu li {
  position: relative;
}

.header__menu {
  display: none;
  width: 22px;
  padding: 2px;
  border: 0;
  background: none;
}

.header__menu span {
  display: block;
  height: 2px;
  margin: 3px 0;
  background: #212529;
}

.submenu-toggle {
  display: none;
}

@media (min-width: 1026px) {
  ul.sub-menu {
    display: none;
    text-align: left;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 120;
    min-width: 300px;
    box-shadow: 0 4px 4px rgba(12, 12, 13, .1);
    border: 2px solid rgba(12, 12, 13, .1);
    background: #fff;
    list-style: none;
    padding: 8px;
    margin: 0;
  }

  #topmenu>li:hover>ul,
  #topmenu>li li:hover ul {
    display: block;
  }
}


/* header */
ul.tabs_caption3 li.tab_ind3 img {
    width: auto;
    height: 25px;
    display: block;
}
ul.tabs_caption3 li.tab_ind3 {
    display: flex;
    align-items: center;
    gap: 5px;
}
/* hero */
.hero {
  position: relative;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero__bg img {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
}

.hero__bg img:last-child {
  display: block;
  top: 0;
  left: 93px;
  object-fit: contain;
}

@media (max-width: 1025px) {
  .hero__bg img:first-child {
    display: block;
  }

  .hero__bg img:last-child {
    display: none;
  }
}

@media (max-width: 560px) {
  .hero__bg img:first-child {
    display: none;
  }
    .hero__bg img:nth-child(2) {
        transform: scale(0.5);
        display: block;
        width: auto !important;
        max-width: none;
        height: 597px;
        left: 0;
        left: -98px;
        bottom: 0px !important;
        position: absolute !important;
        /* inset: auto; */
        /* object-fit: none !important; */
        /* object-position: left; */
        right: auto;
        margin: 0;
    }
}

.hero__label {
  position: absolute;
  right: 18.5vw;
  bottom: 0;
  z-index: 1;
}
.calc {
    overflow-x: hidden;
}
.hero__content {
  display: flex;
  max-width: 660px;
  padding: 80px 0;
  position: relative;
  z-index: 2;
}

.hero h1 {
  font-size: 42px;
  line-height: 1.2;
}

.hero__text {
  align-self: flex-start;
  margin-top: 8px;
  padding: 4px 8px;
  color: #fff;
  background: var(--color-primary);
  font-size: 22px;
  line-height: 1.2;
}

.hero__advantages {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 60px;
}

.hero__advantage {
  position: relative;
  padding: 38px 8px 12px;
  border: 1px solid #fff;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .41);
  background: #fff;
  font-size: 15px;
  line-height: 1.3;
  text-align: center;
}

.hero__advantage img {
  position: absolute;
  top: -42%;
  left: 50%;
  transform: translateX(-50%);
}

.hero-reviews {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 48px;
}

.hero__buttons .btn {
  padding: 20px;
  border-radius: 5px;
  font-size: 20px;
}

/* hero */


/* soc links */
.soc_links a, .soc_links a img {
    display: block;
    width: 32px;
    height: 32px;
}
.soc_links {
    gap: 8px;
}
/* soc links */




/* swiper slider */
button.swiper-button-next,
button.swiper-button-prev {
  border-radius: 50rem;
  max-width: 42px;
  max-height: 42px;
  min-width: 42px;
  min-height: 42px;
  box-shadow: 0 0 1px 2px rgb(0 0 0 / 15%);
  transition: all .3s ease-in-out;
  color: var(--color-c2hover);
  border: none;
}


/* swiper slider */










































@media (max-width: 982px) {
  body.menu-open {
    overflow: hidden;
  }

  .header {
    position: sticky;
    top: 0;
    padding: 10px 0;
  }

  .header__address,
  .header__nav {
    display: none;
  }

  .header__constructor {
    border: 0;
    line-height: 0;
  }

  .header__constructor span {
    display: none;
  }

  .header__constructor svg {
    display: block;
  }

  .header__menu {
    display: block;
  }

  .header__nav.open {
    display: block;
    position: fixed;
    top: 67px;
    left: 0;
    width: 70vw;
    height: calc(100vh - 67px);
    padding: 20px 12px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 8px 15px rgba(0, 0, 0, .15);
  }

  .header__nav.open #topmenu {
    display: block;
  }

  .header__nav.open ul#topmenu li a {
    color: #212529;
    padding: 10px 8px;
  }

  .header__menu {
    position: relative;
    height: 22px;
  }

  .header__menu span {
    position: absolute;
    right: 2px;
    left: 2px;
    margin: 0;
    transition: .3s ease;
  }

  .header__menu span:first-child { top: 4px; }
  .header__menu span:nth-child(2) { top: 10px; }
  .header__menu span:last-child { top: 16px; }

  body.menu-open .header__menu span:first-child {
    top: 10px;
    transform: rotate(45deg);
  }

  body.menu-open .header__menu span:nth-child(2) {
    opacity: 0;
  }

  body.menu-open .header__menu span:last-child {
    top: 10px;
    transform: rotate(-45deg);
  }

  .header__nav ul.sub-menu {
    display: none;
    position: static;
    padding-left: 15px;
    list-style: none;
  }

  .submenu-toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: url(images/down_arrow.svg) center / 18px no-repeat;
    transition: .3s ease;
  }

  .submenu-toggle.active {
    transform: rotate(180deg);
  }

  .hero__label {
    display: none;
  }

  .hero__content {
    max-width: 450px;
    padding: 40px 0;
  }

  .hero h1 {
    font-size: 30px;
  }

  .hero__advantages {
    grid-template-columns: 1fr;
    gap: 4px;
    width: max-content;
    margin-top: 16px;
  }

  .hero__advantage {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 8px;
    border-radius: 4px;
    text-align: left;
  }

  .hero__advantage img {
    position: static;
    width: 30px;
    transform: none;
  }

  .hero__buttons {
    grid-template-columns: 1fr;
    gap: 8px;
    max-width: 360px;
  }

  .hero__buttons .btn {
    padding: 15px;
  }
}

@media (max-width: 820px) {
  .header__logo {
    width: 125px;
    height: 30px;
    flex-basis: 125px;
  }

  .header__time,
  .header__phone span {
    display: none;
  }

  .header__phone svg {
    display: block;
  }

  .header__phone {
    line-height: 0;
  }

  .header__nav.open {
    top: 50px;
    height: calc(100vh - 50px);
  }
}

@-webkit-keyframes scale-in-center {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes scale-in-center {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}
.tabs_item_box3.active {
    -webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.2s both;
    animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.2s both;
}
@media (max-width: 560px) {
  .header__top {
    gap: 10px;
  }

  .header__top .btn {
    padding: 4px 10px;
    border-radius: 5px;
  }

    .hero__bg::after {
        content: '';
        position: absolute;
        inset: 0 0 auto;
        height: 25%;
        background: linear-gradient(180deg, rgba(255, 255, 255, .7) 50%, transparent 100%);
    }

  .hero__content {
    min-height: 535px;
    max-width: 100%;
    padding: 16px 0;
  }

  .hero h1 {
    font-size: 22px;
  }

  .hero__text {
    font-size: 18px;
  }

  .hero__advantages {
    align-self: flex-end;
  }

  .hero__advantage {
    font-size: 14px;
  }

  .hero__buttons {
    width: 100%;
    max-width: 100%;
    margin-top: auto;
    padding-top: 15px;
  }

}

/* footer */
body footer {
  padding: 30px 0 20px;
  background: #f6f6f6;
  color: #343434;
  font-family: 'Montserrat', sans-serif;
}

.footer_bott_flex,
.foot_top_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer_top {
  padding-bottom: 20px;
}

.foot_top_left {
  display: flex;
  width: 39%;
  align-items: center;
  justify-content: space-between;
}

.foot_top_right {
  width: 48%;
  color: #6f6f6f;
  font-size: 14px;
  text-align: right;
}

.box_tel_foot a {
  display: block;
  color: #343434;
  font-size: 22px;
}

.box_rab_foot,
.foot_bott_left {
  color: #6f6f6f;
}

.box_mail_foot a {
  color: #343434;
}

.foot_top_middle {
  display: flex;
  align-items: center;
  justify-content: center;
}

.col_foot1 {
  margin-right: 7px;
  border-radius: 15px;
}

.col_foot1 a {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  opacity: .8;
  transition: .3s ease;
}

.col_foot1 a:hover {
  opacity: 1;
}

.col_foot1 img {
  max-width: 100%;
  max-height: 100%;
}

.foot_bott_left {
  width: 65%;
  font-size: 12px;
}

.foot_bott_left p {
  margin-bottom: 10px;
}

.foot_bott_right {
  display: flex;
  width: 35%;
  align-items: center;
  justify-content: flex-end;
}

.icon_img_foot2 {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  padding: 3px;
  overflow: hidden;
  border-radius: 11px;
  background: #eaeaea;
}

.icon_img_foot2 img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media (max-width: 820px) {
  .footer_bott_flex,
  .foot_top_flex {
    display: block;
    text-align: center;
  }

  .foot_top_left {
    display: block;
    width: 100%;
  }

  .foot_top_left,
  .foot_top_left1,
  .box_tel_foot,
  .foot_bott_left {
    padding-bottom: 15px;
  }

  .foot_top_right,
  .foot_bott_left {
    width: 100%;
    text-align: center;
  }

  .foot_bott_right {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 425px) {
  .header__top {
    gap: 6px;
  }

  .header__logo {
    width: 96px;
    height: 23px;
    flex-basis: 96px;
  }

  .header__top .btn {
    min-width: auto;
    padding: 4px;
    font-size: 12px;
  }

  .hero h1 {
    font-size: 20px;
  }

  .hero__text {
    font-size: 16px;
  }

  .hero__advantage {
    font-size: 12px;
  }
}

/* calculator */

/* reviews */
.reviews {
  padding: 50px 0;
  background: #fafafa;
}

.reviews__head {
  text-align: center;
}

.reviews__head h2 {
  color: #000;
    text-align: center;
    font-weight: 700;
    padding-bottom: 30px;
    color: #161616 !important;
    font-size: 42px;
    line-height: 1.2;
}

.reviews__subtitle {
  font-size: 20px;
  line-height: 1.3;
}

.reviews__tabs {
  gap: 0;
  margin-top: 30px;
  overflow-x: auto;
}

.reviews__tab {
  width: auto;
  min-width: 0;
  height: 42px;
  gap: 7px;
  padding: 10px 15px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #212529;
  font-weight: 600;
  transition: .3s ease;
}

.reviews__tab-icon {
  display: block;
  height: 20px;
}

.reviews__tab-icon img {
  display: block;
  width: auto;
  height: 20px;
}

.reviews__tab-mobile {
  display: none !important;
}

.reviews__tab:hover,
.reviews__tab.active {
  background: #eee;
  box-shadow: none;
}

.reviews__summary {
  min-height: 82px;
  justify-content: flex-start;
  margin-top: 20px;
}

.reviews__rating {
  font-size: 50px;
  line-height: 1;
}

.reviews__rating-info {
  margin-left: 12px;
}

.reviews__rating-stars {
  color: #ffcc00;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -2px;
}

.reviews__rating-note {
  margin-top: 2px;
  color: #84858a;
  font-size: 8px;
  line-height: 1.2;
}

.reviews__check {
  margin-left: auto;
  padding: 10px 25px;
  border-radius: 3px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  background: #fff;
  color: #212121;
  font-size: 14px;
  transition: .3s ease;
}

.reviews__check:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, .35);
}

.reviews__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 15px;
}

.review {
  display: none;
  width: 100%;
  height: 315px;
  min-width: 0;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease-out;
}

.review:hover {
  transform: translateY(-5px);
}

.review__top {
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 20px;
}

.review__avatar {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  overflow: hidden;
  border-radius: 50%;
}

.review__person {
  min-width: 0;
}

.review__name {
  font-size: 14px;
  line-height: 21px;
}

.review__verified {
  width: 16px;
  height: 16px;
  margin-left: 3px;
  vertical-align: -3px;
}

.review__meta {
  justify-content: flex-start;
  gap: 8px;
}

.review__stars {
  color: #ffcc00;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.review__stars .empty {
  color: #ddd;
}

.review__date {
  color: #212121;
  font-size: 12px;
}

.review__photos {
  justify-content: flex-start;
  gap: 4px;
  margin-bottom: 12px;
  overflow-x: auto;
}

.review__photo {
  width: 45px;
  height: 60px;
  flex: 0 0 45px;
  overflow: hidden;
  border-radius: 5px;
}

.review__body {
  height: 184px;
  padding: 10px;
  border-radius: 10px;
  background: #f5f5f5;
  overflow: hidden;
}

.review__text {
  width: 100%;
  height: 75px;
  flex: 0 0 75px;
  overflow-y: hidden;
  padding-right: 3px;
  font-size: 14px;
  line-height: 1.3;
  scrollbar-color: #aaa #eee;
  scrollbar-width: thin;
}

.review__text.scrollable {
  overflow-y: scroll;
}

.review__text::-webkit-scrollbar {
  width: 3px;
}

.review__text::-webkit-scrollbar-track {
  border-radius: 3px;
  background: #eee;
}

.review__text::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #aaa;
}

.review__source {
  display: inline-block;
  margin-top: 15px;
}

.review__source img {
    display: block;
    width: auto;
    height: 18px;
}

.reviews__more {
  display: none;
  min-width: 170px;
  margin: 30px auto 0;
  padding: 14px 25px;
  border: 0;
  border-radius: 6px;
  background: var(--color-green);
  color: #fff;
  font-weight: 700;
  transition: .3s ease;
}

.reviews__more:hover {
  box-shadow: 3px 3px 15px rgba(0, 0, 0, .3);
}

@media (max-width: 1025px) {
  .reviews__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 820px) {
  .reviews {
    padding: 50px 0;
  }

  .reviews__head h2 {
    font-size: 32px;
  }

  .reviews__tabs {
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .reviews {
    padding: 35px 0;
  }

  .reviews__head h2 {
    font-size: 25px;
  }

  .reviews__subtitle {
    font-size: 16px;
  }

  .reviews__tab {
    height: 42px;
    padding: 10px 14px;
  }

  .reviews__tab-name {
    display: none;
  }

  .reviews__tab-icon {
    width: 20px;
    overflow: hidden;
  }

  .reviews__tab-icon img {
    width: auto;
    max-width: none;
    height: 20px;
  }

  .reviews__tab-icon .reviews__tab-mobile {
    display: block !important;
  }

  .reviews__tab-icon .reviews__tab-mobile + img,
  .reviews__tab-icon img:has(+ .reviews__tab-mobile) {
    display: none;
  }

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

  .review {
    height: 250px;
    padding: 15px;
  }

  .review__body {
    height: 101px;
  }

  .review:has(.review__body--photos) {
    height: 315px;
  }

  .review__body--photos {
    height: 184px;
  }

  .review__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}
/* reviews */
.calc {
  padding: 70px 0;
  background: #fbfbfb;
}

.calc__head {
  margin-bottom: 40px;
  text-align: center;
}

.calc__head h2 {
  font-size: 42px;
  line-height: 1.2;
}

.calc__subtitle {
  margin-top: 20px;
  font-size: 22px;
}

.calc__box {
  align-items: stretch;
  gap: 20px;
}

.calc__main {
  width: 70%;
  min-height: 590px;
  padding: 30px;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 51px rgba(0, 0, 0, .05);
  background: #fff;
}

.calc__progress {
  height: 40px;
  padding: 5px;
  position: relative;
  border-radius: 50px;
  background: #f6f7f8;
  color: #84858a;
  font-size: 14px;
  text-align: center;
}

.calc__progress > div:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 100%;
  transform: translate(-50%, -50%);
}

.calc__bar {
  width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: 30px;
  background: #0069b4 url(images/calc-progress.svg) left center / auto 100% repeat-x;
  transition: .5s ease;
  -webkit-animation: calc_progress 40s linear infinite;
  animation: calc_progress 40s linear infinite;
}

@-webkit-keyframes calc_progress {
  0% { background-position: -1000px center; }
  50% { background-position: 0 center; }
  100% { background-position: 1000px center; }
}

@keyframes calc_progress {
  0% { background-position: -1000px center; }
  50% { background-position: 0 center; }
  100% { background-position: 1000px center; }
}

.calc__step,
.calc__final {
  display: none;
}

.calc__step.active,
.calc__final.active {
  display: block;
}

.calc__step.active {
  display: flex;
  min-height: 490px;
  flex-direction: column;
}

.calc__question {
  padding: 30px 0;
  color: #1c1c1c;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}

.calc__answers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-height: 350px;
  overflow-y: auto;
}

.calc__answers--text {
  grid-template-columns: repeat(2, 1fr);
}

.calc__answer {
  min-height: 60px;
  position: relative;
  padding: 15px 20px;
  border: 1px solid #eee;
  border-radius: 12px;
  cursor: pointer;
  text-align: center;
  transition: .3s ease;
}

.calc__answer:not(.calc__answer--img) {
  min-height: 65px;
  justify-content: flex-start;
  padding: 20px;
  border-color: #fff;
  background: #f6f7f8;
  text-align: left;
}

.calc__answer--img {
  padding: 0 0 10px;
  border: 0;
}

.calc__answer input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.calc__answer-img {
  height: 120px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: .3s ease;
}

.calc__check {
  width: 30px;
  height: 30px;
  margin: -2px auto 10px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #f7f7f7;
  transition: .3s ease;
}

.calc__answer:not(.calc__answer--img) .calc__check {
  min-width: 30px;
  margin: 0 15px 0 0;
  border: 0;
  background: #fbfbfb;
}

.calc__answer--img .calc__check {
  margin-top: -13px;
  position: relative;
}

.calc__check path {
  fill: #aeaeae;
  opacity: .5;
}

.calc__answer.checked .calc__check {
  background: #0069b4;
}

.calc__answer.checked .calc__check path {
  fill: #fff;
  opacity: 1;
}

.calc__answer.checked .calc__answer-img,
.calc__answer:hover .calc__answer-img {
  border-color: #0069b4;
}

.calc__answer-text {
  color: #1c1c1c;
  font-size: 14px;
}

.calc__controls {
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid #f7f7f7;
  margin-top: auto;
  justify-content: space-between;
}

.calc__prev, 
.calc__next-wrap {
    width: 171px;
    height: 45px;
    flex: 0 0 171px;
    font-weight: 700 !important;
    border-radius: 5px !important;
}

.calc__prev,
.calc__next {
  border: 0;
  border-radius: 46px;
  font-weight: 500;
  transition: .3s ease;
}

.calc__prev {
  color: #84858a;
  background: #f6f7f8;
}

.calc__next {
    width: 100%;
    height: 100%;
    color: #fff;
    background: linear-gradient(0deg, #0069b4 -15%, #49a6e9 122.86%);
    padding: 0 10px;
    border-radius: 5px;
    font-size: 17px;
    background: var(--color-primary2);
    line-height: 45px;
    height: 45px;
    font-weight: 700;
}

.calc__next-wrap {
  position: relative;
}

.calc__next-tip {
  position: absolute;
  right: -25px;
  bottom: calc(100% + 6px);
  width: 222px;
  padding: 14px 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, .25);
  background: #fff;
  color: #1c1c1c;
  font-size: 12px;
  line-height: 1.15;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: .3s ease;
}

.calc__next-wrap:not(.ready):hover .calc__next-tip {
  opacity: 1;
}

.calc__prev:disabled,
.calc__next:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.calc__step:first-child .calc__prev {
  visibility: hidden;
}

.calc__hint {
  gap: 10px;
  color: #84858a;
  font-size: 14px;
  font-weight: 300;
}

.calc__aside {
  width: calc(30% - 20px);
  padding: 30px;
  position: relative;
  justify-content: flex-start;
  border-radius: 12px;
  background: url(images/calc-aside.jpg) center / cover no-repeat;
  text-align: center;
}

.calc__aside::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .14), transparent);
  backdrop-filter: blur(9.5px);
  pointer-events: none;
}

.calc__aside > * {
  position: relative;
  z-index: 1;
}

.calc__gift {
  font-size: 20px;
  line-height: 1.2;
}

.calc__value {
  align-self: center;
  margin-top: 12px;
  padding: 5px 10px;
  border-radius: 2px;
  color: #fff;
  background: #0069b4;
  font-size: 27px;
}

.calc__person {
  width: 300px;
  height: 100%;
  margin: 10px 38px 0;
  position: absolute;
  bottom: 0;
}

.calc__person img {
  object-fit: contain;
  object-position: bottom center;
}

.calc__person-info {
  margin-top: auto;
  padding: 10px;
  border-radius: 12px;
  background: #fff;
}

.calc__person-info > div:last-child {
  margin-top: 8px;
  color: #84858a;
  font-size: 15px;
}

.calc__final {
  height: 490px;
}

.calc-final {
  height: 100%;
  align-items: stretch;
  justify-content: flex-start;
  overflow: hidden;
}

.calc-final__content {
  display: flex;
  width: 350px;
  max-width: 350px;
  flex: 0 0 350px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.calc-final__text {
  width: 100%;
  color: #84858a;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .03em;
  text-align: center;
}

.calc-final__title {
  width: 100%;
  margin: 10px 0 25px;
  color: #1c1c1c;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: .03em;
  text-align: center;
}

.calc-final__contacts {
  width: 100%;
  justify-content: flex-start;
  gap: 0;
  margin-bottom: 15px;
}

.calc-final__contact {
  width: 67px;
  margin: 0 5px;
  padding: 5px 10px;
  position: relative;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  text-align: center;
  transition: .3s ease;
}

.calc-final__contact:hover,
.calc-final__contact.active {
  box-shadow: 0 4px 20px rgba(0, 0, 0, .05);
  background: #fff;
}

.calc-final__contact input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.calc-final__icon {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  border-radius: 50%;
}

.calc-final__icon img {
  width: 20px;
  max-height: 22px;
}

.calc-final__icon--phone {
  background: linear-gradient(180deg, #e46464, #f4acac);
}

.calc-final__icon--whatsapp {
  background: linear-gradient(180deg, #1fc864, #4dd98b);
}

.calc-final__icon--viber {
  background: linear-gradient(180deg, #705cf4, #a593ff);
}

.calc-final__icon--telegram {
  background: linear-gradient(180deg, #1e9bd7, #58bee9);
}

.calc-final__contact small {
  color: #84858a;
  font-size: 10px;
}

.calc__form {
  width: 100%;
  max-width: 310px;
  margin-top: 0;
}

.calc__form form {
  position: relative;
}

.calc__form .wpcf7-form-control-wrap,
.calc__form input[type="tel"],
.calc__form input[type="submit"] {
  display: block;
  width: 100%;
}

.calc__form input[type="tel"] {
  height: 56px;
  padding: 0 20px;
  border: 0;
  border-radius: 46px;
  background: #f6f7f8;
  transition: .3s ease;
}

.calc__form input.wpcf7-not-valid[type="tel"],
.calc__form input[type="tel"][aria-invalid="true"] {
  border: 1px solid #f00;
}

.calc__form input.wpcf7-not-valid[type="tel"]::placeholder,
.calc__form input[type="tel"][aria-invalid="true"]::placeholder {
  color: #f00;
}

.calc__form form input.wpcf7-form-control.wpcf7-submit {
  width: 100%;
  max-width: none;
  height: 55px;
  margin-top: 18px;
  border: 0;
  border-radius: 46px;
  color: #fff;
  background: linear-gradient(0deg, #0069b4 -15%, #49a6e9 122.86%);
  font-weight: 700;
}

.calc__form .wpcf7-spinner {
  display: none;
}

.calc__form label.ch {
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
  padding: 0;
  color: #84858a;
  cursor: pointer;
  text-align: left;
}

.calc__form label.ch > .wpcf7-form-control-wrap {
  width: 18px;
  flex: 0 0 18px;
}

.calc__form label.ch .wpcf7-list-item {
  margin: 0;
}

.calc__form label.ch input[type="checkbox"] {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #d7dce5;
  border-radius: 2px;
  cursor: pointer;
}

.calc__form label.ch .wpcf7-not-valid input[type="checkbox"],
.calc__form label.ch input[type="checkbox"][aria-invalid="true"] {
  border-color: #f00;
  box-shadow: inset 0 0 0 2px #f00;
}

.calc__form label.ch > span:last-child {
  display: block;
  width: calc(100% - 18px);
  padding-left: 10px;
  color: #84858a;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.2 !important;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.calc__form label.ch a {
  color: inherit;
  text-decoration: underline;
}

.calc__form .wpcf7-not-valid-tip {
  display: none;
}

.calc__form label.ch:has(> span:last-child:not(.wpcf7-form-control-wrap)) .wpcf7-list-item-label {
  display: none;
}

.calc__form label.ch:not(:has(> span:last-child:not(.wpcf7-form-control-wrap))) .wpcf7-list-item-label {
  display: block;
  width: calc(100% - 28px);
  padding-left: 10px;
  color: #84858a;
  font-size: 10px;
  line-height: 1.2;
}

.calc__form label.ch:not(:has(> span:last-child:not(.wpcf7-form-control-wrap))) .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
}

.calc__form .wpcf7-response-output {
  margin: 15px 0 0 !important;
  padding: 10px !important;
  position: absolute;
  bottom: -5px;
  border: none !important;
  color: #fff !important;
  font-size: 12px !important;
  text-align: center;
}

.calc__form .wpcf7 form.invalid .wpcf7-response-output,
.calc__form .wpcf7 form.unaccepted .wpcf7-response-output,
.calc__form .wpcf7 form.payment-required .wpcf7-response-output {
  border: none !important;
  background: #f00;
}

.calc__processing {
  display: none;
  height: 490px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 35px;
  color: #212121;
  font-size: 24px;
  line-height: 1.2;
  text-align: center;
}

.calc__processing.active {
  display: flex;
}

.calc__loader {
  width: 42px;
  height: 42px;
  border: 4px solid #d8edf8;
  border-top-color: #2494d2;
  border-right-color: #2494d2;
  border-radius: 50%;
  animation: calc-processing .8s linear infinite;
}

@keyframes calc-processing {
  to {
    transform: rotate(360deg);
  }
}

.calc-final__visual {
  width: auto;
  flex: 1;
  position: relative;
}

.calc-final__phone {
  width: 300px;
  max-width: none;
  height: auto;
  position: absolute;
  right: 0;
  bottom: -94px;
  object-fit: cover;
}

.calc-final__time {
  display: flex;
  width: 116px;
  height: 116px;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 57%;
  bottom: 5%;
  transform: translateX(50%);
  text-align: center;
}

.calc-final__time > img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  animation: calc_time 15s linear infinite;
}

@keyframes calc_time {
  to { transform: rotate(360deg); }
}

.calc-final__time > div {
  z-index: 1;
  font-size: 10px;
}

.calc-final__time span {
  display: block;
  color: #0069b4;
  font-weight: 400;
}

@media (max-width: 1025px) {
	.calc-final__phone {
		width: auto;
		max-width: none;
		height: 100%;
		position: absolute;
		right: -100px;
		bottom: -94px;
		object-fit: cover;
		z-index: 0;
	}

  .calc__answers {
    grid-template-columns: repeat(3, 1fr);
  }

  .calc__answers--text {
    grid-template-columns: repeat(2, 1fr);
  }

  .calc__hint {
    display: none;
  }

  .calc__person {
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 820px) {
  .calc {
    padding: 45px 0;
  }

  .calc__head h2 {
    font-size: 32px;
  }

  .calc__main {
    width: 100%;
  }

  .calc__aside {
    display: none;
  }

  .calc-final__content {
    width: 350px;
    flex-basis: 350px;
  }
}

@media (max-width: 560px) {
  .calc {
    padding: 30px 0;
  }

  .calc__head {
    margin-bottom: 20px;
  }

  .calc__head h2 {
    font-size: 25px;
  }

  .calc__subtitle {
    font-size: 15px;
  }

  .calc__main {
    min-height: 0;
    padding: 10px;
  }

  .calc__progress {
    height: 30px;
    font-size: 12px;
  }

  .calc__question {
    padding: 20px 0;
    font-size: 18px;
  }

  .calc__answers {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .calc__answers--text {
    grid-template-columns: 1fr;
  }

  .calc__answer {
    padding: 10px 6px;
  }

  .calc__answer--img {
    padding: 0 0 10px;
  }

  .calc__answer-img {
    height: 110px;
  }

  .calc__controls {
    gap: 10px;
  }

  .calc__final {
    height: auto;
  }

  .calc-final__content {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
    padding: 30px 5px;
  }

  .calc-final__title {
    font-size: 18px;
  }

  .calc-final__contacts {
    gap: 3px;
    justify-content: space-between;
  }

  .calc-final__contact {
    width: 24%;
  }

  .calc-final__visual {
    display: none;
  }

  .calc__form {
    max-width: 100%;
  }

  .calc__prev,
  .calc__next-wrap {
    width: calc(50% - 5px);
    height: 45px;
    flex-basis: calc(50% - 5px);
  }

  .calc__next-tip {
    right: 0;
    max-width: calc(100vw - 44px);
  }
}
/* calculator */
/* balcony finishing constructor */
section.warming {
    padding: 40px 0 70px;
}

/* contacts */
.contacts {
  padding: 70px 0;
}

.contacts__head {
  margin-bottom: 40px;
  text-align: center;
}

.contacts__head h2 {
  font-size: 42px;
  font-weight: 300;
  line-height: 1.2;
}

.contacts__head > div {
  padding-top: 20px;
  font-size: 22px;
  font-weight: 300;
}

.contacts__items {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1.55fr);
  gap: 30px;
}

.contacts__info {
  height: 406px;
  justify-content: space-between;
  padding: 30px;
  border-radius: 12px;
  background: #f6f7f8;
}

.contacts__time {
  margin-bottom: 6px;
  padding-left: 13px;
  color: #84858a;
  font-size: 10px;
  line-height: 24px;
}

.contacts__phone {
  display: block;
  margin-bottom: 6px;
  color: #1c1c1c;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.13;
}

.contacts__callback {
  color: #0069b4;
  font-size: 15px;
  border-bottom: 1px solid #0069b4;
}

.contacts__mail {
  color: #1c1c1c;
  font-size: 22px;
  font-weight: 500;
}

.contacts__address {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.37;
}

.contacts__social {
  min-height: 71px;
  padding: 15px 20px;
  border-radius: 100px;
  background: #fff;
}

.contacts__social-links {
  gap: 10px;
  margin-right: 15px;
}

.contacts__social-link {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
}

.contacts__social-link--whatsapp {
  background: linear-gradient(#20bc5f, #41d87d);
}

.contacts__social-link--telegram {
  background: linear-gradient(#0088cc, #3eade4);
}

.contacts__social-link img {
  width: 20px;
  max-height: 20px;
}

.contacts__social-text {
  color: #84858a;
  font-size: 12px;
  line-height: 1.3;
}

.contacts__office {
  height: 406px;
  gap: 29px;
}

.contacts__office-title {
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
}

.contacts__image {
  width: 100%;
  height: 159px;
  overflow: hidden;
  border-radius: 12px;
}

.contacts__map,
#map-Nova {
  width: 100%;
  height: 406px;
  overflow: hidden;
  border-radius: 12px;
}

.contacts__map [class*="ground-pane"] {
  filter: grayscale(1);
}

.contacts__map [class*="copyrights-pane"],
.contacts__map [class*="controls-pane"] {
  display: none !important;
}

@media (max-width: 1025px) {
  .contacts__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contacts__map {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .contacts {
    padding: 50px 0;
  }

  .contacts__head h2 {
    font-size: 32px;
  }

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

  .contacts__map {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .contacts {
    padding: 35px 0;
  }

  .contacts__head h2 {
    font-size: 25px;
  }

  .contacts__head > div {
    font-size: 16px;
  }

  .contacts__info {
    height: auto;
    min-height: 390px;
    padding: 22px;
  }

  .contacts__phone {
    font-size: 25px;
  }

  .contacts__address {
    font-size: 21px;
  }

  .contacts__social {
    padding: 12px;
  }
}

.tb a {    
    float: left;
    padding: 3px 11px;
    background: #e8e8e8;
    color: #666;
}
.lodjia-basis {
    position: relative;
    transform: scale(.9,.9);
    margin-left: 5px
}

.lodjia-basis img {
    position: absolute;
    top: 0;
    display: none;
    left: 15px
}

.lodjia-basis .ondulin-cold {
    top: 25px
}

.lodjia-basis .rooff img {
    top: 0;
    left: -66px
}

.lodjia-basis .rooff .ondulin-cold,.lodjia-basis .rooff .ondulin-hot {
    top: 0;
    left: -40px
}

.lodjia-basis .win-hot {
    left: 10px;
    top: 92px;
    z-index: 1
}

.lodjia-basis .win-cold {
    left: 10px;
    top: 105px;
    z-index: 1
}

.lodjia-basis .gofr {
    top: 476px;
    left: 12px
}

.lodjia-basis .siding {
    top: 456px;
    left: 9px
}

.lodjia-basis .penoblock {
    top: 538px;
    left: 29px
}

.lodjia-basis .pvh1,.lodjia-basis .pvh2,.lodjia-basis .pvh3,.lodjia-basis .pvh4,.lodjia-basis .vag-der,.lodjia-basis .vag1,.lodjia-basis .vag2,.lodjia-basis .vag3,.lodjia-basis .vag4 {
    left: 59px;
    top: 105px
}
h1.page_title {
    font-size: 36px;
    margin-bottom: 25px;
}
.s3.page_pag {
    padding-top: 30px;
}
.lodjia-basis .vag1 {
    left: 57px;
    top: 103px
}

.lodjia-basis .skaf1 {
    top: 219px;
    left: 166px
}

.lodjia-basis .skaf2 {
    top: 230px;
    left: 166px
}

.lodjia-basis .skaf3 {
    top: 388px;
    left: 172px;
    z-index: 1
}

.lodjia-basis .lam1,.lodjia-basis .lam2,.lodjia-basis .lam3,.lodjia-basis .lam4 {
    top: 442px;
    left: 79px;
    z-index: 0
}

.lodjia-basis .lin1,.lodjia-basis .lin2,.lodjia-basis .lin3,.lodjia-basis .lin4 {
    top: 450px;
    left: 79px;
    z-index: 0
}

.lodjia-basis .pol img {
    display: block!important;
    top: 486px;
    left: 77px;
    z-index: -2
}

.kindsWindow>div>div>div:first-child div.imgKind>img {
    width: 270px
}

.kindsWindow>div>div>div:nth-child(3) div.imgKind>img {
    width: 280px
}

@keyframes fade-out {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.work>div:not(:hover)>div.infoWork {
    animation: 1s fade-out
}
.warming h2 {
    color: #000;
    margin-bottom: 30px;
    font-size: 30px;
    text-transform: uppercase;
}
.constructor-ui {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.constructor-ui>.constructor-ui-row {
    width: 100%;
    justify-content: center
}

.constructor-ui .part h4,.constructor-ui-slider .part h4 {
    font-size: 17px;
    text-transform: capitalise;
    background-color: #b8cce0;
    padding: 7px 10px
}

.constructor-ui .part,.constructor-ui-slider .part {
    padding: 10px;
    margin-bottom: 12px;
    margin-right: 12px;
    border: 1px solid #b8cce0
}

.constructor-ui-slider .part {
    margin-left: 12px
}

.constructor-ui .part a,.constructor-ui-slider .part a {
    margin: 0 5px 0 0
}

.constructor-ui .part img,.constructor-ui-slider .part img {
    margin: 0;
    width: 55px;
    height: 55px
}

.constructor-ui .part:nth-child(odd) {
    flex: 1;
    max-width: 260px
}

.constructor-ui .part:nth-child(2n) {
    flex: 1;
    margin-right: 0;
    max-width: 220px
}

.constructor-ui .constructor-ui-row,.constructor-ui-slider .constructor-ui-row,.shop-windows .shop-item-prices,.shop-windows-expand .shop-item-prices {
    display: flex;
    flex-direction: row
}

.constructor-ui .constructor-ui-row a {
    font-size: 13px;
    padding: 0
}

.constructor-ui .constructor-ui-row-nav a,.constructor-ui-slider .constructor-ui-row-nav a {
    flex: 1;
    margin-right: 5px;
    padding: 4px 0;
    font-weight: 400;
    text-decoration: none;
    font-size: 11px
}

.constructor-ui .constructor-ui-row figcaption, .constructor-ui-slider .constructor-ui-row figcaption {
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    background-color: #1689bc;
    color: #fff;
}

.constructor-ui-btn-order button,.constructor-ui-btn-order button:hover {
    background-color: #ff3f3f;
    color: #fff
}

.constructor-ui .part.max-img img {
    height: 67px;
    width: 67px
}

.constructor-ui .part a.active img,.constructor-ui-slider .part a.active img {
    border-color: #b8cce0
}

.constructor-ui-btn-order button {
    display: block;
    font-size: 20px;
    line-height: 24px;
    border: 1px solid #ff3f3f;
    border-radius: 5px;
    padding: 10px 56px;
    margin: 5px 0;
    transition: .6s
}

.constructor-ui-btn-order .price {
    font-size: 25px
}

.constructor-ui-btn-order>div {
    display: inline-block;
    margin: 15px 22px 0 0
}

.warmingCols {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 15px
}

.warming-col-1,.warming-col-2,.warming-col-2-slider {
    padding: 30px 15px;
    width: 50vw;
    max-width: 50%
}

.calc-examples-tabs .nav-tabs .nav-item:hover,.warming-col-1 {
    border: 0
}

.warming-col-2-slider {
    display: none;
}

.constructor-ui-slider {
    overflow: hidden;
}

.constructor-ui-slider .swiper-slide {
    height: auto;
}
.lodjia-basis img.active {
    display: block;
}
.part::after, .tb::after {
    content: '';
    display: block;
    clear: both;
}
.constructor-ui .part h3, .constructor-ui-slider .part h3 {
    font-size: 14px;
    text-transform: capitalise;
    background-color: #4bbcdf;
    padding: 7px 10px;
    text-align: center;
    margin-bottom: 8px;
	color: #fff;
}
.constructor-ui-btn-order.text-right {
    display: flex;
    justify-content: center;
}
.block-price-glazing .text-price-glazing, .constructor-ui .part .constructor-ui-row, .constructor-ui .part.max-img .constructor-ui-row, .constructor-ui-slider .constructor-ui-row, .constructor-ui-slider .tbimg>div, .rem_greeting_third, .repair-info .repair-info-cols>div:last-child, .shop-windows .nav-tabs, .tabs-utepleniya .nav-pills {
    justify-content: center;
}
.constructor-ui .constructor-ui-row, .constructor-ui-slider .constructor-ui-row, .shop-windows .shop-item-prices, .shop-windows-expand .shop-item-prices {
    display: flex;
    flex-direction: row;
}
.constructor-ui .tb, .constructor-ui h4, .constructor-ui-slider .tb, .constructor-ui-slider h4, .window-brands>div>ul>li {
    margin-bottom: 5px;
}
.tb {
    position: relative;
}
.constructor-ui .constructor-ui-row-nav a.active, .constructor-ui-slider .constructor-ui-row-nav a.active {
    background-color: #1689bc;
    color: #fff;
}
.constructor-ui .part a, .constructor-ui-slider .part a {
    margin: 0 5px 0 0;
}
.tb a.active {
    color: #000;
}
.constructor-ui .constructor-ui-row-nav a, .constructor-ui-slider .constructor-ui-row-nav a {
    flex: 1;
    margin-right: 5px;
    padding: 4px 0;
    font-weight: 400;
    text-decoration: none;
    font-size: 12px;
}
.constructor-ui .constructor-ui-row figure, .constructor-ui .constructor-ui-row-nav a:last-child, .constructor-ui .part a:last-child, .constructor-ui-slider .constructor-ui-row figure, .constructor-ui-slider .constructor-ui-row-nav a:last-child, .constructor-ui-slider .part a:last-child {
    margin-right: 0;
}
.tbimg>div {
    display: none;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.tbimg>div.active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.part figure, .part h4, .tb a {
    text-align: center;
}
span.font-bold {
    color: #4bbcdf;
}




@media (max-width: 991px) {
	.warming-col-2-slider {
		display: block;
	}
	.warming-col-2 {
        display: none;
    }
	.warming-col-2-slider, .warming-col-1 {
		width: 100%;
		max-width: 100%;
	}
	.warming-col-1 {
		height: 400px;
	}
	.lodjia-basis {
		transform: scale(0.8, 0.8);
		margin-left: -40px;
	}
	.warming-col-1 .lodjia-basis {
		margin-left: 10%;
	}
	.constructor-ui-slider .part {
		margin-right: 0;
		margin-left: 0;
	}
}
@media (max-width: 770px) {
	.col-12.col-lg-6.col-xl-4.products__cards-block {
		width: 100%;
		max-width: 100%;
	}
	.warming-col-1 .lodjia-basis {
		margin-left: 0;
		transform: scale(0.7, 0.7);
	}
	.warming h2 {
		font-size: 25px;
	}
	section.warming {
		padding-bottom: 105px;
	}
	.tab {
		flex-direction: column;
	}
    .tab button {
        width: 100%;
    }
	.tab button.active {
		background: #f9f5e8;
	}
	.tab_box {
		flex-direction: column;
	}
    .tab_box_img, .tab_box_text {
        width: 100%;
    }    
	.tab_box_img img {
		width: auto;
	}
	.sh-product__title p {
		font-size: 23px;
	}
	.sh-product__checkList-item, .sh-product__counts-item {
		width: 100%;
	}
	.sh-product__left .sh-product__slider-small__item {
		width: 80px;
		height: 60px;
	}
	
}

@media (max-width: 480px) {
	.warming-col-1 .lodjia-basis {
		margin-left: -15%;
		transform: scale(0.55, 0.55);
	}
    section.warming {
        padding-bottom: 20px;
    }
	.sh-product__tabs button {
		width: 100%;
		margin: 5px 0;
	}
}

/* thanks page */
section.s3.page_pag {
	padding-top: 20px !important;
}

.s4.page_pag {
	padding: 40px 0;
}

.page-template-page-thann .s3.page_pag {
	padding: 0 0 40px;
	min-height: calc(100vh - 430px);
}

.page-template-page-thann #breadcrumbs {
	padding: 15px 0;
	font-size: 14px;
	margin-bottom: 30px;
}

.page-template-page-thann #breadcrumbs a {
	color: #12a339;
}

.page-template-page-thann #breadcrumbs a:hover {
	text-decoration: underline;
}

.page-template-page-thann h1.page_title {
	font-size: 36px;
	padding-bottom: 30px;
}

.thanks-text .thanks-text__b {
	font-weight: 700;
	margin: 20px 0 50px;
}

.thanks-text {
	color: #000;
	font-size: 24px;
	display: flex;
	flex-direction: column;
}

.thanks_box {
	display: flex;
}

.spasibo_text, .spasibo_img {
	width: 50%;
}

.spasibo_text {
	padding-right: 40px;
}

.spasibo_img {
	height: 495px;
}

a.vk_link {
	display: block;
	padding: 8px 10px 9px;
	width: 220px;
	box-sizing: border-box;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	font-size: 18px;
	color: #fff;
	cursor: pointer;
	margin-top: 20px;
	margin-left: 20px;
	background: #32c5f3;
	border: none;
	outline: none;
}

a.vk_link:hover {
	color: #fff;
}

p.thanks-button {
	display: flex;
	flex-wrap: wrap;
}

@media (max-width: 991px) {
	p.thanks-button {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	a.vk_link {
		margin-left: 0;
	}

	.spasibo_text, .spasibo_img {
		width: 100%;
	}

	.thanks_box {
		flex-wrap: wrap;
	}

	.spasibo_text {
		padding: 0;
		order: 2;
	}

	.spasibo_img {
		height: 500px;
		order: 1;
	}

	.thanks-text {
		width: 100%;
		font-size: 19px;
	}

	.thanks-text .thanks-text__b {
		font-weight: 700;
		margin: 10px 0 35px;
	}
}

@media (max-width: 560px) {
	.page-template-page-thann h1.page_title {
		font-size: 28px;
		padding-bottom: 20px;
	}

	.spasibo_img {
		height: 280px;
	}
}

/* block 3: products tabs */
.title_bl_2 {
    text-align: center;
    font-weight: 700;
    padding-bottom: 30px;
    color: #161616 !important;
    font-size: 42px;
    line-height: 1.2;
}

.tabs_cap_flex {
	margin: 15px 0 60px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	border-bottom: 1px solid #ddd;
}

.tabs_caption3, .tabs_caption {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
}

ul.tabs_caption li, ul.tabs_caption3 li {
	display: block;
	outline: none;
	color: #0069b4;
	background: #fff;
	margin: 0;
	min-height: 40px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	line-height: 20px;
	cursor: pointer;
	-webkit-transition: all .2s;
	transition: all .2s;
	font-weight: 600;
	font-size: 14px;
	padding: 10px 15px;
	text-decoration: underline;
	border: 1px solid transparent;
}

ul.tabs_caption li, ul.tabs_caption3 li:hover {
	text-decoration: none;
	background: #eee;
}

li.tab_ind.active, li.tab_ind3.active {
	color: #555;
	border: 1px solid #ddd;
	margin-bottom: -1px;
	border-bottom-color: transparent;
}

.tabs_item_box3 {
	display: none;
}

.tabs_item_box3.active {
	display: block !important;
}

.slid {
	display: flex;
	justify-content: space-between;
	align-items: end;
	flex-wrap: wrap;
}

.tabs_item3 {
	display: inline-block;
	max-width: 320px;
	width: 100%;
	min-height: 500px;
	position: relative;
}

.firm_box_item3 {
	margin-bottom: 20px;
	font-weight: 700;
	text-align: center;
}

.img_box_item3 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 170px;
}

.img_box_item3 img {
	display: block;
	height: 100%;
}

.bl_3 {
	padding: 45px 0;
}

.opis_box_item {
	padding-top: 20px;
}

.opis_box_item .ops {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 5px;
	position: relative;
}

.opis_box_item .ops p {
	font-weight: 300;
	color: #818181;
	font-size: 13px;
	background: #fff;
	z-index: 1;
	margin-bottom: 0;
}

.opis_box_item .ops p:first-child {
	padding-right: 5px;
}

.opis_box_item .ops p:last-child {
	padding-left: 5px;
	font-weight: 600;
}

.opis_box_item .ops::before {
	content: '';
	display: block;
	clear: both;
	position: absolute;
	width: 100%;
	bottom: 0;
	border-bottom: 1px dashed #9c9c9c;
	margin: 0 0 10px;
}

.termb {
	background: url(images/term_b.svg);
	display: inline-block;
	width: 15px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.termg {
	background: url(images/term_g.svg);
	display: inline-block;
	width: 15px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.termh {
	background: url(images/term_h.svg);
	display: inline-block;
	width: 15px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.silb {
	background: url(images/sil_b.svg);
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: 85%;
	background-repeat: no-repeat;
	background-position: center;
}

.silh {
	background: url(images/sil_h.svg);
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: 85%;
	background-repeat: no-repeat;
	background-position: center;
}

.silg {
	background: url(images/sil_g.svg);
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: 85%;
	background-repeat: no-repeat;
	background-position: center;
}

.cena_zakaz {
	position: absolute;
	width: 100%;
	bottom: 0;
}

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

.cena_box_item p {
	color: #051014;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 0;
}

.cena_box_item a.name_product {
    display: block;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 600;
    background: #0069b4;
    color: #fff !important;
    border-radius: 5px;
}

.tabs_cap_tit {
	color: #484848;
	font-size: 14px;
	text-transform: uppercase;
	padding: 0 30px 0 5px;
}

@media (max-width: 1450px) {
.hero__bg img:last-child {
    top: 0;
    left: auto;
    object-fit: contain;
    right: -20%;
}
.hero__label {
    right: 1.5vw;
    bottom: 10%;
    z-index: 1;
    width: 165px;
    height: 165px;
}
}

@media (max-width: 770px) {
	.slid {
		justify-content: center;
	}

	.cena_box_item, .tabs_cap_flex {
		display: block;
		text-align: center;
	}

	.cena_zakaz {
		width: auto;
		position: inherit;
	}

	.tabs_item3 {
		padding: 0 20px 30px;
		margin-bottom: 50px;
		border-bottom: 1px solid #eee;
	}

	.tabs_item3:last-child {
		margin-bottom: 0px;
	}

	.cena_box_item p {
		padding-bottom: 20px;
	}

	.cena_box_item a.name_product {
		max-width: 125px;
		margin: 0 auto;
		padding: 6px 20px;
	}

	.tabs_cap_flex {
		border-bottom: none;
	}

	.tabs_cap_tit {
		padding: 0 0 20px;
	}

	li.tab_ind.active, li.tab_ind3.active {
		border: 1px solid #ddd;
		margin-bottom: 0;
	}

	ul.tabs_caption li, ul.tabs_caption3 li {
		width: 100%;
		max-width: 230px;
	}

	ul.tabs_caption li, ul.tabs_caption3 li:hover {
		background: #fff;
	}

	.tabs_caption3, .tabs_caption {
		flex-wrap: wrap;
		justify-content: center;
	}

	.bl_3 {
		padding: 30px 0;
	}

	.title_bl_2 {
		font-size: 28px;
		padding-bottom: 20px;
	}

	.tabs_item3 {
		margin-bottom: 40px;
	}
}




@media (max-width: 550px) {
	.title_bl_2 {
		padding-bottom: 10px;
	}

	.bl_3 {
		padding: 15px 0;
	}
    .hero__advantage {
        font-size: 12px;
        min-width: 220px;
    }
.text1_mob {
    color: #0069b4;
    display: block !important;
    font-weight: 700;
    font-size: 18px;
    text-shadow: 3px 4px 13px #fff;
    margin-top: 20px;
}
.text1_mob b {
    display: block;
    font-size: 30px;
    text-transform: uppercase;
}
.text1_mob span {
    display: block;
    font-size: 14px;
    color: #000000c4;
    text-align: right;
    font-weight: 400;
}
	
	
}





#om-messengers {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9000;
	cursor: pointer;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
#om-messengers__close {
	cursor: pointer;
	color: #fff;
	font-size: 50px;
	position: absolute;
	top: 0;
	right: -35px;
	line-height: 0.5;
}

#om-messengers__holder {
	flex: 0 0 auto;
	background: #FFF;
	border-radius: 16px;
	padding: 30px;
	cursor: default;
	position: relative;
	max-width: 100%;
}

.om-messengers__title {
	line-height: 1;
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	margin-bottom: 45px;
}
.om-messengers__section {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
}
.om-messengers__section>div {
	position: relative;
}
.om-messengers__qr {
	flex: 0 0 auto;
}

.om-messengers__buttons {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 15px;
}
.om-messengers__qr img {
	border: 4px solid #FFF;
	display: block;
	margin: auto;
}
.om-messengers__qr span {
	font-size: 12px;
	line-height: 1;
	text-align: center;
	background: #B6D7FF;
	border-radius: 5px;
	padding: 3px;
	display: block;
	margin-top: -45px;
	margin-bottom: 30px;
}
.om-messengers__block {
	background: #F3F6FA;
	padding: 30px;
	border-radius: 16px;
}
.om-messengers__section.om-messengers__section-call {
	align-items: center;
}
.om-messengers__button {
	background: #000;
	color: #FFF;
	display: block;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	border-radius: 8px;
	text-decoration: none;
	overflow: hidden;
	flex: 0 0 auto;
	width: 100%;
}
.om-messengers__button>.messengers__button__icon {
	flex: 0 0 auto;
}
.om-messengers__button>.messengers__button__icon svg {
	width: 32px;
	height: 32px;
	fill: #FFF;
	display: block;
}
.om-messengers__button>.messengers__button__text {
	flex: 1 1 auto;
	padding: 10px 20px;
}
.messengers__button__icon {
	padding: 10px;
}
.om-messengers__button.om-messengers__telegram {
	background: #2AABEE;
}
.om-messengers__button.om-messengers__telegram>.messengers__button__icon {
	background: #1A9ADA;
}
.om-messengers__button.om-messengers__whatsapp {
	background: #5ED169;
}
.om-messengers__button.om-messengers__whatsapp>.messengers__button__icon {
	background: #37BE4F;
}
.om-messengers__button.om-messengers__vkontakte {
	background: linear-gradient(97deg, #01c5c8 .32%, #046ef4 44.6%, #572dff 62.16%);
}
.om-messengers__button.om-messengers__vkontakte>.messengers__button__icon {
	background: linear-gradient(97deg, #046ef4 0%, #572dff 62.16%);
}
.om-messengers__button:hover {
	opacity: 0.9;
	color: #FFF;
}
.om-messengers__section+.om-messengers__section {
	margin-top: 30px;
}
.om-messengers__phone {
	text-decoration: none;
	color: #04AADE;
	font-size: 24px;
}
.om-messengers__phone:hover {
	opacity: 0.9;
	color: #04AADE;
}

#om-messengers-float {
	position: fixed;
	bottom: 80px;
	right: 19px;
	padding: 15px;
	border-radius: 9999px;
	overflow: hidden;
	background: #000;
	transition: all 0.5s linear;
	z-index: 7999;
	cursor: pointer;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
}
.om-messengers-float-subs {
	position: relative;
	width: 32px;
	height: 32px;
}
.om-messengers-float-sub {
	position: absolute;
	left: 0;
	top: 0;
	width: 32px;
	height: 32px;
	opacity: 0;
	transition: all 0.5s linear;
}
.om-messengers-float-sub svg {
	fill: #FFF;
	width: 32px;
	height: 32px;
}
.om-messengers__block.om-messengers__qr img {
    display: block;
    height: 156px;
    width: 156px;
}
#toTop {
    display: none;
    position: fixed;
    bottom: 17px;
    right: 24px;
    z-index: 99;
    cursor: pointer;
}

@media (max-width: 768px) {
h1.page_title {
    font-size: 30px;
    margin-bottom: 20px;
}
	#om-messengers {
		align-items: flex-end;
	}
	#om-messengers-float {
		padding: 5px;
	    bottom: 65px;
    	right: 9px;
	}
	#om-messengers__holder {
		width: 100%;
		padding: 15px;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	#om-messengers__close,
	.om-messengers__qr {
		display: none;
	}
	.om-messengers__buttons {
		flex-direction: row;
		justify-content: center;
	}
	.om-messengers__button {
		width: auto;
		flex-direction: column;
		background: transparent !important;
		color: #333;
	}
	.messengers__button__icon {
		padding: 15px;
		border-radius: 8px;
	}
	.om-messengers__button>.messengers__button__icon svg {
		width: 48px;
		height: 48px;
	}
	.om-messengers__button>.messengers__button__text {
		color: #333;
		font-weight: 700;
	}
	.om-messengers__section {
		gap: 15px;
	}
	.om-messengers__section+.om-messengers__section {
		margin-top: 15px;
	}
	.om-messengers__section.om-messengers__section-call {
		flex-direction: column;
		text-align: center;
	}
	.om-messengers__title {
		margin-bottom: 15px;
	}
	.om-messengers__block {
		padding: 15px;
	}
	.om-messengers__button>.messengers__button__text {
		padding: 10px 0 0 0;
	}
	.om-messengers-float-sub {
		left: 4px;
		width: 25px;
		height: 25px;
		top: 3px;
	}
	.om-messengers-float-sub svg {
		width: 25px;
		height: 25px;
	}
	
}

