:root {
  --text-base: #000000;
  --text-secondary: #767676;
  --bg-overlay: rgba(2, 31, 41, 0.5);
  --primary-color: #db2a43;
  --primary-hover: #c2263c;
  --tritiary: #8f9fa9;
  --secondary: #f5f9fb;
  --white: #ffffff;
  --base-border-color: var(--text-base);
  --bg-tritiary: #e3eaee;
  --secondary-border-color: #d0d8de;
  --accordeon-border-color: transparent;
  --text-xl-size: 20rem;
  --text-l-size: 16rem;
  --text-m-size: 14rem;
  --text-s-size: 12rem;
  --text-xs-size: 10rem;
  --h1-size: 64rem;
  --h2-size: 64rem;
  --h3-size: 37rem;
  --h4-size: 22rem;
  --text-xl-lh: calc(26 / 18);
  --text-l-lh: calc(24 / 16);
  --text-m-lh: calc(20 / 14);
  --text-s-lh: calc(16 / 12);
  --text-xs-lh: calc(14 / 10);
  --h1-lh: calc(48 / 44);
  --h2-lh: calc(44 / 40);
  --h3-lh: calc(36 / 32);
  --h4-lh: calc(26 / 22);
  --section-margin-bottom: 64rem;
  --page-wrap-padding-top: 80rem;
  --vh: 1vh;
  --vw: 1vw;
}

html {
  font-size: calc((1 / 1440) * 100vw);
}

.section {
  margin-bottom: var(--section-margin-bottom);
}

@media screen and (min-width: 1440.1px) {
  html {
    font-size: 1px;
  }
}

@media screen and (min-width: 992px) {
  :root {
    --section-margin-bottom: 128rem;
    --page-wrap-padding-top: 104rem;
  }
}

@media screen and (max-width: 991.9px) {
  html {
    font-size: calc((1 / 375) * 100vw);
  }
}

.text-secondary {
  color: var(--text-secondary);
}

.text-tritiary {
  color: var(--tritiary);
}

.text-primary {
  color: var(--primary-color);
}

.w-100 {
  width: 100%;
}

.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding-left: 16rem;
  padding-right: 16rem;
  max-width: 1408rem;
}

body {
  font-family: "Open Sans", sans-serif;
}

body.fixed-overflow::after {
  content: "";
  top: 0;
  left: 0;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 20;
  background-color: var(--bg-overlay);
}

.underline {
  text-decoration: underline !important;
}

body.fixed-overflow.modal::after {
  z-index: 101;
}

.fixed-overflow {
  overflow: hidden;
  height: 100vh;
}

.scrollbar-vertical::-webkit-scrollbar {
  width: 10rem;
}

.scrollbar-vertical::-webkit-scrollbar-track {
  background-color: transparent;
}

.scrollbar-vertical::-webkit-scrollbar-thumb {
  background-color: var(--text-tritiary);
  border: 3rem solid rgba(255, 255, 255, 0);
  background-clip: padding-box;
  border-radius: 6rem;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  max-width: 100vw;
}

body {
  max-width: 100vw;
  color: var(--text-base);
  margin: 0;
  word-wrap: break-word;
  overflow: auto;
  scrollbar-gutter: stable;
  background-color: var(--white);
}

a {
  text-decoration: none;
  color: inherit;
}

.d-flex {
  display: flex;
}

.d-mob {
  display: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background-color: transparent;
  color: inherit;
}

.d-none {
  display: none !important;
}

@media screen and (max-width: 991.9px) {
  body.fixed-overflow-mob::after {
    content: "";
    top: 0;
    left: 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 20;
    background-color: var(--bg-overlay);
  }

  body.fixed-overflow-mob-modal::after {
    content: "";
    top: 0;
    left: 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: var(--bg-overlay);
  }

  .d-desktop {
    display: none;
  }

  .d-mob {
    display: block;
  }
}

.text-xl,
.text-xl-semi {
  font-size: var(--text-xl-size);
  line-height: var(--text-xl-lh);
}

.text-l,
.text-l-semi {
  font-size: var(--text-l-size);
  line-height: var(--text-l-lh);
}

.text-m,
.text-m-semi {
  font-size: var(--text-m-size);
  line-height: var(--text-m-lh);
}

.text-s,
.text-s-semi {
  font-size: var(--text-s-size);
  line-height: var(--text-s-lh);
}

.text-xs,
.text-xs-semi {
  font-size: var(--text-xs-size);
  line-height: var(--text-xs-lh);
}

.text-xl,
.text-l,
.text-m,
.text-s,
.text-xs {
  font-weight: 500;
}

.text-xl-semi,
.text-l-semi,
.text-m-semi,
.text-s-semi,
.text-xs-semi {
  font-weight: 700;
}

.text-semi {
  font-weight: 600 !important;
}

.h1 {
  font-size: var(--h1-size);
  line-height: var(--h1-lh);
  font-weight: 400;
}

.h2 {
  font-weight: 400;
  font-size: var(--h2-size);
  line-height: var(--h2-lh);
}

.h3 {
  font-weight: 400;
  font-size: var(--h3-size);
  line-height: var(--h3-lh);
}

.h4 {
  font-size: var(--h4-size);
  line-height: var(--h4-lh);
  font-weight: 400;
}

.h5 {
  font-size: var(--text-l-size);
  line-height: var(--text-l-lh);
  font-weight: 400;
}

@media screen and (max-width: 991.9px) {
  body.fixed-mobile {
    height: calc(100 * var(--vh));
    overflow: hidden;
  }

  :root {
    --h1-size: 44rem;
    --h2-size: 44rem;
    --h3-size: 30rem;
    --h4-size: 18rem;
  }

  .text-xl-mob,
  .text-xl-semi-mob {
    font-size: var(--text-xl-size);
    line-height: var(--text-xl-lh);
  }

  .text-l-mob,
  .text-l-semi-mob {
    font-size: var(--text-l-size);
    line-height: var(--text-l-lh);
  }

  .text-m-mob,
  .text-m-semi-mob {
    font-size: var(--text-m-size);
    line-height: var(--text-m-lh);
  }

  .text-s-mob,
  .text-s-semi-mob {
    font-size: var(--text-s-size);
    line-height: var(--text-s-lh);
  }

  .text-xs-mob,
  .text-xs-semi-mob {
    font-size: var(--text-xs-size);
    line-height: var(--text-xs-lh);
  }
  .h1-mob {
    font-size: var(--h1-size) !important;
  }
  .h2-mob {
    font-size: var(--h2-size) !important;
  }
  .h3-mob {
    font-size: var(--h3-size) !important;
  }
  .h4-mob {
    font-size: var(--h4-size) !important;
  }
  .h5-mob {
    font-size: var(--text-l-size) !important;
  }
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5 !important;
}

.ymaps-2-1-79-ground-pane {
  filter: grayscale(100%) !important;
}
