@charset "UTF-8";
@font-face {
  font-family: Core Sans;
  src: url(../assets/fonts/CoreSansC-25ExtraLight.woff2) format("woff2"),
    url(../assets/fonts/CoreSansC-25ExtraLight.woff) format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Core Sans;
  src: url(../assets/fonts/CoreSansC-35Light.woff2) format("woff2"),
    url(../assets/fonts/CoreSansC-35Light.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Core Sans;
  src: url(../assets/fonts/CoreSansC-45Regular.woff2) format("woff2"),
    url(../assets/fonts/CoreSansC-45Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Core Sans;
  src: url(../assets/fonts/CoreSansC-55Medium.woff2) format("woff2"),
    url(../assets/fonts/CoreSansC-55Medium.woff) format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-Medium.woff2) format("woff2"),
    url(../assets/fonts/Gilroy-Medium.woff) format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
:root {
  --primary-color: #cf000c;
  --primary-color-hover: #b7000b;
  --text-color: #020202;
  --green: #065f25;
  --green-hover: #054a1c;
  --blue: #212173;
  --blue-dark: #101038;
  --light-blue: #e7eef7;
  --light-gray: #f5f5f5;
  --white: white;
  --white-hover: #fae5e7;
  --core-sans: "Core Sans", "Roboto", sans-serif;
  --gilroy: "Gilroy", sans-serif;
  --content-padding: 4rem;
  --container-width: 156rem;
}
@media only screen and (max-width: 640px) {
  :root {
    --content-padding: 2rem;
  }
}
*,
*:after,
*:before {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}
html {
  box-sizing: border-box;
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}
@media (max-width: 1680px) {
  html {
    font-size: clamp(2px, 0.6vw, 125px);
  }
}
@media only screen and (max-width: 640px) {
  html {
    font-size: 10px;
  }
}
body {
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  color: var(--text-color);
  font-family: var(--core-sans);
  overscroll-behavior: none;
  overflow-anchor: none;
}
body.grey-bg {
  background-color: #f5f5f5;
}
body.menu-open,
body.modal-open {
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  overscroll-behavior: none;
}
@media only screen and (max-width: 640px) {
  body.map-modal-shown,
  body.map-card-shown,
  body.offices-mobile-map-shown,
  body.construction-filters-shown,
  body.infra-filters-shown,
  body.plan-popver-shown,
  body.sharing-card-shown {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
    overscroll-behavior: none;
  }
}
@media only screen and (max-width: 640px) {
  body.plan-show {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
    overscroll-behavior: none;
  }
}
body.plan-show .bottom-nav {
  display: none;
}
main {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
ul,
ol {
  list-style: none;
}
ol {
  counter-reset: ordered-list;
}
ol > li {
  counter-increment: ordered-list;
}
ol > li:before {
  content: counter(ordered-list, decimal-leading-zero) ".";
}
input,
textarea {
  border: none;
  font: inherit;
  outline: none;
  box-shadow: none;
  border-radius: 0;
  width: 100%;
  background-color: transparent;
  display: block;
}
textarea {
  resize: none;
  box-shadow: none;
  display: block;
  width: 100%;
  overflow: auto;
  height: 20rem;
  scrollbar-color: var(--primary-color) white;
  scrollbar-width: thin;
}
textarea::-webkit-scrollbar {
  background-color: #fff;
  width: 0.6rem;
}
textarea::-webkit-scrollbar-thumb {
  background-color: var(--primary-color);
}
textarea::-webkit-scrollbar-button {
  display: none;
}
textarea::-webkit-scrollbar-track {
  background-color: #fff;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
  appearance: textfield;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}
button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: inherit;
  color: inherit;
  outline: none;
  display: inline-flex;
  position: relative;
}
a {
  background-color: transparent;
  text-decoration: none;
  transition: color 0.2s, text-decoration-color 0.2s;
}
a:link,
a:visited {
  color: inherit;
}
a:where(:not[class]):link,
a:where(:not[class]):visited {
  color: var(--primary-color);
}
svg {
  flex-shrink: 0;
  fill: currentColor;
}
img {
  border-style: none;
  max-width: 100%;
  display: block;
}
img[data-sizes="auto"] {
  display: block;
  width: 100%;
}
img.lazyload:not([src]) {
  visibility: hidden;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
th {
  font-weight: 400;
}
td,
th {
  text-align: left;
  vertical-align: top;
}
::selection {
  color: #fff;
  background-color: var(--primary-color);
  -webkit-text-fill-color: white;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  background-color: transparent;
}
.validation-error {
  font-size: 1.6rem;
  line-height: 140%;
  margin-top: 1rem;
  color: #f60a18;
}
@media only screen and (max-width: 640px) {
  .validation-error {
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
  }
}
.page-main {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow: clip;
}
.bg-gray {
  background: var(--light-gray);
}
.bg-gray--round {
  border-radius: 3.2rem 3.2rem 0 0;
  padding-top: 6rem;
}
@media only screen and (max-width: 640px) {
  .bg-gray--round {
    padding-top: 4rem;
  }
}
.bg-gray section {
  background: transparent;
}
.bg-gray--footer footer {
  background-color: var(--light-gray);
}
.ymaps3x0--controls {
  z-index: 70 !important;
}
.page-footer {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 1.5rem;
  background-color: #fff;
}
.grey-bg .page-footer {
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .page-footer {
    padding-bottom: 2rem;
  }
}
.page-footer__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  position: relative;
  background: #101038;
  border-radius: 2rem;
  color: #fff;
  background-image: url(../images/footer-shape.svg);
  background-repeat: no-repeat;
  background-size: 50rem auto;
  background-position: left -3rem bottom -22rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__content {
    border-radius: 1.2rem;
    background-size: 20rem auto;
    background-position: left -5rem bottom -10rem;
  }
}
.page-footer__top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  padding-top: 4rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__top {
    padding: 2.8rem 2rem 4rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.page-footer__top-left-col {
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  padding-top: 1.4rem;
  padding-left: 4rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__top-left-col {
    padding: 0;
    gap: 2.8rem;
    margin-bottom: 4rem;
  }
}
.page-footer__logo {
  display: block;
}
.page-footer__logo-image {
  display: block;
  width: 21.4rem;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .page-footer__logo-image {
    width: 16.4rem;
  }
}
.page-footer__social-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.page-footer__social-list-item {
  flex-shrink: 0;
}
.page-footer__social-link {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
  background-clip: padding-box;
}
@media only screen and (max-width: 640px) {
  .page-footer__social-link {
    width: 4rem;
    height: 4rem;
  }
}
@media (hover: hover) {
  .page-footer__social-link:hover {
    background-color: #ffffff1a;
  }
}
.page-footer__social-link-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-footer__top-right-col {
  grid-column: 2/-1;
  display: flex;
  flex-direction: column;
  gap: 8rem;
  padding-right: 4rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__top-right-col {
    padding: 0;
    gap: 4rem;
  }
}
.page-footer__top-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__top-wrapper {
    gap: 1.7rem;
  }
}
.page-footer__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .page-footer__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.page-footer__form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__form {
    gap: 0.8rem;
  }
}
.page-footer__form-row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__form-row {
    align-items: stretch;
    gap: 2rem;
    flex-direction: column;
  }
}
.page-footer__form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .page-footer__form-fields {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.page-footer__form-field {
  display: block;
  position: relative;
}
.page-footer__form-field .validation-error {
  position: absolute;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  right: 0;
  top: 5rem;
  line-height: 130%;
  color: #cf000c;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  margin-top: -0.1rem;
  pointer-events: none;
}
.page-footer__form-field .validation-error:before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  right: 2.6rem;
  bottom: 100%;
  margin-bottom: -0.1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/error-tail.svg);
}
.page-footer__form-input-wrapper {
  position: relative;
}
.page-footer__form-input {
  display: block;
  width: 100%;
  height: 6rem;
  padding: 0 2rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff;
  line-height: 150%;
  transition: border-color 0.2s, color 0.2s;
}
.page-footer__form-input::placeholder {
  color: #ffffff80;
}
.page-footer__form-input:focus {
  border-color: #ffffff4d;
}
.page-footer__form-input.not-valid {
  color: #ff6266;
  background-image: url(../images/error.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 2rem center;
}
.page-footer__form-input.not-valid::placeholder {
  color: #ff6266;
}
@media only screen and (max-width: 640px) {
  .page-footer__form-input {
    height: 5rem;
    padding: 0 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    border-radius: 0.8rem;
  }
}
.page-footer__form-submit {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  padding: 2.2rem 4.5rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  background-color: #fff;
  color: var(--text-color);
  line-height: 100%;
  border-radius: 1.2rem;
  text-align: center;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
  display: block;
}
.page-footer__form-submit:link,
.page-footer__form-submit:visited {
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .page-footer__form-submit {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
  }
}
@media (hover: hover) {
  .page-footer__form-submit:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
  }
}
.page-footer__form-submit:active {
  background-color: #fff;
  color: #0202024d;
}
.page-footer__form-policy {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
}
@media only screen and (max-width: 640px) {
  .page-footer__form-policy {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.page-footer__form-policy a,
.page-footer__form-policy a:link,
.page-footer__form-policy a:visited {
  color: #fff;
}
@media (hover: hover) {
  .page-footer__form-policy a:hover {
    color: #a5d9ff;
  }
}
.page-footer__nav {
  display: flex;
  flex-direction: column;
}
.page-footer__nav-list {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-list {
    align-items: stretch;
    gap: 2rem;
    flex-direction: column;
  }
}
.page-footer__nav-list-item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-list-item {
    gap: 0;
  }
}
.page-footer__nav-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #ffffff7a;
  text-align: left;
  width: 100%;
  cursor: default;
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-title {
    gap: 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }
}
.page-footer__nav-title svg {
  display: none;
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-title svg {
    flex-shrink: 0;
    width: 1.4rem;
    height: 1.4rem;
    fill: #fff;
    transition: transform 0.2s;
    display: block;
  }
  .page-footer__nav-list-item.active .page-footer__nav-title svg {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-links-list-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s;
  }
  .page-footer__nav-list-item.active .page-footer__nav-links-list-wrapper {
    grid-template-rows: 1fr;
  }
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-links-list-wrapper-inner {
    overflow: hidden;
  }
}
.page-footer__nav-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-links-list {
    gap: 1.2rem;
    padding-top: 1.6rem;
  }
}
.page-footer__nav-link {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media (hover: hover) {
  .page-footer__nav-link:hover {
    color: #a5d9ff;
  }
}
@media only screen and (max-width: 640px) {
  .page-footer__nav-link {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: #fff6;
  }
  .page-footer__nav-link:link,
  .page-footer__nav-link:visited {
    color: #fff6;
  }
  .page-footer__nav-link:active {
    color: #fff;
  }
}
.page-footer__bottom {
  padding: 2rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
@media only screen and (max-width: 640px) {
  .page-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 2.8rem 2rem 2.4rem;
    gap: 0;
  }
}
.page-footer__bottom-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .page-footer__bottom-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
}
.page-footer__copyright {
  margin-left: 4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
  grid-column: 1/2;
}
@media only screen and (max-width: 640px) {
  .page-footer__copyright {
    margin: 0;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.page-footer__policy {
  grid-column: 2/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
}
.page-footer__policy:link,
.page-footer__policy:visited {
  color: #fff9;
}
@media (hover: hover) {
  .page-footer__policy:hover {
    color: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .page-footer__policy {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.page-footer__made-by {
  grid-column: 3/-1;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  justify-self: flex-end;
  margin-right: 4rem;
}
@media only screen and (max-width: 640px) {
  .page-footer__made-by {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
    margin: 0;
    gap: 0.8rem;
    margin-top: -0.5rem;
  }
}
.page-footer__made-by:link,
.page-footer__made-by:visited {
  color: #fff9;
}
@media (hover: hover) {
  .page-footer__made-by:hover {
    color: #fff;
  }
}
.page-footer__made-by-logo {
  flex-shrink: 0;
  width: 8.8rem;
  height: auto;
  position: relative;
  top: 0.18em;
}
@media only screen and (max-width: 640px) {
  .page-footer__made-by-logo {
    width: 6.3rem;
  }
}
.other {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 10rem;
}
@media only screen and (max-width: 640px) {
  .other {
    padding-bottom: 4rem;
  }
}
.other__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .other__content {
    gap: 2rem;
  }
}
.other__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .other__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.other__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .other__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.other__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .other__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.other__list-item {
  display: flex;
  flex-direction: column;
}
.other__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
  border-radius: 2.4rem;
  overflow: hidden;
  color: #fff;
  background-color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .other__card {
    border-radius: 1.2rem;
  }
}
.other__card:link,
.other__card:visited {
  color: #fff;
}
.other__card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
  grid-area: stack;
}
@media only screen and (max-width: 640px) {
  .other__card:before {
    padding-bottom: 66.2%;
  }
}
.other__card-image-container {
  grid-area: stack;
  position: relative;
}
.other__card-image-container:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 13rem;
  background: linear-gradient(
    179.01deg,
    rgba(24, 24, 35, 0) 0.93%,
    rgba(24, 24, 35, 0.5) 63.68%
  );
}
@media only screen and (max-width: 640px) {
  .other__card-image-container:after {
    height: 8.2rem;
    background: linear-gradient(
      179.01deg,
      rgba(24, 24, 35, 0) 0.93%,
      rgba(24, 24, 35, 0.5) 63.68%
    );
  }
}
.other__card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.other__card-content {
  grid-area: stack;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  align-self: flex-end;
  padding: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .other__card-content {
    padding: 2.4rem 2rem;
  }
}
.other__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .other__card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
  }
}
.other__card-arrow {
  flex-shrink: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .other__card-arrow {
    width: 5rem;
    height: 5rem;
    background: rgba(255, 255, 255, 0.05);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}
.other__card-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .other__card:hover .other__card-arrow {
    background-color: #fff;
  }
  .other__card:hover .other__card-arrow svg {
    fill: var(--primary-color);
  }
}
.home-news {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 20rem;
  background-color: #fff;
  padding-top: 9.9rem;
  border-radius: 2.4rem 2.4rem 0px 0px;
  overflow: hidden;
  margin-top: -2.4rem;
}
@media only screen and (max-width: 640px) {
  .home-news {
    border-radius: 1.2rem 1.2rem 0px 0px;
    padding-top: 4rem;
    padding-bottom: 5.7rem;
  }
}
.home-news__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.home-news__top-row {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .home-news__top-row {
    display: contents;
    margin: 0;
  }
}
.home-news__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
  margin-right: auto;
}
@media only screen and (max-width: 640px) {
  .home-news__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.home-news__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .home-news__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.home-news__show-all {
  padding: 2.1rem 3.6rem;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-clip: padding-box;
}
@media (hover: hover) {
  .home-news__show-all:hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
    color: var(--primary-color);
  }
}
@media only screen and (max-width: 640px) {
  .home-news__show-all {
    order: 10;
    padding: 1.7rem 4rem;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: var(--primary-color);
    color: var(--primary-color);
    border-radius: 0.8rem;
    margin-bottom: 0.8rem;
  }
  .home-news__show-all:link,
  .home-news__show-all:visited {
    color: var(--primary-color);
  }
}
.home-news__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .home-news__arrows {
    display: none;
  }
}
.home-news__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
}
.home-news__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .home-news__arrow:hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .home-news__arrow:hover svg {
    fill: var(--primary-color);
  }
}
.home-news__bottom-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .home-news__bottom-row {
    display: contents;
  }
}
.home-news__left-col {
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media only screen and (max-width: 640px) {
  .home-news__left-col {
    display: contents;
  }
}
.home-news__subscribe-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 2rem 2.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  background: #f5f5f5;
  border-radius: 1.2rem;
  flex-shrink: 1;
  align-self: flex-start;
  transition: background-color 0.2s, color 0.2s;
  color: var(--text-color);
  justify-content: center;
}
.home-news__subscribe-link:link,
.home-news__subscribe-link:visited {
  color: var(--text-color);
}
.home-news__subscribe-link svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
@media (hover: hover) {
  .home-news__subscribe-link:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
  }
}
@media only screen and (max-width: 640px) {
  .home-news__subscribe-link {
    order: 20;
    padding: 1.7rem 3.6rem;
    gap: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    border-radius: 0.8rem;
    align-self: stretch;
  }
  .home-news__subscribe-link svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.home-news__slider-wrapper {
  grid-column: 1/-1 !important;
}
@media only screen and (max-width: 640px) {
  .home-news__slider-wrapper {
    margin-bottom: 2rem;
  }
}
.home-news__slider-wrapper .swiper {
  overflow: visible;
}
.home-news__slider-wrapper .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: 37.2rem;
  padding-right: 2.4rem;
  box-sizing: content-box;
}
.home-news__slider-wrapper .swiper-slide:last-child {
  padding-right: 0;
}
@media only screen and (max-width: 640px) {
  .home-news__slider-wrapper .swiper-slide {
    box-sizing: border-box;
    margin-right: 1.6rem;
    padding: 0;
    width: 30.4rem;
  }
  .home-news__slider-wrapper .swiper-slide:last-child {
    margin-right: 0;
  }
}
.news-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border-radius: 2rem;
  background-color: #fff;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 43.5rem;
  position: relative;
  transition: opacity 0.2s;
  border: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .news-card {
    min-height: 40rem;
    border-radius: 1.2rem;
  }
}
.news-card__image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  margin: -1px -1px 0;
}
@media only screen and (max-width: 640px) {
  .news-card__image-container {
    border-radius: 1.2rem;
  }
}
.news-card__image-container:before {
  content: "";
  display: block;
  padding-bottom: 59.1%;
}
@media only screen and (max-width: 640px) {
  .news-card__image-container:before {
    padding-bottom: 65.4%;
  }
}
.news-card__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-card__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 2rem;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .news-card__content {
    gap: 1rem;
  }
}
.news-card__title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .news-card__title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 110%;
  }
}
.news-card__date {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .news-card__date {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.news-card__bottom-row {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}
.news-card__arrow {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  opacity: 0;
  transition: opacity 0.2s;
}
.news-card__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
@media (hover: hover) {
  .news-card:hover .news-card__arrow {
    opacity: 1;
  }
}
.news-card__desc {
  display: none;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
}
.news-card__desc--desktop-shown {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .news-card__desc {
    display: block;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: #020202b3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.mortgage {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-top: 10rem;
  padding-bottom: 14.6rem;
  background-color: var(--blue);
  color: #fff;
  border-radius: 2.4rem 2.4rem 0px 0px;
  margin-top: -2.4rem;
}
.mortgage--calculator {
  margin: 0;
  border-radius: 0;
  background-color: #f5f5f5;
  padding: 0;
  padding-bottom: 14rem;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .mortgage {
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-radius: 1.2rem 1.2rem 0 0;
    margin-top: -1.2rem;
  }
  .mortgage--calculator {
    padding-top: 0;
    border-radius: 0;
    margin-top: 0;
  }
}
.mortgage__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.mortgage__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__top-row {
    display: contents;
  }
}
.mortgage__heading {
  display: flex;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .mortgage__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.mortgage__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: #ffc0c2;
}
@media only screen and (max-width: 640px) {
  .mortgage__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.mortgage--calculator .mortgage__heading:after {
  background-color: var(--primary-color);
}
.mortgage__show-all {
  margin-left: auto;
  padding: 1.7rem 3.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
  color: #fff;
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
}
.mortgage__show-all:link,
.mortgage__show-all:visited {
  color: #fff;
}
@media (hover: hover) {
  .mortgage__show-all:hover {
    border-color: #fff;
    background-color: #fff;
    color: var(--text-color);
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__show-all {
    order: 30;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    align-self: stretch;
    text-align: center;
    line-height: 100%;
    border-color: #fff;
    width: 100%;
    margin-top: 2rem;
  }
}
.mortgage__bottom-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__bottom-row {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 2.8rem;
  }
  .mortgage--calculator .mortgage__bottom-row {
    display: contents;
  }
}
.mortgage__left-col {
  display: flex;
  flex-direction: column;
  padding-right: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__left-col {
    padding: 0;
  }
  .mortgage--calculator .mortgage__left-col {
    display: contents;
  }
}
.mortgage__right-col {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .mortgage--calculator .mortgage__right-col {
    display: contents;
  }
}
.mortgage__form {
  display: flex;
  flex-direction: column;
}
.mortgage__form-fields {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin-bottom: 4.7rem;
}
.mortgage--calculator .mortgage__form-fields {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage--calculator .mortgage__form-fields {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__form-fields {
    grid-gap: 2rem;
    margin-bottom: 2.5rem;
  }
}
.mortgage__form-field {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.mortgage__calculator-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__calculator-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
    margin-bottom: 2.4rem;
  }
}
.mortgage__form-field-label {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
}
.mortgage--calculator .mortgage__form-field-label {
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-field-label {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.mortgage__form-range {
  position: relative;
}
.mortgage__form-range-input-wrapper {
  position: absolute;
  left: 2.4rem;
  right: 2.4rem;
  bottom: 0;
}
.mortgage__form-range-input-wrapper input[type="range"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 2px;
  background: transparent;
  outline: none;
}
.mortgage__form-range-input-wrapper input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  background: rgb(255, 192, 194);
  cursor: pointer;
  border-radius: 50%;
  margin-top: 1px;
}
.mortgage__form-range-input-wrapper input[type="range"]::-moz-range-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  background: rgb(255, 192, 194);
  cursor: pointer;
  border-radius: 50%;
  outline: none;
  border: none;
}
.mortgage--calculator
  .mortgage__form-range-input-wrapper
  input[type="range"]::-webkit-slider-thumb {
  background-color: var(--primary-color);
}
.mortgage--calculator
  .mortgage__form-range-input-wrapper
  input[type="range"]::-moz-range-thumb {
  background-color: var(--primary-color);
}
@media only screen and (min-width: 641px) {
  .mortgage__results-scroll-wrapper {
    max-height: 70.7rem;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding-right: 1rem;
    scrollbar-gutter: stable;
  }
  .mortgage__results-scroll-wrapper::-webkit-scrollbar {
    background-color: transparent;
    width: 0.4rem;
  }
  .mortgage__results-scroll-wrapper::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 10rem;
  }
  .mortgage__results-scroll-wrapper::-webkit-scrollbar-button {
    display: none;
  }
  .mortgage__results-scroll-wrapper::-webkit-scrollbar-track {
    background-color: transparent;
  }
}
.mortgage__form-range-input-progress {
  position: absolute;
  bottom: 0;
  height: 1px;
  background-color: #ffc0c2;
  transform-origin: left center;
  transform: scaleX(var(--progress, 0));
  left: 0;
  right: 0;
  pointer-events: none;
}
.mortgage--calculator .mortgage__form-range-input-progress {
  background-color: var(--primary-color);
}
.mortgage__form-range-value {
  padding: 0 2.4rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  height: 6rem;
}
.mortgage--calculator .mortgage__form-range-value {
  background-color: #fff;
  border-radius: 0.8rem;
  border-color: #fff;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-range-value {
    height: 5rem;
    border-radius: 0.8rem;
  }
}
.mortgage__form-range-value-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-range-value-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    letter-spacing: 0;
  }
}
.mortgage__form-range-value-percent {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #fff9;
  margin-left: auto;
}
.mortgage--calculator .mortgage__form-range-value-percent {
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-range-value-percent {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    color: #fffc;
    line-height: 120%;
  }
  .mortgage--calculator .mortgage__form-range-value-percent {
    color: #02020280;
  }
}
.mortgage__slider .swiper {
  overflow: visible;
}
@media only screen and (min-width: 641px) {
  .mortgage__slider .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.mortgage__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .mortgage__slider .swiper-slide {
    width: 30rem;
    margin-right: 1.6rem;
  }
  .mortgage__slider .swiper-slide:last-child {
    margin-right: 0;
  }
}
.mortgage__card {
  display: grid;
  grid-template-columns: 1.1fr 1.8fr;
  padding: 3.2rem 4rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 1.6rem;
}
.mortgage--calculator .mortgage__card {
  background-color: #fff;
  border: 1px solid transparent;
  transition: border-color 0.2s;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card {
    grid-template-columns: 1fr 1.8fr;
    align-items: center;
    padding: 2.4rem 4rem;
  }
}
@media (hover: hover) {
  .mortgage--calculator .mortgage__card:hover {
    border-color: var(--primary-color);
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card {
    flex-grow: 1;
    padding: 2rem;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.mortgage__card-title-wrapper {
  display: flex;
  align-items: center;
  grid-column: 1/2;
  gap: 3.2rem;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card-title-wrapper {
    gap: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card-title-wrapper {
    gap: 1.2rem;
  }
}
.mortgage__card-icon {
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  width: 6rem;
  height: 6rem;
  position: relative;
}
.mortgage--calculator .mortgage__card-icon {
  border: none;
  overflow: hidden;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card-icon {
    width: 5.4rem;
    height: 5.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage--calculator .mortgage__card-icon {
    width: 4.4rem;
    height: 4.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card-icon {
    width: 5rem;
    height: 5rem;
  }
}
.mortgage__card-icon-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mortgage__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .mortgage__card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
  }
}
.mortgage__card-features-list {
  grid-column: 2/-1;
  display: flex;
  align-items: flex-start;
  gap: 6rem;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card-features-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: 2rem;
    align-items: center;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card-features-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    grid-gap: 2.8rem;
  }
}
.mortgage__card-features-list-item {
  display: block;
}
.mortgage__card-features-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage--calculator .mortgage__card-features-card {
    gap: 0.6rem;
  }
}
.mortgage__card-features-card--row {
  flex-direction: row;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__card-features-card--row {
    flex-direction: column;
    gap: 0.4rem;
  }
}
.mortgage__card-features-card-amount {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card-features-card-amount {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 120%;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card-features-card-amount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 100%;
  }
}
.mortgage__card-features-card-amount span {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .mortgage__card-features-card-amount span {
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 100%;
    letter-spacing: 0;
  }
}
.mortgage__card-features-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff9;
}
.mortgage__card-features-card-text:only-child {
  color: #fff;
}
.mortgage--calculator .mortgage__card-features-card-text {
  color: #02020299;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__card-features-card-text {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__card-features-card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.mortgage__form-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  gap: 1rem;
  margin-bottom: 3.2rem;
}
@media only screen and (min-width: 641px) {
  .mortgage--calculator .mortgage__form-result {
    margin-top: auto;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__form-result {
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom: 2.8rem;
  }
}
.mortgage__form-result-value-from {
  font-style: normal;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: -0.02em;
  line-height: 110%;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-result-value-from {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    letter-spacing: 0;
  }
}
.mortgage__form-submit {
  display: block;
  text-align: center;
  padding: 2.2rem 2.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--text-color);
  background-color: #fff;
  border-radius: 1.2rem;
  width: 100%;
  transition: color 0.2s, background-color 0.2s;
}
.mortgage__form-submit:link,
.mortgage__form-submit:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .mortgage__form-submit:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
  }
}
.mortgage__form-submit:active {
  color: #0202024d;
  background-color: #fff;
}
.mortgage--calculator .mortgage__form-submit {
  background-color: var(--primary-color);
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  padding: 2.6rem 3rem;
}
@media only screen and (max-width: 640px) {
  .mortgage--calculator .mortgage__form-submit {
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .mortgage--calculator .mortgage__form-submit:hover {
    background-color: var(--primary-color-hover);
    color: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__form-submit {
    padding: 1.8rem 3.6rem;
    display: block;
    text-align: center;
    align-self: stretch;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.mortgage__form-select {
  position: relative;
}
.mortgage__form-select-btn {
  display: flex;
  align-items: center;
  height: 6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  padding: 0 2.4rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.8rem;
  cursor: pointer;
  width: 100%;
  text-align: left;
  gap: 1rem;
}
.mortgage--calculator .mortgage__form-select-btn {
  background-color: #fff;
  border-radius: 0.8rem;
  border-color: #fff;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-select-btn {
    height: 5rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.mortgage__form-select-btn svg {
  flex-shrink: 0;
  fill: currentColor;
  width: 1.4rem;
  height: 1.4rem;
  transition: transform 0.2s;
}
.mortgage__form-select.active .mortgage__form-select-btn svg {
  transform: rotate(180deg);
}
.mortgage__form-select-btn-text {
  min-width: 0;
  width: 30%;
  flex-grow: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mortgage__form-select-dropdown {
  position: absolute;
  left: 0;
  width: 100%;
  top: 100%;
  z-index: 10;
  padding-top: 0.8rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.mortgage__form-select.active .mortgage__form-select-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.mortgage__form-select-dropdown-inner {
  background: #212173;
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 0.2rem 2rem #0000000f;
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  color: #fff;
  overflow: hidden;
}
.mortgage--calculator .mortgage__form-select-dropdown-inner {
  background-color: #fff;
  color: var(--text-color);
  box-shadow: 0 0.2rem 2rem #0000000f;
  border: none;
}
@media only screen and (max-width: 640px) {
  .mortgage__form-select-dropdown-inner {
    border-radius: 0.8rem;
  }
}
.mortgage__form-select-list-item {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.mortgage__form-select-list-item:last-child {
  border: none;
}
.mortgage__form-select-radio {
  display: flex;
  align-items: center;
  padding: 1.8rem 2rem 1.8rem 2.4rem;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-bottom: 1px solid #2c2c7a;
}
.mortgage__form-select-list-item:last-child .mortgage__form-select-radio {
  border: none;
}
.mortgage--calculator .mortgage__form-select-radio {
  border-color: #0202021a;
}
@media (hover: hover) {
  .mortgage__form-select-radio:not(:has(input:checked)):hover {
    background-color: #ffffff0d;
    border-color: #ffffff0d;
  }
}
@media (hover: hover) {
  .mortgage--calculator
    .mortgage__form-select-radio:not(:has(input:checked)):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__form-select-radio {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    padding: 1.6rem 1.9rem 1.6rem 2.4rem;
  }
}
.mortgage__form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.mortgage__form-select-radio-input {
  display: none;
}
.mortgage__form-select-radio-text {
  width: 30%;
  flex-grow: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mortgage__form-select-radio-mark {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  order: 20;
}
.mortgage__form-select-radio-mark:before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border-radius: 50%;
  transition: opacity 0.2s;
  opacity: 0;
}
.mortgage--calculator .mortgage__form-select-radio-mark {
  border-color: #cf000c33;
}
.mortgage--calculator .mortgage__form-select-radio-mark:before {
  background-color: var(--primary-color);
}
.mortgage__form-select-radio-input:checked
  ~ .mortgage__form-select-radio-mark:before {
  opacity: 1;
}
.mortgage__results {
  position: relative;
}
@media only screen and (max-width: 640px) {
  .mortgage__results {
    order: 40;
    margin-top: 2.8rem;
  }
}
.mortgage__results-header {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 100%;
  padding-bottom: 2rem;
  grid-template-columns: 1fr 1.8fr;
  padding-left: 4rem;
  padding-right: 5rem;
  display: grid;
}
@media only screen and (max-width: 640px) {
  .mortgage__results-header {
    display: none;
  }
}
.mortgage__results-header-inner {
  grid-column: 2/3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2rem;
}
.mortgage__results-header-item {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.mortgage__results-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage__results-list {
    gap: 1.2rem;
  }
}
.mortgage__remark {
  margin-top: 2.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .mortgage__remark {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-top: 1.6rem;
  }
}
.mortgage__results-show-more {
  display: block;
  padding: 2.6rem 4rem;
  text-align: center;
  background: #e9e9e9;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  margin-top: 1.6rem;
  transition: background-color 0.2s, color 0.2s;
}
@media (hover: hover) {
  .mortgage__results-show-more:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
  }
}
@media only screen and (max-width: 640px) {
  .mortgage__results-show-more {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 1.7rem 2rem;
    border-radius: 0.8rem;
    margin-top: 2rem;
  }
}
.project-intro {
  position: relative;
  isolation: isolate;
  color: #fff;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  margin-bottom: -2.4rem;
  cursor: none;
}
@media only screen and (max-width: 640px) {
  .project-intro {
    margin-bottom: 0;
  }
}
.project-intro__site-container {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.project-intro__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.project-intro__bg .swiper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  margin: 0;
  width: auto;
}
.project-intro__bg .swiper-wrapper {
  flex-grow: 1;
}
.project-intro__bg .swiper-slide {
  height: auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.project-intro__bg:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 40vh;
  background: linear-gradient(
    to top,
    rgba(0, 20, 122, 0) 0%,
    rgba(0, 20, 122, 0.5) 64.03%
  );
  mix-blend-mode: multiply;
  opacity: 0.5;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .project-intro__bg:after {
    height: 28.4rem;
    background: linear-gradient(
      to top,
      rgba(0, 20, 122, 0) 0%,
      rgba(0, 20, 122, 0.5) 64.03%
    );
    mix-blend-mode: multiply;
    opacity: 0.6;
  }
}
.project-intro__bg-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}
.project-intro__bg-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.project-intro__content {
  min-height: 100vh;
  padding-top: 16rem;
  padding-bottom: 8.2rem;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .project-intro__content {
    padding-top: 11rem;
    padding-bottom: 2rem;
    min-height: 51.6rem;
  }
}
.project-intro__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 9.3rem;
}
@media only screen and (max-width: 640px) {
  .project-intro__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3rem;
  }
}
.project-intro__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #ffffff80;
}
.project-intro__breadcrumbs a:link,
.project-intro__breadcrumbs a:visited {
  color: #ffffff80;
}
.project-intro__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/breadcrumbs-arrow.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .project-intro__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.project-intro__breadcrumbs a:last-child:after {
  display: none;
}
.project-intro__breadcrumbs a.active,
.project-intro__breadcrumbs a.active:link,
.project-intro__breadcrumbs a.active:visited {
  color: #fff;
}
.project-intro__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 11rem;
  line-height: 100%;
  position: relative;
  z-index: 5;
  letter-spacing: -0.03em;
  margin-bottom: 2rem;
  -webkit-user-select: none;
  user-select: none;
}
@media only screen and (max-width: 640px) {
  .project-intro__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 4.2rem;
    line-height: 100%;
    margin-bottom: 2.4rem;
    pointer-events: none;
  }
}
.project-intro__tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .project-intro__tags-list {
    gap: 0.4rem;
    pointer-events: none;
  }
}
.project-intro__tags-list-item {
  flex-shrink: 0;
}
.project-intro__tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 4rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
  cursor: default;
}
@media only screen and (max-width: 640px) {
  .project-intro__tag {
    height: 2.8rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    border-radius: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.project-intro__tag-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
@media only screen and (max-width: 640px) {
  .project-intro__tag-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.project-intro__cursor {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 1px solid white;
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  pointer-events: none;
}
@media only screen and (max-width: 640px) {
  .project-intro__cursor {
    display: none;
  }
}
.project-intro__cursor:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/cursor.svg);
  background-size: contain;
  width: 3.1rem;
  height: 2rem;
}
.project-intro__cursor.flipped:before {
  transform: scaleX(-1);
}
.project-intro__pagination {
  margin-top: auto;
  margin-left: auto;
  width: 7rem;
  height: 7rem;
  position: relative;
  background: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 50%;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .project-intro__pagination {
    display: none;
  }
}
.project-intro__pagination-inner {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 130%;
  display: grid;
  place-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.project-intro__pagination-inner > * {
  display: contents;
}
.project-intro__pagination-progress {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  z-index: -1;
  transform: rotate(-90deg);
  --r: 45;
}
.project-intro__pagination-progress svg {
  display: block;
  width: 100%;
  height: 100%;
}
.project-intro__pagination-progress svg circle:nth-child(2) {
  stroke-dasharray: calc(6.28 * var(--r, 0));
  stroke-dashoffset: calc(6.28 * var(--r, 0) * (100 - var(--p, 0)) / 100);
}
.project-intro__pagination-progress svg circle:nth-child(1) {
  stroke: #fff0;
}
.project-intro__pagination-progress svg circle:nth-child(2) {
  stroke: #fff;
}
.project-intro__bullets {
  display: none;
}
@media only screen and (max-width: 640px) {
  .project-intro__bullets {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    position: relative;
    z-index: 5;
  }
}
.project-intro__bullet {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  transition: background-color 0.2s, width 0.2s, height 0.2s;
  border-radius: 10rem;
  background-color: #ffffffb3;
}
.project-intro__bullet.large {
  background-color: #fff;
  width: 2.4rem;
  height: 0.8rem;
}
.project-intro__bullet.smaller {
  width: 0.6rem;
  height: 0.6rem;
}
.project-intro__bullet.small {
  width: 0.4rem;
  height: 0.4rem;
}
.about-project {
  margin-bottom: 12rem;
  background-color: #fff;
  border-radius: 2.4rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  padding-top: 8rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .about-project {
    padding-top: 6rem;
    border-radius: 0;
    margin-bottom: 6.7rem;
  }
}
.about-project__site-container {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
@media only screen and (max-width: 640px) {
  .about-project__site-container {
    display: flex;
    flex-direction: column;
  }
}
.about-project__top {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 2.8rem;
}
@media only screen and (max-width: 640px) {
  .about-project__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    margin-bottom: 2.4rem;
  }
}
.about-project__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .about-project__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
  }
}
.about-project__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-project__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.about-project__download-link {
  margin-left: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-project__download-link {
    gap: 0.4rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 120%;
    margin: 0;
  }
}
.about-project__download-link svg {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  fill: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-project__download-link svg {
    width: 2rem;
    height: 2rem;
  }
}
@media (hover: hover) {
  .about-project__download-link:hover {
    color: #cf000c;
  }
}
.about-project__bottom {
  display: grid;
  grid-template-columns: 1fr 1.04fr;
  grid-gap: 5.4rem;
  grid-template-areas: "video content";
}
@media only screen and (max-width: 640px) {
  .about-project__bottom {
    display: contents;
  }
}
.about-project__video-wrapper {
  overflow: hidden;
  aspect-ratio: 738/572;
  border-radius: 2rem;
  position: relative;
  grid-area: video;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .about-project__video-wrapper {
    align-self: stretch;
    aspect-ratio: 335/220;
    border-radius: 1.2rem;
    display: block;
    margin-bottom: 3.2rem;
    order: 29;
  }
}
@media (hover: hover) {
  .about-project__video-wrapper:hover .about-project__video-play {
    background-color: #ffffff4d;
  }
}
.about-project__video-preview {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-project__video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: background-color 0.2s;
  background-clip: padding-box;
}
@media only screen and (max-width: 640px) {
  .about-project__video-play {
    width: 6rem;
    height: 6rem;
  }
}
.about-project__video-play svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}
.about-project__text-content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media only screen and (max-width: 640px) {
  .about-project__text-content {
    display: contents;
  }
}
.about-project__text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 150%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .about-project__text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    margin-bottom: 3.2rem;
  }
}
.about-project__text p {
  margin-bottom: 1.5rem;
}
.about-project__text p:last-child {
  margin-bottom: 0;
}
.about-project__text-hidden {
  display: none;
}
.content-shown .about-project__text-hidden {
  display: block;
}
.content-shown .about-project__text-default {
  display: none;
}
.about-project__text-toggle {
  gap: 0.6rem;
  display: flex;
  align-items: flex-start;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  margin-top: 2rem;
  color: #101038;
  transition: color 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-project__text-toggle {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .about-project__text-toggle:hover {
    color: #cf000c;
  }
}
.about-project__text-toggle span:nth-child(2) {
  display: none;
}
.about-project__text-toggle svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
  transition: transform 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-project__text-toggle svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.content-shown .about-project__text-toggle span:nth-child(1) {
  display: none;
}
.content-shown .about-project__text-toggle span:nth-child(2) {
  display: inline;
}
.content-shown .about-project__text-toggle svg {
  transform: rotate(180deg);
}
.about-project__numbers-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .about-project__numbers-list {
    margin: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
    grid-row-gap: 3.2rem;
    order: 30;
  }
}
.about-project__numbers-list-item {
  display: flex;
  flex-direction: column;
}
.about-project__numbers-card {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media only screen and (max-width: 640px) {
  .about-project__numbers-card {
    gap: 0;
  }
}
.about-project__numbers-card-amount {
  font-style: normal;
  font-weight: 300;
  font-size: 6.4rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .about-project__numbers-card-amount {
    font-style: normal;
    font-weight: 400;
    font-size: 4.4rem;
    line-height: 100%;
    letter-spacing: -0.03em;
  }
}
.about-project__numbers-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .about-project__numbers-card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.about-project__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.about-project__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .about-project__modal {
  display: none;
}
.about-project__modal-inner {
  background-color: #fff;
  margin-top: auto;
  padding: 6rem 0;
  border-radius: 2.4rem 2.4rem 0px 0px;
}
@media only screen and (max-width: 640px) {
  .about-project__modal-inner {
    padding: 7rem 2rem 5rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
  }
}
.about-project__modal-player {
  border-radius: 2.4rem;
  overflow: hidden;
  --plyr-color-main: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-project__modal-player {
    border-radius: 1.2rem;
  }
}
.about-project__modal-player video {
  max-width: 100%;
  height: auto;
}
.about-project__modal-video-wrapper {
  width: 70%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .about-project__modal-video-wrapper {
    width: auto;
    margin: 0;
  }
}
.about-project__modal-close {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 1.7rem;
  background-color: #f5f5f5;
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  z-index: 30;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-project__modal-close {
    margin: 0;
    left: auto;
    right: 0;
    bottom: 100%;
    top: auto;
    margin-bottom: 1rem;
    width: 4.4rem;
    height: 4.4rem;
  }
}
.about-project__modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .about-project__modal-close:hover {
    background-color: var(--white-hover);
  }
  .about-project__modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.about-project__iframe-wrapper {
  aspect-ratio: 1280/720;
  position: relative;
}
.about-project__iframe-wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.intro {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 11rem;
  color: #fff;
  padding-top: 8rem;
}
@media only screen and (max-width: 640px) {
  .intro {
    padding-bottom: 6rem;
    padding-top: 8rem;
  }
}
.intro__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.intro__content--fullwidth {
  grid-column-start: main-start;
  grid-column-end: main-end;
}
.intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.5fr) minmax(0, 0.5fr);
  grid-gap: 2.4rem;
  min-height: 70rem;
  grid-auto-rows: 1fr;
}
.intro__content--fullwidth .intro__grid {
  min-height: calc(100vh - 8rem);
}
@media only screen and (max-width: 640px) {
  .intro__grid {
    min-height: auto;
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
  }
  .intro__content--fullwidth .intro__grid {
    min-height: auto;
  }
}
.intro__slider-item {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  grid-row: span 2;
  cursor: none;
}
.intro__slider-item:has(.intro__slider-card-link:hover)
  .intro__slider-item-cursor-inner {
  opacity: 0;
}
.intro__slider-item--wide {
  grid-column: 1/-1;
}
.intro__content--fullwidth .intro__slider-item {
  border-radius: 0;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .intro__slider-item {
    border-radius: 1.2rem;
  }
}
.intro__slider-item-cursor {
  width: 10rem;
  height: 10rem;
  pointer-events: none;
  position: absolute;
  z-index: 2;
  transform: translate(0) translateY(50%);
  opacity: 0;
  transition: opacity 0.2s;
}
.intro__slider-item-cursor.shown {
  opacity: 1;
}
@media only screen and (max-width: 640px) {
  .intro__slider-item-cursor {
    display: none;
  }
}
.intro__slider-item-cursor.flipped .intro__slider-item-cursor-inner:before {
  transform: scaleX(-1);
}
.intro__slider-item-cursor-inner {
  display: block;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  transform: translate(-50%) translateY(-100%);
  border-radius: 50%;
  border: 1px solid white;
  transition: opacity 0.2s;
}
.intro__slider-item-cursor-inner:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/cursor.svg);
  background-size: contain;
  width: 3.1rem;
  height: 2rem;
}
.intro__slider-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.intro__bg-slider-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: flex;
  flex-direction: column;
}
.intro__bg-slider-wrapper .swiper {
  margin: 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.intro__bg-slider-wrapper .swiper-wrapper {
  flex-grow: 1;
}
.intro__bg-slider-wrapper .swiper-slide {
  height: auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.intro__bg-slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}
.intro__bg-slider-card:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  background: linear-gradient(
    to top,
    rgba(0, 20, 122, 0) 0%,
    rgba(0, 20, 122, 0.5) 54.73%
  );
  opacity: 0.5;
  height: 24rem;
  pointer-events: none;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .intro__bg-slider-card:before {
    display: none;
  }
}
.intro__bg-slider-card:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 18rem;
  background: linear-gradient(
    180deg,
    rgba(24, 24, 35, 0) 0%,
    rgba(24, 24, 35, 0.5) 49.68%
  );
  opacity: 0.4;
  pointer-events: none;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .intro__bg-slider-card:after {
    display: none;
  }
}
.intro__bg-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.intro__main-slider-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.intro__main-slider-wrapper .swiper {
  margin: 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.intro__main-slider-wrapper .swiper-wrapper {
  flex-grow: 1;
}
.intro__main-slider-wrapper .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.intro__content--fullwidth .intro__main-slider-wrapper .swiper-slide {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
.intro__slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 4.8rem 4rem 4rem;
  gap: 3rem;
}
.intro__slider-card picture {
  display: contents;
}
.intro__content--fullwidth .intro__slider-card {
  padding-left: 0;
  padding-right: 0;
  grid-column-start: content-start;
  grid-column-end: content-end;
}
@media only screen and (max-width: 640px) {
  .intro__slider-card {
    padding: 3.2rem 2rem 4.8rem;
    min-height: 55rem;
    gap: 2rem;
  }
  .intro__slider-item--mobile-short .intro__slider-card {
    min-height: 42rem;
  }
  .intro__content--fullwidth .intro__slider-card {
    min-height: calc(100vh - 16rem);
    min-height: calc(100svh - 16rem);
  }
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 2rem;
    grid-template-areas: "titlewrapper tags" "link domrf";
    gap: 1.8rem;
    grid-template-rows: 1fr auto;
  }
  .intro__content--fullwidth .intro__slider-card {
    grid-template-areas: "titlewrapper tags" "domrf link";
  }
}
.intro__slider-card-row {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  justify-content: space-between;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-row {
    display: contents;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-row {
    display: contents;
  }
}
.intro__slider-card-left-col {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-left-col {
    display: contents;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-left-col {
    margin-bottom: auto;
  }
}
.intro__slider-card-title-wrapper {
  display: contents;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    grid-area: titlewrapper;
  }
}
.intro__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 11rem;
    line-height: 100%;
    letter-spacing: -0.03em;
    margin-top: -1rem;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 4.2rem;
    letter-spacing: -0.03em;
    text-shadow: 0px 0.4rem 2rem rgba(0, 0, 0, 0.25);
    line-height: 100%;
  }
}
.intro__slider-card-desc {
  margin-top: 0.8rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 115%;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-desc {
    font-style: normal;
    font-weight: 400;
    font-size: 2.4rem;
    max-width: 50.2rem;
    line-height: 130%;
    margin: 0;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-desc {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-top: 2rem;
    max-width: 70%;
  }
}
.intro__slider-card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 2.4rem;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-tags-list {
    grid-area: tags;
    align-self: flex-start;
    justify-self: flex-end;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-tags-list {
    margin-top: 2rem;
    gap: 0.4rem;
  }
}
.intro__slider-card-tags-list-item {
  flex-shrink: 0;
}
.intro__slider-card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 4rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-tag {
    height: 2.8rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    border-radius: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.intro__slider-card-tag-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-tag-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.intro__slider-card-link {
  padding: 2.1rem 4.5rem;
  align-self: flex-start;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  background-color: var(--primary-color);
  transition: background-color 0.2s;
  color: #fff;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  margin-top: auto;
  text-align: center;
  cursor: pointer;
}
.intro__slider-card-link:link,
.intro__slider-card-link:visited {
  color: #fff;
}
@media (hover: hover) {
  .intro__slider-card-link:hover {
    background-color: var(--primary-color-hover);
  }
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-link {
    padding: 2.2rem 3.2rem;
    grid-area: link;
    margin: 0;
    align-self: flex-end;
    justify-self: flex-start;
  }
  .intro__content--fullwidth .intro__slider-card-link {
    justify-self: flex-end;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-link {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    margin: 0;
  }
}
.intro__slider-card-domrf {
  width: 16.9rem;
  margin-left: auto;
  height: auto;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-card-domrf {
    margin: 0;
    grid-area: domrf;
    align-self: flex-end;
    justify-self: flex-end;
  }
  .intro__content--fullwidth .intro__slider-card-domrf {
    align-self: flex-end;
    justify-self: flex-start;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-card-domrf {
    margin: 0;
    width: 5rem;
  }
}
@media only screen and (min-width: 641px) {
  .intro__promo-slider,
  .intro__promo-slider .swiper,
  .intro__promo-slider .swiper-wrapper,
  .intro__promo-slider .swiper-slide {
    display: contents;
  }
}
@media only screen and (max-width: 640px) {
  .intro__promo-slider .swiper {
    overflow: visible;
  }
  .intro__promo-slider .swiper-slide {
    width: 25rem;
    box-sizing: border-box;
    height: auto;
    display: flex;
    flex-direction: column;
    margin-right: 0.8rem;
  }
  .intro__promo-slider .swiper-slide:last-child {
    margin-right: 0;
  }
}
.intro__commercial-card {
  position: relative;
  isolation: isolate;
  border-radius: 2rem;
  overflow: hidden;
  color: var(--primary-color);
  padding: 3.2rem;
  display: flex;
  flex-direction: column;
  background: #fff3f3;
  border: 1px solid rgba(207, 0, 12, 0.1);
  gap: 2rem;
  box-sizing: border-box;
}
.intro__commercial-card:link,
.intro__commercial-card:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .intro__commercial-card:hover .intro__commercial-card-arrow {
    opacity: 1;
  }
}
@media only screen and (min-width: 641px) {
  .intro__commercial-card {
    grid-column: span 2;
  }
}
@media only screen and (max-width: 640px) {
  .intro__commercial-card {
    padding: 1.2rem;
    border-radius: 0.8rem;
    min-height: 10rem;
    border: none;
  }
}
.intro__commercial-card-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.intro__commercial-card-bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.intro__commercial-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 110%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .intro__commercial-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    letter-spacing: 0;
  }
}
.intro__commercial-card-arrow {
  margin-top: auto;
  width: 6rem;
  height: 6rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: var(--primary-color);
  transition: opacity 0.2s;
  opacity: 0;
}
.intro__commercial-card-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
@media only screen and (max-width: 640px) {
  .intro__commercial-card-arrow {
    display: none;
  }
}
.intro__mortgage-card {
  position: relative;
  border-radius: 2rem;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  box-sizing: border-box;
}
@media only screen and (min-width: 641px) {
  .intro__mortgage-card {
    grid-column: span 2;
  }
}
@media only screen and (max-width: 640px) {
  .intro__mortgage-card {
    min-height: 10rem;
    border-radius: 0.8rem;
  }
}
.intro__mortgage-card-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.intro__mortgage-card-bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.intro__mortgage-card-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 3.2rem;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .intro__mortgage-card-content {
    gap: 0.5rem;
    padding: 1.2rem;
  }
}
.intro__mortgage-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 4rem;
  line-height: 105%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .intro__mortgage-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.intro__mortgage-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
  color: #ffffff80;
  transition: opacity 0.2s;
  opacity: 0;
}
@media only screen and (max-width: 640px) {
  .intro__mortgage-card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 0.8rem;
    line-height: 120%;
    opacity: 1;
  }
}
@media (hover: hover) {
  .intro__mortgage-card:hover .intro__mortgage-card-text {
    opacity: 1;
  }
}
.intro__mortgage-card-bottom {
  display: grid;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .intro__mortgage-card-bottom {
    display: none;
  }
}
.intro__mortgage-card-discount {
  padding: 1.5rem 2.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: flex-end;
  line-height: 130%;
  transition: opacity 0.2s;
  background: rgba(16, 16, 56, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
  justify-self: flex-start;
}
@media (hover: hover) {
  .intro__mortgage-card:hover .intro__mortgage-card-discount {
    opacity: 0;
  }
}
.intro__mortgage-card-more {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: flex-end;
  padding: 1.8rem 3.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border: 1px solid #ffffff;
  border-radius: 1.2rem;
  color: #fff;
  line-height: 100%;
  opacity: 0;
  transition: opacity 0.2s, background-color 0.2s, color 0.2s;
  justify-self: flex-start;
  z-index: 5;
}
@media (hover: hover) {
  .intro__mortgage-card:hover .intro__mortgage-card-more {
    opacity: 1;
  }
  .intro__mortgage-card-more:hover {
    background-color: #fff;
    color: var(--blue);
  }
}
.intro__slider-pagination {
  position: absolute;
  z-index: 20;
  right: 4rem;
  bottom: 5.8rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.8rem;
}
@media only screen and (min-width: 641px) {
  .intro__slider-item--wide .intro__slider-pagination {
    bottom: 7.6rem;
    justify-content: center;
    left: 4rem;
    right: 4rem;
    pointer-events: none;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-pagination {
    justify-content: center;
    left: 0;
    right: 0;
    bottom: 2rem;
  }
}
@media only screen and (min-width: 641px) {
  .intro__slider-pagination-bullet {
    flex-shrink: 0;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background-color: #fff6;
    transition: background-color 0.2s, transform 0.2s;
    pointer-events: all;
  }
  .intro__slider-pagination-bullet.large {
    background-color: #fff;
    transform: scale(1.1);
  }
  .intro__content--fullwidth .intro__slider-pagination-bullet {
    flex-shrink: 0;
    width: 0.8rem;
    height: 0.8rem;
    transition: background-color 0.2s, width 0.2s, height 0.2s;
    border-radius: 10rem;
    background-color: #ffffffb3;
  }
  .intro__content--fullwidth .intro__slider-pagination-bullet.large {
    background-color: #fff;
    width: 2.4rem;
    height: 0.8rem;
  }
  .intro__content--fullwidth .intro__slider-pagination-bullet.smaller {
    width: 0.6rem;
    height: 0.6rem;
  }
  .intro__content--fullwidth .intro__slider-pagination-bullet.small {
    width: 0.4rem;
    height: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .intro__slider-pagination-bullet {
    flex-shrink: 0;
    width: 0.8rem;
    height: 0.8rem;
    transition: background-color 0.2s, width 0.2s, height 0.2s;
    border-radius: 10rem;
    background-color: #ffffffb3;
  }
  .intro__slider-pagination-bullet.large {
    background-color: #fff;
    width: 2.4rem;
    height: 0.8rem;
  }
  .intro__slider-pagination-bullet.smaller {
    width: 0.6rem;
    height: 0.6rem;
  }
  .intro__slider-pagination-bullet.small {
    width: 0.4rem;
    height: 0.4rem;
  }
}
.intro__small-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
  border-radius: 2rem;
  position: relative;
  z-index: 1;
  color: #fff;
  min-height: 35.8rem;
}
@media only screen and (max-width: 640px) {
  .intro__small-card {
    display: none;
  }
}
.intro__small-card:link,
.intro__small-card:visited {
  color: #fff;
}
.intro__small-card:hover .intro__small-card-arrow {
  opacity: 1;
}
.intro__small-card-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.intro__card-bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.intro__small-card-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 2rem;
  padding: 3.2rem;
}
.intro__small-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3rem;
  line-height: 110%;
  letter-spacing: -0.03em;
}
.intro__small-card-arrow {
  margin-top: auto;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-color: #cf000c;
  opacity: 0;
  transition: opacity 0.2s;
}
.intro__small-card-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
.page-header {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}
@media only screen and (max-width: 640px) {
  .page-header {
    padding: 2rem 0;
  }
}
.submenu-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 90;
  background: rgba(2, 2, 2, 0.3);
}
@media only screen and (max-width: 640px) {
  .submenu-overlay {
    display: none;
  }
}
body:has(.page-header__nav-list-item:hover .page-header__nav-submenu)
  .submenu-overlay {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.2s, visibility 0.2s;
}
.page-header__inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  min-height: 8rem;
  display: flex;
  align-items: center;
  gap: 12rem;
  justify-content: space-between;
  position: relative;
  z-index: 100;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .page-header__inner {
    gap: 2rem;
    min-height: auto;
  }
}
.page-header__logo {
  flex-shrink: 0;
  position: relative;
}
.page-header__logo-image {
  width: 16rem;
  height: auto;
  display: block;
  transition: opacity 0.2s;
}
.page-header__logo-image:nth-child(2) {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .page-header__logo-image {
    width: 16.4rem;
  }
}
.page-header__nav {
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .page-header__nav {
    display: none;
  }
}
.page-header__nav-list {
  display: flex;
  flex-grow: 1;
  gap: 3.2rem;
}
.page-header__nav-list:has(.page-header__nav-list-item:hover)
  .page-header__nav-list-item:not(:hover)
  .page-header__nav-link {
  opacity: 0.5;
}
.page-header__nav-list-item {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.page-header__nav-list-item:hover .page-header__nav-submenu {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.2s, visibility 0.2s;
}
.page-header__nav-list-item:has(.page-header__nav-submenu):hover
  .page-header__nav-link:before {
  opacity: 1;
}
.page-header__nav-link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  position: relative;
  transition: color 0.2s, opacity 0.2s;
  color: var(--text-color);
}
.page-header__nav-link svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  opacity: 0.5;
  fill: var(--text-color);
  transition: fill 0.2s, opacity 0.2s;
}
.page-header__nav-link:link,
.page-header__nav-link:visited {
  color: var(--text-color);
}
.page-header__nav-link:before {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 0;
  bottom: 0;
  right: 0;
  height: 2px;
  background-color: var(--primary-color);
  transition: background-color 0.2s, opacity 0.2s;
  opacity: 0;
}
.page-header__right-wrapper {
  display: flex;
  align-items: center;
  gap: 12rem;
}
.page-header__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
}
@media only screen and (max-width: 640px) {
  .page-header__contacts {
    display: none;
  }
}
.page-header__phone {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  transition: color 0.2s;
  line-height: 130%;
  color: var(--text-color);
}
.page-header__phone:link,
.page-header__phone:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .page-header__phone:hover {
    color: var(--primary-color);
  }
}
.page-header__schedule {
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  color: #02020266;
  transition: color 0.2s;
}
.page-header__buttons {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .page-header__buttons {
    gap: 0.6rem;
  }
}
.page-header__button {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: background-color 0.2s, border-color 0.2s;
  background-clip: padding-box;
}
.page-header__button svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .page-header__button:hover {
    background-color: #0202021a;
  }
}
.page-header__nav-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding-top: 1.2rem;
  z-index: 50;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0s linear 0.2s;
}
.page-header__nav-submenu-inner {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 1.6rem;
  overflow: hidden;
}
.page-header__nav-submenu-top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  padding: 3.2rem 23rem 10rem;
  grid-template-areas: "aparts complex features";
}
.page-header__nav-submenu-aparts {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  grid-area: aparts;
}
.page-header__nav-submenu-aparts-icon {
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}
.page-header__nav-submenu-aparts-list {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.page-header__nav-submenu-aparts-link {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
.page-header__nav-submenu-aparts-link:hover {
  color: var(--primary-color);
}
.page-header__nav-submenu-complex {
  grid-area: complex;
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  width: max-content;
}
.page-header__nav-submenu-complex-icon {
  width: 2.2rem;
  height: 2.2rem;
  flex-shrink: 0;
  object-fit: contain;
}
.page-header__nav-submenu-complex-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 1.8rem;
}
.page-header__nav-submenu-complex-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
@media (hover: hover) {
  .page-header__nav-submenu-complex-card:hover
    .page-header__nav-submenu-complex-card-title {
    color: var(--primary-color);
  }
}
.page-header__nav-submenu-complex-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  transition: color 0.2s;
}
.page-header__nav-submenu-complex-card-location {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  color: #18182366;
  line-height: 130%;
}
.page-header__nav-submenu-features {
  grid-area: features;
  justify-self: flex-end;
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
.page-header__nav-submenu-features-icon {
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}
.page-header__nav-submenu-features-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.page-header__nav-submenu-features-link {
  display: block;
  text-align: center;
  padding: 1.4rem 1.8rem;
  min-width: 13.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 120%;
  background-color: #f5f5f5;
  border-radius: 0.6rem;
  transition: color 0.2s, background-color 0.2s;
}
@media (hover: hover) {
  .page-header__nav-submenu-features-link:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
  }
}
.page-header__nav-submenu-bottom {
  background: #f5f5f5;
  padding: 3rem 3.2rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-template-areas: "phone social email";
  align-items: center;
}
.page-header__nav-submenu-phone {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  grid-area: phone;
}
@media (hover: hover) {
  .page-header__nav-submenu-phone:hover {
    color: var(--primary-color);
  }
}
.page-header__nav-submenu-email {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  grid-area: email;
  justify-self: flex-end;
}
@media (hover: hover) {
  .page-header__nav-submenu-email:hover {
    color: var(--primary-color);
  }
}
.page-header__nav-submenu-social-list {
  grid-area: social;
  display: flex;
  align-items: center;
  gap: 5rem;
  justify-self: center;
}
.page-header__nav-submenu-social-list-item {
  flex-shrink: 0;
}
.page-header__nav-submenu-social-link {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.page-header__nav-submenu-social-link svg {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  transition: fill 0.2s;
  fill: #ababab;
  margin-top: 0.2em;
}
@media (hover: hover) {
  .page-header__nav-submenu-social-link:hover {
    color: var(--primary-color);
  }
  .page-header__nav-submenu-social-link:hover svg {
    fill: #eaabaf;
  }
}
@media only screen and (min-width: 641px) {
  .page-header__button--burger {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .page-header__button--fav {
    display: none;
  }
}
.mobile-menu {
  display: none;
}
@media only screen and (max-width: 640px) {
  .mobile-menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 120;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    color: var(--text-color);
    padding-top: 2rem;
    padding-bottom: 8rem;
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
  }
  .menu-open .mobile-menu {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.mobile-menu__inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .mobile-menu__top-row {
    gap: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.7rem;
  }
}
.mobile-menu__logo {
  flex-shrink: 0;
}
.mobile-menu__logo-image {
  display: block;
  height: auto;
  width: 16.4rem;
}
.mobile-menu__close {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: background-color 0.2s, border-color 0.2s;
}
.mobile-menu__close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.mobile-menu__nav {
  margin-bottom: 4rem;
}
.mobile-menu__nav-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.mobile-menu__nav-link {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: -0.04em;
}
.mobile-menu__nav-link:active {
  color: #02020299;
}
.mobile-menu__contacts {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.mobile-menu__contacts-phone {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 100%;
}
.mobile-menu__contacts-phone:active {
  color: #02020299;
}
.mobile-menu__schedule {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  color: #02020299;
  line-height: 120%;
  margin-top: 0.8rem;
}
.mobile-menu__email {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 100%;
  margin-top: 2.4rem;
}
.mobile-menu__email:active {
  color: #02020299;
}
.mobile-menu__social-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
  margin-top: auto;
}
.mobile-menu__social-link {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 100%;
}
.mobile-menu__social-link svg {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  fill: #b0b0b0;
}
.bottom-nav {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 140;
}
@media only screen and (max-width: 640px) {
  .bottom-nav {
    background: #ffffff;
    box-shadow: 0 -0.6rem 10rem #00000012;
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.menu-open):has(.project-menu__mobile.active) .bottom-nav {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
}
.bottom-nav__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.bottom-nav__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
.bottom-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 1.7rem;
  padding-bottom: 1.7rem;
  position: relative;
  gap: 0.6rem;
  color: gray;
  transition: color 0.2s;
}
.bottom-nav__link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  background: #cf000c;
  border-radius: 0px 0px 0.4rem 0.4rem;
  width: 4.3rem;
  height: 0.3rem;
  opacity: 0;
  transition: opacity 0.2s;
}
.bottom-nav__link:link,
.bottom-nav__link:visited {
  color: gray;
}
.bottom-nav__link.active {
  color: var(--text-color);
}
.bottom-nav__link.active:before {
  opacity: 1;
}
.bottom-nav__link svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: currentColor;
  flex-shrink: 0;
}
.our-projects {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12.4rem;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .our-projects {
    padding-bottom: 5rem;
  }
}
.our-projects__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.our-projects__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__top-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 2rem;
    gap: 2rem;
  }
}
.our-projects__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .our-projects__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin: 0;
  }
}
.our-projects__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .our-projects__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.our-projects__desktop-btns {
  padding: 0.8rem;
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border-radius: 1.2rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .our-projects__desktop-btns {
    display: none;
  }
}
.our-projects__desktop-btn {
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s, background-color 0.2s, padding 0.2s;
  position: relative;
  line-height: 150%;
  border-radius: 0.8rem;
}
.our-projects__desktop-btn svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  fill: currentColor;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.our-projects__desktop-btn.active {
  background-color: var(--blue);
  color: #fff;
  padding-left: 4.4rem;
}
.our-projects__desktop-btn.active svg {
  opacity: 1;
}
.our-projects__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .our-projects__mobile-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
  }
}
.our-projects__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.our-projects__mobile-btn:link,
.our-projects__mobile-btn:visited {
  color: var(--blue);
}
.our-projects__mobile-btn.active {
  background-color: var(--blue);
  color: #fff;
}
.our-projects__layers {
  position: relative;
}
@media only screen and (min-width: 641px) {
  .our-projects__list-view-layer {
    position: relative;
    z-index: 5;
    transition: opacity 0.4s, visibility 0.4s;
  }
  .our-projects__list-view-layer.hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .our-projects__map-view-layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    z-index: 5;
  }
  .our-projects__map-view-layer.active {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
    position: relative;
    z-index: 10;
  }
}
.our-projects__map {
  position: relative;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.our-projects__map-card {
  position: absolute;
  top: 2rem;
  left: 2rem;
  bottom: 2rem;
  width: 47rem;
  z-index: 15;
  display: flex;
  flex-direction: column;
  animation-name: fadeIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card {
    background: rgba(2, 2, 2, 0.3);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .map-card-shown .our-projects__map-card {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .our-projects__map-card {
    display: none;
  }
}
.our-projects__map-card-mobile-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-mobile-wrapper {
    position: relative;
    display: block;
    margin-top: auto;
  }
}
.our-projects__map-card-close {
  position: absolute;
  left: 100%;
  top: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background-color: #fff;
  transition: background-color 0.2s;
  margin-left: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-close {
    right: 2rem;
    top: 2rem;
    margin: 0;
    width: 4.4rem;
    height: 4.4rem;
    left: auto;
    background: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    z-index: 15;
  }
}
.our-projects__map-card-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-close svg {
    fill: #fff;
  }
}
@media (hover: hover) {
  .our-projects__map-card-close:hover svg {
    fill: var(--primary-color);
  }
}
.our-projects__map-card-inner {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 2rem;
  overflow: hidden;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-inner {
    border-radius: 0;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    flex-grow: 0;
  }
}
.our-projects__map-card-image-container {
  position: relative;
  aspect-ratio: 470/290;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-image-container {
    aspect-ratio: 375/220;
  }
}
.our-projects__map-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.our-projects__map-card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  position: absolute;
  left: 2rem;
  top: 2rem;
  right: 2rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-tags-list {
    gap: 0.4rem;
    left: 2rem;
    top: 2.8rem;
  }
}
.our-projects__map-card-tags-list-item {
  flex-shrink: 0;
}
.our-projects__map-card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 4rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
  color: #fff;
}
.our-projects__map-card-tag--dark {
  background: #101038;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-tag {
    height: 2.8rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    border-radius: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.our-projects__map-card-tag-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-tag-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.our-projects__map-card-content {
  display: flex;
  flex-direction: column;
  padding: 2.4rem;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-content {
    padding: 2rem;
  }
}
.our-projects__map-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
    letter-spacing: -0.04em;
    margin-bottom: 1rem;
  }
}
.our-projects__map-card-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-location {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.our-projects__map-card-location svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
.our-projects__map-card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-specs-list {
    margin-bottom: 2.8rem;
  }
}
.our-projects__map-card-specs-list-item {
  border-bottom: 1px solid #f2f2f2;
}
.our-projects__map-card-specs-card {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem 0;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-specs-card {
    padding: 0.8rem 0;
  }
}
.our-projects__map-card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.our-projects__map-card-specs-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.our-projects__map-card-link {
  padding: 2rem 3.6rem;
  display: block;
  text-align: center;
  background-color: var(--primary-color);
  transition: background-color 0.2s, color 0.2s;
  border-radius: 1.2rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  margin-top: auto;
}
.our-projects__map-card-link:link,
.our-projects__map-card-link:visited {
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-card-link {
    padding: 1.7rem 3.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    margin: 0;
  }
}
@media (hover: hover) {
  .our-projects__map-card-link:hover {
    background-color: var(--primary-color-hover);
  }
}
.our-projects__map-container {
  position: relative;
  min-height: 74rem;
  border-radius: 2rem;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-container {
    min-height: auto;
    flex-grow: 1;
    overflow: visible;
    border-radius: 0;
  }
}
.our-projects__map-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.our-projects__map-marker:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.our-projects__map-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.our-projects__map-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.our-projects__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.our-projects__map-marker-price-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.6rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-left: 2rem;
  width: max-content;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-marker-price-label {
    margin-left: 1rem;
    gap: 0.4rem;
    padding: 1rem 1.2rem;
  }
}
.our-projects__map-marker-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .our-projects__map-marker-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.our-projects__map-marker-price {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-marker-price {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.our-projects__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 3rem;
  }
}
.our-projects__list-item {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 641px) {
  .our-projects__list-item--wide {
    grid-column: span 2;
  }
  .our-projects__list-item--wide .our-projects__card-image-container:before {
    padding-bottom: 50.387%;
  }
}
.our-projects__card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.our-projects__card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  margin-bottom: 2.4rem;
  background-color: var(--blue);
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-image-container {
    border-radius: 1.2rem;
    margin-bottom: 2rem;
  }
}
.our-projects__card-image-container:before {
  content: "";
  padding-bottom: 103.1746%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-image-container:before {
    padding-bottom: 106%;
  }
}
.our-projects__card-image-container:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, #020202 -28.75%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.2s;
  height: 6rem;
  opacity: 0;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-image-container:after {
    opacity: 0.8;
    height: 5rem;
    background: linear-gradient(
      to top,
      rgba(2, 2, 2, 0.8) -28.75%,
      rgba(0, 0, 0, 0) 100%
    );
  }
}
@media (hover: hover) {
  .our-projects__card-image-container:hover:after {
    opacity: 0.8;
  }
}
.our-projects__card-image-container .swiper {
  position: absolute;
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  left: 0;
  top: 0;
}
.our-projects__card-image-container .swiper-wrapper {
  flex-grow: 1;
}
.our-projects__card-image-container .swiper-slide {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: auto;
}
.our-projects__card-pagination {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  bottom: 2.4rem;
  transition: opacity 0.2s;
  opacity: 0;
}
@media (hover: hover) {
  .our-projects__card-image-container:hover .our-projects__card-pagination {
    opacity: 1;
  }
}
@media only screen and (max-width: 640px) {
  .our-projects__card-pagination {
    bottom: 1.6rem;
    opacity: 1;
  }
}
.our-projects__card-pagination .swiper-pagination-bullet {
  flex-shrink: 0;
  border-radius: 50%;
  margin: 0;
  opacity: 1;
  transition: background-color 0.2s, transform 0.2s;
  background-color: #fff6;
  width: 0.6rem;
  height: 0.6rem;
}
.our-projects__card-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #fff;
  transform: scale(1.2);
}
.our-projects__card-slide {
  display: flex;
  flex-direction: column;
  position: relative;
  flex-grow: 1;
}
.our-projects__card-slide-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
}
.our-projects__card-tags {
  position: absolute;
  left: 2.4rem;
  top: 2.4rem;
  right: 2.4rem;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-tags {
    top: 1.6rem;
    left: 1.6rem;
    right: 1.6rem;
  }
}
.our-projects__card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-tags-list {
    gap: 0.4rem;
  }
}
.our-projects__card-tags-list-item {
  flex-shrink: 0;
}
.our-projects__card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 4rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
}
.our-projects__card-tag--dark {
  background: #101038;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-tag {
    height: 2.8rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    border-radius: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.our-projects__card-tag-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-tag-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.our-projects__card-row {
  margin-bottom: 1.6rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-row {
    margin-bottom: 1.2rem;
  }
}
.our-projects__card-row:last-child {
  margin-bottom: 0;
}
.our-projects__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
  }
}
.our-projects__card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.our-projects__card-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .our-projects__card-location {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.our-projects__card-location svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
.our-projects__map-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-close {
    display: block;
    top: 2rem;
    right: 2rem;
    position: absolute;
    width: 4.4rem;
    height: 4.4rem;
    background-color: #fff;
    border-radius: 50%;
    z-index: 40;
  }
  .our-projects__map-close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--text-color);
    transition: fill 0.2s;
  }
}
.our-projects__map-modal {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .our-projects__map-modal {
    background: white;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .map-modal-shown .our-projects__map-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .our-projects__map-modal {
    display: none;
  }
}
.gallery {
  background: var(--white);
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-top: 10rem;
  padding-bottom: 11.5232rem;
  margin-top: -2.4rem;
  border-radius: 2.4rem 2.4rem 0 0;
}
@media only screen and (max-width: 640px) {
  .gallery {
    width: 100%;
    display: block;
    padding-bottom: 6rem;
    padding-top: 4rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.gallery__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .gallery__content {
    gap: 2rem;
  }
}
.gallery__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .gallery__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
    margin-left: 1.6rem;
    margin-right: 1.6rem;
  }
}
.gallery__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .gallery__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.gallery__grid {
  display: flex;
  flex-direction: column;
  border-radius: 1.6rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .gallery__grid {
    flex-direction: column;
  }
}
.gallery-tabs__buttons.swiper {
  display: inline-flex;
  position: absolute;
  z-index: 20;
  top: 3rem;
  left: 3rem;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__buttons.swiper {
    position: relative;
    left: 0;
    top: 0;
    display: flex;
    margin: 0 0 2rem;
  }
}
.gallery-tabs__button.swiper-slide {
  width: auto;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  background: #f5f5f5;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__button.swiper-slide {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
}
.gallery-tabs__button.swiper-slide:first-child {
  border-radius: 1.2rem 0 0 1.2rem;
  padding-left: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__button.swiper-slide:first-child {
    padding-left: 0.4rem;
    border-radius: 0.8rem 0 0 0.8rem;
  }
}
.gallery-tabs__button.swiper-slide:last-child {
  border-radius: 0 1.2rem 1.2rem 0;
  padding-right: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__button.swiper-slide:last-child {
    padding-right: 0.4rem;
    border-radius: 0 0.8rem 0.8rem 0;
  }
}
.gallery-tabs__button.swiper-slide .gallery-tabs__button-text {
  padding: 0.46rem 2rem;
  background-color: transparent;
  color: #666;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  height: 5rem;
  border-radius: 0.8rem;
  font-size: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__button.swiper-slide .gallery-tabs__button-text {
    white-space: nowrap;
    height: 4.2rem;
    padding: 0 2rem;
    font-size: 1.4rem;
  }
}
.gallery-tabs__button.swiper-slide.gallery-tabs__button--active
  .gallery-tabs__button-text,
.gallery-tabs__button.swiper-slide:focus .gallery-tabs__button-text,
.gallery-tabs__button.swiper-slide:hover .gallery-tabs__button-text {
  background-color: #101038;
  color: #fff;
}
.gallery-tabs__list.swiper-wrapper {
  display: flex;
  list-style: none;
  margin: 0;
  justify-content: center;
  flex-direction: row;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__list.swiper-wrapper {
    height: auto;
    justify-content: flex-start;
  }
}
.gallery-tabs__slider {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: hidden;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__slider {
    max-height: 20rem;
  }
}
.gallery-tabs__slider .swiper-slide {
  width: auto;
}
.gallery-tabs__slider-card {
  display: block;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__slider-card {
    width: 300px;
  }
}
.gallery-tabs__slider-card-image {
  max-width: 100%;
  height: auto;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .gallery-tabs__slider-card-image {
    max-width: unset;
    height: 200px;
    width: 100%;
  }
}
.gallery-tabs__slider--active {
  display: block;
  opacity: 1;
  visibility: visible;
}
.gallery-nav {
  margin-bottom: 2rem;
  position: absolute;
  z-index: 20;
  right: 3rem;
  top: 3rem;
  background: #fff;
  padding: 0.8rem;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .gallery-nav {
    display: none;
  }
}
.gallery-nav__swipper {
  width: 100%;
}
.gallery-nav__wrapper {
  display: flex;
}
.gallery-nav__slide {
  width: auto;
  height: 7rem;
  opacity: 0.6;
  cursor: pointer;
}
.gallery-nav__slide-content {
  width: 10rem;
  height: 7rem;
}
.gallery-nav__slide-image {
  width: 10rem;
  height: 7rem;
  object-fit: cover;
  border-radius: 0.4rem;
}
.gallery-nav__slide.active,
.gallery-nav__slide.swiper-slide-thumb-active {
  opacity: 1;
}
.gallery ~ .other {
  padding-bottom: 13.2rem;
}
@media only screen and (max-width: 640px) {
  .gallery ~ .other {
    padding-bottom: 8.9rem;
  }
}
.flat-plan {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 11rem;
  padding-top: 6rem;
  background: var(--white);
}
@media only screen and (max-width: 640px) {
  .flat-plan {
    padding-bottom: 7.2rem;
  }
}
.flat-plan__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .flat-plan__left {
    width: 100%;
  }
}
.flat-plan__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.917fr) minmax(0, 1fr);
  grid-gap: 6.95364rem;
  min-height: 70rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan__grid {
    min-height: 40rem;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 2rem;
  }
}
.flat-plan-tabs {
  position: relative;
  background: var(--light-gray);
  padding: 4rem 4rem 2.4rem;
  box-sizing: border-box;
  border-radius: 1.2rem;
  text-align: center;
  width: auto;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs {
    padding: 0 0 1.6rem;
  }
}
.flat-plan-tabs-nav.swiper {
  display: inline-block;
  border-radius: 0;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs-nav.swiper {
    width: 100%;
    display: block;
    background: transparent;
  }
}
.flat-plan-tabs__nav {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-start;
  height: 6.6rem;
  border-radius: 0;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__nav {
    padding: 0;
    background: transparent;
  }
}
.flat-plan-tabs__nav.swiper-wrapper {
  width: auto;
  padding: 0;
  border-radius: 0;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__nav.swiper-wrapper {
    width: 100%;
  }
}
.flat-plan-tabs__nav-item {
  width: auto;
}
.flat-plan-tabs__nav-item.swiper-slide {
  width: auto;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  background: var(--white);
}
.flat-plan-tabs__nav-item.swiper-slide:last-child {
  padding-right: 0.8rem;
  border-radius: 0 1.2rem 1.2rem 0;
}
.flat-plan-tabs__nav-item.swiper-slide:first-child {
  padding-left: 0.8rem;
  border-radius: 1.2rem 0 0 1.2rem;
}
.flat-plan-tabs__nav-item-text {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  height: 5rem;
  border-radius: 0.8rem;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__nav-item-text {
    height: 4.2rem;
    font-size: 1.4rem;
  }
}
.flat-plan-tabs__nav-item.active span {
  background: var(--blue-dark);
  color: var(--white);
}
.flat-plan-tabs__image {
  mix-blend-mode: multiply;
  height: auto;
  max-height: 50vh;
  width: max-content;
}
.flat-plan-tabs__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  cursor: grab;
}
.flat-plan-tabs__image-draggable {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.flat-plan-tabs__content {
  position: relative;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.6rem;
  display: none;
  min-height: 53.4rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__content {
    min-height: 33.5rem;
    margin-bottom: 0;
    padding: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__content.flat-plan-tab-1 {
    padding: 4.8rem;
  }
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__content.flat-plan-tab-2 {
    padding: 4.8rem;
  }
}
.flat-plan-tabs__content.active {
  display: flex;
}
.flat-plan-tabs__content.flat-plan-tab-3 .flat-plan-tabs__image,
.flat-plan-tabs__content.flat-plan-tab-4 .flat-plan-tabs__image {
  border-radius: 1.2rem;
  mix-blend-mode: normal;
}
.flat-plan-tabs__content.flat-plan-tab-3 .flat-plan-tabs__image-genplan,
.flat-plan-tabs__content.flat-plan-tab-4 .flat-plan-tabs__image-genplan {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  cursor: grab;
}
.flat-plan-tabs__content.flat-plan-tab-3 .flat-plan__compass,
.flat-plan-tabs__content.flat-plan-tab-4 .flat-plan__compass {
  right: 3rem;
  top: 3rem;
  border: 0;
}
.flat-plan-tabs__content.flat-plan-tab-3 .flat-plan__compass-image,
.flat-plan-tabs__content.flat-plan-tab-4 .flat-plan__compass-image {
  width: 8rem;
  height: 8rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__content.flat-plan-tab-3 .flat-plan__compass-image,
  .flat-plan-tabs__content.flat-plan-tab-4 .flat-plan__compass-image {
    width: 4rem;
    height: 4rem;
  }
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__content.flat-plan-tab-4 {
    min-height: unset;
  }
}
.flat-plan-tabs__content__svg {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.flat-plan-tabs__controls {
  position: absolute;
  right: 3rem;
  z-index: 20;
}
.flat-plan-tabs__control {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2.1rem;
  gap: 1rem;
  width: 4.4rem;
  height: 4.4rem;
  background: var(--white);
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.3s;
  cursor: pointer;
  color: var(--primary-color);
}
.flat-plan-tabs__control:first-child {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__control {
    width: 5rem;
    height: 5rem;
  }
}
.flat-plan-tabs__control svg {
  width: 2rem;
  height: 2rem;
}
.flat-plan-tabs__control:focus,
.flat-plan-tabs__control:hover {
  background-color: var(--blue-dark);
  color: var(--white);
  outline: none;
}
.flat-plan-tabs__control:disabled {
  background-color: #a0a0a080;
  color: var(--text-color);
  cursor: default;
  border: 1px solid rgba(160, 160, 160, 0.5);
}
.flat-plan-tabs__zoom {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 53.4rem;
  overflow: hidden;
  border-radius: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan-tabs__zoom {
    min-height: 30.5rem;
  }
}
.flat-plan-tabs__section-label {
  font-size: 1.6rem;
  font-weight: 700;
  text-anchor: middle;
}
.flat-plan-tabs__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.flat-plan__streets {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.flat-plan__street {
  position: absolute;
  opacity: 0.5;
  font-size: 1.2rem;
}
.flat-plan__street-top {
  left: 50%;
  transform: translate(-50%);
  top: 0;
}
@media only screen and (max-width: 640px) {
  .flat-plan__street-top {
    top: 1.6rem;
  }
}
.flat-plan__street-bottom {
  left: 50%;
  transform: translate(-50%);
  bottom: 0;
}
@media only screen and (max-width: 640px) {
  .flat-plan__street-bottom {
    bottom: 1.6rem;
  }
}
.flat-plan__street-right {
  right: 0;
  bottom: 50%;
  transform: translateY(50%) rotate(180deg);
  transform-origin: center;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 640px) {
  .flat-plan__street-right {
    right: 1.6rem;
  }
}
.flat-plan__street-left {
  left: 0;
  bottom: 50%;
  transform: translateY(50%) rotate(180deg);
  transform-origin: center;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 640px) {
  .flat-plan__street-left {
    left: 1.6rem;
  }
}
.flat-plan__compass {
  position: absolute;
  right: 0;
  top: 0;
  box-sizing: border-box;
  border: 0.1rem solid #ebebeb;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .flat-plan__compass {
    top: 1.6rem;
    right: 1.6rem;
  }
}
.flat-plan__compass-image {
  width: 6rem;
  height: 6rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan__compass-image {
    width: 4rem;
    height: 4rem;
  }
}
@media only screen and (max-width: 640px) {
  .flat-plan-right {
    width: 100%;
  }
}
.flat-plan-right__head {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  margin-bottom: 1.8rem;
  margin-top: 1rem;
}
.flat-plan-right__name {
  font-size: 3rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .flat-plan-right__name {
    font-size: 2.6rem;
  }
}
.flat-plan-right__actions {
  display: flex;
  gap: 0.8rem;
}
.flat-plan-right__actions-button {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.8rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: background-color 0.2s, border-color 0.2s;
  background-clip: padding-box;
}
@media only screen and (max-width: 640px) {
  .flat-plan-right__actions-button--fav,
  .flat-plan-right__actions-button--print,
  .flat-plan-right__actions-button--share {
    display: none;
  }
}
.flat-plan-right__actions-button svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.flat-plan-right__actions-button:hover,
.flat-plan-right__actions-button:focus {
  background-color: #0202021a;
}
.flat-plan-right__actions-button.mobile-button {
  display: none;
}
@media only screen and (max-width: 640px) {
  .flat-plan-right__actions-button.mobile-button--fav {
    display: block;
    border-color: transparent;
    color: #cf000c4d;
  }
  .flat-plan-right__actions-button.mobile-button:hover,
  .flat-plan-right__actions-button.mobile-button:focus {
    background: transparent;
  }
}
.flat-plan-right__prices {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan-right__prices {
    margin-bottom: 3.2rem;
  }
}
.flat-plan-right__price {
  display: flex;
  flex-direction: column;
}
.flat-plan-right__price:first-child {
  gap: 0.3rem;
}
.flat-plan-right__price:last-child {
  gap: 0.2rem;
}
.flat-plan-right__price-full {
  font-size: 2.6rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .flat-plan-right__price-full {
    font-size: 2rem;
  }
}
.flat-plan-right__price-m2 {
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.flat-plan-right__price-mortgage {
  font-size: 1.6rem;
  line-height: 150%;
  order: 2;
  text-align: right;
}
.flat-plan-right__price-mortgage--text {
  font-size: 1.6rem;
  color: #02020280;
  order: 1;
  text-align: right;
}
.flat-plan-properties {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.4rem;
}
.flat-plan-properties__row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.flat-plan-properties__col:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .flat-plan-properties__col:first-child {
    font-size: 1.4rem;
  }
}
.flat-plan-properties__col:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .flat-plan-properties__col:last-child {
    font-size: 1.4rem;
  }
}
.flat-plan-properties__sub-title {
  font-size: 1.4rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.8rem;
}
.flat-plan-tags {
  display: flex;
  justify-content: flex-start;
  gap: 0.4rem;
  align-items: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.flat-plan-tag {
  padding: 1.22rem 1.622rem;
  text-align: center;
  border-radius: 0.6rem;
  background: var(--light-gray);
  font-size: 1.2rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  cursor: default;
}
.flat-plan-tag__icon {
  width: 1.2rem;
  height: auto;
}
.flat-plan-tag--pink {
  background: rgba(207, 0, 12, 0.05);
  color: var(--primary-color);
}
.flat-plan-tag--blue {
  background: var(--light-blue);
}
.flat-plan__accordion {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan__accordion {
    margin-bottom: 2rem;
  }
}
.flat-plan__accordion-title {
  font-weight: 500;
  font-size: 1.6rem;
  color: var(--blue);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 5rem;
  gap: 0.8rem;
  cursor: pointer;
}
.flat-plan__accordion-content {
  max-height: 0;
  overflow: hidden;
}
.flat-plan__accordion-content.active {
  max-height: 100%;
}
.flat-plan__buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan__buttons {
    justify-content: center;
    position: fixed;
    bottom: 0;
    z-index: 1000;
    background: var(--white);
    left: 0;
    right: 0;
    margin-bottom: 0;
    padding: 2rem;
    border-top: 1px solid rgba(2, 2, 2, 0.05);
    box-shadow: 0 2px 20px #0000000f;
  }
}
.flat-plan__button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}
.flat-plan__button--red {
  max-width: 25.6rem;
  background: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
.flat-plan__button--red:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
.flat-plan__button--border {
  max-width: 24rem;
  color: var(--primary-color);
  border-color: var(--primary-color);
}
.flat-plan__button--border:hover {
  background-color: var(--white-hover);
}
.flat-plan__payments-input {
  display: none;
}
.flat-plan__payments-input:checked + label {
  background: rgba(207, 0, 12, 0.05);
  border: 1px solid rgba(207, 0, 12, 0.15);
}
.flat-plan__payments-input:checked + label:after {
  content: "";
  position: absolute;
  right: 2.9rem;
  top: 2.9rem;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  background: var(--primary-color);
  border-radius: 2.4rem;
}
.flat-plan__payment {
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 1.2rem;
  transition: background-color 0.3s, border-color 0.3s;
  margin-bottom: 1.6rem;
  gap: 4rem;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment {
    padding: 2rem;
    gap: 2rem;
  }
}
.flat-plan__payment-head {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-head {
    gap: 1.6rem;
  }
}
.flat-plan__payment-title {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-title {
    font-size: 2rem;
  }
}
.flat-plan__payment-text {
  font-size: 1.6rem;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-text {
    font-size: 1.4rem;
  }
}
.flat-plan__payment-actions {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-actions {
    flex-direction: column;
    gap: 2rem;
  }
}
.flat-plan__payment-price {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-price {
    width: 100%;
    order: 1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.flat-plan__payment-price-item {
  font-size: 2rem;
  text-align: right;
  letter-spacing: -0.02em;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-price-item {
    font-size: 1.6rem;
  }
}
.flat-plan__payment-price-text {
  font-size: 1.4rem;
  color: #02020280;
}
.flat-plan__payment-button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  max-width: 18rem;
  height: 4.4rem;
  font-size: 1.4rem;
  border: 1px solid var(--primary-color);
  transition: background-color 0.2s, color 0.2s;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .flat-plan__payment-button {
    width: 100%;
    order: 2;
    max-width: unset;
    height: 5rem;
    border-radius: 0.8rem;
  }
}
.flat-plan__payment-button:hover {
  background-color: var(--white-hover);
}
.flat-plan__payment:before {
  content: "";
  position: absolute;
  right: 2.4rem;
  top: 2.4rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid rgba(207, 0, 12, 0.2);
  border-radius: 2.4rem;
  box-sizing: border-box;
}
.flat-plan__payment:last-of-type {
  margin-bottom: 0;
}
.flat-plan__payment:hover {
  border-color: #0202021a;
  background: rgba(207, 0, 12, 0.05);
}
#flat-plan__text {
  font-size: 1.4rem;
  line-height: 130%;
  fill: #181823;
}
.breadcrumbs {
  padding-top: 12rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background: #fff;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs {
    padding-top: 10rem;
  }
}
.breadcrumbs-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-column-start: content-start;
  grid-column-end: content-end;
  gap: 1rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs-nav {
    gap: 0.4rem;
  }
}
.breadcrumbs__item {
  display: inline-flex;
  gap: 1rem;
  color: #02020280;
  white-space: nowrap;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs__item {
    gap: 0.4rem;
    align-items: center;
  }
}
.breadcrumbs__item:last-child {
  width: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs__link {
    font-size: 1.2rem;
  }
}
.breadcrumbs__text {
  color: var(--text-color);
  text-overflow: ellipsis;
  overflow: hidden;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .breadcrumbs__text {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .breadcrumbs__divider svg {
    width: 8px;
    height: 8px;
  }
}
@media only screen and (min-width: 641px) {
  .filters {
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
    background-color: #fff;
    padding-bottom: 11rem;
  }
}
@media only screen and (max-width: 640px) {
  .filters {
    background: rgba(2, 2, 2, 0.4);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .filters.active {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .filters {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .filters__content {
    grid-column-start: content-start;
    grid-column-end: content-end;
    display: flex;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .filters__content {
    margin-top: auto;
    background-color: #fff;
    padding: 0 var(--content-padding);
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
  }
}
.filters__form {
  display: flex;
  flex-direction: column;
}
.filters__form-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.376fr) minmax(
      0,
      1.028fr
    ) auto;
  grid-gap: 2.4rem;
  align-items: flex-end;
}
@media only screen and (max-width: 640px) {
  .filters__form-wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}
.filters__form-fields {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .filters__form-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 2.5rem;
  }
}
.filters__form-submit {
  display: block;
  text-align: center;
  flex-shrink: 0;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  background-color: var(--primary-color);
  transition: background-color 0.2s, color 0.2s;
  padding: 2.2rem 2.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  color: #fff;
}
@media (hover: hover) {
  .filters__form-submit:hover {
    background-color: var(--primary-color-hover);
  }
}
@media only screen and (max-width: 640px) {
  .filters__form-submit {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    margin-bottom: 0.8rem;
  }
}
.filters__form-field {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.filters__form-field-label {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020266;
}
@media only screen and (max-width: 640px) {
  .filters__form-field-label {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.filters__form-select {
  position: relative;
}
.filters__form-select-btn {
  display: block;
  width: 100%;
  text-align: left;
  height: 6rem;
  gap: 1rem;
  background: #f5f5f5;
  border-radius: 1.2rem;
  padding: 0 2.4rem;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .filters__form-select-btn {
    height: 5rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.filters__form-select-btn svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  fill: var(--text-color);
  transition: transform 0.2s;
  margin-top: 0.2rem;
}
.filters__form-select.active .filters__form-select-btn svg {
  transform: rotate(180deg);
}
.filters__form-select-btn-text {
  width: 30%;
  flex-grow: 1;
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.filters__form-select-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding-top: 0.6rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 50;
}
.news-head__sort.active .filters__form-select-dropdown,
.catalog__sort.active .filters__form-select-dropdown,
.parking-project__sort.active .filters__form-select-dropdown,
.parking-project__plan-sort.active .filters__form-select-dropdown,
.parking-house__sort.active .filters__form-select-dropdown,
.boxrooms-project__sort.active .filters__form-select-dropdown,
.boxrooms__sort.active .filters__form-select-dropdown,
.boxrooms-house__sort.active .filters__form-select-dropdown,
.filters__form-select.active .filters__form-select-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.filters__form-select-dropdown-inner {
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  display: flex;
  flex-direction: column;
  box-shadow: 0 0.2rem 2rem #0000000f;
  border-radius: 1.2rem;
  overflow: hidden;
}
.filters__form-select-list {
  display: flex;
  flex-direction: column;
}
.filters__form-select-radio {
  display: block;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.8rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  position: relative;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .filters__form-select-radio {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.filters__form-select-radio:before {
  content: "";
  position: absolute;
  background-color: #0202021a;
  bottom: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  pointer-events: none;
  transition: opacity 0.2s;
}
.filters__form-select-list-item:last-child .filters__form-select-radio:before {
  display: none;
}
@media (hover: hover) {
  .filters__form-select-radio:not(:has(input:checked)):hover {
    background-color: #cf000c0d;
  }
  .filters__form-select-radio:not(:has(input:checked)):hover:before {
    opacity: 0;
  }
  .filters__form-select-radio:not(:has(input:checked)):hover
    .filters__form-select-radio-mark {
    border-color: var(--primary-color);
  }
}
.filters__form-select-radio-input {
  display: none;
}
.filters__form-select-radio-text {
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.filters__form-select-radio-input[type="radio"]
  ~ .filters__form-select-radio-mark {
  order: 30;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border: 1px solid rgba(207, 0, 12, 0.2);
  transition: border-color 0.2s;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: background-color 0.2s, border-color 0.2s;
  margin-left: auto;
}
.filters__form-select-radio-input[type="radio"]
  ~ .filters__form-select-radio-mark:before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--primary-color);
  transition: opacity 0.2s;
  opacity: 0;
  display: block;
}
.filters__form-select-radio-input[type="radio"]:checked
  ~ .filters__form-select-radio-mark {
  border-color: #cf000c33;
}
.filters__form-select-radio-input[type="radio"]:checked
  ~ .filters__form-select-radio-mark:before {
  opacity: 1;
}
.filters__form-select-radio-input[type="checkbox"]
  ~ .filters__form-select-radio-mark {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  border: 1px solid rgba(207, 0, 12, 0.2);
  border-radius: 0.4rem;
  transition: background-color 0.2s, border-color 0.2s;
  display: grid;
  place-items: center;
}
.filters__form-select-radio-input[type="checkbox"]
  ~ .filters__form-select-radio-mark:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/checkmark.svg);
  transition: opacity 0.2s;
  opacity: 0;
}
.filters__form-select-radio-input[type="checkbox"]:checked
  ~ .filters__form-select-radio-mark {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
.filters__form-select-radio-input[type="checkbox"]:checked
  ~ .filters__form-select-radio-mark:before {
  opacity: 1;
}
.filters__form-checkboxes-group {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .filters__form-checkboxes-group {
    gap: 0.4rem;
  }
}
.filters__form-checkboxes-group-item {
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .filters__form-checkboxes-group-item {
    flex-grow: 1;
  }
}
.filters__form-checkboxes-group-item-input {
  display: none;
}
.filters__form-checkboxes-group-item-content {
  transition: background-color 0.2s, color 0.2s;
  padding: 1.7rem 2.4rem;
  background: #f5f5f5;
  border-radius: 0.8rem;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .filters__form-checkboxes-group-item-content {
    padding: 1.6rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 120%;
  }
}
.filters__form-checkboxes-group-item-input:checked
  ~ .filters__form-checkboxes-group-item-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.filters__form-range-slider {
  background: #f5f5f5;
  border-radius: 1.2rem;
  padding: 1.8rem 2.4rem;
  position: relative;
}
.filters__form-range-slider-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.filters__form-range-slider-input-wrapper:first-child {
  padding-right: 2rem;
  border-right: 1px solid rgba(2, 2, 2, 0.1);
}
.filters__form-range-slider-input-wrapper:last-child {
  padding-left: 2rem;
}
.filters__form-range-slider-input-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.filters__form-range-slider-input-label-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #02020233;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .filters__form-range-slider-input-label-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.filters__form-range-slider-numeric-input {
  width: 20%;
  flex-grow: 1;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .filters__form-range-slider-numeric-input {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.filters__form-range-slider-element {
  position: absolute;
  bottom: 0;
  left: 2.4rem;
  right: 2.4rem;
}
.filters__form-range-slider-element-inner.noUi-target {
  box-shadow: none;
  height: 2px;
  border: none;
  background: transparent;
  border-radius: 0;
}
.filters__form-range-slider-element-inner .noUi-connects {
  border-radius: 4px;
}
.filters__form-range-slider-element-inner .noUi-connect {
  background: var(--primary-color);
}
.filters__form-range-slider-element-inner.noUi-horizontal .noUi-origin {
  height: 100%;
}
.filters__form-range-slider-element-inner.noUi-horizontal .noUi-handle {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  top: 100%;
  right: 0;
  margin-top: -7px;
  margin-right: -6px;
  cursor: pointer;
  border: none;
  background-color: var(--primary-color);
  box-shadow: none;
}
.filters__form-range-slider-element-inner.noUi-horizontal .noUi-handle:after {
  content: "";
  position: absolute;
  background-color: var(--primary-color) !important;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block !important;
  border-radius: 50%;
}
.filters__form-range-slider-element-inner .noUi-handle:after,
.filters__form-range-slider-element-inner .noUi-handle:before {
  display: none;
}
.filters__form-range-slider-element-inner .noUi-handle {
  outline: none;
}
.filters__form-range-slider-element-inner .noUi-handle:focus {
  outline: none;
}
.filters__top-row {
  display: none;
}
@media only screen and (max-width: 640px) {
  .filters__top-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: 2rem;
  }
}
.filters__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3rem;
  line-height: 110%;
  letter-spacing: -0.05em;
}
.filters__close {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background-color: #f5f5f5;
}
.filters__close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
}
.filters__form-reset {
  display: none;
}
@media only screen and (max-width: 640px) {
  .filters__form-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    gap: 0.4rem;
    text-align: center;
    color: #02020280;
  }
  .filters__form-reset:link,
  .filters__form-reset:visited {
    color: #02020280;
  }
  .filters__form-reset svg {
    flex-shrink: 0;
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.filters__form-reset-btn {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  justify-content: space-between;
  padding: 1.8rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  position: relative;
  transition: background-color 0.2s;
}
.filters__form-reset-btn:before {
  content: "";
  position: absolute;
  background-color: #0202021a;
  bottom: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  pointer-events: none;
  transition: opacity 0.2s;
}
.filters__form-reset-btn svg {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  fill: #b2b2b2;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .filters__form-reset-btn:hover {
    background-color: #cf000c0d;
  }
  .filters__form-reset-btn:hover svg {
    fill: var(--primary-color);
  }
  .filters__form-reset-btn:hover:before {
    opacity: 0;
  }
}
.documents {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 14rem;
}
@media only screen and (max-width: 640px) {
  .documents {
    padding-bottom: 6rem;
  }
}
.documents__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.documents__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .documents__row {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.documents__left-col {
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .documents__left-col {
    display: contents;
  }
}
.documents__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .documents__heading {
    display: flex;
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin: 0;
  }
  .documents__heading:after {
    content: "";
    flex-shrink: 0;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background-color: var(--primary-color);
  }
}
.documents__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .documents__arrows {
    display: none;
  }
}
.documents__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s, opacity 0.2s;
}
.documents__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.documents__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
.documents__arrow.swiper-button-lock {
  display: none;
}
@media (hover: hover) {
  .documents__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .documents__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.documents__slider {
  grid-column: 2/-1;
}
@media only screen and (max-width: 640px) {
  .documents__slider .swiper {
    overflow: visible;
  }
}
.documents__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: auto;
  margin-right: 2.4rem;
  width: calc(33.33% - 1.6rem);
}
@media only screen and (max-width: 640px) {
  .documents__slider .swiper-slide {
    margin-right: 1.6rem;
    width: 30.4rem;
  }
}
.documents__slider .swiper-slide:last-child {
  margin-right: 0;
}
.documents__slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #f5f5f5;
  border-radius: 1.6rem;
  padding: 3rem;
  gap: 2.4rem;
  min-height: 27.2rem;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card {
    padding: 2.4rem 2rem 2rem;
    border-radius: 1.2rem;
    min-height: 23.8rem;
    gap: 1.6rem;
  }
}
@media (hover: hover) {
  .documents__slider-card:hover .documents__slider-card-bottom-row svg {
    fill: var(--primary-color);
  }
}
.documents__slider-card-date {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  color: #02020280;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card-date {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.documents__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
    letter-spacing: -0.04em;
  }
}
.documents__slider-card-block {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
  margin-top: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card-block {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-top: 1.2rem;
  }
}
.documents__slider-card-bottom-row {
  margin-top: auto;
  display: flex;
  align-items: center;
}
.documents__slider-card-bottom-row svg {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  transition: fill 0.2s;
  margin-left: auto;
  fill: #02020266;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card-bottom-row svg {
    width: 2rem;
    height: 2rem;
  }
}
.documents__slider-card-size {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .documents__slider-card-size {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.subscribe-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 641px) {
  .subscribe-modal {
    padding: 4rem 0;
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
  }
}
.subscribe-modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .subscribe-modal {
  display: none;
}
.subscribe-modal__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-self: center;
  justify-self: center;
  max-width: 57rem;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .subscribe-modal__content {
    grid-column-start: content-start;
    grid-column-end: content-end;
  }
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__content {
    max-width: none;
    align-self: flex-end;
    justify-self: stretch;
    margin-top: auto;
  }
}
.subscribe-modal__content-inner {
  background-color: #fff;
  border-radius: 2.4rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__content-inner {
    border-radius: 1.2rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.subscribe-modal__image-wrapper {
  position: relative;
  overflow: hidden;
}
.subscribe-modal__image-wrapper:before {
  content: "";
  display: block;
  padding-bottom: 52.6%;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__image-wrapper:before {
    padding-bottom: 58.6%;
  }
}
.subscribe-modal__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.subscribe-modal__text-content {
  display: flex;
  flex-direction: column;
  padding: 3.2rem 3rem 4rem;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__text-content {
    padding: 0 var(--content-padding);
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }
}
.subscribe-modal__title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__title {
    font-style: normal;
    font-weight: 400;
    font-size: 2.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    margin-bottom: 2.4rem;
  }
}
.subscribe-modal__form {
  display: flex;
  flex-direction: column;
}
.subscribe-modal__form-fields {
  margin-bottom: 1.6rem;
}
.subscribe-modal__form-field {
  position: relative;
  z-index: 1;
}
.subscribe-modal__form-field .validation-error {
  position: absolute;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  right: 0;
  top: 5rem;
  line-height: 130%;
  color: #cf000c;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  margin-top: -0.1rem;
  pointer-events: none;
}
.subscribe-modal__form-field .validation-error:before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  right: 2.6rem;
  bottom: 100%;
  margin-bottom: -0.1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/error-tail.svg);
}
.subscribe-modal__input {
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 1.2rem;
  height: 6rem;
  padding: 0 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
}
.subscribe-modal__input::placeholder {
  color: #02020266;
}
.subscribe-modal__input.not-valid {
  color: #ff6266;
  background-image: url(../images/error.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 2rem center;
}
.subscribe-modal__input.not-valid::placeholder {
  color: #ff6266;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__input {
    height: 5rem;
    border: 1px solid rgba(2, 2, 2, 0.1);
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.subscribe-modal__submit {
  display: block;
  text-align: center;
  margin-bottom: 2.4rem;
  color: #fff;
  background-color: var(--primary-color);
  padding: 2rem 4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
}
.subscribe-modal__submit:link,
.subscribe-modal__submit:visited {
  color: #fff;
}
@media (hover: hover) {
  .subscribe-modal__submit:hover {
    background-color: var(--primary-color-hover);
  }
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__submit {
    margin-bottom: 2.4rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
  }
}
.subscribe-modal__policy {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__policy {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.subscribe-modal__policy a,
.subscribe-modal__policy a:link,
.subscribe-modal__policy a:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .subscribe-modal__policy a:hover {
    color: var(--primary-color);
  }
}
.subscribe-modal__close {
  position: absolute;
  left: 100%;
  top: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  margin-left: 1.2rem;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .subscribe-modal__close {
    margin: 0;
    right: 2rem;
    top: 2rem;
    left: auto;
    width: 4.4rem;
    height: 4.4rem;
    z-index: 10;
  }
}
.subscribe-modal__close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .subscribe-modal__close:hover svg {
    fill: var(--primary-color);
  }
}
.planning {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 13rem;
}
@media only screen and (max-width: 640px) {
  .planning {
    padding-bottom: 7rem;
  }
}
.planning__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.planning__top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .planning__top-row {
    display: contents;
  }
}
.planning__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .planning__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.planning__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .planning__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.planning__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .planning__arrows {
    display: none;
  }
}
.planning__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s, opacity 0.2s;
}
.planning__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.planning__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
.planning__arrow.swiper-button-lock {
  display: none;
}
@media (hover: hover) {
  .planning__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .planning__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.planning__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(33.33% - 1.6rem);
  margin-right: 2.4rem;
}
.planning__slider .swiper-slide:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .planning__slider .swiper-slide {
    width: 30.4rem;
    margin-right: 1.6rem;
  }
  .planning__slider .swiper-slide:last-child {
    margin-right: 0;
  }
}
.planning__slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #f5f5f5;
  border-radius: 1.6rem;
  padding: 3rem;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card {
    padding: 2rem;
    border-radius: 1.6rem;
  }
}
.planning__slider-card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-top-row {
    margin-bottom: 0.8rem;
  }
}
.planning__slider-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 115%;
  letter-spacing: -0.02em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 2rem;
    line-height: 125%;
    letter-spacing: -0.04em;
  }
}
.planning__slider-card-count {
  padding: 1.1rem 2.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  background: #daefff;
  line-height: 120%;
  color: #101038;
  text-align: center;
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-count {
    padding: 0.8rem 1.2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    border-radius: 0.4rem;
    line-height: 120%;
  }
}
.planning__slider-card-image-container {
  position: relative;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-image-container {
    margin-bottom: 0.8rem;
  }
}
.planning__slider-card-image-container:before {
  content: "";
  display: block;
  padding-bottom: 70.9%;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-image-container:before {
    padding-bottom: 100%;
  }
}
.planning__slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.planning__slider-card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
  margin-bottom: 2.8rem;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-specs-list {
    gap: 1.2rem;
    padding-bottom: 1.6rem;
    margin-bottom: 2rem;
  }
}
.planning__slider-card-specs-card {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  justify-content: space-between;
}
.planning__slider-card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.planning__slider-card-specs-card-value {
  font-style: normal;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-specs-card-value {
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 100%;
    letter-spacing: -0.04em;
  }
}
.planning__slider-card-specs-link {
  margin-top: auto;
  display: block;
  text-align: center;
  padding: 2rem 4rem;
  border: 1px solid #101038;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: #101038;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
}
.planning__slider-card-specs-link:link,
.planning__slider-card-specs-link:visited {
  color: #101038;
}
@media (hover: hover) {
  .planning__slider-card-specs-link:hover {
    background-color: #101038;
    color: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .planning__slider-card-specs-link {
    padding: 1.7rem 2.8rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.construction-progress {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 13.7rem;
  background-color: #fff;
  padding-top: 10rem;
  border-top-left-radius: 2.4rem;
  border-top-right-radius: 2.4rem;
  margin-top: -2.4rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress {
    padding-top: 4rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
    margin-top: -1.2rem;
    padding-bottom: 5.7rem;
  }
}
.construction-progress__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.construction-progress__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.construction-progress__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .construction-progress__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.construction-progress__top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__top-row {
    margin-bottom: 2rem;
    display: contents;
  }
}
.construction-progress__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .construction-progress__arrows {
    display: none;
  }
}
.construction-progress__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
}
.construction-progress__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.construction-progress__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
@media (hover: hover) {
  .construction-progress__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .construction-progress__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.construction-progress__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(25% - 1.8rem);
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider .swiper-slide {
    width: 30.4rem;
    margin-right: 1.6rem;
  }
}
.construction-progress__slider .swiper-slide:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider .swiper {
    overflow: visible;
  }
}
.construction-progress__slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.construction-progress__slider-card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider-card-image-container {
    border-radius: 1.2rem;
  }
}
.construction-progress__slider-card-image-container:before {
  content: "";
  display: block;
  padding-bottom: 80.6%;
}
.construction-progress__slider-card-live {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  padding: 0.5rem 1.2rem;
  background: rgba(24, 24, 35, 0.2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 2rem;
  top: 2rem;
  left: 2rem;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider-card-live {
    padding: 0.6rem 1.2rem;
    gap: 0.4rem;
    background: rgba(24, 24, 35, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
    top: 1.6rem;
    left: 1.6rem;
  }
}
.construction-progress__slider-card-live:after {
  content: "";
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  margin-top: 0.1em;
}
.construction-progress__slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
}
.construction-progress__slider-card-content {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6rem;
  row-gap: 0.8rem;
}
.construction-progress__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
  }
}
.construction-progress__slider-card-date {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .construction-progress__slider-card-date {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.construction-progress__filters-mobile-btn {
  display: none;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-mobile-btn {
    padding: 0 2rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: #020202;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 2rem;
  }
  .construction-progress__filters-mobile-btn svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.construction-progress__filters-fields {
  display: flex;
  align-items: flex-end;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 4rem;
    align-items: stretch;
  }
}
.construction-progress__filters-field {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  width: 25rem;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-field {
    width: auto;
    gap: 0.8rem;
  }
}
.construction-progress__filters-field-label {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020266;
}
.construction-progress__select {
  position: relative;
}
.construction-progress__select-btn {
  display: block;
  width: 100%;
  text-align: left;
  height: 6rem;
  gap: 1rem;
  background: #f5f5f5;
  border-radius: 1.2rem;
  padding: 0 2.4rem;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .construction-progress__select-btn {
    height: 5rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.construction-progress__select-btn svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  fill: var(--text-color);
  transition: transform 0.2s;
  margin-top: 0.2rem;
}
.construction-progress__select.active .construction-progress__select-btn svg {
  transform: rotate(180deg);
}
.construction-progress__select-btn-text {
  width: 30%;
  flex-grow: 1;
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.construction-progress__select-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding-top: 0.6rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 50;
}
@media only screen and (max-width: 640px) {
  .construction-progress__select-dropdown {
    padding-top: 0;
    padding-bottom: 0.6rem;
    top: auto;
    bottom: 100%;
  }
}
.construction-progress__select.active .construction-progress__select-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.construction-progress__select-dropdown-inner {
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  display: flex;
  flex-direction: column;
  box-shadow: 0 0.2rem 2rem #0000000f;
  border-radius: 1.2rem;
  overflow: hidden;
}
.construction-progress__select-list {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  max-height: 30rem;
  overscroll-behavior-x: contain;
}
@media only screen and (max-width: 640px) {
  .construction-progress__select-list {
    max-height: 20rem;
  }
}
.construction-progress__select-list::-webkit-scrollbar {
  background-color: #fff;
  width: 8px;
}
.construction-progress__select-list::-webkit-scrollbar-thumb {
  background-color: #e6e6e6;
  height: 1rem;
  border: 3px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
}
.construction-progress__select-list::-webkit-scrollbar-button {
  display: none;
}
.construction-progress__select-list::-webkit-scrollbar-track {
  background-color: #fff;
}
.construction-progress__select-radio {
  display: block;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.8rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  position: relative;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .construction-progress__select-radio {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.construction-progress__select-radio:before {
  content: "";
  position: absolute;
  background-color: #0202021a;
  bottom: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  pointer-events: none;
  transition: opacity 0.2s;
}
.construction-progress__select-list-item:last-child
  .construction-progress__select-radio:before {
  display: none;
}
.construction-progress__select-radio:has(input:checked) {
  cursor: default;
}
@media (hover: hover) {
  .construction-progress__select-radio:not(:has(input:checked)):hover {
    background-color: #cf000c0d;
  }
  .construction-progress__select-radio:not(:has(input:checked)):hover:before {
    opacity: 0;
  }
  .construction-progress__select-radio:not(:has(input:checked)):hover
    .construction-progress__select-radio-mark {
    border-color: var(--primary-color);
  }
}
.construction-progress__select-radio-input {
  display: none;
}
.construction-progress__select-radio-text {
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.construction-progress__select-radio-mark {
  order: 30;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border: 1px solid rgba(207, 0, 12, 0.2);
  transition: border-color 0.2s;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.construction-progress__select-radio-mark:before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--primary-color);
  transition: opacity 0.2s;
  opacity: 0;
  display: block;
}
.construction-progress__select-radio-input:checked
  ~ .construction-progress__select-radio-mark {
  border-color: #cf000c33;
}
.construction-progress__select-radio-input:checked
  ~ .construction-progress__select-radio-mark:before {
  opacity: 1;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-modal {
    background: rgba(2, 2, 2, 0.4);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .construction-filters-shown .construction-progress__filters-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .construction-progress__filters-modal {
    display: none;
  }
}
.construction-progress__filters-modal-inner {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-modal-inner {
    margin-top: auto;
    background-color: #fff;
    padding: 0 var(--content-padding);
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    display: block;
  }
}
.construction-progress__filters-top-row {
  display: none;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
  }
}
.construction-progress__filters-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3rem;
  letter-spacing: -0.05em;
  line-height: 110%;
}
.construction-progress__filters-close {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  margin-left: auto;
  background: #f5f5f5;
}
.construction-progress__filters-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
}
.construction-progress__filters-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-btns {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}
.construction-progress__filters-submit {
  display: block;
  text-align: center;
  flex-shrink: 0;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  background-color: var(--primary-color);
  transition: background-color 0.2s, color 0.2s;
  padding: 2.2rem 2.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  color: #fff;
}
@media (hover: hover) {
  .construction-progress__filters-submit:hover {
    background-color: var(--primary-color-hover);
  }
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-submit {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    margin: 0;
  }
}
.construction-progress__filters-reset {
  display: none;
}
@media only screen and (max-width: 640px) {
  .construction-progress__filters-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    gap: 0.4rem;
    text-align: center;
    color: #02020280;
  }
  .construction-progress__filters-reset:link,
  .construction-progress__filters-reset:visited {
    color: #02020280;
  }
  .construction-progress__filters-reset svg {
    flex-shrink: 0;
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.construction-progress__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.construction-progress__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .construction-progress__modal {
  display: none;
}
.construction-progress__modal-inner {
  background-color: #fff;
  margin-top: auto;
  padding: 6rem 0;
  border-radius: 2.4rem 2.4rem 0px 0px;
}
@media only screen and (max-width: 640px) {
  .construction-progress__modal-inner {
    padding: 7rem 2rem 5rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
  }
}
.construction-progress__modal-player {
  border-radius: 2.4rem;
  overflow: hidden;
  --plyr-color-main: #cf000c;
}
@media only screen and (max-width: 640px) {
  .construction-progress__modal-player {
    border-radius: 1.2rem;
  }
}
.construction-progress__modal-player video {
  max-width: 100%;
  height: auto;
}
.construction-progress__modal-video-wrapper {
  width: 70%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .construction-progress__modal-video-wrapper {
    width: auto;
    margin: 0;
  }
}
.construction-progress__modal-close {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 1.7rem;
  background-color: #f5f5f5;
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  z-index: 30;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .construction-progress__modal-close {
    margin: 0;
    left: auto;
    right: 0;
    bottom: 100%;
    top: auto;
    margin-bottom: 1rem;
    width: 4.4rem;
    height: 4.4rem;
  }
}
.construction-progress__modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .construction-progress__modal-close:hover {
    background-color: var(--white-hover);
  }
  .construction-progress__modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.construction-progress__iframe-wrapper {
  aspect-ratio: 1280/720;
  position: relative;
}
.construction-progress__iframe-wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.similar-flats {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-top: 6rem;
  border-radius: 3.2rem 3.2rem 0 0;
  padding-bottom: 12rem;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .similar-flats {
    padding-bottom: 7rem;
    padding-top: 4rem;
    width: 100%;
    display: block;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.similar-flats__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.similar-flats__top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .similar-flats__top-row {
    display: flex;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    margin-bottom: 0;
    width: 100%;
  }
}
.similar-flats__heading {
  display: flex;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .similar-flats__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 4rem;
  }
}
.similar-flats__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .similar-flats__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.similar-flats__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .similar-flats__arrows {
    display: none;
  }
}
.similar-flats__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 0;
  transition: border-color 0.2s, background-color 0.2s, opacity 0.2s;
  background: var(--white);
}
.similar-flats__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.similar-flats__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
.similar-flats__arrow.swiper-button-lock {
  display: none;
}
@media (hover: hover) {
  .similar-flats__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .similar-flats__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.similar-flats__slider .swiper-slide.similar-flats__slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(20% - 2rem);
  margin-right: 2.4rem;
  overflow: visible;
  transform: unset;
}
.similar-flats__slider .swiper-slide.similar-flats__slide:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .similar-flats__slider .swiper-slide.similar-flats__slide {
    width: 30.4rem;
    margin-right: 1.6rem;
  }
  .similar-flats__slider .swiper-slide.similar-flats__slide:last-child {
    margin-right: 0;
  }
}
.news-detail {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-top: 7.3rem;
  background: #ffffff;
  padding-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail {
    padding-top: 3.2rem;
  }
}
.news-detail__wrapper {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}
@media only screen and (max-width: 640px) {
  .news-detail__wrapper {
    gap: 0;
  }
}
.news-detail__left {
  width: 100%;
  max-width: 24rem;
}
.news-detail__right {
  max-width: 90rem;
  width: 100%;
}
.news-detail__title {
  max-width: 90rem;
}
.news-detail__title-text {
  font-weight: 400;
  font-size: 5rem;
  line-height: 110%;
  letter-spacing: -0.03em;
  color: var(--text-color);
  margin-bottom: 4.6rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__title-text {
    font-weight: 400;
    font-size: 2.3rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 2rem;
  }
}
.news-detail__image {
  margin-bottom: 5.4rem;
  margin-top: 3.5rem;
  border-radius: 2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__image {
    border-radius: 1.2rem;
  }
}
.news-detail__image div {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
  margin-top: 0.9rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__image div {
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.news-detail__image img {
  border-radius: 2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__image img {
    border-radius: 1.2rem;
  }
}
.news-detail__content p {
  font-size: 1.8rem;
  line-height: 128%;
  color: #020202cc;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__content p {
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.news-detail__content a {
  color: #212173;
  font-weight: 500;
}
.news-detail__content h2 {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--text-color);
  margin-bottom: 4rem;
  margin-top: 7rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__content h2 {
    font-size: 2rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 2rem;
    margin-top: 5.5rem;
  }
}
.news-detail__content h3 {
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: var(--text-color);
  margin-bottom: 3.7rem;
  margin-top: 7.3rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__content h3 {
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 2rem;
    margin-top: 5.5rem;
  }
}
.news-detail__content h4 {
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: var(--text-color);
  margin-bottom: 3.7rem;
  margin-top: 7.3rem;
}
.news-detail__content ul {
  list-style: none;
  max-width: 63.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 7.5rem;
  margin-top: -1.1rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__content ul {
    gap: 0.5rem;
    margin-bottom: 4rem;
  }
}
.news-detail__content ul li {
  padding-left: 1.7rem;
  position: relative;
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 130%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .news-detail__content ul li {
    font-size: 1.4rem;
  }
}
.news-detail__content ul li:before {
  position: absolute;
  content: "";
  background-image: url('data:image/svg+xml,<svg width="6" height="7" viewBox="0 0 6 7" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="3" cy="3.5" r="3" fill="%23212173"/></svg>');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.6rem;
  height: 0.6rem;
  left: 0;
  top: 0.8rem;
}
.news-detail__content ol {
  max-width: 63.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 7.5rem;
  margin-top: -1.1rem;
  list-style-type: none;
  counter-reset: item;
}
@media only screen and (max-width: 640px) {
  .news-detail__content ol {
    gap: 0.5rem;
    margin-bottom: 4rem;
  }
}
.news-detail__content ol li {
  padding-left: 3.9rem;
  position: relative;
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 130%;
  color: #020202cc;
  counter-increment: item;
}
@media only screen and (max-width: 640px) {
  .news-detail__content ol li {
    font-size: 1.4rem;
    padding-left: 2.1rem;
  }
}
.news-detail__content ol li:before {
  position: absolute;
  left: 0;
  top: 0;
  content: counter(item) ". ";
}
.news-detail blockquote {
  max-width: calc(100% - 20rem);
}
@media only screen and (max-width: 640px) {
  .news-detail blockquote {
    max-width: 100%;
    padding-left: 6.6rem;
  }
}
.news-detail blockquote p {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .news-detail blockquote p {
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.news-detail__announce {
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--text-color);
  margin-bottom: 3.9rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__announce {
    font-size: 1.8rem;
    line-height: 125%;
    letter-spacing: -0.04em;
    margin-bottom: 2.4rem;
  }
}
.news-detail__video {
  margin-bottom: 7.5rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0;
  grid-template-areas: "video content";
}
@media only screen and (max-width: 640px) {
  .news-detail__video {
    margin-bottom: 5.6rem;
  }
}
.news-detail__video-wrapper {
  overflow: hidden;
  aspect-ratio: 900/480;
  border-radius: 2rem;
  position: relative;
  grid-area: video;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .news-detail__video-wrapper {
    align-self: stretch;
    aspect-ratio: 335/220;
    border-radius: 1.2rem;
    display: block;
    margin-bottom: 0;
    order: 29;
  }
}
@media (hover: hover) {
  .news-detail__video-wrapper:hover .news-detail__video-play {
    background-color: #ffffff4d;
  }
}
.news-detail__video-preview {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-detail__video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: background-color 0.2s;
  background-clip: padding-box;
}
@media only screen and (max-width: 640px) {
  .news-detail__video-play {
    width: 6rem;
    height: 6rem;
  }
}
.news-detail__video-play svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}
.news-detail__blockquote {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 4rem 3.8rem 3.5rem 12rem;
  gap: 3.8rem;
  width: 100%;
  height: auto;
  background: #212173;
  border-radius: 2rem;
  position: relative;
  margin-bottom: 7.4rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote {
    padding: 2rem 1.6rem 2rem 0;
    flex-wrap: wrap;
    gap: 3.2rem;
    margin-bottom: 5.6rem;
  }
}
.news-detail__blockquote-avatar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 14rem;
  align-items: center;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-avatar {
    flex-direction: row;
    gap: 1.4rem;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
    padding-left: 2rem;
  }
}
.news-detail__blockquote-avatar-img {
  background: var(--white);
  border: 2px solid var(--white);
  border-radius: 100%;
  overflow: hidden;
  width: 12rem;
  height: 12rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-avatar-img {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.news-detail__blockquote-avatar p {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 140%;
  color: var(--white);
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-avatar p {
    font-size: 1.4rem;
    text-align: left;
  }
}
.news-detail__blockquote-avatar p span {
  font-size: 14px;
  line-height: 130%;
  color: #ffffff80;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-avatar p span {
    display: block;
    font-size: 1.2rem;
  }
}
.news-detail__blockquote-img {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 4rem;
  top: 4rem;
  width: 4.8rem;
  height: 4.8rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: #a5d9ff;
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-img {
    width: 3.2rem;
    height: 3.2rem;
    left: 2rem;
    top: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .news-detail__blockquote-img svg {
    width: 1rem;
    height: 1rem;
  }
}
.news-detail__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.news-detail__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .news-detail__modal {
  display: none;
}
.news-detail__modal-inner {
  background-color: #fff;
  margin-top: auto;
  padding: 6rem 0;
  border-radius: 2.4rem 2.4rem 0px 0px;
}
@media only screen and (max-width: 640px) {
  .news-detail__modal-inner {
    padding: 7rem 2rem 5rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
  }
}
.news-detail__modal-player {
  border-radius: 2.4rem;
  overflow: hidden;
  --plyr-color-main: #cf000c;
}
@media only screen and (max-width: 640px) {
  .news-detail__modal-player {
    border-radius: 1.2rem;
  }
}
.news-detail__modal-player video {
  max-width: 100%;
  height: auto;
}
.news-detail__modal-video-wrapper {
  width: 70%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .news-detail__modal-video-wrapper {
    width: auto;
    margin: 0;
  }
}
.news-detail__modal-close {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 1.7rem;
  background-color: #f5f5f5;
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  z-index: 30;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .news-detail__modal-close {
    margin: 0;
    left: auto;
    right: 0;
    bottom: 100%;
    top: auto;
    margin-bottom: 1rem;
    width: 4.4rem;
    height: 4.4rem;
  }
}
.news-detail__modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .news-detail__modal-close:hover {
    background-color: var(--white-hover);
  }
  .news-detail__modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.news-detail__iframe-wrapper {
  aspect-ratio: 1280/720;
  position: relative;
}
.news-detail__iframe-wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.news-detail-form {
  width: 100%;
  margin: 8rem auto 9.4rem;
  display: flex;
  border-radius: 2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail-form {
    border-radius: 1.2rem;
    flex-direction: column;
    margin: 5.6rem auto;
  }
}
.news-detail-form__image {
  overflow: hidden;
  border-radius: 2rem 0 0 2rem;
  width: 35.5rem;
}
@media only screen and (max-width: 640px) {
  .news-detail-form__image {
    width: 100%;
    border-radius: 1.2rem;
  }
}
.news-detail-form__image img {
  border-radius: 2rem 0 0 2rem;
}
@media only screen and (max-width: 640px) {
  .news-detail-form__image img {
    border-radius: 1.2rem;
    width: 100%;
  }
}
.news-detail-form .subscribe-block {
  margin-top: 0;
  max-width: 54.6rem;
}
.news-detail-form .subscribe-form {
  background: var(--light-gray);
  flex-direction: column;
  padding: 3.6rem 4rem 3.1rem;
  gap: 3.5rem;
  border-radius: 0 2rem 2rem 0;
}
@media only screen and (max-width: 640px) {
  .news-detail-form .subscribe-form {
    border-radius: 1.2rem;
    padding: 2.4rem 0 0;
    gap: 2rem;
    background: var(--white);
  }
}
.news-detail-form .subscribe-form__right {
  max-width: 100%;
}
.news-detail-form .subscribe-form__text {
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .news-detail-form .subscribe-form__text {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 640px) {
  .news-detail-form .subscribe-form__text span {
    font-size: 1.8rem;
    display: inline;
    color: var(--text-color);
    margin-top: 0;
  }
}
.news-detail-form .subscribe-form__row {
  flex-direction: column;
  gap: 1.6rem;
}
.news-detail-form .subscribe-form__input {
  border: 1px solid rgba(2, 2, 2, 0.1);
  color: var(--text-color);
  background: var(--white);
}
.news-detail-form .subscribe-form__input::placeholder {
  color: #02020280;
}
.news-detail-form .subscribe-form__input:focus {
  border-color: #020202;
}
.news-detail-form .subscribe-form__input.not-valid {
  color: #ff6266;
}
.news-detail-form .subscribe-form__input.not-valid::placeholder {
  color: #ff6266;
}
.news-detail-form .subscribe-form__submit {
  width: 100%;
  background: var(--primary-color);
  color: var(--white);
}
.news-detail-form .subscribe-form__policy {
  color: #02020280;
  margin-top: 2rem;
}
.news-detail-form .subscribe-form__policy a {
  color: var(--text-color);
}
.news-detail-form .subscribe-form__policy a:focus,
.news-detail-form .subscribe-form__policy a:hover {
  color: var(--blue);
}
.news-detail__slider {
  margin-top: 7.5rem;
  margin-bottom: 4rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider {
    margin-top: 5.6rem;
  }
}
.news-detail__slider-swiper {
  border-radius: 20px;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider-swiper {
    border-radius: 1.2rem;
  }
}
.news-detail__slider-item {
  aspect-ratio: 1032/620;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider-item {
    aspect-ratio: 335/200;
  }
}
.news-detail__slider-item-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-detail__slider-fullscreen-btn {
  z-index: 10;
  position: absolute;
  right: 3.2rem;
  top: 3.2rem;
  width: 6rem;
  height: 6rem;
  background: rgba(24, 24, 35, 0.15);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.8rem;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider-fullscreen-btn {
    display: none;
  }
}
.news-detail__slider-fullscreen-btn svg {
  fill: #fff;
  display: block;
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .news-detail__slider-fullscreen-btn:hover {
    background-color: #ffffff4d;
  }
}
.news-detail__slider__arrows {
  position: absolute;
  display: flex;
  align-items: center;
  right: 3.2rem;
  bottom: 3.2rem;
  gap: 0.8rem;
  z-index: 30;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider__arrows {
    display: none;
  }
}
.news-detail__slider__arrow {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  display: block;
  background: rgba(24, 24, 35, 0.2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  transition: background-color 0.2s, opacity 0.2s;
}
.news-detail__slider__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
.news-detail__slider__arrow.swiper-button-disabled {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}
.news-detail__slider__arrow:not(.swiper-button-disabled):hover {
  background-color: #ffffff4d;
}
.news-detail__slider-pagination {
  display: none;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    gap: 0.8rem;
    position: absolute;
    z-index: 10;
  }
}
.news-detail__slider-pagination-bullet {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  transition: background-color 0.2s, width 0.2s, height 0.2s;
  border-radius: 10rem;
  background-color: #ffffffb3;
}
.news-detail__slider-pagination-bullet.large {
  background-color: #fff;
  width: 2.4rem;
  height: 0.8rem;
}
.news-detail__slider-pagination-bullet.smaller {
  width: 0.6rem;
  height: 0.6rem;
}
.news-detail__slider-pagination-bullet.small {
  width: 0.4rem;
  height: 0.4rem;
}
.news-detail__slider-fraction-pagination {
  margin-top: auto;
  margin-left: auto;
  width: 7rem;
  height: 7rem;
  position: absolute;
  left: 3.2rem;
  bottom: 3.2rem;
  background: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 50%;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .news-detail__slider-fraction-pagination {
    display: none;
  }
}
.news-detail__slider-fraction-pagination-inner {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 130%;
  display: grid;
  place-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.news-detail__slider-fraction-pagination-inner > * {
  display: contents;
}
.news-detail__slider-fraction-pagination-progress {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  z-index: -1;
  transform: rotate(-90deg);
  --r: 45;
  z-index: 20;
}
.news-detail__slider-fraction-pagination-progress svg {
  display: block;
  width: 100%;
  height: 100%;
}
.news-detail__slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke-dasharray: calc(6.28 * var(--r, 0));
  stroke-dashoffset: calc(6.28 * var(--r, 0) * (100 - var(--p, 0)) / 100);
}
.news-detail__slider-fraction-pagination-progress svg circle:nth-child(1) {
  stroke: #fff0;
}
.news-detail__slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke: #fff;
}
.news-detail__link-back {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: block;
  margin-bottom: 4.6rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__link-back {
    margin-bottom: 3.2rem;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.news-detail__link-back svg {
  transform: rotate(180deg);
  width: 0.8rem;
  height: auto;
  margin-right: 0.3rem;
  position: relative;
  top: 0.2rem;
  margin-left: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__link-back svg {
    width: 0.6rem;
    top: 0;
  }
}
.news-detail__date {
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__date {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .news-detail__left-bottom {
    display: none;
  }
}
.news-detail__share {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background: var(--white);
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.2s, border-color 0.2s;
  background-clip: padding-box;
}
.news-detail__share svg {
  width: 4rem;
  height: 4rem;
}
.news-detail__share:focus,
.news-detail__share:hover {
  background-color: #0202021a;
}
.news-detail__share:focus svg,
.news-detail__share:hover svg {
  color: #cf000c;
}
.share-content {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.2rem;
  gap: 0.4rem;
  background: #ffffff;
  box-shadow: -0.2rem 0.2rem 2rem #0000000f;
  border-radius: 1.2rem;
  margin-top: 1.2rem;
}
.share-content.active {
  display: flex;
}
.share-content a.share-content__link {
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  display: flex;
  align-items: center;
  height: 4.2rem;
  padding: 0;
  border-radius: 0.8rem;
  width: 100%;
  position: relative;
}
.share-content a.share-content__link svg {
  width: 4rem;
  height: 4rem;
  color: var(--primary-color);
}
.share-content a.share-content__link:first-child {
  margin-bottom: 1.6rem;
}
.share-content a.share-content__link:first-child:after {
  position: absolute;
  bottom: -1.1rem;
  content: "";
  left: 0;
  right: 0;
  height: 1px;
  background: var(--light-gray);
}
.share-content a.share-content__link:hover,
.share-content a.share-content__link:focus {
  background: rgba(207, 0, 12, 0.05);
}
.news-detail__bottom-share {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.news-detail__bottom-share-title {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202b3;
}
@media only screen and (max-width: 640px) {
  .news-detail__bottom-share-title {
    font-size: 1.4rem;
  }
}
.news-detail__bottom-share-buttons {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.news-detail__bottom-share-button-link {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background: var(--white);
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.2s, border-color 0.2s;
  background-clip: padding-box;
}
@media only screen and (max-width: 640px) {
  .news-detail__bottom-share-button-link {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.news-detail__bottom-share-button-link svg {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 640px) {
  .news-detail__bottom-share-button-link svg {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.news-detail__bottom-share-button-link:hover {
  background-color: #0202021a;
}
.news-detail__bottom-share-button-link:hover svg {
  color: #cf000c;
}
.news-detail__bottom-up {
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .news-detail__bottom-up {
    display: none;
  }
}
.news-detail__bottom-up-link {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  color: #020202;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
}
.news-more {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: var(--light-gray);
  padding-bottom: 12rem;
  border-radius: 3.2rem 3.2rem 0 0;
  margin-top: -3.2rem;
  padding-top: 8rem;
}
@media only screen and (max-width: 640px) {
  .news-more {
    padding-bottom: 5.6rem;
    border-radius: 1.2rem 1.2rem 0 0;
    padding-top: 4rem;
    width: 100%;
    display: block;
  }
}
.news-more ~ section {
  background: var(--light-gray);
}
.news-more__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.news-more__top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .news-more__top-row {
    display: flex;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    margin-bottom: 0;
    width: 100%;
  }
}
.news-more__heading {
  display: flex;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .news-more__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.news-more__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .news-more__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.news-more__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .news-more__arrows {
    display: none;
  }
}
.news-more__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 0;
  transition: border-color 0.2s, background-color 0.2s, opacity 0.2s;
  background: var(--white);
}
.news-more__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.news-more__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
.news-more__arrow.swiper-button-lock {
  display: none;
}
@media (hover: hover) {
  .news-more__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .news-more__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.news-more .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(25% - 1.8rem);
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .news-more .swiper-slide {
    width: 30.4rem;
    margin-right: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .map-modal-shown .commercial {
    position: relative;
    z-index: 200;
  }
}
.commercial-tabs {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  padding-top: 6rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  position: relative;
  z-index: 10;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .commercial-tabs {
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.commercial-tabs__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.commercial-tabs__tabs-nav {
  margin-bottom: 3.7rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .commercial-tabs__tabs-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 2.4rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .commercial-tabs__tabs-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .commercial-tabs__tabs-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .commercial-tabs__tabs-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .commercial-tabs__tabs-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.commercial-tabs__tabs-nav-list {
  padding: 0.8rem;
  background-color: #f5f5f5;
  border-radius: 1.2rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .commercial-tabs__tabs-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
    flex-shrink: 0;
  }
}
.commercial-tabs__tabs-nav-list-item {
  flex-shrink: 0;
}
.commercial-tabs__tabs-nav-link {
  padding: 1.3rem 2rem;
  border-radius: 0.8rem;
  text-align: center;
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s, background-color 0.2s;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .commercial-tabs__tabs-nav-link {
    padding: 1.3rem 2rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.commercial-tabs__tabs-nav-link:link,
.commercial-tabs__tabs-nav-link:visited {
  color: var(--text-color);
}
.commercial-tabs__tabs-nav-link.active {
  background-color: #101038;
  color: #fff;
}
.commercial-tabs__tabs-items {
  position: relative;
}
.commercial-tabs__tabs-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.commercial-tabs__tabs-item.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 10;
}
.commercial {
  display: flex;
  flex-direction: column;
}
.commercial__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .commercial__top {
    padding-top: 3.2rem;
    padding-bottom: 2rem;
  }
}
.commercial__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.commercial__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .commercial__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.commercial__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.commercial__breadcrumbs a:link,
.commercial__breadcrumbs a:visited {
  color: #02020280;
}
.commercial__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .commercial__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.commercial__breadcrumbs a:last-child:after {
  display: none;
}
.commercial__breadcrumbs a.active,
.commercial__breadcrumbs a.active:link,
.commercial__breadcrumbs a.active:visited {
  color: #020202;
}
.commercial__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .commercial__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2.4rem;
  }
}
.commercial__categories {
  border-bottom: 2px solid rgba(2, 2, 2, 0.05);
  margin-bottom: 4.2rem;
}
@media only screen and (max-width: 640px) {
  .commercial__categories {
    border: none;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 3.2rem;
  }
  .commercial__categories::-webkit-scrollbar * {
    background: transparent;
  }
  .commercial__categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .commercial__categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .commercial__categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.commercial__categories-list {
  display: flex;
  gap: 4rem;
  margin-bottom: -2px;
}
@media only screen and (max-width: 640px) {
  .commercial__categories-list {
    gap: 3.2rem;
    border-bottom: 2px solid rgba(2, 2, 2, 0.05);
    margin: 0;
    width: max-content;
    flex-shrink: 0;
  }
}
.commercial__categories-list-item {
  flex-shrink: 0;
}
.commercial__categories-link {
  padding-bottom: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  line-height: 150%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .commercial__categories-link {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding-bottom: 1.6rem;
    margin-bottom: -2px;
  }
}
.commercial__categories-link:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  transition: background-color 0.2s;
}
@media (hover: hover) {
  .commercial__categories-link:hover {
    color: var(--primary-color);
  }
}
.commercial__categories-link.active {
  color: var(--primary-color);
}
.commercial__categories-link.active:before {
  background-color: var(--primary-color);
}
.commercial__bottom {
  padding-top: 3.3rem;
  padding-bottom: 0;
  margin-bottom: 12rem;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .commercial__bottom {
    padding-top: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-bottom: 6rem;
    padding-bottom: 0;
  }
}
.commercial__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.commercial__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .commercial__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.commercial__view-mode-btn {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.8rem;
  transition: background-color 0.2s;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .commercial__view-mode-btn {
    width: 5rem;
    height: 5rem;
    background-color: #fff;
  }
}
.commercial__view-mode-btn svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  fill: #101038;
  transition: fill 0.2s;
}
.commercial__view-mode-btn svg:nth-child(2) {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__view-mode-btn svg:nth-child(1) {
    display: none;
  }
  .commercial__view-mode-btn svg:nth-child(2) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
  }
}
.commercial__view-mode-btn.active {
  background-color: #101038;
}
.commercial__view-mode-btn.active svg {
  fill: #fff;
}
@media only screen and (max-width: 640px) {
  .commercial__view-mode-btn.active {
    display: none;
  }
}
.commercial__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .commercial__grouping-checkbox {
    padding: 1.5rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.commercial__grouping-checkbox-input {
  display: none;
}
.commercial__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.commercial__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.commercial__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.commercial__grouping-checkbox-input:checked
  ~ .commercial__grouping-checkbox-toggle {
  background-color: #101038;
}
.commercial__grouping-checkbox-input:checked
  ~ .commercial__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.commercial__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .commercial__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.commercial__list-item {
  display: flex;
  flex-direction: column;
}
.commercial__card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border: 1px solid transparent;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  padding: 1.6rem;
  transition: border-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .commercial__card {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }
}
@media (hover: hover) {
  .commercial__card:hover {
    border-color: #cf000c4d;
  }
}
.commercial__card-link-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.commercial__card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.commercial__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.commercial__tags-shown {
  flex-shrink: 0;
}
.commercial__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.commercial__tags-shown-list-item {
  flex-shrink: 0;
}
.commercial__tag-shown {
  display: block;
  padding: 1.1rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.commercial__tag-shown:link,
.commercial__tag-shown:visited {
  color: #020202;
}
.commercial__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.commercial__tags-hidden:hover .commercial__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.commercial__tags-hidden-btn {
  padding: 1.1rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.commercial__add-to-fav {
  margin-left: auto;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.8px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.6rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 5;
}
.commercial__add-to-fav:link,
.commercial__add-to-fav:visited {
  color: transparent;
}
.commercial__add-to-fav svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .commercial__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.commercial__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.commercial__add-to-fav.active svg {
  fill: var(--primary-color);
}
.commercial__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .commercial__list-item:nth-child(5n + 4) .commercial__tags-hidden-dropdown,
  .commercial__list-item:nth-child(5n + 5) .commercial__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .commercial__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.commercial__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .commercial__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.commercial__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .commercial__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.commercial__tags-hidden-list-item {
  flex-shrink: 0;
}
.commercial__list-item--fullwidth {
  grid-column: 1/-1;
}
.commercial__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .commercial__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.commercial__card-slider {
  position: relative;
  z-index: 5;
  max-width: 22.7rem;
  margin: 0 auto;
  width: 100%;
  margin-bottom: 1.5rem;
}
.commercial__card-slider-card {
  position: relative;
}
.commercial__card-slider-card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.commercial__card-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination {
  position: absolute;
  bottom: 0.8rem;
  left: 0;
  width: auto;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet {
  flex-shrink: 0;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  background-color: #e6e6e6;
  transition: background-color 0.2s;
}
.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination.commercial__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #212173;
}
@media only screen and (min-width: 641px) {
  .commercial__card-slider-pagination {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
  .commercial__card:hover .commercial__card-slider-pagination {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.commercial__card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .commercial__card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 1.6rem;
  }
}
.commercial__card-specs {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .commercial__card-specs {
    margin-bottom: 2.4rem;
  }
}
.commercial__card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.commercial__card-specs-card {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  justify-content: space-between;
}
.commercial__card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
  color: #02020266;
}
@media only screen and (max-width: 640px) {
  .commercial__card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.commercial__card-specs-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .commercial__card-specs-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.commercial__card-specs-card-value--blue {
  color: var(--blue);
  font-weight: 500;
}
.commercial__card-price {
  margin-top: auto;
  display: flex;
  align-items: center;
  align-items: flex-start;
  gap: 1.2rem;
}
.commercial__card-price-amount {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .commercial__card-price-amount {
    font-style: normal;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 120%;
  }
}
.commercial__card-price-amount--discount {
  color: var(--primary-color);
}
.commercial__card-price-old {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  text-decoration-line: line-through;
  line-height: 120%;
  color: #02020266;
}
.commercial__promo-block {
  background: #212173;
  border-radius: 1.6rem;
  color: #fff;
  padding: 4rem;
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.05fr;
  grid-template-areas: "logowrapper content btn";
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block {
    display: flex;
    flex-direction: column;
    gap: 5.4rem;
    padding: 2.8rem 2rem 2.4rem;
    border-radius: 1.2rem;
  }
}
@media only screen and (min-width: 641px) {
  .commercial__promo-block-logo-wrapper {
    display: flex;
    align-items: flex-start;
    grid-area: logowrapper;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 3rem;
  }
}
.commercial__promo-block-logo {
  width: 21.4rem;
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-logo {
    width: 16.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .commercial__promo-block-content {
    display: flex;
    flex-direction: column;
    padding-left: 7rem;
    padding-right: 5rem;
    gap: 1.6rem;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.commercial__promo-block-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 125%;
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
  }
}
.commercial__promo-block-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff9;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
@media only screen and (min-width: 641px) {
  .commercial__promo-block-btn-wrapper {
    grid-area: btn;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-left: 7.4rem;
  }
}
.commercial__promo-block-icon {
  width: 7.1rem;
  height: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-icon {
    display: none;
  }
}
.commercial__promo-block-link {
  display: block;
  text-align: center;
  padding: 1.8rem 5.5rem;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
}
@media (hover: hover) {
  .commercial__promo-block-link:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .commercial__promo-block-link {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.commercial__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.commercial__show-more:link,
.commercial__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .commercial__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .commercial__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.commercial__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 3.03fr) minmax(
      0,
      2.26fr
    );
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .commercial__short-filters {
    display: none;
  }
}
.commercial__short-filters-fields {
  display: contents;
}
.commercial__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .commercial__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.commercial__short-filters-found {
  grid-column: 3/4;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.commercial__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 4/4;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.commercial__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .commercial__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.commercial__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .commercial__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .commercial__all-filters-modal {
  display: none;
}
.commercial__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.commercial__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.commercial__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.commercial__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.commercial__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.commercial__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.commercial__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.commercial__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .commercial__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.commercial__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.commercial__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.commercial__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.commercial__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.commercial__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.commercial__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .commercial__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.commercial__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.commercial__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .commercial__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .commercial__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .commercial__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.commercial__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.commercial__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.commercial__all-filters-modal-checkbox-input {
  display: none;
}
.commercial__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.commercial__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .commercial__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.commercial__all-filters-modal-checkbox-input:checked
  ~ .commercial__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.commercial__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .commercial__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.commercial__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.commercial__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .commercial__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.commercial__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .commercial__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .commercial__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .commercial__fixed-show-filters-desktop-text {
    display: none;
  }
}
.commercial__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__fixed-show-filters-mobile-text {
    display: block;
  }
}
.cm-projects {
  display: flex;
  flex-direction: row;
  gap: 9.5rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects {
    gap: 0;
  }
}
.cm-projects__left {
  max-width: 82.9rem;
  width: 100%;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .cm-projects__left {
    width: 100%;
    max-width: 100%;
  }
  .map-modal-shown .cm-projects__left {
    display: none;
  }
}
.cm-projects__right {
  max-width: 63.6rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .cm-projects__right {
    width: 100%;
    max-width: unset;
    display: none;
  }
  .map-modal-shown .cm-projects__right {
    display: flex;
  }
}
.cm-projects__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__list {
    gap: 2.4rem;
  }
}
.cm-projects__card {
  display: flex;
  flex-direction: row;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card {
    flex-direction: column;
    gap: 1.8rem;
  }
}
.cm-projects__card-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0;
  margin-bottom: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-row {
    margin-bottom: 1rem;
  }
}
.cm-projects__card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  color: #fff;
  max-width: 37.2rem;
  width: 100%;
  height: 24.6rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-image-container {
    height: auto;
    max-width: 100%;
    border-radius: 1.2rem;
  }
}
.cm-projects__card-image-src {
  width: 100%;
}
.cm-projects__card-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.cm-projects__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-title {
    font-size: 2rem;
  }
}
.cm-projects__card-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
  margin-bottom: 1.3rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-location {
    font-size: 1.4rem;
  }
}
.cm-projects__card-location svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
.cm-projects__card-description {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-description {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}
.cm-projects__card-options {
  margin-top: auto;
  height: 6.2rem;
}
.cm-projects__card-options-items {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.cm-projects__card-options-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-options-item {
    justify-content: space-between;
  }
}
.card-options-item__image {
  color: #0202024d;
}
.card-options-item__text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: inline-flex;
  width: 8rem;
}
@media only screen and (max-width: 640px) {
  .card-options-item__text {
    font-size: 1.4rem;
  }
}
a.card-options-item__link {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #212173;
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  a.card-options-item__link {
    font-size: 1.4rem;
    margin-left: auto;
  }
}
a.card-options-item__link:focus,
a.card-options-item__link:hover {
  text-decoration: none;
}
.cm-projects__card-tags {
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 10;
}
.cm-projects__card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.cm-projects__card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 3rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  border-radius: 0.6rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media only screen and (max-width: 640px) {
  .cm-projects__card-tag {
    font-size: 1rem;
  }
}
.cm-projects__card-tag--dark {
  background: #101038;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}
.cm-projects__map-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-close {
    display: block;
    top: 2rem;
    right: 2rem;
    position: absolute;
    width: 4.4rem;
    height: 4.4rem;
    background-color: #fff;
    border-radius: 50%;
    z-index: 40;
  }
  .cm-projects__map-close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--text-color);
    transition: fill 0.2s;
  }
}
.cm-projects__map-modal {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-modal {
    background: white;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .map-modal-shown .cm-projects__map-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .cm-projects__map-modal {
    display: none;
  }
}
.cm-projects__map {
  position: relative;
}
.cm-projects__map-container {
  position: relative;
  min-height: 82rem;
  border-radius: 2rem;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-container {
    border-radius: 0;
    min-height: 100vh;
  }
}
.cm-projects__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.cm-projects__map-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.cm-projects__map-marker:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.cm-projects__map-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.cm-projects__map-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cm-projects__map-marker-price-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.6rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-left: 2rem;
  width: max-content;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-marker-price-label {
    display: block !important;
    margin-left: 1rem;
    gap: 0.4rem;
    padding: 1rem 1.2rem;
  }
}
.cm-projects__map-marker-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-marker-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.cm-projects__map-marker-price {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .cm-projects__map-marker-price {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.commercial__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .commercial__mobile-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
    margin-bottom: 2rem;
  }
}
.commercial__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.commercial__mobile-btn:link,
.commercial__mobile-btn:visited {
  color: var(--blue);
}
.commercial__mobile-btn.active {
  background-color: var(--blue);
  color: #fff;
}
.cm-projects .ymaps3x0--control__background {
  background: transparent;
  box-shadow: none;
}
.cm-projects .ymaps3x0--zoom-control {
  gap: 1.2rem;
}
.cm-projects .ymaps3x0--zoom-control .ymaps3x0--button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.2rem;
  height: 6.2rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.2s;
}
.cm-projects .ymaps3x0--zoom-control__in {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.3802 11.2135H11.2135V15.3802C11.2135 15.6012 11.1257 15.8132 10.9695 15.9695C10.8132 16.1257 10.6012 16.2135 10.3802 16.2135C10.1592 16.2135 9.94723 16.1257 9.79095 15.9695C9.63467 15.8132 9.54688 15.6012 9.54688 15.3802V11.2135H5.38021C5.15919 11.2135 4.94723 11.1257 4.79095 10.9695C4.63467 10.8132 4.54688 10.6012 4.54688 10.3802C4.54688 10.1592 4.63467 9.94723 4.79095 9.79095C4.94723 9.63467 5.15919 9.54688 5.38021 9.54688H9.54688V5.38021C9.54688 5.15919 9.63467 4.94723 9.79095 4.79095C9.94723 4.63467 10.1592 4.54687 10.3802 4.54688C10.6012 4.54687 10.8132 4.63467 10.9695 4.79095C11.1257 4.94723 11.2135 5.15919 11.2135 5.38021V9.54688H15.3802C15.6012 9.54688 15.8132 9.63467 15.9695 9.79095C16.1257 9.94723 16.2135 10.1592 16.2135 10.3802C16.2135 10.6012 16.1257 10.8132 15.9695 10.9695C15.8132 11.1257 15.6012 11.2135 15.3802 11.2135Z" fill="%23CF000C"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.cm-projects .ymaps3x0--zoom-control__out {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10H15.9294" stroke="%23CF000C" stroke-width="1.9" stroke-linecap="round"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.cm-projects .ymaps3x0--zoom-control .ymaps3x0--button:focus,
.cm-projects .ymaps3x0--zoom-control .ymaps3x0--button:hover {
  background: var(--white-hover);
}
.commercial ~ section {
  background: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__table-card {
    padding: 2rem 1.6rem;
  }
}
.commercial .catalog__table-card:focus,
.commercial .catalog__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.catalog__table-list-card-wrapper .commercial .catalog__table-card:focus,
.catalog__table-list-card-wrapper .commercial .catalog__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.commercial .catalog__table-view-header {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.54fr) minmax(
      0,
      0.7fr
    ) minmax(0, 0.64fr) minmax(0, 1.4fr) minmax(0, 0.3fr) minmax(0, 0.42fr) minmax(
      0,
      2fr
    );
}
.commercial .catalog__table-list-card-main-wrapper {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(
      0,
      0.74fr
    ) minmax(0, 1.5fr) minmax(0, 0.3fr) minmax(0, 0.42fr) minmax(0, 2fr);
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__table-list-card-main-wrapper {
    gap: 1rem;
  }
}
.commercial .catalog__sort-btn {
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__sort-btn {
    justify-content: center;
    color: #212173;
  }
}
.commercial .catalog__sort {
  width: 22.6rem;
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__sort {
    width: 5rem;
  }
}
.commercial .catalog__sort-area {
  width: 32.7rem;
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__sort-area {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__view-modes {
    order: 31;
  }
}
@media only screen and (max-width: 640px) {
  .commercial .catalog__view-mode-btn svg {
    fill: #212173;
  }
}
@media only screen and (max-width: 640px) {
  .map-modal-shown .parking {
    position: relative;
    z-index: 200;
  }
}
.parking-tabs {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  padding-top: 6rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  position: relative;
  z-index: 10;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-tabs {
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.parking-tabs__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking-tabs__tabs-nav {
  margin-bottom: 3.7rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-tabs__tabs-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 2.4rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .parking-tabs__tabs-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .parking-tabs__tabs-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .parking-tabs__tabs-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .parking-tabs__tabs-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.parking-tabs__tabs-nav-list {
  padding: 0.8rem;
  background-color: #f5f5f5;
  border-radius: 1.2rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .parking-tabs__tabs-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
    flex-shrink: 0;
  }
}
.parking-tabs__tabs-nav-list-item {
  flex-shrink: 0;
}
.parking-tabs__tabs-nav-link {
  padding: 1.3rem 2rem;
  border-radius: 0.8rem;
  text-align: center;
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s, background-color 0.2s;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .parking-tabs__tabs-nav-link {
    padding: 1.3rem 2rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.parking-tabs__tabs-nav-link:link,
.parking-tabs__tabs-nav-link:visited {
  color: var(--text-color);
}
.parking-tabs__tabs-nav-link.active {
  background-color: #101038;
  color: #fff;
}
.parking-tabs__tabs-items {
  position: relative;
}
.parking-tabs__tabs-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.parking-tabs__tabs-item.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 10;
}
.parking {
  display: flex;
  flex-direction: column;
}
.parking__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking__top {
    padding-top: 3.2rem;
    padding-bottom: 2rem;
  }
}
.parking__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.parking__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.parking__breadcrumbs a:link,
.parking__breadcrumbs a:visited {
  color: #02020280;
}
.parking__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .parking__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.parking__breadcrumbs a:last-child:after {
  display: none;
}
.parking__breadcrumbs a.active,
.parking__breadcrumbs a.active:link,
.parking__breadcrumbs a.active:visited {
  color: #020202;
}
.parking__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .parking__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2.4rem;
  }
}
.parking__categories {
  border-bottom: 2px solid rgba(2, 2, 2, 0.05);
  margin-bottom: 4.2rem;
}
@media only screen and (max-width: 640px) {
  .parking__categories {
    border: none;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 3.2rem;
  }
  .parking__categories::-webkit-scrollbar * {
    background: transparent;
  }
  .parking__categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .parking__categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .parking__categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.parking__categories-list {
  display: flex;
  gap: 4rem;
  margin-bottom: -2px;
}
@media only screen and (max-width: 640px) {
  .parking__categories-list {
    gap: 3.2rem;
    border-bottom: 2px solid rgba(2, 2, 2, 0.05);
    margin: 0;
    width: 100%;
    flex-shrink: 0;
  }
}
.parking__categories-list-item {
  flex-shrink: 0;
}
.parking__categories-link {
  padding-bottom: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  line-height: 150%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .parking__categories-link {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding-bottom: 1.6rem;
    margin-bottom: -2px;
  }
}
.parking__categories-link:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  transition: background-color 0.2s;
}
@media (hover: hover) {
  .parking__categories-link:hover {
    color: var(--primary-color);
  }
}
.parking__categories-link.active {
  color: var(--primary-color);
}
.parking__categories-link.active:before {
  background-color: var(--primary-color);
}
.parking__bottom {
  padding-top: 3.3rem;
  padding-bottom: 0;
  margin-bottom: 12rem;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .parking__bottom {
    padding-top: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-bottom: 6rem;
    padding-bottom: 0;
  }
}
.parking__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .parking__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.parking__view-mode-btn {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.8rem;
  transition: background-color 0.2s;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .parking__view-mode-btn {
    width: 5rem;
    height: 5rem;
    background-color: #fff;
  }
}
.parking__view-mode-btn svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  fill: #101038;
  transition: fill 0.2s;
}
.parking__view-mode-btn svg:nth-child(2) {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__view-mode-btn svg:nth-child(1) {
    display: none;
  }
  .parking__view-mode-btn svg:nth-child(2) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
  }
}
.parking__view-mode-btn.active {
  background-color: #101038;
}
.parking__view-mode-btn.active svg {
  fill: #fff;
}
@media only screen and (max-width: 640px) {
  .parking__view-mode-btn.active {
    display: none;
  }
}
.parking__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking__grouping-checkbox {
    padding: 1.5rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.parking__grouping-checkbox-input {
  display: none;
}
.parking__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.parking__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.parking__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.parking__grouping-checkbox-input:checked ~ .parking__grouping-checkbox-toggle {
  background-color: #101038;
}
.parking__grouping-checkbox-input:checked
  ~ .parking__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.parking__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.parking__list-item {
  display: flex;
  flex-direction: column;
}
.parking__card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border: 1px solid transparent;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  padding: 1.6rem;
  transition: border-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking__card {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }
}
@media (hover: hover) {
  .parking__card:hover {
    border-color: #cf000c4d;
  }
}
.parking__card-link-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.parking__card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.parking__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.parking__tags-shown {
  flex-shrink: 0;
}
.parking__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.parking__tags-shown-list-item {
  flex-shrink: 0;
}
.parking__tag-shown {
  display: block;
  padding: 1.1rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.parking__tag-shown:link,
.parking__tag-shown:visited {
  color: #020202;
}
.parking__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.parking__tags-hidden:hover .parking__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.parking__tags-hidden-btn {
  padding: 1.1rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.parking__add-to-fav {
  margin-left: auto;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.8px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.6rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 5;
}
.parking__add-to-fav:link,
.parking__add-to-fav:visited {
  color: transparent;
}
.parking__add-to-fav svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .parking__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.parking__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.parking__add-to-fav.active svg {
  fill: var(--primary-color);
}
.parking__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .parking__list-item:nth-child(5n + 4) .parking__tags-hidden-dropdown,
  .parking__list-item:nth-child(5n + 5) .parking__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .parking__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.parking__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .parking__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.parking__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .parking__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.parking__tags-hidden-list-item {
  flex-shrink: 0;
}
.parking__list-item--fullwidth {
  grid-column: 1/-1;
}
.parking__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .parking__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.parking__card-slider {
  position: relative;
  z-index: 5;
  max-width: 22.7rem;
  margin: 0 auto;
  width: 100%;
  margin-bottom: 1.5rem;
}
.parking__card-slider-card {
  position: relative;
}
.parking__card-slider-card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.parking__card-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination {
  position: absolute;
  bottom: 0.8rem;
  left: 0;
  width: auto;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet {
  flex-shrink: 0;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  background-color: #e6e6e6;
  transition: background-color 0.2s;
}
.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination.parking__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #212173;
}
@media only screen and (min-width: 641px) {
  .parking__card-slider-pagination {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
  .parking__card:hover .parking__card-slider-pagination {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.parking__card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .parking__card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 1.6rem;
  }
}
.parking__card-specs {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking__card-specs {
    margin-bottom: 2.4rem;
  }
}
.parking__card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.parking__card-specs-card {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  justify-content: space-between;
}
.parking__card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
  color: #02020266;
}
@media only screen and (max-width: 640px) {
  .parking__card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.parking__card-specs-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking__card-specs-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.parking__card-specs-card-value--blue {
  color: var(--blue);
  font-weight: 500;
}
.parking__card-price {
  margin-top: auto;
  display: flex;
  align-items: center;
  align-items: flex-start;
  gap: 1.2rem;
}
.parking__card-price-amount {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .parking__card-price-amount {
    font-style: normal;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 120%;
  }
}
.parking__card-price-amount--discount {
  color: var(--primary-color);
}
.parking__card-price-old {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  text-decoration-line: line-through;
  line-height: 120%;
  color: #02020266;
}
.parking__promo-block {
  background: #212173;
  border-radius: 1.6rem;
  color: #fff;
  padding: 4rem;
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.05fr;
  grid-template-areas: "logowrapper content btn";
}
@media only screen and (max-width: 640px) {
  .parking__promo-block {
    display: flex;
    flex-direction: column;
    gap: 5.4rem;
    padding: 2.8rem 2rem 2.4rem;
    border-radius: 1.2rem;
  }
}
@media only screen and (min-width: 641px) {
  .parking__promo-block-logo-wrapper {
    display: flex;
    align-items: flex-start;
    grid-area: logowrapper;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 3rem;
  }
}
.parking__promo-block-logo {
  width: 21.4rem;
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-logo {
    width: 16.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .parking__promo-block-content {
    display: flex;
    flex-direction: column;
    padding-left: 7rem;
    padding-right: 5rem;
    gap: 1.6rem;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.parking__promo-block-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 125%;
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
  }
}
.parking__promo-block-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff9;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
@media only screen and (min-width: 641px) {
  .parking__promo-block-btn-wrapper {
    grid-area: btn;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-left: 7.4rem;
  }
}
.parking__promo-block-icon {
  width: 7.1rem;
  height: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-icon {
    display: none;
  }
}
.parking__promo-block-link {
  display: block;
  text-align: center;
  padding: 1.8rem 5.5rem;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
}
@media (hover: hover) {
  .parking__promo-block-link:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .parking__promo-block-link {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.parking__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.parking__show-more:link,
.parking__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .parking__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .parking__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.parking__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(
      0,
      2.7fr
    ) minmax(0, 2.5fr);
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking__short-filters {
    display: none;
  }
}
.parking__short-filters-fields {
  display: contents;
}
.parking__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .parking__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.parking__short-filters-found {
  grid-column: 4/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-end;
  align-self: center;
}
.parking__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 5/5;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.parking__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .parking__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.parking__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .parking__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .parking__all-filters-modal {
  display: none;
}
.parking__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.parking__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.parking__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.parking__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.parking__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.parking__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.parking__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.parking__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .parking__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.parking__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.parking__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.parking__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.parking__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.parking__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.parking__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .parking__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.parking__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.parking__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .parking__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .parking__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .parking__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.parking__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.parking__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.parking__all-filters-modal-checkbox-input {
  display: none;
}
.parking__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.parking__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .parking__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.parking__all-filters-modal-checkbox-input:checked
  ~ .parking__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.parking__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .parking__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.parking__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.parking__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.parking__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .parking__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .parking__fixed-show-filters-desktop-text {
    display: none;
  }
}
.parking__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__fixed-show-filters-mobile-text {
    display: block;
  }
}
.parking-projects {
  display: flex;
  flex-direction: row;
  gap: 9.5rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects {
    gap: 0;
  }
}
.parking-projects__left {
  max-width: 82.9rem;
  width: 100%;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .parking-projects__left {
    width: 100%;
    max-width: 100%;
  }
  .map-modal-shown .parking-projects__left {
    display: none;
  }
}
.parking-projects__right {
  max-width: 63.6rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-projects__right {
    width: 100%;
    max-width: unset;
    display: none;
  }
  .map-modal-shown .parking-projects__right {
    display: flex;
  }
}
.parking-projects__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__list {
    gap: 2.4rem;
  }
}
.parking-projects__card {
  display: flex;
  flex-direction: row;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card {
    flex-direction: column;
    gap: 1.8rem;
  }
}
.parking-projects__card-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0;
  margin-bottom: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-row {
    margin-bottom: 1rem;
  }
}
.parking-projects__card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  color: #fff;
  max-width: 37.2rem;
  width: 100%;
  height: 24.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-image-container {
    height: auto;
    max-width: 100%;
    border-radius: 1.2rem;
  }
}
.parking-projects__card-image-src {
  width: 100%;
}
.parking-projects__card-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.parking-projects__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-title {
    font-size: 2rem;
  }
}
.parking-projects__card-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
  margin-bottom: 1.3rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-location {
    font-size: 1.4rem;
  }
}
.parking-projects__card-location svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
.parking-projects__card-description {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-description {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}
.parking-projects__card-options {
  margin-top: auto;
}
.parking-projects__card-options-items {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.parking-projects__card-options-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-options-item {
    justify-content: space-between;
  }
}
.parking-card-options-item__image {
  color: #0202024d;
}
.parking-card-options-item__text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  display: inline-flex;
  width: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking-card-options-item__text {
    font-size: 1.4rem;
  }
}
a.parking-card-options-item__link {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #212173;
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  a.parking-card-options-item__link {
    font-size: 1.4rem;
    margin-left: auto;
  }
}
a.parking-card-options-item__link:focus,
a.parking-card-options-item__link:hover {
  text-decoration: none;
}
.parking-projects__card-tags {
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 10;
}
.parking-projects__card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.parking-projects__card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 3rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  border-radius: 0.6rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media only screen and (max-width: 640px) {
  .parking-projects__card-tag {
    font-size: 1rem;
  }
}
.parking-projects__card-tag--dark {
  background: #101038;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}
.parking-projects__map-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-close {
    display: block;
    top: 2rem;
    right: 2rem;
    position: absolute;
    width: 4.4rem;
    height: 4.4rem;
    background-color: #fff;
    border-radius: 50%;
    z-index: 40;
  }
  .parking-projects__map-close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--text-color);
    transition: fill 0.2s;
  }
}
.parking-projects__map-modal {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-modal {
    background: white;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .map-modal-shown .parking-projects__map-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .parking-projects__map-modal {
    display: none;
  }
}
.parking-projects__map {
  position: relative;
}
.parking-projects__map-container {
  position: relative;
  min-height: 82rem;
  border-radius: 2rem;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-container {
    border-radius: 0;
    min-height: 100vh;
  }
}
.parking-projects__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.parking-projects__map-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.parking-projects__map-marker:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.parking-projects__map-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.parking-projects__map-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.parking-projects__map-marker-price-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.6rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-left: 2rem;
  width: max-content;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-marker-price-label {
    display: block !important;
    margin-left: 1rem;
    gap: 0.4rem;
    padding: 1rem 1.2rem;
  }
}
.parking-projects__map-marker-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-marker-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.parking-projects__map-marker-price {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .parking-projects__map-marker-price {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.parking__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking__mobile-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
    margin-bottom: 2rem;
  }
}
.parking__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.parking__mobile-btn:link,
.parking__mobile-btn:visited {
  color: var(--blue);
}
.parking__mobile-btn.active {
  background-color: var(--blue);
  color: #fff;
}
.parking-projects .ymaps3x0--control__background {
  background: transparent;
  box-shadow: none;
}
.parking-projects .ymaps3x0--zoom-control {
  gap: 1.2rem;
}
.parking-projects .ymaps3x0--zoom-control .ymaps3x0--button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.2rem;
  height: 6.2rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.2s;
}
.parking-projects .ymaps3x0--zoom-control__in {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.3802 11.2135H11.2135V15.3802C11.2135 15.6012 11.1257 15.8132 10.9695 15.9695C10.8132 16.1257 10.6012 16.2135 10.3802 16.2135C10.1592 16.2135 9.94723 16.1257 9.79095 15.9695C9.63467 15.8132 9.54688 15.6012 9.54688 15.3802V11.2135H5.38021C5.15919 11.2135 4.94723 11.1257 4.79095 10.9695C4.63467 10.8132 4.54688 10.6012 4.54688 10.3802C4.54688 10.1592 4.63467 9.94723 4.79095 9.79095C4.94723 9.63467 5.15919 9.54688 5.38021 9.54688H9.54688V5.38021C9.54688 5.15919 9.63467 4.94723 9.79095 4.79095C9.94723 4.63467 10.1592 4.54687 10.3802 4.54688C10.6012 4.54687 10.8132 4.63467 10.9695 4.79095C11.1257 4.94723 11.2135 5.15919 11.2135 5.38021V9.54688H15.3802C15.6012 9.54688 15.8132 9.63467 15.9695 9.79095C16.1257 9.94723 16.2135 10.1592 16.2135 10.3802C16.2135 10.6012 16.1257 10.8132 15.9695 10.9695C15.8132 11.1257 15.6012 11.2135 15.3802 11.2135Z" fill="%23CF000C"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.parking-projects .ymaps3x0--zoom-control__out {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10H15.9294" stroke="%23CF000C" stroke-width="1.9" stroke-linecap="round"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.parking-projects .ymaps3x0--zoom-control .ymaps3x0--button:focus,
.parking-projects .ymaps3x0--zoom-control .ymaps3x0--button:hover {
  background: var(--white-hover);
}
@media only screen and (max-width: 640px) {
  .map-modal-shown .boxrooms {
    position: relative;
    z-index: 200;
  }
}
.boxrooms-tabs {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  padding-top: 6rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  position: relative;
  z-index: 10;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-tabs {
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.boxrooms-tabs__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms-tabs__tabs-nav {
  margin-bottom: 3.7rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-tabs__tabs-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 2.4rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .boxrooms-tabs__tabs-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .boxrooms-tabs__tabs-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .boxrooms-tabs__tabs-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .boxrooms-tabs__tabs-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.boxrooms-tabs__tabs-nav-list {
  padding: 0.8rem;
  background-color: #f5f5f5;
  border-radius: 1.2rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-tabs__tabs-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
    flex-shrink: 0;
  }
}
.boxrooms-tabs__tabs-nav-list-item {
  flex-shrink: 0;
}
.boxrooms-tabs__tabs-nav-link {
  padding: 1.3rem 2rem;
  border-radius: 0.8rem;
  text-align: center;
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s, background-color 0.2s;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .boxrooms-tabs__tabs-nav-link {
    padding: 1.3rem 2rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.boxrooms-tabs__tabs-nav-link:link,
.boxrooms-tabs__tabs-nav-link:visited {
  color: var(--text-color);
}
.boxrooms-tabs__tabs-nav-link.active {
  background-color: #101038;
  color: #fff;
}
.boxrooms-tabs__tabs-items {
  position: relative;
}
.boxrooms-tabs__tabs-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.boxrooms-tabs__tabs-item.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 10;
}
.boxrooms {
  display: flex;
  flex-direction: column;
}
.boxrooms__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__top {
    padding-top: 3.2rem;
    padding-bottom: 2rem;
  }
}
.boxrooms__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.boxrooms__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.boxrooms__breadcrumbs a:link,
.boxrooms__breadcrumbs a:visited {
  color: #02020280;
}
.boxrooms__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .boxrooms__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.boxrooms__breadcrumbs a:last-child:after {
  display: none;
}
.boxrooms__breadcrumbs a.active,
.boxrooms__breadcrumbs a.active:link,
.boxrooms__breadcrumbs a.active:visited {
  color: #020202;
}
.boxrooms__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2.4rem;
  }
}
.boxrooms__categories {
  border-bottom: 2px solid rgba(2, 2, 2, 0.05);
  margin-bottom: 4.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__categories {
    border: none;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 3.2rem;
  }
  .boxrooms__categories::-webkit-scrollbar * {
    background: transparent;
  }
  .boxrooms__categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .boxrooms__categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .boxrooms__categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.boxrooms__categories-list {
  display: flex;
  gap: 4rem;
  margin-bottom: -2px;
}
@media only screen and (max-width: 640px) {
  .boxrooms__categories-list {
    gap: 3.2rem;
    border-bottom: 2px solid rgba(2, 2, 2, 0.05);
    margin: 0;
    width: 100%;
    flex-shrink: 0;
  }
}
.boxrooms__categories-list-item {
  flex-shrink: 0;
}
.boxrooms__categories-link {
  padding-bottom: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  line-height: 150%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .boxrooms__categories-link {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding-bottom: 1.6rem;
    margin-bottom: -2px;
  }
}
.boxrooms__categories-link:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  transition: background-color 0.2s;
}
@media (hover: hover) {
  .boxrooms__categories-link:hover {
    color: var(--primary-color);
  }
}
.boxrooms__categories-link.active {
  color: var(--primary-color);
}
.boxrooms__categories-link.active:before {
  background-color: var(--primary-color);
}
.boxrooms__bottom {
  padding-top: 3.3rem;
  padding-bottom: 0;
  margin-bottom: 12rem;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .boxrooms__bottom {
    padding-top: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-bottom: 6rem;
    padding-bottom: 0;
  }
}
.boxrooms__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .boxrooms__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.boxrooms__view-mode-btn {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.8rem;
  transition: background-color 0.2s;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms__view-mode-btn {
    width: 5rem;
    height: 5rem;
    background-color: #fff;
  }
}
.boxrooms__view-mode-btn svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  fill: #101038;
  transition: fill 0.2s;
}
.boxrooms__view-mode-btn svg:nth-child(2) {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__view-mode-btn svg:nth-child(1) {
    display: none;
  }
  .boxrooms__view-mode-btn svg:nth-child(2) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
  }
}
.boxrooms__view-mode-btn.active {
  background-color: #101038;
}
.boxrooms__view-mode-btn.active svg {
  fill: #fff;
}
@media only screen and (max-width: 640px) {
  .boxrooms__view-mode-btn.active {
    display: none;
  }
}
.boxrooms__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__grouping-checkbox {
    padding: 1.5rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.boxrooms__grouping-checkbox-input {
  display: none;
}
.boxrooms__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.boxrooms__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.boxrooms__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.boxrooms__grouping-checkbox-input:checked
  ~ .boxrooms__grouping-checkbox-toggle {
  background-color: #101038;
}
.boxrooms__grouping-checkbox-input:checked
  ~ .boxrooms__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.boxrooms__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.boxrooms__list-item {
  display: flex;
  flex-direction: column;
}
.boxrooms__card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border: 1px solid transparent;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  padding: 1.6rem;
  transition: border-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }
}
@media (hover: hover) {
  .boxrooms__card:hover {
    border-color: #cf000c4d;
  }
}
.boxrooms__card-link-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.boxrooms__card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.boxrooms__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.boxrooms__tags-shown {
  flex-shrink: 0;
}
.boxrooms__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.boxrooms__tags-shown-list-item {
  flex-shrink: 0;
}
.boxrooms__tag-shown {
  display: block;
  padding: 1.1rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.boxrooms__tag-shown:link,
.boxrooms__tag-shown:visited {
  color: #020202;
}
.boxrooms__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.boxrooms__tags-hidden:hover .boxrooms__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.boxrooms__tags-hidden-btn {
  padding: 1.1rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.boxrooms__add-to-fav {
  margin-left: auto;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.8px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.6rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 5;
}
.boxrooms__add-to-fav:link,
.boxrooms__add-to-fav:visited {
  color: transparent;
}
.boxrooms__add-to-fav svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .boxrooms__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.boxrooms__add-to-fav.active svg {
  fill: var(--primary-color);
}
.boxrooms__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .boxrooms__list-item:nth-child(5n + 4) .boxrooms__tags-hidden-dropdown,
  .boxrooms__list-item:nth-child(5n + 5) .boxrooms__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.boxrooms__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.boxrooms__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.boxrooms__tags-hidden-list-item {
  flex-shrink: 0;
}
.boxrooms__list-item--fullwidth {
  grid-column: 1/-1;
}
.boxrooms__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .boxrooms__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.boxrooms__card-slider {
  position: relative;
  z-index: 5;
  max-width: 22.7rem;
  margin: 0 auto;
  width: 100%;
  margin-bottom: 1.5rem;
}
.boxrooms__card-slider-card {
  position: relative;
}
.boxrooms__card-slider-card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.boxrooms__card-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination {
  position: absolute;
  bottom: 0.8rem;
  left: 0;
  width: auto;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet {
  flex-shrink: 0;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  background-color: #e6e6e6;
  transition: background-color 0.2s;
}
.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination.boxrooms__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #212173;
}
@media only screen and (min-width: 641px) {
  .boxrooms__card-slider-pagination {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
  .boxrooms__card:hover .boxrooms__card-slider-pagination {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.boxrooms__card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 1.6rem;
  }
}
.boxrooms__card-specs {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card-specs {
    margin-bottom: 2.4rem;
  }
}
.boxrooms__card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.boxrooms__card-specs-card {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  justify-content: space-between;
}
.boxrooms__card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
  color: #02020266;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.boxrooms__card-specs-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card-specs-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.boxrooms__card-specs-card-value--blue {
  color: var(--blue);
  font-weight: 500;
}
.boxrooms__card-price {
  margin-top: auto;
  display: flex;
  align-items: center;
  align-items: flex-start;
  gap: 1.2rem;
}
.boxrooms__card-price-amount {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .boxrooms__card-price-amount {
    font-style: normal;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 120%;
  }
}
.boxrooms__card-price-amount--discount {
  color: var(--primary-color);
}
.boxrooms__card-price-old {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  text-decoration-line: line-through;
  line-height: 120%;
  color: #02020266;
}
.boxrooms__promo-block {
  background: #212173;
  border-radius: 1.6rem;
  color: #fff;
  padding: 4rem;
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.05fr;
  grid-template-areas: "logowrapper content btn";
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block {
    display: flex;
    flex-direction: column;
    gap: 5.4rem;
    padding: 2.8rem 2rem 2.4rem;
    border-radius: 1.2rem;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms__promo-block-logo-wrapper {
    display: flex;
    align-items: flex-start;
    grid-area: logowrapper;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 3rem;
  }
}
.boxrooms__promo-block-logo {
  width: 21.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-logo {
    width: 16.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms__promo-block-content {
    display: flex;
    flex-direction: column;
    padding-left: 7rem;
    padding-right: 5rem;
    gap: 1.6rem;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.boxrooms__promo-block-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 125%;
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
  }
}
.boxrooms__promo-block-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff9;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms__promo-block-btn-wrapper {
    grid-area: btn;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-left: 7.4rem;
  }
}
.boxrooms__promo-block-icon {
  width: 7.1rem;
  height: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-icon {
    display: none;
  }
}
.boxrooms__promo-block-link {
  display: block;
  text-align: center;
  padding: 1.8rem 5.5rem;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
}
@media (hover: hover) {
  .boxrooms__promo-block-link:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__promo-block-link {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.boxrooms__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.boxrooms__show-more:link,
.boxrooms__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .boxrooms__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.boxrooms__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(
      0,
      2.7fr
    ) minmax(0, 2.5fr);
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__short-filters {
    display: none;
  }
}
.boxrooms__short-filters-fields {
  display: contents;
}
.boxrooms__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .boxrooms__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.boxrooms__short-filters-found {
  grid-column: 4/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-end;
  align-self: center;
}
.boxrooms__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 5/5;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.boxrooms__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .boxrooms__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.boxrooms__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .boxrooms__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .boxrooms__all-filters-modal {
  display: none;
}
.boxrooms__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.boxrooms__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.boxrooms__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.boxrooms__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.boxrooms__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.boxrooms__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.boxrooms__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.boxrooms__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .boxrooms__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.boxrooms__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.boxrooms__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.boxrooms__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.boxrooms__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.boxrooms__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .boxrooms__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.boxrooms__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.boxrooms__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .boxrooms__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .boxrooms__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .boxrooms__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.boxrooms__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.boxrooms__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.boxrooms__all-filters-modal-checkbox-input {
  display: none;
}
.boxrooms__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.boxrooms__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .boxrooms__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.boxrooms__all-filters-modal-checkbox-input:checked
  ~ .boxrooms__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.boxrooms__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .boxrooms__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.boxrooms__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.boxrooms__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.boxrooms__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .boxrooms__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms__fixed-show-filters-desktop-text {
    display: none;
  }
}
.boxrooms__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__fixed-show-filters-mobile-text {
    display: block;
  }
}
.boxrooms-projects {
  display: flex;
  flex-direction: row;
  gap: 9.5rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects {
    gap: 0;
  }
}
.boxrooms-projects__left {
  max-width: 82.9rem;
  width: 100%;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__left {
    width: 100%;
    max-width: 100%;
  }
  .map-modal-shown .boxrooms-projects__left {
    display: none;
  }
}
.boxrooms-projects__right {
  max-width: 63.6rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__right {
    width: 100%;
    max-width: unset;
    display: none;
  }
  .map-modal-shown .boxrooms-projects__right {
    display: flex;
  }
}
.boxrooms-projects__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__list {
    gap: 2.4rem;
  }
}
.boxrooms-projects__card {
  display: flex;
  flex-direction: row;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card {
    flex-direction: column;
    gap: 1.8rem;
  }
}
.boxrooms-projects__card-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0;
  margin-bottom: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-row {
    margin-bottom: 1rem;
  }
}
.boxrooms-projects__card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  color: #fff;
  max-width: 37.2rem;
  width: 100%;
  height: 24.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-image-container {
    height: auto;
    max-width: 100%;
    border-radius: 1.2rem;
  }
}
.boxrooms-projects__card-image-src {
  width: 100%;
}
.boxrooms-projects__card-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.boxrooms-projects__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-title {
    font-size: 2rem;
  }
}
.boxrooms-projects__card-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
  margin-bottom: 1.3rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-location {
    font-size: 1.4rem;
  }
}
.boxrooms-projects__card-location svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
.boxrooms-projects__card-description {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-description {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}
.boxrooms-projects__card-options {
  margin-top: auto;
}
.boxrooms-projects__card-options-items {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.boxrooms-projects__card-options-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-options-item {
    justify-content: space-between;
  }
}
.boxrooms-card-options-item__image {
  color: #0202024d;
}
.boxrooms-card-options-item__text {
  display: none;
}
a.boxrooms-card-options-item__link {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #212173;
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  a.boxrooms-card-options-item__link {
    font-size: 1.4rem;
    margin-left: auto;
  }
}
a.boxrooms-card-options-item__link:focus,
a.boxrooms-card-options-item__link:hover {
  text-decoration: none;
}
.boxrooms-projects__card-tags {
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 10;
}
.boxrooms-projects__card-tags-list {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.boxrooms-projects__card-tag {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  height: 3rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  border-radius: 0.6rem;
  white-space: nowrap;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__card-tag {
    font-size: 1rem;
  }
}
.boxrooms-projects__card-tag--dark {
  background: #101038;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
}
.boxrooms-projects__map-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-close {
    display: block;
    top: 2rem;
    right: 2rem;
    position: absolute;
    width: 4.4rem;
    height: 4.4rem;
    background-color: #fff;
    border-radius: 50%;
    z-index: 40;
  }
  .boxrooms-projects__map-close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--text-color);
    transition: fill 0.2s;
  }
}
.boxrooms-projects__map-modal {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-modal {
    background: white;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .map-modal-shown .boxrooms-projects__map-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .boxrooms-projects__map-modal {
    display: none;
  }
}
.boxrooms-projects__map {
  position: relative;
}
.boxrooms-projects__map-container {
  position: relative;
  min-height: 82rem;
  border-radius: 2rem;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-container {
    border-radius: 0;
    min-height: 100vh;
  }
}
.boxrooms-projects__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.boxrooms-projects__map-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.boxrooms-projects__map-marker:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.boxrooms-projects__map-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.boxrooms-projects__map-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.boxrooms-projects__map-marker-price-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.6rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-left: 2rem;
  width: max-content;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-marker-price-label {
    display: block !important;
    margin-left: 1rem;
    gap: 0.4rem;
    padding: 1rem 1.2rem;
  }
}
.boxrooms-projects__map-marker-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-marker-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.boxrooms-projects__map-marker-price {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .boxrooms-projects__map-marker-price {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.boxrooms__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms__mobile-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
    margin-bottom: 2rem;
  }
}
.boxrooms__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.boxrooms__mobile-btn:link,
.boxrooms__mobile-btn:visited {
  color: var(--blue);
}
.boxrooms__mobile-btn.active {
  background-color: var(--blue);
  color: #fff;
}
.boxrooms-projects .ymaps3x0--control__background {
  background: transparent;
  box-shadow: none;
}
.boxrooms-projects .ymaps3x0--zoom-control {
  gap: 1.2rem;
}
.boxrooms-projects .ymaps3x0--zoom-control .ymaps3x0--button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.2rem;
  height: 6.2rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 100%;
  transition: background-color 0.2s;
}
.boxrooms-projects .ymaps3x0--zoom-control__in {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.3802 11.2135H11.2135V15.3802C11.2135 15.6012 11.1257 15.8132 10.9695 15.9695C10.8132 16.1257 10.6012 16.2135 10.3802 16.2135C10.1592 16.2135 9.94723 16.1257 9.79095 15.9695C9.63467 15.8132 9.54688 15.6012 9.54688 15.3802V11.2135H5.38021C5.15919 11.2135 4.94723 11.1257 4.79095 10.9695C4.63467 10.8132 4.54688 10.6012 4.54688 10.3802C4.54688 10.1592 4.63467 9.94723 4.79095 9.79095C4.94723 9.63467 5.15919 9.54688 5.38021 9.54688H9.54688V5.38021C9.54688 5.15919 9.63467 4.94723 9.79095 4.79095C9.94723 4.63467 10.1592 4.54687 10.3802 4.54688C10.6012 4.54687 10.8132 4.63467 10.9695 4.79095C11.1257 4.94723 11.2135 5.15919 11.2135 5.38021V9.54688H15.3802C15.6012 9.54688 15.8132 9.63467 15.9695 9.79095C16.1257 9.94723 16.2135 10.1592 16.2135 10.3802C16.2135 10.6012 16.1257 10.8132 15.9695 10.9695C15.8132 11.1257 15.6012 11.2135 15.3802 11.2135Z" fill="%23CF000C"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.boxrooms-projects .ymaps3x0--zoom-control__out {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10H15.9294" stroke="%23CF000C" stroke-width="1.9" stroke-linecap="round"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}
.boxrooms-projects .ymaps3x0--zoom-control .ymaps3x0--button:focus,
.boxrooms-projects .ymaps3x0--zoom-control .ymaps3x0--button:hover {
  background: var(--white-hover);
}
.parking-project {
  display: flex;
  flex-direction: column;
  margin-top: -12rem;
}
@media only screen and (max-width: 640px) {
  .parking-project {
    margin-top: -7rem;
  }
}
.parking-project__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking-project__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 12.4rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    padding-bottom: 0;
    margin-bottom: 0;
    padding-top: 7rem;
  }
}
.parking-project__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
    margin-bottom: 6rem;
  }
}
.parking-project__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .parking-project__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 3.03fr) minmax(
      0,
      2.26fr
    );
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__short-filters {
    display: none;
  }
}
.parking-project__short-filters-fields {
  display: contents;
}
.parking-project__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .parking-project__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.parking-project__short-filters-found {
  grid-column: 3/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.parking-project__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 4/4;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.parking-project__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .parking-project__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.parking-project__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .parking-project__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .parking-project__all-filters-modal {
  display: none;
}
.parking-project__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.parking-project__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.parking-project__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.parking-project__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.parking-project__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.parking-project__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.parking-project__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.parking-project__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .parking-project__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.parking-project__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.parking-project__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.parking-project__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.parking-project__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.parking-project__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.parking-project__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .parking-project__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.parking-project__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.parking-project__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .parking-project__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .parking-project__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .parking-project__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.parking-project__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.parking-project__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.parking-project__all-filters-modal-checkbox-input {
  display: none;
}
.parking-project__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.parking-project__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .parking-project__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.parking-project__all-filters-modal-checkbox-input:checked
  ~ .parking-project__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.parking-project__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .parking-project__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.parking-project__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.parking-project__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking-project__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.parking-project__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking-project__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .parking-project__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__fixed-show-filters-desktop-text {
    display: none;
  }
}
.parking-project__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__fixed-show-filters-mobile-text {
    display: block;
  }
}
.parking-project__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__mobile-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0.8rem;
    margin-bottom: 0;
    order: 40;
  }
}
.parking-project__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.parking-project__mobile-btn:link,
.parking-project__mobile-btn:visited {
  color: var(--blue);
}
@media only screen and (max-width: 640px) {
  .parking-project__mobile-btn,
  .parking-project__mobile-btn span {
    display: none;
  }
}
.parking-project__mobile-btn.active {
  background-color: #fff;
  color: #212173;
  display: flex;
  font-size: 0;
  width: 5rem;
  height: 5rem;
}
.parking-project__bottom {
  padding-top: 3.3rem;
  padding-bottom: 12rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .parking-project__bottom {
    padding-bottom: 6.1rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.parking-project__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking-project__content {
  display: flex;
  flex-direction: column;
}
.parking-project__controls {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__controls {
    margin-bottom: 2rem;
    gap: 0.8rem;
  }
}
.parking-project__grouping {
  flex-shrink: 0;
}
.parking-project__grouping--modal {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__grouping {
    display: none;
  }
  .fav .parking-project__grouping {
    display: block;
    flex-shrink: 1;
    width: 20%;
    flex-grow: 1;
    order: -100;
  }
  .parking-project__grouping--modal {
    display: block;
    flex-shrink: 1;
  }
}
.parking-project__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__grouping-checkbox {
    padding: 1.4rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
  .fav .parking-project__grouping-checkbox {
    background-color: #fff;
    gap: 1rem;
  }
}
.parking-project__grouping-checkbox-input {
  display: none;
}
.parking-project__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.parking-project__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.parking-project__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.parking-project__grouping-checkbox-input:checked
  ~ .parking-project__grouping-checkbox-toggle {
  background-color: #101038;
}
.parking-project__grouping-checkbox-input:checked
  ~ .parking-project__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.parking-project__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .parking-project__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.parking-project__sort {
  position: relative;
  width: 22.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .fav .parking-project__sort {
    order: -90;
  }
  .parking-project__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
@media only screen and (min-width: 641px) {
  .parking-project__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background-color: #fff;
    border-radius: 1.2rem;
    text-align: left;
    justify-content: space-between;
    width: 100%;
  }
  .parking-project__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .parking-project__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .parking-project__sort.active .parking-project__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__sort-btn {
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 0.8rem;
    color: #212173;
  }
  .parking-project__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .parking-project__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__sort-btn-text {
    display: none;
  }
}
.parking-project__desktop-btns {
  padding: 0.8rem;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1.2rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__desktop-btns {
    display: none;
  }
}
.parking-project__desktop-btn {
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s, background-color 0.2s, padding 0.2s;
  position: relative;
  line-height: 150%;
  border-radius: 0.8rem;
}
.parking-project__desktop-btn svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  fill: currentColor;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.parking-project__desktop-btn.active {
  background-color: var(--blue);
  color: #fff;
  padding-left: 4.4rem;
}
.parking-project__desktop-btn.active svg {
  opacity: 1;
}
.parking-project__table-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3.04rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-wrap: wrap;
}
.parking-project__table-card .parking-project__add-to-fav {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    position: relative;
  }
  .parking-project__table-card .parking-project__add-to-fav {
    position: absolute;
    right: 2rem;
    top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 3.2rem;
    height: 3.2rem;
  }
}
.parking-project__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.parking-project__table-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-view-header {
    display: none;
  }
}
.parking-project__table-view-header-item:first-child {
  width: 28.5rem;
}
.parking-project__table-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.parking-project__table-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.parking-project__table-view-header-item:nth-child(4) {
  width: 28rem;
}
.parking-project__table-view-header-item:nth-child(5) {
  width: 8rem;
}
.parking-project__table-view-header-item:nth-child(6) {
  width: 15rem;
}
.parking-project__table-view-header-item:nth-child(7) {
  width: 36rem;
}
.parking-project__table-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.parking-project__table-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.parking-project__table-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.parking-project__table-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.parking-project__table-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-mobile-section-wrapper {
    display: none;
  }
}
.parking-project__table-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.parking-project__table-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-area {
    display: none;
  }
}
.parking-project__table-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-date {
    display: none;
  }
}
.parking-project__table-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-condition {
    display: none;
  }
}
.parking-project__table-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .parking-project__table-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-project {
    display: contents;
  }
}
.parking-project__table-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.parking-project__table-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-project__table-card-project-stage:after {
    content: ", ";
  }
}
.parking-project__table-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-project__table-card-section:before {
    content: "Секция ";
  }
}
.parking-project__table-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 0.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-floor {
    display: none;
  }
}
.parking-project__table-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .parking-project__table-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .parking-project__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.parking-project__table-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.parking-project__table-card.parking-project__discount
  .parking-project__table-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.parking-project__table-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.parking-project__fav-categories {
  margin-right: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories {
    flex-shrink: 1;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-top: 2.4rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .parking-project__fav-categories::-webkit-scrollbar * {
    background: transparent;
  }
  .parking-project__fav-categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .parking-project__fav-categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .parking-project__fav-categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.parking-project__fav-categories--mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories--mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories--desktop {
    display: none;
  }
}
.parking-project__fav-categories-list {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories-list {
    padding: 0.4rem;
    background-color: #f5f5f5;
    border-radius: 0.8rem;
    width: max-content;
    min-width: 100%;
    justify-content: space-between;
  }
}
.parking-project__fav-categories-list-item {
  flex-shrink: 0;
}
.parking-project__fav-categories-link {
  text-align: center;
  padding: 1.6rem 2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2rem;
  white-space: nowrap;
  gap: 0.8rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories-link {
    padding: 1.2rem 1.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: -0.02em;
  }
}
.parking-project__fav-categories-link.active {
  background-color: #101038;
  color: #fff;
}
.parking-project__fav-categories-link-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  color: #101038;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  text-align: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__fav-categories-link-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.parking-project__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__tags {
    display: none;
  }
}
.parking-project__tags-shown {
  flex-shrink: 0;
}
.parking-project__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.parking-project__tags-shown-list-item {
  flex-shrink: 0;
}
.parking-project__tag-shown {
  display: block;
  padding: 0.9rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.parking-project__tag-shown:link,
.parking-project__tag-shown:visited {
  color: #020202;
}
.parking-project__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.parking-project__tags-hidden:hover .parking-project__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.parking-project__tags-hidden-btn {
  padding: 0.9rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.parking-project__add-to-fav {
  margin-left: auto;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.parking-project__add-to-fav:link,
.parking-project__add-to-fav:visited {
  color: transparent;
}
.parking-project__add-to-fav svg {
  display: block;
  width: 2rem;
  height: 2rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking-project__add-to-fav svg {
    margin: 0 auto;
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .parking-project__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.parking-project__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.parking-project__add-to-fav.active svg {
  fill: var(--primary-color);
}
.parking-project__table-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.parking-project__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .parking-project__list-item:nth-child(5n + 4)
    .parking-project__tags-hidden-dropdown,
  .parking-project__list-item:nth-child(5n + 5)
    .parking-project__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.parking-project__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.parking-project__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.parking-project__tags-hidden-list-item {
  flex-shrink: 0;
}
.parking-project__list-item--fullwidth {
  grid-column: 1/-1;
}
.parking-project__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .parking-project__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.parking-project__table-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__table-list-item {
    cursor: pointer;
  }
}
.parking-project__table-list-item.active .parking-project__table-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-list-item.active
    .parking-project__table-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.parking-project__table-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    border-radius: 1.2rem;
    justify-content: flex-start;
  }
}
.parking-project__table-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.parking-project__table-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.parking-project__table-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.parking-project__table-card-content-wrapper {
  width: 84rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 49.8rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-wrapper {
    height: calc(100% - 2rem);
    width: 100%;
    flex-direction: column;
    margin-top: 1rem;
  }
  .parking-project__table-card-content-wrapper:before {
    content: "";
    position: absolute;
    border-radius: 12px;
    background-color: #02020280;
    background-image: url(../images/parking/swipe.svg);
    background-repeat: no-repeat;
    background-position: center bottom 4rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
  }
  .parking-project__table-card-content-wrapper.active:before {
    display: none;
  }
}
.parking-project__table-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.parking-project__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.parking-project__show-more:link,
.parking-project__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .parking-project__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.parking-project__zoom-controls {
  position: absolute;
  right: 3rem;
  z-index: 20;
  top: 50%;
  margin-top: -5rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__zoom-controls {
    display: none;
  }
}
.parking-project__zoom-control {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  gap: 1.2rem;
  width: 6.2rem;
  height: 6.2rem;
  background: var(--white);
  border-radius: 100%;
  transition: background-color 0.3s;
  cursor: pointer;
  color: var(--text-color);
}
.parking-project__zoom-control:first-child {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__zoom-control {
    width: 5rem;
    height: 5rem;
  }
}
.parking-project__zoom-control svg {
  width: 2.2rem;
  height: 2.2rem;
}
.parking-project__zoom-control:focus,
.parking-project__zoom-control:hover {
  background-color: var(--blue-dark);
  color: var(--white);
  outline: none;
}
.parking-project__zoom-control:disabled {
  background-color: #fff;
  color: var(--text-color);
  cursor: default;
  opacity: 0.4;
}
.parking-project__zoom {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.2rem;
}
.parking-project__section-label {
  font-size: 1.6rem;
  font-weight: 700;
  text-anchor: middle;
}
.parking-project__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.parking-project__image-draggable {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .parking-project__image-draggable {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.parking-project__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  cursor: grab;
}
.parking-project__image-genplan {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  cursor: grab;
}
.parking-project__buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__buttons {
    position: fixed;
    bottom: 0;
    padding: 2rem;
    left: 0;
    right: 0;
    box-sizing: border-box;
    background: #ffffff;
    border-top: 1px solid rgba(2, 2, 2, 0.05);
    box-shadow: 0 2px 20px #0000000f;
    z-index: 1;
  }
}
a.parking-project__button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}
a.parking-project__button-desktop {
  display: flex;
}
a.parking-project__button-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  a.parking-project__button {
    height: 5rem;
    font-size: 1.2rem;
  }
  a.parking-project__button-desktop {
    display: none;
  }
  a.parking-project__button-mobile {
    display: flex;
  }
}
a.parking-project__button--red {
  max-width: 25.6rem;
  background: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.parking-project__button--red {
    max-width: unset;
    width: 100%;
  }
}
a.parking-project__button--red:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
a.parking-project__button--border {
  max-width: 24rem;
  color: var(--primary-color);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.parking-project__button--border {
    max-width: unset;
    width: 100%;
  }
}
a.parking-project__button--border:hover {
  background-color: var(--white-hover);
}
.parking-project__table-card-content-right .parking-project__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-right .parking-project__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.parking-project__table-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.parking-project__table-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-options {
    display: none;
  }
}
.parking-project__table-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.parking-project__table-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.parking-project__table-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.parking-project__table-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__table-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.parking-project__status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
  position: absolute;
  left: 3rem;
  top: 3rem;
  background: #ffffff;
  border-radius: 10px;
}
@media only screen and (max-width: 640px) {
  .parking-project__status {
    left: 0;
    top: 0;
    right: 0;
  }
}
.parking-project__status-free {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-project__status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__status-reserved {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-project__status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__status-selected {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-project__status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__mobile-text {
    display: inline;
  }
}
.parking-project__mobile-text-bottom {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__mobile-text-bottom {
    display: block;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #020202;
  }
}
.parking-project__price-popup {
  display: none;
}
.parking-project__modal-more {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 9rem;
  z-index: 200;
}
.parking-project__modal-more .parking-project__modal-more-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff;
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 2rem 2rem 1.6rem;
}
.parking-project__modal-more:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 9rem;
  right: 0;
  background: #212121;
  opacity: 0.4;
}
.parking-project__modal-more .parking-project__table-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.parking-project__modal-more .parking-project__table-card-content-options {
  display: flex;
}
.parking-project__modal-more .parking-project__table-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.parking-project__modal-more .parking-project__table-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.parking-project__modal-more
  .parking-project__table-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.parking-project__modal-more .parking-project__table-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.parking-project__modal-more .parking-project__price-mortgage-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #020202;
  justify-content: flex-end;
  letter-spacing: 0;
}
.parking-project__modal-more .parking-project__price-text {
  font-weight: 400;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #212173;
}
.parking-project__modal-more
  .parking-project__price-discount
  .parking-project__price-text {
  color: #cf000c;
}
.parking-project__modal-more .parking-project__price-text-m2 {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.parking-project__modal-more .parking-project__price-mortgage-label {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #02020280;
  justify-content: flex-end;
  letter-spacing: 0;
}
.parking-project__modal-more
  .parking-project__table-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.parking-project__modal-more
  .parking-project__table-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.parking-project__modal-more .parking-project__modal-more-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4.4rem;
  height: 4.4rem;
  background: #f8f8f8;
  border-radius: 100%;
  color: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
}
.parking-project__modal-more .parking-project__modal-more-close svg {
  width: 4rem;
  height: 4rem;
}
.parking-house {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
@media only screen and (max-width: 640px) {
  .parking-house {
    margin-top: 0;
  }
}
.parking-house__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking-house__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    grid-gap: var(--content-padding, 0);
    margin-bottom: 0;
    padding-top: 3.05rem;
    padding-bottom: 3.2rem;
  }
}
.parking-house__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
    margin-bottom: 2.25rem;
  }
}
.parking-house__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 3.03fr) minmax(
      0,
      2.26fr
    );
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__short-filters {
    display: none;
  }
}
.parking-house__short-filters-fields {
  display: contents;
}
.parking-house__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .parking-house__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.parking-house__short-filters-found {
  grid-column: 3/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.parking-house__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 4/4;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.parking-house__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .parking-house__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.parking-house__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .parking-house__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .parking-house__all-filters-modal {
  display: none;
}
.parking-house__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.parking-house__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.parking-house__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.parking-house__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.parking-house__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.parking-house__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.parking-house__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.parking-house__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .parking-house__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.parking-house__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.parking-house__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.parking-house__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.parking-house__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.parking-house__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.parking-house__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .parking-house__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.parking-house__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.parking-house__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .parking-house__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .parking-house__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .parking-house__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.parking-house__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.parking-house__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.parking-house__all-filters-modal-checkbox-input {
  display: none;
}
.parking-house__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.parking-house__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .parking-house__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.parking-house__all-filters-modal-checkbox-input:checked
  ~ .parking-house__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.parking-house__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .parking-house__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.parking-house__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.parking-house__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking-house__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.parking-house__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .parking-house__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .parking-house__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__fixed-show-filters-desktop-text {
    display: none;
  }
}
.parking-house__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__fixed-show-filters-mobile-text {
    display: block;
  }
}
.parking-house__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__mobile-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0.8rem;
    margin-bottom: 0;
    order: 40;
  }
}
.parking-house__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.parking-house__mobile-btn:link,
.parking-house__mobile-btn:visited {
  color: var(--blue);
}
@media only screen and (max-width: 640px) {
  .parking-house__mobile-btn,
  .parking-house__mobile-btn span {
    display: none;
  }
}
.parking-house__mobile-btn.active {
  background-color: #fff;
  color: #212173;
  display: flex;
  font-size: 0;
  width: 5rem;
  height: 5rem;
}
.parking-house__bottom {
  padding-top: 3.3rem;
  padding-bottom: 12rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .parking-house__bottom {
    padding-bottom: 6.1rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.parking-house__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.parking-house__content {
  display: flex;
  flex-direction: column;
}
.parking-house__controls {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__controls {
    margin-bottom: 2rem;
    gap: 0.8rem;
  }
}
.parking-house__grouping {
  flex-shrink: 0;
}
.parking-house__grouping--modal {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__grouping {
    display: none;
  }
  .fav .parking-house__grouping {
    display: block;
    flex-shrink: 1;
    width: 20%;
    flex-grow: 1;
    order: -100;
  }
  .parking-house__grouping--modal {
    display: block;
    flex-shrink: 1;
  }
}
.parking-house__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__grouping-checkbox {
    padding: 1.4rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
  .fav .parking-house__grouping-checkbox {
    background-color: #fff;
    gap: 1rem;
  }
}
.parking-house__grouping-checkbox-input {
  display: none;
}
.parking-house__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.parking-house__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.parking-house__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.parking-house__grouping-checkbox-input:checked
  ~ .parking-house__grouping-checkbox-toggle {
  background-color: #101038;
}
.parking-house__grouping-checkbox-input:checked
  ~ .parking-house__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.parking-house__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .parking-house__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.parking-house__sort {
  position: relative;
  width: 22.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .fav .parking-house__sort {
    order: -90;
  }
  .parking-house__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
@media only screen and (min-width: 641px) {
  .parking-house__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background-color: #fff;
    border-radius: 1.2rem;
    text-align: left;
    justify-content: space-between;
    width: 100%;
  }
  .parking-house__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .parking-house__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .parking-house__sort.active .parking-house__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__sort-btn {
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 0.8rem;
    color: #212173;
  }
  .parking-house__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .parking-house__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__sort-btn-text {
    display: none;
  }
}
.parking-house__desktop-btns {
  padding: 0.8rem;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1.2rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-house__desktop-btns {
    display: none;
  }
}
.parking-house__desktop-btn {
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s, background-color 0.2s, padding 0.2s;
  position: relative;
  line-height: 150%;
  border-radius: 0.8rem;
}
.parking-house__desktop-btn svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  fill: currentColor;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.parking-house__desktop-btn.active {
  background-color: var(--blue);
  color: #fff;
  padding-left: 4.4rem;
}
.parking-house__desktop-btn.active svg {
  opacity: 1;
}
.parking-house__table-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3.04rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-wrap: wrap;
}
.parking-house__table-card .parking-house__add-to-fav {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    position: relative;
  }
  .parking-house__table-card .parking-house__add-to-fav {
    position: absolute;
    right: 2rem;
    top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 3.2rem;
    height: 3.2rem;
  }
}
.parking-house__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.parking-house__table-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-view-header {
    display: none;
  }
}
.parking-house__table-view-header-item:first-child {
  width: 28.5rem;
}
.parking-house__table-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.parking-house__table-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.parking-house__table-view-header-item:nth-child(4) {
  width: 28rem;
}
.parking-house__table-view-header-item:nth-child(5) {
  width: 8rem;
}
.parking-house__table-view-header-item:nth-child(6) {
  width: 15rem;
}
.parking-house__table-view-header-item:nth-child(7) {
  width: 36rem;
}
.parking-house__table-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.parking-house__table-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.parking-house__table-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.parking-house__table-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.parking-house__table-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-mobile-section-wrapper {
    display: none;
  }
}
.parking-house__table-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.parking-house__table-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-area {
    display: none;
  }
}
.parking-house__table-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-date {
    display: none;
  }
}
.parking-house__table-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-condition {
    display: none;
  }
}
.parking-house__table-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .parking-house__table-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-project {
    display: contents;
  }
}
.parking-house__table-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.parking-house__table-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-house__table-card-project-stage:after {
    content: ", ";
  }
}
.parking-house__table-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-house__table-card-section:before {
    content: "Секция ";
  }
}
.parking-house__table-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 0.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-floor {
    display: none;
  }
}
.parking-house__table-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .parking-house__table-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .parking-house__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.parking-house__table-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.parking-house__table-card.parking-house__discount
  .parking-house__table-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.parking-house__table-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.parking-house__fav-categories {
  margin-right: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories {
    flex-shrink: 1;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-top: 2.4rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .parking-house__fav-categories::-webkit-scrollbar * {
    background: transparent;
  }
  .parking-house__fav-categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .parking-house__fav-categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .parking-house__fav-categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.parking-house__fav-categories--mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories--mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories--desktop {
    display: none;
  }
}
.parking-house__fav-categories-list {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories-list {
    padding: 0.4rem;
    background-color: #f5f5f5;
    border-radius: 0.8rem;
    width: max-content;
    min-width: 100%;
    justify-content: space-between;
  }
}
.parking-house__fav-categories-list-item {
  flex-shrink: 0;
}
.parking-house__fav-categories-link {
  text-align: center;
  padding: 1.6rem 2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2rem;
  white-space: nowrap;
  gap: 0.8rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories-link {
    padding: 1.2rem 1.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: -0.02em;
  }
}
.parking-house__fav-categories-link.active {
  background-color: #101038;
  color: #fff;
}
.parking-house__fav-categories-link-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  color: #101038;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  text-align: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-house__fav-categories-link-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.parking-house__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__tags {
    display: none;
  }
}
.parking-house__tags-shown {
  flex-shrink: 0;
}
.parking-house__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.parking-house__tags-shown-list-item {
  flex-shrink: 0;
}
.parking-house__tag-shown {
  display: block;
  padding: 0.9rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.parking-house__tag-shown:link,
.parking-house__tag-shown:visited {
  color: #020202;
}
.parking-house__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.parking-house__tags-hidden:hover .parking-house__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.parking-house__tags-hidden-btn {
  padding: 0.9rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.parking-house__add-to-fav {
  margin-left: auto;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.parking-house__add-to-fav:link,
.parking-house__add-to-fav:visited {
  color: transparent;
}
.parking-house__add-to-fav svg {
  display: block;
  width: 2rem;
  height: 2rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media only screen and (max-width: 640px) {
  .parking-house__add-to-fav svg {
    margin: 0 auto;
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .parking-house__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.parking-house__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.parking-house__add-to-fav.active svg {
  fill: var(--primary-color);
}
.parking-house__table-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.parking-house__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .parking-house__list-item:nth-child(5n + 4)
    .parking-house__tags-hidden-dropdown,
  .parking-house__list-item:nth-child(5n + 5)
    .parking-house__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.parking-house__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.parking-house__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.parking-house__tags-hidden-list-item {
  flex-shrink: 0;
}
.parking-house__list-item--fullwidth {
  grid-column: 1/-1;
}
.parking-house__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .parking-house__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.parking-house__table-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content {
    position: fixed;
    right: 0;
    height: 100%;
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__table-list-item {
    cursor: pointer;
  }
}
.parking-house__table-list-item.active .parking-house__table-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-list-item.active .parking-house__table-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.parking-house__table-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    justify-content: flex-start;
    border-radius: 1.2rem;
  }
}
.parking-house__table-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.parking-house__table-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.parking-house__table-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.parking-house__table-card-content-wrapper {
  width: 84rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 49.8rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-wrapper {
    height: calc(100% - 2rem);
    margin-top: 1rem;
    width: 100%;
    flex-direction: column;
  }
  .parking-house__table-card-content-wrapper:before {
    content: "";
    position: absolute;
    border-radius: 12px;
    background-color: #02020280;
    background-image: url(../images/parking/swipe.svg);
    background-repeat: no-repeat;
    background-position: center bottom 4rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
  }
  .parking-house__table-card-content-wrapper.active:before {
    display: none;
  }
}
.parking-house__table-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.parking-house__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.parking-house__show-more:link,
.parking-house__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .parking-house__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .parking-house__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.parking-house__zoom-controls {
  position: absolute;
  right: 3rem;
  z-index: 20;
  top: 50%;
  margin-top: -5rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__zoom-controls {
    display: none;
  }
}
.parking-house__zoom-control {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  gap: 1.2rem;
  width: 6.2rem;
  height: 6.2rem;
  background: var(--white);
  border-radius: 100%;
  transition: background-color 0.3s;
  cursor: pointer;
  color: var(--text-color);
}
.parking-house__zoom-control:first-child {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__zoom-control {
    width: 5rem;
    height: 5rem;
  }
}
.parking-house__zoom-control svg {
  width: 2.2rem;
  height: 2.2rem;
}
.parking-house__zoom-control:focus,
.parking-house__zoom-control:hover {
  background-color: var(--blue-dark);
  color: var(--white);
  outline: none;
}
.parking-house__zoom-control:disabled {
  background-color: #fff;
  color: var(--text-color);
  cursor: default;
  opacity: 0.4;
}
.parking-house__zoom {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.2rem;
}
.parking-house__section-label {
  font-size: 1.6rem;
  font-weight: 700;
  text-anchor: middle;
}
.parking-house__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.parking-house__image-draggable {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .parking-house__image-draggable {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.parking-house__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  cursor: grab;
}
.parking-house__image-genplan {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  cursor: grab;
}
.parking-house__buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__buttons {
    position: fixed;
    bottom: 0;
    padding: 2rem;
    left: 0;
    right: 0;
    box-sizing: border-box;
    background: #ffffff;
    border-top: 1px solid rgba(2, 2, 2, 0.05);
    box-shadow: 0 2px 20px #0000000f;
    z-index: 1;
  }
}
a.parking-house__button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}
a.parking-house__button-desktop {
  display: flex;
}
a.parking-house__button-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  a.parking-house__button {
    height: 5rem;
    font-size: 1.2rem;
  }
  a.parking-house__button-desktop {
    display: none;
  }
  a.parking-house__button-mobile {
    display: flex;
  }
}
a.parking-house__button--red {
  max-width: 25.6rem;
  background: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.parking-house__button--red {
    max-width: unset;
    width: 100%;
  }
}
a.parking-house__button--red:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
a.parking-house__button--border {
  max-width: 24rem;
  color: var(--primary-color);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.parking-house__button--border {
    max-width: unset;
    width: 100%;
  }
}
a.parking-house__button--border:hover {
  background-color: var(--white-hover);
}
.parking-house__table-card-content-right .parking-house__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-right .parking-house__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.parking-house__table-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.parking-house__table-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-options {
    display: none;
  }
}
.parking-house__table-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.parking-house__table-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.parking-house__table-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.parking-house__table-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .parking-house__table-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.parking-house__status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
  position: absolute;
  left: 3rem;
  top: 3rem;
  background: #ffffff;
  border-radius: 10px;
}
@media only screen and (max-width: 640px) {
  .parking-house__status {
    left: 0;
    top: 0;
    right: 0;
  }
}
.parking-house__status-free {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-house__status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-house__status-reserved {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-house__status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-house__status-selected {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-house__status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-house__status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-house__mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__mobile-text {
    display: inline;
  }
}
.parking-house__mobile-text-bottom {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-house__mobile-text-bottom {
    display: block;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #020202;
  }
}
.parking-house__price-popup {
  display: none;
}
.parking-house__modal-more {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 9rem;
  z-index: 200;
}
.parking-house__modal-more .parking-house__modal-more-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff;
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 2rem 2rem 1.6rem;
}
.parking-house__modal-more:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 9rem;
  right: 0;
  background: #212121;
  opacity: 0.4;
}
.parking-house__modal-more .parking-house__table-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.parking-house__modal-more .parking-house__table-card-content-options {
  display: flex;
}
.parking-house__modal-more .parking-house__table-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.parking-house__modal-more .parking-house__price-popup {
  display: flex;
}
.parking-house__modal-more .parking-house__table-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.parking-house__modal-more
  .parking-house__table-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.parking-house__modal-more .parking-house__table-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.parking-house__modal-more .parking-house__price-mortgage-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #020202;
  justify-content: flex-end;
  letter-spacing: 0;
}
.parking-house__modal-more .parking-house__price-text {
  font-weight: 400;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #212173;
}
.parking-house__modal-more
  .parking-house__price-discount
  .parking-house__price-text {
  color: #cf000c;
}
.parking-house__modal-more .parking-house__price-text-m2 {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.parking-house__modal-more .parking-house__price-mortgage-label {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #02020280;
  justify-content: flex-end;
  letter-spacing: 0;
}
.parking-house__modal-more
  .parking-house__table-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.parking-house__modal-more
  .parking-house__table-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.parking-house__modal-more .parking-house__modal-more-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4.4rem;
  height: 4.4rem;
  background: #f8f8f8;
  border-radius: 100%;
  color: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
}
.parking-house__modal-more .parking-house__modal-more-close svg {
  width: 4rem;
  height: 4rem;
}
.boxrooms-project {
  display: flex;
  flex-direction: column;
  margin-top: -12rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project {
    margin-top: -7rem;
  }
}
.boxrooms-project__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms-project__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 12.4rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    padding-bottom: 0;
    margin-bottom: 0;
    padding-top: 7rem;
  }
}
.boxrooms-project__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
    margin-bottom: 6rem;
  }
}
.boxrooms-project__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 3.03fr) minmax(
      0,
      2.26fr
    );
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__short-filters {
    display: none;
  }
}
.boxrooms-project__short-filters-fields {
  display: contents;
}
.boxrooms-project__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .boxrooms-project__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.boxrooms-project__short-filters-found {
  grid-column: 3/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.boxrooms-project__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 4/4;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.boxrooms-project__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .boxrooms-project__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.boxrooms-project__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .boxrooms-project__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .boxrooms-project__all-filters-modal {
  display: none;
}
.boxrooms-project__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.boxrooms-project__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.boxrooms-project__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.boxrooms-project__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.boxrooms-project__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.boxrooms-project__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.boxrooms-project__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.boxrooms-project__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .boxrooms-project__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms-project__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.boxrooms-project__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.boxrooms-project__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.boxrooms-project__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.boxrooms-project__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.boxrooms-project__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .boxrooms-project__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.boxrooms-project__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.boxrooms-project__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .boxrooms-project__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .boxrooms-project__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .boxrooms-project__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.boxrooms-project__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.boxrooms-project__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.boxrooms-project__all-filters-modal-checkbox-input {
  display: none;
}
.boxrooms-project__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.boxrooms-project__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .boxrooms-project__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.boxrooms-project__all-filters-modal-checkbox-input:checked
  ~ .boxrooms-project__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.boxrooms-project__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .boxrooms-project__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.boxrooms-project__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.boxrooms-project__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.boxrooms-project__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .boxrooms-project__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fixed-show-filters-desktop-text {
    display: none;
  }
}
.boxrooms-project__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fixed-show-filters-mobile-text {
    display: block;
  }
}
.boxrooms-project__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__mobile-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0.8rem;
    margin-bottom: 0;
    order: 40;
  }
}
.boxrooms-project__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.boxrooms-project__mobile-btn:link,
.boxrooms-project__mobile-btn:visited {
  color: var(--blue);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__mobile-btn,
  .boxrooms-project__mobile-btn span {
    display: none;
  }
}
.boxrooms-project__mobile-btn.active {
  background-color: #fff;
  color: #212173;
  display: flex;
  font-size: 0;
  width: 5rem;
  height: 5rem;
}
.boxrooms-project__bottom {
  padding-top: 3.3rem;
  padding-bottom: 12rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__bottom {
    padding-bottom: 6.1rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.boxrooms-project__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms-project__content {
  display: flex;
  flex-direction: column;
}
.boxrooms-project__controls {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__controls {
    margin-bottom: 2rem;
    gap: 0.8rem;
  }
}
.boxrooms-project__grouping {
  flex-shrink: 0;
}
.boxrooms-project__grouping--modal {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__grouping {
    display: none;
  }
  .fav .boxrooms-project__grouping {
    display: block;
    flex-shrink: 1;
    width: 20%;
    flex-grow: 1;
    order: -100;
  }
  .boxrooms-project__grouping--modal {
    display: block;
    flex-shrink: 1;
  }
}
.boxrooms-project__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__grouping-checkbox {
    padding: 1.4rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
  .fav .boxrooms-project__grouping-checkbox {
    background-color: #fff;
    gap: 1rem;
  }
}
.boxrooms-project__grouping-checkbox-input {
  display: none;
}
.boxrooms-project__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.boxrooms-project__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.boxrooms-project__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.boxrooms-project__grouping-checkbox-input:checked
  ~ .boxrooms-project__grouping-checkbox-toggle {
  background-color: #101038;
}
.boxrooms-project__grouping-checkbox-input:checked
  ~ .boxrooms-project__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.boxrooms-project__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .boxrooms-project__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.boxrooms-project__sort {
  position: relative;
  width: 22.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .fav .boxrooms-project__sort {
    order: -90;
  }
  .boxrooms-project__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background-color: #fff;
    border-radius: 1.2rem;
    text-align: left;
    justify-content: space-between;
    width: 100%;
  }
  .boxrooms-project__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .boxrooms-project__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .boxrooms-project__sort.active .boxrooms-project__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__sort-btn {
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 0.8rem;
    color: #212173;
  }
  .boxrooms-project__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .boxrooms-project__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__sort-btn-text {
    display: none;
  }
}
.boxrooms-project__desktop-btns {
  padding: 0.8rem;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1.2rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__desktop-btns {
    display: none;
  }
}
.boxrooms-project__desktop-btn {
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s, background-color 0.2s, padding 0.2s;
  position: relative;
  line-height: 150%;
  border-radius: 0.8rem;
}
.boxrooms-project__desktop-btn svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  fill: currentColor;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.boxrooms-project__desktop-btn.active {
  background-color: var(--blue);
  color: #fff;
  padding-left: 4.4rem;
}
.boxrooms-project__desktop-btn.active svg {
  opacity: 1;
}
.boxrooms-project__table-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3.04rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-wrap: wrap;
}
.boxrooms-project__table-card .boxrooms-project__add-to-fav {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    position: relative;
  }
  .boxrooms-project__table-card .boxrooms-project__add-to-fav {
    position: absolute;
    right: 2rem;
    top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 3.2rem;
    height: 3.2rem;
  }
}
.boxrooms-project__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.boxrooms-project__table-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-view-header {
    display: none;
  }
}
.boxrooms-project__table-view-header-item:first-child {
  width: 28.5rem;
}
.boxrooms-project__table-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.boxrooms-project__table-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.boxrooms-project__table-view-header-item:nth-child(4) {
  width: 28rem;
}
.boxrooms-project__table-view-header-item:nth-child(5) {
  width: 8rem;
}
.boxrooms-project__table-view-header-item:nth-child(6) {
  width: 15rem;
}
.boxrooms-project__table-view-header-item:nth-child(7) {
  width: 36rem;
}
.boxrooms-project__table-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.boxrooms-project__table-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.boxrooms-project__table-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.boxrooms-project__table-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.boxrooms-project__table-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-mobile-section-wrapper {
    display: none;
  }
}
.boxrooms-project__table-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.boxrooms-project__table-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-area {
    display: none;
  }
}
.boxrooms-project__table-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-date {
    display: none;
  }
}
.boxrooms-project__table-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-condition {
    display: none;
  }
}
.boxrooms-project__table-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__table-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-project {
    display: contents;
  }
}
.boxrooms-project__table-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.boxrooms-project__table-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-project__table-card-project-stage:after {
    content: ", ";
  }
}
.boxrooms-project__table-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-project__table-card-section:before {
    content: "Секция ";
  }
}
.boxrooms-project__table-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 0.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-floor {
    display: none;
  }
}
.boxrooms-project__table-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__table-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.boxrooms-project__table-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.boxrooms-project__table-card.boxrooms-project__discount
  .boxrooms-project__table-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.boxrooms-project__table-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.boxrooms-project__fav-categories {
  margin-right: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories {
    flex-shrink: 1;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-top: 2.4rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .boxrooms-project__fav-categories::-webkit-scrollbar * {
    background: transparent;
  }
  .boxrooms-project__fav-categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .boxrooms-project__fav-categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .boxrooms-project__fav-categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.boxrooms-project__fav-categories--mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories--mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories--desktop {
    display: none;
  }
}
.boxrooms-project__fav-categories-list {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories-list {
    padding: 0.4rem;
    background-color: #f5f5f5;
    border-radius: 0.8rem;
    width: max-content;
    min-width: 100%;
    justify-content: space-between;
  }
}
.boxrooms-project__fav-categories-list-item {
  flex-shrink: 0;
}
.boxrooms-project__fav-categories-link {
  text-align: center;
  padding: 1.6rem 2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2rem;
  white-space: nowrap;
  gap: 0.8rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories-link {
    padding: 1.2rem 1.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: -0.02em;
  }
}
.boxrooms-project__fav-categories-link.active {
  background-color: #101038;
  color: #fff;
}
.boxrooms-project__fav-categories-link-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  color: #101038;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  text-align: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__fav-categories-link-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.boxrooms-project__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__tags {
    display: none;
  }
}
.boxrooms-project__tags-shown {
  flex-shrink: 0;
}
.boxrooms-project__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.boxrooms-project__tags-shown-list-item {
  flex-shrink: 0;
}
.boxrooms-project__tag-shown {
  display: block;
  padding: 0.9rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.boxrooms-project__tag-shown:link,
.boxrooms-project__tag-shown:visited {
  color: #020202;
}
.boxrooms-project__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.boxrooms-project__tags-hidden:hover .boxrooms-project__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.boxrooms-project__tags-hidden-btn {
  padding: 0.9rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.boxrooms-project__add-to-fav {
  margin-left: auto;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.boxrooms-project__add-to-fav:link,
.boxrooms-project__add-to-fav:visited {
  color: transparent;
}
.boxrooms-project__add-to-fav svg {
  display: block;
  width: 2rem;
  height: 2rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__add-to-fav svg {
    margin: 0 auto;
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .boxrooms-project__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms-project__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.boxrooms-project__add-to-fav.active svg {
  fill: var(--primary-color);
}
.boxrooms-project__table-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.boxrooms-project__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__list-item:nth-child(5n + 4)
    .boxrooms-project__tags-hidden-dropdown,
  .boxrooms-project__list-item:nth-child(5n + 5)
    .boxrooms-project__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.boxrooms-project__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.boxrooms-project__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.boxrooms-project__tags-hidden-list-item {
  flex-shrink: 0;
}
.boxrooms-project__list-item--fullwidth {
  grid-column: 1/-1;
}
.boxrooms-project__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.boxrooms-project__table-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-list-item {
    cursor: pointer;
  }
}
.boxrooms-project__table-list-item.active
  .boxrooms-project__table-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-list-item.active
    .boxrooms-project__table-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.boxrooms-project__table-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    border-radius: 1.2rem;
    justify-content: flex-start;
  }
}
.boxrooms-project__table-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.boxrooms-project__table-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.boxrooms-project__table-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.boxrooms-project__table-card-content-wrapper {
  width: 84rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 49.8rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-wrapper {
    height: calc(100% - 2rem);
    width: 100%;
    flex-direction: column;
    margin-top: 1rem;
  }
  .boxrooms-project__table-card-content-wrapper:before {
    content: "";
    position: absolute;
    border-radius: 12px;
    background-color: #02020280;
    background-image: url(../images/parking/swipe.svg);
    background-repeat: no-repeat;
    background-position: center bottom 4rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
  }
  .boxrooms-project__table-card-content-wrapper.active:before {
    display: none;
  }
}
.boxrooms-project__table-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.boxrooms-project__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.boxrooms-project__show-more:link,
.boxrooms-project__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .boxrooms-project__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.boxrooms-project__zoom-controls {
  position: absolute;
  right: 3rem;
  z-index: 20;
  top: 50%;
  margin-top: -5rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__zoom-controls {
    display: none;
  }
}
.boxrooms-project__zoom-control {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  gap: 1.2rem;
  width: 6.2rem;
  height: 6.2rem;
  background: var(--white);
  border-radius: 100%;
  transition: background-color 0.3s;
  cursor: pointer;
  color: var(--text-color);
}
.boxrooms-project__zoom-control:first-child {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__zoom-control {
    width: 5rem;
    height: 5rem;
  }
}
.boxrooms-project__zoom-control svg {
  width: 2.2rem;
  height: 2.2rem;
}
.boxrooms-project__zoom-control:focus,
.boxrooms-project__zoom-control:hover {
  background-color: var(--blue-dark);
  color: var(--white);
  outline: none;
}
.boxrooms-project__zoom-control:disabled {
  background-color: #fff;
  color: var(--text-color);
  cursor: default;
  opacity: 0.4;
}
.boxrooms-project__zoom {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.2rem;
}
.boxrooms-project__section-label {
  font-size: 1.6rem;
  font-weight: 700;
  text-anchor: middle;
}
.boxrooms-project__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.boxrooms-project__image-draggable {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__image-draggable {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.boxrooms-project__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  cursor: grab;
}
.boxrooms-project__image-genplan {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  cursor: grab;
}
.boxrooms-project__buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__buttons {
    position: fixed;
    bottom: 0;
    padding: 2rem;
    left: 0;
    right: 0;
    box-sizing: border-box;
    background: #ffffff;
    border-top: 1px solid rgba(2, 2, 2, 0.05);
    box-shadow: 0 2px 20px #0000000f;
    z-index: 1;
  }
}
a.boxrooms-project__button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}
a.boxrooms-project__button-desktop {
  display: flex;
}
a.boxrooms-project__button-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  a.boxrooms-project__button {
    height: 5rem;
    font-size: 1.2rem;
  }
  a.boxrooms-project__button-desktop {
    display: none;
  }
  a.boxrooms-project__button-mobile {
    display: flex;
  }
}
a.boxrooms-project__button--red {
  max-width: 25.6rem;
  background: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.boxrooms-project__button--red {
    max-width: unset;
    width: 100%;
  }
}
a.boxrooms-project__button--red:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
a.boxrooms-project__button--border {
  max-width: 24rem;
  color: var(--primary-color);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.boxrooms-project__button--border {
    max-width: unset;
    width: 100%;
  }
}
a.boxrooms-project__button--border:hover {
  background-color: var(--white-hover);
}
.boxrooms-project__table-card-content-right .boxrooms-project__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-right .boxrooms-project__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.boxrooms-project__table-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.boxrooms-project__table-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-options {
    display: none;
  }
}
.boxrooms-project__table-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.boxrooms-project__table-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.boxrooms-project__table-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.boxrooms-project__table-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__table-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.boxrooms-project__status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
  position: absolute;
  left: 3rem;
  top: 3rem;
  background: #ffffff;
  border-radius: 10px;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status {
    left: 0;
    top: 0;
    right: 0;
  }
}
.boxrooms-project__status-free {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-project__status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__status-reserved {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-project__status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__status-selected {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-project__status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__mobile-text {
    display: inline;
  }
}
.boxrooms-project__mobile-text-bottom {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__mobile-text-bottom {
    display: block;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #020202;
  }
}
.boxrooms-project__price-popup {
  display: none;
}
.boxrooms-project__modal-more {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 9rem;
  z-index: 200;
}
.boxrooms-project__modal-more .boxrooms-project__modal-more-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff;
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 2rem 2rem 1.6rem;
}
.boxrooms-project__modal-more:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 9rem;
  right: 0;
  background: #212121;
  opacity: 0.4;
}
.boxrooms-project__modal-more .boxrooms-project__table-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.boxrooms-project__modal-more .boxrooms-project__table-card-content-options {
  display: flex;
}
.boxrooms-project__modal-more .boxrooms-project__table-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.boxrooms-project__modal-more .boxrooms-project__table-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.boxrooms-project__modal-more
  .boxrooms-project__table-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.boxrooms-project__modal-more .boxrooms-project__table-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.boxrooms-project__modal-more .boxrooms-project__price-mortgage-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #020202;
  justify-content: flex-end;
  letter-spacing: 0;
}
.boxrooms-project__modal-more .boxrooms-project__price-text {
  font-weight: 400;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #212173;
}
.boxrooms-project__modal-more
  .boxrooms-project__price-discount
  .boxrooms-project__price-text {
  color: #cf000c;
}
.boxrooms-project__modal-more .boxrooms-project__price-text-m2 {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.boxrooms-project__modal-more .boxrooms-project__price-mortgage-label {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #02020280;
  justify-content: flex-end;
  letter-spacing: 0;
}
.boxrooms-project__modal-more
  .boxrooms-project__table-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.boxrooms-project__modal-more
  .boxrooms-project__table-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.boxrooms-project__modal-more .boxrooms-project__modal-more-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4.4rem;
  height: 4.4rem;
  background: #f8f8f8;
  border-radius: 100%;
  color: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
}
.boxrooms-project__modal-more .boxrooms-project__modal-more-close svg {
  width: 4rem;
  height: 4rem;
}
.boxrooms-house {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house {
    margin-top: 0;
  }
}
.boxrooms-house__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms-house__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    grid-gap: var(--content-padding, 0);
    margin-bottom: 0;
    padding-top: 3.05rem;
    padding-bottom: 3.2rem;
  }
}
.boxrooms-house__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
    margin-bottom: 2.25rem;
  }
}
.boxrooms-house__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 2.04fr) minmax(0, 2.04fr) minmax(0, 3.03fr) minmax(
      0,
      2.26fr
    );
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__short-filters {
    display: none;
  }
}
.boxrooms-house__short-filters-fields {
  display: contents;
}
.boxrooms-house__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .boxrooms-house__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.boxrooms-house__short-filters-found {
  grid-column: 3/3;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.boxrooms-house__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 4/4;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.boxrooms-house__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .boxrooms-house__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.boxrooms-house__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .boxrooms-house__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .boxrooms-house__all-filters-modal {
  display: none;
}
.boxrooms-house__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.boxrooms-house__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.boxrooms-house__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.boxrooms-house__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.boxrooms-house__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.boxrooms-house__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.boxrooms-house__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.boxrooms-house__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .boxrooms-house__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms-house__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.boxrooms-house__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.boxrooms-house__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.boxrooms-house__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.boxrooms-house__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.boxrooms-house__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .boxrooms-house__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.boxrooms-house__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.boxrooms-house__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .boxrooms-house__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .boxrooms-house__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .boxrooms-house__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.boxrooms-house__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.boxrooms-house__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.boxrooms-house__all-filters-modal-checkbox-input {
  display: none;
}
.boxrooms-house__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.boxrooms-house__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .boxrooms-house__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.boxrooms-house__all-filters-modal-checkbox-input:checked
  ~ .boxrooms-house__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.boxrooms-house__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .boxrooms-house__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.boxrooms-house__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.boxrooms-house__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.boxrooms-house__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .boxrooms-house__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fixed-show-filters-desktop-text {
    display: none;
  }
}
.boxrooms-house__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fixed-show-filters-mobile-text {
    display: block;
  }
}
.boxrooms-house__mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__mobile-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0.8rem;
    margin-bottom: 0;
    order: 40;
  }
}
.boxrooms-house__mobile-btn {
  padding: 1.5rem 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: var(--blue);
  transition: background-color 0.2s, color 0.2s;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
}
.boxrooms-house__mobile-btn:link,
.boxrooms-house__mobile-btn:visited {
  color: var(--blue);
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__mobile-btn,
  .boxrooms-house__mobile-btn span {
    display: none;
  }
}
.boxrooms-house__mobile-btn.active {
  background-color: #fff;
  color: #212173;
  display: flex;
  font-size: 0;
  width: 5rem;
  height: 5rem;
}
.boxrooms-house__bottom {
  padding-top: 3.3rem;
  padding-bottom: 12rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__bottom {
    padding-bottom: 6.1rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.boxrooms-house__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.boxrooms-house__content {
  display: flex;
  flex-direction: column;
}
.boxrooms-house__controls {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__controls {
    margin-bottom: 2rem;
    gap: 0.8rem;
  }
}
.boxrooms-house__grouping {
  flex-shrink: 0;
}
.boxrooms-house__grouping--modal {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__grouping {
    display: none;
  }
  .fav .boxrooms-house__grouping {
    display: block;
    flex-shrink: 1;
    width: 20%;
    flex-grow: 1;
    order: -100;
  }
  .boxrooms-house__grouping--modal {
    display: block;
    flex-shrink: 1;
  }
}
.boxrooms-house__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__grouping-checkbox {
    padding: 1.4rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
  .fav .boxrooms-house__grouping-checkbox {
    background-color: #fff;
    gap: 1rem;
  }
}
.boxrooms-house__grouping-checkbox-input {
  display: none;
}
.boxrooms-house__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.boxrooms-house__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.boxrooms-house__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.boxrooms-house__grouping-checkbox-input:checked
  ~ .boxrooms-house__grouping-checkbox-toggle {
  background-color: #101038;
}
.boxrooms-house__grouping-checkbox-input:checked
  ~ .boxrooms-house__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.boxrooms-house__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .boxrooms-house__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.boxrooms-house__sort {
  position: relative;
  width: 22.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .fav .boxrooms-house__sort {
    order: -90;
  }
  .boxrooms-house__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms-house__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background-color: #fff;
    border-radius: 1.2rem;
    text-align: left;
    justify-content: space-between;
    width: 100%;
  }
  .boxrooms-house__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .boxrooms-house__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .boxrooms-house__sort.active .boxrooms-house__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__sort-btn {
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 0.8rem;
    color: #212173;
  }
  .boxrooms-house__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .boxrooms-house__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__sort-btn-text {
    display: none;
  }
}
.boxrooms-house__desktop-btns {
  padding: 0.8rem;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1.2rem;
  flex-shrink: 0;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__desktop-btns {
    display: none;
  }
}
.boxrooms-house__desktop-btn {
  display: flex;
  align-items: center;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s, background-color 0.2s, padding 0.2s;
  position: relative;
  line-height: 150%;
  border-radius: 0.8rem;
}
.boxrooms-house__desktop-btn svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  fill: currentColor;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.boxrooms-house__desktop-btn.active {
  background-color: var(--blue);
  color: #fff;
  padding-left: 4.4rem;
}
.boxrooms-house__desktop-btn.active svg {
  opacity: 1;
}
.boxrooms-house__table-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3.04rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-wrap: wrap;
}
.boxrooms-house__table-card .boxrooms-house__add-to-fav {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    position: relative;
  }
  .boxrooms-house__table-card .boxrooms-house__add-to-fav {
    position: absolute;
    right: 2rem;
    top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 3.2rem;
    height: 3.2rem;
  }
}
.boxrooms-house__table-card:hover {
  border: 1px solid var(--primary-color-hover);
}
.boxrooms-house__table-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-view-header {
    display: none;
  }
}
.boxrooms-house__table-view-header-item:first-child {
  width: 28.5rem;
}
.boxrooms-house__table-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.boxrooms-house__table-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.boxrooms-house__table-view-header-item:nth-child(4) {
  width: 28rem;
}
.boxrooms-house__table-view-header-item:nth-child(5) {
  width: 8rem;
}
.boxrooms-house__table-view-header-item:nth-child(6) {
  width: 15rem;
}
.boxrooms-house__table-view-header-item:nth-child(7) {
  width: 36rem;
}
.boxrooms-house__table-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.boxrooms-house__table-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.boxrooms-house__table-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.boxrooms-house__table-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.boxrooms-house__table-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-mobile-section-wrapper {
    display: none;
  }
}
.boxrooms-house__table-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.boxrooms-house__table-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-area {
    display: none;
  }
}
.boxrooms-house__table-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-date {
    display: none;
  }
}
.boxrooms-house__table-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-condition {
    display: none;
  }
}
.boxrooms-house__table-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .boxrooms-house__table-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-project {
    display: contents;
  }
}
.boxrooms-house__table-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.boxrooms-house__table-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-house__table-card-project-stage:after {
    content: ", ";
  }
}
.boxrooms-house__table-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-house__table-card-section:before {
    content: "Секция ";
  }
}
.boxrooms-house__table-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 0.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-floor {
    display: none;
  }
}
.boxrooms-house__table-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .boxrooms-house__table-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms-house__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.boxrooms-house__table-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.boxrooms-house__table-card.boxrooms-house__discount
  .boxrooms-house__table-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.boxrooms-house__table-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.boxrooms-house__fav-categories {
  margin-right: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories {
    flex-shrink: 1;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-top: 2.4rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .boxrooms-house__fav-categories::-webkit-scrollbar * {
    background: transparent;
  }
  .boxrooms-house__fav-categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .boxrooms-house__fav-categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .boxrooms-house__fav-categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.boxrooms-house__fav-categories--mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories--mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories--desktop {
    display: none;
  }
}
.boxrooms-house__fav-categories-list {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories-list {
    padding: 0.4rem;
    background-color: #f5f5f5;
    border-radius: 0.8rem;
    width: max-content;
    min-width: 100%;
    justify-content: space-between;
  }
}
.boxrooms-house__fav-categories-list-item {
  flex-shrink: 0;
}
.boxrooms-house__fav-categories-link {
  text-align: center;
  padding: 1.6rem 2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2rem;
  white-space: nowrap;
  gap: 0.8rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories-link {
    padding: 1.2rem 1.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: -0.02em;
  }
}
.boxrooms-house__fav-categories-link.active {
  background-color: #101038;
  color: #fff;
}
.boxrooms-house__fav-categories-link-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  color: #101038;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  text-align: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__fav-categories-link-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.boxrooms-house__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__tags {
    display: none;
  }
}
.boxrooms-house__tags-shown {
  flex-shrink: 0;
}
.boxrooms-house__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.boxrooms-house__tags-shown-list-item {
  flex-shrink: 0;
}
.boxrooms-house__tag-shown {
  display: block;
  padding: 0.9rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.boxrooms-house__tag-shown:link,
.boxrooms-house__tag-shown:visited {
  color: #020202;
}
.boxrooms-house__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.boxrooms-house__tags-hidden:hover .boxrooms-house__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.boxrooms-house__tags-hidden-btn {
  padding: 0.9rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.boxrooms-house__add-to-fav {
  margin-left: auto;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.boxrooms-house__add-to-fav:link,
.boxrooms-house__add-to-fav:visited {
  color: transparent;
}
.boxrooms-house__add-to-fav svg {
  display: block;
  width: 2rem;
  height: 2rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__add-to-fav svg {
    margin: 0 auto;
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .boxrooms-house__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.boxrooms-house__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.boxrooms-house__add-to-fav.active svg {
  fill: var(--primary-color);
}
.button-accordion-arrow {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .button-accordion-arrow {
    display: none;
  }
}
.button-accordion-arrow svg {
  fill: #020202;
}
.boxrooms-house__table-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.boxrooms-house__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .boxrooms-house__list-item:nth-child(5n + 4)
    .boxrooms-house__tags-hidden-dropdown,
  .boxrooms-house__list-item:nth-child(5n + 5)
    .boxrooms-house__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.boxrooms-house__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.boxrooms-house__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.boxrooms-house__tags-hidden-list-item {
  flex-shrink: 0;
}
.boxrooms-house__list-item--fullwidth {
  grid-column: 1/-1;
}
.boxrooms-house__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.boxrooms-house__table-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content {
    position: fixed;
    left: 0;
    height: 100%;
    right: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-list-item {
    cursor: pointer;
  }
}
.boxrooms-house__table-list-item.active .boxrooms-house__table-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-list-item.active .boxrooms-house__table-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.boxrooms-house__table-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    border-radius: 1.2rem;
    justify-content: flex-start;
  }
}
.boxrooms-house__table-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.boxrooms-house__table-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.boxrooms-house__table-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.boxrooms-house__table-card-content-wrapper {
  width: 84rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 49.8rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-wrapper {
    height: calc(100% - 2rem);
    width: 100%;
    flex-direction: column;
    margin-top: 1rem;
  }
  .boxrooms-house__table-card-content-wrapper:before {
    content: "";
    position: absolute;
    border-radius: 12px;
    background-color: #02020280;
    background-image: url(../images/parking/swipe.svg);
    background-repeat: no-repeat;
    background-position: center bottom 4rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
  }
  .boxrooms-house__table-card-content-wrapper.active:before {
    display: none;
  }
}
.boxrooms-house__table-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.boxrooms-house__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.boxrooms-house__show-more:link,
.boxrooms-house__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .boxrooms-house__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.boxrooms-house__zoom-controls {
  position: absolute;
  right: 3rem;
  z-index: 20;
  top: 50%;
  margin-top: -5rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__zoom-controls {
    display: none;
  }
}
.boxrooms-house__zoom-control {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  gap: 1.2rem;
  width: 6.2rem;
  height: 6.2rem;
  background: var(--white);
  border-radius: 100%;
  transition: background-color 0.3s;
  cursor: pointer;
  color: var(--text-color);
}
.boxrooms-house__zoom-control:first-child {
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__zoom-control {
    width: 5rem;
    height: 5rem;
  }
}
.boxrooms-house__zoom-control svg {
  width: 2.2rem;
  height: 2.2rem;
}
.boxrooms-house__zoom-control:focus,
.boxrooms-house__zoom-control:hover {
  background-color: var(--blue-dark);
  color: var(--white);
  outline: none;
}
.boxrooms-house__zoom-control:disabled {
  background-color: #fff;
  color: var(--text-color);
  cursor: default;
  opacity: 0.4;
}
.boxrooms-house__zoom {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.2rem;
}
.boxrooms-house__section-label {
  font-size: 1.6rem;
  font-weight: 700;
  text-anchor: middle;
}
.boxrooms-house__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.boxrooms-house__image-draggable {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__image-draggable {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.boxrooms-house__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  cursor: grab;
}
.boxrooms-house__image-genplan {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center center;
  cursor: grab;
}
.boxrooms-house__buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__buttons {
    position: fixed;
    bottom: 0;
    padding: 2rem;
    left: 0;
    right: 0;
    box-sizing: border-box;
    background: #ffffff;
    border-top: 1px solid rgba(2, 2, 2, 0.05);
    box-shadow: 0 2px 20px #0000000f;
    z-index: 1;
  }
}
a.boxrooms-house__button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 1.2rem;
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}
a.boxrooms-house__button-desktop {
  display: flex;
}
a.boxrooms-house__button-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  a.boxrooms-house__button {
    height: 5rem;
    font-size: 1.2rem;
  }
  a.boxrooms-house__button-desktop {
    display: none;
  }
  a.boxrooms-house__button-mobile {
    display: flex;
  }
}
a.boxrooms-house__button--red {
  max-width: 25.6rem;
  background: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.boxrooms-house__button--red {
    max-width: unset;
    width: 100%;
  }
}
a.boxrooms-house__button--red:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
a.boxrooms-house__button--border {
  max-width: 24rem;
  color: var(--primary-color);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.boxrooms-house__button--border {
    max-width: unset;
    width: 100%;
  }
}
a.boxrooms-house__button--border:hover {
  background-color: var(--white-hover);
}
.boxrooms-house__table-card-content-right .boxrooms-house__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-right .boxrooms-house__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.boxrooms-house__table-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.boxrooms-house__table-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-options {
    display: none;
  }
}
.boxrooms-house__table-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.boxrooms-house__table-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.boxrooms-house__table-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.boxrooms-house__table-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__table-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.boxrooms-house__status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
  position: absolute;
  left: 3rem;
  top: 3rem;
  background: #ffffff;
  border-radius: 10px;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status {
    left: 0;
    top: 0;
    right: 0;
  }
}
.boxrooms-house__status-free {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-house__status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-house__status-reserved {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-house__status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-house__status-selected {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-house__status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-house__mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__mobile-text {
    display: inline;
  }
}
.boxrooms-house__mobile-text-bottom {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-house__mobile-text-bottom {
    display: block;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #020202;
  }
}
.boxrooms-house__price-popup {
  display: none;
}
.boxrooms-house__modal-more {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 9rem;
  z-index: 200;
}
.boxrooms-house__modal-more .boxrooms-house__modal-more-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff;
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 2rem 2rem 1.6rem;
}
.boxrooms-house__modal-more:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 9rem;
  right: 0;
  background: #212121;
  opacity: 0.4;
}
.boxrooms-house__modal-more .boxrooms-house__table-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.boxrooms-house__modal-more .boxrooms-house__table-card-content-options {
  display: flex;
}
.boxrooms-house__modal-more .boxrooms-house__table-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.boxrooms-house__modal-more .boxrooms-house__price-popup {
  display: flex;
}
.boxrooms-house__modal-more .boxrooms-house__table-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.boxrooms-house__modal-more
  .boxrooms-house__table-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.boxrooms-house__modal-more .boxrooms-house__table-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.boxrooms-house__modal-more .boxrooms-house__price-mortgage-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #020202;
  justify-content: flex-end;
  letter-spacing: 0;
}
.boxrooms-house__modal-more .boxrooms-house__price-text {
  font-weight: 400;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #212173;
}
.boxrooms-house__modal-more
  .boxrooms-house__price-discount
  .boxrooms-house__price-text {
  color: #cf000c;
}
.boxrooms-house__modal-more .boxrooms-house__price-text-m2 {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.boxrooms-house__modal-more .boxrooms-house__price-mortgage-label {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: #02020280;
  justify-content: flex-end;
  letter-spacing: 0;
}
.boxrooms-house__modal-more
  .boxrooms-house__table-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.boxrooms-house__modal-more
  .boxrooms-house__table-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.boxrooms-house__modal-more .boxrooms-house__modal-more-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4.4rem;
  height: 4.4rem;
  background: #f8f8f8;
  border-radius: 100%;
  color: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
}
.boxrooms-house__modal-more .boxrooms-house__modal-more-close svg {
  width: 4rem;
  height: 4rem;
}
.parking-project__plan-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3rem 3rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 0;
    position: relative;
  }
}
.parking-project__plan-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-view-header {
    display: none;
  }
}
.parking-project__plan-view-header-item:first-child {
  width: 28.5rem;
}
.parking-project__plan-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.parking-project__plan-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.parking-project__plan-view-header-item:nth-child(4) {
  width: 28rem;
}
.parking-project__plan-view-header-item:nth-child(5) {
  width: 8rem;
}
.parking-project__plan-view-header-item:nth-child(6) {
  width: 15rem;
}
.parking-project__plan-view-header-item:nth-child(7) {
  width: 36rem;
}
.parking-project__plan-list {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-list {
    gap: 2.4rem;
  }
}
.parking-project__plan-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.parking-project__plan-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.parking-project__plan-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.parking-project__plan-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-mobile-section-wrapper {
    display: none;
  }
}
.parking-project__plan-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.parking-project__plan-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-area {
    display: none;
  }
}
.parking-project__plan-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-date {
    display: none;
  }
}
.parking-project__plan-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-condition {
    display: none;
  }
}
.parking-project__plan-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .parking-project__plan-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-project {
    display: contents;
  }
}
.parking-project__plan-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.parking-project__plan-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-project__plan-card-project-stage:after {
    content: ", ";
  }
}
.parking-project__plan-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .parking-project__plan-card-section:before {
    content: "Секция ";
  }
}
.parking-project__plan-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 30.2rem;
  padding-right: 30rem;
  padding-top: 9.7rem;
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-floor {
    padding: 5.4rem 2.4rem 2.4rem;
  }
}
.parking-project__plan-card-floor.active {
  display: flex;
}
.parking-project__plan-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .parking-project__plan-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .parking-project__plan-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.parking-project__plan-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.parking-project__plan-card.parking-project__discount
  .parking-project__plan-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.parking-project__plan-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.parking-project__plan-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.parking-project__plan-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-list-item {
    cursor: pointer;
  }
}
.parking-project__plan-list-item.active .parking-project__plan-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-list-item.active .parking-project__plan-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.parking-project__plan-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    border-radius: 1.2rem;
    justify-content: flex-start;
  }
}
.parking-project__plan-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.parking-project__plan-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.parking-project__plan-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.parking-project__plan-card-content-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 61.1rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-wrapper {
    height: calc(100% - 2rem);
    width: 100%;
    flex-direction: column;
    min-height: 34.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-wrapper .parking-project__zoom {
    border-radius: 0;
  }
}
.parking-project__plan-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.parking-project__plan-card-content-right .parking-project__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-right .parking-project__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.parking-project__plan-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.parking-project__plan-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-options {
    display: none;
  }
}
.parking-project__plan-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.parking-project__plan-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.parking-project__plan-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.parking-project__plan-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.parking-project__modal-more .parking-project__plan-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.parking-project__modal-more .parking-project__plan-card-content-options {
  display: flex;
}
.parking-project__modal-more .parking-project__plan-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.parking-project__modal-more .parking-project__price-popup {
  display: flex;
}
.parking-project__modal-more .parking-project__plan-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.parking-project__modal-more
  .parking-project__plan-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.parking-project__modal-more .parking-project__plan-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.parking-project__modal-more
  .parking-project__plan-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.parking-project__modal-more
  .parking-project__plan-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.parking-project__plan-status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
}
.parking-project__plan-status-free {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-project__plan-status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__plan-status-reserved {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.parking-project__plan-status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__plan-status-selected {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
    display: none;
  }
}
.parking-project__plan-status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.parking-project__plan-popup {
  display: none;
}
.parking-project__plan-popup.active {
  display: flex;
}
.parking-project__plan-popup-inner {
  display: flex;
  width: 45.4rem;
  box-sizing: border-box;
  flex-direction: column;
  align-items: flex-start;
  padding: 3rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  box-shadow: 0 2px 20px #0000000f;
  border-radius: 1.2rem;
}
.parking-project__plan-card-bottom {
  position: relative;
}
.parking-project__plan-card-floor-switch {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-floor-switch {
    display: none;
  }
}
.parking-project__plan-card-floor-switch-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.parking-project__plan-card-floor-switch-item {
  display: flex;
  gap: 1.2rem;
}
.parking-project__plan-card-floor-switch-item
  .parking-project__plan-card-floor-switch-round {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  box-sizing: border-box;
  padding: 10px;
  width: 4rem;
  height: 4rem;
  background: #ffffff;
  border: 1px solid #f5f5f5;
  font-weight: 400;
  font-size: 1.6rem;
  color: #020202;
  cursor: pointer;
}
.parking-project__plan-card-floor-switch-item
  .parking-project__plan-card-floor-switch-text {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  align-items: center;
  color: #020202;
  opacity: 0.5;
  display: none;
}
.parking-project__plan-card-floor-switch-item.active
  .parking-project__plan-card-floor-switch-round {
  background: #212173;
  color: #fff;
}
.parking-project__plan-card-floor-switch-item.active
  .parking-project__plan-card-floor-switch-text {
  display: flex;
}
.parking-project__plan-card-header {
  position: absolute;
  top: 3rem;
  left: 3rem;
  right: 3rem;
  display: flex;
  justify-content: space-between;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-card-header {
    top: 0;
    left: 0;
    right: 0;
  }
}
.parking-project__zoom-control {
  border: 1px solid rgba(2, 2, 2, 0.1);
}
.parking-project__plan-list-item-title {
  font-style: normal;
  font-weight: 400;
  font-size: 34px;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: #020202;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-list-item-title {
    font-size: 2rem;
    margin-bottom: 1.6rem;
    font-weight: 500;
  }
}
.parking-project__plan-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-short-filters {
    display: none;
  }
  .parking-project__plan-mobile .parking-project__plan-short-filters {
    display: block;
    margin-bottom: 1.2rem;
  }
  .parking-project__plan-short-filters .filters__form-select-btn {
    background: #ffffff;
  }
  .parking-project__plan-short-filters .filters__form-reset-btn {
    font-size: 1.4rem;
    gap: 1rem;
  }
}
.parking-project__plan-short-filters-fields {
  width: 27rem;
}
@media only screen and (max-width: 640px) {
  .parking-project__plan-short-filters-fields {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.9rem;
  }
  .parking-project__plan-short-filters-fields .filters__form-field {
    width: 50%;
  }
}
.parking-project__svg {
  pointer-events: unset;
  z-index: 10;
}
.parking-project__plan-popup-content-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
  color: #020202;
  margin-bottom: 2.4rem;
}
.parking-project__plan-popup-content-options {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 3.2rem;
}
.parking-project__plan-popup-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.parking-project__plan-popup-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.parking-project__plan-popup-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.parking-project__plan-popup__price-text {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
}
.parking-project__plan-popup__price {
  margin-bottom: 3.2rem;
}
.parking-project__plan-popup__buttons {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
.parking-project__plan-sort {
  width: 50%;
}
.parking-project__plan-sort .parking-project__sort-btn {
  width: 100%;
  justify-content: space-between;
  gap: 0.8rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.parking-project__plan-sort .parking-project__sort-btn-text {
  display: flex;
  color: #020202;
  font-size: 1.4rem;
}
.boxrooms-project__plan-card {
  display: flex;
  grid-gap: 2rem;
  padding: 3rem 3rem 4rem;
  width: 100%;
  background-color: #fff;
  position: relative;
  border: 1px solid white;
  transition: background-color 0.2s, border-color 0.2s;
  border-radius: 2rem;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 0;
    position: relative;
  }
}
.boxrooms-project__plan-view-header {
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: row;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-view-header {
    display: none;
  }
}
.boxrooms-project__plan-view-header-item:first-child {
  width: 28.5rem;
}
.boxrooms-project__plan-view-header-item:nth-child(2) {
  width: 11.5rem;
}
.boxrooms-project__plan-view-header-item:nth-child(3) {
  width: 21.1rem;
}
.boxrooms-project__plan-view-header-item:nth-child(4) {
  width: 28rem;
}
.boxrooms-project__plan-view-header-item:nth-child(5) {
  width: 8rem;
}
.boxrooms-project__plan-view-header-item:nth-child(6) {
  width: 15rem;
}
.boxrooms-project__plan-view-header-item:nth-child(7) {
  width: 36rem;
}
.boxrooms-project__plan-list {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-list {
    gap: 2.4rem;
  }
}
.boxrooms-project__plan-list-card-main-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-list-card-main-wrapper {
    gap: 2.2rem;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.boxrooms-project__plan-card-mobile-not-price-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: calc(100% - 47rem);
  gap: 5.8rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-mobile-not-price-wrapper {
    width: 100%;
    padding-right: 4.8rem;
  }
}
.boxrooms-project__plan-card-mobile-title-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 6rem;
}
.boxrooms-project__plan-card-mobile-section-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8rem;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-mobile-section-wrapper {
    display: none;
  }
}
.boxrooms-project__plan-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.boxrooms-project__plan-card-area {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-area {
    display: none;
  }
}
.boxrooms-project__plan-card-date {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 7.9rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-date {
    display: none;
  }
}
.boxrooms-project__plan-card-condition {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-condition {
    display: none;
  }
}
.boxrooms-project__plan-card-project {
  min-width: 22.4rem;
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__plan-card-project {
    display: flex;
    flex-direction: column;
    min-height: 8.89rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-project {
    display: contents;
  }
}
.boxrooms-project__plan-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.boxrooms-project__plan-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-project__plan-card-project-stage:after {
    content: ", ";
  }
}
.boxrooms-project__plan-card-section {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .boxrooms-project__plan-card-section:before {
    content: "Секция ";
  }
}
.boxrooms-project__plan-card-floor {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  min-width: 4.6rem;
  padding-left: 30.2rem;
  padding-right: 30rem;
  padding-top: 9.7rem;
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-floor {
    padding: 5.4rem 2.4rem 2.4rem;
  }
}
.boxrooms-project__plan-card-floor.active {
  display: flex;
}
.boxrooms-project__plan-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__plan-card-price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 38.8rem;
    padding-left: 2.4rem;
    min-height: 8.89rem;
    gap: 3.8rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-price-wrapper {
    flex-shrink: 0;
    padding-right: 4.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .boxrooms-project__plan-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-price-wrapper-content {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.boxrooms-project__plan-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
}
.boxrooms-project__plan-card.boxrooms-project__discount
  .boxrooms-project__plan-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.boxrooms-project__plan-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.boxrooms-project__plan-list-item.active .button-accordion-arrow svg {
  transform: rotate(180deg);
}
.boxrooms-project__plan-card-content {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: 150;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-list-item {
    cursor: pointer;
  }
}
.boxrooms-project__plan-list-item.active .boxrooms-project__plan-card-content {
  display: flex;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  padding-top: 4rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-list-item.active
    .boxrooms-project__plan-card-content {
    display: flex;
    padding: 8rem 2rem 9rem;
    gap: 1.2rem;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
  }
}
.boxrooms-project__plan-card-content-left {
  width: 99.2rem;
  height: 64rem;
  position: relative;
  background: #f5f5f5;
  border-radius: 2rem;
  padding: 12.2rem 12.2rem 3rem 3rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-left {
    width: 100%;
    height: 100%;
    order: 2;
    padding: 6rem 0 0;
    flex-direction: column;
    border-radius: 1.2rem;
    justify-content: flex-start;
  }
}
.boxrooms-project__plan-card-content-right {
  width: 54rem;
  height: 100%;
  padding-top: 0.8rem;
  padding-left: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-right {
    padding: 0;
    width: 100%;
    order: 1;
    height: auto;
    margin-top: 2rem;
  }
}
.boxrooms-project__plan-card-content-button-back {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-button-back {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 100%;
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
  }
}
.boxrooms-project__plan-card-content-right-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-right-inner {
    justify-content: center;
    background: #ffffff;
    border-radius: 1.2rem;
    gap: 0.8rem;
    padding: 1.2rem 5.6rem 1.2rem 6.4rem;
    height: 6.4rem;
  }
}
.boxrooms-project__plan-card-content-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 61.1rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-wrapper {
    height: calc(100% - 2rem);
    width: 100%;
    flex-direction: column;
    min-height: 34.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-wrapper .boxrooms-project__zoom {
    border-radius: 0;
  }
}
.boxrooms-project__plan-card-title-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 21.5rem;
  min-height: 8.89rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-title-wrapper {
    min-height: unset;
    min-width: unset;
  }
}
.boxrooms-project__plan-card-content-right .boxrooms-project__add-to-fav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-right .boxrooms-project__add-to-fav {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    display: flex;
    margin-top: -1.6rem;
  }
}
.boxrooms-project__plan-card-content-title {
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 0;
  }
}
.boxrooms-project__plan-card-content-options {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-options {
    display: none;
  }
}
.boxrooms-project__plan-card-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.boxrooms-project__plan-card-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.boxrooms-project__plan-card-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.boxrooms-project__plan-card-content-price {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
  margin-bottom: 3.2rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-content-price {
    margin-bottom: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #000;
  }
}
.boxrooms-project__modal-more .boxrooms-project__plan-card-content-price {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1.9rem;
}
.boxrooms-project__modal-more .boxrooms-project__plan-card-content-options {
  display: flex;
}
.boxrooms-project__modal-more .boxrooms-project__plan-card-content-title {
  font-weight: 400;
  font-size: 26px;
  line-height: 100%;
  letter-spacing: -0.02em;
  min-height: 4.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 6rem;
  margin-bottom: 2rem;
}
.boxrooms-project__modal-more .boxrooms-project__price-popup {
  display: flex;
}
.boxrooms-project__modal-more .boxrooms-project__plan-card-content-price-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.6rem;
}
.boxrooms-project__modal-more
  .boxrooms-project__plan-card-content-price-col:nth-child(2) {
  gap: 0.2em;
}
.boxrooms-project__modal-more .boxrooms-project__plan-card-content-price-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.boxrooms-project__modal-more
  .boxrooms-project__plan-card-content-option
  span:first-child {
  font-size: 1.4rem;
}
.boxrooms-project__modal-more
  .boxrooms-project__plan-card-content-option
  span:last-child {
  font-size: 1.4rem;
}
.boxrooms-project__plan-status {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 1.8rem 2rem;
  gap: 1.6rem;
}
.boxrooms-project__plan-status-free {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-free {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-project__plan-status-free:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: rgba(2, 2, 2, 0.3);
  border: 1px solid transparent;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-free:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__plan-status-reserved {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-reserved {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
  }
}
.boxrooms-project__plan-status-reserved:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-reserved:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__plan-status-selected {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-selected {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 130%;
    display: none;
  }
}
.boxrooms-project__plan-status-selected:before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: #cf000c;
  border: 1px solid #cf000c;
  border-radius: 100%;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-status-selected:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.boxrooms-project__plan-popup {
  display: none;
}
.boxrooms-project__plan-popup.active {
  display: flex;
}
.boxrooms-project__plan-popup-inner {
  display: flex;
  width: 45.4rem;
  box-sizing: border-box;
  flex-direction: column;
  align-items: flex-start;
  padding: 3rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  box-shadow: 0 2px 20px #0000000f;
  border-radius: 1.2rem;
}
.boxrooms-project__plan-card-bottom {
  position: relative;
}
.boxrooms-project__plan-card-floor-switch {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-floor-switch {
    display: none;
  }
}
.boxrooms-project__plan-card-floor-switch-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.boxrooms-project__plan-card-floor-switch-item {
  display: flex;
  gap: 1.2rem;
}
.boxrooms-project__plan-card-floor-switch-item
  .boxrooms-project__plan-card-floor-switch-round {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  box-sizing: border-box;
  padding: 10px;
  width: 4rem;
  height: 4rem;
  background: #ffffff;
  border: 1px solid #f5f5f5;
  font-weight: 400;
  font-size: 1.6rem;
  color: #020202;
  cursor: pointer;
}
.boxrooms-project__plan-card-floor-switch-item
  .boxrooms-project__plan-card-floor-switch-text {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  align-items: center;
  color: #020202;
  opacity: 0.5;
  display: none;
}
.boxrooms-project__plan-card-floor-switch-item.active
  .boxrooms-project__plan-card-floor-switch-round {
  background: #212173;
  color: #fff;
}
.boxrooms-project__plan-card-floor-switch-item.active
  .boxrooms-project__plan-card-floor-switch-text {
  display: flex;
}
.boxrooms-project__plan-card-header {
  position: absolute;
  top: 3rem;
  left: 3rem;
  right: 3rem;
  display: flex;
  justify-content: space-between;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-card-header {
    top: 0;
    left: 0;
    right: 0;
  }
}
.boxrooms-project__zoom-control {
  border: 1px solid rgba(2, 2, 2, 0.1);
}
.boxrooms-project__plan-list-item-title {
  font-style: normal;
  font-weight: 400;
  font-size: 34px;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: #020202;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-list-item-title {
    font-size: 2rem;
    margin-bottom: 1.6rem;
    font-weight: 500;
  }
}
.boxrooms-project__plan-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-short-filters {
    display: none;
  }
  .boxrooms-project__plan-mobile .boxrooms-project__plan-short-filters {
    display: block;
    margin-bottom: 1.2rem;
  }
  .boxrooms-project__plan-short-filters .filters__form-select-btn {
    background: #ffffff;
  }
  .boxrooms-project__plan-short-filters .filters__form-reset-btn {
    font-size: 1.4rem;
    gap: 1rem;
  }
}
.boxrooms-project__plan-short-filters-fields {
  width: 27rem;
}
@media only screen and (max-width: 640px) {
  .boxrooms-project__plan-short-filters-fields {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.9rem;
  }
  .boxrooms-project__plan-short-filters-fields .filters__form-field {
    width: 50%;
  }
}
.boxrooms-project__svg {
  pointer-events: unset;
  z-index: 10;
}
.boxrooms-project__plan-popup-content-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
  color: #020202;
  margin-bottom: 2.4rem;
}
.boxrooms-project__plan-popup-content-options {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 3.2rem;
}
.boxrooms-project__plan-popup-content-option {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 4.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.boxrooms-project__plan-popup-content-option span:first-child {
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
.boxrooms-project__plan-popup-content-option span:last-child {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
.boxrooms-project__plan-popup__price-text {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 115%;
  letter-spacing: -0.03em;
  color: #212173;
}
.boxrooms-project__plan-popup__price {
  margin-bottom: 3.2rem;
}
.boxrooms-project__plan-popup__buttons {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  svg polygon:not(.cls-1) {
    display: none;
  }
}
.boxrooms-project__plan-sort {
  width: 50%;
}
.boxrooms-project__plan-sort .boxrooms-project__sort-btn {
  width: 100%;
  justify-content: space-between;
  gap: 0.8rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.boxrooms-project__plan-sort .boxrooms-project__sort-btn-text {
  display: flex;
  color: #020202;
  font-size: 1.4rem;
}
.offices {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 6rem;
}
.grey-bg .offices {
  background-color: #f5f5f5;
}
.offices__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.offices__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  justify-content: flex-start;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .offices__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin: 0;
    margin-bottom: 2rem;
  }
}
.offices__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .offices__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .offices__row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-gap: 2.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .offices__left-col {
    grid-column: 1/5;
    display: flex;
    flex-direction: column;
    position: relative;
  }
}
@media only screen and (min-width: 641px) {
  .offices__list-view {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% + 1.4rem);
    height: 100%;
    overflow-x: hidden;
    padding-right: 1.4rem;
    scrollbar-color: rgba(2, 2, 2, 0.1) white;
    scrollbar-width: thin;
  }
  .offices__list-view::-webkit-scrollbar {
    background-color: #fff;
    width: 0.4rem;
  }
  .offices__list-view::-webkit-scrollbar-thumb {
    background-color: #0202021a;
  }
  .offices__list-view::-webkit-scrollbar-button {
    display: none;
  }
  .offices__list-view::-webkit-scrollbar-track {
    background-color: #fff;
  }
}
@media only screen and (min-width: 641px) {
  .offices__right-col {
    grid-column: 5/-1;
    display: flex;
    flex-direction: column;
  }
}
.offices__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .offices__list {
    gap: 0.8rem;
  }
}
.offices__card {
  display: flex;
  align-items: center;
  padding: 3.92rem 2.4rem;
  background: #ffffff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 1.6rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  gap: 2rem;
}
@media only screen and (min-width: 641px) {
  .offices__card:hover {
    border-color: #0202021a;
    background: #fff7f8;
  }
  .offices__card.active {
    border: 1px solid rgba(207, 0, 12, 0.3);
    cursor: default;
    pointer-events: none;
    background: #fff7f8;
  }
}
@media only screen and (max-width: 640px) {
  .offices__card {
    gap: 1.6rem;
    border-radius: 1.2rem;
    padding: 2rem;
  }
}
.offices__card-image-container {
  flex-shrink: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .offices__card-image-container {
    width: 5.2rem;
    height: 5.2rem;
  }
}
.offices__card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offices__card-content {
  width: 30%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
@media only screen and (max-width: 640px) {
  .offices__card-content {
    gap: 0.8rem;
  }
}
.offices__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .offices__card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.offices__card-location {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .offices__card-location {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.offices__card-location svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: #aeaeae;
  margin-top: 0.35rem;
}
@media only screen and (max-width: 640px) {
  .offices__card-location svg {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: 0rem;
  }
}
.offices__map-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .offices__map-close {
    z-index: 10;
    position: absolute;
    right: 2rem;
    top: 2rem;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid rgba(2, 2, 2, 0.1);
    display: block;
    width: 4rem;
    height: 4rem;
  }
  .offices__map-close svg {
    fill: var(--text-color);
    display: block;
    width: 100%;
    height: 100%;
  }
}
.offices__map {
  position: relative;
}
@media only screen and (max-width: 640px) {
  .offices__map {
    background: white;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 110;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
    padding-bottom: 8rem;
  }
  .offices-mobile-map-shown .offices__map {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .offices__map {
    display: none;
  }
}
.offices__map-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .offices__map-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
}
.offices__map-container {
  position: relative;
  aspect-ratio: 1032/640;
  border-radius: 2.4rem;
  overflow: hidden;
  background-color: #d3d3d3;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .offices__map-container {
    aspect-ratio: 376/305;
    border-radius: 0;
    flex-shrink: 0;
  }
}
.offices__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.offices__office-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  transform-origin: center bottom;
  transition: transform 0.2s;
}
.offices__office-marker.scaled {
  transform: translate(-50%) translateY(-100%) scale(1.2);
}
@media only screen and (max-width: 640px) {
  .offices__office-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.offices__office-marker:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.offices__office-marker-inner {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.4rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .offices__office-marker-inner {
    width: 6rem;
    height: 6rem;
  }
}
.offices__office-marker-inner-content {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .offices__office-marker-inner-content {
    gap: 0.3rem;
  }
}
.offices__office-marker-hash {
  width: 2.4rem;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .offices__office-marker-hash {
    width: 1.6rem;
  }
}
.offices__office-marker-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  color: #fffc;
}
@media only screen and (max-width: 640px) {
  .offices__office-marker-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 130%;
  }
}
.offices__object-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  transform-origin: center bottom;
  transition: transform 0.2s;
}
.offices__object-marker.scaled {
  transform: translate(-50%) translateY(-100%) scale(1.2);
}
@media only screen and (max-width: 640px) {
  .offices__object-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.offices__object-marker:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.offices__object-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .offices__object-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.offices__object-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 641px) {
  .offices__map-popup {
    position: absolute;
    top: 3.2rem;
    right: 3.2rem;
    bottom: 3.2rem;
    z-index: 40;
    width: 42rem;
    display: flex;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .offices__map-popup {
    padding: 0 var(--content-padding);
    padding-top: 2rem;
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
  }
}
@media only screen and (min-width: 641px) {
  .offices__map-popup-inner {
    background: #ffffff;
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    padding: 3rem;
    flex-grow: 1;
  }
}
.offices__map-popup-btns {
  display: flex;
  align-items: center;
  border-radius: 0.8rem;
  background-color: #f5f5f5;
  margin-bottom: 4rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .offices__map-popup-btns {
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0;
    padding: 0.4rem;
    background-color: #f5f5f5;
    margin-bottom: 2rem;
    border-radius: 0.8rem;
  }
}
.offices__map-popup-btn {
  flex-shrink: 0;
  padding: 1.2rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  color: #020202;
  border-radius: 0.8rem;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 640px) {
  .offices__map-popup-btn {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding: 1.3rem 3.2rem;
    border-radius: 0.8rem;
  }
}
.offices__map-popup-btn.active {
  background: #101038;
  color: #fff;
}
.offices__map-popup-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.offices__map-popup-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .offices__map-popup-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
    letter-spacing: -0.04em;
    margin-bottom: 1.4rem;
  }
}
.offices__map-contacts-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .offices__map-contacts-list {
    gap: 0.8rem;
    margin: 0;
  }
}
.offices__map-contacts-card {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.offices__map-contacts-card-icon {
  flex-shrink: 0;
  width: 6rem;
  height: 6rem;
  position: relative;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .offices__map-contacts-card-icon {
    width: 4rem;
    height: 4rem;
  }
}
.offices__map-contacts-card-icon-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.offices__map-contacts-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .offices__map-contacts-card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.offices__map-contacts-link {
  padding: 2.2rem 4rem;
  display: block;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  background-color: var(--primary-color);
  line-height: 100%;
  color: #fff;
  border-radius: 1.2rem;
  margin-top: auto;
  transition: background-color 0.2s, color 0.2s;
}
@media only screen and (max-width: 640px) {
  .offices__map-contacts-link {
    display: none;
  }
}
.offices__map-contacts-link:link,
.offices__map-contacts-link:visited {
  color: #fff;
}
@media (hover: hover) {
  .offices__map-contacts-link:hover {
    background-color: var(--primary-color-hover);
  }
}
.phase {
  background-color: #fff;
  padding-bottom: 12rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .phase {
    padding-bottom: 5.4rem;
  }
}
.phase__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.phase__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  margin-bottom: 4rem;
}
.phase__heading br {
  display: none;
}
@media only screen and (max-width: 640px) {
  .phase__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
    display: block;
  }
  .phase__heading br {
    display: block;
  }
}
.phase__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  vertical-align: baseline;
}
@media only screen and (max-width: 640px) {
  .phase__heading:after {
    width: 0.8rem;
    height: 0.8rem;
    display: inline-block;
  }
}
@media only screen and (min-width: 641px) {
  .phase__list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 2.4rem;
  }
  .phase__list:has(.phase__list-item:nth-child(1) .phase__card-wrapper.open)
    .phase__list-item:nth-child(2)
    .phase__card-wrapper:not(.open) {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s linear 0.2s;
  }
  .phase__list:has(.phase__list-item:nth-child(2) .phase__card-wrapper.open)
    .phase__list-item:nth-child(1)
    .phase__card-wrapper:not(.open) {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s linear 0.2s;
  }
  .phase__list:has(.phase__list-item:nth-child(3) .phase__card-wrapper.open)
    .phase__list-item:nth-child(4)
    .phase__card-wrapper:not(.open) {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s linear 0.2s;
  }
  .phase__list:has(.phase__list-item:nth-child(4) .phase__card-wrapper.open)
    .phase__list-item:nth-child(3)
    .phase__card-wrapper:not(.open) {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s linear 0.2s;
  }
}
@media only screen and (max-width: 640px) {
  .phase__list {
    position: relative;
  }
}
@media only screen and (min-width: 641px) {
  .phase__list-item {
    display: contents;
  }
}
@media only screen and (max-width: 640px) {
  .phase__list-item {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    z-index: 5;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
  .phase__list-item.active {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
    position: relative;
    z-index: 10;
  }
}
@media only screen and (min-width: 641px) {
  .phase__card-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 2.4rem;
    transition: grid-template-columns 0.5s ease 0.5s, opacity 0.5s ease 0.8s;
    grid-template-areas: "card features";
    pointer-events: none;
  }
  .phase__list-item:nth-child(1) .phase__card-wrapper,
  .phase__list-item:nth-child(2) .phase__card-wrapper {
    grid-row: 1/2;
    grid-column: 1/-1;
  }
  .phase__list-item:nth-child(3) .phase__card-wrapper,
  .phase__list-item:nth-child(4) .phase__card-wrapper {
    grid-row: 2/3;
    grid-column: 1/-1;
  }
  .phase__card-wrapper.open {
    transition: grid-template-columns 0.5s;
  }
  .phase__list-item:nth-child(odd) .phase__card-wrapper.open {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
  .phase__list-item:nth-child(2n) .phase__card-wrapper {
    grid-template-areas: "features card";
  }
  .phase__list-item:nth-child(2n) .phase__card-wrapper.open {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}
@media only screen and (max-width: 640px) {
  .phase__card-wrapper {
    display: flex;
    flex-direction: column;
  }
}
@media only screen and (min-width: 641px) {
  .phase__card {
    position: relative;
    isolation: isolate;
    border-radius: 2rem;
    overflow: hidden;
    grid-area: card;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "stack";
    pointer-events: all;
    min-height: 54rem;
  }
  .phase__list-item:nth-child(odd) .phase__card {
    grid-column: 1/2;
  }
}
@media only screen and (max-width: 640px) {
  .phase__card {
    display: contents;
  }
}
.phase__card-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 640px) {
  .phase__card-bg {
    position: relative;
    z-index: 1;
    aspect-ratio: 335/200;
    border-radius: 1.2rem;
    overflow: hidden;
    margin-bottom: 2.4rem;
  }
}
.phase__card-bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.phase__card-content {
  grid-area: stack;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .phase__card-content {
    display: contents;
    padding: 0;
  }
}
@media only screen and (min-width: 641px) {
  .phase__card-title {
    align-self: flex-start;
    padding: 1.5rem 2.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 2.8rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: #fff;
    background: rgba(16, 16, 56, 0.7);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-radius: 1.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .phase__card-title {
    display: none;
  }
}
.phase__card-btns {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .phase__card-btns {
    display: contents;
  }
}
.phase__card-choose-btn {
  padding: 2.2rem 4rem;
  border: 1px solid white;
  flex-shrink: 0;
  display: block;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  transition: background-color 0.2s, color 0.2s, background-color 0.2s;
  background-color: #fff;
  color: var(--text-color);
  border-radius: 2rem;
}
.phase__card-choose-btn:link,
.phase__card-choose-btn:visited {
  color: var(--text-color);
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .phase__card-choose-btn:hover {
    color: var(--primary-color);
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .phase__card-choose-btn {
    order: 40;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    margin-top: 2.4rem;
    background-color: var(--primary-color);
    color: #fff;
    border-radius: 0.8rem;
  }
  .phase__card-choose-btn:link,
  .phase__card-choose-btn:visited {
    color: #fff;
  }
}
.phase__card-choose-specs {
  padding: 2.2rem 4rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  display: block;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  transition: background-color 0.2s, color 0.2s, background-color 0.2s;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  flex-shrink: 0;
  border-radius: 2rem;
}
.phase__card-choose-specs:link,
.phase__card-choose-specs:visited {
  color: #fff;
}
.phase__card-choose-specs span:nth-child(2) {
  display: none;
}
.open .phase__card-choose-specs span:nth-child(1) {
  display: none;
}
.open .phase__card-choose-specs span:nth-child(2) {
  display: inline;
}
@media only screen and (max-width: 640px) {
  .phase__card-choose-specs {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .phase__features {
    background: #f5f5f5;
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    pointer-events: none;
    grid-area: features;
  }
  .open .phase__features {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s ease 0.5s, visibility 0.4s ease 0.5s;
  }
  .phase__list-item:nth-child(odd) .phase__features {
    grid-column: 2/3;
  }
}
@media only screen and (min-width: 641px) {
  .phase__features-inner {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 3.2rem;
    gap: 3.2rem;
  }
}
.phase__features-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .phase__features-title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 2rem;
  }
}
.phase__features-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .phase__features-list {
    gap: 1rem;
  }
}
.phase__features-list-item {
  position: relative;
  padding-left: 2.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .phase__features-list-item {
    padding-left: 2.2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.phase__features-list-item:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #212173;
  position: absolute;
  left: 0;
  top: 0.76em;
  transform: translateY(-50%);
}
@media only screen and (max-width: 640px) {
  .phase__features-list-item:before {
    top: 0.64em;
  }
}
.phase__nav {
  display: none;
}
@media only screen and (max-width: 640px) {
  .phase__nav {
    display: flex;
    flex-direction: column;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    padding-bottom: 2rem;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .phase__nav::-webkit-scrollbar * {
    background: transparent;
  }
  .phase__nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .phase__nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .phase__nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.phase__nav-list {
  display: flex;
  padding: 0.4rem;
  background: #f5f5f5;
  border-radius: 0.8rem;
  flex-shrink: 0;
  align-self: flex-start;
  min-width: 100%;
}
.phase__nav-list-item {
  flex-shrink: 0;
  flex-grow: 1;
}
.phase__nav-link {
  display: block;
  text-align: center;
  padding: 1.4rem 2rem;
  flex-shrink: 0;
  white-space: nowrap;
  transition: color 0.2s, background-color 0.2s;
  border-radius: 0.8rem;
}
.phase__nav-link.active {
  background: #101038;
  color: #fff;
}
.advantages {
  background-color: #fff;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .advantages {
    padding-bottom: 6rem;
  }
}
.advantages__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.advantages__heading {
  display: block;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .advantages__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.advantages__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  vertical-align: baseline;
  display: inline-block;
  margin-left: -0.15em;
}
@media only screen and (max-width: 640px) {
  .advantages__heading:after {
    width: 0.8rem;
    height: 0.8rem;
    margin-left: -0.05em;
  }
}
.advantages__tabs-nav {
  margin-bottom: 2.4rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .advantages__tabs-nav {
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    -webkit-overflow-scrolling: touch;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 2rem;
    align-self: stretch;
  }
  .advantages__tabs-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .advantages__tabs-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .advantages__tabs-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .advantages__tabs-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.advantages__tabs-nav-list {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  background: #f5f5f5;
  border-radius: 1.2rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .advantages__tabs-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
    flex-wrap: nowrap;
    width: max-content;
  }
}
.advantages__tabs-nav-list-item {
  flex-shrink: 0;
}
.advantages__tabs-nav-link {
  display: block;
  padding: 1.6rem 2rem;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s, background-color 0.2s;
  border-radius: 0.8rem;
  white-space: nowrap;
}
@media only screen and (max-width: 640px) {
  .advantages__tabs-nav-link {
    padding: 1.4rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.advantages__tabs-nav-link.active {
  color: #fff;
  background-color: #101038;
}
.advantages__tabs {
  position: relative;
}
.advantages__tabs-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 5;
}
.advantages__tabs-item.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 10;
}
.advantages__card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .advantages__card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
@media only screen and (min-width: 641px) {
  .advantages__card-left-col {
    background-color: #fff;
    padding: 3.2rem;
    border: 1px solid rgba(2, 2, 2, 0.1);
    border-right: none;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    display: flex;
    flex-direction: column;
  }
}
@media only screen and (max-width: 640px) {
  .advantages__card-left-col {
    order: 15;
  }
}
.advantages__card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
  color: #212173;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .advantages__card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 2rem;
    line-height: 100%;
    margin-bottom: 2rem;
  }
}
.advantages__card-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .advantages__card-list {
    gap: 1rem;
    margin-bottom: 2.4rem;
  }
}
.advantages__card-list-item {
  position: relative;
  padding-left: 2.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
@media only screen and (max-width: 640px) {
  .advantages__card-list-item {
    padding-left: 2.2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.advantages__card-list-item:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #212173;
  position: absolute;
  left: 0.5rem;
  top: 0.76em;
  transform: translateY(-50%);
}
@media only screen and (max-width: 640px) {
  .advantages__card-list-item:before {
    top: 0.64em;
  }
}
.advantages__card-link {
  padding: 2rem 4rem;
  display: block;
  text-align: center;
  border: 1px solid #101038;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: #101038;
  transition: color 0.2s, background-color 0.2s;
  align-self: flex-start;
  margin-top: auto;
}
.advantages__card-link:link,
.advantages__card-link:visited {
  color: #101038;
}
@media (hover: hover) {
  .advantages__card-link:hover {
    background-color: #101038;
    color: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .advantages__card-link {
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media only screen and (min-width: 641px) {
  .advantages__card-right-col {
    border-radius: 2rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
}
.advantages__card-slider {
  position: relative;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .advantages__card-slider {
    flex-grow: 0;
    overflow: hidden;
    border-radius: 1.2rem;
  }
}
.advantages__card-slider-item {
  aspect-ratio: 1032/620;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .advantages__card-slider-item {
    aspect-ratio: 335/200;
  }
}
.advantages__card-slider-item-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.advantages__card-fullscreen-btn {
  z-index: 10;
  position: absolute;
  right: 3.2rem;
  top: 3.2rem;
  width: 6rem;
  height: 6rem;
  background: rgba(24, 24, 35, 0.15);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.8rem;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .advantages__card-fullscreen-btn {
    display: none;
  }
}
.advantages__card-fullscreen-btn svg {
  fill: #fff;
  display: block;
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .advantages__card-fullscreen-btn:hover {
    background-color: #ffffff4d;
  }
}
.advantages__card-slider__arrows {
  position: absolute;
  display: flex;
  align-items: center;
  right: 3.2rem;
  bottom: 3.2rem;
  gap: 0.8rem;
  z-index: 30;
}
@media only screen and (max-width: 640px) {
  .advantages__card-slider__arrows {
    display: none;
  }
}
.advantages__card-slider__arrow {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  display: block;
  background: rgba(24, 24, 35, 0.2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  transition: background-color 0.2s, opacity 0.2s;
}
.advantages__card-slider__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
.advantages__card-slider__arrow.swiper-button-disabled {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}
.advantages__card-slider__arrow:not(.swiper-button-disabled):hover {
  background-color: #ffffff4d;
}
.advantages__card-slider-pagination {
  display: none;
}
@media only screen and (max-width: 640px) {
  .advantages__card-slider-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    gap: 0.8rem;
    position: absolute;
    z-index: 10;
  }
}
.advantages__card-slider-pagination-bullet {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  transition: background-color 0.2s, width 0.2s, height 0.2s;
  border-radius: 10rem;
  background-color: #ffffffb3;
}
.advantages__card-slider-pagination-bullet.large {
  background-color: #fff;
  width: 2.4rem;
  height: 0.8rem;
}
.advantages__card-slider-pagination-bullet.smaller {
  width: 0.6rem;
  height: 0.6rem;
}
.advantages__card-slider-pagination-bullet.small {
  width: 0.4rem;
  height: 0.4rem;
}
.advantages__card-slider-fraction-pagination {
  margin-top: auto;
  margin-left: auto;
  width: 7rem;
  height: 7rem;
  position: absolute;
  left: 3.2rem;
  bottom: 3.2rem;
  background: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 50%;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .advantages__card-slider-fraction-pagination {
    display: none;
  }
}
.advantages__card-slider-fraction-pagination-inner {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 130%;
  display: grid;
  place-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.advantages__card-slider-fraction-pagination-inner > * {
  display: contents;
}
.advantages__card-slider-fraction-pagination-progress {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  z-index: -1;
  transform: rotate(-90deg);
  --r: 45;
  z-index: 20;
}
.advantages__card-slider-fraction-pagination-progress svg {
  display: block;
  width: 100%;
  height: 100%;
}
.advantages__card-slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke-dasharray: calc(6.28 * var(--r, 0));
  stroke-dashoffset: calc(6.28 * var(--r, 0) * (100 - var(--p, 0)) / 100);
}
.advantages__card-slider-fraction-pagination-progress svg circle:nth-child(1) {
  stroke: #fff0;
}
.advantages__card-slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke: #fff;
}
.advantages-modal__images-slider-fraction-pagination {
  margin-top: auto;
  margin-left: auto;
  width: 7rem;
  height: 7rem;
  position: absolute;
  left: 3.2rem;
  bottom: 3.2rem;
  background: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 50%;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .advantages-modal__images-slider-fraction-pagination {
    display: none;
  }
}
.advantages-modal__images-slider-fraction-pagination-inner {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 130%;
  display: grid;
  place-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.advantages-modal__images-slider-fraction-pagination-inner > * {
  display: contents;
}
.advantages-modal__images-slider-fraction-pagination-progress {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  z-index: -1;
  transform: rotate(-90deg);
  --r: 45;
  z-index: 20;
}
.advantages-modal__images-slider-fraction-pagination-progress svg {
  display: block;
  width: 100%;
  height: 100%;
}
.advantages-modal__images-slider-fraction-pagination-progress
  svg
  circle:nth-child(2) {
  stroke-dasharray: calc(6.28 * var(--r, 0));
  stroke-dashoffset: calc(6.28 * var(--r, 0) * (100 - var(--p, 0)) / 100);
}
.advantages-modal__images-slider-fraction-pagination-progress
  svg
  circle:nth-child(1) {
  stroke: #fff0;
}
.advantages-modal__images-slider-fraction-pagination-progress
  svg
  circle:nth-child(2) {
  stroke: #fff;
}
.advantages__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .advantages__modal {
    display: none;
  }
}
.advantages__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .advantages__modal {
  display: none;
}
.advantages__modal-inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  padding: 6rem 0;
  flex-grow: 1;
}
.advantages-modal__top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  pointer-events: none;
  z-index: 20;
}
.advantages-modal__tabs-nav {
  flex-shrink: 0;
  margin-right: auto;
}
.advantages-modal__tabs-nav-list {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  background: #ffffff;
  border-radius: 1.2rem;
  pointer-events: all;
}
.advantages-modal__tabs-nav-list-item {
  flex-shrink: 0;
}
.advantages-modal__tabs-nav-link {
  display: block;
  padding: 1.6rem 2rem;
  border-radius: 0.8rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
}
.advantages-modal__tabs-nav-link:link,
.advantages-modal__tabs-nav-link:visited {
  color: #020202;
}
.advantages-modal__tabs-nav-link.active {
  background-color: #101038;
  color: #fff;
}
.advantages-modal__close {
  flex-shrink: 0;
  width: 6.6rem;
  height: 6.6rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: #fff;
  pointer-events: all;
  transition: background-color 0.2s;
}
.advantages-modal__close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #020202;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .advantages-modal__close:hover {
    background-color: var(--white-hover);
  }
  .advantages-modal__close:hover svg {
    fill: var(--primary-color);
  }
}
.advantages-modal__images-sliders {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  cursor: none;
}
.advantages-modal__images-slider {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  width: 100%;
  min-height: 100%;
  top: 0;
  left: 0;
}
.advantages-modal__images-slider.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 50;
}
.advantages-modal__images-slider .swiper {
  display: flex;
  flex-direction: column;
  margin: 0;
  flex-grow: 1;
}
.advantages-modal__images-slider .swiper-wrapper {
  flex-grow: 1;
}
.advantages-modal__images-slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.advantages-modal__cursor {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 1px solid white;
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  pointer-events: none;
}
@media only screen and (max-width: 640px) {
  .advantages-modal__cursor {
    display: none;
  }
}
.advantages-modal__cursor:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/cursor.svg);
  background-size: contain;
  width: 3.1rem;
  height: 2rem;
}
.advantages-modal__cursor.flipped:before {
  transform: scaleX(-1);
}
.advantages-modal__images-slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}
.advantages-modal__images-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.infra {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .infra {
    padding-bottom: 5.4rem;
  }
}
.infra__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.infra__heading {
  display: block;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 4rem;
  display: none;
}
@media only screen and (max-width: 640px) {
  .infra__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
    display: block;
  }
}
.infra__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
  vertical-align: baseline;
  display: inline-block;
  margin-left: -0.15em;
}
@media only screen and (max-width: 640px) {
  .infra__heading:after {
    width: 0.8rem;
    height: 0.8rem;
    margin-left: -0.05em;
  }
}
.infra__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
}
@media only screen and (max-width: 640px) {
  .infra__wrapper {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 2rem;
  }
}
.infra__map {
  position: relative;
  grid-column: 1/-1;
  grid-row: 1/2;
  border-radius: 2rem;
  overflow: hidden;
  grid-area: stack;
  aspect-ratio: 1560/779;
}
@media only screen and (max-width: 640px) {
  .infra__map {
    aspect-ratio: 335/550;
    border-radius: 1.2rem;
  }
}
.infra__map-inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #add8e6;
}
.infra__map-overlay {
  grid-area: stack;
  display: grid;
  grid-template-columns: minmax(0, 48rem) 1fr;
  grid-gap: 3rem;
  padding: 3rem;
  z-index: 5;
  grid-column: 1/-1;
  grid-row: 1/2;
  pointer-events: none;
  grid-template-areas: "filters features";
}
@media only screen and (max-width: 640px) {
  .infra__map-overlay {
    display: contents;
    pointer-events: all;
  }
}
@media only screen and (min-width: 641px) {
  .infra__map-filters {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 1.6rem;
    grid-area: filters;
    padding: 4rem;
    pointer-events: all;
  }
}
.infra__map-filters-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    order: -40;
    display: none;
  }
  .infra__map-filters-heading:after {
    content: "";
    flex-shrink: 0;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background-color: var(--primary-color);
    vertical-align: baseline;
    display: inline-block;
    margin-left: -0.15em;
  }
}
.infra__map-filters-list {
  display: flex;
  flex-direction: column;
}
.infra__map-filters-radio {
  display: block;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
}
.infra__map-filters-radio-input {
  display: none;
}
.infra__map-filters-radio-content {
  display: block;
  padding: 1rem 0;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-radio-content {
    gap: 1rem;
    padding: 0.6rem 0;
  }
}
.infra__map-filters-radio-icon {
  flex-shrink: 0;
  background: rgba(33, 33, 115, 0.07);
  border: 1px solid rgba(33, 33, 115, 0.07);
  border-radius: 100rem;
  width: 4rem;
  height: 4rem;
  transition: background-color 0.2s, border-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-radio-icon {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.infra__map-filters-radio-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #212173;
  transition: fill 0.2s;
}
.infra__map-filters-radio-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-radio-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 120%;
  }
}
.infra__map-filters-radio-input:checked
  ~ .infra__map-filters-radio-content
  .infra__map-filters-radio-icon {
  background-color: #212173;
  border-color: #212173;
}
.infra__map-filters-radio-input:checked
  ~ .infra__map-filters-radio-content
  .infra__map-filters-radio-icon
  svg {
  fill: #fff;
}
.infra__map-filters-radio-count {
  margin-left: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: -0.02em;
  color: #02020266;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-radio-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
@media only screen and (max-width: 640px) {
  .infra__map-features {
    order: -30;
  }
}
.infra__map-features-list {
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .infra__map-features-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    flex-wrap: nowrap;
  }
}
.infra__map-features-card {
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 0.8rem 2rem 0.8rem 0.8rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  pointer-events: all;
}
@media only screen and (max-width: 640px) {
  .infra__map-features-card {
    padding: 0.8rem;
    background-color: #f5f5f5;
  }
}
.infra__map-features-card-number {
  flex-shrink: 0;
  background: rgba(165, 217, 255, 0.2);
  border: 1px solid rgba(16, 16, 56, 0.05);
  border-radius: 6rem;
  width: 5.4rem;
  height: 5.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0rem;
}
.infra__map-features-card-number-about {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  color: #212173;
}
.infra__map-features-card-number-unit {
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #21217399;
  line-height: 120%;
}
.infra__map-features-card-content {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.infra__map-features-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #212173;
}
.infra__map-features-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 120%;
  color: #02020266;
}
.infra__map-marker {
  width: 10rem;
  height: 10.8rem;
  transform: translate(-50%) translateY(-100%);
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .infra__map-marker {
    width: 6rem;
    height: 6.8rem;
  }
}
.infra__map-marker:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: var(--primary-color) transparent transparent transparent;
  transform: rotate(0);
  align-self: center;
  position: relative;
  top: -1px;
}
.infra__map-marker-image-container {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primary-color);
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .infra__map-marker-image-container {
    width: 6rem;
    height: 6rem;
  }
}
.infra__map-marker-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.infra__poe-marker {
  transform: translate(-50%, -50%);
  width: 4rem;
  height: 4rem;
  background-color: #212173;
  border-radius: 50%;
  border: 0.2rem solid white;
  transition: background-color 0.2s;
  position: relative;
}
.infra__poe-marker .infra__poe-marker-inner {
  width: 100%;
  height: 100%;
}
.infra__poe-marker .infra__poe-marker-inner svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
.infra__poe-marker:hover {
  background-color: #5a5adf;
}
.infra__poe-marker:hover .infra__poe-marker-label {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.2s, visibility 0.2s;
}
.infra__poe-marker-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #ffffff;
  border-radius: 0.8rem;
  width: max-content;
  margin-left: 1.6rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0s linear 0.2s;
}
@media only screen and (max-width: 640px) {
  .infra__poe-marker-label {
    padding: 0.6rem 1.6rem;
  }
}
.infra__poe-marker-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .infra__poe-marker-title {
    font-size: 1.4rem;
  }
}
.infra__poe-marker-desc {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .infra__poe-marker-desc {
    font-size: 1.2rem;
  }
}
.infra__map-filters-mobile-btn {
  display: none;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-mobile-btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.6rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    border-radius: 0.8rem;
    background-color: var(--blue);
    color: #fff;
    position: absolute;
    bottom: 4rem;
    left: 50%;
    transform: translate(-50%);
  }
}
.infra__map-filters-modal-header {
  display: none;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
  }
}
.infra__map-filters-modal-title {
  font-style: normal;
  font-weight: 400;
  font-size: 3rem;
  line-height: 110%;
  letter-spacing: -0.05em;
}
.infra__map-filters-modal-close {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background-color: #f5f5f5;
  margin-left: auto;
}
.infra__map-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
}
.infra__map-filters-modal-inner {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-modal-inner {
    background-color: #fff;
    padding: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    margin-top: auto;
  }
}
.infra__map-filters-modal {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-modal {
    background: rgba(2, 2, 2, 0.4);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .infra-filters-shown .infra__map-filters-modal {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .infra__map-filters-modal {
    display: none;
  }
}
.infra__map-filters-mobile-btns {
  display: none;
}
@media only screen and (max-width: 640px) {
  .infra__map-filters-mobile-btns {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 3.2rem;
  }
}
.infra__map-filters-show-btn {
  display: block;
  text-align: center;
  padding: 1.8rem 3.6rem;
  background-color: var(--blue);
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  border-radius: 0.8rem;
}
.infra__map-filters-reset-btn {
  display: block;
  text-align: center;
  padding: 1.8rem 3.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 100%;
  border-radius: 0.8rem;
  gap: 0.4rem;
  color: #02020280;
}
.infra__map-filters-reset-btn svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  fill: currentColor;
}
.callback-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 641px) {
  .callback-modal {
    padding: 4rem 0;
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
  }
}
.callback-modal-static {
  padding: 4rem 0;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 641px) {
  .callback-modal-static {
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
  }
}
.callback-modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .callback-modal {
  display: none;
}
.callback-modal__inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  width: 100%;
  align-self: center;
  justify-self: center;
  max-width: 57rem;
  background-color: #fff;
  border-radius: 2.4rem;
  padding: 4rem;
  display: flex;
  flex-direction: column;
  position: relative;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .callback-modal__inner {
    margin-top: auto;
    padding: 2rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
    max-width: none;
    margin-top: auto;
    margin-bottom: auto;
  }
}
.callback-modal__close {
  position: absolute;
  left: 100%;
  top: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  transition: background-color 0.2s;
  background-color: #fff;
  margin-left: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .callback-modal__close {
    position: static;
    margin: 0;
    width: 4.4rem;
    height: 4.4rem;
    background-color: #f8f8f8;
  }
}
.callback-modal__close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .callback-modal__close:hover {
    background-color: var(--white-hover);
  }
  .callback-modal__close:hover svg {
    fill: var(--primary-color);
  }
}
.callback-modal__heading-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .callback-modal__heading-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }
}
.callback-modal__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 4rem;
  line-height: 105%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .callback-modal__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    letter-spacing: -0.05em;
    line-height: 100%;
  }
}
.callback-modal__text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #02020299;
  line-height: 150%;
  margin-top: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .callback-modal__text {
    margin-top: 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.callback-modal__form {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .callback-modal__form {
    margin-top: 2.4rem;
  }
}
.callback-modal__fields {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.callback-modal__field {
  position: relative;
}
.callback-modal__field .validation-error {
  position: absolute;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  right: 0;
  top: 5rem;
  line-height: 130%;
  color: #cf000c;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  margin-top: -0.1rem;
  pointer-events: none;
  z-index: 10;
}
.callback-modal__field .validation-error:before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  right: 2.6rem;
  bottom: 100%;
  margin-bottom: -0.1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/error-tail.svg);
}
.callback-modal__input {
  display: block;
  width: 100%;
  height: 6rem;
  padding: 0 2rem;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: var(--text-color);
  transition: border-color 0.2s, color 0.2s;
}
.callback-modal__input::placeholder {
  color: #02020266;
}
.callback-modal__input:hover {
  border-color: #0202024d;
}
.callback-modal__input:focus {
  border-color: #0202021a;
}
.callback-modal__input.not-valid {
  color: #cf000c;
  background-image: url(../images/error-red.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 2rem center;
  border-color: #0202021a;
}
.callback-modal__input.not-valid::placeholder {
  color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .callback-modal__input {
    height: 5rem;
    padding: 0 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    border: 1px solid rgba(2, 2, 2, 0.1);
    border-radius: 0.8rem;
  }
}
.callback-modal__submit {
  padding: 2rem 4rem;
  display: block;
  text-align: center;
  color: #fff;
  transition: background-color 0.2s, color 0.2s;
  margin-top: 2.4rem;
  border-radius: 1.2rem;
  background-color: var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
@media only screen and (max-width: 640px) {
  .callback-modal__submit {
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    text-align: center;
    margin-top: 1.6rem;
    border-radius: 0.8rem;
  }
}
.callback-modal__submit:link,
.callback-modal__submit:visited {
  color: #fff;
}
@media (hover: hover) {
  .callback-modal__submit:hover {
    background-color: var(--primary-color-hover);
  }
}
.callback-modal__policy {
  margin-top: 2.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .callback-modal__policy {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.callback-modal__policy a,
.callback-modal__policy a:link,
.callback-modal__policy a:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .callback-modal__policy a:hover {
    color: var(--primary-color);
  }
}
.plan {
  background-color: #fff;
  padding-bottom: 18rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .plan {
    padding-bottom: 5.7rem;
  }
}
.plan__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.plan__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .plan__top-row {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-bottom: 2rem;
  }
}

.panoramas__heading {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}

@media only screen and (max-width: 640px) {
  .panoramas__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin: 0;
  }
}

.panoramas__heading::after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}

@media only screen and (max-width: 640px) {
  .panoramas__heading::after {
    width: 0.8rem;
    height: 0.8rem;
  }
}

.plan__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
}
@media only screen and (max-width: 640px) {
  .plan__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin: 0;
  }
}
.plan__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .plan__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.plan__outer-tabs-btns {
  margin-left: auto;
  display: flex;
  align-items: center;
  padding: 0.8rem;
  background: #f5f5f5;
  border-radius: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .plan__outer-tabs-btns {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0.4rem;
    border-radius: 0.8rem;
    margin: 0;
  }
}
.plan__outer-tabs-btn {
  display: block;
  text-align: center;
  padding: 1.5rem 3rem;
  transition: color 0.2s, background-color 0.2s;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  border-radius: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .plan__outer-tabs-btn {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding: 1.4rem 1.6rem;
  }
}
.plan__outer-tabs-btn.active {
  color: #fff;
  background-color: #101038;
}
.plan__map {
  display: block;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .plan__map {
    border-radius: 1.2rem;
  }
}
.plan__map-image-wrapper {
  display: block;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .plan__map-image-wrapper {
    width: max-content;
  }
}
@media only screen and (max-width: 640px) {
  .plan__map-scroll-wrapper {
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .plan__map-scroll-wrapper::-webkit-scrollbar * {
    background: transparent;
  }
  .plan__map-scroll-wrapper::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .plan__map-scroll-wrapper::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .plan__map-scroll-wrapper::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.plan__map-image {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .plan__map-image {
    height: 55rem;
    width: auto;
    max-width: none;
  }
}
.plan__map-point {
  position: absolute;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 641px) {
  .plan__map-point:hover {
    z-index: 40;
  }
  .plan__map-point:hover .plan__map-popover {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.2s, visibility 0.2s;
  }
  .plan__map-point:hover .plan__map-point-inner {
    background-color: var(--primary-color-hover);
  }
  .plan__map-point:hover .plan__map-point-inner.plan__map-point-green {
    background-color: var(--green-hover);
  }
  .plan__map-point:hover .plan__map-point-inner--blue {
    background-color: #5a5adf;
  }
  .plan__map-point:hover .plan__map-point-label {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.2s, visibility 0.2s;
  }
}
@media only screen and (max-width: 640px) {
  .plan__map-point:hover .plan__map-point-inner {
    background-color: var(--primary-color-hover);
  }
  .plan__map-point:hover .plan__map-point-inner--blue {
    background-color: #5a5adf;
  }
  .plan__map-point:hover .plan__map-point-label {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.2s, visibility 0.2s;
  }
}
.plan__map-point-inner {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 0.2rem solid #ffffff;
  border-radius: 9rem;
  background: #cf000c;
  text-align: center;
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #fff;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
  font-family: var(--gilroy);
}
.plan__map-point-inner.plan__map-point-green {
  background-color: var(--green);
}
.plan__map-point-inner svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
  transition: fill 0.2s;
}
.plan__map-point-inner--blue {
  background-color: var(--blue);
}
@media only screen and (min-width: 641px) {
  .plan__map-popover {
    position: absolute;
    left: 100%;
    padding-left: 6rem;
    z-index: 45;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0s linear 0.2s;
  }
  .plan__map-popover--inverted {
    padding-left: 0;
    padding-right: 6rem;
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .plan__map-popover {
    background: rgba(2, 2, 2, 0.4);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 9999999999;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .plan__map-popover.active {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .plan__map-popover {
    display: none;
  }
}
.plan__map-popover-inner {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 2rem;
  padding: 2.4rem;
  width: 34rem;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-inner {
    width: auto;
    margin-top: auto;
    padding: 3rem 2rem 2rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
    position: relative;
  }
}
.plan__map-popover-close {
  display: none;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-close {
    position: absolute;
    right: 2rem;
    top: 2rem;
    width: 4.4rem;
    height: 4.4rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  .plan__map-popover-close svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: var(--text-color);
    transition: fill 0.2s;
  }
}
.plan__map-popover-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-title {
    font-style: normal;
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 110%;
  }
}
.plan__map-popover-stores {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
  margin-top: 1rem;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-stores {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    color: #02020266;
    margin-top: 1.6rem;
  }
}
.plan__map-popover-date {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-date {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    margin-top: 1.4rem;
  }
}
.plan__map-popover-table {
  margin-top: 4rem;
}
.plan__map-popover-table table,
.plan__map-popover-table tr,
.plan__map-popover-table th,
.plan__map-popover-table td {
  display: block;
}
.plan__map-popover-table tbody {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.plan__map-popover-table tr {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.plan__map-popover-table td {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
}
.plan__map-popover-table td:nth-child(2) {
  text-align: center;
  color: #02020280;
}
.plan__map-popover-table td:nth-child(3) {
  text-align: right;
}
.plan__map-popover-choose-btn {
  display: block;
  padding: 1.8rem 3.6rem;
  text-align: center;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  margin-top: 4rem;
}
@media only screen and (max-width: 640px) {
  .plan__map-popover-choose-btn {
    margin-top: 4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
  }
}
.plan__map-popover-choose-btn:link,
.plan__map-popover-choose-btn:visited {
  color: #fff;
}
@media (hover: hover) {
  .plan__map-popover-choose-btn:hover {
    background-color: var(--primary-color-hover);
  }
}
.plan__map-point-label {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #ffffff;
  border-radius: 0.8rem;
  width: max-content;
  margin-left: 1.6rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0s linear 0.2s;
}
.plan__map-point-label--inverted {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .plan__map-point-label {
    padding: 0.6rem 1.6rem;
  }
}
.plan__map-point-label-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .plan__map-point-label-text {
    font-size: 1.4rem;
  }
}
.plan__tabs-outer {
  position: relative;
}
.plan__tabs-outer-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 5;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.plan__tabs-outer-item.active {
  z-index: 10;
  position: relative;
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.2s;
}
.plan__tabs-inner {
  position: relative;
}
.plan__tabs-inner-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 5;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.plan__tabs-inner-item.active {
  z-index: 10;
  position: relative;
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.2s;
}
.plan__tabs-inner-btns {
  position: absolute;
  z-index: 40;
  left: 3.2rem;
  bottom: 3.2rem;
  padding: 2rem;
  background: rgba(2, 2, 2, 0.2);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-radius: 0.8rem;
  display: flex;
  gap: 4rem;
}
@media only screen and (max-width: 640px) {
  .plan__tabs-inner-btns {
    left: 2rem;
    bottom: 2rem;
    right: 2rem;
    background: rgba(2, 2, 2, 0.2);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    gap: 2rem;
    justify-content: space-between;
  }
}
.plan__tabs-inner-inner-btn {
  padding-top: 1.2rem;
  border-top: 1px solid currentColor;
  color: #ffffff80;
  font-style: normal;
  font-weight: 400;
  font-size: 2rem;
  line-height: 120%;
  transition: color 0.2s;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .plan__tabs-inner-inner-btn {
    padding-top: 1.2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.plan__tabs-inner-inner-btn:link,
.plan__tabs-inner-inner-btn:visited {
  color: #ffffff80;
}
.plan__tabs-inner-inner-btn.active {
  color: #fff;
}
.plan__wrapper {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .plan__wrapper {
    position: relative;
  }
}
.plan__overlay {
  display: none;
}
@media only screen and (max-width: 640px) {
  .plan__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(2, 2, 2, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5rem;
    gap: 0rem;
    pointer-events: none;
    z-index: 60;
    color: #fff;
    text-align: center;
    gap: 2rem;
  }
  .touched .plan__overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
}
.plan__overlay-image {
  width: 4rem;
  height: 4rem;
  align-self: center;
  object-fit: contain;
}
.plan__overlay-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 125%;
}
.catalog {
  display: flex;
  flex-direction: column;
}
.catalog__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-top: 12.8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .catalog__top {
    padding-top: 4rem;
    padding-bottom: 3.2rem;
    padding-bottom: 6rem;
    padding-top: 10rem;
  }
}
.catalog__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.catalog__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .catalog__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.catalog__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.catalog__breadcrumbs a:link,
.catalog__breadcrumbs a:visited {
  color: #02020280;
}
.catalog__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .catalog__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.catalog__breadcrumbs a:last-child:after {
  display: none;
}
.catalog__breadcrumbs a.active,
.catalog__breadcrumbs a.active:link,
.catalog__breadcrumbs a.active:visited {
  color: #020202;
}
.catalog__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: 4.4rem;
}
@media only screen and (max-width: 640px) {
  .catalog__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2.4rem;
  }
}
.catalog__categories {
  border-bottom: 2px solid rgba(2, 2, 2, 0.05);
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__categories {
    margin-bottom: 0;
    border: none;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
  }
  .catalog__categories::-webkit-scrollbar * {
    background: transparent;
  }
  .catalog__categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .catalog__categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .catalog__categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.catalog__categories-list {
  display: flex;
  gap: 4rem;
  margin-bottom: -2px;
}
@media only screen and (max-width: 640px) {
  .catalog__categories-list {
    gap: 3.2rem;
    border-bottom: 2px solid rgba(2, 2, 2, 0.05);
    margin: 0;
    width: max-content;
    flex-shrink: 0;
  }
}
.catalog__categories-list-item {
  flex-shrink: 0;
}
.catalog__categories-link {
  padding-bottom: 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  line-height: 150%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .catalog__categories-link {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    padding-bottom: 1.6rem;
    margin-bottom: -2px;
  }
}
.catalog__categories-link:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  transition: background-color 0.2s;
}
@media (hover: hover) {
  .catalog__categories-link:hover {
    color: var(--primary-color);
  }
}
.catalog__categories-link.active {
  color: var(--primary-color);
}
.catalog__categories-link.active:before {
  background-color: var(--primary-color);
}
.catalog__bottom {
  background-color: #f5f5f5;
  padding-top: 3.3rem;
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
@media only screen and (max-width: 640px) {
  .catalog__bottom {
    padding-top: 2rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    padding-bottom: 6rem;
  }
}
.catalog__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.catalog__controls {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__controls {
    margin-bottom: 2rem;
    gap: 0.8rem;
  }
}
.catalog__grouping {
  flex-shrink: 0;
}
.catalog__grouping--modal {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__grouping {
    display: none;
  }
  .fav .catalog__grouping {
    display: block;
    flex-shrink: 1;
    width: 20%;
    flex-grow: 1;
    order: -100;
  }
  .catalog__grouping--modal {
    display: block;
    flex-shrink: 1;
  }
}
.catalog__sort {
  position: relative;
  width: 24.8rem;
}
@media only screen and (max-width: 640px) {
  .catalog__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .fav .catalog__sort {
    order: -90;
  }
  .catalog__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
@media only screen and (min-width: 641px) {
  .catalog__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background-color: #fff;
    border-radius: 1.2rem;
    text-align: left;
    width: 100%;
  }
  .catalog__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .catalog__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .catalog__sort.active .catalog__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__sort-btn {
    width: 5rem;
    height: 5rem;
    display: grid;
    place-items: center;
    background-color: #fff;
    border-radius: 0.8rem;
  }
  .catalog__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .catalog__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__sort-btn-text {
    display: none;
  }
}
.catalog__view-modes {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  background-color: #fff;
  border-radius: 0.8rem;
  margin-left: auto;
}
.fav .catalog__view-modes {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .catalog__view-modes {
    flex-shrink: 0;
    padding: 0;
    background-color: transparent;
    margin: 0;
    order: -10;
  }
}
.catalog__mobile-open-filters {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__mobile-open-filters {
    display: flex;
    align-items: center;
    gap: 2rem;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 0.8rem;
    padding: 1.8rem 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    color: var(--blue);
    flex-grow: 1;
  }
  .catalog__mobile-open-filters svg {
    width: 1.4rem;
    height: 1.4rem;
    flex-shrink: 0;
    fill: currentColor;
  }
}
.catalog__view-mode-btn {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.8rem;
  transition: background-color 0.2s;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .catalog__view-mode-btn {
    width: 5rem;
    height: 5rem;
    background-color: #fff;
  }
}
.catalog__view-mode-btn svg {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  fill: #101038;
  transition: fill 0.2s;
}
.catalog__view-mode-btn svg:nth-child(2) {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__view-mode-btn svg:nth-child(1) {
    display: none;
  }
  .catalog__view-mode-btn svg:nth-child(2) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
  }
}
.catalog__view-mode-btn.active {
  background-color: #101038;
}
.catalog__view-mode-btn.active svg {
  fill: #fff;
}
@media only screen and (max-width: 640px) {
  .catalog__view-mode-btn.active {
    display: none;
  }
}
.catalog__grouping-checkbox {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  cursor: pointer;
  background-color: #fff;
  padding: 2rem 1.6rem;
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .catalog__grouping-checkbox {
    padding: 1.4rem 1.6rem;
    background: #f5f5f5;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
  .fav .catalog__grouping-checkbox {
    background-color: #fff;
    gap: 1rem;
  }
}
.catalog__grouping-checkbox-input {
  display: none;
}
.catalog__grouping-checkbox-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.catalog__grouping-checkbox-toggle {
  flex-shrink: 0;
  width: 40px;
  background-color: #e6e6e6;
  padding: 2px;
  display: flex;
  align-items: center;
  border-radius: 50rem;
  transition: background-color 0.2s;
}
.catalog__grouping-checkbox-toggle:before {
  content: "";
  flex-shrink: 0;
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  background: #ffffff;
  border: 0.5px solid rgba(2, 2, 2, 0.04);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.catalog__grouping-checkbox-input:checked ~ .catalog__grouping-checkbox-toggle {
  background-color: #101038;
}
.catalog__grouping-checkbox-input:checked
  ~ .catalog__grouping-checkbox-toggle:before {
  box-shadow: 0 0.1px 0.3px #0000001a, 0 1px 2px #0003;
  transform: translate(100%);
}
.catalog__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .catalog__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.catalog__list-item {
  display: flex;
  flex-direction: column;
}
.catalog__card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border: 1px solid transparent;
  border-radius: 1.6rem;
  background-color: #fff;
  position: relative;
  padding: 1.6rem;
  transition: border-color 0.2s;
}
.catalog__card--removed {
  pointer-events: none;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .catalog__card {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }
}
@media (hover: hover) {
  .catalog__card:not(.catalog__card--removed):hover {
    border-color: #cf000c4d;
  }
}
.catalog__card-removed-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  pointer-events: all;
  background-color: #ffffffb3;
  padding: 1.6rem;
  z-index: 10;
}
.catalog__card-removed-wrapper-inner {
  background-color: #fff;
  border: 1px solid rgba(2, 2, 2, 0.1);
  box-shadow: 0 0.2rem 2rem #0000000f;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  padding: 2rem;
  align-items: center;
  text-align: center;
  color: #020202;
  gap: 0.8rem;
  align-self: center;
}
.catalog__card-removed-wrapper-return {
  align-self: center;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--primary-color);
  padding: 0.7rem 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
}
.catalog__card-removed-wrapper-return:link,
.catalog__card-removed-wrapper-return:visited {
  color: var(--primary-color);
}
.catalog__card-removed-wrapper-return svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media (hover: hover) {
  .catalog__card-removed-wrapper-return:hover {
    color: var(--primary-color-hover);
  }
}
.catalog__card-removed-wrapper-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
.catalog__card-link-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.catalog__card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.catalog__tags {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.catalog__tags-shown {
  flex-shrink: 0;
}
.catalog__tags-shown-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
}
.catalog__tags-shown-list-item {
  flex-shrink: 0;
}
.catalog__tag-shown {
  display: block;
  padding: 0.9rem 1.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  background: #e7eef7;
  line-height: 120%;
  border: 1px solid #e7eef7;
  border-radius: 0.6rem;
  text-align: center;
}
.catalog__tag-shown:link,
.catalog__tag-shown:visited {
  color: #020202;
}
.catalog__tags-hidden {
  position: relative;
  z-index: 8;
  cursor: default;
}
.catalog__tags-hidden:hover .catalog__tags-hidden-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.catalog__tags-hidden-btn {
  padding: 0.9rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 0.6rem;
  display: grid;
  place-items: center;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
.catalog__add-to-fav {
  margin-left: auto;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.8px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.6rem;
  color: transparent;
  transition: background-color 0.2s, color 0.2s;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 5;
}
.catalog__add-to-fav:link,
.catalog__add-to-fav:visited {
  color: transparent;
}
.catalog__add-to-fav svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  fill: #020202;
  transition: fill 0.2s;
}
@media (hover: hover) {
  .catalog__add-to-fav:hover svg {
    fill: var(--primary-color);
  }
}
.catalog__add-to-fav.active {
  color: var(--primary-color);
  background-color: var(--white-hover);
}
.catalog__add-to-fav.active svg {
  fill: var(--primary-color);
}
.catalog__tags-hidden-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.4rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 20;
}
@media only screen and (min-width: 641px) {
  .catalog__list-item:nth-child(5n + 4) .catalog__tags-hidden-dropdown,
  .catalog__list-item:nth-child(5n + 5) .catalog__tags-hidden-dropdown {
    left: auto;
    right: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__tags-hidden-dropdown {
    top: 0;
    left: 100%;
  }
}
.catalog__tags-hidden-dropdown-inner {
  width: max-content;
  padding: 1.6rem;
  background: rgba(16, 16, 56, 0.7);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .catalog__tags-hidden-dropdown-inner {
    width: min-content;
    padding: 0.8rem;
  }
}
.catalog__tags-hidden-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 640px) {
  .catalog__tags-hidden-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
.catalog__tags-hidden-list-item {
  flex-shrink: 0;
}
.catalog__list-item--fullwidth {
  grid-column: 1/-1;
}
.catalog__tag-hidden {
  display: block;
  text-align: center;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  color: #020202;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .catalog__tag-hidden {
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
  }
}
.catalog__card-slider {
  position: relative;
  max-width: 22.7rem;
  margin: 0 auto;
  width: 100%;
  margin-bottom: 1.5rem;
}
.catalog__card-slider-card {
  position: relative;
}
.catalog__card-slider-card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.catalog__card-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination {
  position: absolute;
  bottom: 0.8rem;
  left: 0;
  width: auto;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
  z-index: 10;
}
.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet {
  flex-shrink: 0;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  background-color: #e6e6e6;
  transition: background-color 0.2s;
}
.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination.catalog__card-slider-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #212173;
}
@media only screen and (min-width: 641px) {
  .catalog__card-slider-pagination {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
  }
  .catalog__card:hover .catalog__card-slider-pagination {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.catalog__card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__card-title {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-bottom: 1.6rem;
  }
}
.catalog__card-specs {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__card-specs {
    margin-bottom: 2.4rem;
  }
}
.catalog__card-specs-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.catalog__card-specs-card {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  justify-content: space-between;
}
.catalog__card-specs-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
  color: #02020266;
}
@media only screen and (max-width: 640px) {
  .catalog__card-specs-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.catalog__card-specs-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__card-specs-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 130%;
  }
}
.catalog__card-specs-card-value--blue {
  color: var(--blue);
  font-weight: 500;
}
.catalog__card-price {
  margin-top: auto;
  display: flex;
  align-items: center;
  align-items: flex-start;
  gap: 1.2rem;
}
.catalog__card-price-amount {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .catalog__card-price-amount {
    font-style: normal;
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 120%;
  }
}
.catalog__card-price-amount--discount {
  color: var(--primary-color);
}
.catalog__card-price-old {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  text-decoration-line: line-through;
  line-height: 120%;
  color: #02020266;
}
.catalog__promo-block {
  background: #212173;
  border-radius: 1.6rem;
  color: #fff;
  padding: 4rem;
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.05fr;
  grid-template-areas: "logowrapper content btn";
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block {
    display: flex;
    flex-direction: column;
    gap: 5.4rem;
    padding: 2.8rem 2rem 2.4rem;
    border-radius: 1.2rem;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__promo-block-logo-wrapper {
    display: flex;
    align-items: flex-start;
    grid-area: logowrapper;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 3rem;
  }
}
.catalog__promo-block-logo {
  width: 21.4rem;
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-logo {
    width: 16.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__promo-block-content {
    display: flex;
    flex-direction: column;
    padding-left: 7rem;
    padding-right: 5rem;
    gap: 1.6rem;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
.catalog__promo-block-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 125%;
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
  }
}
.catalog__promo-block-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff9;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__promo-block-btn-wrapper {
    grid-area: btn;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-left: 7.4rem;
  }
}
.catalog__promo-block-icon {
  width: 7.1rem;
  height: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-icon {
    display: none;
  }
}
.catalog__promo-block-link {
  display: block;
  text-align: center;
  padding: 1.8rem 5.5rem;
  flex-shrink: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
}
@media (hover: hover) {
  .catalog__promo-block-link:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__promo-block-link {
    align-self: stretch;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
.catalog__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
.catalog__show-more:link,
.catalog__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .catalog__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__show-more {
    margin-top: 2rem;
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    border-radius: 0.8rem;
    line-height: 100%;
  }
}
.catalog__short-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.376fr) minmax(
      0,
      1.028fr
    ) minmax(0, 1fr);
  grid-gap: 2.4rem;
  align-items: flex-end;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__short-filters {
    display: none;
  }
}
.catalog__short-filters-fields {
  display: contents;
}
.catalog__short-filters-all-filters {
  grid-column: 1/2;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  line-height: 150%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  align-self: center;
  transition: color 0.2s;
}
@media (hover: hover) {
  .catalog__short-filters-all-filters:hover {
    color: var(--blue);
  }
}
.catalog__short-filters-found {
  grid-column: 3/4;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  justify-self: flex-start;
  align-self: center;
}
.catalog__short-filters-reset {
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  justify-self: flex-end;
  grid-column: 5/6;
  color: #9a9a9a;
  align-self: center;
  transition: color 0.2s;
}
.catalog__short-filters-reset svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  margin-top: 0.1rem;
}
@media (hover: hover) {
  .catalog__short-filters-reset:hover {
    color: var(--text-color);
  }
}
.catalog__all-filters-modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 500;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.all-filters-shown .catalog__all-filters-modal {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .catalog__all-filters-modal {
  display: none;
}
.catalog__all-filters-modal-inner {
  margin-left: auto;
  width: 114rem;
  max-width: 100%;
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2.4rem 0px 0px 2.4rem;
  display: flex;
  flex-direction: column;
  padding: 4.4rem 6rem 6rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-inner {
    padding: 2rem 2rem 18rem;
    border-radius: 0;
    flex-grow: 1;
    margin: 0;
  }
}
.catalog__all-filters-modal-form {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.catalog__all-filters-modal-top-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-top-row {
    margin-bottom: 2rem;
  }
}
.catalog__all-filters-modal-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.catalog__all-filters-modal-heading-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-heading-desktop-text {
    display: none;
  }
}
.catalog__all-filters-modal-heading-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-heading-mobile-text {
    display: block;
  }
}
.catalog__all-filters-modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #f5f5f5;
  transition: background-color 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-close {
    width: 4rem;
    height: 4rem;
    background: transparent;
    border: 1px solid rgba(2, 2, 2, 0.1);
  }
}
.catalog__all-filters-modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .catalog__all-filters-modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.catalog__all-filters-modal-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 0;
    border: none;
  }
}
.catalog__all-filters-modal-blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-blocks {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.catalog__all-filters-modal-block-heading {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-block-heading {
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 100%;
    margin-bottom: 1.6rem;
  }
}
.catalog__all-filters-modal-block--fullwidth {
  grid-column: 1/-1;
}
.catalog__all-filters-modal-controls {
  margin-top: auto;
  margin: 0 -6rem;
  padding: 2.4rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-controls {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border: none;
    background-color: #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 20;
    padding: 2rem;
  }
}
.catalog__all-filters-modal-submit {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  background-color: var(--primary-color);
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-submit {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .catalog__all-filters-modal-submit:hover {
    background-color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }
}
.catalog__all-filters-modal-reset {
  border: 1px solid var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
  text-align: center;
  padding: 2rem 2.4rem;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}
.catalog__all-filters-modal-reset svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  transition: fill 0.2s;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  bottom: -0.1rem;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-reset svg {
    order: -10;
  }
}
@media only screen and (min-width: 641px) and (hover: hover) {
  .catalog__all-filters-modal-reset:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
  .catalog__all-filters-modal-reset:hover svg {
    fill: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-reset {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-color: transparent;
    background-color: transparent;
    color: gray;
  }
  .catalog__all-filters-modal-reset svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
  }
}
.catalog__all-filters-modal-checkboxes-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.catalog__all-filters-modal-checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}
.catalog__all-filters-modal-checkbox-input {
  display: none;
}
.catalog__all-filters-modal-checkbox-content {
  padding: 1.4rem 2rem;
  background: #f5f5f5;
  border-radius: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.catalog__all-filters-modal-checkbox-content svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-checkbox-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    padding: 1.2rem 2rem;
  }
  .catalog__all-filters-modal-checkbox-content svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.catalog__all-filters-modal-checkbox-input:checked
  ~ .catalog__all-filters-modal-checkbox-content {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.catalog__all-filters-modal-exit {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__all-filters-modal-exit {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--blue);
  }
  .catalog__all-filters-modal-exit svg {
    flex-shrink: 0;
    fill: currentColor;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
}
.catalog__fixed-show-filters {
  position: fixed;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.8rem 4rem;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 150%;
  background: #101038;
  z-index: 40;
  gap: 0.8rem;
  transition: background-color 0.2s, opacity 0.2s, visibility 0s linear 0.2s;
  opacity: 0;
  visibility: hidden;
}
.catalog__fixed-show-filters.shown {
  opacity: 1;
  visibility: inherit;
  transition: background-color 0.2s, opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 640px) {
  .catalog__fixed-show-filters {
    bottom: 9rem;
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.catalog__fixed-show-filters svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
}
@media only screen and (max-width: 640px) {
  .catalog__fixed-show-filters svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
@media (hover: hover) {
  .catalog__fixed-show-filters:hover {
    background-color: var(--blue);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__fixed-show-filters-desktop-text {
    display: none;
  }
}
.catalog__fixed-show-filters-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__fixed-show-filters-mobile-text {
    display: block;
  }
}
.catalog__table-view-header {
  margin-bottom: 2.4rem;
  display: grid;
  grid-gap: 4rem;
  padding: 0 4rem 0 3rem;
  border: 1px solid transparent;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.6fr) minmax(
      0,
      0.7fr
    ) minmax(0, 0.64fr) minmax(0, 1.5fr) minmax(0, 0.3fr) minmax(0, 0.42fr) minmax(
      0,
      2fr
    );
}
@media only screen and (max-width: 640px) {
  .catalog__table-view-header {
    display: none;
  }
}
.catalog__table-view-header-item {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020299;
}
.catalog__table-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .catalog__table-list {
    gap: 0.8rem;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__table-card {
    padding: 4rem 4rem 4rem 3rem;
    background-color: #fff;
    position: relative;
    border: 1px solid white;
    transition: background-color 0.2s, border-color 0.2s;
    border-radius: 2rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 9.4fr);
    grid-gap: 4rem;
    grid-template-areas: "image main";
    align-items: center;
  }
  .catalog__table-card .catalog__add-to-fav {
    width: 4rem;
    height: 4rem;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-card {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    display: grid;
    grid-template-columns: minmax(0, 2.8rem) 1fr;
    grid-gap: 1.2rem;
    align-items: flex-start;
    grid-template-areas: "image main";
    position: relative;
  }
  .catalog__table-card .catalog__add-to-fav {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__table-list-card-main-wrapper {
    grid-area: main;
    display: grid;
    grid-gap: 4rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(
        0,
        0.64fr
      ) minmax(0, 1.5fr) minmax(0, 0.3fr) minmax(0, 0.42fr) minmax(0, 2fr);
    grid-template-areas: "titlewrapper area date condition project section floor pricewrapper";
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-list-card-main-wrapper {
    grid-area: main;
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }
}
.catalog__table-list-item--fullwidth {
  grid-column: 1/-1;
}
.catalog__table-card-mobile-not-price-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-mobile-not-price-wrapper {
    display: block;
    width: 30%;
    flex-grow: 1;
  }
}
.catalog__table-list-card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.catalog__table-list-card-image-wrapper {
  position: relative;
  grid-area: image;
}
.catalog__table-list-card-image-wrapper:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.catalog__table-list-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media only screen and (min-width: 641px) {
  .catalog__table-card-title-wrapper {
    grid-area: titlewrapper;
    display: flex;
    flex-direction: column;
    min-height: 10rem;
    gap: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-title-wrapper {
    display: contents;
  }
}
.catalog__table-card-mobile-title-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-mobile-title-wrapper {
    display: flex;
    align-items: baseline;
    margin-bottom: 0.2rem;
  }
  .catalog__table-card-mobile-title-wrapper .catalog__tags {
    display: none;
  }
}
.catalog__table-card-mobile-section-wrapper {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-mobile-section-wrapper {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.1rem;
    row-gap: 0.2rem;
  }
}
.catalog__table-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  margin-bottom: auto;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-title {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.catalog__table-card-area {
  grid-area: area;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-area {
    margin: 0;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 130%;
    letter-spacing: 0;
  }
}
.catalog__table-card-date {
  grid-area: date;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-date {
    display: none;
  }
}
.catalog__table-card-condition {
  grid-area: condition;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-condition {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__table-card-project {
    display: flex;
    flex-direction: column;
    min-height: 10rem;
    padding-left: 2.4rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
    gap: 1.4rem;
    grid-area: project;
    margin-left: -2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-project {
    display: contents;
  }
}
.catalog__table-card-project-name {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
  color: #212173;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-project-name {
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.catalog__table-card-project-stage {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-project-stage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .catalog__table-card-project-stage:after {
    content: ", ";
  }
}
.catalog__table-card-section {
  grid-area: section;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-section {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #02020280;
  }
  .catalog__table-card-section:before {
    content: "Секция ";
  }
}
.catalog__table-card-floor {
  grid-area: floor;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-floor {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__table-card-price-wrapper {
    grid-area: pricewrapper;
    padding-left: 2.4rem;
    margin-left: -2.4rem;
    min-height: 10rem;
    display: flex;
    flex-direction: row;
    gap: 4rem;
    gap: 1.2rem;
    border-left: 1px solid rgba(2, 2, 2, 0.1);
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-price-wrapper {
    flex-shrink: 0;
  }
}
@media only screen and (min-width: 641px) {
  .catalog__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    width: 30%;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-price-wrapper-content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    align-items: flex-end;
  }
}
.catalog__table-card-price {
  font-style: normal;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--blue);
}
.catalog__table-card:has(.catalog__table-card-discount)
  .catalog__table-card-price {
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-price {
    font-style: normal;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 100%;
  }
}
.catalog__table-card-discount {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 120%;
  color: #02020266;
  text-decoration: line-through;
}
@media only screen and (max-width: 640px) {
  .catalog__table-card-discount {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.catalog__fav-categories {
  margin-right: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories {
    flex-shrink: 1;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-top: 2.4rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .catalog__fav-categories::-webkit-scrollbar * {
    background: transparent;
  }
  .catalog__fav-categories::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .catalog__fav-categories::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .catalog__fav-categories::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.catalog__fav-categories--mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories--mobile {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories--desktop {
    display: none;
  }
}
.catalog__fav-categories-list {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories-list {
    padding: 0.4rem;
    background-color: #f5f5f5;
    border-radius: 0.8rem;
    width: max-content;
    min-width: 100%;
    justify-content: space-between;
  }
}
.catalog__fav-categories-list-item {
  flex-shrink: 0;
}
.catalog__fav-categories-link {
  display: block;
  text-align: center;
  padding: 1.6rem 2rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2rem;
  white-space: nowrap;
  gap: 0.8rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories-link {
    padding: 1.2rem 1.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: -0.02em;
  }
}
.catalog__fav-categories-link.active {
  background-color: #101038;
  color: #fff;
}
.catalog__fav-categories-link-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  color: #101038;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 130%;
  text-align: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .catalog__fav-categories-link-count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
  }
}
.news {
  padding-top: 8.3rem;
  background: #ffffff;
}
@media only screen and (max-width: 640px) {
  .news {
    padding-top: 2.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .news-card {
    min-height: 35.5rem;
  }
}
.news-head {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 3.7rem;
}
@media only screen and (max-width: 640px) {
  .news-head {
    display: flex;
    padding-bottom: 0;
  }
}
.news-head__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .news-head__content {
    flex-direction: column;
    gap: 2.1rem;
    width: 100%;
  }
}
.news-head__sort {
  position: relative;
  width: 25rem;
}
@media only screen and (max-width: 640px) {
  .news-head__sort {
    order: 30;
    flex-shrink: 0;
    width: auto;
  }
  .news-head__sort .filters__form-select-dropdown {
    left: auto;
    right: 0;
    width: max-content;
    max-width: calc(100vw - 2rem);
  }
}
.news-head__form-fields {
  display: flex;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .news-head__form-fields {
    flex-direction: row;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 640px) {
  .news-head__form-fields .filters__form-select-btn {
    background: var(--white);
  }
}
.news-head__form-field {
  width: 26rem;
}
@media only screen and (max-width: 640px) {
  .news-head__form-field {
    width: 100%;
  }
}
.news-head .filters__form-reset-btn {
  justify-content: flex-start;
}
.news-head__titles {
  display: flex;
  gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .news-head__titles {
    gap: 2rem;
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .news-head__filters {
    padding: 2rem;
    background: var(--light-gray);
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
@media only screen and (min-width: 641px) {
  .news-head__sort-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 2rem 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    background: var(--light-gray);
    border-radius: 1.2rem;
    text-align: left;
    width: 100%;
  }
  .news-head__sort-btn svg:nth-child(1) {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--blue);
    flex-shrink: 0;
  }
  .news-head__sort-btn svg:nth-child(3) {
    width: 1.4rem;
    height: 1.4rem;
    transition: transform 0.2s;
    flex-shrink: 0;
    fill: var(--text-color);
    margin-left: auto;
  }
  .news-head__sort.active .news-head__sort-btn svg:nth-child(3) {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .news-head__sort-btn {
    width: 5rem;
    height: 5rem;
    display: grid;
    place-items: center;
    background-color: var(--white);
    border-radius: 0.8rem;
  }
  .news-head__sort-btn svg:nth-child(1) {
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    fill: var(--blue);
  }
  .news-head__sort-btn svg:nth-child(3) {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .news-head__sort-btn-text {
    display: none;
  }
}
.news__content {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  padding-top: 6rem;
  border-radius: 3.2rem 3.2rem 0 0;
  background: var(--light-gray);
}
@media only screen and (max-width: 640px) {
  .news__content {
    padding-top: 0;
    border-radius: 0;
    padding-bottom: 6rem;
  }
}
.news-content__wrapper {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.news-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .news-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
  }
}
.news__show-more {
  display: block;
  text-align: center;
  padding: 3rem 6rem;
  background-color: var(--white);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border-radius: 1.2rem;
  transition: color 0.2s, background-color 0.2s;
  color: var(--primary-color);
  margin-top: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .news__show-more {
    margin-top: 2rem;
    padding: 1.7rem 3rem;
    font-size: 1.4rem;
    border-radius: 0.8rem;
  }
}
.news__show-more:visited,
.news__show-more:link {
  color: var(--primary-color);
}
.news__show-more:hover {
  background-color: var(--white-hover);
}
.news ~ section {
  background: var(--light-gray);
}
a.news-head__title {
  display: flex;
  align-items: center;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  color: #0202024d;
  position: relative;
  gap: 10px;
}
@media only screen and (max-width: 640px) {
  a.news-head__title {
    font-size: 2rem;
    gap: 0.8rem;
    white-space: nowrap;
  }
}
a.news-head__title:before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: transparent;
  border: 1px solid rgba(2, 2, 2, 0.3);
  box-sizing: border-box;
}
@media only screen and (max-width: 640px) {
  a.news-head__title:before {
    width: 0.8rem;
    height: 0.8rem;
    position: relative;
    top: 0.3rem;
  }
}
a.news-head__title:hover,
a.news-head__title.active {
  color: var(--text-color);
}
a.news-head__title:hover:before,
a.news-head__title.active:before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  a.news-head__title:hover:before,
  a.news-head__title.active:before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.news-list .subscribe-block {
  display: none;
}
@media only screen and (max-width: 640px) {
  .news-list .subscribe-block {
    display: block;
    width: 100%;
    margin-top: 0;
  }
}
@media only screen and (max-width: 640px) {
  .news__bottom .subscribe-block {
    display: none;
  }
}
.subscribe-block {
  display: flex;
  width: 100%;
  margin-top: 8rem;
}
.subscribe-block__content {
  width: 100%;
}
.subscribe-block ~ section {
  background: var(--light-gray);
}
.subscribe-form {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 4rem;
  gap: 14rem;
  background: var(--blue);
  border-radius: 1.6rem;
  color: var(--white);
}
@media only screen and (max-width: 640px) {
  .subscribe-form {
    padding: 2.8rem 2rem;
    flex-direction: column;
    gap: 4rem;
  }
}
.subscribe-form__left {
  max-width: 51.4rem;
  width: 100%;
}
.subscribe-form__right {
  max-width: calc(100% - 65.4rem);
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__right {
    max-width: 100%;
  }
}
.subscribe-form__text {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__text {
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .subscribe-form__text span {
    display: block;
    font-size: 1.4rem;
    line-height: 130%;
    margin-top: 1.2rem;
  }
}
.subscribe-form__fields {
  width: 100%;
  z-index: 10;
}
.subscribe-form__field {
  display: block;
  position: relative;
}
.subscribe-form__field .validation-error {
  position: absolute;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  right: 0;
  top: 5rem;
  line-height: 130%;
  color: #cf000c;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  margin-top: -0.1rem;
  pointer-events: none;
}
.subscribe-form__field .validation-error:before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  right: 2.6rem;
  bottom: 100%;
  margin-bottom: -0.1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/error-tail.svg);
}
.subscribe-form__input-wrapper {
  position: relative;
}
.subscribe-form__row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__row {
    flex-direction: column;
  }
}
.subscribe-form__input {
  display: block;
  width: 100%;
  height: 6rem;
  padding: 0 2rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff;
  line-height: 150%;
  transition: border-color 0.2s, color 0.2s;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__input {
    font-size: 1.4rem;
    height: 5rem;
  }
}
.subscribe-form__input::placeholder {
  color: #ffffff80;
}
.subscribe-form__input:focus {
  border-color: #ffffff4d;
}
.subscribe-form__input.not-valid {
  color: #ff6266;
  background-image: url(../images/error.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 2rem center;
}
.subscribe-form__input.not-valid::placeholder {
  color: #ff6266;
}
.subscribe-form__submit {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  padding: 2.2rem 4.5rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  background-color: #fff;
  color: var(--text-color);
  line-height: 100%;
  border-radius: 1.2rem;
  text-align: center;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
  display: block;
  width: 26rem;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__submit {
    width: 100%;
    padding: 1.7rem 4.5rem;
  }
}
.subscribe-form__submit:link,
.subscribe-form__submit:visited {
  color: var(--text-color);
}
.subscribe-form__submit:hover {
  background-color: var(--white-hover);
  color: var(--primary-color);
}
.subscribe-form__policy {
  margin-top: 2.4rem;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #ffffff80;
}
@media only screen and (max-width: 640px) {
  .subscribe-form__policy {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
}
.subscribe-form__policy a {
  color: var(--white);
}
.subscribe-form__policy a:hover {
  color: #a5d9ff;
}
.has-questions {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .has-questions {
    padding-bottom: 6rem;
  }
}
.has-questions__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.has-questions__card {
  background-color: var(--blue);
  color: #fff;
  padding: 6rem 6rem 13.4rem;
  border-radius: 2rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: 1fr 1.5fr;
}
@media only screen and (max-width: 640px) {
  .has-questions__card {
    padding: 2.8rem 2rem 4rem;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
  }
}
.has-questions__card-bg {
  position: absolute;
  z-index: -1;
  bottom: 0;
  width: 105%;
  height: auto;
  left: 50%;
  transform: translate(-50%) translateY(38%);
  max-width: none;
}
.has-questions__card-text-content {
  display: flex;
  flex-direction: column;
}
.has-questions__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 4rem;
  line-height: 105%;
  letter-spacing: -0.02em;
  color: #a5d9ff;
}
@media only screen and (max-width: 640px) {
  .has-questions__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.03em;
  }
}
.has-questions__text {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
  margin-top: 1.6rem;
  max-width: 42rem;
}
@media only screen and (max-width: 640px) {
  .has-questions__text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    margin-top: 1rem;
  }
}
.has-questions__link {
  align-self: flex-start;
  display: block;
  text-align: center;
  padding: 2.2rem 2.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border-radius: 1.2rem;
  line-height: 100%;
  background-color: #fff;
  color: var(--text-color);
  transition: color 0.2s, background-color 0.2s;
  margin-top: 4rem;
}
@media only screen and (max-width: 640px) {
  .has-questions__link {
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    margin-top: 3.5rem;
    align-self: stretch;
    line-height: 100%;
  }
}
.has-questions__link:link,
.has-questions__link:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .has-questions__link:hover {
    color: var(--primary-color);
    background-color: var(--white-hover);
  }
}
.has-questions__card-contacts {
  display: grid;
  grid-gap: 5.4rem;
  grid-template-columns: minmax(0, 37.1rem);
  grid-template-areas: "image content";
  align-items: flex-start;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image" "content";
    grid-gap: 2.8rem;
  }
}
.has-questions__card-contacts-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  grid-area: image;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-image-container {
    border-radius: 0.8rem;
  }
}
.has-questions__card-contacts-image-container:before {
  content: "";
  display: block;
  padding-bottom: 63.8%;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-image-container:before {
    padding-bottom: 67%;
  }
}
.has-questions__card-contacts-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.has-questions__card-contacts-content {
  grid-area: content;
  display: flex;
  flex-direction: column;
}
.has-questions__card-contacts-name {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-name {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
    letter-spacing: -0.04em;
  }
}
.has-questions__card-contacts-role {
  margin-top: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff9;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-role {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.has-questions__card-contacts-text {
  margin-top: 2.8rem;
  max-width: 33.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-text {
    max-width: none;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-top: 2.6rem;
  }
}
.has-questions__card-contacts-phone {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  margin-top: 4rem;
  color: #a5d9ff;
  align-self: flex-start;
  display: block;
}
@media only screen and (max-width: 640px) {
  .has-questions__card-contacts-phone {
    margin-top: 3.5rem;
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
    letter-spacing: -0.04em;
  }
}
.has-questions__card-contacts-phone:link,
.has-questions__card-contacts-phone:visited {
  color: #a5d9ff;
}
.faq {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .faq {
    padding-bottom: 2rem;
  }
}
.faq__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: grid;
  grid-gap: 2.4rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
@media only screen and (max-width: 640px) {
  .faq__content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.faq__left-col {
  grid-column: 1/4;
  display: flex;
  flex-direction: column;
}
.faq__right-col {
  grid-column: 4/-1;
  display: flex;
  flex-direction: column;
}
.faq__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  letter-spacing: -0.03em;
  line-height: 100%;
}
@media only screen and (max-width: 640px) {
  .faq__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .faq__list {
    gap: 0.8rem;
  }
}
.faq__accordion {
  background: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .faq__accordion {
    border-radius: 1.6rem;
  }
}
.faq__accordion-btn {
  display: flex;
  align-items: center;
  gap: 2rem;
  width: 100%;
  text-align: left;
  padding: 3.5rem;
  font-style: normal;
  font-weight: 400;
  font-size: 2rem;
  line-height: 120%;
  color: #020202;
}
@media only screen and (max-width: 640px) {
  .faq__accordion-btn {
    padding: 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.faq__accordion-btn svg {
  flex-shrink: 0;
  margin-left: auto;
  width: 2rem;
  height: 2rem;
  fill: currentColor;
  transition: transform 0.2s;
}
@media only screen and (max-width: 640px) {
  .faq__accordion-btn svg {
    width: 1.4rem;
    height: 1.4rem;
    align-self: flex-start;
    margin-top: 1rem;
  }
}
.faq__accordion.active .faq__accordion-btn svg {
  transform: rotate(180deg);
}
.faq__accordion-btn-text {
  width: 30%;
  flex-grow: 1;
}
.faq__accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s;
}
.faq__accordion.active .faq__accordion-content {
  grid-template-rows: 1fr;
}
.faq__accordion-content-inner {
  overflow: hidden;
}
.faq__accordion-text {
  padding: 3.5rem;
  padding-top: 0;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
  max-width: 80rem;
}
@media only screen and (max-width: 640px) {
  .faq__accordion-text {
    padding: 2rem;
    padding-top: 0;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    max-width: none;
  }
}
.why-mortgage {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-bottom: 14rem;
}
@media only screen and (max-width: 640px) {
  .why-mortgage {
    padding-bottom: 5.4rem;
  }
}
.why-mortgage__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.why-mortgage__heading {
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
    text-align: left;
  }
}
.why-mortgage__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
    grid-auto-rows: 1fr;
  }
}
.why-mortgage__list-item {
  display: flex;
  flex-direction: column;
}
.why-mortgage__list-item:before {
  display: none;
}
.why-mortgage__card {
  flex-grow: 1;
  background-color: #fff;
  border-radius: 2rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__card {
    border-radius: 1.2rem;
  }
}
.why-mortgage__card:after {
  content: "";
  position: absolute;
  background: linear-gradient(153.28deg, #ffecec 13.46%, #ffffff 51.11%);
  width: 37rem;
  height: 37rem;
  border-radius: 50%;
  z-index: -1;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
  pointer-events: none;
  margin-right: 4rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__card:after {
    margin: 0;
    width: 19rem;
    height: 19rem;
    transform: translateY(-50%);
    top: 50%;
    bottom: 0;
    right: 0;
    margin-right: -9.5rem;
  }
}
.why-mortgage__card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
  grid-area: stack;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__card:before {
    display: none;
  }
}
.why-mortgage__card-content {
  grid-area: stack;
  display: flex;
  flex-direction: column;
  padding: 3.2rem;
  gap: 3rem;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .why-mortgage__card-content {
    padding: 2rem;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "title image" "counter image";
    grid-gap: 2rem;
    grid-row-gap: 0.5rem;
  }
  .why-mortgage__card-content:before {
    content: counter(ordered-list, decimal-leading-zero);
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    grid-area: counter;
    line-height: 130%;
    color: #02020233;
    align-self: flex-end;
    justify-self: flex-start;
  }
}
.why-mortage__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .why-mortage__card-title {
    grid-area: title;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.why-mortgage__card-bottom-row {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  gap: 2rem;
  justify-content: space-between;
}
@media only screen and (min-width: 641px) {
  .why-mortgage__card-bottom-row:before {
    content: counter(ordered-list, decimal-leading-zero);
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    color: #02020233;
  }
}
@media only screen and (max-width: 640px) {
  .why-mortgage__card-bottom-row {
    display: contents;
  }
}
.why-mortage__card-image {
  flex-shrink: 0;
  width: 11rem;
  height: 11rem;
  object-fit: contain;
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 640px) {
  .why-mortage__card-image {
    justify-self: flex-end;
    align-self: center;
    grid-area: image;
    width: 5rem;
    height: 5rem;
  }
}
.mortgage-intro {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  position: relative;
  z-index: 1;
  background-color: #212173;
  color: #fff;
}
.mortgage-intro__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.mortgage-intro__bg-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mortgage-intro__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  padding-top: 12.8rem;
  padding-bottom: 10rem;
  display: flex;
  flex-direction: column;
  min-height: 75rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__content {
    min-height: 68rem;
    padding-top: 11.3rem;
    padding-bottom: 3rem;
  }
}
.mortgage-intro__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.5rem;
  }
}
.mortgage-intro__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #ffffff80;
}
.mortgage-intro__breadcrumbs a:link,
.mortgage-intro__breadcrumbs a:visited {
  color: #ffffff80;
}
.mortgage-intro__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/breadcrumbs-arrow.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.mortgage-intro__breadcrumbs a:last-child:after {
  display: none;
}
.mortgage-intro__breadcrumbs a.active,
.mortgage-intro__breadcrumbs a.active:link,
.mortgage-intro__breadcrumbs a.active:visited {
  color: #fff;
}
.mortgage-intro__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 9rem;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3.6rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.mortgage-intro__heading em,
.mortgage-intro__heading b {
  font-style: normal;
  font-weight: inherit;
  color: #ffffff80;
}
.mortgage-intro__text {
  max-width: 64rem;
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
  color: #fffc;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.mortgage-intro__btns {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 0.8rem;
  }
}
.mortgage-intro__btn {
  flex-shrink: 0;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
  padding: 2.2rem 3rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.2rem;
  text-align: center;
}
@media (hover: hover) {
  .mortgage-intro__btn:hover {
    background-color: #fff;
    border-color: #fff;
    color: var(--text-color);
  }
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__btn {
    padding: 1.7rem 1.8rem;
    border-color: #fff;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
  }
}
.mortgage-intro__btn--filled {
  background-color: #fff;
  border-color: #fff;
  color: var(--text-color);
}
.mortgage-intro__btn--filled.red {
  background-color: var(--primary-color);
  color: var(--white);
  border-color: var(--primary-color);
}
.mortgage-intro__btn--filled:link,
.mortgage-intro__btn--filled:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .mortgage-intro__btn--filled:hover {
    background-color: var(--white-hover);
    color: var(--primary-color);
    border-color: var(--white-hover);
  }
  .mortgage-intro__btn--filled.red:hover {
    background-color: var(--primary-color-hover);
    color: var(--white);
    border-color: var(--primary-color-hover);
  }
}
.mortgage-intro__btn-desktop-text {
  display: block;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__btn-desktop-text {
    display: none;
  }
}
.mortgage-intro__btn-mobile-text {
  display: none;
}
@media only screen and (max-width: 640px) {
  .mortgage-intro__btn-mobile-text {
    display: block;
  }
}
.mortgage-variants {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  padding-top: 6rem;
  background-color: #f5f5f5;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  position: relative;
  z-index: 10;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants {
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.mortgage-variants__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.mortgage-variants__tabs-nav {
  margin-bottom: 3.2rem;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__tabs-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin: 0 calc(-1 * var(--content-padding));
    padding: 0 var(--content-padding);
    margin-bottom: 2rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .mortgage-variants__tabs-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .mortgage-variants__tabs-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .mortgage-variants__tabs-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .mortgage-variants__tabs-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.mortgage-variants__tabs-nav-list {
  padding: 0.8rem;
  background: #ffffff;
  border-radius: 1.2rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__tabs-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
    flex-shrink: 0;
  }
}
.mortgage-variants__tabs-nav-list-item {
  flex-shrink: 0;
}
.mortgage-variants__tabs-nav-link {
  padding: 1.7rem 2rem;
  border-radius: 0.8rem;
  text-align: center;
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  transition: color 0.2s, background-color 0.2s;
  color: var(--text-color);
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__tabs-nav-link {
    padding: 1.3rem 2rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.mortgage-variants__tabs-nav-link:link,
.mortgage-variants__tabs-nav-link:visited {
  color: var(--text-color);
}
.mortgage-variants__tabs-nav-link.active {
  background-color: #101038;
  color: #fff;
}
.mortgage-variants__tabs-items {
  position: relative;
}
.mortgage-variants__tabs-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.mortgage-variants__tabs-item.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
  position: relative;
  z-index: 10;
}
.mortgage-variants__card {
  background: #ffffff;
  border-radius: 2rem;
  padding: 4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card {
    grid-template-columns: minmax(0, 1fr);
    padding: 2rem;
    grid-gap: 2rem;
    border-radius: 1.2rem;
  }
}
.mortgage-variants__card-left-col {
  display: flex;
  flex-direction: column;
  max-width: 62rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-left-col {
    max-width: none;
  }
}
.mortgage-variants__card-top {
  margin-bottom: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-top {
    gap: 1rem;
    margin-bottom: 3rem;
  }
}
.mortgage-variants__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: var(--blue);
  max-width: 58rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-title {
    max-width: none;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
  }
}
.mortgage-variants__card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #020202b3;
  max-width: 37rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-text {
    max-width: none;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.mortgage-variants__card-bottom {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.2);
  margin-top: auto;
  padding-top: 3rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-bottom {
    padding-top: 2.8rem;
    margin: 0;
    gap: 2.8rem;
    border-color: #0202021a;
  }
}
.mortgage-variants__card-features-list {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  row-gap: 3rem;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-features-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    grid-gap: 0.8rem;
    grid-row-gap: 2.8rem;
  }
}
.mortgage-variants__card-features-card {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-features-card {
    gap: 1rem;
  }
}
.mortgage-variants__card-features-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-features-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    max-width: 10rem;
  }
}
.mortgage-variants__card-features-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-features-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
  }
}
.mortgage-variants__card-features-card-value-small-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-features-card-value-small-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 120%;
  }
}
.mortgage-variants__card-link {
  display: block;
  text-align: center;
  padding: 2.2rem 7rem;
  border: 1px solid var(--primary-color);
  border-radius: 1.2rem;
  align-self: flex-start;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  color: var(--primary-color);
}
.mortgage-variants__card-link:link,
.mortgage-variants__card-link:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .mortgage-variants__card-link:hover {
    background-color: var(--primary-color);
    color: #fff;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-link {
    padding: 1.7rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    align-self: stretch;
  }
}
.mortgage-variants__card-image-container {
  position: relative;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-image-container {
    border-radius: 0.8rem;
  }
}
.mortgage-variants__card-image-container:before {
  content: "";
  display: block;
  padding-bottom: 61.8%;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__card-image-container:before {
    padding-bottom: 67.7%;
  }
}
.mortgage-variants__card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mortgage-variants__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  z-index: 700;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 641px) {
  .mortgage-variants__modal {
    padding-top: 4rem;
    display: grid;
    grid-template-columns: [main-start] 1fr [content-start] minmax(
        0,
        var(--container-width, 0)
      ) [content-end] 1fr [main-end];
    grid-gap: var(--content-padding, 0);
  }
}
.mortgage-variants__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .mortgage-variants__modal {
  display: none;
}
.mortgage-variants__modal-tabs {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.mortgage-variants__modal-tabs-item {
  display: none;
}
.mortgage-variants__modal-tabs-item.active {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.mortgage-variants__modal-inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  align-self: center;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 3.2rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  flex-grow: 1;
  align-self: stretch;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-inner {
    flex-grow: 1;
    border-radius: 0;
  }
}
.mortgage-variants__modal-top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  padding-bottom: 3.8rem;
  padding: 6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-top-row {
    padding: 2rem;
  }
}
.mortgage-variants__modal-scroll-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}
.mortgage-variants__modal-scroll-wrapper-inner {
  left: 6rem;
  right: 6rem;
  top: 0;
  bottom: 0;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  overscroll-behavior-y: contain;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-scroll-wrapper-inner {
    left: 0;
    right: 0;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media only screen and (min-width: 641px) {
  .mortgage-variants__modal-scroll-wrapper-inner {
    padding-right: 1rem;
  }
  .mortgage-variants__modal-scroll-wrapper-inner::-webkit-scrollbar {
    background-color: transparent;
    width: 0.4rem;
  }
  .mortgage-variants__modal-scroll-wrapper-inner::-webkit-scrollbar-thumb {
    background-color: #f2f2f2;
    border-radius: 0.8rem;
  }
  .mortgage-variants__modal-scroll-wrapper-inner::-webkit-scrollbar-button {
    display: none;
  }
  .mortgage-variants__modal-scroll-wrapper-inner::-webkit-scrollbar-track {
    background-color: transparent;
  }
}
.mortgage-variants__modal-title {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.mortgage-variants__modal-close {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background-color: #f5f5f5;
  display: grid;
  place-items: center;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-close {
    width: 4.4rem;
    height: 4.4rem;
  }
}
.mortgage-variants__modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .mortgage-variants__modal-close:hover {
    background-color: var(--white-hover);
  }
  .mortgage-variants__modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.mortgage-variants__modal-top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-top {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
    margin-bottom: 4rem;
  }
}
.mortgage-variants__modal-top-left-col {
  grid-column: 1/2;
  padding-right: 3.6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-top-left-col {
    padding: 0;
    display: contents;
  }
}
.mortgage-variants__modal-image-container {
  border-radius: 2rem;
  overflow: hidden;
}
@media only screen and (min-width: 641px) {
  .mortgage-variants__modal-image-container {
    position: sticky;
    left: 0;
    top: 1rem;
  }
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-image-container {
    border-radius: 0.8rem;
    position: relative;
  }
}
.mortgage-variants__modal-image-container:before {
  content: "";
  display: block;
  padding-bottom: 68%;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-image-container:before {
    padding-bottom: 59.7%;
  }
}
.mortgage-variants__modal-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mortgage-variants__modal-text-content {
  grid-column: 2/3;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-text-content {
    display: contents;
  }
}
.mortgage-variants__modal-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin: 0;
    order: -20;
  }
}
.mortgage-variants__modal-rules {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules {
    gap: 2rem;
  }
}
.mortgage-variants__modal-rules-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 100%;
    letter-spacing: -0.04em;
  }
}
.mortgage-variants__modal-rules-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.4rem;
  grid-row-gap: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-items {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
  }
}
.mortgage-variants__modal-rules-item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item {
    gap: 1rem;
  }
}
.mortgage-variants__modal-rules-item-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.mortgage-variants__modal-rules-item-content {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item-content {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.mortgage-variants__modal-rules-item-content ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item-content ul {
    gap: 0.6rem;
  }
}
.mortgage-variants__modal-rules-item-content ul > li {
  position: relative;
  padding-left: 2rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item-content ul > li {
    padding-left: 1.2rem;
  }
}
.mortgage-variants__modal-rules-item-content ul > li:before {
  content: "";
  position: absolute;
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  background-color: var(--blue);
  top: 0.76em;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-rules-item-content ul > li:before {
    width: 4px;
    height: 4px;
    top: 0.65em;
  }
}
.mortgage-variants__modal-advantages {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages {
    margin-bottom: 6rem;
  }
}
.mortgage-variants__modal-advantages-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages-list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
    grid-auto-rows: 1fr;
  }
}
.mortgage-variants__modal-advantages-list-item {
  display: flex;
  flex-direction: column;
}
.mortgage-variants__modal-advantages-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border: 1px solid #fae5e7;
  border-radius: 1.6rem;
  background-color: #fff;
  min-height: 22rem;
  position: relative;
  z-index: 1;
  padding: 3.2rem;
  gap: 3rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages-card {
    padding: 2rem;
    min-height: 10.9rem;
    border-radius: 1.2rem;
    gap: 1rem;
  }
}
.mortgage-variants__modal-advantages-card:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 25rem;
  height: 25rem;
  border-radius: 50%;
  background: linear-gradient(153.28deg, #ffecec 13.46%, #ffffff 51.11%);
  bottom: -12rem;
  right: -7rem;
  pointer-events: none;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages-card:before {
    bottom: -7rem;
    right: -4.5rem;
    width: 15rem;
    height: 15rem;
  }
}
.mortgage-variants__modal-advantages-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.mortgage-variants__modal-advantages-card-icon {
  flex-shrink: 0;
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  margin-top: auto;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-advantages-card-icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mortgage-variants__modal-steps {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps {
    margin-bottom: 3rem;
  }
}
.mortgage-variants__modal-steps-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 100%;
    letter-spacing: -0.04em;
    margin-bottom: 2rem;
  }
}
.mortgage-variants__modal-steps-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps-list {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: 1fr;
    grid-gap: 0.8rem;
  }
}
.mortgage-variants__modal-steps-list-item {
  display: flex;
  flex-direction: column;
}
.mortgage-variants__modal-steps-list-item:before {
  display: none;
}
.mortgage-variants__modal-steps-card {
  min-height: 19rem;
  background-color: var(--blue);
  color: #fff;
  padding: 2.4rem;
  border-radius: 1.6rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps-card {
    min-height: 14rem;
    padding: 2rem;
    border-radius: 1.2rem;
  }
}
.mortgage-variants__modal-steps-card:before {
  content: counter(ordered-list, decimal-leading-zero);
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  color: #ffffff26;
  display: block;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps-card:before {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.mortgage-variants__modal-steps-card-title {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-steps-card-title {
    margin-top: auto;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.mortgage-variants__modal-nav {
  padding: 2.7rem 6rem;
  border-top: 1px solid rgba(2, 2, 2, 0.1);
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-nav {
    padding: 2rem;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .mortgage-variants__modal-nav::-webkit-scrollbar * {
    background: transparent;
  }
  .mortgage-variants__modal-nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .mortgage-variants__modal-nav::-webkit-scrollbar {
    display: none;
    background-color: transparent;
  }
  .mortgage-variants__modal-nav::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}
.mortgage-variants__modal-nav-list {
  display: flex;
  align-items: center;
  align-self: flex-start;
  padding: 0.8rem;
  background: #f5f5f5;
  border-radius: 1.2rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-nav-list {
    padding: 0.4rem;
    border-radius: 0.8rem;
  }
}
.mortgage-variants__modal-nav-link {
  flex-shrink: 0;
  white-space: nowrap;
  padding: 1.5rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  border-radius: 0.8rem;
  transition: background-color 0.2s, color 0.2s;
  display: block;
}
.mortgage-variants__modal-nav-link.active {
  background-color: #101038;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .mortgage-variants__modal-nav-link {
    padding: 1.4rem 2rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.contacts {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
}
.contacts + section {
  padding-top: 10rem;
  position: relative;
  z-index: 10;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  margin-top: -3.2rem;
}
@media only screen and (max-width: 640px) {
  .contacts + section {
    padding-top: 4rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.contacts__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  padding-top: 12.8rem;
  padding-bottom: 16rem;
}
@media only screen and (max-width: 640px) {
  .contacts__content {
    padding-top: 9rem;
    padding-bottom: 7.2rem;
  }
}
.contacts__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
  .contacts__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.contacts__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.contacts__breadcrumbs a:link,
.contacts__breadcrumbs a:visited {
  color: #02020280;
}
.contacts__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .contacts__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.contacts__breadcrumbs a:last-child:after {
  display: none;
}
.contacts__breadcrumbs a.active,
.contacts__breadcrumbs a.active:link,
.contacts__breadcrumbs a.active:visited {
  color: #020202;
}
.contacts__heading {
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 10rem;
  line-height: 100%;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 640px) {
  .contacts__heading {
    text-align: left;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 1.6rem;
  }
}
.contacts__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .contacts__cards {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.8rem;
  }
}
.contacts__card {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .contacts__card {
    padding: 2rem;
    border: 1px solid rgba(2, 2, 2, 0.1);
    border-radius: 1.2rem;
    gap: 2rem;
  }
}
.contacts__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .contacts__card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.contacts__card-content {
  display: flex;
  flex-direction: column;
}
.contacts__card-link {
  align-self: flex-start;
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 110%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .contacts__card-link {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .contacts__card-link:hover {
    color: var(--primary-color);
  }
}
.contacts__card-remark {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  display: block;
  line-height: 130%;
  color: #02020280;
  margin-top: 1.2rem;
  max-width: 25rem;
}
@media only screen and (max-width: 640px) {
  .contacts__card-remark {
    max-width: none;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.contacts__card-schedule-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.contacts__card-schedule-card {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .contacts__card-schedule-card {
    gap: 1.2rem;
  }
}
.contacts__card-schedule-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .contacts__card-schedule-card-key {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.contacts__card-schedule-card-value {
  font-style: normal;
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 110%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .contacts__card-schedule-card-value {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    letter-spacing: -0.04em;
    line-height: 100%;
  }
}
.contacts__card-social-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.contacts__card-social-list-item {
  flex-shrink: 0;
}
.contacts__card-social-link {
  display: block;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: background-color 0.2s, border-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .contacts__card-social-link {
    width: 4.4rem;
    height: 4.4rem;
  }
}
.contacts__card-social-link svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--primary-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .contacts__card-social-link:hover {
    border-color: var(--primary-color);
    background-color: var(--primary-color);
  }
  .contacts__card-social-link:hover svg {
    fill: #fff;
  }
}
.excursion {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 6rem;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .excursion {
    padding-bottom: 4rem;
    margin-top: -2rem;
    position: relative;
    z-index: 10;
  }
}
.excursion__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.excursion__card {
  background-color: #fff;
  padding: 6rem 13rem 6rem 6rem;
  border-radius: 2rem;
  display: grid;
  grid-template-columns: minmax(0, 24rem) 1fr 1.6fr;
  grid-gap: 9.2rem;
  grid-template-areas: "image textcontent form";
}
@media only screen and (max-width: 640px) {
  .excursion__card {
    padding: 3rem 2rem 4rem;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.excursion__card-image-container {
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  grid-area: image;
  align-self: flex-start;
}
@media only screen and (max-width: 640px) {
  .excursion__card-image-container {
    display: none;
  }
}
.excursion__card-image-container:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.excursion__card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.excursion__card-text-content {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .excursion__card-text-content {
    gap: 1.6rem;
  }
}
.excursion__card-heading {
  font-style: normal;
  font-weight: 400;
  font-size: 4rem;
  line-height: 105%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .excursion__card-heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
  }
}
.excursion__card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .excursion__card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
  }
}
.excursion__card-author {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .excursion__card-author {
    display: none;
  }
}
.excursion__card-author-name {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #020202cc;
}
.excursion__card-author-role {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
.excursion__card-form {
  grid-area: form;
}
.excursion__card-fields {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.excursion__card-field {
  position: relative;
}
.excursion__card-field .validation-error {
  position: absolute;
  padding: 0.6rem 0.8rem;
  background-color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  right: 0;
  top: 5rem;
  line-height: 130%;
  color: #cf000c;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 0.8rem;
  margin-top: -0.1rem;
  pointer-events: none;
  z-index: 10;
}
.excursion__card-field .validation-error:before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  right: 2.6rem;
  bottom: 100%;
  margin-bottom: -0.1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/error-tail.svg);
}
.excursion__card-input {
  display: block;
  width: 100%;
  height: 6rem;
  padding: 0 2rem;
  border: 1px solid rgba(2, 2, 2, 0.3);
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: var(--text-color);
  transition: border-color 0.2s, color 0.2s;
}
.excursion__card-input::placeholder {
  color: #02020266;
}
.excursion__card-input:hover {
  border-color: #0202024d;
}
.excursion__card-input:focus {
  border-color: #0202021a;
}
.excursion__card-input.not-valid {
  color: #cf000c;
  background-image: url(../images/error-red.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 2rem center;
  border-color: #0202021a;
}
.excursion__card-input.not-valid::placeholder {
  color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .excursion__card-input {
    height: 5rem;
    padding: 0 2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    border: 1px solid rgba(2, 2, 2, 0.3);
    border-radius: 0.8rem;
  }
}
.excursion__card-submit {
  padding: 2rem 4rem;
  display: block;
  text-align: center;
  color: #fff;
  transition: background-color 0.2s, color 0.2s;
  margin-top: 2rem;
  border-radius: 1.2rem;
  background-color: var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .excursion__card-submit {
    padding: 1.8rem 3.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    text-align: center;
    margin-top: 1.6rem;
    border-radius: 0.8rem;
  }
}
.excursion__card-submit:link,
.excursion__card-submit:visited {
  color: #fff;
}
@media (hover: hover) {
  .excursion__card-submit:hover {
    background-color: var(--primary-color-hover);
  }
}
.excursion__card-policy {
  margin-top: 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .excursion__card-policy {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    margin-top: 1.6rem;
  }
}
.excursion__card-policy a,
.excursion__card-policy a:link,
.excursion__card-policy a:visited {
  color: var(--text-color);
}
@media (hover: hover) {
  .excursion__card-policy a:hover {
    color: var(--primary-color);
  }
}
.awards {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-bottom: 15rem;
}
@media only screen and (max-width: 640px) {
  .awards {
    padding-bottom: 6rem;
  }
}
.awards__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.awards__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .awards__top-row {
    margin-bottom: 3rem;
  }
}
.awards__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
}
@media only screen and (max-width: 640px) {
  .awards__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.awards__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .awards__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.awards__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .awards__arrows {
    display: none;
  }
}
.awards__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
}
.awards__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.awards__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
@media (hover: hover) {
  .awards__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .awards__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.awards__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(25% - 1.8rem);
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .awards__slider .swiper-slide {
    width: 90%;
    margin-right: 0.8rem;
  }
}
.awards__slider .swiper-slide:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .awards__slider .swiper {
    overflow: visible;
  }
}
.awards__slider-card {
  height: auto;
  flex-grow: 1;
  background: #ffffff;
  border-radius: 2rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .awards__slider-card {
    border-radius: 1.2rem;
  }
}
.awards__slider-card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
  grid-area: stack;
}
.awards__slider-card-content {
  grid-area: stack;
  padding: 3.2rem;
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  grid-gap: 2rem;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "top" "image" "bottom";
}
@media only screen and (max-width: 640px) {
  .awards__slider-card-content {
    padding: 2rem;
    grid-gap: 1rem;
  }
}
.awards__slider-card-top-row {
  grid-area: top;
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  justify-content: space-between;
}
.awards__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .awards__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 130%;
  }
}
.awards__slider-card-year {
  display: block;
  flex-shrink: 0;
  text-align: center;
  padding: 1rem 1.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  background-color: #e7eef7;
  border-radius: 0.8rem;
  line-height: 120%;
}
@media only screen and (max-width: 640px) {
  .awards__slider-card-year {
    padding: 0.5rem 1.2rem;
    border-radius: 0.4rem;
  }
}
.awards__slider-card-image-container {
  position: relative;
  border-radius: 50%;
  background-color: #f5f5f5;
  grid-area: image;
  width: 14rem;
  height: 14rem;
  align-self: center;
  justify-self: center;
}
@media only screen and (max-width: 640px) {
  .awards__slider-card-image-container {
    width: 10rem;
    height: 10rem;
  }
}
.awards__slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.awards__slider-card-text {
  grid-area: bottom;
  align-self: flex-end;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .awards__slider-card-text {
    font-size: 1.4rem;
  }
}
.about-intro {
  background-color: #181823;
  color: #fff;
}
.about-intro__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
}
.about-intro__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
  padding-top: 13.6rem;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .about-intro__top-content {
    padding-top: 12rem;
    padding-bottom: 7rem;
  }
}
.about-intro__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .about-intro__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3rem;
  }
}
.about-intro__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #ffffff80;
}
.about-intro__breadcrumbs a:link,
.about-intro__breadcrumbs a:visited {
  color: #ffffff80;
}
.about-intro__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/project-intro/breadcrumbs-arrow.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .about-intro__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.about-intro__breadcrumbs a:last-child:after {
  display: none;
}
.about-intro__breadcrumbs a.active,
.about-intro__breadcrumbs a.active:link,
.about-intro__breadcrumbs a.active:visited {
  color: #fff;
}
.about-intro__top-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-gap: 2.4rem;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .about-intro__top-row {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.about-intro__top-logo {
  grid-column: 1/8;
  justify-self: flex-start;
  width: 81rem;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .about-intro__top-logo {
    width: 100%;
  }
}
.about-intro__top-text {
  grid-column: 8/-1;
  font-style: normal;
  font-weight: 400;
  font-size: 2rem;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: #fffc;
}
@media only screen and (max-width: 640px) {
  .about-intro__top-text {
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 110%;
  }
}
.about-intro__bottom {
  border-top-left-radius: 2rem;
  border-top-right-radius: 2rem;
  margin-top: -2rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "stack";
}
@media only screen and (max-width: 640px) {
  .about-intro__bottom {
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
  }
}
.about-intro__bottom-image-wrapper {
  position: relative;
  grid-area: stack;
}
.about-intro__bottom-image-wrapper:before {
  content: "";
  padding-bottom: 53.57%;
  display: block;
}
@media only screen and (max-width: 640px) {
  .about-intro__bottom-image-wrapper:before {
    padding-bottom: 80%;
  }
}
.about-intro__bottom-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-intro__video-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  color: #fff;
  background-color: var(--primary-color);
  grid-area: stack;
  z-index: 2;
  align-self: center;
  justify-self: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  padding: 2rem;
  text-align: center;
  transition: color 0.2s, background-color 0.2s;
}
.about-intro__video-link:link,
.about-intro__video-link:visited {
  color: #fff;
}
@media (hover: hover) {
  .about-intro__video-link:hover {
    background-color: var(--primary-color-hover);
  }
}
@media only screen and (max-width: 640px) {
  .about-intro__video-link {
    width: 8rem;
    height: 8rem;
    padding: 1rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.about-intro__modal {
  background: rgba(2, 2, 2, 0.3);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overscroll-behavior-y: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  opacity: 0;
  visibility: hidden;
}
.about-intro__modal.active {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
body:not(.loaded) .about-intro__modal {
  display: none;
}
.about-intro__modal-inner {
  background-color: #fff;
  margin-top: auto;
  padding: 6rem 0;
  border-radius: 2.4rem 2.4rem 0px 0px;
}
@media only screen and (max-width: 640px) {
  .about-intro__modal-inner {
    padding: 7rem 2rem 5rem;
    border-radius: 1.2rem 1.2rem 0px 0px;
  }
}
.about-intro__modal-player {
  border-radius: 2.4rem;
  overflow: hidden;
  --plyr-color-main: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-intro__modal-player {
    border-radius: 1.2rem;
  }
}
.about-intro__modal-player video {
  max-width: 100%;
  height: auto;
}
.about-intro__modal-video-wrapper {
  width: 70%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .about-intro__modal-video-wrapper {
    width: auto;
    margin: 0;
  }
}
.about-intro__modal-close {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 1.7rem;
  background-color: #f5f5f5;
  border-radius: 50%;
  width: 4.8rem;
  height: 4.8rem;
  z-index: 30;
  transition: background-color 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-intro__modal-close {
    margin: 0;
    left: auto;
    right: 0;
    bottom: 100%;
    top: auto;
    margin-bottom: 1rem;
    width: 4.4rem;
    height: 4.4rem;
  }
}
.about-intro__modal-close svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .about-intro__modal-close:hover {
    background-color: var(--white-hover);
  }
  .about-intro__modal-close:hover svg {
    fill: var(--primary-color);
  }
}
.about-intro__iframe-wrapper {
  aspect-ratio: 1280/720;
  position: relative;
}
.about-intro__iframe-wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.about-company {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 20rem;
  padding-top: 10rem;
  background-color: #fff;
  position: relative;
  z-index: 10;
  border-top-left-radius: 2.4rem;
  border-top-right-radius: 2.4rem;
  margin-top: -2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-company {
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}
.about-company__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.about-company__top-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-gap: 2.4rem;
  align-items: flex-start;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 640px) {
  .about-company__top-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-bottom: 3rem;
  }
}
.about-company__heading {
  grid-column: 1/6;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .about-company__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
  }
}
.about-company__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-company__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.about-company__text {
  grid-column: 6/11;
  font-style: normal;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 150%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .about-company__text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
  }
}
.about-company__text p {
  margin-bottom: 1.5rem;
}
.about-company__text p:last-child {
  margin-bottom: 0;
}
.about-company__text b {
  font-weight: inherit;
  color: var(--primary-color);
}
.about-company__text-hidden {
  display: none;
}
.content-shown .about-company__text-hidden {
  display: block;
}
.content-shown .about-company__text-default {
  display: none;
}
.about-company__text-toggle {
  gap: 0.6rem;
  display: flex;
  align-items: flex-start;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  margin-top: 2rem;
  color: #101038;
  transition: color 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-company__text-toggle {
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
  }
}
@media (hover: hover) {
  .about-company__text-toggle:hover {
    color: #cf000c;
  }
}
.about-company__text-toggle span:nth-child(2) {
  display: none;
}
.about-company__text-toggle svg {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
  fill: currentColor;
  transition: transform 0.2s;
}
@media only screen and (max-width: 640px) {
  .about-company__text-toggle svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.content-shown .about-company__text-toggle span:nth-child(1) {
  display: none;
}
.content-shown .about-company__text-toggle span:nth-child(2) {
  display: inline;
}
.content-shown .about-company__text-toggle svg {
  transform: rotate(180deg);
}
.about-company__slider .swiper {
  overflow: visible;
}
.about-company__slider .swiper-slide {
  width: min-content;
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-company__slider .swiper-slide {
    margin-right: 0.8rem;
  }
}
.about-company__slider .swiper-slide:last-child {
  margin-right: 0;
}
.about-company__slider-card {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .about-company__slider-card {
    gap: 0.8rem;
  }
}
.about-company__slider-card-image-wrapper {
  width: max-content;
}
.about-company__slider-card-image {
  display: block;
  height: 42.4rem;
  width: auto;
  max-width: none;
  border-radius: 2rem;
}
@media only screen and (max-width: 640px) {
  .about-company__slider-card-image {
    height: 20rem;
    border-radius: 1.2rem;
  }
}
.about-company__slider-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  max-width: 31rem;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .about-company__slider-card-text {
    max-width: none;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 130%;
    white-space: normal;
  }
}
.about-numbers {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
  padding-bottom: 18rem;
}
@media only screen and (max-width: 640px) {
  .about-numbers {
    padding-bottom: 8rem;
  }
}
.about-numbers__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.about-numbers__row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-numbers__row {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
}
.about-numbers__heading {
  grid-column: 1/6;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .about-numbers__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    gap: 0.6rem;
  }
}
.about-numbers__heading:after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  background-color: #cf000c;
}
@media only screen and (max-width: 640px) {
  .about-numbers__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.about-numbers__list {
  display: grid;
  grid-template-columns: 1fr 0.5fr;
  grid-gap: 2.4rem;
  grid-row-gap: 8rem;
  padding-left: 2.8rem;
  grid-column: 6/-1;
  margin-top: -1rem;
}
@media only screen and (max-width: 640px) {
  .about-numbers__list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin: 0;
    grid-gap: 0.8rem;
    grid-row-gap: 1.8rem;
    padding: 0;
  }
}
.about-numbers__list-item {
  display: flex;
  flex-direction: column;
}
.about-numbers__card {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.about-numbers__card-amount {
  font-style: normal;
  font-weight: 400;
  font-size: 14rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  white-space: nowrap;
}
@media only screen and (max-width: 640px) {
  .about-numbers__card-amount {
    font-size: 5rem;
  }
}
.about-numbers__card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 125%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .about-numbers__card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
  }
}
.about-team {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-bottom: 15rem;
}
@media only screen and (max-width: 640px) {
  .about-team {
    padding-bottom: 6rem;
  }
}
.about-team__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.about-team__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .about-team__top-row {
    margin-bottom: 3rem;
  }
}
.about-team__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
}
@media only screen and (max-width: 640px) {
  .about-team__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.about-team__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .about-team__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.about-team__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .about-team__arrows {
    display: none;
  }
}
.about-team__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
}
.about-team__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.about-team__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
@media (hover: hover) {
  .about-team__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .about-team__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
.about-team__slider .swiper {
  overflow: visible;
}
.about-team__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: auto;
  width: calc(25% - 1.8rem);
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-team__slider .swiper-slide {
    width: 70%;
    margin-right: 0.8rem;
  }
}
.about-team__slider .swiper-slide:last-child {
  margin-right: 0;
}
.about-team__slider-card {
  display: flex;
  flex-direction: column;
}
.about-team__slider-card-image-container {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .about-team__slider-card-image-container {
    border-radius: 1.2rem;
  }
}
.about-team__slider-card-image-container:before {
  content: "";
  display: block;
  padding-bottom: 114%;
}
.about-team__slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-team__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  letter-spacing: -0.02em;
  line-height: 125%;
  margin-top: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .about-team__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-top: 0.8rem;
  }
}
.about-team__slider-card-role {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  color: #02020266;
  line-height: 150%;
  margin-top: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .about-team__slider-card-role {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-top: 0.4rem;
  }
}
.company-projects {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #f5f5f5;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .company-projects {
    padding-bottom: 6rem;
  }
}
.company-projects__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.company-projects__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .company-projects__top-row {
    margin-bottom: 3rem;
    gap: 1.8rem;
    flex-direction: column;
    align-items: stretch;
  }
}
.company-projects__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
}
@media only screen and (max-width: 640px) {
  .company-projects__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.company-projects__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .company-projects__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.company-projects__toggle {
  margin-left: auto;
  flex-shrink: 0;
}
@media only screen and (max-width: 640px) {
  .company-projects__toggle {
    margin: 0;
    flex-shrink: 1;
    align-self: flex-start;
  }
}
.company-projects__toggle-label {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 0.8rem;
  padding: 2rem 1.6rem;
  gap: 1.6rem;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .company-projects__toggle-label {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    align-self: flex-start;
    gap: 0.8rem;
  }
}
.company-projects__toggle-input {
  display: none;
}
.company-projects__toggle-mode {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  transition: color 0.2s;
  line-height: 150%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .company-projects__toggle-mode {
    font-size: 1.4rem;
  }
}
.company-projects__toggle-input:not(:checked)
  ~ .company-projects__toggle-mode:nth-of-type(1) {
  color: #020202;
}
.company-projects__toggle-input:checked
  ~ .company-projects__toggle-mode:nth-of-type(3) {
  color: #020202;
}
.company-projects__toggle-box {
  flex-shrink: 0;
  padding: 2px;
  background: #101038;
  border-radius: 100px;
  width: 40px;
}
.company-projects__toggle-box:before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #fff;
  transition: transform 0.2s;
  display: block;
}
.company-projects__toggle-input:checked ~ .company-projects__toggle-box:before {
  transform: translate(18px);
}
.company-projects__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .company-projects__list {
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 3rem;
  }
}
.company-projects__list-item {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 641px) {
  .company-projects__list-item--wide {
    grid-column: span 2;
  }
  .company-projects__list-item--wide .company-projects__card-info {
    max-width: 45.6rem;
  }
}
.company-projects__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
  color: #fff;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .company-projects__card {
    border-radius: 1.2rem;
  }
}
.company-projects__card:before {
  content: "";
  display: block;
  padding-bottom: 100%;
  grid-area: stack;
}
@media only screen and (min-width: 641px) {
  .company-projects__list-item--wide .company-projects__card:before {
    padding-bottom: 48.8%;
  }
  .company-projects__card:hover .company-projects__card-info-wrapper {
    grid-template-rows: 1fr;
  }
  .company-projects__card:hover .company-projects__card-info-btn svg {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 640px) {
  .company-projects__card.info-shown .company-projects__card-info-wrapper {
    grid-template-rows: 1fr;
  }
  .company-projects__card.info-shown .company-projects__card-info-btn svg {
    transform: rotate(180deg);
  }
}
.company-projects__card-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
}
.company-projects__card-image-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.company-projects__card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company-projects__card-content {
  display: flex;
  flex-direction: column;
  padding: 2.4rem;
  gap: 3rem;
  grid-area: stack;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-content {
    padding: 1.6rem;
    gap: 2rem;
  }
}
.company-projects__card-tags {
  flex-shrink: 0;
}
.company-projects__card-tags-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6rem;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-tags-list {
    gap: 0.4rem;
  }
}
.company-projects__card-tags-list-item {
  flex-shrink: 0;
}
.company-projects__card-tag {
  display: flex;
  align-items: center;
  padding: 1.1rem 1.8rem;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  background: rgba(16, 16, 56, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-tag {
    padding: 0.8rem 1rem;
    border-radius: 0.4rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 120%;
    gap: 0.4rem;
  }
}
.company-projects__card-tag--dark {
  background: rgba(16, 16, 56, 0.7);
}
.company-projects__card-tag-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-tag-icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.company-projects__card-info {
  margin-top: auto;
  padding: 3.2rem;
  background-color: #fff;
  border-radius: 1.6rem;
  color: var(--text-color);
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info {
    padding: 1.7rem 2rem 2rem;
    border-radius: 1.2rem;
  }
}
.company-projects__card-info-btn {
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.company-projects__card-info-btn svg {
  width: 3.4rem;
  height: 3.4rem;
  flex-shrink: 0;
  fill: currentColor;
  transition: transform 0.2s;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-btn svg {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.company-projects__card-info-title {
  font-style: normal;
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-title {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 100%;
  }
}
.company-projects__card-info-location {
  display: flex;
  align-items: center;
  margin-top: 1.6rem;
  gap: 0.4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020299;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-location {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    gap: 0.4rem;
    margin-top: 0.8rem;
  }
}
.company-projects__card-info-location svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: var(--primary-color);
}
.company-projects__card-info-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s;
}
.company-projects__card-info-wrapper-inner {
  overflow: hidden;
}
.company-projects__card-info-list {
  display: flex;
  flex-direction: column;
  padding-top: 2.8rem;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-list {
    padding-top: 1rem;
  }
}
.company-projects__card-info-list-item {
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.company-projects__card-info-list-item:last-child {
  border: none;
}
.company-projects__card-info-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.6rem 0;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-card {
    padding: 1.2rem 0;
  }
}
.company-projects__card-info-card-key {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-card-key {
    font-size: 1.4rem;
  }
}
.company-projects__card-info-card-value {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .company-projects__card-info-card-value {
    font-size: 1.4rem;
  }
}
.company-projects__show-more {
  display: block;
  text-align: center;
  margin-top: 3.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  background-color: #fff;
  line-height: 100%;
  color: var(--primary-color);
  transition: color 0.2s, background-color 0.2s;
  padding: 3rem 6rem;
  border-radius: 1.2rem;
}
.company-projects__show-more:link,
.company-projects__show-more:visited {
  color: var(--primary-color);
}
@media (hover: hover) {
  .company-projects__show-more:hover {
    background-color: var(--white-hover);
  }
}
@media only screen and (max-width: 640px) {
  .company-projects__show-more {
    padding: 1.8rem 3.6rem;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
    margin-top: 1.6rem;
  }
}
.about-history {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 15rem;
  background-color: #f5f5f5;
  padding-top: 10rem;
  position: relative;
  z-index: 10;
  margin-top: -3.2rem;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .about-history {
    padding-bottom: 6rem;
    padding-top: 5rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.about-history__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.about-history__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .about-history__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 3rem;
    order: -40;
  }
}
.about-history__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .about-history__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.about-history__slider-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-radius: 2rem;
  overflow: hidden;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .about-history__slider-row {
    display: flex;
    flex-direction: column;
    border-radius: 1.2rem;
  }
}
.about-history__image-slider {
  position: relative;
}
.about-history__image-slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.about-history__image-slider-card {
  position: relative;
}
.about-history__image-slider-card-image-container {
  display: flex;
  flex-direction: column;
  aspect-ratio: 768/440;
  position: relative;
}
.about-history__image-slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
}
.about-history__image-slider-card-title {
  position: absolute;
  left: 4rem;
  top: 4rem;
  right: 4rem;
  font-style: normal;
  font-weight: 400;
  font-size: 3.4rem;
  color: #fff;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media only screen and (max-width: 640px) {
  .about-history__image-slider-card-title {
    font-size: 1.8rem;
    left: 2rem;
    top: 2rem;
    right: 2rem;
  }
}
.about-history__text-slider {
  display: flex;
  flex-direction: column;
  padding: 4rem;
  flex-grow: 1;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider {
    padding: 2rem;
    gap: 1.8rem;
  }
}
.about-history__text-slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.about-history__text-slider-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider-card-text {
    font-size: 1.4rem;
  }
}
.about-history__text-slider-card-volume {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider-card-volume {
    font-size: 1.4rem;
  }
}
.about-history__text-slider-card-volume svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.6rem;
  height: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider-card-volume svg {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.about-history__text-slider-card-year {
  margin-top: auto;
  margin-left: auto;
  font-style: normal;
  font-weight: 300;
  font-size: 6.4rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider-card-year {
    font-size: 4rem;
  }
}
.about-history__text-slider .swiper {
  display: flex;
  flex-direction: column;
  margin: 0;
  flex-grow: 1;
}
.about-history__text-slider-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-history__text-slider-card {
    gap: 2rem;
  }
}
.about-history__arrows {
  position: absolute;
  display: flex;
  align-items: center;
  right: 4rem;
  bottom: 4rem;
  gap: 0.8rem;
  z-index: 30;
}
@media only screen and (max-width: 640px) {
  .about-history__arrows {
    display: none;
  }
}
.about-history__arrow {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  display: block;
  background: rgba(24, 24, 35, 0.2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  transition: background-color 0.2s, opacity 0.2s;
}
.about-history__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}
.about-history__arrow.swiper-button-disabled {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}
.about-history__arrow:not(.swiper-button-disabled):hover {
  background-color: #ffffff4d;
}
.about-history__slider-fraction-pagination {
  margin-top: auto;
  margin-left: auto;
  width: 7rem;
  height: 7rem;
  position: absolute;
  left: 4rem;
  bottom: 4rem;
  background: rgba(255, 255, 255, 0.01);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-radius: 50%;
  z-index: 5;
}
@media only screen and (max-width: 640px) {
  .about-history__slider-fraction-pagination {
    display: none;
  }
}
.about-history__slider-fraction-pagination-inner {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 130%;
  display: grid;
  place-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.about-history__slider-fraction-pagination-inner > * {
  display: contents;
}
.about-history__slider-fraction-pagination-progress {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  z-index: -1;
  transform: rotate(-90deg);
  --r: 45;
  z-index: 20;
}
.about-history__slider-fraction-pagination-progress svg {
  display: block;
  width: 100%;
  height: 100%;
}
.about-history__slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke-dasharray: calc(6.28 * var(--r, 0));
  stroke-dashoffset: calc(6.28 * var(--r, 0) * (100 - var(--p, 0)) / 100);
}
.about-history__slider-fraction-pagination-progress svg circle:nth-child(1) {
  stroke: #fff0;
}
.about-history__slider-fraction-pagination-progress svg circle:nth-child(2) {
  stroke: #fff;
}
.about-history__thumbs {
  margin-top: 3.2rem;
  background-color: #fff;
  border-radius: 1.2rem;
  padding: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .about-history__thumbs {
    border-radius: 0.8rem;
    padding: 2rem;
    margin: 0;
    margin-bottom: 0.8rem;
    order: -10;
  }
}
.about-history__thumbs .swiper {
  overflow: visible;
}
.about-history__thumbs .swiper-slide {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  margin-right: 3.2rem;
  box-sizing: border-box;
  width: auto;
}
@media only screen and (max-width: 640px) {
  .about-history__thumbs .swiper-slide {
    margin-right: 1.2rem;
  }
}
.about-history__thumbs .swiper-slide:last-child {
  margin-right: 0;
}
.about-history__thumbs-slider-card {
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: -0.04em;
  color: #aeaeae;
  padding-top: 1.2rem;
  border-top: 1px solid currentColor;
  transition: color 0.2s;
  white-space: nowrap;
  cursor: pointer;
}
@media only screen and (max-width: 640px) {
  .about-history__thumbs-slider-card {
    padding-top: 0.8rem;
    font-size: 1.4rem;
  }
}
.swiper-slide-thumb-active .about-history__thumbs-slider-card {
  color: var(--primary-color);
}
.fav-empty {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-top: 13rem;
  background-color: #fff;
  padding-bottom: 9rem;
}
@media only screen and (max-width: 640px) {
  .fav-empty {
    padding-top: 11.2rem;
    padding-bottom: 7rem;
  }
}
.fav-empty + section {
  padding-top: 11.6rem;
  margin-top: -3.2rem;
  background: #f5f5f5;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .fav-empty + section {
    padding-top: 6rem;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    margin-top: -1.2rem;
  }
}
.fav-empty__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.fav-empty__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .fav-empty__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.fav-empty__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.fav-empty__breadcrumbs a:link,
.fav-empty__breadcrumbs a:visited {
  color: #02020280;
}
.fav-empty__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .fav-empty__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.fav-empty__breadcrumbs a:last-child:after {
  display: none;
}
.fav-empty__breadcrumbs a.active,
.fav-empty__breadcrumbs a.active:link,
.fav-empty__breadcrumbs a.active:visited {
  color: #020202;
}
.fav-empty__row {
  display: flex;
  gap: 4rem;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .fav-empty__row {
    flex-direction: column;
    gap: 0;
  }
}
.fav-empty__text-content {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .fav-empty__text-content {
    display: contents;
  }
}
.fav-empty__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .fav-empty__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    margin-bottom: 2rem;
  }
}
.fav-empty__heading b {
  font-weight: inherit;
  color: #0202024d;
}
.fav-empty__text {
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 150%;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
  .fav-empty__text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.fav-empty__text img {
  display: inline-block;
  vertical-align: middle;
  width: 1.8rem;
}
.fav-empty__link {
  display: block;
  text-align: center;
  align-self: flex-start;
  padding: 2rem 4.4rem;
  border-radius: 1.2rem;
  color: #fff;
  transition: color 0.2s, background-color 0.2s;
  background-color: var(--primary-color);
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
@media only screen and (max-width: 640px) {
  .fav-empty__link {
    order: 20;
    padding: 1.8rem 3.6rem;
    border-radius: 0.8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    align-self: stretch;
  }
}
.fav-empty__link:link,
.fav-empty__link:visited {
  color: #fff;
}
@media (hover: hover) {
  .fav-empty__link:hover {
    background-color: var(--primary-color-hover);
  }
}
.fav-empty__illustration {
  width: 46.7rem;
  height: auto;
  margin-left: auto;
}
@media only screen and (max-width: 640px) {
  .fav-empty__illustration {
    width: 100%;
    height: auto;
    margin: 0;
    margin-bottom: 3rem;
  }
}
.fav__top {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  background-color: #fff;
}
.fav__top-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  padding-top: 12.8rem;
  padding-bottom: 7.2rem;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .fav__top-content {
    padding-top: 11.2rem;
    padding-bottom: 3.2rem;
  }
}
.fav__breadcrumbs {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
  z-index: 5;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .fav__breadcrumbs {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-bottom: 3.2rem;
  }
}
.fav__breadcrumbs a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #02020280;
}
.fav__breadcrumbs a:link,
.fav__breadcrumbs a:visited {
  color: #02020280;
}
.fav__breadcrumbs a:after {
  content: "";
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/breadcrumbs-arrow-dark.svg);
  opacity: 0.5;
}
@media only screen and (max-width: 640px) {
  .fav__breadcrumbs a:after {
    width: 1.4rem;
    height: 1.4rem;
    align-self: center;
  }
}
.fav__breadcrumbs a:last-child:after {
  display: none;
}
.fav__breadcrumbs a.active,
.fav__breadcrumbs a.active:link,
.fav__breadcrumbs a.active:visited {
  color: #020202;
}
.fav__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .fav__top-row {
    gap: 1.6rem;
    flex-direction: column;
    align-items: stretch;
  }
}
.fav__heading {
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .fav__heading {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    letter-spacing: -0.05em;
    gap: 0.5rem;
  }
}
.fav__count {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
  margin-top: 1.2rem;
  letter-spacing: 0;
}
@media only screen and (max-width: 640px) {
  .fav__count {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 120%;
    margin-top: 0.8rem;
  }
}
.fav__clear {
  margin-left: auto;
  display: flex;
  align-items: center;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .fav__clear {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    margin: 0;
  }
}
.fav__clear svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  fill: currentColor;
  position: relative;
  bottom: -0.1rem;
}
@media (hover: hover) {
  .fav__clear:hover {
    color: var(--primary-color);
  }
}
.fav__bottom {
  background: #f5f5f5;
  border-top-left-radius: 3.2rem;
  border-top-right-radius: 3.2rem;
  padding-top: 3.2rem;
  margin-top: -3.2rem;
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
}
@media only screen and (max-width: 640px) {
  .fav__bottom {
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
    padding-top: 2rem;
    margin-top: -1.2rem;
    padding-bottom: 6rem;
  }
}
.fav__bottom-content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.fav__brochure {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 2.4rem;
  margin-top: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .fav__brochure {
    margin-top: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.fav__brochure-card {
  grid-column: span 3;
  padding: 1.6rem;
  background: #ffffff;
  border-radius: 1.2rem;
  display: flex;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-card {
    padding: 1.6rem;
    border-radius: 1.6rem;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 1.6rem;
    grid-template-areas: "title icon" "sharing size";
  }
}
.fav__brochure-icon-wrapper {
  flex-shrink: 0;
  border: 1px solid rgba(207, 0, 12, 0.05);
  border-radius: 1.2rem;
  background: #fff7f8;
  width: 5.8rem;
  height: 5.8rem;
  display: grid;
  place-items: center;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-icon-wrapper {
    grid-area: icon;
    justify-self: flex-end;
    align-self: center;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 0.8rem;
  }
}
.fav__brochure-icon-wrapper svg {
  fill: var(--primary-color);
  width: 3.2rem;
  height: 3.2rem;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-icon-wrapper svg {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.fav__brochure-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-content {
    display: contents;
  }
}
.fav__brochure-title {
  font-style: normal;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 130%;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-title {
    grid-area: title;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 130%;
    align-self: center;
  }
}
.fav__brochure-size {
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-size {
    grid-area: size;
    align-self: flex-end;
    justify-self: flex-end;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 130%;
    color: #0202024d;
  }
}
.fav__brochure-list {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-list {
    grid-area: sharing;
    align-self: flex-end;
    margin: 0;
  }
}
.fav__brochure-list-item {
  flex-shrink: 0;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .fav__brochure-inner-card {
    position: relative;
  }
  .fav__brochure-inner-card:hover .fav__brochure-inner-card-btn {
    background: #f5f5f5;
    border-color: #f5f5f5;
  }
  .fav__brochure-inner-card:hover .fav__brochure-inner-card-btn svg {
    fill: var(--primary-color);
  }
  .fav__brochure-inner-card:hover .fav__brochure-inner-card-dropdown {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.fav__brochure-inner-card-btn {
  display: grid;
  place-items: center;
  width: 4.8rem;
  height: 4.8rem;
  border: 1px solid rgba(2, 2, 2, 0.1);
  border-radius: 50%;
  transition: background-color 0.2s, border-color 0.2s;
  background-color: #fff;
}
.fav__brochure-inner-card-btn svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #000;
  transition: fill 0.2s;
}
@media only screen and (min-width: 641px) {
  .fav__brochure-inner-card-dropdown {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    left: 0;
    bottom: 100%;
    padding-bottom: 1.2rem;
    z-index: 30;
    width: max-content;
  }
}
@media only screen and (max-width: 640px) {
  .fav__brochure-inner-card-dropdown {
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overscroll-behavior-y: contain;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 500;
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .fav__brochure-inner-card.active .fav__brochure-inner-card-dropdown {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
  body:not(.loaded) .fav__brochure-inner-card-dropdown {
    display: none;
  }
}
@media only screen and (min-width: 641px) {
  .fav__brochure-inner-card-dropdown-inner {
    box-shadow: 0 0.2rem 2rem #0000000f;
    border-radius: 1.2rem;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    padding: 1.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .fav__brochure-inner-card-dropdown-inner {
    margin-top: auto;
    padding: 2rem;
    background-color: #fff;
    border-top-left-radius: 1.2rem;
    border-top-right-radius: 1.2rem;
  }
}
.fav__brochure-inner-card-dropdown-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.fav__brochure-inner-card-dropdown-link {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.2rem 2rem 1.2rem 0.8rem;
  border-radius: 0.8rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
}
.fav__brochure-inner-card-dropdown-link svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.8rem;
  height: 1.8rem;
}
@media (hover: hover) {
  .fav__brochure-inner-card-dropdown-link:hover {
    background-color: var(--white-hover);
  }
}
.fav__brochure-inner-card-copy-wrapper {
  padding-bottom: 1.2rem;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid rgba(2, 2, 2, 0.1);
}
.fav__brochure-inner-card-copy {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.2rem 2rem 1.2rem 0.8rem;
  border-radius: 0.8rem;
  transition: color 0.2s, background-color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
}
.fav__brochure-inner-card-copy svg {
  flex-shrink: 0;
  fill: var(--primary-color);
  width: 1.8rem;
  height: 1.8rem;
}
@media (hover: hover) {
  .fav__brochure-inner-card-copy:hover {
    background-color: var(--white-hover);
  }
}
.fav__brochure-inner-card-dropdown-mobile-row {
  display: none;
}
@media only screen and (max-width: 640px) {
  .fav__brochure-inner-card-dropdown-mobile-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 2rem;
  }
}
.fav__brochure-inner-card-dropdown-mobile-title {
  font-style: normal;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 110%;
}
.fav__brochure-inner-card-dropdown-mobile-close {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: #f5f5f5;
  transition: background-color 0.2s;
}
.fav__brochure-inner-card-dropdown-mobile-close svg {
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
@media (hover: hover) {
  .fav__brochure-inner-card-dropdown-mobile-close:hover {
    background-color: var(--white-hover);
  }
}
.recent {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-bottom: 12rem;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .recent {
    padding-bottom: 6rem;
  }
}
.recent__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  flex-direction: column;
}
.recent__top-row {
  display: flex;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 640px) {
  .recent__top-row {
    margin-bottom: 2rem;
  }
}
.recent__heading {
  display: flex;
  align-items: flex-end;
  gap: 0.6rem;
  font-style: normal;
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  align-items: baseline;
}
@media only screen and (max-width: 640px) {
  .recent__heading {
    justify-content: flex-start;
    gap: 0.6rem;
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.recent__heading:after {
  content: "";
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
@media only screen and (max-width: 640px) {
  .recent__heading:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.recent__arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
}
@media only screen and (max-width: 640px) {
  .recent__arrows {
    display: none;
  }
}
.recent__arrow {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  border: 1px solid rgba(2, 2, 2, 0.1);
  transition: border-color 0.2s, background-color 0.2s;
}
.recent__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--text-color);
  transition: fill 0.2s;
}
.recent__arrow.swiper-button-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
}
@media (hover: hover) {
  .recent__arrow:not(.swiper-button-disabled):hover {
    background-color: var(--white-hover);
    border-color: var(--white-hover);
  }
  .recent__arrow:not(.swiper-button-disabled):hover svg {
    fill: var(--primary-color);
  }
}
@media only screen and (max-width: 640px) {
  .recent__slider > .swiper {
    overflow: visible;
  }
}
.recent__slider > .swiper > .swiper-wrapper > .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
  width: calc(20% - 1.92rem);
  margin-right: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .recent__slider > .swiper > .swiper-wrapper > .swiper-slide {
    width: 30.4rem;
    margin-right: 1.6rem;
  }
}
.recent__slider > .swiper > .swiper-wrapper > .swiper-slide:last-child {
  margin-right: 0;
}
.project-menu {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 90;
  min-height: 6.8rem;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .project-menu {
    min-height: 5.6rem;
    z-index: 100;
  }
}
.project-menu-overlay {
  display: none;
}
@media only screen and (max-width: 640px) {
  .project-menu-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
    background-color: #0006;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
    opacity: 0;
    display: block;
    visibility: hidden;
  }
  body:has(.project-menu__mobile.active) .project-menu-overlay {
    opacity: 1;
    visibility: inherit;
    transition: opacity 0.4s, visibility 0.4s;
  }
}
.project-menu__inner {
  grid-column-start: content-start;
  grid-column-end: content-end;
  display: flex;
  gap: 3.2rem;
}
.project-menu__list {
  display: flex;
  gap: 3.2rem;
  flex-wrap: wrap;
  row-gap: 1.6rem;
  align-self: stretch;
}
.project-menu__list:first-of-type {
  margin-right: auto;
}
.project-menu__list-item {
  flex-shrink: 0;
  position: relative;
  display: flex;
  flex-direction: column;
}
.project-menu__list-item:hover .project-menu__dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.project-menu__dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 1.2rem;
  width: max-content;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.project-menu__dropdown-inner {
  background-color: #fff;
  box-shadow: 0 0.2rem 2rem #0000000f;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  padding: 2rem;
}
.project-menu__dropdown-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.project-menu__dropdown-link {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
@media (hover: hover) {
  .project-menu__dropdown-link:hover {
    color: var(--primary-color);
  }
}
.project-menu__link {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #02020280;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}
.project-menu__link:link,
.project-menu__link:visited {
  color: #02020280;
}
.project-menu__link.active {
  color: #020202;
}
@media (hover: hover) {
  .project-menu__link:hover {
    color: #020202;
  }
}
.project-menu__btn {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  padding: 1.5rem 1.8rem;
  background: var(--primary-color);
  border-radius: 1.2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  color: #fff;
  transition: background-color 0.2s, color 0.2s;
  align-self: center;
}
.project-menu__btn:link,
.project-menu__btn:visited {
  color: #fff;
}
@media (hover: hover) {
  .project-menu__btn:hover {
    background-color: var(--primary-color-hover);
  }
}
.project-menu__desktop {
  display: contents;
}
@media only screen and (max-width: 640px) {
  .project-menu__desktop {
    display: none;
  }
}
.project-menu__mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  .project-menu__mobile {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }
}
.project-menu__mobile-toggle-btn {
  gap: 1.2rem;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 100%;
  letter-spacing: -0.02em;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin-right: auto;
}
.project-menu__mobile-toggle-btn svg {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  fill: currentColor;
  transition: transform 0.2s;
}
.project-menu__mobile.active .project-menu__mobile-toggle-btn svg {
  transform: rotate(180deg);
}
.project-menu__mobile-toggle-btn-wrapper {
  width: 30%;
  flex-grow: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.project-menu__mobile-link {
  flex-shrink: 0;
  margin-left: auto;
  padding: 1.3rem 1.6rem;
  background-color: var(--primary-color);
  transition: background-color 0.2s, color 0.2s;
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 120%;
  color: #fff;
  border-radius: 0.8rem;
}
.project-menu__mobile-link:link,
.project-menu__mobile-link:visited {
  color: #fff;
}
@media (hover: hover) {
  .project-menu__mobile-link:hover {
    background-color: var(--primary-color-hover);
  }
}
.project-menu__mobile-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: auto;
  z-index: 30;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
}
.project-menu__mobile.active .project-menu__mobile-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.project-menu__mobile-dropdown-inner {
  background: #f5f5f5;
  border-bottom-left-radius: 1.2rem;
  border-bottom-right-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  padding: 0 2rem 0.6rem;
}
.project-menu__mobile-list-item {
  border-bottom: 1px solid rgba(2, 2, 2, 0.05);
}
.project-menu__mobile-card {
  display: flex;
  gap: 3.2rem;
}
.project-menu__mobile-card-link {
  padding: 1.7rem 0;
  flex-grow: 1;
  font-style: normal;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
  display: block;
}
.project-menu__mobile-card-link.active {
  color: #0202024d;
  cursor: default;
  pointer-events: none;
}
.project-menu__more {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.project-menu__more:hover .project-menu__more-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.project-menu__more:hover .project-menu__more-btn svg {
  fill: #020202;
}
.project-menu__more-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}
.project-menu__more-btn svg {
  fill: #02020266;
  width: 1.6rem;
  height: 1.6rem;
  display: block;
}
.project-menu__more-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  z-index: 30;
  width: max-content;
  margin-top: -1rem;
}
.project-menu__more-dropdown-inner {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 0.8rem;
  padding: 1rem 0;
  border: 1px solid #f2f2f2;
}
.project-menu__more-dropdown-list {
  display: flex;
  flex-direction: column;
}
.project-menu__more-dropdown-link {
  display: block;
  padding: 1rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
@media (hover: hover) {
  .project-menu__more-dropdown-link:hover {
    color: var(--primary-color);
  }
}
.project-menu__selector {
  position: relative;
  align-self: center;
}
.project-menu__selector-btn {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  background-color: #fff;
  border-radius: 1.2rem;
  padding: 1.2rem 1.5rem;
  color: var(--text-color);
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 130%;
}
.project-menu__selector-btn svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  transition: transform 0.2s;
}
.project-menu__selector.active .project-menu__selector-btn svg {
  transform: rotate(180deg);
}
.project-menu__selector-selector-name {
  min-width: 0;
  white-space: nowrap;
}
.project-menu__selector-text {
  flex-shrink: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.project-menu__selector-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s linear 0.4s;
  min-width: 100%;
  width: max-content;
}
.project-menu__selector.active .project-menu__selector-dropdown {
  opacity: 1;
  visibility: inherit;
  transition: opacity 0.4s, visibility 0.4s;
}
.project-menu__selector-dropdown-inner {
  background-color: #fff;
  border-radius: 0.8rem;
  padding: 1rem 0;
  border: 1px solid #f2f2f2;
  display: flex;
  flex-direction: column;
}
.project-menu__selector-dropdown-list {
  display: flex;
  flex-direction: column;
}
.project-menu__selector-dropdown-link {
  display: block;
  padding: 1rem 2rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 100%;
}
.project-menu__selector-dropdown-link.active {
  color: #0202024d;
  cursor: default;
  pointer-events: none;
}
@media (hover: hover) {
  .project-menu__selector-dropdown-link:hover:not(.active) {
    color: var(--primary-color);
  }
}
.blue-intro {
  display: grid;
  grid-template-columns: [main-start] 1fr [content-start] minmax(
      0,
      var(--container-width, 0)
    ) [content-end] 1fr [main-end];
  grid-gap: var(--content-padding, 0);
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .blue-intro {
    padding-bottom: 6rem;
    padding-top: 8rem;
  }
}
.blue-intro__content {
  grid-column-start: content-start;
  grid-column-end: content-end;
}
.blue-intro__slider {
  overflow: hidden;
  border-radius: 2rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider {
    border-radius: 1.2rem;
  }
}
.blue-intro__slider .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;
}
.blue-intro__slider-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: #212173;
  color: #fff;
  flex-grow: 1;
}
.blue-intro__slider-card-content {
  padding: 5rem;
  min-height: 56rem;
  gap: 2.4rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-card-content {
    gap: 1.6rem;
    padding: 3.2rem 2rem 4.8rem;
  }
}
.blue-intro__slider-card-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.blue-intro__slider-card-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blue-intro__slider-card-title {
  font-style: normal;
  font-weight: 400;
  font-size: 9rem;
  line-height: 100%;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-card-title {
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    line-height: 110%;
    letter-spacing: -0.05em;
  }
}
.blue-intro__slider-card-title b {
  color: #ffffff80;
  font-weight: inherit;
}
.blue-intro__slider-card-text {
  font-style: normal;
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 140%;
  letter-spacing: -0.03em;
  max-width: 64rem;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-card-text {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 120%;
    max-width: none;
  }
}
.blue-intro__slider-card-link {
  align-self: flex-start;
  margin-top: auto;
  padding: 2.2rem 5.5rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.6rem;
  border: 1px solid white;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  line-height: 100%;
  color: #fff;
  text-align: center;
  border-radius: 1.2rem;
  display: block;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-card-link {
    padding: 1.8rem 3.6rem;
    align-self: stretch;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    border-radius: 0.8rem;
  }
}
@media (hover: hover) {
  .blue-intro__slider-card-link:hover {
    background-color: #fff;
    color: var(--blue);
  }
}
.blue-intro__slider-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5.2rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-pagination {
    bottom: 2rem;
    gap: 0.4rem;
  }
}
@media only screen and (min-width: 641px) {
  .blue-intro__slider-pagination-bullet {
    flex-shrink: 0;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background-color: #fff6;
    transition: background-color 0.2s, transform 0.2s;
    cursor: pointer;
  }
  .blue-intro__slider-pagination-bullet.large {
    background-color: #fff;
    transform: scale(1.2);
  }
}
@media only screen and (max-width: 640px) {
  .blue-intro__slider-pagination-bullet {
    flex-shrink: 0;
    width: 0.8rem;
    height: 0.8rem;
    transition: background-color 0.2s, width 0.2s, height 0.2s;
    border-radius: 10rem;
    background-color: #ffffffb3;
  }
  .blue-intro__slider-pagination-bullet.large {
    background-color: #fff;
    width: 2.4rem;
    height: 0.8rem;
  }
  .blue-intro__slider-pagination-bullet.smaller {
    width: 0.6rem;
    height: 0.6rem;
  }
  .blue-intro__slider-pagination-bullet.small {
    width: 0.4rem;
    height: 0.4rem;
  }
}
@font-face {
  font-family: swiper-icons;
  src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(
    --swiper-wrapper-transition-timing-function,
    initial
  );
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal
  > .swiper-wrapper
  > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical
  > .swiper-wrapper
  > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
@keyframes plyr-progress {
  to {
    background-position: 25px 0;
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  direction: ltr;
  display: flex;
  flex-direction: column;
  font-family: inherit;
  font-family: var(--plyr-font-family, inherit);
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  line-height: 1.7;
  line-height: var(--plyr-line-height, 1.7);
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
  z-index: 0;
}
.plyr audio,
.plyr iframe,
.plyr video {
  display: block;
  height: 100%;
  width: 100%;
}
.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
}
.plyr:focus {
  outline: 0;
}
.plyr--full-ui {
  box-sizing: border-box;
}
.plyr--full-ui *,
.plyr--full-ui :after,
.plyr--full-ui :before {
  box-sizing: inherit;
}
.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
  touch-action: manipulation;
}
.plyr__badge {
  background: #4a5464;
  background: var(--plyr-badge-background, #4a5464);
  border-radius: 2px;
  border-radius: var(--plyr-badge-border-radius, 2px);
  color: #fff;
  color: var(--plyr-badge-text-color, #fff);
  font-size: 9px;
  font-size: var(--plyr-font-size-badge, 9px);
  line-height: 1;
  padding: 3px 4px;
}
.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}
.plyr__captions {
  animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  display: none;
  font-size: 13px;
  font-size: var(--plyr-font-size-small, 13px);
  left: 0;
  padding: 10px;
  padding: var(--plyr-control-spacing, 10px);
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}
.plyr__captions span:empty {
  display: none;
}
@media (min-width: 480px) {
  .plyr__captions {
    font-size: 15px;
    font-size: var(--plyr-font-size-base, 15px);
    padding: 20px;
    padding: calc(var(--plyr-control-spacing, 10px) * 2);
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: 18px;
    font-size: var(--plyr-font-size-large, 18px);
  }
}
.plyr--captions-active .plyr__captions {
  display: block;
}
.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(-40px);
  transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
}
.plyr__caption {
  background: #000c;
  background: var(--plyr-captions-background, #000c);
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: #fff;
  color: var(--plyr-captions-text-color, #fff);
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}
.plyr__caption div {
  display: inline;
}
.plyr__control {
  background: #0000;
  border: 0;
  border-radius: 4px;
  border-radius: var(--plyr-control-radius, 4px);
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
  position: relative;
  transition: all 0.3s ease;
}
.plyr__control svg {
  fill: currentColor;
  display: block;
  height: 18px;
  height: var(--plyr-control-icon-size, 18px);
  pointer-events: none;
  width: 18px;
  width: var(--plyr-control-icon-size, 18px);
}
.plyr__control:focus {
  outline: 0;
}
.plyr__control:focus-visible {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed
    var(
      --plyr-focus-visible-color,
      var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
    );
  outline-offset: 2px;
}
a.plyr__control {
  text-decoration: none;
}
.plyr__control.plyr__control--pressed .icon--not-pressed,
.plyr__control.plyr__control--pressed .label--not-pressed,
.plyr__control:not(.plyr__control--pressed) .icon--pressed,
.plyr__control:not(.plyr__control--pressed) .label--pressed,
a.plyr__control:after,
a.plyr__control:before {
  display: none;
}
.plyr--full-ui ::-webkit-media-controls {
  display: none;
}
.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}
.plyr__controls .plyr__progress__container {
  flex: 1;
  min-width: 0;
}
.plyr__controls .plyr__controls__item {
  margin-left: 2.5px;
  margin-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item:first-child {
  margin-left: 0;
  margin-right: auto;
}
.plyr__controls .plyr__controls__item.plyr__progress__container {
  padding-left: 2.5px;
  padding-left: calc(var(--plyr-control-spacing, 10px) / 4);
}
.plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 5px;
  padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);
}
.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,
.plyr__controls .plyr__controls__item.plyr__time + .plyr__time,
.plyr__controls .plyr__controls__item.plyr__time:first-child {
  padding-left: 0;
}
.plyr [data-plyr="airplay"],
.plyr [data-plyr="captions"],
.plyr [data-plyr="fullscreen"],
.plyr [data-plyr="pip"],
.plyr__controls:empty {
  display: none;
}
.plyr--airplay-supported [data-plyr="airplay"],
.plyr--captions-enabled [data-plyr="captions"],
.plyr--fullscreen-enabled [data-plyr="fullscreen"],
.plyr--pip-supported [data-plyr="pip"] {
  display: inline-block;
}
.plyr__menu {
  display: flex;
  position: relative;
}
.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}
.plyr__menu .plyr__control[aria-expanded="true"] svg {
  transform: rotate(90deg);
}
.plyr__menu .plyr__control[aria-expanded="true"] .plyr__tooltip {
  display: none;
}
.plyr__menu__container {
  animation: plyr-popup 0.2s ease;
  background: #ffffffe6;
  background: var(--plyr-menu-background, #ffffffe6);
  border-radius: 8px;
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: 0 1px 2px #00000026;
  box-shadow: var(--plyr-menu-shadow, 0 1px 2px #00000026);
  color: #4a5464;
  color: var(--plyr-menu-color, #4a5464);
  font-size: 15px;
  font-size: var(--plyr-font-size-base, 15px);
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}
.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.plyr__menu__container:after {
  border: 4px solid #0000;
  border-top-color: #ffffffe6;
  border: var(--plyr-menu-arrow-size, 4px) solid #0000;
  border-top-color: var(--plyr-menu-background, #ffffffe6);
  content: "";
  height: 0;
  position: absolute;
  right: 14px;
  right: calc(
    var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) *
      0.7 - var(--plyr-menu-arrow-size, 4px) / 2
  );
  top: 100%;
  width: 0;
}
.plyr__menu__container [role="menu"] {
  padding: 7px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container [role="menuitem"],
.plyr__menu__container [role="menuitemradio"] {
  margin-top: 2px;
}
.plyr__menu__container [role="menuitem"]:first-child,
.plyr__menu__container [role="menuitemradio"]:first-child {
  margin-top: 0;
}
.plyr__menu__container .plyr__control {
  align-items: center;
  color: #4a5464;
  color: var(--plyr-menu-color, #4a5464);
  display: flex;
  font-size: 13px;
  font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
  padding: 4.66667px 10.5px;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7/1.5)
    calc(var(--plyr-control-spacing, 10px) * 0.7 * 1.5);
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}
.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}
.plyr__menu__container .plyr__control:after {
  border: 4px solid #0000;
  border: var(--plyr-menu-item-arrow-size, 4px) solid #0000;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.plyr__menu__container .plyr__control--forward {
  padding-right: 28px;
  padding-right: calc(var(--plyr-control-spacing, 10px) * 0.7 * 4);
}
.plyr__menu__container .plyr__control--forward:after {
  border-left-color: #728197;
  border-left-color: var(--plyr-menu-arrow-color, #728197);
  right: 6.5px;
  right: calc(
    var(--plyr-control-spacing, 10px) * 0.7 * 1.5 -
      var(--plyr-menu-item-arrow-size, 4px)
  );
}
.plyr__menu__container .plyr__control--forward:focus-visible:after,
.plyr__menu__container .plyr__control--forward:hover:after {
  border-left-color: initial;
}
.plyr__menu__container .plyr__control--back {
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  margin: 7px;
  margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
  margin-bottom: 3.5px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) * 0.7/2);
  padding-left: 28px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7 * 4);
  position: relative;
  width: calc(100% - 14px);
  width: calc(100% - var(--plyr-control-spacing, 10px) * 0.7 * 2);
}
.plyr__menu__container .plyr__control--back:after {
  border-right-color: #728197;
  border-right-color: var(--plyr-menu-arrow-color, #728197);
  left: 6.5px;
  left: calc(
    var(--plyr-control-spacing, 10px) * 0.7 * 1.5 -
      var(--plyr-menu-item-arrow-size, 4px)
  );
}
.plyr__menu__container .plyr__control--back:before {
  background: #dcdfe5;
  background: var(--plyr-menu-back-border-color, #dcdfe5);
  box-shadow: 0 1px #fff;
  box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
  content: "";
  height: 1px;
  left: 0;
  margin-top: 3.5px;
  margin-top: calc(var(--plyr-control-spacing, 10px) * 0.7/2);
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}
.plyr__menu__container .plyr__control--back:focus-visible:after,
.plyr__menu__container .plyr__control--back:hover:after {
  border-right-color: initial;
}
.plyr__menu__container .plyr__control[role="menuitemradio"] {
  padding-left: 7px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);
}
.plyr__menu__container .plyr__control[role="menuitemradio"]:after,
.plyr__menu__container .plyr__control[role="menuitemradio"]:before {
  border-radius: 100%;
}
.plyr__menu__container .plyr__control[role="menuitemradio"]:before {
  background: #0000001a;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  margin-right: var(--plyr-control-spacing, 10px);
  transition: all 0.3s ease;
  width: 16px;
}
.plyr__menu__container .plyr__control[role="menuitemradio"]:after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}
.plyr__menu__container
  .plyr__control[role="menuitemradio"][aria-checked="true"]:before {
  background: #00b2ff;
  background: var(
    --plyr-control-toggle-checked-background,
    var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
  );
}
.plyr__menu__container
  .plyr__control[role="menuitemradio"][aria-checked="true"]:after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.plyr__menu__container
  .plyr__control[role="menuitemradio"]:focus-visible:before,
.plyr__menu__container .plyr__control[role="menuitemradio"]:hover:before {
  background: #23282f1a;
}
.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  margin-right: calc(var(--plyr-control-spacing, 10px) * 0.7 * -1 - -2px);
  overflow: hidden;
  padding-left: 24.5px;
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7 * 3.5);
  pointer-events: none;
}
.plyr--full-ui input[type="range"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #0000;
  border: 0;
  border-radius: 26px;
  border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
  color: #00b2ff;
  color: var(
    --plyr-range-fill-background,
    var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
  );
  display: block;
  height: 19px;
  height: calc(
    var(--plyr-range-thumb-active-shadow-width, 3px) * 2 +
      var(--plyr-range-thumb-height, 13px)
  );
  margin: 0;
  min-width: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}
.plyr--full-ui input[type="range"]::-webkit-slider-runnable-track {
  background: #0000;
  background-image: linear-gradient(90deg, currentColor 0, #0000 0);
  background-image: linear-gradient(
    to right,
    currentColor var(--value, 0),
    #0000 var(--value, 0)
  );
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
}
.plyr--full-ui input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
  box-shadow: var(
    --plyr-range-thumb-shadow,
    0 1px 1px #23282f26,
    0 0 0 1px #23282f33
  );
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  margin-top: -4px;
  margin-top: calc(
    (var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) /
      2 * -1
  );
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}
.plyr--full-ui input[type="range"]::-moz-range-track {
  background: #0000;
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
}
.plyr--full-ui input[type="range"]::-moz-range-thumb {
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
  box-shadow: var(
    --plyr-range-thumb-shadow,
    0 1px 1px #23282f26,
    0 0 0 1px #23282f33
  );
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}
.plyr--full-ui input[type="range"]::-moz-range-progress {
  background: currentColor;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
}
.plyr--full-ui input[type="range"]::-ms-track {
  color: #0000;
}
.plyr--full-ui input[type="range"]::-ms-fill-upper,
.plyr--full-ui input[type="range"]::-ms-track {
  background: #0000;
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
}
.plyr--full-ui input[type="range"]::-ms-fill-lower {
  background: #0000;
  background: currentColor;
  border: 0;
  border-radius: 2.5px;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
}
.plyr--full-ui input[type="range"]::-ms-thumb {
  background: #fff;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
  box-shadow: var(
    --plyr-range-thumb-shadow,
    0 1px 1px #23282f26,
    0 0 0 1px #23282f33
  );
  height: 13px;
  height: var(--plyr-range-thumb-height, 13px);
  margin-top: 0;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 13px;
  width: var(--plyr-range-thumb-height, 13px);
}
.plyr--full-ui input[type="range"]::-ms-tooltip {
  display: none;
}
.plyr--full-ui input[type="range"]::-moz-focus-outer {
  border: 0;
}
.plyr--full-ui input[type="range"]:focus {
  outline: 0;
}
.plyr--full-ui
  input[type="range"]:focus-visible::-webkit-slider-runnable-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed
    var(
      --plyr-focus-visible-color,
      var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
    );
  outline-offset: 2px;
}
.plyr--full-ui input[type="range"]:focus-visible::-moz-range-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed
    var(
      --plyr-focus-visible-color,
      var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
    );
  outline-offset: 2px;
}
.plyr--full-ui input[type="range"]:focus-visible::-ms-track {
  outline: 2px dashed #00b2ff;
  outline: 2px dashed
    var(
      --plyr-focus-visible-color,
      var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
    );
  outline-offset: 2px;
}
.plyr__poster {
  background-color: #000;
  background-color: var(
    --plyr-video-background,
    var(--plyr-video-background, #000)
  );
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}
.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}
.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped)
  .plyr__poster {
  display: none;
}
.plyr__time {
  font-size: 13px;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}
.plyr__time + .plyr__time:before {
  content: "⁄";
  margin-right: 10px;
  margin-right: var(--plyr-control-spacing, 10px);
}
@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr__tooltip {
  background: #fff;
  background: var(--plyr-tooltip-background, #fff);
  border-radius: 5px;
  border-radius: var(--plyr-tooltip-radius, 5px);
  bottom: 100%;
  box-shadow: 0 1px 2px #00000026;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px #00000026);
  color: #4a5464;
  color: var(--plyr-tooltip-color, #4a5464);
  font-size: 13px;
  font-size: var(--plyr-font-size-small, 13px);
  font-weight: 400;
  font-weight: var(--plyr-font-weight-regular, 400);
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
  opacity: 0;
  padding: 5px 7.5px;
  padding: calc(var(--plyr-control-spacing, 10px) / 2)
    calc(var(--plyr-control-spacing, 10px) / 2 * 1.5);
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
  white-space: nowrap;
  z-index: 2;
}
.plyr__tooltip:before {
  border-left: 4px solid #0000;
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
  border-right: 4px solid #0000;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
  border-top: 4px solid #fff;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid
    var(--plyr-tooltip-background, #fff);
  bottom: -4px;
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 0;
  z-index: 2;
}
.plyr .plyr__control:focus-visible .plyr__tooltip,
.plyr .plyr__control:hover .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%) scale(1);
}
.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}
.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translateY(10px) scale(0.8);
  transform-origin: 0 100%;
}
.plyr__controls > .plyr__control:first-child .plyr__tooltip:before,
.plyr__controls
  > .plyr__control:first-child
  + .plyr__control
  .plyr__tooltip:before {
  left: 16px;
  left: calc(
    var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) *
      0.7
  );
}
.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translateY(10px) scale(0.8);
  transform-origin: 100% 100%;
}
.plyr__controls > .plyr__control:last-child .plyr__tooltip:before {
  left: auto;
  right: 16px;
  right: calc(
    var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) *
      0.7
  );
  transform: translate(50%);
}
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls
  > .plyr__control:first-child
  + .plyr__control
  .plyr__tooltip--visible,
.plyr__controls
  > .plyr__control:first-child
  + .plyr__control:focus-visible
  .plyr__tooltip,
.plyr__controls
  > .plyr__control:first-child
  + .plyr__control:hover
  .plyr__tooltip,
.plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0) scale(1);
}
.plyr__progress {
  left: 6.5px;
  left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
  margin-right: 13px;
  margin-right: var(--plyr-range-thumb-height, 13px);
  position: relative;
}
.plyr__progress input[type="range"],
.plyr__progress__buffer {
  margin-left: -6.5px;
  margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  margin-right: -6.5px;
  margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
  width: calc(100% + 13px);
  width: calc(100% + var(--plyr-range-thumb-height, 13px));
}
.plyr__progress input[type="range"] {
  position: relative;
  z-index: 2;
}
.plyr__progress .plyr__tooltip {
  left: 0;
  max-width: 120px;
  overflow-wrap: break-word;
}
.plyr__progress__buffer {
  -webkit-appearance: none;
  background: #0000;
  border: 0;
  border-radius: 100px;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  margin-top: -2.5px;
  margin-top: calc((var(--plyr-range-track-height, 5px) / 2) * -1);
  padding: 0;
  position: absolute;
  top: 50%;
}
.plyr__progress__buffer::-webkit-progress-bar {
  background: #0000;
}
.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: 5px;
  min-width: var(--plyr-range-track-height, 5px);
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: 5px;
  min-width: var(--plyr-range-track-height, 5px);
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}
.plyr--loading .plyr__progress__buffer {
  animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(
    -45deg,
    #23282f99 25%,
    #0000 0,
    #0000 50%,
    #23282f99 0,
    #23282f99 75%,
    #0000 0,
    #0000
  );
  background-image: linear-gradient(
    -45deg,
    var(--plyr-progress-loading-background, #23282f99) 25%,
    #0000 25%,
    #0000 50%,
    var(--plyr-progress-loading-background, #23282f99) 50%,
    var(--plyr-progress-loading-background, #23282f99) 75%,
    #0000 75%,
    #0000
  );
  background-repeat: repeat-x;
  background-size: 25px 25px;
  background-size: var(--plyr-progress-loading-size, 25px)
    var(--plyr-progress-loading-size, 25px);
  color: #0000;
}
.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: #ffffff40;
  background-color: var(--plyr-video-progress-buffered-background, #ffffff40);
}
.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: #c1c8d199;
  background-color: var(--plyr-audio-progress-buffered-background, #c1c8d199);
}
.plyr__progress__marker {
  background-color: #fff;
  background-color: var(--plyr-progress-marker-background, #fff);
  border-radius: 1px;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3px;
  width: var(--plyr-progress-marker-width, 3px);
  z-index: 3;
}
.plyr__volume {
  align-items: center;
  display: flex;
  position: relative;
}
.plyr__volume input[type="range"] {
  margin-left: 5px;
  margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
  margin-right: 5px;
  margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
  max-width: 90px;
  min-width: 60px;
  position: relative;
  z-index: 2;
}
.plyr--audio {
  display: block;
}
.plyr--audio .plyr__controls {
  background: #fff;
  background: var(--plyr-audio-controls-background, #fff);
  border-radius: inherit;
  color: #4a5464;
  color: var(--plyr-audio-control-color, #4a5464);
  padding: 10px;
  padding: var(--plyr-control-spacing, 10px);
}
.plyr--audio .plyr__control:focus-visible,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded="true"] {
  background: #00b2ff;
  background: var(
    --plyr-audio-control-background-hover,
    var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
  );
  color: #fff;
  color: var(--plyr-audio-control-color-hover, #fff);
}
.plyr--full-ui.plyr--audio input[type="range"]::-webkit-slider-runnable-track {
  background-color: #c1c8d199;
  background-color: var(
    --plyr-audio-range-track-background,
    var(--plyr-audio-progress-buffered-background, #c1c8d199)
  );
}
.plyr--full-ui.plyr--audio input[type="range"]::-moz-range-track {
  background-color: #c1c8d199;
  background-color: var(
    --plyr-audio-range-track-background,
    var(--plyr-audio-progress-buffered-background, #c1c8d199)
  );
}
.plyr--full-ui.plyr--audio input[type="range"]::-ms-track {
  background-color: #c1c8d199;
  background-color: var(
    --plyr-audio-range-track-background,
    var(--plyr-audio-progress-buffered-background, #c1c8d199)
  );
}
.plyr--full-ui.plyr--audio input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a);
}
.plyr--full-ui.plyr--audio input[type="range"]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a);
}
.plyr--full-ui.plyr--audio input[type="range"]:active::-ms-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a);
}
.plyr--audio .plyr__progress__buffer {
  color: #c1c8d199;
  color: var(--plyr-audio-progress-buffered-background, #c1c8d199);
}
.plyr--video {
  overflow: hidden;
}
.plyr--video.plyr--menu-open {
  overflow: visible;
}
.plyr__video-wrapper {
  background: #000;
  background: var(--plyr-video-background, var(--plyr-video-background, #000));
  border-radius: inherit;
  height: 100%;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .plyr__video-embed,
  .plyr__video-wrapper--fixed-ratio {
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
  }
}
.plyr__video-embed iframe,
.plyr__video-wrapper--fixed-ratio video {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  transform: translateY(-38.28125%);
}
.plyr--video .plyr__controls {
  background: linear-gradient(#0000, #000000bf);
  background: var(
    --plyr-video-controls-background,
    linear-gradient(#0000, #000000bf)
  );
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  color: var(--plyr-video-control-color, #fff);
  left: 0;
  padding: 5px;
  padding: calc(var(--plyr-control-spacing, 10px) / 2);
  padding-top: 20px;
  padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}
@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px);
    padding-top: 35px;
    padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);
  }
}
.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}
.plyr--video .plyr__control:focus-visible,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[aria-expanded="true"] {
  background: #00b2ff;
  background: var(
    --plyr-video-control-background-hover,
    var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
  );
  color: #fff;
  color: var(--plyr-video-control-color-hover, #fff);
}
.plyr__control--overlaid {
  background: #00b2ff;
  background: var(
    --plyr-video-control-background-hover,
    var(--plyr-color-main, var(--plyr-color-main, #00b2ff))
  );
  border: 0;
  border-radius: 100%;
  color: #fff;
  color: var(--plyr-video-control-color, #fff);
  display: none;
  left: 50%;
  opacity: 0.9;
  padding: 15px;
  padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 2;
}
.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}
.plyr__control--overlaid:focus,
.plyr__control--overlaid:hover {
  opacity: 1;
}
.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}
.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}
.plyr--full-ui.plyr--video input[type="range"]::-webkit-slider-runnable-track {
  background-color: #ffffff40;
  background-color: var(
    --plyr-video-range-track-background,
    var(--plyr-video-progress-buffered-background, #ffffff40)
  );
}
.plyr--full-ui.plyr--video input[type="range"]::-moz-range-track {
  background-color: #ffffff40;
  background-color: var(
    --plyr-video-range-track-background,
    var(--plyr-video-progress-buffered-background, #ffffff40)
  );
}
.plyr--full-ui.plyr--video input[type="range"]::-ms-track {
  background-color: #ffffff40;
  background-color: var(
    --plyr-video-range-track-background,
    var(--plyr-video-progress-buffered-background, #ffffff40)
  );
}
.plyr--full-ui.plyr--video input[type="range"]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80);
}
.plyr--full-ui.plyr--video input[type="range"]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80);
}
.plyr--full-ui.plyr--video input[type="range"]:active::-ms-thumb {
  box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
  box-shadow: var(
      --plyr-range-thumb-shadow,
      0 1px 1px #23282f26,
      0 0 0 1px #23282f33
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80);
}
.plyr--video .plyr__progress__buffer {
  color: #ffffff40;
  color: var(--plyr-video-progress-buffered-background, #ffffff40);
}
.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}
.plyr:fullscreen video {
  height: 100%;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr:fullscreen .plyr__captions {
    font-size: 21px;
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}
.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  bottom: 0;
  height: 100%;
  left: 0;
  margin: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 10000000;
}
.plyr--fullscreen-fallback video {
  height: 100%;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}
.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}
.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}
@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: 21px;
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}
.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
.plyr__ads > div,
.plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}
.plyr__ads:after {
  background: #23282f;
  border-radius: 2px;
  bottom: 10px;
  bottom: var(--plyr-control-spacing, 10px);
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  right: var(--plyr-control-spacing, 10px);
  z-index: 3;
}
.plyr__ads:empty:after {
  display: none;
}
.plyr__cues {
  background: currentColor;
  display: block;
  height: 5px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  z-index: 3;
}
.plyr__preview-thumb {
  background-color: #fff;
  background-color: var(--plyr-tooltip-background, #fff);
  border-radius: 8px;
  border-radius: var(--plyr-menu-radius, 8px);
  bottom: 100%;
  box-shadow: 0 1px 2px #00000026;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px #00000026);
  margin-bottom: 10px;
  margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
  opacity: 0;
  padding: 3px;
  pointer-events: none;
  position: absolute;
  transform: translateY(10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
  z-index: 2;
}
.plyr__preview-thumb--is-shown {
  opacity: 1;
  transform: translate(0) scale(1);
}
.plyr__preview-thumb:before {
  border-left: 4px solid #0000;
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
  border-right: 4px solid #0000;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
  border-top: 4px solid #fff;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid
    var(--plyr-tooltip-background, #fff);
  bottom: -4px;
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: "";
  height: 0;
  left: calc(50% + var(--preview-arrow-offset));
  position: absolute;
  transform: translate(-50%);
  width: 0;
  z-index: 2;
}
.plyr__preview-thumb__image-container {
  background: #c1c8d1;
  border-radius: 7px;
  border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.plyr__preview-thumb__image-container img,
.plyr__preview-thumb__image-container:after {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.plyr__preview-thumb__image-container:after {
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px #00000026;
  content: "";
  pointer-events: none;
}
.plyr__preview-thumb__image-container img {
  max-height: none;
  max-width: none;
}
.plyr__preview-thumb__time-container {
  background: linear-gradient(#0000, #000000bf);
  background: var(
    --plyr-video-controls-background,
    linear-gradient(#0000, #000000bf)
  );
  border-bottom-left-radius: 7px;
  border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  border-bottom-right-radius: 7px;
  border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  bottom: 0;
  left: 0;
  line-height: 1.1;
  padding: 20px 6px 6px;
  position: absolute;
  right: 0;
  z-index: 3;
}
.plyr__preview-thumb__time-container span {
  color: #fff;
  font-size: 13px;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}
.plyr__preview-scrubbing {
  bottom: 0;
  filter: blur(1px);
  height: 100%;
  left: 0;
  margin: auto;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 1;
}
.plyr__preview-scrubbing--is-shown {
  opacity: 1;
}
.plyr__preview-scrubbing img {
  height: 100%;
  left: 0;
  max-height: none;
  max-width: none;
  object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%;
}
.plyr--no-transition {
  transition: none !important;
}
.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  border: 0 !important;
  height: 1px !important;
  overflow: hidden;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}
.plyr [hidden] {
  display: none !important;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-target {
  position: relative;
}
.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}
.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}
.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}
.noUi-horizontal .noUi-origin {
  height: 0;
}
.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
}
.noUi-touch-area {
  height: 100%;
  width: 100%;
}
.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}
.noUi-state-drag * {
  cursor: inherit !important;
}
.noUi-horizontal {
  height: 18px;
}
.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}
.noUi-vertical {
  width: 18px;
}
.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}
.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}
.noUi-target {
  background: #fafafa;
  border-radius: 4px;
  border: 1px solid #d3d3d3;
  box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb;
}
.noUi-connects {
  border-radius: 3px;
}
.noUi-connect {
  background: #3fb8af;
}
.noUi-draggable {
  cursor: ew-resize;
}
.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}
.noUi-handle {
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  cursor: default;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ebebeb, 0 3px 6px -3px #bbb;
}
.noUi-active {
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ddd, 0 3px 6px -3px #bbb;
}
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #e8e7e6;
  left: 14px;
  top: 6px;
}
.noUi-handle:after {
  left: 17px;
}
.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}
.noUi-vertical .noUi-handle:after {
  top: 17px;
}
[disabled] .noUi-connect {
  background: #b8b8b8;
}
[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-pips {
  position: absolute;
  color: #999;
}
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}
.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}
.noUi-marker {
  position: absolute;
  background: #ccc;
}
.noUi-marker-sub,
.noUi-marker-large {
  background: #aaa;
}
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}
.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}
.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}
.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}
.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}
.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}
.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translateY(-50%);
  padding-left: 25px;
}
.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translateY(50%);
}
.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}
.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}
.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}
.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}
.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%);
  left: 50%;
  bottom: 120%;
}
.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translateY(-50%);
  top: 50%;
  right: 120%;
}
.noUi-horizontal .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(50%, 0);
  transform: translate(50%);
  left: auto;
  bottom: 10px;
}
.noUi-vertical .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(0, -18px);
  transform: translateY(-18px);
  top: auto;
  right: 28px;
}
