/*
Theme Name: NovPet
Author: novostroyki-msk.ru
Author URI: https://novostroyki-msk.ru
Version: 1.3
*/



    :root {
      /* Светлая тема (по умолчанию) */
      --background: #eaedf1;
      --text: #333333;
      --block-bg: #ffffff;
      --block-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
      --border: #eaedf1;
      --button-bg: #357ebd;
      --button-hover: #4a8fd5;
      --nav-hover: #dadde2;
      --site-settings-block-bg: #eaedf1;
      --input-bg: #ffffff;
      --input-border: #cccccc;
      --modal-bg: #ffffff;
      --modal-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
      --select-bg: #ffffff;
      --select-border: #cccccc;
      --checkbox-bg: #ffffff;
      --checkbox-border: #cccccc;
      --radio-bg: #e2e2e3;
      --tabs-bg: #ffffff;
      --tabs-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      --codebox-bg: #f8f8f8;
      --codebox-border: #cccccc;
      --codebox-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
      --popup-bg: #ffffff;
      --popup-text: #545454;
      --calendar-bg: #ffffff;
      --calendar-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
      --scrollbar-track: #f1f1f1;
      --scrollbar-thumb: #888888;
      --table-stat-tr-bg: #f2f2f2;
      --secondary-block-bg: #e1e5ec;
      --button-universal-hover-bg: #d4dbe0;
      /* Основные переменные для hero секции */
      --primary-text: #333;
      --secondary-text: #757575;
      --accent-color: #1389fe;
      --dark-bg: #373737;
      --light-bg: #f1f2f3;
      --white-bg: #ffffff;
      --border-color: #e0e0e0;
      --border-radius: 0.5rem;
    }
    
    html.dark {
      /* Темная тема */
      --background: #1a1a1a;
      --text: #c4c9d6;
      --block-bg: #28292a;
      --block-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
      --border: #38393c;
      --button-bg: #357ebd;
      --button-hover: #4a8fd5;
      --nav-hover: #494b4e;
      --site-settings-block-bg: #2f3031;
      --input-bg: #38393c;
      --input-border: #38393c;
      --modal-bg: #38393c;
      --modal-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
      --select-bg: #38393c;
      --select-border: #38393c;
      --checkbox-bg: #38393c;
      --checkbox-border: #38393c;
      --radio-bg: #38393c;
      --tabs-bg: #38393c;
      --tabs-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
      --codebox-bg: #38393c;
      --codebox-border: #38393c;
      --codebox-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
      --popup-bg: #38393c;
      --popup-text: #ffffff;
      --calendar-bg: #38393c;
      --calendar-shadow: 1px 0 0 #38393c, -1px 0 0 #38393c, 0 1px 0 #38393c, 0 -1px 0 #38393c, 0 3px 13px rgba(0, 0, 0, 0.3);
      --scrollbar-track: #38393c;
      --scrollbar-thumb: #6a6a6a;
      --table-stat-tr-bg: #3d3f44;
      --secondary-block-bg: #28292a;
      --button-universal-hover-bg: #2f3031;
    }
    
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    
    body {
      display: flex;
      flex-direction: column;
      align-items: center;
      font-family: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
      background: var(--background);
      color: var(--text);
    }
    
    .filter-container {
      max-width: 77.5rem;
      margin: 0 auto;
      padding: 0 1.25rem;
    }
    
    /* Header Styles */
    .theme-toggle {
      position: relative;
      background: none;
      border: none;
      cursor: pointer;
      padding: 12px 16px;
      border-radius: 10px;
      width: 48px;
      height: 48px;
    }
    
    .theme-toggle svg {
      position: absolute;
      top: 12px;
      left: 16px;
      width: 24px;
      height: 24px;
      transition: opacity 0.3s ease, transform 0.3s ease;
      stroke: #222;
    }
    
    .theme-toggle .sun {
      opacity: 0;
      transform: rotate(-90deg);
    }
    
    .theme-toggle .moon {
      opacity: 1;
      transform: rotate(0);
    }
    
    html.dark .theme-toggle .sun {
      opacity: 1;
      transform: rotate(0);
    }
    
    html.dark .theme-toggle .moon {
      opacity: 0;
      transform: rotate(90deg);
    }
    
    header {
      position: absolute;
      top: 0;
      padding: 14px 0;
      background: rgba(255, 255, 255, 0.3);
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
      z-index: 1000;
      display: flex;
      justify-content: center;
      width: calc(100% - 1.75rem);
      margin-top: 16px;
      border-radius: 15px;
      max-width: 77.5rem;
      min-width: 330px;
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.3);
    }
    
    .header-container {
      max-width: 77.5rem;
      width: 100%;
      padding: 0 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #c4c9d6;
    }
    
    .logo img {
      width: 200px;
      height: auto;
      transition: width 0.3s ease;
    }
    
    .header-right {
      display: flex;
      align-items: center;
      gap: 20px;
    }
    
    .header-item {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .header-nav .header-nav-list {
      display: flex;
      gap: 30px;
      list-style: none;
    }
    
    /* Скрываем все пункты меню по умолчанию */
    .header-nav .header-nav-list li {
      display: none;
    }
    
    .header-nav .header-nav-list a {
      display: flex;
      align-items: center;
      color: #222;
      font-weight: 600;
      padding: 5px 0;
      position: relative;
      text-decoration: none;
      text-wrap: nowrap;
      gap: 4px;
    }
    
    .header-nav .header-nav-list a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 2px;
      background-color: #3498db;
      transition: width 0.3s ease;
    }
    
    .header-nav .header-nav-list a:hover::after,
    .header-nav .header-nav-list a.active::after {
      width: 100%;
    }
    
    /* Показываем пункты меню поэтапно в зависимости от ширины экрана */
    /* Первый пункт: "Все новостройки" - показываем с 780px */
    @media (min-width: 780px) {
      .header-nav .header-nav-list li:nth-child(1) {
        display: block;
      }
    }
    
    /* Второй пункт: "Скидки и Акции" - показываем с 780px */
    @media (min-width: 780px) {
      .header-nav .header-nav-list li:nth-child(2) {
        display: block;
      }
    }
    
    /* Третий пункт: "Рейтинг новостроек" - показываем с 900px */
    @media (min-width: 1000px) {
      .header-nav .header-nav-list li:nth-child(3) {
        display: block;
      }
    }
    
    /* Четвертый пункт: "Новости рынка" - показываем с 1050px */
    @media (min-width: 1180px) {
      .header-nav .header-nav-list li:nth-child(4) {
        display: block;
      }
    }
    
    .burger {
      display: block;
      position: relative;
      cursor: pointer;
      padding: 12px 16px;
      width: 48px;
      height: 48px;
      background: none;
      border: none;
    }
    
    .burger svg {
      position: absolute;
      top: 12px;
      left: 16px;
      width: 24px;
      height: 24px;
      transition: opacity 0.3s ease, transform 0.3s ease;
      stroke: #222;
    }
    
    .burger .burger-icon {
      opacity: 1;
      transform: rotate(0);
    }
    
    .burger .cross-icon {
      opacity: 0;
      transform: rotate(-90deg);
    }
    
    .burger.active .burger-icon {
      opacity: 0;
      transform: rotate(90deg);
    }
    
    .burger.active .cross-icon {
      opacity: 1;
      transform: rotate(0);
    }
    
    .burger-container {
      display: flex;
      align-items: center;
      gap: 2px;
    }
    
    .burger-menu {
      position: fixed;
      display: flex;
      justify-content: center;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: var(--background);
      transform: translateX(100%);
      transition: all 0.3s ease;
      z-index: 999;
      overflow-y: auto;
      padding: 120px 30px 80px 30px;
    }
    
    .burger-menu.active {
      transform: translateX(0);
    }
    
    .burger-menu-content {
      display: flex;
      flex-direction: column;
      gap: 20px;
      max-width: 77.5rem;
      width: 100%;
    }
    
    .burger-menu .header-item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }
    
    .burger-menu .nav-list {
      display: flex;
      flex-direction: column;
      gap: 20px;
      min-width: auto;
      list-style: none;
    }
    
    .burger-menu .nav-list li a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px 16px;
      color: var(--text);
      text-decoration: none;
      font-size: 16px;
      transition: all 0.3s ease;
      border-radius: 10px;
      min-width: auto;
      text-align: left;
      white-space: nowrap;
    }
    
    .burger-menu .nav-list li a:hover,
    .burger-menu .nav-list li a.active {
      background: var(--nav-hover);
    }
    
    .burger-menu .nav-list li a svg {
      width: 18px;
      height: 18px;
    }
    
    /* Hero Section Styles */
    .hero-section {
      position: relative;
      width: 100%;
      background-color: var(--dark-bg);
      overflow: hidden;
    }
    
    .slider-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 1.5s ease-in-out, transform 2s ease-out;
      z-index: 1;
      transform: scale(1.1);
    }
    
    .slider-image.active {
      opacity: 1;
    }
    
    @keyframes zoomOut {
      0% { transform: scale(1); }
      100% { transform: scale(1.1); }
    }
    
    .hero-content {
      display: flex;
      justify-content: center;
      align-items: center;
      width: calc(100% - 1.75rem);
      position: relative;
      z-index: 2;
      padding: 7rem 0 5rem 0;
    }
    
    .search-container {
      backdrop-filter: blur(0.625rem);
      width: 100%;
      min-width: 310px;
      background: rgba(255, 255, 255, 0.3);
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 0.75rem;
      padding: 1.875rem 1.25rem;
      box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.2);
    }
    
    .search-form {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
    }
    
    .search-row {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      width: 100%;
    }
    
    .deadline-actions-wrapper {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
    }
    
    .rooms-filter {
      display: flex;
      background-color: var(--input-bg);
      border-radius: var(--border-radius);
    }
    
    .location-search {
      display: flex;
      background-color: var(--input-bg);
      border-radius: var(--border-radius);
      padding: 0.3125rem;
      flex: 1;
    }
    
    .location-search__input {
      border: none;
      background: transparent;
      padding: 0.625rem;
      font-size: 1rem;
      width: 100%;
      outline: none;
      color: var(--text);
    }
    
    .price-filters {
      display: flex;
      gap: 0.7rem;
    }
    
    .price-filter {
      display: flex;
      background-color: var(--input-bg);
      border-radius: var(--border-radius);
      padding: 0.3125rem;
      flex: 1;
    }
    
    .price-filter__label {
      align-self: center;
      padding-left: 0.375rem;
      color: var(--secondary-text);
      white-space: nowrap;
    }
    
    .price-filter__input {
      border: none;
      background: transparent;
      padding: 0.625rem 0.1875rem;
      font-size: 1rem;
      width: 100%;
      outline: none;
      color: var(--text);
    }
    
    .price-filter__currency {
      align-self: center;
      padding-right: 0.375rem;
      color: var(--secondary-text);
    }
    
    .deadline-filter {
      display: flex;
      background-color: var(--input-bg);
      border-radius: var(--border-radius);
    }
    
    .action-buttons {
      display: flex;
      flex-grow: 1;
      gap: 0.7rem;
    }
    
    .btn {
      padding: 0.75rem 1.25rem;
      border: none;
      border-radius: var(--border-radius);
      cursor: pointer;
      font-size: 1rem;
      white-space: nowrap;
      background-color: var(--input-bg);
      color: var(--text);
      transition: background-color 0.3s, color 0.3s;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }
    
    .btn:hover {
      background-color: var(--nav-hover);
    }
    
    .btn.btn--active {
      background-color: var(--accent-color);
      color: white;
    }
    
    .btn--filter {
      flex: 1;
      font-size: 0.875rem;
      padding: 0.75rem 0.625rem;
    }
    
    .rooms-filter .btn--filter {
      padding: 0.75rem 1rem;
    }
    
    .btn--submit {
      background-color: var(--dark-bg);
      color: white;
      font-weight: bold;
      flex: 1;
    }
    
    .btn--submit:hover {
      background-color: #555;
    }
    
    .btn--secondary {
      background-color: var(--dark-bg);
      color: #fff;
      font-weight: 400;
      flex: 1;
    }
    
    .btn--secondary:hover {
      background-color: #555;
    }
    
    .btn--secondary .count {
      position: absolute;
      top: -8px;
      right: -8px;
      background: var(--accent-color);
      color: white;
      border-radius: 50%;
      width: 20px;
      height: 20px;
      display: none;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: bold;
    }
    
    .btn--secondary .count.show {
      display: flex;
    }
    
    .rooms-filter, .location-search, .price-filter, .deadline-filter, .action-buttons {
      height: 3.125rem;
    }
    
    /* Modal Styles */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.7);
      z-index: 10000;
      display: none;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    
    .modal-overlay.show {
      opacity: 1;
    }
    
    .modal {
      background: var(--modal-bg);
      border-radius: 12px;
      width: 90%;
      max-width: 600px;
      max-height: 80vh;
      display: flex;
      flex-direction: column;
      box-shadow: var(--modal-shadow);
      transform: scale(0.7);
      transition: transform 0.3s ease;
    }
    
    .modal-overlay.show .modal {
      transform: scale(1);
    }
    
    .modal-header {
      padding: 20px 24px;
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-shrink: 0;
    }
    
    .modal-title {
      font-size: 20px;
      font-weight: 600;
      color: var(--text);
    }
    
    .modal-close {
      background: none;
      border: none;
      font-size: 24px;
      cursor: pointer;
      color: var(--text);
      padding: 4px;
    }
    
    .modal-body {
      padding: 24px;
      overflow-y: auto;
      flex: 1;
    }
    
    .modal-footer {
      padding: 20px 24px;
      border-top: 1px solid var(--border);
      display: flex;
      gap: 12px;
      justify-content: flex-end;
      flex-shrink: 0;
    }
    
    .filter-group {
      margin-bottom: 24px;
    }
    
    .filter-group:last-child {
      margin-bottom: 0;
    }
    
    .filter-label {
      display: block;
      margin-bottom: 12px;
      font-weight: 500;
      color: var(--text);
    }
    
    .filter-inputs {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
    }
    
    .filter-input-wrapper {
      display: flex;
      background-color: var(--input-bg);
      border-radius: var(--border-radius);
      padding: 0.3125rem;
    }
    
    .filter-input-label {
      align-self: center;
      padding-left: 0.375rem;
      color: var(--secondary-text);
      white-space: nowrap;
    }
    
    .filter-input {
      border: none;
      background: transparent;
      padding: 0.625rem 0.1875rem;
      font-size: 1rem;
      width: 100%;
      outline: none;
      color: var(--text);
    }
    
    .filter-input-unit {
      align-self: center;
      padding-right: 0.375rem;
      color: var(--secondary-text);
    }
    
    .filter-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    
    .filter-option {
      padding: 12px 16px;
      border: 1px solid var(--input-border);
      border-radius: 8px;
      background: var(--input-bg);
      color: var(--text);
      cursor: pointer;
      transition: all 0.3s;
      font-size: 14px;
    }
    
    .filter-option:hover {
      background: var(--nav-hover);
    }
    
    .filter-option.active {
      background: var(--accent-color);
      color: white;
      border-color: var(--accent-color);
    }
    
    .districts-btn {
      padding: 12px 16px;
      border: 1px solid var(--input-border);
      border-radius: 8px;
      background: var(--input-bg);
      color: var(--text);
      cursor: pointer;
      transition: all 0.3s;
      font-size: 14px;
      text-align: left;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .districts-btn:hover {
      background: var(--nav-hover);
    }
    
    .districts-btn .count {
      background: var(--accent-color);
      color: white;
      border-radius: 50%;
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: bold;
    }
    
    /* Checkbox styles */
    .checkbox-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
   
    
    .checkbox-group:first-child {
      border-left: none;
      padding-left: 0;
      margin-left: 0;
    }
    
    .checkbox-group-title {
      font-weight: 600;
      color: var(--text);
      margin-bottom: 8px;
      font-size: 16px;
    }
    
    .checkbox-subgroup {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-left: 16px;
    }
    
    .checkbox-item {
      flex: 0 0 auto;
    }
    
    .checkbox-label {
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 4px;
      font-size: 14px;
      padding: 8px 12px;
      background: #eaedf1;
      border: solid 1px #eaedf1;
      transition: background .2s ease-in-out, border .2s ease-in-out;
      user-select: none;
      cursor: pointer;
      color: var(--text);
    }
    
    .checkbox-label:hover {
      background-color: #dadde2;
    }
    
    .checkbox-label.selected {
      background-color: #5d646b;
      border: solid 1px #5d646b;
      color: #fff;
    }
    
    .checkbox-label.selected:hover {
      background-color: #5d646b;
      border: solid 1px #5d646b;
    }
    
    .checkbox-input {
      display: none;
    }
    
    @media (min-width: 410px) {
      .logo img {
        width: 240px;
      }
      .burger-container {
        gap: 10px;
      }
    }
    
    @media (min-width: 660px) {
      .search-container {
        padding: 2.5rem 1.875rem;
      }
      .search-row--primary {
        flex-direction: row;
        align-items: stretch;
      }
      .rooms-filter {
        max-width: 20.625rem;
        flex-shrink: 0;
      }
      .location-search {
        flex: 1;
      }
      .btn--filter, .rooms-filter .btn--filter {
        font-size: 1rem;
        padding: 0.75rem 1.25rem;
      }
      .price-filter__label {
        padding-left: 0.625rem;
      }
      .price-filter__input {
        padding: 0.625rem 0.375rem;
      }
      .price-filter__currency {
        padding-right: 0.625rem;
      }
      .filter-inputs {
        flex-direction: row;
      }
      .filter-input-label {
        padding-left: 0.625rem;
      }
      .filter-input {
        padding: 0.625rem 0.375rem;
      }
      .filter-input-unit {
        padding-right: 0.625rem;
      }
      .checkbox-subgroup {
        margin-left: 0;
      }
    }
    
    @media (min-width: 740px) {
      .deadline-actions-wrapper {
        flex-direction: row;
        align-items: stretch;
      }
      header {
        margin-top: 40px;
      }
      .hero-content {
        padding: 10rem 0 10rem 0;
      }
      .burger-menu {
        padding: 140px 30px 80px 30px;
      }
    }
    
    @media (min-width: 960px) {
      .search-row--secondary {
        flex-direction: row;
        align-items: stretch;
      }
      .price-filters {
        max-width: 23.75rem;
      }
      .deadline-actions-wrapper {
        flex: 1;
      }
      .deadline-filter {
        max-width: 26.25rem;
        flex-shrink: 0;
      }
      .deadline-filter .btn--filter {
        padding: 0.75rem 0.625rem;
      }
      .action-buttons .btn--secondary {
        max-width: 10rem;
        flex: 0 0 auto;
      }
      .action-buttons .btn--submit {
        flex: 1;
      }
    }
    
    @media (min-width: 1100px) {
      .rooms-filter {
        min-width: 26.25rem;
      }
      .price-filters {
        max-width: 26.25rem;
      }
      .deadline-filter .btn--filter {
        padding: 0.75rem 1.25rem;
      }
    }
























:root {
  --body-content-padding-vertical: 24px;
  --container-width: 1200px;
  --container-padding-horizontal: 0px;
  --section-padding-horizontal: 30px;
  --section-padding-vertical: 20px;
  --section-heading-margin-bottom: 20px;
  --aside-width: 300px;
  --main-margin-right: 24px;
  --checkbox-icon__background: #eaedf1;
  --checkbox-icon__background--hover: #eaedf1;
  --checkbox-icon__background--checked: #5d646b;
  --checkbox-icon__border: #eaedf1;
  --checkbox-icon__border--hover: #5d646b;
  --checkbox-icon__border--active: #5d646b;
  --section-cards__btn-background: #ed6f70;
  --section-cards__btn-background--hover: grey;
  --grid-phone-icon-size: 88px;
}

.html {
  overflow-y: hidden;
}

body {
    margin: 0;
    font-size: 16px;
}

.body {
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  height: 100%;
}

.body__content-wrap {
  display: flex;
  padding: var(--body-content-padding-vertical) 0;
}

ul {
  list-style: none;
  padding-left: 0;
}

a {
  text-decoration: none;
  color: #3a70a2;
}

h1, h2, h3 {
    color: #333;
}

h2, h3 {
    margin: 0;
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
}

h3 {
  padding-bottom: 10px;
  padding-top: 10px;
}

.heading, .sub-heading {}

.sub-heading {
  margin: 0;
  font-size: 20px;
  line-height: 24px;
  font-weight: 500;
  color: #333;
  text-align: left;
}


 .section-hero__title {
  margin: 0;
  font-size: 22px;
  font-weight: 400;
  line-height: 28px;
}

 .center__title {
  margin: 0;
  font-size: 28px;
  font-weight: 300;
  text-align: center;
}

.main__container {
    height: 100%;
}

.section__head {
  margin-bottom: var(--section-heading-margin-bottom);
  padding-top: var(--section-heading-padding-top);
}

.section__head--center {
  padding: 20px 30px 0px 30px;
  display: flex;
  justify-content: space-between;
}

.section-hero_leftblock {
  text-align: left;
}

.section-hero_leftblock span {
  color: #333;
  line-height: 30px;
  font-weight: 300;
}

.section-hero_rightblock {
  text-align: right;
  min-width: 187px;
  border-left: 1px solid #ddd;
  padding-left: 20px;
}

.section__content-wrap--horizontal {
  padding: 0 var(--section-padding-horizontal);
}

.section__content-wrap--vertical {
  padding: var(--section-padding-vertical) 0;
}

.section:not(:first-child) {
  margin-top: 24px;
}

/*
.preloader {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: white;
  z-index: 999999999999999 !important;
  transition: opacity .2s ease;
  background: #bcc9d5;
}

*/

.main {
  margin-right: var(--main-margin-right);
  width: calc(var(--container-width) - var(--aside-width) - var(--main-margin-right));
}

.aside {
  width: var(--aside-width);
}

.body--navMode {
  height: 100vh;
  width: 100%;
  overflow-y: hidden !important;
}

.container {
  margin: 0 auto;
  padding: 0 var(--container-padding-horizontal);
  width: var(--container-width);
}

.text-center {
  text-align: center;
}

.text-content__context p {
  padding-bottom: 20px;
  line-height: 24px;
  text-align: left;
  color: #333;
  font-size: 16px;
  width: 100%;
}

p.press-release-info {
  padding-bottom: 20px;
  line-height: 24px;
  text-align: left;
  color: #999;
  font-size: 10px;
  width: 100%;
}

p.gray {
  background: #eaedf1;
  padding: 10px;
  margin-bottom: 10px;
}

.sub-sub-heading {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  color: #333;
}

.splitter--horisontal {
  border: solid 1px rgb(220, 220, 220);
  border-width: 0 0 1px 0;
}

.marketing {
  padding: 5px;
  padding-left: 12px;
  padding-right: 12px;
  border-radius: 12px;
  color: rgb(43, 43, 43);
  background-color: rgba(255, 255, 255, .3);
  font-size: 14px;
}

.text-widget {
  display: flex;
  align-items: center;
  flex: 1 0 0;
  height: 100%;
  text-align: center;
  padding-left: 10px;
}

.text-widget__icon {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  fill: #555;
}

.text-widget__icon path {
  width: 100%;
  height: 100%;
}

.text-widget__control {
  width: 100%;
  padding-left: 10px;
}

.text-widget__btn-clear {
  --size: 40px;
  display: flex;
  flex-shrink: 0;
  margin: auto 0;
  width: var(--size);
  height: var(--size);
  cursor: pointer;
}

.text-widget__btn-clear:hover svg path {
  fill: black;
}

.text-widget__btn-clear svg {
  --size: 14px;
  margin: auto;
  width: var(--size);
  height: var(--size);
  transform: scale(0);
  transition: transform .2s ease;
  pointer-events: none;
}

.text-widget__btn-clear--active svg {
  transform: scale(1);
}

.text-widget__btn-clear svg path {
  transition: fill .2s ease;
  fill: rgb(170, 170, 170);
  pointer-events: none;
}

.swiper {
  position: relative;
  width: 100%;
  /* border-radius: 5px; */
  /* height: 600px; */
}

.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  overflow: hidden;
}




.icon-arrow {
  display: block;
  width: 15px;
  height: 15px;
  fill: #59606e;
  transition: transform .4s ease;
  pointer-events: none;
}


/* MAIN */

/* section-hero */

.section-hero {
  background-color: white;
  width: 100%;
  /* padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px; */
}

.section-hero__title {
  
}

.section-hero__img {
  display: block;
  width: 100%;
}

.hero__swiper-container {
  position: relative;
  height: 427px;
  /* padding-bottom: 65%; */
  background: #d7dce3;
}

.hero-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.hero-slider__gallery {
  position: relative;
  height: 100%;
  width: 100%;
}

.slider-picture {
  width: 100%;
  height: 100%;
}

.hero-slider__slide {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  overflow: hidden;
  flex-shrink: 0;
  cursor: auto;
  z-index: 1;
  border-radius: 0;
  height: 100%;
  cursor: pointer;
}

.hero-slider__img {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-map {
  background-color: white;
}

.map-wrap {
  width: 100%;
  height: 300px;
  position: relative;
}

.section__content-wrap--vertical-map {
  padding-bottom: 0;
}

.map-container-hor {
  padding: 0 10px;
}

.section-map__heading {
  
}

.map {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.mapFull {
  animation: moveIn .3s 1 ease-out;
}

.mapFullOff {
  animation: moveOut .3s 1 ease-out;
}

/* section-cards */

.card {
  position: relative;
  display: flex;
  /* padding: 10px; */
  background-color: white;
  box-shadow: 0 0 6px 2px #2426290a;
  overflow: hidden;
  transition: box-shadow .2s ease;
}

.card:hover {
  box-shadow: 0 0 8px 4px #24262930;
}

.card--link {
  color: #333;
  cursor: pointer;
}

.card--horizontal {
  flex-direction: row;
  height: 190px;
}

.card--vertical {
  flex-direction: column;
}

.card__img-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  overflow: hidden;
  flex-shrink: 0;
}

.card__img-container--horizontal {
  width: 300px;
}

.card__img-container--vertical {
  height: 220px;
  min-width: 100%;
}

.card__img-container--border-radius {
  border-radius: 4px;
}

.card__img {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  object-fit: cover;
  transition: 0.5s;
}

.card__img:hover {
  transform: scale(1.2);
}

.card-list__item:not(:last-child) {
  margin-bottom: 16px;
}

.card__item-sub-img {
  position: absolute;
  right: 10px;
  bottom: 2px;
  max-width: 70px;
  max-height: 42px;
}

.card__pict-item {
  background-image: url('../img/metro.png');
  background-size: 20px 15px;
  background-position: left;
  background-repeat: no-repeat;
  padding-left: 30px;
}

.card__content {
  width: 100%;
  /* padding: 8px 0 0 14px; */
  padding: 10px 16px 10px 16px;
}

.card__content--vertical {
  /* padding: 8px 14px 0 14px; */
  padding: 8px 14px 10 14px;
}

.card__content-list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.card__text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-width: fit-content;
  max-width: -moz-fit-content;
  width: auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card__text--overflow {
  line-height: 18px;
}

.card__text--metro {
  line-height: 18px;
}

.card__content-item:not(:first-child) {}

.card__content-item--vertical:first-child {
  margin-top: 5px;
}

.card__content-item--vertical:not(:first-child) {
  margin-top: 15px;
}

.card__title {
  font-size: 20px;
  font-weight: 400;
  color:#333;
  line-height: 22px;
}

.card__key-val-item {
  display: flex;
  align-items: center;
}

.card__key-item {
  padding-right: 8px;
  color: #555;
  font-weight: 300;
}

.card__sel-item--center {
  font-size: 20px;
  color: #53b374;
  text-transform: uppercase;
  font-weight: 600;
}

.card__sel-item:not(:last-child) {
  margin-right: 3px;
}

.section-cards__btn {
  margin-top: 30px;
  margin-bottom: 30px;
  width: 220px;
  height: 60px;
  background-color: #3C424F;
}

.section-cards__btn:hover {
  background-color: #6b8db6;
}

.text-content {
  background-color: white;
}

.text-content__context {}

.text-content__text {}

/****SLIDER*********/

.swiper-wrapper--clickable {
  z-index: 10;
  cursor: pointer;
}

.btn-slider {
  z-index: 20;
}

.button-prev {
  width: 42px;
  height: 42px;
  background: #fff;
  box-shadow: 0 2px 20px rgb(7 19 33 / 8%), 0 2px 4px rgb(7 19 33 / 4%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  outline: 0;
  top: calc(50% - 21px);
  left: 10px;
  position: absolute;
  display: flex;
  z-index: 10;
  cursor: pointer;
}

.button-next {
  width: 42px;
  height: 42px;
  background: #fff;
  box-shadow: 0 2px 20px rgb(7 19 33 / 8%), 0 2px 4px rgb(7 19 33 / 4%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  outline: 0;
  top: calc(50% - 21px);
  right: 10px;
  position: absolute;
  display: flex;
  z-index: 10;
  cursor: pointer;
}

.btn-slider-next--out {
  right: calc(10px + var(--container-padding-horizontal));
}

.button-next svg {
  transform: scaleX(-1);
}

.btn-slider:after {
  content: '';
  position: absolute;
  height: 48px;
  width: 48px;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  z-index: 1;
  transition: .3s cubic-bezier(.49, .84, 0, 1.28);
  background: #fff;
  transform: scale(0);
  border-radius: 50%;
}

.btn-slider:hover:after {
  transform: scale(1);
}

.btn-slider svg {
  position: relative;
  --svg-width: 38px;
  width: 15px;
  height: 10px;
  z-index: 5;
  fill: #000000;
}

.custom-swiper-pagination {
  padding: 12px 16px;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 13px;
  line-height: 15px;
  font-weight: 500;
  width: 100%;
  max-width: 80px;
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: auto;
  z-index: 99;
}

.thumb-gallery__fullscreen svg {
  width: 17px;
  height: 17px;
}

.thumb-gallery__fullscreen {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 20;
  background-color: #fff;
  color: #272727;
  fill: black;
  width: 44px;
  height: 44px;
  display: flex;
  border-radius: 100%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color .2s ease;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}

.thumb-gallery__fullscreen:hover {
  background-color: rgba(255, 255, 255, 0.8);
  transition: background-color .2s ease;
}

.lg-sub-html {
  opacity: 0;
  visibility: hidden;
}

.lg-download.lg-icon {
  display: none;
}

.popup-gallery {
  position: relative;
}

.loop-slider::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #007aff;
  opacity: 0;
}

.loop-slider {
  width: 100%;
}

/* section-img-slider */

.section-img-slider {
  display: none;
}

.img-slider__slide {
  height: 220px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  overflow: hidden;
  flex-shrink: 0;
  cursor: pointer;
}

.img-slider__img {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* section-special */

.section-special {
  display: none;
}

.card--swipe {
  width: 300px;
}

.card--swipe:hover {
  cursor: pointer;
}

.special__marketing {
  position: absolute;
  top: 10px;
  right: 10px;
}

.slider-out::before {
  width: calc(100% + var(--container-padding-horizontal));
}

.slider-full-img__slide-img {
    width: 100%;
    height: auto;
}

.slider-pagination-hidden {
    display: none;
}

.slider-out {
  width: calc(100% + var(--container-padding-horizontal));
}

.section-aside-slider {
  display: none;
}

.section-aside-slider-top {
  display: none;
}

.aside-slider__slide {
  width: 300px;
}
/****END SLIDER*****/

/* section-house */

.section-house {
  background-color: white;
}

.section__head.ui-accordion {
  height: 20px;
}

.section-house__heading {
  text-align: left;
  padding: 0 var(--section-padding-horizontal);
}

.price-bold {
  margin: 0 5px;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}

.accordion__item-heading {
  white-space: nowrap;
}

.accordeon-item-price {
  width: 140px;
  justify-content: space-between;
  flex-basis: 0 1 auto;
}

.section-house__price {
  display: flex;
  font-size: 16px;
  font-weight: 400;
  color: rgb(72, 72, 72);
}

.accordion__item-heading>* {
  display: inline-block;
}

.accordion__item-icon {
  display: flex;
  align-items: center;
}

.ui-accordion .ui-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 var(--section-padding-horizontal);
  padding: 24px 0;
  font-size: 16px;
  border-radius: 0;
  border: none;
  background-color: white;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #dddddd;
  font-family: "Roboto", sans-serif;
  outline: none;
}

.ui-accordion .ui-accordion-content {
  border: none;
  padding: 0 30px 0 25px;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  font-family: "Roboto", sans-serif;
  /* background-color: #f1f9f4; */
  -webkit-box-shadow: inset 0px 5px 8px -8px rgba(50, 50, 50, 0.75);
  -moz-box-shadow: inset 0px 5px 8px -8px rgba(50, 50, 50, 0.75);
  box-shadow: inset 0px 5px 8px -8px rgba(50, 50, 50, 0.75);
}

.section-house__item-content {
  display: none;
}

.ui-accordion .ui-accordion-header-active {
  /* background-color: #f1f9f4; */
  outline: none;
  color: #333;
}

.ui-accordion .ui-accordion-header-active .icon-arrow {
  transform: rotate(180deg);
}

.ui-accordion .ui-accordion-header-active~.ui-accordion-content {
  opacity: 1;
}

.ui-accordion .ui-accordion-header:hover {
  /* background-color: #f1f9f4; */
}

.ui-accordion .ui-accordion-header:active~.ui-accordion-content {
  /* background-color: #ddf0e3; */
}

.ui-accordion .ui-accordion-header:active {
  /* background-color: #ddf0e3; */
  outline: none;
}

.ui-accordion .ui-accordion-header:focus-visible {
  outline: none;
}

/* table */

.grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr) 46px;
  grid-auto-rows: minmax(55px, auto);
}

.price-grid {
  grid-template-columns: 15% 15% 1fr 1fr 1fr calc(var(--grid-phone-icon-size) + 6px);
  grid-auto-rows: minmax(55px, auto);
  padding-bottom: 20px;
}

.grid__cell {
  display: flex;
  align-items: center;
  padding: 3px;
  font-size: 14px;
  white-space: nowrap;
}

.grid__cell--center-h {
  justify-content: center;
}

.grid__header {
  color: rgb(170, 170, 170);
  font-size: 12px;
}

.multy-cell {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}

.multy-cell--horizontal {
  flex-direction: row;
}

.multy-cell__item--title {}

.multy-cell__item--description {
  font-size: 13px;
  color: #888;
  font-weight: 300;
  line-height: 20px;
}

.price-title {}

.price-grid__price-title {
  font-weight: 600;
}

.price-grid__price-title span {
  font-weight: 400;
}

.price-grid__phone-link {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  flex-shrink: 0;
  background-color: #eaedf1;
  color: #495057 !important;
  padding: 6px 8px;
  transition: background .2s ease;
}

.price-grid__phone-link:hover {
  background-color: #dcdfe3;
}

.price-grid__phone-img {
  --size: 30px;
  width: var(--size);
  height: var(--size);
  fill: rgb(175, 174, 174);
  transform: rotateY(180deg);
}

.price-grid__plan {
  display: flex;
  /* max-height: 60px; */
  justify-content: start;
  text-align: left;
  --size: 60px;
  width: var(--size);
  height: var(--size);
}

.price-grid__plan-img {
  width: 60px;
  height: 60px;
  padding: 7px;
  cursor: pointer;
  /* object-fit: scale-down;
  object-position: center center; */
}

.price-mobile-cell {
  display: none;
}

.price-sub-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: minmax(15px, auto);
  padding: 8px 0;
}

.grid__header--mobile {
  display: none;
}

.price-cell--mobile {
  grid-column: 1/3;
  font-size: 16px;
}

.price-cell--mobile span {
  font-size: 14px;
}

.price-date-cell--mobile {
  grid-column: 1/3;
  font-size: 12px;
}

.price-date-cell--mobile .multy-cell__item--description {
  font-size: 12px;
}

.price-size-cell--mobile {
  padding-right: 10px;
}

.price-floor-cell--mobile {
  padding-left: 10px;
  border: solid 1px rgb(209, 209, 209);
  border-width: 0 0 0 1px;
}

.grid-border-rows>.grid__cell {
  border: solid 1px rgb(231, 231, 231);
  border-width: 1px 0 0 0;
}

.grid-border-rows {
  margin-top: -1px;
}

/* section-property */

.section-property {
  background-color: white;
  /* padding: 30px; */
}

.section__head-property {
  /* margin-bottom: 20px; */
}

.section-property__heading {
  text-align: left;
  margin-bottom: 5px;
}

.section-property__description {
  font-size: 16px;
  color: #687e92;
}

.section-property__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: min-content;
  grid-gap: 26px;
}

.section-property__item {}

.property {
  display: flex;
}

.property__icon {
  --size: 40px;
  min-width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  width: var(--size);
  height: var(--size);
  border-radius: 4px;
  background-color: #eaedf1;
}

.property__body {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin-left: 10px;
}

.property__key {
  font-size: 14px;
  color: #787e84;
}

.property__value {
  font-size: 16px;
  color: rgb(33, 31, 46);
}

.property__value a {
  color: #3a70a2;
}

/* section-documents */
.section-documents__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: min-content;
  grid-gap: 26px;
}

.document {
  display: flex;
}

.document__icon {
  background-image: url('pdf.svg');
  background-size: cover;
  width: 30px;
  height: 35px;
  min-width: 30px;
}

.document__body {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin-left: 10px;
}

.document__value {
  font-size: 16px;
}

.document__value a {
  text-decoration: none;
}
.document__value a:hover {
  text-decoration: underline;
}

ul.textul{padding: 0 0 20px 16px; list-style-type:square; text-align:left;}
ul.textul li {color:#333; line-height:22px;}

.text-content__context ul {padding: 0 0 20px 16px; list-style-type:square; text-align:left;}
.text-content__context li {color:#333; line-height:24px; padding-bottom:6px;}
.text-content__context li:last-child {padding-bottom:0;}

/* section-calc */

.section-calc {
  background-color: white;
}

.section-calc__heading {
  text-align: left;
}

.calc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: max-content;
  grid-gap: 20px;
}

.calc__item {
  display: flex;
}

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

.cacl__key-val-block {
  height: min-content;
}

.calc__val-result {
  margin-top: auto;
}

.calc__btn {
  margin: auto 0;
  width: 100%;
  height: 60px;
  background-color: #6b8db6;
  font-size: 18px;
  font-weight: 600;
  position: relative;
  overflow:hidden
}

.calc__btn:hover {
  background-color: #3C424F;
}



.calc__btn:after {
 content:"";
 position:absolute;
 top:0;
 left:0;
 transform:translate(-220%) skewX(-20deg);
 width:70%;
 height:100%;
 background-image:linear-gradient(90deg,rgba(0,0,0,0),hsla(0,0%,100%,.3),rgba(0,0,0,0))
}
.calc__btn.calc__btn--search:after {
 animation:shine 3s ease-in-out;
 animation-iteration-count:infinite;
 visibility:hidden
}
@keyframes shine {
 0% {
  visibility:visible;
  transform:translate(-150%) skewX(-20deg)
 }
 33% {
  visibility:visible;
  transform:translate(150%) skewX(-20deg)
 }
 34%,
 to {
  visibility:hidden
 }
}



.calc__description {
  color: #333;
  margin: auto 0;
  font-weight: 300;
}

.calc__dialog-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column: 1/2;
  padding: 30px;
  padding-top: 0;
  grid-column-gap: 15px;
  grid-row-gap: 25px;
}

.calc__dialog-heading, .calc__dialog-hint, .calc__dialog-btn-submit, .calc__dialog-dop-info {
  grid-column: span 2;
}

.calc__dialog-title {
  text-align: left;
  font-weight: 500;
}

.key-val-block {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: auto;
  grid-column-gap: 5px;
  grid-row-gap: 4px;
  align-items: baseline;
}

.key-val-block__value {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}

.key-val-block__metric {
  color: #575757;
  font-size: 18px;
}

.key-val-block__key {
  grid-column: span 2;
}

.key-val-block__key--calc {
  font-size: 14px;
  color: #797979;
}

.key-val-block__key--calc-dialog {
  color: #575757;
  font-size: 12px;
}

.calc__dialog-sub-title {
  margin-top: 5px;
  color: #333;
  font-size: 14px;
}

.calc__dialog-hint {
  color: #575757;
  font-size: 14px;
  line-height: 20px;
}

.calc__input-widget {
  padding: 7px 10px;
  border: solid 1px gray;
  border-radius: 0;
  background: #fff;
  transition: box-shadow .2s ease;
}

.calc__input-widget:focus, .calc__input-widget:focus-within {
  border-color: #555;
  box-shadow: 0 0 10px 0 rgba(169, 169, 169, 0.5);
}

.calc__input-widget--noValid:focus-within {
  border-color: rgb(255, 0, 0);
  box-shadow: 0 0 10px 0 rgba(255, 0, 0, .5);
}

.calc__input-widget--valid {
  border-color: rgb(19, 157, 85);
}

.calc__input-widget--valid:focus, .calc__input-widget--valid:focus-within {
  border-color: rgb(19, 157, 85);
  box-shadow: 0 0 10px 0 rgba(19, 157, 85, .5);
}

.calc__input {
  border: none;
  padding: 0;
  padding-left: 7px;
  outline: none;
}

.calc-input-widget div {
  pointer-events: none;
}

.calc__input::placeholder {
  color: #b2b2b2;
}

.calc-input-widget:focus .calc-input-widget__placeholder, .calc-input-widget:focus-within .calc-input-widget__placeholder, .calc__input-widget--valid .calc-input-widget__placeholder {
  transform: translate(0, 0) scale(.8);
  transform-origin: left;
}

.calc-input-widget:focus .phone-widget__prefix, .calc-input-widget:focus-within .phone-widget__prefix, .calc__input-widget--valid .phone-widget__prefix {
  visibility: visible;
}

.calc__input-widget--noEmpty .calc-input-widget__placeholder {
  transform: translate(0, 0) scale(.8);
  transform-origin: left;
}

.calc__input-widget--noEmpty .phone-widget__prefix {
  visibility: visible;
}

.phone-widget__prefix {
  visibility: hidden;
}

.calc-input-widget__placeholder {
  transform: translate(10px, 10px);
  transition: transform .2s ease;
}

.phone-widget {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: auto;
  align-items: flex-end;
}

.phone-widget__placeholder {
  grid-column: span 2;
}

.name-widget {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  align-items: flex-end;
}

.name-widget__placeholder {}

.name-widget__input {}

.calc__hidden-input {
  display: none;
}

.calc__dialog-dop-info-text {
  color: #575757;
  font-size: 12px;
  text-align: center;
}

  .last-section {
    background-color: #fff;
    position: sticky;
    top: 0;
  }

/* FOOTER */

.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: inherit;
  line-height: 22px;
}

.footer a {
  color: #4576a2;
}

.footer-container {
  display: flex;
  justify-content: space-between;
}

.footer-container-bottom {
  display: flex;
  justify-content: space-between;
}


.footer-container__elem {
  width:200px;
  flex-grow: 1;
}

.footer-left {
  margin-right: 50px;
}
.footer-left-bottom {
  margin-right: 50px;
}

.footer-container-center-bottom {
  padding-right: 30px;
}

.footer-container-bottom-part {
  margin-top: 20px;
}

.footer-container__text {
  color: #555;
  margin-bottom: 5px;
}

.footer-container__text--article {
  color: #555;
}

.footer-container__logo_img {
  width: 260px;
  /* margin-top: -7px; */
}

/* ASIDE */

.aside {
  /* max-width: 310px; */
  /* padding: 22px 0 22px 10px; */
}
.aside__container {
  position: sticky;
  position: -webkit-sticky;
  top: 16px;
}
.aside__container .adaurum-cl-12fcfmnKSx, .adaurum_block .adaurum-cl-12fcfmnKSx {
  /* padding: 10px; */
  background-color: unset;
  font-family: roboto, tahoma !important;
  line-height: 20px;
  font-size: 15px !important;
  margin-bottom: 16px;
}
  /* box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2); */
}
.adaurum-cl-12fcfmnKSx a {
  display: block;
  color: #333;
}
.stick__img-container {
  height: 175px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.adaurum-image {
  width: 100%;
  height: auto;
  flex-shrink: 0;
}
.adaurum-title {
  text-align: center;
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}
.aside__container .adaurum-content, .adaurum_block .adaurum-content {
  padding: 10px;
  overflow: hidden;
  color: #333;
}
.adaurum-text {
  text-align: center;
}

/* PRELOADER */

.loading--inner {
  --height: 350px;
  --width: calc(var(--height) * 0.94);
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--width);
  height: var(--height);
  transform: translate(-50%, -50%);
}

.loading--inner .loading--box {
  position: absolute;
  width: 36.3%;
  /* height: 30%; */
  /* background: rgba(255, 255, 255, 0.4); */
  opacity: 1;
}

.everystraus_callback_close {
    min-width: 23px !important;
    min-height: 23px !important;
  }

.loading-box-animate {
  animation: loading--box-animation 3s infinite ease-in-out;
}

.wall_post_text {
  font-size: 14px !important;
}

.wall_post_text zoom_text {
  font-size: 14px !important;
}

.wall_module .post.wcomments_post .wall_post_text {
  font-size: 14px !important;
}

@media screen and (max-width: 1160px) {
  :root {
    --container-width: 100%;
    --container-padding-horizontal: 15px;
  }
  .container {
    margin: 0;
  }
}

@media screen and (max-width: 970px) {
  :root {
    --aside-width: 0;
    --main-margin-right: 0;
  }
  .filter-form--desktop {
    display: none;
  }
  .filter-form--mobile {
    display: flex;
  }
  .aside {
    display: none;
  }
  .section-img-slider {
    display: block;
  }
  .section-special {
    display: block;
  }
  .section-aside-slider {
    display: block;
  }
  .section-aside-slider-top {
    display: block;
  }
  /* .adaurum-cl-12fcfmnKSx {
    margin-bottom: 0px;
  } */
  .main {
    width: 100%;
  }
  .adaurum-content {
  height: auto;
  }
  .everystraus_callback_phone {
    width: 70px !important;
    height: 70px !important;
    background-position: 18px 16px !important;
    background-size: 55% 55% !important;
    box-shadow: none !important;
  }


}

@media (max-width: 767.98px) {
  .section-hero {
    padding: 0;
  }
  .btn-slider:hover:after {
    transform: scale(0);
  }
  .thumb-gallery__fullscreen {
    width: 38px;
    height: 35px;
  }
  .thumb-gallery__fullscreen svg {
    width: 16px;
  }
  .btn-slider svg {
    width: 40px;
    height: 20px;
    fill: #ffffff;
  }
  .hero-slider__btn svg {
    width: 50px;
    height: 30px;
    fill: #ffffff;
  }
  .button-prev {
    background: transparent;
    box-shadow: none;
  }
  .button-next {
    background: transparent;
    box-shadow: none;
  }
  .btn-slider {
    background: transparent;
    box-shadow: none;
  }
  .calc__dialog-phone, .calc__dialog-name {
    grid-column: span 2;
  }
  .calc__btn {
    margin: 0 auto;
  }
  .map-container-hor {
    padding: 0;
  }
  .section__content-wrap--vertical-map {
    padding-bottom: 0;
  }

  .section-hero_rightblock {
    display: none;
  }

}

@media screen and (max-width: 840px) {
  .nav-desktop {
    display: none;
  }
  .nav-btn {
    display: inline-block;
  }
  .footer-container__logo_img {
    width: 290px;
  }
  .footer-container {
    flex-direction: column;
    align-items: center;
  }
  .footer-container-bottom {
    flex-direction: column-reverse;
    align-items: center;
  }
  .footer-container__elem {
    width: 90%;
    text-align: center;
  }
  .footer-left {
    margin-right: 0;
  }
  .footer-container-center {
    margin-top: 20px;
  }
  .footer-container-right {
    margin-top: 20px;
  }
  .footer-left-bottom {
    margin-right: 0;
    margin-top: 20px;
  }
  .footer-container-center-bottom {
    padding-right: 0;  
  }
  .footer-container-right-bottom {
    margin-top: 20px;
  }
}

@media (min-width: 720px) {
  .grid-border-rows>.grid__cell {
    border: none;
  }
}

@media screen and (max-width: 720px) {
  :root {
    --section-padding-horizontal: 20px;
    --section-padding-vertical: 10px;
    --section-heading-padding-top: 10px;
  }

  .hero__swiper-container {
  height: 230px;
  }
  .map-wrap {
  width: 100%;
  height: 220px;
  position: relative;
  }

  .section__head.ui-accordion {
  height: 32px !important;
  }

  .grid__header {
    display: none;
  }
  .price-grid {
    grid-template-columns: repeat(1, minmax(150px, 1fr)) 66px 66px;
    grid-auto-rows: minmax(100px, auto);
    padding-bottom: 0;
  }
  .price-plan-cell {padding-right: 10px;}
  .price-phone-cell {}
  .price-cell {
    display: none;
  }
  .price-size-cell {
    display: none;
  }
  .price-date-cell {
    display: none;
  }
  .price-floor-cell {
    display: none;
  }
  .price-mobile-cell {
    display: flex;
  }
  .price-grid__phone-link {
  }
  .price-grid__phone-img {
    --size: 30px;
    width: var(--size);
    height: var(--size);
  }
  .calc__item {
    grid-column: span 2;
  }
  .calc__item_mobile {
    grid-column: span 1 !important;
  }
  .calc__item-end-align {
    grid-column: span 1;
  }
  .calc__item--description {
    height: 0px;
    margin: auto;
  }
  .calc__description {
    display: none;
    margin: 0;
  }
  .calc__dialog-sub-title {
    padding-bottom: 20px;
  }
  .calc__dialog-hint {
    padding-top: 20px;
  }

  .text-widget__icon {
    display: none;
  }
  .loading--inner {
    --height: 200px;
  }

}

@media screen and (max-width: 650px) {
  .card-list__item {
  width: 100%;
  }
  .card__content {
    padding: 12px 16px;
  }
  .card--horizontal {
    flex-direction: column;
    height: auto;
  }
  .card__content-item:not(:first-child) {
    margin-top: 10px;
  }
  .card__img-container--horizontal {
    height: 200px;
    width: 100%;
    align-self: center;
  }
  .card__item-sub-img {
    
  }

/* }

@media screen and (max-width: 540px) { */

  .ui-accordion .ui-accordion-content {
    padding: 0 16px;
  }
  .section-property__content {
    grid-template-columns: 1fr;
  }
  .section__head--center {
    padding: 18px 16px 0px 16px;
  }
  .center__title {
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    text-align: center;
  }

  .text-content__context p {
    font-size: 18px;
}

  .text-content__context li {
    font-size: 18px;
  }

  .section__head.ui-accordion {
  height: 46px !important;
  display: flex;
  }

}

@media screen and (max-width: 460px) {

  .ui-accordion .ui-accordion-content {
    padding: 0 16px;
  }
  .accordeon-item-price {
  width: 125px;
  }
  .price-grid {
    grid-template-columns: repeat(1, minmax(120px, 1fr)) 66px calc(var(--grid-phone-icon-size) + 6px);
    grid-auto-rows: minmax(100px, auto);
    padding-bottom: 0;
  }
  .price-grid__phone-link {

  }

}

@media screen and (max-width: 380px) {
  .calc__dialog-content {
    grid-row-gap: 10px;
  }
}

@media screen and (max-width: 360px) {
  .calc {
    grid-template-columns: 1fr;
  }
  .calc__item {
    grid-column: span 1;
  }
}

@media screen and (max-width: 330px) {
.price-size-cell--mobile {
  padding-right: 6px;
  font-size: 10px;
}
.price-floor-cell--mobile {
  padding-left: 6px;
  font-size: 10px;
}
}


@keyframes moveIn {
  from {
    opacity: .3;
    transform: scale(.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes moveOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: .5;
    transform: scale(.8);
  }
}