@font-face {
  font-family: 'Euclid Square';
  src: url("fonts/EuclidSquare-Light.eot");
  src: local("Euclid Square Light"), local("EuclidSquare-Light"), url("fonts/EuclidSquare-Light.eot?#iefix") format("embedded-opentype"), url("fonts/EuclidSquare-Light.woff2") format("woff2"), url("fonts/EuclidSquare-Light.woff") format("woff"), url("fonts/EuclidSquare-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal; }
@font-face {
  font-family: 'Euclid Square';
  src: url("fonts/EuclidSquare-Regular.eot");
  src: local("Euclid Square Regular"), local("EuclidSquare-Regular"), url("fonts/EuclidSquare-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/EuclidSquare-Regular.woff2") format("woff2"), url("fonts/EuclidSquare-Regular.woff") format("woff"), url("fonts/EuclidSquare-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Euclid Square';
  src: url("fonts/EuclidSquare-Medium.eot");
  src: local("Euclid Square Medium"), local("EuclidSquare-Medium"), url("fonts/EuclidSquare-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/EuclidSquare-Medium.woff2") format("woff2"), url("fonts/EuclidSquare-Medium.woff") format("woff"), url("fonts/EuclidSquare-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }
@font-face {
  font-family: 'Roboto';
  src: url("fonts/Roboto-Medium.eot");
  src: local("Roboto Medium"), local("Roboto-Medium"), url("fonts/Roboto-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/Roboto-Medium.woff2") format("woff2"), url("fonts/Roboto-Medium.woff") format("woff"), url("fonts/Roboto-Medium.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
:root {
  font-size: 20px; }

ul, li {
  margin: 0;
  padding: 0;
  display: block; }

a {
  transition: .3s all;
  outline: none;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

button {
  transition: .6s all;
  border: none;
  outline: none;
  background: none;
  padding: 0; }

h1, h2, h3, h4, h5, p {
  margin: 0; }

input {
  outline: none;
  border-radius: 0; }
  input.error {
    color: red !important;
    border-color: red !important; }

html {
  scroll-behavior: smooth; }

body {
  font-family: 'Euclid Square', sans-serif;
  font-size: 0.8rem; }

.overflowH {
  overflow: hidden; }

::-webkit-scrollbar {
  width: .5rem;
  height: 0.5rem; }

::-webkit-scrollbar-track {
  background: #ddd; }

::-webkit-scrollbar-thumb {
  background: #403C91;
  border: 1px solid #ddd; }

.lazy {
  opacity: 0; }

.disabled {
  pointer-events: none; }

.container {
  width: 100%;
  padding: 0 3rem;
  max-width: 72rem;
  margin: 0 auto; }

.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #403C91;
  color: #fff;
  border-radius: .75rem; }
  .btn:hover {
    background: #3F39B6; }
  .btn-white {
    background: #fff;
    color: #403C91; }
    .btn-white:hover {
      background: #403C91;
      color: #fff; }

.section-title {
  font-family: "Roboto", sans-serif;
  font-size: 2rem;
  font-weight: 500; }

.trans span {
  display: none; }
  .trans span:first-child {
    display: inline-block; }

.irs {
  font-size: 0.6rem;
  margin-top: -.4rem;
  z-index: 2; }

.irs--flat {
  height: 2rem; }

.irs--flat .irs-line {
  height: .1rem;
  top: 1.25rem;
  background: transparent; }

.irs--flat .irs-handle {
  height: auto; }

.irs--flat .irs-max, .irs--flat .irs-min {
  display: none; }

.irs--flat .irs-bar {
  background: #403C91;
  height: .1rem;
  top: 1.25rem; }

.irs--flat .irs-from, .irs--flat .irs-to, .irs--flat .irs-single {
  background: #403C91;
  font-size: 0;
  border-radius: 50%;
  width: .8rem;
  height: .8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: .9rem;
  z-index: 5; }
  .irs--flat .irs-from::before, .irs--flat .irs-to::before, .irs--flat .irs-single::before {
    display: none; }

.pagination {
  display: flex;
  margin-top: 3rem;
  overflow: hidden;
  justify-content: center;
  gap: .5rem; }
  .pagination .page-item {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    .pagination .page-item.active {
      pointer-events: none; }
      .pagination .page-item.active .page-link {
        color: #fff;
        background: #403C91; }
    .pagination .page-item.disabled {
      pointer-events: none;
      opacity: .7; }
  .pagination .page-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    color: #000;
    background: #fff;
    font-size: 0.9rem;
    font-weight: 500; }
    .pagination .page-link:hover {
      color: #403C91; }
    .pagination .page-link svg {
      width: 1.2rem;
      height: 1.2rem; }

.page-head {
  padding: 10.5rem 0 2rem;
  background: #fff;
  margin-bottom: 3.5rem; }
  .page-head .section-title {
    margin-bottom: 0; }
.page + .consult {
  padding: 0 0 2rem;
  background: #F1F4FA; }
  .page + .consult .consult-card {
    background: #fff; }

.arrows {
  display: flex;
  gap: .85rem; }
  .arrows span {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    color: #000;
    background: #D9D9D9; }
    .arrows span svg {
      width: .6rem;
      height: 0.6rem; }
    .arrows span:hover {
      color: #fff; }

.popup-slider {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 7;
  background: rgba(0, 0, 0, 0.5);
  display: none; }
  .popup-slider__open {
    cursor: pointer; }
  .popup-slider__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    border-radius: 50%;
    height: 2.5rem;
    color: #fff;
    background: #403C91;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    z-index: 3; }
    .popup-slider__close:hover {
      background: #403C91; }
    .popup-slider__close svg {
      width: .5rem;
      height: .5rem; }
  .popup-slider__item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    height: 100vh;
    width: 100%;
    position: relative;
    z-index: 1;
    background-size: cover; }
    .popup-slider__item::after {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      content: '';
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      z-index: -1;
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px); }
    .popup-slider__item img {
      display: block;
      width: 90% !important;
      height: 100%;
      object-fit: contain; }
  .popup-slider__arrows {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1rem;
    z-index: 2; }

.breadcrumbs {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 3;
  top: 5rem; }
  .breadcrumbs .project-breadcrumbs a:last-child {
    pointer-events: none; }

@keyframes svgPulse {
  0% {
    opacity: 0; }
  50% {
    opacity: .8; }
  100% {
    opacity: 0; } }
@keyframes lds-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes timing {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  7% {
    opacity: 1;
    transform: translateY(0); }
  22% {
    opacity: 1;
    transform: translateY(0); }
  32% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 0; } }
@keyframes preloaderLogo {
  50% {
    opacity: .5; }
  100% {
    opacity: 1;
    transform: none; } }
@keyframes pulse-btn {
  0% {
    box-shadow: 0 0 0 0 rgba(64, 60, 145, 0.5); }
  70% {
    box-shadow: 0 0 0 1rem rgba(255, 121, 63, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 121, 63, 0); } }
.preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #403C91;
  background-size: cover;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center; }
  .preloader__logo {
    width: 24rem;
    animation: preloaderLogo 1.5s linear forwards;
    transform: scale(0.7);
    opacity: 0; }
    .preloader__logo img {
      width: 100%;
      display: block; }

.fixed-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: .6s all;
  cursor: pointer;
  user-select: none;
  position: fixed;
  bottom: 5.5rem;
  right: 1rem;
  z-index: 5;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #fff;
  color: #403C91;
  animation: pulse-btn 2s infinite;
  width: 3rem;
  height: 3rem;
  border: 1px solid #403C91; }
  .fixed-btn:hover {
    background: #F1F4FA; }
  .fixed-btn svg {
    width: .8rem; }

.feedback {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 7;
  background: rgba(64, 60, 145, 0.75);
  display: none; }
  .feedback-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 2.1rem;
    border-radius: 1rem;
    background: #fff;
    width: 22rem;
    box-shadow: 0px 0.5rem 2rem 0px rgba(0, 0, 0, 0.1);
    border-bottom: 0.5rem solid #403C91; }
  .feedback__close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -3.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none; }
    .feedback__close:hover {
      background: #F1F4FA; }
    .feedback__close img {
      width: 1rem; }
  .feedback__title {
    font-weight: 400;
    font-family: "Roboto", sans-serif;
    margin-bottom: 1.4rem;
    font-size: 1.8rem;
    text-align: center;
    color: #403C91; }
  .feedback__text {
    font-size: 0.7rem;
    line-height: 150%;
    text-align: center; }
  .feedback-form {
    margin: 2rem 0 0.8rem; }
    .feedback-form input {
      width: 100%;
      height: 3.5rem;
      margin-bottom: .8rem;
      padding: 0 1rem;
      background: #fff;
      border-radius: .75rem;
      border: 1px solid #E1E1E1;
      text-align: center;
      font-weight: 400; }
      .feedback-form input::placeholder {
        color: #E1E1E1; }
      .feedback-form input:focus {
        border-color: #403C91; }
    .feedback-form .btn {
      width: 100%;
      height: 3.5rem;
      margin-top: .4rem; }
  .feedback__agree {
    font-size: 0.7rem;
    text-align: center;
    max-width: 13rem;
    margin: 0 auto; }
  .feedback-done {
    display: none; }
    .feedback-done .feedback__text {
      margin-bottom: 1rem;
      padding: 0 1rem; }
  .feedback__img {
    margin: 3rem 0 2.5rem;
    text-align: center; }
    .feedback__img img {
      display: inline-block;
      width: 9rem; }

.filter-layer {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  background: rgba(64, 60, 145, 0.75);
  display: none; }
.filter-head, .filter__open {
  display: none; }
.filter-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem; }
  .filter-row:last-child {
    margin-bottom: 0; }
.filter-item {
  width: calc(33.333% - 1rem); }
.filter__name {
  color: #B7B7B7;
  font-size: 0.7rem;
  margin-bottom: 0.5rem; }
.filter-rooms {
  display: flex;
  gap: 1rem; }
  .filter-rooms label {
    display: inline-flex;
    width: 3rem;
    height: 3rem; }
    .filter-rooms label input {
      display: none; }
      .filter-rooms label input:checked + span {
        background: #403C91;
        color: #fff; }
    .filter-rooms label span {
      width: 100%;
      height: 100%;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      background: #F1F4FA;
      font-size: 1rem;
      border-radius: .75rem; }
      .filter-rooms label span:hover {
        color: #000; }
.filter .customSelect {
  position: relative;
  z-index: auto; }
  .filter .customSelect__option--value {
    height: 3rem;
    width: 100%;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    color: #000;
    background: #F1F4FA;
    white-space: normal;
    line-height: 1.1;
    font-size: 0.8rem;
    border-radius: .75rem;
    border: none; }
    .filter .customSelect__option--value::after {
      background-image: url(../img/icons/arrow-down-black.svg);
      width: 1.2rem;
      height: 1.2rem; }
    .filter .customSelect__option--value:hover {
      color: #403C91; }
  .filter .customSelect__option {
    color: #000;
    padding: 0 1rem;
    height: 3rem;
    display: flex;
    align-items: center;
    border-radius: .75rem; }
  .filter .customSelect--active .customSelect__option--value:hover, .filter .customSelect--active .customSelect__option--value:focus {
    background: #F1F4FA;
    color: #403C91; }
  .filter .customSelect--active .customSelect__option--value {
    border-radius: .75rem; }
    .filter .customSelect--active .customSelect__option--value:hover {
      color: #000; }
  .filter .customSelect__dropdown {
    border-radius: .75rem;
    background: #F1F4FA;
    border: 1px solid #F1F4FA !important;
    box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.1);
    z-index: 4;
    padding: 0; }
    .filter .customSelect__dropdown::-webkit-scrollbar {
      width: .3rem; }
    .filter .customSelect__dropdown .customSelect__option {
      border-radius: 0;
      color: #000;
      font-size: 0.8rem;
      height: 1.7rem; }
      .filter .customSelect__dropdown .customSelect__option:hover {
        background: #fff;
        color: #403C91; }
  .filter .customSelect button:disabled {
    pointer-events: none;
    color: #ccc; }
.filter-price {
  height: 3rem;
  border-radius: .75rem;
  background: #F1F4FA;
  padding: 1rem; }
  .filter-price input {
    border: none;
    background: transparent; }
  .filter-price__info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    .filter-price__info img {
      width: 1.2rem;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
  .filter-price__item {
    font-size: 0.6rem; }
    .filter-price__item span {
      font-size: 0.8rem; }
.filter-type {
  display: flex;
  border: 1px solid #403C91;
  border-radius: .75rem;
  overflow: hidden;
  height: 3rem;
  font-size: 0.9rem; }
  .filter-type label {
    width: 50%;
    display: flex; }
    .filter-type label input {
      display: none; }
      .filter-type label input:checked + span {
        background: #403C91;
        color: #fff; }
    .filter-type label span {
      width: 100%;
      height: 100%;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      color: #403C91; }
      .filter-type label span:hover {
        background: #F1F4FA; }
.filter-class {
  display: flex;
  gap: 1.5rem; }
  .filter-class label {
    height: 3rem;
    width: 6.5rem; }
    .filter-class label input {
      display: none; }
      .filter-class label input:checked + span {
        border-radius: 3rem;
        background: #403C91;
        color: #fff; }
    .filter-class label span {
      width: 100%;
      height: 100%;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      border: 1px solid #403C91;
      border-radius: .75rem; }
      .filter-class label span:hover {
        background: #F1F4FA; }
.filter-check {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  gap: .75rem;
  font-weight: 300; }
  .filter-check input {
    appearance: none;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    border: 0.2rem solid #F1F4FA;
    background: #F1F4FA;
    transition: .6s all; }
    .filter-check input:checked {
      background: #403C91; }
.filter-btns {
  display: flex;
  align-items: center;
  gap: 1.5rem; }
.filter__reset {
  pointer-events: none;
  color: #B7B7B7;
  display: flex;
  align-items: center;
  gap: .5rem; }
  .filter__reset svg {
    width: 0.9rem;
    height: 0.9rem; }
  .filter__reset.active {
    pointer-events: auto;
    color: #000; }
    .filter__reset.active svg {
      color: #403C91; }
  .filter__reset:hover {
    color: #403C91; }
.filter__result {
  width: 8.25rem;
  height: 3rem; }

.header {
  position: fixed;
  transition: .6s all;
  height: 5rem;
  background: #fff;
  left: 0;
  top: 0;
  z-index: 6;
  width: 100%; }
  .header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; }
  .header__logo {
    width: 10rem; }
    .header__logo img {
      width: 100%;
      display: block; }
  .header-nav {
    display: flex;
    align-items: center;
    gap: 1.5rem; }
  .header-menu {
    display: flex;
    gap: 2.4rem;
    margin-right: 1.2rem; }
    .header-menu a {
      color: #000; }
      .header-menu a:hover {
        color: #403C91; }
  .header__lang {
    padding: 0 0.5rem;
    height: 2.6rem;
    border-radius: 3rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #403C91;
    border: 1px solid #403C91;
    text-transform: uppercase;
    background: #F1F4FA; }
    .header__lang:hover {
      background: #403C91;
      color: #fff; }
    .header__lang img {
      width: 1.6rem; }
  .header__tel {
    height: 2.6rem;
    border-radius: 2.6rem;
    width: 10rem;
    gap: .4rem; }
    .header__tel svg {
      width: 1.1rem;
      height: 1.1rem; }
  .header-project {
    background: transparent; }
    .header-project .header__logo {
      filter: invert(100%) grayscale(100%) brightness(200%); }
    .header-project .header-menu a {
      color: #fff; }
      .header-project .header-menu a:hover {
        color: #403C91; }
    .header-project.scrolled {
      background: #fff; }
      .header-project.scrolled .header__logo {
        filter: none; }
      .header-project.scrolled .header-menu a {
        color: #000; }
        .header-project.scrolled .header-menu a:hover {
          color: #403C91; }
  .header.scrolled {
    height: 4rem;
    box-shadow: 0px 0.25rem 0.5rem 0px rgba(0, 0, 0, 0.05); }
  .header-floor .header__tel {
    border: 1px solid #fff; }
  .header-floor .header__lang:hover {
    background: #403C91; }
  .header-floor .header-menu li a:hover {
    color: #403C91; }

.main {
  padding: 6.5rem 0 2.5rem;
  background: #F1F4FA; }
  .main-wrap {
    display: flex;
    gap: 1.5rem; }
  .main .owl-dots {
    position: absolute;
    display: flex;
    z-index: 2;
    gap: .4rem; }
    .main .owl-dots .owl-dot {
      border: 1px solid transparent;
      padding: .1rem !important;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border-radius: 50%; }
      .main .owl-dots .owl-dot span {
        width: 0.4rem;
        height: 0.4rem;
        border-radius: 50%;
        background: #C9C9C9; }
  .main-slider {
    width: calc(67% - .75rem);
    position: relative; }
    .main-slider__item {
      height: 25.5rem;
      border-radius: 1.5rem;
      position: relative;
      z-index: 1;
      overflow: hidden;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 2rem 2rem 6.5rem; }
    .main-slider__img {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: -1; }
      .main-slider__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .main-slider__title {
      font-family: "Roboto", sans-serif;
      font-size: 2.4rem;
      max-width: 26rem;
      margin-bottom: 1.2rem; }
    .main-slider__text {
      font-size: 1rem; }
    .main-slider__link {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: 2; }
    .main-slider .owl-dots {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 2rem; }
      .main-slider .owl-dots .owl-dot.active {
        border-color: #fff; }
        .main-slider .owl-dots .owl-dot.active span {
          background: #fff; }
  .main-side {
    width: calc(33% - .75rem);
    position: relative; }
    .main-side__item {
      height: 25.5rem;
      border-radius: 1.5rem;
      position: relative;
      z-index: 1;
      overflow: hidden;
      padding: 1.5rem 1rem;
      color: #fff; }
    .main-side__img {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: -1; }
      .main-side__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .main-side__title {
      font-size: 1.6rem;
      font-family: "Roboto", sans-serif;
      margin-bottom: 1rem; }
    .main-side__text {
      line-height: 1.37; }
    .main-side__link {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: 2; }
    .main-side .owl-dots {
      bottom: 1.5rem;
      left: 1.5rem; }
      .main-side .owl-dots .owl-dot.active {
        border-color: #403C91; }
        .main-side .owl-dots .owl-dot.active span {
          background: #403C91; }

.choose {
  padding-top: 2.5rem; }
  .choose .section-title {
    margin-bottom: 2.8rem; }
  .choose-filter {
    margin-bottom: 2.5rem; }
  .choose-more {
    margin-top: 2.5rem;
    text-align: center; }
    .choose-more a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      height: 2.6rem;
      width: 11.1rem;
      border-radius: .75rem;
      border: 1px solid #403C91;
      color: #000; }
      .choose-more a:hover {
        background: #403C91;
        color: #fff; }
  .choose-words {
    display: none; }
  .choose-no {
    height: 20rem;
    display: none; }
    .choose-no__text {
      height: 100%;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.5rem;
      font-weight: 500; }

.projects-list {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap; }
.projects-item {
  width: calc(33.3333% - 1rem);
  border-radius: 1.25rem;
  padding: 0.5rem;
  background: #F1F4FA;
  border: 1px solid #F1F4FA;
  position: relative; }
  .projects-item:hover {
    border-color: #403C91; }
  .projects-item__img {
    height: 17.5rem;
    border-radius: .75rem;
    overflow: hidden; }
    .projects-item__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .projects-item__head {
    position: absolute;
    top: 0;
    padding: 1.25rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    left: 0; }
    .projects-item__head span {
      height: 1.25rem;
      padding: 0 0.75rem;
      border-radius: 2rem;
      display: inline-flex;
      align-items: center;
      font-size: 0.6rem; }
      .projects-item__head span:nth-child(1) {
        background: #fff; }
      .projects-item__head span:nth-child(2) {
        color: #fff;
        background: rgba(17, 29, 59, 0.6);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px); }
  .projects-item__wrap {
    padding: 1rem 0.5rem .5rem; }
  .projects-item__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem; }
  .projects-item__name {
    font-size: 1.1rem;
    font-weight: 500; }
  .projects-item__price {
    font-size: 0.75rem; }
  .projects-item__text {
    font-weight: 300;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    height: 1rem;
    margin-bottom: .8rem; }
  .projects-item__info {
    font-size: 0.75rem;
    height: 1.5rem;
    position: relative; }
    .projects-item__info li {
      display: flex;
      align-items: center;
      gap: .25rem;
      height: 1.5rem;
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      animation: timing 12s infinite;
      width: 100%;
      opacity: 0; }
      .projects-item__info li:nth-child(1) {
        animation-delay: 0s; }
      .projects-item__info li:nth-child(2) {
        animation-delay: 3s; }
      .projects-item__info li:nth-child(3) {
        animation-delay: 6s; }
      .projects-item__info li:nth-child(4) {
        animation-delay: 9s; }
      .projects-item__info li:nth-child(5) {
        animation-delay: 12s; }
      .projects-item__info li:nth-child(6) {
        animation-delay: 15s; }
      .projects-item__info li:nth-child(7) {
        animation-delay: 18s; }
      .projects-item__info li:nth-child(8) {
        animation-delay: 21s; }
      .projects-item__info li:nth-child(9) {
        animation-delay: 24s; }
      .projects-item__info li:nth-child(10) {
        animation-delay: 27s; }
      .projects-item__info li div {
        display: flex;
        align-items: center;
        gap: .25rem;
        color: #8694B1; }
      .projects-item__info li img {
        width: 0.95rem; }
      .projects-item__info li::before {
        width: .35rem;
        height: 0.35rem;
        border-radius: 50%;
        background: #FF6610;
        content: '';
        margin: 0 .3rem; }
  .projects-item__link {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute; }
.projects-page {
  background: #F1F4FA;
  padding-bottom: 5rem; }
  .projects-page .projects-item {
    background: #fff; }

.advantages {
  padding-top: 2.5rem; }
  .advantages .section-title {
    margin-bottom: 2.9rem; }
  .advantages-list {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap; }
  .advantages-item {
    width: calc(33.3333% - 1rem);
    border-radius: 1.25rem;
    background: #F1F4FA;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    transition: .6s all; }
    .advantages-item:hover {
      background: #403C91; }
      .advantages-item:hover .advantages__ico, .advantages-item:hover .advantages__title, .advantages-item:hover .advantages__text {
        color: #fff; }
      .advantages-item:hover .advantages__link {
        background: #fff; }
  .advantages__ico {
    color: #403C91;
    margin-bottom: 1.2rem;
    transition: .6s all; }
    .advantages__ico svg {
      width: 5rem;
      height: 5rem; }
  .advantages__title {
    color: #000;
    margin-bottom: 0.6rem;
    transition: .6s all;
    font-size: 1.5rem;
    max-width: 14rem;
    height: 3.5rem; }
  .advantages__text {
    font-size: 0.9rem;
    line-height: 1.15rem;
    transition: .6s all;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 8;
    height: 9.2rem;
    color: #8C94A8; }

.consult {
  padding: 5rem 0 3.5rem; }
  .consult-card {
    background: #F1F4FA;
    padding: 2rem;
    display: flex;
    justify-content: space-between;
    border-radius: 1.25rem; }
  .consult-form {
    width: 26rem; }
    .consult-form__choose {
      display: flex;
      border: 1px solid #403C91;
      border-radius: .75rem;
      overflow: hidden;
      height: 2.5rem;
      font-size: 0.9rem;
      width: 21rem;
      margin-bottom: 2.5rem; }
      .consult-form__choose label {
        width: 50%;
        display: flex; }
        .consult-form__choose label input {
          display: none; }
          .consult-form__choose label input:checked + span {
            background: #403C91;
            color: #fff; }
        .consult-form__choose label span {
          width: 100%;
          height: 100%;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          transition: .6s all;
          cursor: pointer;
          user-select: none;
          color: #403C91; }
          .consult-form__choose label span:hover {
            background: #F1F4FA; }
    .consult-form > input {
      width: 100%;
      height: 3rem;
      margin-bottom: 1.5rem;
      padding: 0 1rem;
      background: #fff;
      border-radius: .75rem;
      border: 1px solid #E1E1E1; }
      .consult-form > input::placeholder {
        color: #E1E1E1; }
      .consult-form > input:focus {
        border-color: #403C91; }
    .consult-form .btn {
      margin-top: 0.5rem;
      height: 3rem;
      width: 13.2rem; }
  .consult .section-title {
    margin-bottom: 2.9rem; }
  .consult-info {
    width: 40%;
    flex-shrink: 0;
    background: #403C91 url(../img/consult.png) center center no-repeat;
    background-size: cover;
    color: #fff;
    padding: 3.7rem 1.5rem;
    border-radius: .75rem;
    font-size: 1rem; }
    .consult-info p {
      max-width: 20rem;
      margin-bottom: 1.5rem; }

.news {
  background: #F1F4FA;
  padding: 3rem 0 1rem; }
  .news .section-title {
    margin-bottom: 2.5rem; }
  .news-list {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap; }
  .news-item {
    width: calc(25% - 1.125rem);
    border-radius: 1.25rem;
    transition: .6s all;
    background: #fff;
    padding: 1.25rem;
    position: relative;
    height: 13.6rem; }
    .news-item:nth-child(1), .news-item:nth-child(2) {
      width: calc(50% - .75rem); }
      .news-item:nth-child(1) .news-item__title, .news-item:nth-child(2) .news-item__title {
        height: auto;
        max-width: none;
        font-size: 1.5rem;
        line-height: normal;
        margin-bottom: 1.3rem; }
      .news-item:nth-child(1) .news-item__text, .news-item:nth-child(2) .news-item__text {
        font-size: 0.9rem;
        max-width: 27rem;
        line-height: 1.15rem;
        height: 2.3rem; }
    .news-item:hover {
      background: #403C91; }
      .news-item:hover .news-item__title, .news-item:hover .news-item__text, .news-item:hover .news-item__date {
        color: #fff; }
    .news-item__title {
      color: #000;
      margin-bottom: 1rem;
      transition: .6s all;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      font-size: 1.1rem;
      height: 2.8rem;
      line-height: 1.4rem;
      max-width: 11rem; }
    .news-item__text {
      transition: .6s all;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      height: 2rem;
      line-height: 1rem;
      color: #8C94A8; }
    .news-item__date {
      position: absolute;
      bottom: 1.25rem;
      left: 1.25rem;
      color: #B7BCC9;
      transition: .6s all; }
    .news-item__link {
      position: absolute;
      right: 1.25rem;
      bottom: 1.25rem;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: 1px solid #403C91;
      border-radius: 50%;
      background: #fff;
      width: 3rem;
      height: 3rem; }
      .news-item__link img {
        width: 1.2rem; }
  .news-page {
    padding-bottom: 4rem;
    padding-top: 0; }
    .news-page .section-title {
      margin-bottom: 0 !important; }
    .news-page .news-item:nth-child(6n + 5), .news-page .news-item:nth-child(6n + 6) {
      width: calc(50% - .75rem); }
      .news-page .news-item:nth-child(6n + 5) .news-item__title, .news-page .news-item:nth-child(6n + 6) .news-item__title {
        height: auto;
        max-width: none;
        font-size: 1.5rem;
        line-height: normal;
        margin-bottom: 1.3rem; }
      .news-page .news-item:nth-child(6n + 5) .news-item__text, .news-page .news-item:nth-child(6n + 6) .news-item__text {
        font-size: 0.9rem;
        max-width: 27rem;
        line-height: 1.15rem;
        height: 2.3rem; }
  .news-single {
    padding: 10.5rem 0 5rem;
    background: #fff; }
    .news-single .container {
      display: flex;
      gap: 1.5rem;
      align-items: flex-start; }
    .news-single__main {
      width: calc(100% - 17rem); }
    .news-single .section-title {
      margin-bottom: 1.25rem; }
    .news-single__date {
      color: #B7BCC9;
      margin-bottom: 1.5rem; }
    .news-single__img {
      width: 100%;
      margin-bottom: 1.5rem; }
      .news-single__img img {
        width: 100%;
        display: block;
        border-radius: 1.5rem; }
    .news-single__content {
      font-size: 0.9rem;
      line-height: 1.5; }
      .news-single__content ul, .news-single__content ol {
        padding-left: 1.5rem; }
      .news-single__content li {
        display: list-item; }
    .news-single__side {
      width: 15.5rem; }
      .news-single__side .news-item {
        width: 100%;
        background: #F1F4FA;
        margin-bottom: 1rem; }
        .news-single__side .news-item:hover {
          background: #403C91; }
        .news-single__side .news-item:nth-child(1) .news-item__title, .news-single__side .news-item:nth-child(2) .news-item__title {
          margin-bottom: 1rem;
          font-size: 1.1rem;
          height: 2.8rem;
          line-height: 1.4rem;
          max-width: 11rem; }
        .news-single__side .news-item:nth-child(1) .news-item__text, .news-single__side .news-item:nth-child(2) .news-item__text {
          height: 2rem;
          line-height: 1rem;
          font-size: 0.8rem; }
    .news-single + .consult {
      padding-top: 2.5rem; }

.project {
  padding-bottom: 6.5rem; }
  .project-main {
    height: 100vh;
    position: relative;
    z-index: 1;
    color: #fff;
    padding: 7rem 0 7.5rem; }
    .project-main .container {
      height: 100%; }
  .project-slider {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: -1; }
    .project-slider::after {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      content: '';
      background: rgba(0, 0, 0, 0.45); }
    .project-slider__item {
      height: 100vh; }
      .project-slider__item img, .project-slider__item video {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .project-slider .owl-dots {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 2.5rem;
      display: flex;
      z-index: 2;
      gap: .5rem; }
      .project-slider .owl-dots .owl-dot {
        width: 0.4rem;
        height: 0.4rem;
        border-radius: 50%;
        background: rgba(238, 238, 238, 0.5); }
        .project-slider .owl-dots .owl-dot.active {
          background: #403C91; }
  .project-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    position: relative; }
  .project-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 1rem; }
    .project-breadcrumbs a {
      color: #fff;
      position: relative; }
      .project-breadcrumbs a::after {
        content: '';
        position: absolute;
        right: -.55rem;
        width: 0.2rem;
        top: 0.5rem;
        height: 0.2rem;
        border-radius: 50%;
        background: #fff;
        pointer-events: none; }
      .project-breadcrumbs a:first-child {
        color: rgba(255, 255, 255, 0.5); }
      .project-breadcrumbs a:last-child::after {
        display: none; }
  .project-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
  .project__logo {
    width: 14.5rem;
    height: 6rem;
    margin-top: 2rem; }
    .project__logo img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
      object-position: top right; }
  .project-tour {
    position: absolute;
    right: 0;
    top: 8.5rem;
    width: 5rem;
    height: 5rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%; }
    .project-tour img {
      width: 100%; }
    .project-tour:hover {
      background: #403C91; }
  .project-content {
    max-width: 33rem; }
  .project__title {
    font-size: 2.5rem;
    font-weight: 400;
    font-family: "Roboto", sans-serif;
    margin-bottom: 1.1rem; }
  .project-advantages {
    display: flex;
    gap: 1.5rem 0;
    width: 26rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem; }
    .project-advantages__item {
      font-size: 0.9rem;
      padding-right: 1rem;
      font-weight: 500;
      width: 50%; }
      .project-advantages__item p {
        opacity: .8;
        font-size: 0.8rem;
        font-weight: 300;
        margin-top: 0.25rem; }
  .project__text {
    font-weight: 300;
    margin-top: 1.5rem; }
  .project-btns {
    display: flex;
    gap: .75rem; }
    .project-btns .btn {
      width: 10.7rem;
      height: 2.75rem; }
  .project-arrows {
    position: absolute;
    right: 0;
    bottom: -4.8rem; }
  .project-info {
    margin-bottom: 2rem; }
    .project-info__wrap {
      padding: 3.2rem 0 2.5rem;
      border-bottom: 1px solid rgba(140, 148, 168, 0.5);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1.5rem; }
    .project-info__advantages {
      display: flex;
      gap: 3.5rem; }
      .project-info__advantages div {
        color: #B7B7B7;
        margin-bottom: 0.5rem;
        font-size: 0.7rem; }
      .project-info__advantages p {
        font-size: 1rem; }
  .project-filter__row {
    display: flex;
    margin-bottom: 2rem;
    gap: 1.5rem; }
    .project-filter__row:last-child {
      margin-bottom: 0;
      justify-content: space-between;
      align-items: center; }
  .project-filter__item .filter-price {
    min-width: 16rem; }

.about-main {
  padding: 4rem 0;
  background: #403C91;
  color: #fff;
  margin-bottom: 4rem; }
.about-wrap {
  width: calc(100% - 37rem); }
.about .section-title {
  margin-bottom: 1.5rem; }
.about__text {
  font-weight: 300;
  font-size: 0.9rem; }
.about__img {
  width: 32.2rem;
  height: 23rem;
  border-radius: 1.25rem;
  overflow: hidden; }
  .about__img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: .6s all; }
  .about__img:hover img {
    transform: scale(1.1); }
.about .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%; }
.about-advantages__list {
  display: flex;
  width: 100%;
  gap: 1.5rem; }
.about-advantages__item {
  width: calc(25% - 1.125rem);
  height: 6.4rem;
  border-radius: 1.25rem;
  background: #403C91;
  color: #fff;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-left: 1.5rem;
  padding-right: 0.5rem;
  flex-grow: 1; }
.about-advantages__ico {
  width: 3.35rem;
  flex-shrink: 0; }
  .about-advantages__ico img {
    width: 100%;
    display: block; }
.about-advantages__text div {
  font-size: 1rem; }
.about-advantages__text p {
  margin-top: 0.25rem;
  font-size: 0.8rem;
  opacity: .5;
  font-weight: 300; }
.about-page {
  background: #F1F4FA;
  padding-bottom: 3rem; }
  .about-page__row {
    display: flex;
    gap: 5rem;
    justify-content: space-between;
    margin-bottom: 2rem;
    align-items: center; }
    .about-page__row:first-child {
      align-items: flex-start; }
    .about-page__row .about-page__img {
      width: 55%;
      margin-bottom: 0; }
  .about-page__text {
    font-size: 0.9rem;
    width: 45%; }
  .about-page__img {
    width: 100%;
    margin-bottom: 3rem; }
    .about-page__img img {
      width: 100%;
      display: block;
      border-radius: 1.5rem; }

.genplan {
  padding: 4rem 0; }
  .genplan-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem; }
  .genplan-main {
    height: 31rem; }
  .genplan-item {
    height: 31rem; }
  .genplan__img {
    height: 100%; }
    .genplan__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 1.35rem; }
  .genplan__name {
    display: none; }

.timeline {
  padding: 4rem 0 7rem; }
  .timeline-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem; }
  .timeline-item {
    position: relative;
    border-radius: 2.15rem;
    overflow: hidden;
    height: 29.5rem;
    z-index: 1;
    padding: 1.3rem 2rem;
    display: flex;
    align-items: flex-end;
    font-size: 2rem;
    font-weight: 500;
    color: #fff; }
    .timeline-item__img {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: -1; }
      .timeline-item__img::after {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        content: '';
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 27.6%); }
      .timeline-item__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }

.calc {
  padding: 5rem 0 4rem;
  color: #B7B7B7;
  font-size: 0.7rem; }
  .calc .section-title {
    margin-bottom: 3.2rem;
    color: #000; }
  .calc-content {
    display: flex;
    gap: 1.5rem; }
  .calc-form {
    width: calc(33.3333% - 1rem); }
    .calc-form__item {
      margin-bottom: 1.5rem; }
    .calc-form__head {
      margin-bottom: 0.5rem; }
    .calc-form__input {
      width: 100%;
      height: 3rem;
      background: #F1F4FA;
      border-radius: .75rem;
      padding: 1rem;
      color: #000;
      font-size: 0.75rem; }
    .calc-form__wrap {
      display: flex;
      gap: .2rem; }
    .calc-form input {
      border: none;
      background: transparent; }
    .calc-form__text {
      margin-bottom: 1.5rem; }
    .calc-form .btn {
      width: 100%;
      height: 3rem;
      font-size: 0.8rem; }
  .calc-item {
    width: calc(33.3333% - 1rem);
    border-radius: 1.25rem;
    background: #F1F4FA;
    padding: 1.5rem; }
    .calc-item__title {
      font-size: 1.4rem;
      font-weight: 500;
      max-width: 14rem;
      height: 3.6rem;
      margin-bottom: 1.2rem;
      color: #000; }
    .calc-item__item {
      margin-bottom: 1.4rem; }
      .calc-item__item div {
        margin-bottom: 0.6rem; }
      .calc-item__item p {
        font-size: 1.2rem;
        font-weight: 500;
        color: #000; }
    .calc-item__total {
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-top: 3.8rem; }
      .calc-item__total div {
        font-size: 1.2rem;
        font-weight: 500;
        color: #000; }
      .calc-item__total p {
        height: 1.2rem;
        padding: 0 .5rem;
        background: #fff;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 0.6rem;
        border-radius: 2rem;
        margin-top: 0.3rem; }
    .calc-item-top {
      background: #403C91 url(../img/calc.png) center center no-repeat;
      background-size: cover; }
      .calc-item-top .calc-item__title, .calc-item-top .calc-item__item p, .calc-item-top .calc-item__total div {
        color: #fff; }
      .calc-item-top .calc-item__total p {
        color: #403C91; }

.plans {
  background: #F1F4FA;
  padding: 3rem 0; }
  .plans .section-title {
    margin-bottom: 2.5rem; }
  .plans-wrap {
    display: flex;
    gap: 1.5rem; }
  .plans-info {
    width: 33%;
    border-radius: 1.25rem;
    background: #fff;
    padding: 1.5rem;
    position: relative; }
  .plans__title {
    color: #B7B7B7;
    margin-bottom: 0.55rem;
    font-size: 0.7rem; }
  .plans-choose {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem; }
    .plans-choose li {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      width: 3rem;
      height: 3rem;
      border-radius: .75rem;
      background: #F1F4FA;
      font-size: 1rem; }
      .plans-choose li:hover {
        color: #403C91; }
      .plans-choose li.active {
        background: #403C91;
        color: #fff;
        pointer-events: none; }
  .plans-tab {
    display: none; }
    .plans-tab:first-child {
      display: block; }
  .plans-list {
    display: flex;
    overflow: auto;
    height: 16rem;
    flex-wrap: wrap;
    gap: .5rem;
    margin-right: -0.5rem;
    padding-right: 0.5rem; }
    .plans-list__item {
      width: calc(33.33333% - .3333rem);
      border: 1px solid #F1F4FA;
      background: #F1F4FA;
      border-radius: 1rem;
      height: 8rem;
      padding: 1rem;
      transition: .6s all;
      cursor: pointer;
      user-select: none; }
      .plans-list__item:hover, .plans-list__item.active {
        border-color: #403C91; }
    .plans-list__img {
      width: 100%;
      height: 100%; }
      .plans-list__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }
    .plans-list::-webkit-scrollbar {
      width: .3rem; }
    .plans-list::-webkit-scrollbar-track {
      border-radius: 1rem; }
    .plans-list::-webkit-scrollbar-thumb {
      border: none;
      border-radius: 1rem; }
    .plans-list__project, .plans-list__square, .plans-list__floor, .plans-list__price, .plans-list__credit {
      display: none; }
  .plans-advice {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    width: calc(100% - 3rem);
    height: 3rem;
    border-radius: .75rem;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #403C91;
    gap: .2rem;
    transition: .6s all;
    opacity: 0;
    visibility: hidden; }
    .plans-advice.active {
      opacity: 1;
      visibility: visible; }
  .plans-plan {
    width: 67%;
    border-radius: 1.25rem;
    background: #fff;
    padding: 1.5rem;
    position: relative; }
    .plans-plan__finish {
      position: absolute;
      left: 1.5rem;
      top: 1.5rem;
      font-size: 0.8rem; }
      .plans-plan__finish p {
        font-weight: 300;
        font-size: 0.7rem;
        color: #403C91;
        opacity: .5;
        margin-top: 0.25rem; }
    .plans-plan__btns {
      position: absolute;
      right: 1.5rem;
      top: 1.5rem;
      display: flex;
      flex-direction: column;
      gap: .5rem; }
      .plans-plan__btns .btn {
        height: 2.15rem;
        width: 9.2rem;
        border-radius: 2rem; }
    .plans-plan__btn {
      height: 2.15rem;
      width: 9.2rem;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: 1px solid #403C91;
      color: #403C91;
      border-radius: 2rem;
      background: #fff; }
      .plans-plan__btn:hover {
        background: #403C91;
        color: #fff; }
    .plans-plan__img {
      height: 18rem;
      margin-bottom: 1rem;
      cursor: pointer; }
      .plans-plan__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }
    .plans-plan__info {
      border-radius: .75rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.9rem 1.5rem;
      background: #F1F4FA; }
    .plans-plan__name {
      margin-bottom: 0.5rem; }
    .plans-plan__value {
      color: #403C91;
      opacity: .5;
      font-size: 0.7rem;
      font-weight: 300; }
  .plans-zoom {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 7;
    background: rgba(64, 60, 145, 0.75);
    cursor: pointer;
    display: none; }
    .plans-zoom__img {
      height: calc(100vh - 5rem);
      width: 60vw;
      padding: 3rem;
      background: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      cursor: default; }
      .plans-zoom__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }

.gallery {
  padding: 7rem 0 4rem; }
  .gallery .section-title {
    margin-bottom: 1.5rem; }
  .gallery-main {
    height: 46.5vw;
    position: relative; }
  .gallery-item {
    height: 46.5vw; }
  .gallery__img {
    height: 100%; }
    .gallery__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .gallery__name {
    display: none; }
  .gallery-arrows {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    left: 0;
    z-index: 2;
    pointer-events: none; }
    .gallery-arrows .arrows {
      width: 100%;
      justify-content: space-between; }
    .gallery-arrows span {
      pointer-events: auto;
      background: #fff;
      width: 2.9rem;
      height: 2.9rem; }
      .gallery-arrows span svg {
        width: 0.9rem;
        height: 0.9rem; }

.infra {
  padding-top: 4rem; }
  .infra .section-title {
    margin-bottom: 2.5rem; }
  .infra__map {
    height: 31rem;
    border-radius: 1.25rem;
    overflow: hidden; }
    .infra__map #infraMap {
      width: 100%;
      height: 100%; }
  .infra-markers {
    display: none; }
    .infra-markers__content {
      font-family: 'Euclid Square', sans-serif;
      background: #fff;
      white-space: nowrap;
      display: flex;
      padding: 0.4rem 1rem;
      border-radius: 1rem;
      position: relative; }
      .infra-markers__content::after {
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: .5rem .5rem 0 .5rem;
        border-color: #fff transparent transparent transparent;
        transform: rotate(0deg);
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -0.4rem; }
      .infra-markers__content div {
        font-weight: 500; }
      .infra-markers__content p {
        display: flex;
        align-items: center;
        gap: .2rem;
        color: #8C94A8; }
  .infra .ymaps-2-1-79-image-with-content {
    width: auto !important; }
    .infra .ymaps-2-1-79-image-with-content ymaps {
      width: auto !important; }

.finish {
  padding-top: 2rem; }
  .finish .section-title {
    margin-bottom: 2.5rem; }
  .finish-choose {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 3.2rem; }
    .finish-choose li {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      border: 1px solid #403C91;
      padding: 0 1.5rem;
      height: 3rem;
      border-radius: .75rem; }
      .finish-choose li:hover {
        color: #403C91; }
      .finish-choose li.active {
        background: #403C91;
        border-radius: 3rem;
        color: #fff;
        pointer-events: none; }
  .finish-tab {
    display: none; }
    .finish-tab:first-child {
      display: block; }
  .finish-slider {
    height: 31rem;
    overflow: hidden; }
  .finish__img {
    height: 31rem;
    border-radius: 1.25rem;
    overflow: hidden; }
    .finish__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }

.near {
  padding: 5rem 0 4rem; }
  .near .section-title {
    margin-bottom: 2.5rem; }

.flats {
  background: #F1F4FA;
  padding-bottom: 4rem; }
  .flats-head {
    background: #fff;
    padding: 6.8rem 0 3rem;
    margin-bottom: 3rem; }
  .flats-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem; }
  .flats-item {
    width: calc(33.3333% - 1rem);
    background: #fff;
    border-radius: 1.25rem;
    padding: 0.5rem; }
    .flats-item__img {
      border-radius: .75rem;
      border: 1px solid #E1E6F1;
      padding: 0.5rem;
      height: 16rem;
      cursor: pointer; }
      .flats-item__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }
    .flats-item__wrap {
      padding: 1.5rem 1.25rem 1rem; }
    .flats-item__list {
      margin-bottom: 2rem; }
      .flats-item__list li {
        margin-bottom: 0.75rem;
        display: flex;
        align-items: flex-end;
        gap: .5rem; }
        .flats-item__list li div:nth-child(2) {
          flex-grow: 1;
          border-bottom: 1px dashed #C9C9C9;
          margin-bottom: 0.1rem; }
        .flats-item__list li div:nth-child(3) {
          font-weight: 500; }
    .flats-item__btn {
      display: flex;
      margin: 0 auto;
      width: 13.5rem;
      height: 3rem;
      border-radius: 3rem; }

.policy {
  background: #F1F4FA;
  padding-bottom: 5rem; }
  .policy-content {
    max-width: 50rem;
    margin: 0 auto;
    text-align: justify;
    line-height: 1.5; }
    .policy-content h1, .policy-content h2, .policy-content h3, .policy-content h4, .policy-content strong {
      font-weight: 500; }
    .policy-content a {
      color: #403C91; }
      .policy-content a:hover {
        color: #3F39B6; }

.vacancy {
  background: #F1F4FA;
  padding-bottom: 3.5rem; }
  .vacancy-choose {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-bottom: 2.25rem;
    font-size: 1rem; }
    .vacancy-choose li {
      padding: 0 2rem;
      height: 3rem;
      border: 1px solid #E2E2E2;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      min-width: 6rem;
      border-radius: 3rem;
      background: #fff; }
      .vacancy-choose li:hover {
        color: #403C91;
        border-color: #403C91;
        background: #F8F8F8; }
      .vacancy-choose li.active {
        background: #403C91;
        color: #fff;
        border-color: #403C91;
        pointer-events: none; }
  .vacancy-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem; }
  .vacancy-item {
    width: calc(33.3333% - .8rem);
    height: 10.75rem;
    position: relative;
    padding: 1.5rem;
    color: #fff;
    z-index: 1;
    transition: .6s all;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 1rem;
    overflow: hidden; }
    .vacancy-item:hover {
      box-shadow: 0px 64.815px 46.852px 0px rgba(0, 0, 0, 0.05), 0px 38.519px 25.481px 0px rgba(0, 0, 0, 0.04), 0px 8.148px 6.519px 0px rgba(0, 0, 0, 0.03), 0px 1.852px 3.148px 0px rgba(0, 0, 0, 0.02); }
    .vacancy-item__img {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: -1; }
      .vacancy-item__img::after {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        content: '';
        background: #000;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.45) 100%); }
      .vacancy-item__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .vacancy-item__name {
      font-weight: 500;
      font-size: .95rem;
      line-height: 1.5; }
    .vacancy-item__wrap {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.75rem; }
      .vacancy-item__wrap a {
        font-weight: 500;
        border-bottom: 1px solid transparent;
        color: #fff; }
        .vacancy-item__wrap a:hover {
          border-color: #fff; }
    .vacancy-item__content {
      display: none; }
  .vacancy-popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 8;
    display: none; }
    .vacancy-popup__content {
      width: 66rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 1rem;
      box-shadow: 0px 64.815px 46.852px 0px rgba(0, 0, 0, 0.05), 0px 38.519px 25.481px 0px rgba(0, 0, 0, 0.04), 0px 8.148px 6.519px 0px rgba(0, 0, 0, 0.03), 0px 1.852px 3.148px 0px rgba(0, 0, 0, 0.02);
      background: #fff;
      padding: 3.2rem 3.5rem;
      max-height: 90dvh;
      overflow: auto;
      display: flex;
      gap: 6rem; }
    .vacancy-popup__wrap {
      width: 55%;
      line-height: 1.5;
      font-size: 0.9rem; }
      .vacancy-popup__wrap h1, .vacancy-popup__wrap h2, .vacancy-popup__wrap h3, .vacancy-popup__wrap h4, .vacancy-popup__wrap h5, .vacancy-popup__wrap h6, .vacancy-popup__wrap strong {
        font-size: 1.1rem;
        color: #403C91;
        font-weight: 400; }
    .vacancy-popup__title {
      font-size: 1.1rem;
      color: #403C91;
      font-weight: 400;
      margin-bottom: 1.5rem; }
    .vacancy-popup__form {
      width: 45%; }
      .vacancy-popup__form input {
        width: 100%;
        max-width: 21rem;
        margin-bottom: 1rem; }
      .vacancy-popup__form .btn {
        width: 100%;
        max-width: 21rem; }
      .vacancy-popup__form p {
        font-size: 0.95rem;
        color: #B9B9B9;
        margin-bottom: 0.2rem; }
    .vacancy-popup__close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none; }
      .vacancy-popup__close img {
        width: 1rem; }
  .vacancy-form input {
    outline: none;
    border-radius: .5rem;
    background: #fff;
    height: 2.5rem;
    padding: 0 1rem;
    border: 1px solid #E2E2E2;
    color: #000;
    font-weight: 400; }
    .vacancy-form input:focus {
      border-color: #403C91; }
    .vacancy-form input::placeholder {
      color: #B9B9B9; }
    .vacancy-form input.error {
      color: red !important;
      border-color: red !important; }
  .vacancy-form input[type="file"] {
    cursor: pointer;
    font-size: 0.8rem;
    padding: 0;
    border: none;
    height: auto;
    border-radius: 0;
    color: #B9B9B9; }
  .vacancy-form input::file-selector-button {
    color: #fff;
    padding: 0.5rem;
    border: none;
    background: #403C91;
    font-family: 'Gilroy';
    font-size: 0.7rem;
    cursor: pointer; }
  .vacancy-form .btn {
    width: 100%;
    height: 2.5rem;
    border-radius: .5rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #403C91;
    border: 1px solid #403C91; }
    .vacancy-form .btn:hover {
      background: #fff;
      color: #403C91; }

.contact {
  background: #F1F4FA;
  padding-bottom: 5rem; }
  .contact-info {
    display: flex;
    gap: 5rem;
    justify-content: space-between;
    margin-bottom: 1.5rem; }
    .contact-info__item {
      padding-right: 3.5rem;
      border-right: 1px solid rgba(64, 60, 145, 0.3); }
      .contact-info__item:last-child {
        padding-right: 0;
        border-right: none; }
    .contact-info__title {
      font-size: 1.1rem;
      font-weight: 500;
      margin-bottom: 0.5rem; }
    .contact-info__text {
      max-width: 9.5rem;
      font-size: 0.9rem;
      font-weight: 300; }
      .contact-info__text a {
        color: #000; }
        .contact-info__text a:hover {
          color: #403C91; }
  .contact__map {
    height: 20rem;
    border-radius: 1.5rem;
    overflow: hidden; }
    .contact__map #contactMap {
      width: 100%;
      height: 100%; }

.devplan {
  position: relative;
  z-index: 1; }
  .devplan::before {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 78.02%, rgba(0, 0, 0, 0.5) 100%);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    content: '';
    z-index: 1;
    pointer-events: none; }
  .devplan .container {
    position: absolute;
    color: #fff;
    z-index: 3;
    pointer-events: none;
    width: 100%;
    top: 3rem; }
  .devplan-info {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 5;
    top: 20rem;
    left: 20rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: .5rem;
    background: #fff;
    color: #000;
    font-size: 1.2rem;
    pointer-events: none;
    margin-left: 1rem; }
    .devplan-info__number {
      font-size: 2.5rem;
      margin-top: -0.5rem; }
    .devplan-info::before {
      width: 0px;
      height: 0px;
      border-style: solid;
      border-width: .5rem .75rem .5rem 0;
      border-color: transparent #fff transparent transparent;
      transform: rotate(0deg);
      content: '';
      position: absolute;
      left: -.5rem;
      top: 1rem; }
    .devplan-info.active {
      opacity: 1;
      visibility: visible; }

.building {
  position: relative;
  height: 100svh;
  z-index: 1; }
  .building-loading {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 4;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); }
    .building-loading__load {
      display: inline-block;
      position: relative;
      width: 5rem;
      height: 5rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2; }
      .building-loading__load div {
        display: block;
        position: absolute;
        width: 4rem;
        height: 4rem;
        margin: .4rem;
        border: .4rem solid #fff;
        border-radius: 50%;
        animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: #fff transparent transparent transparent; }
        .building-loading__load div:nth-child(1) {
          animation-delay: -0.45s; }
        .building-loading__load div:nth-child(1) {
          animation-delay: -0.3s; }
        .building-loading__load div:nth-child(1) {
          animation-delay: -0.15s; }
  .building::before {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 78.02%, rgba(0, 0, 0, 0.5) 100%);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    content: '';
    z-index: 1;
    pointer-events: none; }
  .building-wrap {
    height: 100%; }
  .building-main {
    position: relative;
    width: 100%;
    height: 100%; }
    .building-main img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .building-main svg {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
      .building-main svg path {
        opacity: 0;
        transition: .1s all;
        animation: svgPulse 2s infinite linear; }
        .building-main svg path:hover {
          opacity: 1;
          animation: none; }
  .building-info {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 5;
    top: 20rem;
    left: 20rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: .5rem;
    background: #fff;
    color: #000;
    font-size: 1.2rem;
    pointer-events: none;
    margin-left: 1rem; }
    .building-info__number {
      font-size: 2.5rem;
      margin-top: -0.5rem; }
    .building-info::before {
      width: 0px;
      height: 0px;
      border-style: solid;
      border-width: .5rem .75rem .5rem 0;
      border-color: transparent #fff transparent transparent;
      transform: rotate(0deg);
      content: '';
      position: absolute;
      left: -.5rem;
      top: 1rem; }
    .building-info.active {
      opacity: 1;
      visibility: visible; }
  .building-back {
    position: absolute;
    bottom: 2rem;
    left: 0;
    width: 100%;
    z-index: 3;
    pointer-events: none; }
    .building-back a {
      pointer-events: auto;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      transition: .6s all;
      cursor: pointer;
      user-select: none;
      height: 2rem;
      padding-left: 0.7rem;
      padding-right: 1.5rem;
      color: #fff;
      gap: 0.6rem;
      font-weight: 500;
      font-size: 0.65rem;
      text-transform: uppercase;
      border-radius: 2rem; }
      .building-back a svg {
        width: 1.6rem;
        height: 1.6rem; }
      .building-back a:hover {
        background: #403C91; }

.floor {
  color: #fff;
  padding-top: 7.5rem;
  height: 100vh; }
  .floor-wrap {
    padding: 0 4rem;
    display: flex;
    gap: 4.5rem; }
  .floor-left {
    width: 20%; }
  .floor-info {
    width: 100%;
    max-width: 11.2rem; }
    .floor-info li {
      padding-bottom: 1rem;
      margin-bottom: 1.5rem;
      position: relative; }
      .floor-info li.hidden {
        display: none; }
      .floor-info li::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        content: '';
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 51.5625%, rgba(255, 255, 255, 0) 100%);
        height: 1px; }
      .floor-info li div {
        font-size: 1.75rem;
        font-weight: 500;
        margin-bottom: 0.2rem; }
  .floor-main {
    width: 60%;
    padding: 1.5rem;
    background: #fff;
    border-radius: 2.5rem;
    height: calc(100vh - 12rem); }
  .floor__img {
    width: 100%;
    height: 100%;
    position: relative; }
    .floor__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain; }
    .floor__img svg {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: 2; }
      .floor__img svg path {
        opacity: 0;
        transition: .1s all;
        animation: svgPulse 2s infinite linear; }
        .floor__img svg path:hover {
          opacity: 1;
          animation: none; }
  .floor-right {
    width: 20%;
    padding-top: 2rem; }
  .floor__compass {
    text-align: right;
    margin-bottom: 25vh; }
    .floor__compass img {
      width: 4rem;
      display: inline-block; }
  .floor-scheme {
    width: 100%;
    padding: 1rem;
    background: #fff;
    border-radius: .75rem; }
    .floor-scheme__title {
      text-align: center;
      font-size: 0.85rem;
      margin-bottom: 1rem;
      color: #000; }
    .floor-scheme__main {
      width: 100%;
      height: 4rem; }
    .floor-scheme__wrap {
      width: 100%;
      height: 100%;
      position: relative; }
      .floor-scheme__wrap img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }
      .floor-scheme__wrap svg {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        z-index: 2; }
        .floor-scheme__wrap svg path {
          opacity: 0;
          transition: .1s all; }
          .floor-scheme__wrap svg path:hover {
            opacity: 1; }
        .floor-scheme__wrap svg a.active {
          pointer-events: none; }
          .floor-scheme__wrap svg a.active path {
            opacity: 1; }
  .floor .building-back {
    bottom: 1.2rem; }
    .floor .building-back a {
      background: #fff;
      color: #000; }
      .floor .building-back a:hover {
        background: #403C91;
        color: #fff; }

.flat .floor-info li {
  padding-bottom: .8rem;
  margin-bottom: 1rem; }
  .flat .floor-info li div {
    font-size: 1.5rem; }
.flat .floor-right {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
.flat .floor__compass {
  margin-bottom: 0; }
.flat-btns {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: .5rem; }
  .flat-btns span {
    height: 1.5rem; }
  .flat-btns a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    border-radius: 2rem;
    color: #fff;
    height: 3rem;
    width: 100%;
    max-width: 13.2rem;
    font-weight: 500;
    font-size: 0.75rem; }
    .flat-btns a:hover {
      background: #fff;
      color: #000; }
    .flat-btns a:last-child {
      background: #fff;
      color: #000;
      border: none; }
      .flat-btns a:last-child:hover {
        color: #fff;
        background: #403C91; }
.flat-images {
  width: 100%;
  height: calc(100% - 4.5rem);
  margin-bottom: 1rem;
  position: relative; }
  .flat-images img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    object-fit: contain;
    display: block;
    transition: .6s all;
    opacity: 0;
    visibility: hidden; }
    .flat-images img.active {
      opacity: 1;
      visibility: visible; }
.flat-choose {
  display: flex;
  justify-content: center;
  gap: 1.1rem; }
  .flat-choose a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    width: 3.5rem;
    height: 3.5rem;
    border: 1px dashed;
    border-radius: 50%;
    flex-direction: column;
    gap: .3rem;
    font-weight: 500;
    font-size: 0.7rem; }
    .flat-choose a svg {
      width: .9rem;
      height: 0.9rem; }
    .flat-choose a:hover, .flat-choose a.active {
      color: #fff;
      border: none; }
    .flat-choose a.active {
      pointer-events: none; }
.flat-right {
  display: flex;
  flex-direction: column;
  gap: 1.25rem; }

.footer {
  padding-top: 3rem;
  background: #F1F4FA; }
  .footer-card {
    background: #fff;
    border-radius: 1.5rem; }
    .footer-card__top {
      padding: 2rem 5rem 2.6rem 2rem;
      border-bottom: 1px solid rgba(140, 148, 168, 0.5);
      display: flex;
      justify-content: space-between; }
    .footer-card__bot {
      padding: 2rem;
      display: flex;
      align-items: flex-start;
      gap: 2rem; }
  .footer__logo {
    margin-bottom: 3rem;
    width: 10rem;
    display: block; }
    .footer__logo img {
      width: 100%;
      display: block; }
  .footer__btn {
    margin: 0.75rem 0 1.5rem;
    width: 13.2rem;
    height: 2.75rem;
    border-radius: .75rem;
    background: #F1F4FA;
    color: #403C91;
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    .footer__btn:hover {
      color: #fff;
      background: #403C91; }
  .footer-numbers {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    margin-bottom: 1.5rem; }
    .footer-numbers a {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      color: #000;
      font-size: 0.9rem; }
      .footer-numbers a img {
        width: 1.1rem; }
      .footer-numbers a:hover {
        color: #403C91; }
  .footer-social {
    display: flex;
    gap: 1rem; }
    .footer-social li {
      display: flex; }
    .footer-social a {
      display: flex;
      width: 3rem;
      height: 3rem;
      color: #000; }
      .footer-social a:hover {
        color: #403C91; }
      .footer-social a svg {
        width: 100%;
        height: 100%; }
  .footer-menu__head {
    font-size: 0.9rem;
    margin-bottom: 1.5rem; }
    .footer-menu__head img {
      display: none; }
  .footer-menu__list li {
    margin-bottom: 1rem; }
    .footer-menu__list li:last-child {
      margin-bottom: 0; }
  .footer-menu__list a {
    color: #8C94A8; }
    .footer-menu__list a:hover {
      color: #403C91; }
  .footer-menu__list-double {
    columns: 2;
    column-gap: 3rem; }
  .footer__img {
    width: 3rem;
    flex-shrink: 0; }
    .footer__img img {
      width: 100%;
      display: block; }
  .footer-wrap {
    flex-grow: 1;
    font-size: 0.7rem; }
  .footer__text {
    margin-bottom: 1rem;
    color: #8C94A8; }
  .footer__links {
    display: flex;
    gap: 1.75rem; }
    .footer__links a {
      color: #8C94A8; }
      .footer__links a:hover {
        color: #403C91; }
  .footer-copy {
    height: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .footer-copy a {
      color: #000; }
      .footer-copy a:hover {
        color: #403C91; }
  .footer-nav {
    display: none; }
  .footer-hide {
    display: none; }

@media (max-width: 1600.98px) {
  .floor-wrap {
    padding: 0 3rem; } }
@media (max-width: 1400.98px) {
  :root {
    font-size: 18px; } }
@media (max-width: 1300.98px) {
  :root {
    font-size: 17px; } }
@media (max-width: 1200.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 1100.98px) {
  :root {
    font-size: 14px; } }
@media (max-width: 1000.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 900.98px) {
  :root {
    font-size: 12px; } }
@media (max-width: 767.98px), (max-width: 1080px) and (orientation: portrait) {
  :root {
    font-size: 17px; }

  .page-head {
    padding-top: 7rem; }

  .popup-slider__item img {
    width: 100% !important;
    height: 70%;
    object-fit: cover; }

  .breadcrumbs .project-breadcrumbs {
    display: block;
    font-size: 0.9rem; }
    .breadcrumbs .project-breadcrumbs a {
      margin-right: .75rem; }
      .breadcrumbs .project-breadcrumbs a:last-child {
        margin-right: 0; }

  .filter-row {
    flex-wrap: wrap; }
  .filter-item {
    width: calc(50% - .75rem); }

  .header-menu {
    display: none; }

  .main-wrap {
    flex-direction: column; }
  .main-slider, .main-side {
    width: 100%; }
    .main-slider__item, .main-side__item {
      height: 27rem; }

  .projects-item {
    width: calc(50% - .75rem); }

  .advantages-item {
    width: calc(50% - .75rem); }

  .consult-card {
    flex-direction: column;
    gap: 3rem; }
  .consult-info {
    width: 100%; }

  .news-item {
    width: calc(50% - .75rem); }
    .news-item__title {
      height: auto;
      max-width: none;
      font-size: 1.5rem;
      line-height: normal;
      margin-bottom: 1.3rem; }
    .news-item__text {
      font-size: 0.9rem;
      max-width: 27rem;
      line-height: 1.15rem;
      height: 2.3rem; }
  .news-single {
    padding: 7rem 0 3rem; }
    .news-single .container {
      flex-direction: column;
      gap: 2.5rem; }
    .news-single__main {
      width: 100%; }
    .news-single__side {
      width: 100%;
      display: flex;
      gap: 1.5rem; }
      .news-single__side .news-item {
        width: calc(33.3333% - 1rem);
        margin-bottom: 0; }
        .news-single__side .news-item__title {
          font-size: 1.1rem;
          height: 2.8rem;
          line-height: 1.4rem;
          max-width: 11rem;
          margin-bottom: 1rem; }
        .news-single__side .news-item__text {
          font-size: 0.8rem;
          height: 2rem;
          line-height: 1rem; }

  .fixed-btn {
    display: none; }

  .project-main {
    height: 55rem;
    padding-top: 6rem; }
  .project-breadcrumbs {
    display: none; }
  .project-slider__item {
    height: 55rem; }
  .project-head {
    flex-direction: column-reverse;
    gap: 1.5rem; }
  .project__logo {
    height: auto;
    max-height: 5rem;
    margin-top: 0; }
  .project-tour {
    top: 0; }
  .project-info__wrap {
    flex-direction: column;
    align-items: flex-start; }
  .project-filter__row {
    flex-wrap: wrap; }

  .about .container {
    flex-direction: column;
    gap: 3rem; }
  .about-wrap {
    width: 100%; }
  .about-advantages__list {
    flex-wrap: wrap; }
  .about-advantages__item {
    width: calc(50% - .75rem); }
  .about-page__row {
    gap: 1.5rem; }

  .genplan {
    padding: 3rem 0; }

  .calc-item__title {
    font-size: 1.1rem;
    height: 2.8rem; }
  .calc-item__item p {
    font-size: 0.8rem; }
    .calc-item__item p span {
      font-size: 1.1rem; }
  .calc-item__total {
    margin-top: 5.5rem; }
    .calc-item__total div {
      font-size: 0.8rem; }
      .calc-item__total div span {
        font-size: 1.1rem; }

  .timeline {
    padding: 2rem 0 5rem; }

  .plans-wrap {
    flex-direction: column;
    align-items: center; }
  .plans-info {
    width: 20rem; }
  .plans-plan {
    width: 100%; }

  .gallery {
    padding: 6rem 0 2rem; }
    .gallery-main, .gallery-item {
      height: 40rem; }

  .floor {
    height: auto;
    padding-top: 11rem;
    min-height: 100svh; }
    .floor .building-back {
      position: absolute;
      bottom: auto;
      top: 7.5rem; }
    .floor-wrap {
      flex-wrap: wrap;
      gap: 2rem; }
    .floor-main {
      width: 100%;
      order: -999;
      height: 30rem; }
    .floor-left {
      width: 100%; }
    .floor-info {
      width: 100%;
      display: flex;
      max-width: none; }
      .floor-info li {
        width: 20%;
        text-align: center; }
    .floor__compass {
      margin-bottom: 0;
      position: absolute;
      right: 3rem;
      top: 6rem; }
      .floor__compass img {
        height: 4rem;
        object-fit: contain;
        object-position: right; }
    .floor-right {
      width: 100%;
      padding: 0; }
    .floor-scheme {
      width: 14rem; }

  .flat-btns, .flat-right {
    flex-direction: row;
    justify-content: center; }

  .flats-item {
    width: calc(50% - .75rem); }

  .vacancy-choose {
    gap: 1rem; }
  .vacancy-item {
    width: calc(50% - .6rem); }
  .vacancy-popup__content {
    width: calc(100% - 4rem);
    height: auto;
    gap: 2rem;
    padding: 3rem 2rem; }
  .vacancy-popup__form, .vacancy-popup__wrap {
    width: 50%; }

  .contact-info {
    flex-wrap: wrap;
    gap: 0; }
    .contact-info__item {
      border: none;
      width: 50%;
      padding: 0; }
      .contact-info__item:nth-child(odd) {
        border-right: 1px solid rgba(64, 60, 145, 0.3);
        padding-right: 2rem; }
      .contact-info__item:nth-child(even) {
        padding-left: 2rem; }
      .contact-info__item:nth-child(1), .contact-info__item:nth-child(2) {
        padding-bottom: 2rem; }
      .contact-info__item:nth-child(3), .contact-info__item:nth-child(4) {
        padding-top: 2rem;
        position: relative; }
        .contact-info__item:nth-child(3)::before, .contact-info__item:nth-child(4)::before {
          width: calc(100% - 2rem);
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          height: 1px;
          background: rgba(64, 60, 145, 0.3); }
      .contact-info__item:nth-child(4)::before {
        left: 2rem; }

  .devplan-info {
    position: absolute;
    right: 3rem;
    top: 3rem;
    left: auto; }
    .devplan-info::before {
      content: none; }

  .building {
    height: calc(100svh - 3rem); }
    .building-wrap {
      max-width: 100%;
      overflow: auto; }
    .building-info {
      position: absolute;
      right: 3rem;
      top: auto;
      left: auto;
      bottom: 3rem; }
      .building-info::before {
        content: none; }
    .building-main {
      width: 150svh; }

  .footer {
    padding-bottom: 4.5rem; }
    .footer-card__top {
      flex-wrap: wrap;
      padding: 2rem 2rem 2.5rem;
      gap: 2rem 0; }
    .footer-menu__list {
      columns: 1; }
    .footer-col {
      width: 50%; }
    .footer-nav {
      display: flex;
      justify-content: space-evenly;
      padding-top: 0.2rem;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 6;
      height: 4.5rem;
      background: #fff;
      box-shadow: 0px 1px 25px 0px rgba(64, 60, 145, 0.08);
      border-radius: .7rem .7rem 0 0; }
      .footer-nav li {
        display: flex; }
      .footer-nav a {
        display: flex;
        color: #8C94A8;
        flex-direction: column;
        align-items: center;
        gap: .1rem;
        font-size: 0.8rem; }
        .footer-nav a span {
          width: 2.5rem;
          height: 2.5rem;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          border-radius: 50%; }
          .footer-nav a span svg {
            width: 1.5rem;
            height: 1.5rem; }
        .footer-nav a.active {
          color: #403C91; }
          .footer-nav a.active span {
            background: #403C91;
            color: #fff; }
    .footer-hide {
      display: block;
      padding: 0; }
      .footer-hide > .container {
        display: none; } }
@media (max-width: 767.98px) {
  :root {
    font-size: 16px; }

  body {
    font-size: 1rem; }

  .container {
    padding: 0 1rem; }

  .section-title {
    font-size: 1.75rem; }

  .preloader__logo {
    width: 16rem; }

  .irs {
    margin-top: -0.2rem; }

  .pagination {
    margin-top: 1.5rem;
    gap: .3rem; }
    .pagination .page-item {
      width: 2.2rem;
      height: 2.2rem;
      font-size: 1rem; }

  .popup-slider__item img {
    height: 60%; }

  .page + .consult {
    padding-bottom: 0; }
  .page-head {
    padding: 6rem 0 1.5rem;
    margin-bottom: 1.5rem; }
    .page-head .section-title {
      margin-bottom: 0; }

  .arrows span {
    width: 2.2rem;
    height: 2.2rem; }
    .arrows span svg {
      width: 0.7rem;
      height: 0.7rem; }

  .feedback-content {
    width: 100%;
    padding: 2rem 1.5rem;
    top: auto;
    bottom: 0;
    transform: translateX(-50%); }
  .feedback__text {
    font-size: 0.85rem; }

  .header {
    height: 4rem; }
    .header__logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .header-nav {
      width: 100%;
      flex-direction: row-reverse;
      justify-content: space-between; }
    .header__lang {
      padding: 0;
      justify-content: center;
      width: 2.6rem; }
      .header__lang span {
        display: none; }
    .header__tel {
      width: 2.6rem;
      border: 1px solid #403C91;
      background: #F1F4FA;
      color: #403C91; }
      .header__tel svg {
        width: 1.5rem;
        height: 1.5rem; }
      .header__tel span {
        display: none; }
    .header-project .header__tel {
      background: transparent;
      color: #fff;
      border-color: #fff; }
    .header-project .header__lang {
      border-color: #fff;
      background: transparent; }
    .header-project.scrolled .header__tel {
      background: #fff;
      color: #403C91;
      border-color: #403C91; }
    .header-project.scrolled .header__lang {
      border-color: #403C91;
      background: #fff; }

  .main {
    padding-top: 5.2rem; }
    .main-slider__item {
      height: 22rem;
      padding: 1rem 1rem 4rem; }
    .main-slider__title {
      font-size: 1.6rem; }
    .main-slider .owl-dots {
      bottom: 1.2rem; }
    .main-side__item {
      height: 22rem; }
    .main-side .owl-dots {
      bottom: 1.2rem;
      left: 1.2rem; }

  .filter {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    padding: 3rem 1rem;
    background: #fff;
    margin-bottom: 0;
    border-radius: 1.6rem 1.6rem 0;
    transform: translateY(100%);
    transition: .6s transform; }
    .filter.active {
      transform: none; }
    .filter__open {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      height: 2.8rem;
      width: 11rem;
      font-size: 1rem;
      gap: .5rem;
      border-radius: 3rem;
      color: #403C91;
      background: #F1F4FA;
      margin-bottom: 1.5rem; }
      .filter__open img {
        width: 1.2rem; }
    .filter::before {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 0.9rem;
      width: 2.8rem;
      height: 0.2rem;
      border-radius: 2rem;
      background: #B7B7B7;
      content: ''; }
    .filter-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 1.5rem; }
      .filter-head__title {
        font-size: 1.2rem; }
    .filter__back {
      display: inline-flex;
      align-items: center;
      color: #403C91;
      gap: .25rem; }
      .filter__back img {
        width: 1rem; }
    .filter-item {
      width: 100%; }
    .filter__name {
      font-size: 0.8rem; }
    .filter-rooms label {
      width: 3.5rem;
      height: 3.5rem; }
      .filter-rooms label span {
        font-size: 1.2rem; }
    .filter .customSelect__option--value, .filter .customSelect__option {
      font-size: 1rem;
      height: 3.5rem; }
    .filter-price {
      height: 3.5rem; }
      .filter-price__item {
        font-size: 0.8rem; }
        .filter-price__item span {
          font-size: 1rem; }
    .filter-type {
      font-size: 1rem; }
    .filter-class {
      gap: 1rem; }
    .filter-btns {
      width: 100%; }
      .filter-btns .filter__reset {
        display: none; }
    .filter__result {
      width: 100%;
      height: 3.5rem;
      font-size: 1rem; }

  .projects-list {
    gap: 1rem; }
  .projects-item {
    width: 100%; }
    .projects-item__head span {
      height: 1.5rem;
      font-size: 0.7rem; }
    .projects-item__img {
      height: 20rem; }
    .projects-item__name {
      font-size: 1.2rem; }
    .projects-item__price {
      font-size: 0.85rem; }
    .projects-item__text {
      height: 1.3rem; }
    .projects-item__info {
      font-size: 0.9rem;
      height: 1.8rem; }
      .projects-item__info li {
        height: 1.8rem; }

  .choose .section-title {
    margin-bottom: 1.5rem; }

  .advantages .section-title {
    margin-bottom: 2rem; }
  .advantages-list {
    gap: 1rem; }
  .advantages-item {
    width: 100%; }
  .advantages__text {
    margin-bottom: 2rem;
    height: auto; }

  .consult-card {
    padding: 2rem 1rem;
    gap: 2rem; }
  .consult .section-title {
    margin-bottom: 2rem; }
  .consult-form {
    width: 100%; }
    .consult-form__choose {
      width: 100%;
      margin-bottom: 1.5rem;
      height: 3rem; }
    .consult-form > input {
      height: 3.5rem;
      margin-bottom: 0.8rem; }
    .consult-form .btn {
      width: 100%;
      height: 3.5rem; }
  .consult-info {
    padding: 1.5rem 1rem .5rem; }

  .news {
    padding-bottom: 0; }
    .news .section-title {
      margin-bottom: 2rem; }
    .news-list {
      gap: .7rem; }
    .news-item {
      width: 100%; }
      .news-item:nth-child(1), .news-item:nth-child(2) {
        width: 100%; }
    .news-page {
      padding-bottom: 3rem;
      padding-top: 0; }
      .news-page .news-item:nth-child(6n + 5), .news-page .news-item:nth-child(6n + 6) {
        width: 100%; }
    .news-single {
      padding: 6rem 0 2.5rem; }
      .news-single .section-title {
        margin-bottom: 1rem; }
      .news-single__img {
        height: 25rem; }
        .news-single__img img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover; }
      .news-single__side {
        margin-left: -1rem;
        width: calc(100% + 2rem);
        padding: 0 1rem;
        overflow: auto; }
        .news-single__side::-webkit-scrollbar {
          display: none; }
        .news-single__side .news-item {
          flex-shrink: 0;
          width: 16rem; }
          .news-single__side .news-item__date {
            font-size: 0.9rem; }

  .project-main {
    height: 45rem;
    padding: 5.5rem 0 6rem; }
  .project-slider__item {
    height: 45rem; }
  .project-slider .owl-dots {
    bottom: 1.5rem; }
  .project__title {
    font-size: 1.8rem; }
  .project__text {
    margin-top: 1rem; }
  .project-head {
    gap: 1rem; }
  .project__logo {
    width: 12rem;
    max-height: 4.5rem; }
  .project-tour {
    width: 4rem;
    height: 4rem; }
  .project-advantages {
    gap: 1rem;
    justify-content: center;
    width: 100%; }
    .project-advantages__item {
      width: calc(50% - .5rem);
      font-size: 0.8rem; }
      .project-advantages__item p {
        font-size: 0.7rem; }
  .project-info__wrap {
    padding: 2.4rem 0 2rem; }
  .project-info__advantages {
    gap: 1rem;
    flex-wrap: wrap; }
    .project-info__advantages li {
      width: calc(50% - .5rem); }
  .project-filter {
    margin-bottom: -3rem; }
    .project-filter__item {
      width: 100%; }
      .project-filter__item .filter-price {
        width: 100%; }
    .project-filter .filter-btns .filter__reset {
      display: inline-flex; }

  .about-main {
    padding: 2.5rem 0;
    margin-bottom: 2.5rem; }
    .about-main .container {
      gap: 2rem; }
  .about__img {
    width: 100%; }
  .about-advantages__list {
    gap: 1rem; }
  .about-advantages__item {
    width: 100%;
    height: 5rem;
    padding-left: 1rem; }
  .about-advantages__ico {
    width: 3rem; }
  .about-page {
    padding-bottom: 2rem; }
    .about-page__row {
      flex-direction: column;
      margin-bottom: 1.5rem; }
      .about-page__row .about-page__img {
        width: 100%; }
      .about-page__row:last-child {
        flex-direction: column-reverse; }
    .about-page__img {
      height: 24rem;
      margin-bottom: 1.5rem; }
      .about-page__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .about-page__text {
      width: 100%; }

  .genplan {
    padding: 2rem 0 5rem;
    position: relative; }
    .genplan-head {
      margin-bottom: 2rem; }
    .genplan-arrows {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 2rem; }

  .calc {
    padding: 4rem 0 3rem;
    font-size: 0.8rem; }
    .calc .section-title {
      margin-bottom: 2rem; }
    .calc-content {
      flex-wrap: wrap;
      gap: 1rem; }
    .calc-form {
      width: 100%; }
      .calc-form__input {
        font-size: 0.9rem;
        height: 3.2rem; }
    .calc-item {
      width: calc(50% - .5rem);
      padding: 1.5rem 1rem; }
      .calc-item__title {
        font-size: 1.2rem;
        height: 3rem; }
      .calc-item__item div {
        margin-bottom: 0.3rem; }
      .calc-item__item p {
        font-size: 0.7rem; }
        .calc-item__item p span {
          font-size: 1.2rem; }
      .calc-item__total {
        margin-top: 2rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0; }
        .calc-item__total div {
          font-size: 0.7rem; }
          .calc-item__total div span {
            font-size: 1.2rem; }

  .timeline {
    padding: 2rem 0 6rem;
    position: relative; }
    .timeline-head {
      margin-bottom: 2rem; }
    .timeline-arrows {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 3rem; }
    .timeline-item {
      font-size: 1.5rem;
      padding: 1.5rem; }

  .plans .section-title {
    margin-bottom: 2rem; }
  .plans-wrap {
    gap: 1rem; }
  .plans-info {
    width: 100%;
    padding: 1.5rem 1rem; }
  .plans__title {
    font-size: 0.8rem; }
  .plans-choose li {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.2rem; }
  .plans-list__item {
    padding: 0.7rem; }
  .plans-plan {
    padding: 3rem 1rem 1rem; }
    .plans-plan__finish {
      top: .5rem;
      left: .5rem; }
    .plans-plan__info {
      padding: 0.7rem 1rem;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1rem; }
    .plans-plan__name, .plans-plan__value {
      font-size: 0.9rem; }
    .plans-plan__btns {
      position: static;
      margin-top: 1rem;
      width: 100%;
      border-radius: .6rem;
      flex-direction: row; }
      .plans-plan__btns .btn {
        width: 50%;
        font-size: 0.9rem; }
    .plans-plan__btn {
      width: 50%;
      font-size: 0.9rem; }

  .gallery {
    padding-top: 4rem; }
    .gallery-main, .gallery-item {
      height: 35rem; }

  .infra {
    margin-bottom: -3rem; }
    .infra .section-title {
      margin-bottom: 2rem; }

  .finish {
    padding-top: 0; }
    .finish .section-title {
      margin-bottom: 2rem; }
    .finish-choose {
      flex-wrap: wrap;
      gap: .75rem;
      font-size: 0.9rem;
      margin-bottom: 1.5rem; }

  .near {
    padding-top: 4rem; }
    .near .section-title {
      margin-bottom: 2rem; }

  .flats-head {
    padding-top: 4rem; }
  .flats .project-filter {
    margin-bottom: 0; }
  .flats-item {
    width: 100%; }

  .policy {
    padding-bottom: 3rem; }

  .vacancy-choose {
    gap: .5rem;
    font-size: .9rem;
    margin-bottom: 1.5rem; }
    .vacancy-choose li {
      height: 2rem;
      padding: 0 1rem;
      min-width: 4rem; }
  .vacancy-list {
    gap: 1rem; }
  .vacancy-item {
    width: 100%;
    padding: 1.2rem; }
    .vacancy-item__wrap {
      font-size: 0.8rem; }
  .vacancy-popup__content {
    flex-direction: column;
    width: calc(100% - 2rem);
    padding: 2.5rem 1rem;
    border-radius: 0; }
  .vacancy-popup__wrap, .vacancy-popup__form {
    width: 100%; }

  .contact {
    padding-bottom: 3rem; }
    .contact-info__item:nth-child(odd) {
      padding-right: 1rem; }
    .contact-info__item:nth-child(even) {
      padding-left: 1rem; }
    .contact-info__item:nth-child(1), .contact-info__item:nth-child(2) {
      padding-bottom: 1rem; }
    .contact-info__item:nth-child(3), .contact-info__item:nth-child(4) {
      padding-top: 1rem; }
      .contact-info__item:nth-child(3)::before, .contact-info__item:nth-child(4)::before {
        width: calc(100% - 1rem); }
    .contact-info__item:nth-child(4)::before {
      left: 1rem; }

  .devplan .container {
    top: 2rem; }
  .devplan-info {
    right: 1rem;
    top: auto;
    bottom: 2rem;
    width: 3.5rem;
    height: 3.5rem;
    font-size: 0.85rem;
    border-radius: .35rem; }
    .devplan-info__number {
      font-size: 1.5rem; }

  .building-info {
    right: 1rem;
    top: auto;
    bottom: 2rem;
    width: 3.5rem;
    height: 3.5rem;
    font-size: 0.85rem;
    border-radius: .35rem; }
    .building-info__number {
      font-size: 1.5rem; }

  .floor {
    padding: 13rem 0 6rem; }
    .floor .building-back {
      top: 9rem; }
    .floor__compass {
      right: 1rem;
      top: 7.5rem; }
    .floor-info {
      flex-wrap: wrap;
      justify-content: center; }
      .floor-info li {
        width: 33.33%;
        padding-bottom: .8rem;
        margin-bottom: 1rem; }
        .floor-info li div {
          font-size: 1.5rem; }
    .floor-wrap {
      padding: 0 1rem; }
    .floor-main {
      height: 20rem;
      border-radius: 1.5rem; }
    .floor-scheme {
      width: calc(50% - .25rem);
      padding: 0.75rem; }

  .flat-right {
    gap: .5rem; }
  .flat-btns span {
    height: 0; }
  .flat .floor-main {
    height: 24rem; }

  .footer-card__top {
    padding: 5.5rem 1rem 2rem;
    position: relative;
    gap: 1.5rem 0; }
  .footer-card__bot {
    padding: 2rem 1rem;
    flex-direction: column;
    gap: 1.2rem; }
  .footer__logo {
    position: absolute;
    left: 1rem;
    top: 1.5rem; }
  .footer-col {
    width: 100%; }
    .footer-col:first-child {
      order: 999; }
  .footer-menu__head {
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 0; }
    .footer-menu__head img {
      width: 1.5rem;
      display: block;
      transition: .6s all; }
    .footer-menu__head.active img {
      transform: rotate(180deg); }
  .footer-menu__list {
    display: none;
    margin-top: 1rem; }
  .footer__img {
    width: 4rem; }
  .footer__text {
    font-size: 0.85rem; }
  .footer__links {
    font-size: 0.85rem;
    flex-direction: column;
    gap: 1rem; }
  .footer-copy {
    font-size: 0.85rem; }
    .footer-copy span {
      display: none; }
  .footer-nav {
    font-size: 0.7rem;
    padding-top: 0.5rem; } }
@media (max-width: 389.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 375.98px) {
  :root {
    font-size: 14px; } }
@media (max-width: 345.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 330.98px) {
  :root {
    font-size: 12px; } }
@media (max-width: 320.98px) {
  :root {
    font-size: 11px; } }
@media (max-width: 300.98px) {
  :root {
    font-size: 10px; } }
@media (max-width: 1000px) and (orientation: landscape) {
  :root {
    font-size: 8.5px; } }
@media (max-width: 700px) and (orientation: landscape) {
  :root {
    font-size: 8px; } }

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