@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap");
:root {
  --main: #f24841;
}
html {
  height: 100%;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
body {
  min-height: 100%;
  min-width: 320px;
  margin: 0;
  font-family: 'Ubuntu', sans-serif;
  color: #1b1b1c;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: min-content 1fr min-content;
}
.scrollOff {
  overflow: hidden;
}
.frontPG {
  background: #f0f0f0;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
button,
input,
textarea {
  font-family: inherit;
}
button {
  cursor: pointer;
}
img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
.sprite {
  display: none;
}
.hidden {
  display: none !important;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: none;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(100%);
}
@media (min-width: 768px) {
  .onlyMobile {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  .onlyDesktop {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .upToDesktop {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .fromMobile {
    display: none !important;
  }
}
.container {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
@media (min-width: 1024px) {
  .container {
    padding: 0 20px;
  }
}
.articleHeading {
  font-size: 34px;
  margin: 0;
}
@media (min-width: 1024px) {
  .articleHeading {
    font-size: 48px;
  }
}
.advantages {
  padding: 50px 0;
  background: #f0f0f0;
}
@media (min-width: 1024px) {
  .advantages {
    padding: 70px 0;
  }
}
.advantages__heading {
  font-size: 34px;
  margin: 0 0 40px;
  text-align: center;
}
@media (min-width: 1024px) {
  .advantages__heading {
    font-size: 48px;
    margin-bottom: 56px;
  }
}
@media (min-width: 1024px) {
  .advantages__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
  }
}
.advantages__item {
  padding: 30px;
  box-shadow: 0px 7px 7px rgba(0,0,0,0.07);
  background: #fff;
  text-align: center;
}
.advantages__item + .advantages__item {
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .advantages__item + .advantages__item {
    margin-top: 0;
  }
}
.advantages__itemIcon {
  display: block;
  margin: 0 auto 20px;
  width: 60px;
}
.advantages__itemHeading {
  margin: 0 0 20px;
  font-size: 22px;
}
.advantages__itemDescription {
  font-size: 16px;
}
.articleHeader {
  background-size: cover;
  background-image: url("../assets/top.jpg");
  background-position: center center;
  position: relative;
  padding: 24px 0;
}
@media (min-width: 1024px) {
  .articleHeader {
    padding: 32px 0;
  }
}
.articleHeader__container {
  position: relative;
  z-index: 1;
}
@media (max-width: 1023px) {
  .articleHeader__container {
    max-width: 390px;
  }
}
.articleHeader__desc {
  font-weight: 700;
  font-size: 22px;
  margin: 10px 0 0;
}
.articlePG {
  padding: 24px 0 56px;
}
@media (min-width: 1024px) {
  .articlePG {
    padding: 40px 0 70px;
  }
}
.articlePG p,
.articlePG li {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
.articlePG p + p,
.articlePG li + li {
  margin-top: 0.5em;
}
.calculatorPG__heading {
  font-weight: 700;
  font-size: 34px;
  line-height: 40px;
  margin: 0 0 5px;
}
@media (min-width: 1024px) {
  .calculatorPG__heading {
    font-size: 48px;
    line-height: 55px;
    margin-bottom: 20px;
  }
}
.calculatorPG__note {
  margin-bottom: 40px;
  color: #777;
  font-size: 16px;
}
.calculatorPG__success {
  display: none;
  text-align: center;
  padding: 10px;
}
.calculatorPG__error {
  color: var(--main);
  text-align: center;
  padding: 10px;
  display: none;
}
.calculatorPG {
  padding: 50px 0;
}
@media (min-width: 1024px) {
  .calculatorPG {
    padding: 70px 0;
  }
}
.calculatorPG--waiting > * {
  pointer-events: none;
}
.calculatorPG--waiting::before {
  content: 'Отправка заявки';
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: rgba(255,255,255,0.75);
  font-size: 20px;
  font-weight: 700;
  animation: loading 2s infinite;
}
.calculatorPG--success > * {
  display: none;
}
.calculatorPG--success .calculatorPG__success {
  display: block;
}
.calculatorPG--error > * {
  display: none;
}
.calculatorPG--error .calculatorPG__error {
  display: block;
}
@media (max-width: 1023px) {
  .calculatorPG__container {
    max-width: 390px;
  }
}
.calculator {
  border: 1px solid #e6e9f1;
}
.calculator__inputs,
.calculator__footer {
  padding: 0 15px;
}
@media (min-width: 1024px) {
  .calculator__inputs,
  .calculator__footer {
    padding: 0 50px;
  }
}
@media (min-width: 1024px) {
  .calculator__inputs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 90px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.calculator__inputBlockWrapper {
  padding-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media (min-width: 1024px) {
  .calculator__inputBlockWrapper {
    padding-top: 0;
  }
}
.calculator__inputBlockWrapper::after {
  content: "₽";
  display: block;
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 25px;
  line-height: 1;
  font-weight: 600;
  color: #000;
}
.calculator__inputBlockWrapper--duration::after {
  content: 'мес';
}
.calculator__inputBlockWrapper--duration .calculator__input {
  padding-right: 60px;
}
.calculator__inputLabel {
  font-size: 16px;
  color: #41414b;
}
.calculator__input {
  height: 45px;
  width: 145px;
  color: #000;
  font-size: 25px;
  font-weight: 600;
  padding: 0 35px 0 10px;
  text-align: right;
  background: rgba(167,167,169,0.1);
  border: 1px solid rgba(167,167,169,0.5);
  -moz-appearance: textfield;
}
.calculator__input::placeholder {
  opacity: 1;
  color: currentColor;
}
.calculator__input::-webkit-outer-spin-button,
.calculator__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.calculator__input--error {
  border-color: #f00;
}
.calculator__slider {
  margin-top: 30px;
}
.calculator__sliderValuesWrapper {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: 20px;
}
.calculator__sliderValue {
  display: flex;
  color: #000;
  font-size: 14px;
}
.calculator__sliderValue::after {
  content: "₽";
}
.calculator__sliderValue--duration::after {
  content: "мес";
}
.calculator__footer {
  padding-top: 20px;
  display: flex;
  align-items: center;
  padding-bottom: 15px;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .calculator__footer {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    align-items: start;
    padding-top: 50px;
    gap: 18px;
  }
}
.calculator__footerBlock {
  text-align: center;
  width: 32%;
}
@media (min-width: 1024px) {
  .calculator__footerBlock {
    text-align: left;
    width: 100%;
  }
}
.calculator__footerBlock--btns,
.calculator__footerBlock--note {
  width: 100%;
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .calculator__footerBlock--btns,
  .calculator__footerBlock--note {
    width: auto;
    margin-top: 0;
  }
}
@media (min-width: 1024px) {
  .calculator__footerBlock--btns {
    grid-column: 1/-1;
    margin-top: 20px;
  }
}
.calculator__footerBlock--note {
  color: var(--main);
  font-size: 12px;
  display: flex;
  align-items: baseline;
  padding: 20px 0;
}
@media (min-width: 1024px) {
  .calculator__footerBlock--note {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}
.calculator__footerBlock--note i {
  font-style: normal;
  margin-right: 10px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 100%;
}
.calculator__footerBlockHeading {
  font-size: 14px;
  color: #41414b;
}
@media (min-width: 1024px) {
  .calculator__footerBlockHeading {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
.calculator__footerBlockValue {
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 1024px) {
  .calculator__footerBlockValue {
    font-size: 30px;
  }
}
.calculator__btn {
  font-weight: 400;
  font-size: 24px;
  display: block;
  width: 100%;
  border: 1px solid var(--main);
  padding: 10px;
  text-align: center;
  color: var(--main);
  background: none;
  text-decoration: none;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .calculator__btn {
    width: 100%;
  }
}
.calculator__btn:hover {
  background: var(--main);
  color: #fff;
}
.calculator__btn + .calculator__btn {
  margin-top: 12px;
}
.calculator__btn--filled {
  background: var(--main);
  border-color: var(--main);
  color: #fff;
}
.calculator__btn--filled:hover {
  background: #fff;
  color: var(--main);
}
.calculator__btn--disabled {
  pointer-events: none;
  opacity: 0.5;
}
.survey--modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  z-index: 100;
  overflow-y: auto;
}
.survey--modal .survey__progressList,
.survey--modal .survey__step {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.survey__close {
  position: absolute;
  right: 20px;
  top: 20px;
  padding: 0;
  border: none;
  background: none;
}
.survey__progressList {
  margin-top: 50px;
  border: 1px solid #e6e9f1;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  counter-reset: progress;
  background: #fff;
}
@media (min-width: 1024px) {
  .survey__progressList {
    justify-content: space-evenly;
    padding: 30px;
  }
}
.survey__progressItem {
  color: #3e558b;
  font-size: 12px;
  counter-increment: progress;
  text-align: center;
}
@media (min-width: 1024px) {
  .survey__progressItem {
    font-size: 14px;
  }
}
.survey__progressItem::before {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  content: counter(progress);
  width: 30px;
  height: 30px;
  font-size: 16px;
  font-weight: 600;
  border: 2px solid var(--main);
  background: #fff;
  color: var(--main);
  margin-bottom: 10px;
  text-align: center;
  border-radius: 100%;
}
@media (min-width: 1024px) {
  .survey__progressItem::before {
    font-weight: 700;
    width: 45px;
    height: 45px;
  }
}
.survey__progressItem--active::before {
  background: var(--main);
  color: #fff;
}
.survey__step {
  margin-top: 50px;
  border: 1px solid #e6e9f1;
  padding: 15px;
  display: none;
  background: #fff;
}
@media (min-width: 1024px) {
  .survey__step {
    padding: 30px;
  }
}
.survey__step--active {
  display: block;
}
.survey__heading {
  font-size: 20px;
  margin: 0 0 30px;
  color: #babdc4;
  text-align: center;
}
@media (min-width: 1024px) {
  .survey__heading {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .survey__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 30px;
  }
  .survey__list--oneItem {
    grid-template-columns: 1fr 2fr 1fr;
  }
  .survey__list--oneItem .survey__block {
    grid-column: 2/3;
  }
}
.survey__block {
  position: relative;
}
@media (max-width: 1023px) {
  .survey__block {
    margin-top: 12px;
  }
}
.survey__block--checkbox {
  display: flex;
  align-items: center;
}
.survey__block--hidden {
  display: none;
}
.survey__input {
  width: 100%;
  height: 65px;
  background: rgba(167,167,169,0.1);
  border: 1px solid rgba(167,167,169,0.5);
  font-size: 16px;
  padding: 0 25px 0;
  padding-top: 20px;
  outline: none;
  transition: 0.6s;
}
.survey__input--error {
  border-color: #f00;
}
.survey__input::placeholder {
  opacity: 0;
  transition: 0.6s;
}
.survey__input:focus::placeholder {
  opacity: 1;
}
.survey__input:focus,
.survey__input--file:focus + .survey__label {
  box-shadow: 0 0 0 2px #000;
}
.survey__input--select:not(:valid) {
  padding-top: 0;
}
.survey__label {
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  top: 0;
  left: 25px;
  transition: all 0.3s;
}
.survey__label a {
  color: #000;
}
.survey__label a:hover {
  text-decoration: none;
}
.survey__input--select {
  appearance: none;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAALCAYAAAByF90EAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC9SURBVHgBnc8xDoIwFAbg/7UHYdY4eAEbBhMdTQRXuYQzuILGI+jm4m7Cpjdw0VUu0kqbMBAoUP/pveb1y3tAGT88TfFn/DA1f7nYZImCvHqjxbf45C8XZBamEUB3bzInBsmUeWXqItaHrQtCoLNpSoMX7/zhjZclrHwQVkM2qyEKyfO223Ndu2BtiC55NTAEsyE1qA/rQnQILRHBMQbJxDSSIsUkdSFWqIFVsSCN02A7swcZFL2ZCLK4b+4HRfN14xEgmXMAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 12px;
}
.survey__label,
.survey__input--select:not(:valid) {
  font-size: 16px;
  font-weight: 600;
  color: #8d94a6;
}
.survey__input[required]:not(.survey__input--file):not(.survey__input--checkbox):focus + .survey__label,
.survey__input[required]:not(.survey__input--file):not(.survey__input--checkbox):valid + .survey__label,
.survey__input--date + .survey__label,
.survey__input:not([required]):focus + .survey__label,
.survey__input:not([required]):not(:placeholder-shown) + .survey__label {
  font-size: 12px;
  height: 15px;
  top: 8px;
}
.survey__input[type="number"] {
  -moz-appearance: textfield;
}
.survey__input[type="number"]::-webkit-outer-spin-button,
.survey__input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.survey__input--select:not(:valid) + .survey__label {
  visibility: hidden;
  opacity: 0;
}
.survey__input[type="file"] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
}
.survey__input[type="file"] + .survey__label {
  position: static;
  width: 100%;
  height: 65px;
  background: rgba(167,167,169,0.1);
  border: 1px solid rgba(167,167,169,0.5);
  font-size: 16px;
  padding: 0 25px 0;
  outline: none;
  pointer-events: none;
}
.survey__input[type="file"]:valid + .survey__label {
  display: flex;
  align-items: center;
  color: #008000;
}
.survey__input[type="file"]:valid + .survey__label::after {
  content: '✓';
  margin-left: 4px;
}
.survey__input--checkbox {
  width: 20px;
  height: 20px;
  padding: 0;
  flex-shrink: 0;
  appearance: none;
  background: none;
  border: 1px solid var(--main);
  margin-right: 10px;
}
.survey__input--checkbox:checked {
  background: var(--main);
}
.survey__input--checkbox:checked + label {
  color: #000;
}
.survey__input--checkbox + .survey__label {
  position: static;
}
@media (min-width: 1024px) {
  .survey__btns {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
  }
}
.survey__btn {
  display: table;
  margin: 40px auto 0;
  padding: 20px;
  width: 460px;
  max-width: 100%;
  background: var(--main);
  border: 1px solid var(--main);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .survey__btn {
    margin-top: 0;
  }
}
.survey__btn:hover {
  background: #fff;
  color: var(--main);
}
.survey__btn--ghost {
  background: #fff;
  border-color: rgba(167,167,169,0.5);
  color: #a7a7a9;
}
.survey__btn--ghost:hover {
  border-color: var(--main);
  color: var(--main);
}
.survey__btn + .survey__btn {
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .survey__btn + .survey__btn {
    margin-top: 0;
  }
}
.survey__block--checkbox label {
  height: auto;
}
@media (max-width: 1023px) {
  .coupon {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
  }
}
.coupon--activated {
  pointer-events: none;
}
.coupon--activated .coupon__input {
  background: #008000;
  color: #fff;
}
.coupon__input {
  height: 45px;
  width: 100%;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  padding: 0 35px 0 10px;
  text-align: left;
  background: rgba(167,167,169,0.1);
  border: 1px solid rgba(167,167,169,0.5);
  -moz-appearance: textfield;
}
.coupon__input::placeholder {
  opacity: 1;
  color: currentColor;
}
.coupon__input::-webkit-outer-spin-button,
.coupon__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.coupon__input--success {
  border-color: #008000;
}
.coupon__input--error {
  border-color: #f00;
}
.coupon__label {
  font-size: 14px;
  color: #41414b;
  margin-bottom: 10px;
  display: block;
  text-align: left;
}
@media (min-width: 1024px) {
  .coupon__label {
    font-size: 18px;
  }
}
.coupon__block {
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 1024px) {
  .coupon__block {
    font-size: 30px;
  }
}
.coupon__btn {
  font-weight: 400;
  font-size: 14px;
  display: block;
  width: 100%;
  margin-top: 10px;
  border: 1px solid var(--main);
  padding: 10px;
  text-align: center;
  color: var(--main);
  background: none;
  text-decoration: none;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .coupon__btn {
    width: 100%;
  }
}
.coupon__note {
  font-size: 14px;
  display: block;
  margin-top: 8px;
  color: #008000;
}
@-moz-keyframes loading {
  0%, 100% {
    background: rgba(255,255,255,0.75);
  }
  50% {
    background: #fff;
  }
}
@-webkit-keyframes loading {
  0%, 100% {
    background: rgba(255,255,255,0.75);
  }
  50% {
    background: #fff;
  }
}
@-o-keyframes loading {
  0%, 100% {
    background: rgba(255,255,255,0.75);
  }
  50% {
    background: #fff;
  }
}
@keyframes loading {
  0%, 100% {
    background: rgba(255,255,255,0.75);
  }
  50% {
    background: #fff;
  }
}
.catalogPG {
  position: relative;
  padding: 46px 0;
  background: #f0f0f0;
  min-height: 100%;
}
@media (min-width: 1024px) {
  .catalogPG {
    padding: 72px 0;
  }
}
.catalogPG__container {
  position: relative;
}
.catalogPG__heading {
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  .catalogPG__heading {
    margin: 0 0 35px;
  }
}
@media (min-width: 1024px) {
  .catalogPG__body {
    display: grid;
    grid-template-columns: 285px 1fr;
    gap: 20px;
  }
}
.catalogPG__filter {
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  .catalogPG__filter {
    grid-row: 1/3;
  }
}
@media (min-width: 640px) {
  .catalogPG__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px 10px;
  }
}
@media (min-width: 1024px) {
  .catalogPG__list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px 20px;
    align-items: start;
  }
}
.catalogPG__pagination {
  margin: 60px auto 0;
}
@media (min-width: 1024px) {
  .catalogPG__pagination {
    margin: 40px auto 0;
    grid-column: 2/3;
  }
}
@media (max-width: 639px) {
  .catalogPG__product {
    margin-left: -15px;
    margin-right: -15px;
  }
  .catalogPG__product + .catalogPG__product {
    margin-top: 40px;
  }
}
.contactsPG {
  padding: 24px 0 56px;
}
@media (min-width: 1024px) {
  .contactsPG {
    padding: 40px 0 70px;
  }
}
@media (max-width: 1023px) {
  .contactsPG__container {
    max-width: 390px;
  }
}
@media (min-width: 1024px) {
  .contactsPG__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 50px;
  }
}
.contactsPG__heading {
  font-size: 32px;
  margin: 0 0 16px;
}
@media (min-width: 1024px) {
  .contactsPG__heading {
    font-size: 40px;
  }
}
.contactsPG__desc {
  margin-top: 20px;
}
.contactsPG__desc p {
  font-size: 22px;
  margin: 0;
}
.contactsPG__desc p + p {
  margin-top: 0.5em;
}
.contactsPG__contacts {
  margin-top: 40px;
}
.contactsPG__contact {
  padding: 20px 0;
  font-size: 16px;
}
.contactsPG__contact:not(.contactsPG__contact--withoutBorder) {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.contactsPG__whatsapp {
  display: flex;
  align-items: center;
  color: #000;
  text-decoration: none;
  margin: 10px 0;
}
@media (min-width: 1024px) {
  .contactsPG__whatsapp {
    font-size: 16px;
  }
}
.contactsPG__whatsapp svg {
  margin-right: 8px;
}
.contactsPG__whatsapp:hover span {
  text-decoration: underline;
}
.contactsPG__btn {
  color: #fff;
  text-decoration: none;
  background: var(--main);
  border: 1px solid var(--main);
  transition: 0.6s;
  padding: 12px 22px;
}
.contactsPG__btn:hover {
  background: #fff;
  color: var(--main);
}
.contactsPG__requisites {
  padding: 20px 0;
}
@media (min-width: 1024px) {
  .contactsPG__requisites {
    padding-top: 0;
  }
}
.contactsPG__requisites b {
  padding-right: 4px;
}
.contactsPG__requisites p {
  margin: 0;
}
.contactsPG__requisites p + p {
  margin-top: 0.5em;
}
.contactsPG__requisitesHeading {
  font-size: 32px;
  margin: 0 0 16px;
}
@media (min-width: 1024px) {
  .contactsPG__requisitesHeading {
    font-size: 40px;
  }
}
.contactsPG__map {
  margin-top: 40px;
}
@media (min-width: 1024px) {
  .contactsPG__map {
    grid-column: 2/3;
    grid-row: 1/3;
    position: sticky;
    top: 10px;
    margin-top: 0;
    align-self: start;
  }
}
.contactsPG__map iframe {
  border: none;
  display: block;
  margin: 0;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .contactsPG__map iframe {
    height: auto;
    aspect-ratio: 1/1;
  }
}
.filter {
  display: flex;
  gap: 20px;
}
@media (max-width: 1023px) {
  .filter__body {
    position: absolute;
    left: 0;
    top: -46px;
    width: 100vw;
    height: calc(100vh - 60px);
    overflow-y: auto;
    background: #f0f0f0;
    z-index: 1;
    padding: 20px 15px 0;
    display: flex;
    flex-direction: column;
    display: none;
  }
  .filter__body--active {
    display: block;
  }
}
.filter__checker {
  padding: 0;
  border: none;
  background: none;
  display: flex;
  align-items: center;
}
.filter__checker--open {
  padding: 12px 20px;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  text-align: center;
  color: #000;
  border: 1px solid #ccc;
}
.filter__checker--close {
  font-weight: 700;
  font-size: 16px;
  line-height: 22px;
  color: #000;
  margin-bottom: 40px;
}
.filter__checker svg {
  margin-right: 5px;
}
.filter__block:nth-last-child(2) {
  margin-bottom: 40px;
}
.filter__block + .filter__block:not(.filter__block--btns) {
  margin-top: 40px;
  border-top: 1px solid #ccc;
  padding-top: 40px;
}
.filter__blockHeading {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  display: block;
  margin: 0 0 15px;
}
.filter__blockItem {
  display: flex;
  align-items: center;
}
.filter__blockItem + .filter__blockItem {
  margin-top: 15px;
}
.filter__blockLabel {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  display: flex;
  align-items: center;
}
.filter__blockLabel::before {
  content: '';
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  margin-right: 10px;
  flex-shrink: 0;
}
.filter__blockCheckbox:focus + .filter__blockLabel::before {
  border-color: var(--main);
}
.filter__blockCheckbox:checked + .filter__blockLabel::before {
  background: var(--main);
  border-color: var(--main);
}
.filter__block--btns {
  display: flex;
  align-items: center;
  gap: 20px;
  border-top: 1px solid #ccc;
  padding-top: 40px;
}
@media (max-width: 1023px) {
  .filter__block--btns {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    left: 0;
    background: #f0f0f0;
    padding: 15px 0;
  }
}
.filter__btn {
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.6s;
  border: 1px solid;
}
.filter__btn--submit {
  background: var(--main);
  border-color: var(--main);
  color: #fff;
}
.filter__btn--submit:hover,
.filter__btn--submit:focus {
  background: #fff;
  color: var(--main);
}
.filter__btn--reset {
  border-color: transparent;
  color: #000;
}
.filter__btn--reset:hover,
.filter__btn--reset:focus {
  color: var(--main);
}
.filter__slider {
  padding: 0 20px;
}
.filter__slider .noUi-connect,
.filter__slider .noUi-handle {
  background: var(--main);
}
.filter__sliderValuesWrapper {
  border: 1px solid #ccc;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.filter__sliderValue {
  background: none;
  padding: 0;
  border: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #000;
  outline: none;
  width: 100px;
}
.filter__sliderValue--max {
  text-align: right;
}
.filter__sorting {
  width: 207px;
  padding: 12px 20px;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  text-align: left;
  color: #000;
  border: 1px solid #ccc;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='7' viewBox='0 0 8 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.86603 6.5C4.48113 7.16667 3.51887 7.16667 3.13397 6.5L0.535899 2C0.150999 1.33333 0.632124 0.499999 1.40192 0.499999L6.59808 0.5C7.36788 0.5 7.849 1.33333 7.4641 2L4.86603 6.5Z' fill='%23CCCCCC'/%3E%3C/svg%3E%0A");
  background-position: right 16px center;
  background-repeat: no-repeat;
  appearance: none;
}
@media (min-width: 1024px) {
  .filter__sorting {
    position: absolute;
    right: 20px;
    top: 10px;
  }
}
.footer {
  padding: 60px 0 20px;
  background: var(--main);
  color: #fff;
}
@media (min-width: 1024px) {
  .footer {
    padding: 60px 0;
  }
}
.footer a {
  color: #fff;
}
.footer__container {
  text-align: center;
}
@media (max-width: 1023px) {
  .footer__container {
    max-width: 390px;
  }
}
@media (min-width: 1024px) {
  .footer__container {
    display: grid;
    grid-template-columns: 1fr 550px 1fr;
    text-align: left;
    gap: 0 70px;
  }
}
.footer__logo {
  display: table;
  margin: 0 auto 25px;
  text-decoration: none;
}
@media (min-width: 1024px) {
  .footer__logo {
    margin: 0 0 25px;
  }
}
.footer__logo img {
  display: block;
}
.footer__contact {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 14px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .footer__contact {
    justify-content: flex-start;
  }
}
.footer__contact span {
  margin-right: 3px;
}
.footer__contact a {
  transition: 0.6s;
}
.footer__contact a:hover {
  text-decoration: none;
  opacity: 0.75;
}
.footer__contact + .footer__contact {
  margin-top: 10px;
}
.footer__siteName {
  margin-top: 60px;
  font-size: 14px;
  line-height: 1.5;
}
.footer__about {
  margin-top: 30px;
  font-size: 14px;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .footer__about {
    text-align: center;
    margin: 0;
  }
}
.footer__copyright,
.footer__menu {
  display: table;
  margin: 30px auto 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
  justify-self: start;
  list-style: none;
}
@media (min-width: 1024px) {
  .footer__copyright,
  .footer__menu {
    margin: 0;
    justify-self: flex-end;
  }
}
.footer__copyright {
  grid-column: 3/4;
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .footer__copyright {
    margin-top: 60px;
  }
}
.footer__menuItem + .footer__menuItem {
  margin-top: 10px;
}
.footer__copyright a:hover,
.footer__menuLink:hover {
  text-decoration: none;
}
.form {
  margin-top: 40px;
}
@media (min-width: 1024px) {
  .form {
    margin-top: 100px;
  }
}
.form__heading {
  font-weight: 700;
  font-size: 22px;
  line-height: 30px;
  color: #000;
  margin: 0 0 40px;
}
@media (min-width: 1024px) {
  .form__heading {
    font-size: 36px;
    line-height: 49px;
    margin: 0 0 60px;
  }
}
.form__success,
.form__error {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #000;
  display: none;
}
@media (min-width: 1024px) {
  .form__success,
  .form__error {
    font-size: 16px;
    line-height: 1.5;
  }
}
.form {
  position: relative;
}
.form--waiting > * {
  pointer-events: none;
}
.form--waiting::before {
  content: 'Отправка заявки';
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: rgba(255,255,255,0.75);
  font-size: 20px;
  font-weight: 700;
  animation: loading 2s infinite;
}
.form--success .form__list {
  display: none;
}
.form--success .form__success {
  display: block;
}
.form--error .form__list {
  display: none;
}
.form--error .form__error {
  display: block;
}
.form__part + .form__part {
  margin-top: 40px;
}
@media (min-width: 1024px) {
  .form__part + .form__part {
    margin-top: 60px;
  }
}
@media (min-width: 1024px) {
  .form__part {
    display: grid;
    grid-template-columns: 285px 1fr;
    gap: 0 20px;
  }
}
.form__partName {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #000;
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  .form__partName {
    margin-bottom: 0;
  }
}
.form__block + .form__block {
  margin-top: 20px;
}
.form__block--spaceBetween {
  display: flex;
  gap: 10px;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .form__block--spaceBetween {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }
}
.form__note {
  color: #a7a7a9;
}
.form__block {
  position: relative;
}
@media (max-width: 1023px) {
  .form__block {
    margin-top: 12px;
  }
}
.form__block--checkbox {
  display: flex;
  align-items: center;
}
.form__block--hidden {
  display: none;
}
.form__input {
  width: 100%;
  height: 65px;
  background: rgba(167,167,169,0.1);
  border: 1px solid rgba(167,167,169,0.5);
  font-size: 16px;
  padding: 0 25px 0;
  padding-top: 20px;
  outline: none;
  transition: 0.6s;
}
.form__input--error {
  border-color: #f00;
}
.form__input::placeholder {
  opacity: 0;
  transition: 0.6s;
}
.form__input:focus::placeholder {
  opacity: 1;
}
.form__input:focus,
.form__input--file:focus + .form__label {
  box-shadow: 0 0 0 2px #000;
}
.form__input--select:not(:valid) {
  padding-top: 0;
}
.form__label {
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  top: 0;
  left: 25px;
  transition: all 0.3s;
  pointer-events: none;
}
.form__label a {
  color: #000;
}
.form__label a:hover {
  text-decoration: none;
}
.form__input--select {
  appearance: none;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAALCAYAAAByF90EAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC9SURBVHgBnc8xDoIwFAbg/7UHYdY4eAEbBhMdTQRXuYQzuILGI+jm4m7Cpjdw0VUu0kqbMBAoUP/pveb1y3tAGT88TfFn/DA1f7nYZImCvHqjxbf45C8XZBamEUB3bzInBsmUeWXqItaHrQtCoLNpSoMX7/zhjZclrHwQVkM2qyEKyfO223Ndu2BtiC55NTAEsyE1qA/rQnQILRHBMQbJxDSSIsUkdSFWqIFVsSCN02A7swcZFL2ZCLK4b+4HRfN14xEgmXMAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 12px;
}
.form__label,
.form__input--select:not(:valid) {
  font-size: 16px;
  font-weight: 600;
  color: #8d94a6;
}
.form__input[required]:not(.form__input--file):not(.form__input--checkbox):focus + .form__label,
.form__input[required]:not(.form__input--file):not(.form__input--checkbox):valid + .form__label,
.form__input--date + .form__label,
.form__input:not([required]):focus + .form__label,
.form__input:not([required]):not(:placeholder-shown) + .form__label {
  font-size: 12px;
  height: 15px;
  top: 8px;
}
.form__input[type="number"] {
  -moz-appearance: textfield;
}
.form__input[type="number"]::-webkit-outer-spin-button,
.form__input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form__input--select:not(:valid) + .form__label {
  visibility: hidden;
  opacity: 0;
}
.form__input[type="file"] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
}
.form__input[type="file"] + .form__label {
  position: static;
  width: 100%;
  height: 65px;
  background: #f5f6fa;
  border: 1px solid #f5f6fa;
  font-size: 16px;
  padding: 0 25px 0;
  outline: none;
}
.form__input[type="file"]:valid + .form__label {
  display: flex;
  align-items: center;
  color: #008000;
}
.form__input[type="file"]:valid + .form__label::after {
  content: '✓';
  margin-left: 4px;
}
.form__input--checkbox {
  width: 20px;
  height: 20px;
  background: none;
  padding: 0;
  flex-shrink: 0;
  appearance: none;
  border: 1px solid var(--main);
  margin-right: 10px;
}
.form__input--checkbox + label {
  pointer-events: initial;
}
.form__input--checkbox:checked {
  background: var(--main);
}
.form__input--checkbox:checked + label {
  color: #000;
}
.form__input--checkbox + .form__label {
  position: static;
  height: auto !important;
}
@media (min-width: 1024px) {
  .form__btns {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
  }
}
.form__submit {
  display: table;
  margin: 0;
  padding: 20px;
  width: 100%;
  max-width: 100%;
  background: var(--main);
  border: 1px solid var(--main);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .form__submit {
    margin-top: 0;
    width: 260px;
  }
}
.form__submit:hover {
  background: #fff;
  color: var(--main);
}
.form__submit + .form__submit {
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .form__submit + .form__submit {
    margin-top: 0;
  }
}
.form__block--checkbox label {
  height: auto;
}
.h1 {
  font-weight: 700;
  font-size: 34px;
  line-height: 46px;
}
@media (min-width: 1024px) {
  .h1 {
    font-size: 48px;
    line-height: 65px;
  }
}
.header {
  height: 60px;
  position: relative;
  display: flex;
  background: var(--main);
}
@media (min-width: 1024px) {
  .header {
    height: auto;
    padding: 25px 0 28px;
  }
}
.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 1024px) {
  .header__container {
    position: relative;
    justify-content: flex-start;
    gap: 40px;
  }
}
.header__logo {
  text-decoration: none;
  max-height: 80%;
  display: flex;
}
.header__logo img {
  display: block;
  object-fit: contain;
  object-position: left center;
}
@media (min-width: 1024px) {
  .header__logo img {
    width: 190px;
    height: 40px;
  }
}
.header__menuChecker {
  padding: 0;
  display: flex;
  align-items: center;
  width: 30px;
  height: 40px;
  background: none;
  border: none;
  color: #fff;
}
@media (min-width: 1024px) {
  .header__menuChecker {
    display: none;
  }
}
.header__menuChecker span {
  display: block;
  width: 30px;
  height: 2px;
  background: currentColor;
  position: relative;
  transition: 0.6s;
}
.header__menuChecker span::before,
.header__menuChecker span::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transition: 0.6s;
}
.header__menuChecker span::before {
  top: -8px;
}
.header__menuChecker span::after {
  bottom: -8px;
}
.header__menuChecker--active span {
  background: none;
}
.header__menuChecker--active span::before {
  transform: rotate(45deg);
  top: 0;
}
.header__menuChecker--active span::after {
  transform: rotate(-45deg);
  bottom: 0;
}
@media (max-width: 1023px) {
  .header__wrapper {
    background: var(--main);
    position: fixed;
    height: calc(100vh - 60px);
    width: 100vw;
    left: 0;
    top: 60px;
    padding: 20px;
    flex-direction: column;
    justify-content: space-between;
    display: none;
    z-index: 10;
  }
  .header__wrapper--open {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .header__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
  }
}
.header__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1024px) {
  .header__menu {
    display: flex;
    align-items: center;
  }
}
.header__menuItem + .header__menuItem {
  margin-top: 24px;
}
@media (min-width: 1024px) {
  .header__menuItem + .header__menuItem {
    margin-top: 0;
    margin-left: 20px;
  }
}
.header__menuLink {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.header__menuLink:not(.header__menuLink--catalog):hover {
  text-decoration: underline;
}
@media (min-width: 1024px) {
  .header__menuLink--catalog {
    padding: 7px 8px;
    border: 1px solid #fff;
  }
  .header__menuLink--catalog:hover {
    background: #fff;
    color: var(--main);
  }
}
.header__menuLinkMobileIcon {
  margin-left: auto;
}
.header__menuLinkDesktopIcon {
  margin-right: 8px;
}
.header__phone {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  transition: 0.6s;
}
.header__phone svg {
  width: 26px;
  height: 26px;
  margin-right: 4px;
  fill: currentColor;
}
.header__phone:hover {
  opacity: 0.75;
}
.header__phone:hover span {
  text-decoration: underline;
}
.header__menuSublist {
  display: none;
  margin: 0;
  padding: 20px 15px;
  list-style: none;
  background: #f0f0f0;
  position: absolute;
  left: 0;
  z-index: 10;
  width: 100%;
}
@media (max-width: 1023px) {
  .header__menuSublist {
    height: 100%;
    top: 0;
  }
}
@media (min-width: 1024px) {
  .header__menuSublist {
    top: calc(100% + 28px);
    padding: 40px 20px;
    background: #fff;
  }
}
.header__menuSublist--active {
  display: block;
}
.header__menuItemSublistItem + .header__menuItemSublistItem {
  margin-top: 20px;
}
.header__menuItemSublistItemLink {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #000;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.header__menuItemSublistItemLink--back {
  font-weight: 700;
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 20px;
}
.header__menuItemSublistItemGoBackIcon {
  margin-right: 5px;
}
@media (min-width: 1024px) {
  .header__menuItemSublistItem--back + .header__menuItemSublistItem {
    margin-top: 0;
  }
  .header__menuSublist--root {
    height: 411px;
  }
  .header__menuSublist--root > .header__menuItemSublistItem {
    width: 33.33%;
  }
  .header__menuSublist--active:not(.header__menuSublist--root) {
    position: absolute;
    left: calc((100% + 40px) / 3);
    top: 0;
    padding: 40px 40px;
    width: calc((100% - 40px) / 3);
    flex-direction: column;
    display: flex;
    gap: 20px;
  }
  .header__menuSublist--active:not(.header__menuSublist--root) .header__menuItemSublistItem {
    margin-top: 0;
  }
  .header__menuSublist--active:not(.header__menuSublist--root) .header__menuSublist--active {
    left: 100%;
    width: 100%;
    max-height: 100%;
    overflow-y: auto;
  }
  .header__menuSublist--root {
    border: 1px solid #ccc;
    border-top: none;
  }
  .header__menuSublist--root::before {
    content: '';
    position: absolute;
    width: 1px;
    height: calc(100% - 80px);
    top: 40px;
    left: calc((100% + 80px) / 3);
    background: #ccc;
    z-index: 20;
  }
}
@media (min-width: 1024px) {
  .header__menuSublist--root {
    height: var(--menu-height, 500px);
    min-height: 411px;
  }
  .header__menuSublist--root.header__menuSublist--active::after {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    left: calc((100vw - 100%) / -2);
    top: 0;
    background: linear-gradient(90deg, #000 0%, #000 calc((100vw - 1240px) / 2), transparent calc((100vw - 1240px) / 2), transparent calc(100vw - (100vw - 1240px) / 2), #000 calc(100vw - (100vw - 1240px) / 2), #000 100%);
    opacity: 0.2;
    z-index: -1;
    pointer-events: none;
  }
}
@media (min-width: 1024px) {
  .newsList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
}
.newsList__item {
  box-shadow: 0px 7px 7px rgba(0,0,0,0.07);
  background: #fff;
  text-align: center;
  overflow: hidden;
  padding-bottom: 40px;
}
.newsList__item + .newsList__item {
  margin-top: 24px;
}
@media (min-width: 1024px) {
  .newsList__item + .newsList__item {
    margin-top: 0;
  }
}
.newsList__img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.newsList__name {
  margin: 20px 0 0;
  padding: 0 30px;
  font-size: 20px;
}
.newsList__desc {
  font-size: 14px;
  margin-top: 20px;
  padding: 0 30px;
}
.newsList__btn {
  margin: 20px auto 0;
  background: var(--main);
  border: 1px solid var(--main);
  font-size: 14px;
  color: #fff;
  padding: 12px 22px;
  transition: 0.6s;
  text-align: center;
  display: table;
  text-decoration: none;
}
.newsList__btn:hover {
  background: #fff;
  color: var(--main);
}
.newsPG {
  background: #e0e0e0;
  padding: 50px 0;
}
@media (min-width: 1024px) {
  .newsPG {
    padding: 70px 0;
  }
}
@media (max-width: 1023px) {
  .newsPG__container {
    max-width: 390px;
  }
}
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  list-style: none;
}
.pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #000;
  border: 1px solid #ccc;
  transition: 0.6s;
  text-decoration: none;
}
.pagination__link--active {
  color: var(--main);
  border-color: var(--main);
}
.pagination__link:hover {
  background: var(--main);
  border-color: var(--main);
  color: #fff;
}
.partners {
  margin-top: 60px;
  margin-bottom: 200px;
}
@media (min-width: 1024px) {
  .partners {
    margin-top: 100px;
    margin-bottom: 300px;
  }
}
.partners__heading {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 34px;
  line-height: 46px;
  text-align: center;
}
@media (min-width: 1024px) {
  .partners__heading {
    margin-bottom: 40px;
    font-size: 48px;
    line-height: 65px;
  }
}
.partners__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (min-width: 1024px) {
  .partners__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.partners__item {
  width: 100%;
  background: #fff;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
@media (min-width: 1024px) {
  .partners__item {
    padding: 20px;
  }
}
.partners__link {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 100%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  max-height: 100%;
}
.partners__img {
  display: block;
  width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.productCalc {
  width: 285px;
}
.productCalc__heading {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  text-align: center;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #999;
  margin: 0 0 20px;
}
@media (min-width: 1024px) {
  .productCalc__heading {
    text-align: left;
    margin-bottom: 30px;
  }
}
.productCalc__inputs {
  background: rgba(0,0,0,0.8);
  padding: 0 20px 20px;
}
.productCalc__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.productCalc__info--totalSumm {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 20px;
}
.productCalc__inputBlock--duration {
  margin-top: 20px;
}
.productCalc__infoName,
.productCalc__infoValue {
  font-size: 14px;
  line-height: 19px;
  color: #999;
}
.productCalc__infoName {
  padding-right: 10px;
}
.productCalc__inputLabel {
  display: block;
  font-size: 14px;
  line-height: 19px;
  color: #fff;
  margin-bottom: 12px;
}
.productCalc__payment {
  margin-top: 30px;
  font-weight: 700;
  font-size: 34px;
  line-height: 49px;
  text-align: center;
  color: #fff;
}
.productCalc__inputFooter {
  margin-top: 20px;
  position: relative;
}
.productCalc__inputFooter .productCalc__inputBlock + .productCalc__inputBlock {
  margin-top: 10px;
}
.productCalc__input {
  display: block;
  width: 100%;
  background: #000;
  font-size: 16px;
  line-height: 22px;
  color: #fff;
  padding: 8px 8px 12px;
  border: none;
  text-align: center;
}
.productCalc__footer {
  margin-top: 10px;
  background: rgba(0,0,0,0.8);
  padding: 20px 20px 40px;
  margin-bottom: 23px;
  position: relative;
}
.productCalc__footerBlock + .productCalc__footerBlock {
  margin-top: 20px;
}
.productCalc__footerBlockHeading {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #999;
  display: block;
  margin-bottom: 4px;
}
.productCalc__footerBlockValue {
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #fff;
  background: transparent;
  border: none;
  padding: 0;
  display: block;
  width: 100%;
}
.productCalc__footerCta {
  position: absolute;
  left: 50%;
  bottom: -23px;
  transform: translateX(-50%);
  background: var(--main);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  border: none;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.6s;
  color: #fff;
  width: 192px;
}
.productCalc__footerCta:hover,
.productCalc__footerCta:focus {
  background: #fff;
  color: var(--main);
}
.productCalc--withoutInfo .productCalc__inputFooter {
  padding-bottom: 40px;
}
.productCalc--withoutInfo .productCalc__footerCta {
  bottom: -43px;
}
.productMD {
  display: block;
  background: linear-gradient(180deg, #fff 40%, #a7a7a9 80%, #000 100%);
  border-radius: 6px;
  padding: 20px 15px 53px;
  margin: 60px -15px;
  max-width: 400px;
}
@media (min-width: 400px) {
  .productMD {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1024px) {
  .productMD {
    margin: 100px 0;
    padding: 40px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: start;
    gap: 20px;
    background: linear-gradient(90deg, #000 0%, #a7a7a9 40%, #fff 60%);
  }
  .productMD:nth-of-type(even) {
    flex-direction: row;
    background: linear-gradient(90deg, #fff 40%, #a7a7a9 60%, #000 100%);
  }
  .productMD:nth-of-type(even) .productMD__price {
    left: initial;
    right: -110px;
  }
}
.productMD__imgWrapper {
  padding-left: 45px;
  position: relative;
  width: 100%;
}
@media (min-width: 1024px) {
  .productMD__imgWrapper {
    max-width: 450px;
    padding-left: 0;
    position: sticky;
    top: 20px;
    z-index: 2;
  }
}
.productMD__img {
  display: block;
  width: 100%;
}
.productMD__wrapper {
  margin: 40px 0 0;
}
@media (min-width: 1024px) {
  .productMD__wrapper {
    margin-top: 0;
    width: 450px;
  }
}
.productMD__name {
  margin: 0;
  font-weight: 700;
  font-size: 34px;
  line-height: 46px;
  color: #000;
}
@media (min-width: 1024px) {
  .productMD__name {
    font-size: 40px;
    line-height: 54px;
    color: #fff;
  }
}
.productMD__desc {
  margin: 20px 0 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #000;
}
@media (min-width: 1024px) {
  .productMD__desc {
    margin-top: 10px;
    font-size: 24px;
    line-height: 33px;
    color: #fff;
  }
}
.productMD__form {
  margin-top: 40px;
}
@media (min-width: 1024px) {
  .productMD__form {
    margin-top: 118px;
  }
}
.productMD .productCalc {
  width: 100%;
}
@media (min-width: 1024px) {
  .productMD .productCalc {
    width: 350px;
  }
}
.productMD .productCalc__inputs {
  background: rgba(0,0,0,0.2);
}
.productMD .productCalc__infoName,
.productMD .productCalc__infoValue {
  color: #fff;
}
.productMD .productCalc__input {
  background: rgba(0,0,0,0.2);
}
.productMD .productCalc__info--totalSumm {
  opacity: 0.3;
}
.productMD__price {
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='219' height='219' fill='none'%3E%3Cpath fill='%23F24841' d='M211.396.36a596.18 596.18 0 0 1-8.307.233 23.27 23.27 0 0 0-1.134.023c-.505.03-3.411.118-5.922.194-.824.02-1.71.052-1.974.064-.445.028-3.83.138-7 .24-.753.02-2.499.077-3.888.127-1.377.052-3.183.11-4.007.13-.824.02-2.596.085-3.948.13-1.352.044-3.123.108-3.948.128-.824.02-2.595.085-3.947.129-1.352.045-3.122.098-3.948.129-.824.02-1.71.052-1.974.064-.982.04-2.217.093-4.188.146-3.074.094-5.633.174-6.461.216-.266.024-1.258.05-2.213.07-.957.031-2.75.08-4.007.13-1.244.04-2.752.092-3.351.116-.585.015-2.369.078-3.948.13-1.579.05-3.493.114-4.246.134-.753.02-2.752.093-4.427.151-6.188.217-8.385.266-11.218.213-1.601-.024-26.916-.718-56.279-1.527C31.698.921 7.472.255 7.211.256L6.722.252l-.08 3.316c-.05 1.822-.1 3.371-.101 3.443-.013.069-.631.137-1.361.162-2.115.05-3.96.126-4.014.164-.027.02-.036.672-.008 1.45.148 4.771.19 6.54.19 7.276.002.453.019 1.027.037 1.256.02.42.147 4.046.238 6.94.02.824.084 2.596.129 3.948.044 1.352.11 3.124.129 3.948.02.824.075 2.249.112 3.172.038.922.08 2.154.093 2.751.023 1.336.143 4.735.192 5.862.014.455.046 1.079.052 1.377.025 1.063.139 4.627.195 5.981.02.753.057 1.616.063 1.914.046 1.745.205 6.59.258 7.896l.046 1.673c.036 1.47.192 6.064.234 6.762.013.263.04.91.042 1.434.02 1.026.165 5.679.216 6.461.013.264.073 1.797.118 3.41.045 1.614.094 3.276.112 3.707.019.432.06 1.664.081 2.75.073 2.594.215 6.401.25 7.002.117 1.686-.108 10.887-1.49 60.746L.928 210.809c.01.073 1.186.152 3.33.201 1.822.051 3.371.102 3.442.102.139.025.159.314.275 3.796.1 3.181.109 3.194.456 3.185 1.831-.066 5.623-.187 6.793-.217 2.2-.06 4.339-.118 5.56-.162.599-.024 1.59-.05 2.212-.07 1.444-.028 6.122-.181 6.76-.222.264-.013 1.533-.06 2.811-.094 1.986-.062 3.29-.104 5.623-.187.227-.007 1.34-.047 2.452-.075 1.902-.065 4.487-.151 5.444-.183.227-.007.968-.029 1.638-.053 1.708-.04 6.218-.188 6.796-.228.264-.012.911-.039 1.435-.041 1.157-.02 5.788-.182 6.46-.217a266.2 266.2 0 0 1 3.411-.117 478.32 478.32 0 0 0 3.707-.113c.431-.018 1.664-.06 2.75-.08 1.088-.032 2.968-.102 4.188-.146 1.221-.044 4.021-.14 6.22-.2 2.201-.071 4.224-.139 4.49-.163.263-.012 2.044-.064 3.947-.129 1.912-.051 3.684-.116 3.948-.129.264-.012 1.533-.06 2.811-.093 3.42-.104 4.545-.142 5.084-.165.264-.012 1.618-.068 2.995-.12 1.388-.05 2.731-.108 2.995-.12.264-.013 1.533-.06 2.813-.106 1.279-.033 2.954-.091 3.707-.112 2.871-.095 4.308-.148 6.278-.189 1.122-.026 21.735.496 45.819 1.161 24.084.665 43.85 1.202 43.911 1.189.083.003.157-.876.194-2.486.031-1.375.065-2.57.082-2.662.011-.129.225-.198.714-.206.372-.017 1.916-.074 3.436-.125 1.51-.063 2.788-.097 2.846-.087.115.021.109.055.025-2.612-.085-2.525-.159-5.38-.165-6.214.004-.356-.011-.87-.023-1.134a500.978 500.978 0 0 1-.271-8.492c-.012-.264-.054-1.366-.097-2.456-.044-1.09-.082-2.214-.088-2.513a671.97 671.97 0 0 0-.187-5.623c-.007-.227-.032-.957-.045-1.613a731.471 731.471 0 0 0-.207-5.984c-.012-.466-.061-1.723-.082-2.809a639.75 639.75 0 0 0-.158-4.786c-.031-.624-.057-1.544-.077-2.035a653.587 653.587 0 0 0-.227-6.998c-.013-.264-.05-1.258-.07-2.213-.053-1.972-.15-4.962-.188-5.683-.013-.264-.037-.993-.057-1.615-.072-2.534-.219-6.914-.247-7.359-.012-.263-.04-.911-.041-1.434-.026-.992-.173-5.573-.218-6.521-.029-.635-.188-5.682-.3-9.33-.045-1.411-.106-3.539-.156-4.725-.039-1.185-.111-3.184-.151-4.428-.049-1.257-.116-3.22-.172-4.371a282.195 282.195 0 0 1-.15-3.833c-.063-2.247-.16-5.238-.236-7.416-.111-3.183-.155-5.07-.132-6.267.01-.652.548-20.358 1.204-43.79.644-23.433 1.17-42.666 1.171-42.737-.011-.073-.901-.149-2.56-.183-1.398-.035-2.6-.094-2.654-.128-.065-.035-.146-1.049-.18-2.256-.089-3.239-.087-3.25-.626-3.228Zm-.825 3.493c.041 1.042.038 1.921 0 1.938-.041.029-1.477.01-3.194-.034-1.703-.053-15.762-.442-31.217-.877-15.457-.424-28.32-.79-28.577-.812-.766-.041 7.505-.34 36.503-1.284 12.132-.407 18.81-.644 23.039-.818 1.618-.068 3.039-.1 3.152-.068.192.058.239.328.294 1.955ZM6.487 8.916c.002.19-.037 1.61-.09 3.171-.04 1.563-.425 15.136-.844 30.165-.417 15.018-.786 27.369-.808 27.424-.036.065-.202-4.008-.365-9.032-.685-20.911-1.394-41.958-1.632-48.363-.064-1.843-.097-3.395-.061-3.46.05-.086 3.046-.277 3.658-.24.069.013.139.156.142.335Zm-1.72 61.24c-.052.086-.08.045-.057-.082.01-.129.058-.192.084-.14.028.041.021.147-.028.222Zm209.981 61.543c.096 2.93.349 10.92.58 17.764.22 6.842.453 13.675.503 15.194.053 1.508.309 9.344.573 17.407.264 8.063.538 15.997.601 17.649.053 1.639.156 4.393.232 6.107.063 1.712.092 3.287.064 3.508l-.047.396-2.69.079c-1.485.057-2.701.078-2.72.051-.019-.027.008-1.45.052-3.166.054-1.703.607-21.621 1.236-44.236.618-22.618 1.147-41.339 1.17-41.596.029-.566.2 3.544.446 10.843ZM96.314 213.656c-.061.013-1.893.079-4.069.143-3.791.122-16.114.53-21.953.726-1.542.046-8.924.289-16.39.54-7.466.251-15.6.514-18.065.598-2.465.084-7.262.24-10.647.35-3.386.111-6.785.23-7.54.262-3.907.172-7.974.303-8.06.252-.11-.055-.345-5.27-.25-5.337.027-.019 1.52.01 3.331.059 1.82.063 21.301.597 43.303 1.2s40.107 1.118 40.233 1.141c.127.022.183.044.107.066Z'/%3E%3C/svg%3E");
  font-weight: 700;
  font-size: 16px;
  line-height: 22px;
  color: #fff;
  text-align: center;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transform: rotate(-15deg);
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 1024px) {
  .productMD__price {
    bottom: -42px;
    left: -110px;
    width: 250px;
    height: 250px;
    font-size: 24px;
    line-height: 32px;
  }
}
.productMD__price span {
  font-weight: 700;
  font-size: 34px;
  line-height: 46px;
  display: block;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .productMD__price span {
    font-size: 48px;
    line-height: 65px;
  }
}
.productMD__success,
.productMD__error {
  display: none;
}
.productMD--waiting > * {
  pointer-events: none;
}
.productMD--waiting::before {
  content: 'Отправка заявки';
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: rgba(255,255,255,0.75);
  font-size: 20px;
  font-weight: 700;
  animation: loading 2s infinite;
}
.productMD--success,
.productMD--error {
  position: relative;
}
.productMD--success > *,
.productMD--error > * {
  pointer-events: none;
  opacity: 0;
}
.productMD--success .productMD__success,
.productMD--error .productMD__error {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  pointer-events: initial;
}
.productPG {
  padding: 46px 0;
  background: #f0f0f0;
  min-height: 100%;
}
@media (min-width: 1024px) {
  .productPG {
    padding: 72px 0;
  }
}
.productPG__heading {
  margin: 0 0 46px;
}
@media (min-width: 1024px) {
  .productPG__heading {
    margin: 0 0 60px;
  }
}
@media (min-width: 1024px) {
  .productPG__card {
    display: grid;
    grid-template-columns: 1fr 285px;
    gap: 0 40px;
    align-items: start;
  }
}
.productPG__imgs {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  padding: 20px 40px 40px;
}
@media (min-width: 1024px) {
  .productPG__imgs {
    padding: 80px;
  }
}
.productPG__img {
  opacity: 0;
  transition: 0.6s;
  max-height: 500px;
  object-fit: contain;
}
.productPG__img.is-selected {
  opacity: 1;
}
.productPG__calc {
  margin: 40px auto 0;
}
@media (min-width: 1024px) {
  .productPG__calc {
    margin: 0;
    position: sticky;
    top: 20px;
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
.productPG__info {
  margin-top: 103px;
}
@media (min-width: 1024px) {
  .productPG__info {
    margin-top: 90px;
    grid-column: 1/2;
  }
}
@media (min-width: 1024px) {
  .productPG__survey {
    grid-column: 1/2;
  }
}
.productPG__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
}
@media (min-width: 1024px) {
  .productPG__text {
    font-size: 20px;
    line-height: 27px;
  }
}
.productPG__characteristics {
  margin-top: 2em;
}
.productPG__characteristic {
  font-size: 14px;
  line-height: 32px;
  display: flex;
}
@media (min-width: 1024px) {
  .productPG__characteristic {
    font-size: 16px;
  }
}
.productPG__characteristic + .productPG__characteristic {
  margin-top: 1em;
}
@media (min-width: 1024px) {
  .productPG__characteristic + .productPG__characteristic {
    margin-top: 0.5em;
  }
}
.productPG__characteristicName {
  color: #999;
  margin-right: 1ch;
}
.productPG__characteristicValue {
  color: #000;
}
.productPG__slider .flickity-page-dots {
  bottom: -30px;
}
@media (min-width: 1024px) {
  .productPG__slider .flickity-page-dots {
    bottom: -60px;
  }
}
.productPG__slider .dot {
  width: 8px;
  height: 8px;
  background: #ccc;
}
.productPG__slider .dot.is-selected {
  background: #999;
}
.productPG .survey__btns {
  gap: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.productPG .survey__btn {
  width: 100%;
}
.productPG__card .productPG__success,
.productPG__card .productPG__error {
  display: none;
  margin-top: 40px;
  border: 1px solid #e6e9f1;
  padding: 15px;
  background: #fff;
}
.productPG__card--waiting > * {
  pointer-events: none;
}
.productPG__card--waiting::before {
  content: 'Отправка заявки';
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: rgba(255,255,255,0.75);
  font-size: 20px;
  font-weight: 700;
  animation: loading 2s infinite;
}
.productPG__card--success .survey__progressList,
.productPG__card--success .survey__step {
  display: none;
}
.productPG__card--success .productPG__success {
  display: block;
}
.productPG__card--error .survey__progressList,
.productPG__card--error .survey__step {
  display: none;
}
.productPG__card--error .productPG__error {
  display: block;
}
.productsMD__heading {
  font-weight: 700;
  font-size: 34px;
  line-height: 46px;
  text-align: center;
  color: #000;
  margin: 0 0 20px;
  text-align: center;
  padding: 0 15px;
}
@media (min-width: 1024px) {
  .productsMD__heading {
    font-size: 48px;
    line-height: 65px;
    margin-bottom: 40px;
  }
}
.productsMD {
  margin: 0 -15px;
}
.productsMD .flickity-page-dots {
  bottom: -31px;
}
@media (min-width: 1024px) {
  .productsMD .flickity-page-dots {
    display: none;
  }
}
.productsMD .dot {
  width: 8px;
  height: 8px;
  background: #ccc;
}
.productsMD .dot.is-selected {
  background: #999;
}
.productsMD .flickity-button {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  border-radius: 0;
  background: none;
  top: initial;
  bottom: 0;
}
.productsMD .flickity-button svg {
  width: 10px;
  height: 10px;
}
@media (max-width: 1023px) {
  .productsMD .flickity-button {
    display: none;
  }
}
.productsMD .flickity-prev-next-button.previous {
  left: calc(50% - 50px);
}
.productsMD .flickity-prev-next-button.next {
  right: calc(50% - 50px);
}
.productsMD__item {
  width: 100%;
  margin-left: 10px;
  margin-bottom: 21px;
}
@media (min-width: 640px) {
  .productsMD__item {
    width: 320px;
  }
}
@media (min-width: 1024px) {
  .productsMD__item {
    width: calc((100% - 60px) / 4);
    margin-left: 20px;
  }
}
@media (min-width: 1024px) {
  .productsMD__list {
    overflow: hidden;
    padding-bottom: 90px;
  }
}
.productsMD__list .productsMD__item,
.productsMD__list .productTeaser__wrapper,
.productsMD__list .productsMD__item:hover .productTeaser__wrapper,
.productsMD__list .productsMD__item:focus-within .productTeaser__wrapper {
  box-shadow: none;
}
@media (min-width: 1024px) {
  .productsMD__list .flickity-viewport {
    overflow: visible;
    z-index: 1;
  }
}
.productTeaser {
  background: #fff;
  padding: 20px 15px 40px;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 15px;
  position: relative;
}
@media (min-width: 1024px) {
  .productTeaser {
    display: block;
    padding: 10px 20px 20px;
    box-shadow: 0px 4px 20px rgba(0,0,0,0.2);
  }
}
.productTeaser__imgWrapper a {
  display: block;
}
.productTeaser__img {
  display: block;
  margin: 0 auto;
  aspect-ratio: 1/1;
  object-fit: contain;
  max-height: 100px;
}
@media (min-width: 1024px) {
  .productTeaser__img {
    max-height: 245px;
  }
}
.productTeaser__title {
  margin: 0 0 4px;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #000;
}
@media (min-width: 1024px) {
  .productTeaser__title {
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    margin: 20px 0 6px;
  }
}
.productTeaser__price {
  font-weight: 700;
  font-size: 14px;
  line-height: 19px;
}
@media (min-width: 1024px) {
  .productTeaser__price {
    font-size: 16px;
    line-height: 22px;
    text-align: center;
  }
}
.productTeaser__extraInfoWrapper {
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .productTeaser__extraInfoWrapper {
    margin-top: 0;
    padding-bottom: 20px;
  }
}
.productTeaser__extraInfo {
  display: flex;
  justify-content: space-between;
}
.productTeaser__extraInfo + .productTeaser__extraInfo {
  margin-top: 10px;
}
.productTeaser__extraInfoName,
.productTeaser__extraInfoValue {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  text-align: right;
  color: #666;
}
.productTeaser__extraInfoName {
  padding-right: 20px;
  text-align: left;
}
.productTeaser__extraInfoValue {
  text-align: right;
  flex-shrink: 0;
}
.productTeaser__link {
  position: absolute;
  left: 50%;
  bottom: -20px;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #fff;
  text-decoration: none;
  padding: 12px 20px;
  background: var(--main);
  border: 1px solid var(--main);
  transition: 0.6s;
  transform: translateX(-50%);
}
.productTeaser__link:hover {
  background: #fff;
  color: var(--main);
}
@media (min-width: 1024px) {
  .productTeaser__wrapper {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    display: none;
    padding: 0 20px 20px;
    background: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .productTeaser:hover,
  .productTeaser:focus-within {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    z-index: 1;
  }
  .productTeaser:hover .productTeaser__wrapper,
  .productTeaser:focus-within .productTeaser__wrapper {
    display: block;
    box-shadow: 0px 20px 20px rgba(0,0,0,0.2);
  }
}
.slider__heading {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 24px;
  line-height: 46px;
  text-align: center;
}
.slider__img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.slider__item {
  margin-left: 10px;
}
.slider__itemLink {
  text-decoration: none;
}
.slider__name {
  margin: 10px 0 0;
  font-weight: 400;
  font-size: 18px;
  color: #000;
}
.socialFloat {
  position: fixed;
  right: 28px;
  bottom: 50px;
  z-index: 10;
}
.socialFloat__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  outline: none;
  transition: 0.2s;
}
.socialFloat__btn {
  width: 55px;
  height: 55px;
  overflow: hidden;
  margin-bottom: 5px;
  transform: translateY(65px);
  opacity: 0;
  margin-left: 2.5px;
  visibility: hidden;
}
.socialFloat__btn--wa {
  background: #25d366;
}
.socialFloat__btn--call {
  background: var(--main);
  border: 1px solid #fff;
  color: #fff;
}
.socialFloat--active .socialFloat__btn {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}
.socialFloat__btn--inst {
  transition-delay: 0.1s;
}
.socialFloat__btn--tg {
  transition-delay: 0.15s;
}
.socialFloat__btn--wa {
  transition-delay: 0.2s;
}
.socialFloat__btn--call {
  transition-delay: 0.25s;
}
.socialFloat--active .socialFloat__main {
  background-image: url("../assets/close--white.svg");
  background-color: #fff;
}
.socialFloat--active .socialFloat__main img {
  visibility: hidden;
}
.callMeForm__overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}
.callMeForm__body {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 40px 10px 10px;
  background: #fff;
  z-index: 1001;
}
@media (min-width: 1024px) {
  .callMeForm__body {
    padding: 40px;
  }
}
.callMeForm__success {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 40px;
  text-align: center;
  font-size: 18px;
  z-index: 1001;
  background: #fff;
}
.callMeForm__close {
  position: absolute;
  right: 10px;
  top: 10px;
  padding: 0;
  border: none;
  background: none;
}
.callMeForm__input {
  padding: 10px;
  font-size: 16px;
  width: 300px;
}
.callMeForm__submit,
.callMeForm__ok {
  margin-top: 20px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--main);
  color: #fff;
  border: none;
  font-size: 18px;
}
.callMeForm__overlay,
.callMeForm__body,
.callMeForm__success {
  display: none;
}
.callMeForm--active .callMeForm__overlay,
.callMeForm--active .callMeForm__body {
  display: block;
}
.callMeForm--success .callMeForm__overlay,
.callMeForm--success .callMeForm__success {
  display: block;
}
.callMeForm--waiting > * {
  pointer-events: none;
}
.callMeForm--waiting::before {
  content: 'Отправка заявки';
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1003;
  background: rgba(255,255,255,0.75);
  font-size: 20px;
  font-weight: 700;
  animation: loading 2s infinite;
}
.top {
  position: relative;
  background-image: url("../assets/top-bg--mobile.jpg");
  background-size: cover;
  text-align: center;
  padding: 140px 0 120px;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .top {
    margin-bottom: 40px;
    padding: 140px 0 146px;
    background-image: url("../assets/top.jpg");
    background-position: right center;
  }
}
.top__container {
  position: relative;
  z-index: 1;
  max-width: 390px;
}
@media (min-width: 1024px) {
  .top__container {
    max-width: 700px;
  }
}
.top__heading {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
}
@media (min-width: 1024px) {
  .top__heading {
    font-size: 22px;
  }
}
.top__heading span {
  display: table;
  margin: 0 auto 4px;
  font-weight: 700;
  font-size: 36px;
}
@media (min-width: 1024px) {
  .top__heading span {
    font-size: 48px;
    margin-bottom: 10px;
  }
}
.top__description {
  margin-top: 20px;
}
.top__description p {
  font-size: 14px;
  margin: 0;
}
.top__description p + p {
  margin-top: 0.5em;
}
.top__btns {
  margin: 32px auto 0;
  width: 270px;
}
@media (min-width: 1024px) {
  .top__btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    width: 100%;
    margin-top: 42px;
  }
}
.top__btn {
  font-weight: 400;
  font-size: 14px;
  border: 2px solid var(--main);
  display: flex;
  align-items: center;
  color: #000;
  text-decoration: none;
  padding: 10px 12px;
  justify-content: center;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .top__btn {
    margin-top: 0;
    padding: 7px 12px;
    justify-content: center;
  }
}
.top__btn + .top__btn {
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .top__btn + .top__btn {
    margin-top: 0;
  }
}
.top__btn svg {
  margin-right: 10px;
  fill: currentColor;
  width: 20px;
  height: 20px;
}
@media (min-width: 1024px) {
  .top__btn svg {
    width: 25px;
    height: 25px;
  }
}
.top__btn:hover {
  background: var(--main);
}
.top__btn--filled {
  background: var(--main);
  position: relative;
}
.top__btn--filled:hover {
  background: none;
  color: var(--main);
}
.top__modalClose {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 20px;
  height: 20px;
  background: none;
  border: none;
  padding: 0;
  transition: 0.6s;
}
.top__modalClose:hover {
  opacity: 0.75;
}
.top__modalClose::before,
.top__modalClose::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: #777;
  top: 50%;
}
.top__modalClose::before {
  transform: translateY(-50%) rotate(45deg);
}
.top__modalClose::after {
  transform: translateY(-50%) rotate(-45deg);
}
.top__modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  visibility: hidden;
  margin-top: 20px;
  opacity: 0;
  transition: 0.6s;
}
@media (min-width: 1024px) {
  .top__modal {
    width: 800px;
    height: auto;
    padding: 40px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.top__modal--active {
  visibility: visible;
  margin-top: 0;
  opacity: 1;
}
.top__modalContent {
  color: #000;
  text-align: left;
}
.top__modalContent h2 {
  margin: 0 0 20px;
  font-size: 22px;
}
.top__modalContent ul {
  padding-left: 20px;
}
.top__modalContent li,
.top__modalContent p {
  font-size: 16px;
}
.top__modalContent li + li,
.top__modalContent p + p {
  margin-top: 0.5em;
}
.top__modalContent b,
.top__modalContent strong {
  font-weight: 400;
  color: #ed0c0c;
}
.top__sales {
  margin: 40px auto 0;
  padding: 0 10px;
  max-width: 1200px;
}

/*# sourceMappingURL=styles.css.map */
