@media (min-width: 1200px) {
  .header .menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .header .menu .sub-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: absolute;
    z-index: 10;
    background: var(--white);
    opacity: 0;
    left: 0;
    top: 100%;
    visibility: hidden;
    width: 220px;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    border-radius: 6px;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    -webkit-box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.03), 0px 21px 21px 0px rgba(0, 0, 0, 0.03), 0px 47px 28px 0px rgba(0, 0, 0, 0.02), 0px 84px 34px 0px rgba(0, 0, 0, 0), 0px 131px 37px 0px rgba(0, 0, 0, 0), 0px 0px 12.8000001907px 0px rgba(0, 0, 0, 0.05);
            box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.03), 0px 21px 21px 0px rgba(0, 0, 0, 0.03), 0px 47px 28px 0px rgba(0, 0, 0, 0.02), 0px 84px 34px 0px rgba(0, 0, 0, 0), 0px 131px 37px 0px rgba(0, 0, 0, 0), 0px 0px 12.8000001907px 0px rgba(0, 0, 0, 0.05);
    margin: 0;
    padding: 0.8375rem;
    list-style: none;
  }
  .header .menu .sub-menu a {
    color: var(--black);
  }
  .header .menu .sub-menu a:hover {
    color: var(--blue);
  }
}
@media (max-width: 1399px) {
  .header__menu ul li {
    padding: 0 0.5rem;
  }
  .banner__title, .news-card__title, .news-card__price {
    font-size: 1.375rem;
  }
  .advantages-card__title {
    font-size: 5rem;
  }
  .advantages-card {
    padding-top: 12.5rem;
  }
  .project-card__title {
    font-size: 1.75rem;
  }
  .news-card__top {
    margin-bottom: 1.875rem;
  }
  .excursion__title {
    font-size: 3.75rem;
  }
  .tax-villages .info-card_mini {
    width: auto;
  }
  .legend {
    position: relative;
    inset: 0;
    display: flex;
    align-items: center;
  }
  .legend__wrapper, .legend_bottom .legend__wrapper, .legend_left .legend__wrapper {
    width: 100%;
    margin-top: 1.5rem;
  }
  .legend__wrapper_first {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-right: 1rem;
  }
  .map-tooltip {
    padding: 1rem;
    width: 250px;
    font-size: 0.9375rem;
  }
  .map-tooltip__title {
    font-size: 1.25rem;
  }
  .home #portfolio_slider {
    margin: 0 15px;
  }
  .archive .project-card_big .project-card__title {
    font-size: 4rem;
  }
  .sidebar__title {
    font-size: 1.5rem;
    line-height: 110%;
  }
  .header__menu ul li a, .header .btn {
    font-size: 0.94rem;
  }
  .header .phone {
    font-size: 1rem;
  }
}
@media (max-width: 1199px) {
  .header__menu {
    position: fixed;
    top: 75px;
    right: -100vw;
    width: 100vw;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    z-index: 100;
    height: calc(100% - 75px);
    padding: 1.875rem 3.125rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0;
    background-color: rgb(252, 252, 252);
  }
  .header__menu.opened {
    right: 0;
  }
  .header__menu ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .header__menu ul li {
    margin-bottom: 10px;
  }
  .header__menu ul li a {
    font-size: 1.25rem;
    padding: 0;
  }
  .header__menu ul li .sub-menu {
    display: none;
    padding: 0.625rem 0;
  }
  .divider {
    width: 30px;
    height: 30px;
    margin-bottom: -10px;
  }
  .tax-buildings .header__menu {
    background-color: #151516;
  }
  .banner__title {
    font-size: 1.25rem;
  }
  .banner {
    padding-bottom: 3.125rem;
  }
  .home .about {
    padding-top: 3.125rem;
  }
  .mortgage, .section_pb, .catalog {
    padding-bottom: 6.25rem;
  }
  .advantages-card {
    margin-right: 0.75rem;
  }
  .section {
    padding: 6.25rem 0;
  }
  .section-page_top {
    padding-top: 6.25rem;
  }
  .contacts {
    padding-top: 6.25rem;
  }
  .mortgage-card {
    min-height: 180px;
  }
  .slider-wrapper .f-carousel {
    --f-carousel-slide-width: calc((100% - 16px) / 2);
    --f-arrow-pos: -10px;
  }
  .contacts-card {
    min-height: 180px;
  }
  .project-card__img {
    min-height: 420px;
  }
  .filter-section {
    padding-top: 6.25rem;
  }
  .section-page {
    padding-top: 1.875rem;
  }
  .info-card__title {
    font-size: 1.375rem;
    line-height: 110%;
  }
  .category-tabs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 20px;
  }
  .category-tabs a {
    white-space: nowrap;
    padding: 0.625rem 1.25rem;
  }
  .about__content {
    padding-bottom: 5rem;
  }
  .section-docs .f-carousel {
    --f-carousel-slide-width: calc((100% - 32px) / 3);
  }
  .village {
    overflow-x: scroll;
  }
  .village__img, .svg-map, .village__bg {
    width: 1440px;
    height: 600px;
    max-width: max-content;
  }
  .advantages-item__title {
    font-size: 5rem;
  }
  .footer:before {
    top: 15%;
    right: 0;
    width: 200px;
    height: 70%;
  }
  .section-title, h1 {
    font-size: 2.8125rem;
  }
  .finish__title, .plan-card__title, .project-item__title, .product__block h1 {
    font-size: 1.625rem;
  }
  .archive .project-card_big .project-card__title {
    font-size: 3.4rem;
  }
}
@media (max-width: 991px) {
  .banner {
    height: auto;
  }
  .banner__item {
    min-height: 550px;
  }
  .banner__wrapper {
    opacity: 1;
    min-height: auto;
  }
  .banner .tags {
    opacity: 1;
  }
  .advantages-card__title {
    font-size: 3.75rem;
  }
  .advantages-card__title span {
    font-size: 1.375rem;
  }
  .advantages-card__text {
    font-size: 0.875rem;
  }
  .project-card__img {
    min-height: 380px;
  }
  .mortgage-card__title {
    font-size: 1.5rem;
  }
  .section-title, h1 {
    font-size: 2rem;
  }
  .filter-section {
    padding-top: 3.75rem;
  }
  .filter-section__wrapper {
    display: none;
    padding-top: 1.25rem;
  }
  .filter select, .filter label, .filter .chip span, .filter .filter-range_coast, .filter .filter-range_area, .filter .btn {
    width: 100%;
  }
  .chip span {
    padding: 0.5rem;
  }
  .nav-tabs .nav-link {
    min-width: auto;
    padding: 0.625rem 1.5625rem;
  }
  .map {
    height: 400px;
  }
  .infra-card__text {
    width: 100%;
    font-size: 1rem;
  }
  .info-card__title {
    font-size: 1.25rem;
    margin-top: 0.3125rem;
  }
  .nav-tabs_mini {
    top: auto;
    margin-right: 15.625rem;
  }
  .choice-link {
    bottom: 0;
  }
  .excursion__title {
    font-size: 3rem;
    line-height: 120%;
    margin-bottom: 0.9375rem;
  }
  .project-card__img:before {
    height: 80%;
  }
  .tax-buildings .plus-card {
    min-height: 320px;
  }
  .page-template-page_mortgage .infra-card {
    background-position: top center;
  }
  .village__img, .svg-map, .village__bg {
    width: 1200px;
    height: 500px;
  }
  .legend {
    flex-direction: column;
  }
  .legend__wrapper_first {
    margin-right: 0;
  }
  .about__img {
    height: 450px;
  }
  .footer:before {
    display: none;
  }
  .archive .project-card_big .project-card__title {
    font-size: 3rem;
  }
  .archive .project-card_big .project-card__content {
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .header {
    padding: 0.625rem 0;
  }
  .header__menu {
    top: 64px;
    height: calc(100% - 64px);
    padding: 1.875rem;
  }
  .slider-wrapper .f-carousel {
    --f-carousel-slide-width: 100%;
    --f-carousel-spacing: 0;
  }
  .banner__item {
    margin: 0;
    min-height: 440px;
  }
  .home .about {
    padding-top: 0;
  }
  .banner, .mortgage, .section_pb {
    padding-bottom: 5rem;
  }
  .advantages-item__title {
    font-size: 3.75rem;
  }
  .section {
    padding: 5rem 0;
  }
  .section-page_top {
    padding-top: 5rem;
  }
  .contacts {
    padding-top: 5rem;
  }
  .section-title, h1 {
    font-size: 1.75rem;
  }
  .project-card__title {
    font-size: 1.5rem;
  }
  .mortgage-card {
    min-height: 110px;
    padding: 0.625rem;
    font-size: 0.875rem;
  }
  .mortgage-card__title {
    font-size: 1.25rem;
  }
  .mortgage-card__icon svg {
    width: 30px;
    height: 30px;
  }
  .news-card__title, .news-card__price {
    font-size: 1.25rem;
  }
  .news-card__top {
    margin-bottom: 1.25rem;
  }
  .nav-tabs_mini {
    margin-right: 0;
    padding-bottom: 3.75rem;
  }
  .nav-tabs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 20px;
  }
  .nav-tabs li {
    width: 100%;
  }
  .nav-tabs .nav-link {
    white-space: nowrap;
  }
  .catalog {
    padding-bottom: 2.5rem;
  }
  .tax-buildings .plus-card {
    min-height: 260px;
  }
  .page-template-page_mortgage .infra-card {
    min-height: 500px;
  }
  .about__content {
    padding-bottom: 0;
  }
  .section-docs .f-carousel {
    --f-carousel-slide-width: calc((100% - 16px) / 2);
  }
  .page-template-page_about .project-card__content {
    width: 100%;
  }
  .page-template-page_about .project-card__img {
    min-height: 400px;
  }
  .product__price_new {
    font-size: 1.375rem;
  }
  .text-big {
    font-size: 1rem;
  }
  .slider-wrapper_top .f-button {
    --f-button-bg: var(--gray);
    --f-button-width: 35px;
    --f-button-height: 35px;
  }
  .slider-wrapper_top .is-horizontal .f-button.is-prev, .slider-wrapper_top .is-horizontal .f-button.is-prev {
    inset: -35px 50px auto auto;
  }
  .slider-wrapper_top .is-horizontal .f-button.is-next, .slider-wrapper_top .is-horizontal .f-button.is-next {
    inset: -35px auto auto;
  }
  .section-subtitle {
    font-size: 1.5rem;
  }
  .archive .project-card_big .project-card__title {
    font-size: 2.6rem;
  }
}
@media (max-width: 575px) {
  .phone {
    font-size: 1rem;
  }
  .header__btn {
    width: 32px;
    height: 32px;
    background-size: 50%;
  }
  .header__menu ul li a {
    font-size: 1.125rem;
  }
  .header__menu {
    padding: 1.25rem;
  }
  .banner__title {
    font-size: 1.125rem;
  }
  .banner__text {
    font-size: 0.875rem;
  }
  .btn {
    width: 100%;
  }
  .banner, .mortgage, .section_pb, .catalog {
    padding-bottom: 3.125rem;
  }
  .section-title, h1 {
    font-size: 1.625rem;
  }
  .about .btn {
    max-width: 100%;
  }
  .advantages {
    padding-top: 3.75rem;
  }
  .project-item__title {
    font-size: 1.25rem;
  }
  .project-card .tags {
    top: 10px;
    left: 10px;
  }
  .tags__item {
    font-size: 0.75rem;
    margin-top: 0.5rem;
    margin-right: 0.5rem;
  }
  .project-card .arrows {
    bottom: 10px;
  }
  .project-card .arrow-next {
    right: 10px;
  }
  .project-card .arrow-prev {
    right: 60px;
  }
  .project-card__title {
    font-size: 1.25rem;
  }
  .project-card__content {
    bottom: 10px;
    left: 10px;
  }
  .project-item {
    margin-bottom: 2.5rem;
  }
  .section {
    padding: 3.125rem 0;
  }
  .section-page_top {
    padding-top: 3.125rem;
  }
  .mortgage-card_bg {
    background-image: none;
  }
  .mortgage-card .submit-wrapper:before {
    display: none;
  }
  .news-card__tag {
    top: 10px;
    left: 10px;
  }
  .news-card__title, .news-card__price {
    font-size: 1.125rem;
  }
  .contacts {
    padding-top: 3.75rem;
    padding-bottom: 0;
  }
  .popup-form-callback {
    --popup-width: 350px;
  }
  .footer__title {
    margin-bottom: 0.25rem;
  }
  .footer__top {
    padding: 1.25rem 0;
  }
  .chip span {
    font-size: 0.875rem;
    text-align: center;
    height: 100%;
  }
  .card__top, .card__tag {
    font-size: 0.75rem;
  }
  .card__cat {
    width: 100%;
  }
  .card__price_new, .infra-card__title, .plus-card__title, .finish__title, .plan-card__title {
    font-size: 1.25rem;
  }
  .load {
    max-width: 100%;
  }
  .project-card_big .project-card__content {
    padding-right: 0.625rem;
    bottom: 1rem;
    font-size: 0.875rem;
    line-height: 110%;
  }
  .project-card_big .project-card .btn {
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
  }
  .infra-card {
    min-height: 380px;
    padding: 0.625rem;
  }
  .infra-card__text, .plus-card__text, .finish__content {
    font-size: 0.875rem;
  }
  .excursion__title {
    font-size: 2rem;
  }
  .excursion {
    padding: 3.125rem 0 6.875rem;
  }
  .plus-card:before {
    height: 80%;
  }
  .plus-card, .finish__content {
    padding: 0.625rem;
  }
  ol, ul {
    padding-left: 1rem;
  }
  .plan-card__price {
    font-size: 1.125rem;
  }
  .project-card__img {
    min-height: 320px;
  }
  .project-card__img_big {
    min-height: 400px;
  }
  .infra-card__text span {
    font-size: 12px;
  }
  .section-docs .f-carousel {
    --f-carousel-slide-width: 100%;
    --f-carousel-spacing: 0;
  }
  .docs-item {
    text-align: center;
  }
  .contacts-card_mini {
    min-height: 100px;
  }
  .legend__wrapper_first {
    flex-direction: column;
    align-items: flex-start;
  }
  .map-tooltip {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100%;
    transform: translateY(20px);
  }
  .map-tooltip.show {
    transform: translateY(0);
  }
  .map-tooltip__btn {
    margin-top: 1rem;
  }
  .map-tooltip__title {
    font-size: 1rem;
  }
  .section-subtitle {
    font-size: 1.25rem;
  }
  .archive .project-card_big .project-card__title {
    font-size: 2rem;
  }
  .archive .project-card_big .project-card__content {
    font-size: 1rem;
  }
}