/*
    Theme Name: Monavie 2026
    Description: test
    Requires at least: 6.1
    Tested up to: 6.3
    Requires PHP: 5.6
    Version: 1.0
    License: GNU General Public License v2 or later
    License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    Text Domain: monavie
*/

:root {
    --doloman-300: 'Doloman Pavljenko', sans-serif;
    --fira-sans-400: 'Fira Sans', sans-serif;
    --green-dark: #011913;
    --green-dark-rgb: 1, 25, 19;
    --news-bg: #FFF3E0;
    --green: #18372F;
    --green-light: #5D9E66;
    --text-color: #FFEEBE;
    --gradient-light: linear-gradient(90deg, #F5B79D 0%, #FFEEBE 52.88%, #F5B79D 100%);
    --swiper-pagination-color: var(--text-color);
    --radius-card: 60px 0 60px 0;
    --section-gradient: linear-gradient(180deg, rgba(24,55,47, 1) 5.29%, #6E8037 99.99%);
    --contacts-map-height: 640px;
    --bs-link-color-rgb: 255, 238, 190;
    --bs-link-hover-color-rgb: 245, 183, 157;
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1173px; /* по макету контейнер узкий*/
    }
}

.form-check-label {
    font-variant: small-caps;
}

.form-check-input {
    --bs-form-check-bg: transparent;
    border-color: var(--text-color);
}

.form-check-input:checked {
    background-color: var(--green-dark);
    border-color: var(--green-dark);
}

body {
    --bs-body-font-family: var(--fira-sans-400);
    --bs-body-font-size: 20px;
    --bs-body-font-weight: 400;
    --bs-body-color: var(--text-color);
    background-color: var(--green-dark);
}

.body-viewport {
    /*max-width: 1440px;*/
    /*margin-left: auto;*/
    /*margin-right: auto;*/
    position: relative;
}

img {
    max-width: 100%;
}

/* utility классы для быстрого применение шрифта */
.fira-sans-400 {
    font-family: var(--fira-sans-400);
    font-weight: 400;
}
.doloman-300 {
    font-family: var(--doloman-300);
    font-weight: 300;
}

/* +btns */
.swiper-button {
    transition: all .2s ease-in-out;
}

.swiper-button-disabled {
    opacity: 0;
}

.btn-burger {
    --bs-btn-border-radius: 0;
    --bs-btn-hover-bg: inherit;
}

.btn-monavie {
    --btn-color-rgb: 255, 243, 224;
    --btn-gradient: var(--gradient-light);
    --btn-gradient-text-color: #011913;
    --btn-font-family: var(--doloman-300);
    --btn-font-weight: 300;
    --btn-radius: 10px 0 10px 0;
    --btn-radius-lg: 15px 0 15px 0;

    --bs-btn-font-family: var(--doloman-300);
    --bs-btn-border-radius: var(--btn-radius);
    --bs-btn-border-color-translucent: var(--text-color);
    --bs-btn-border-color: var(--text-color);
    --bs-btn-active-border-color: var(--text-color);
    --bs-btn-hover-border-color: var(--text-color);
    --bs-btn-active-bg: var(--gradient-light);
    --bs-btn-border-width: 1px;
    --bs-btn-line-height: 1;
    --bs-btn-font-weight: bold;
    --bs-btn-padding-x: .9rem;
    --bs-btn-padding-y: .75rem;
    --bs-btn-hover-bg: var(--text-color);
    --bs-btn-hover-color: var(--green-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-active-bg: var(--text-color);
    --bs-btn-color: var(--text-color);
    --bs-btn-font-size: 15px;

    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap;
}

.btn-opacity {
    border-width: 2px;
    border-color: #F5B79D;
    background: linear-gradient(90deg, rgba(245, 183, 157, 0.3) 0%, rgba(255, 238, 190, 0.3) 52.88%, rgba(245, 183, 157, 0.3) 100%);
}


.btn-lg.btn-monavie {
    font-size: inherit;
    padding: 18px 45px;
}

.btn-lg {
    --bs-btn-border-radius: var(--btn-radius-lg);
}

.btn-gradient,
.btn-monavie.active {
    background-image: var(--btn-gradient);
    color: var(--green-dark);
    --bs-btn-hover-color: var(--green-dark);
    --bs-btn-border-color: translucent;
}

.btn-burger:hover .burger-line {
    background-color: var(--green-dark);
}
/* -btns end */

/* +layout */
header {
    position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 6;

    padding: 30px 0;
    height: 100px;
    background-color: rgba(var(--green-dark-rgb), 0.3);
    backdrop-filter: blur(5px);
}

.burger-square {
    width: 12px;
    height: 12px;
    margin: 2px 0;

    position: relative;
}

.burger-line {
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    top: 3px;
    background-color: white;
    transition: all .2s ease-in-out;
}

.burger-line:nth-child(2) {
    top: 8px;
}

.section-heading {
    font-size: 50px;
    font-weight: 300;
    font-family: var(--doloman-300);
    text-transform: uppercase;
    letter-spacing: 3px;
}

.section-heading span {
    font-size: 140%;
    display: block;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100vh;
    background-color: var(--green);
    z-index: 6;

    transform: translateX(-100%);
    background-image: url(assets/img/community/shape.svg);
    background-position: left -100px;
    background-repeat: no-repeat;

    pointer-events: none;
    opacity: 0;
}

.burger .overlay {
    pointer-events: all;
}

.overlay-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    height: 100%;

    position: relative;
}

.overlay-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.overlay-logo {
    height: 62px;
    margin-bottom: 2rem;
}

.overlay-menu-link {
    text-align: center;
    display: block;

    text-transform: uppercase;
    color: inherit;
    text-decoration: none;

    padding: 0.5rem 1rem;

    font-family: var(--doloman-300);
    font-weight: 800;
    letter-spacing: 2px;
}

.overlay-menu-link:hover {
    color: white;
}

.close {
    width: 40px;
    height: 40px;
    background-image: url('data:image/svg+xml,<svg width="40" height="38" viewBox="0 0 40 38" fill="none" xmlns="http://www.w3.org/2000/svg"><line y1="-0.5" x2="52.6069" y2="-0.5" transform="matrix(0.741347 0.671122 -0.555604 0.831447 0 1.29297)" stroke="white"/><line x1="38.7999" y1="0.362074" x2="0.345555" y2="36.9841" stroke="white"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    transition: all .2s ease-in-out;
}

.close:hover {
    opacity: .75;
}

.overlay-close {
    position: absolute;
    top: 140px;
    right: 0;
}

.modal-content {
    --bs-modal-bg: var(--green);
    border-radius: var(--radius-card);
}

.modal-body {
    padding: 50px 75px;
}

.modal-close-button {
    top: 50px;
    right: 75px;
    position: absolute;
}

.modal-logo img {
    height: 62px;
    margin-bottom: 1rem;
}

.modal-title {
    margin-top: 1rem;
    text-transform: uppercase;
    font-family: var(--doloman-300);
    font-weight: 800;
    letter-spacing: 2px;
    font-size: 25px;
}

.modal {
    --bs-modal-width: 540px;
}

.form-check-input:focus {
    border-color: var(--text-color);
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .25);
}

.input {
    width: 100%;
    background-color: transparent;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: var(--text-color);
    padding: 12px 0;
    outline: none;
    color: var(--text-color);
    font-variant: small-caps;
}

.input::placeholder {
    color: rgba(180,180,180, 0.33);
}
/* -layout end */

/* +sections */
.hero {
    height: 100vh;
    text-align: center;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;

    margin-top: -102px; /* высота шапки */
}

.hero-button {
    opacity: 0;
}

.hero-logo-big {
    opacity: 0;
}

.hero-content {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(var(--green-dark-rgb), 0.4);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    height: 100%;
}

.section-shape {
    position: absolute;
}

.hero-shape {
    bottom: 0;
    left: 0;
}

.about {
    /*height: 955px;*/
    /*min-height: 955px;*/
    background-position: center bottom;
    -webkit-background-size: cover;
    background-size: cover;
}

.about-inner {
    padding-top: 124px;
    padding-bottom: 100px;
    background: linear-gradient(360deg, rgba(49, 66, 0, 0.2) -3.36%, #011913 82.33%);
}

.about-text {
    padding-left: 60px;
    line-height: 1.5;
}

.about-cards {
    margin-top: 100px;
    color: white;
}

.about-card-title {
    text-transform: uppercase;
    letter-spacing: 2px;
}

.about-card-text {
    margin-bottom: 1rem;
}

.location {
    padding: 30px 0;
    background-color: var(--green);

    min-height: 800px;
}

.location-bg {
    position: absolute;
    top: 0;
    left: 0;
}

.car {
    width: 24px;
    height: 24px;
    border-radius: 20px;
    background: var(--gradient-light);
    display: block;

    position: absolute;
    top: -12px;
    left: -12px;
}

.location-banner {
    padding: 50px;
    border-radius: var(--radius-card);
    background-color: #AEAEAE99;
}

.location-banner-text {
    line-height: 1.2;
}

.location-banner-title {
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1;
}

.space {
    padding: 70px 0;
    background-image: url('data:image/svg+xml,<svg width="1065" height="232" viewBox="0 0 1065 232" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-134.884 -66.5523C-111.273 -6.18673 -24.6625 151.057 104.403 207.654L105.922 208.313C138.998 221.914 173.563 229.52 208.442 228.158C243.224 224.552 269.992 221.966 299.165 212.921C327.878 204.014 358.946 188.828 402.237 160.195L404.308 158.825C404.831 158.482 405.354 158.131 405.883 157.772C406.332 157.472 406.332 156.504 405.883 156.204L404.746 155.442C352.496 120.574 325.677 97.8856 302.891 79.8051C279.792 61.4847 260.823 47.875 223.549 31.0022C91.4803 -5.54436 12.4345 42.0509 -21.0393 62.7352L-22.1484 63.4204C-22.5921 63.6945 -23.0471 63.0692 -22.9106 62.3755L-22.5579 60.6454L-16.0793 28.8352L-15.9826 28.3556C-15.9201 28.0644 -15.7608 27.8417 -15.5617 27.7732L-15.2375 27.6618C78.5743 -3.85707 149.099 -6.26381 224.147 27.6961C261.636 44.6546 280.748 58.3585 303.955 76.7731C326.758 94.8708 353.508 117.499 405.673 152.307L408.175 153.977C408.664 154.303 409.159 154.628 409.66 154.954C409.808 155.048 409.967 155.048 410.109 154.954C457.786 123.109 537.042 69.4672 609.149 51.8663L610.923 51.4381L612.431 51.0869C643.094 44.0551 676.011 42.9331 709.644 45.7595L712.954 46.0507C782.973 50.5216 862.883 66.872 929.2 82.0833C962.332 89.689 992.165 97.0291 1015.58 102.442C1039.07 107.881 1056.09 111.375 1063.86 111.375H1064.43C1064.74 111.375 1065 111.761 1065 112.232V149.506C1065 149.986 1064.74 150.371 1064.42 150.363L1063.84 150.346C1051.86 149.909 1032.97 144.17 1009.22 135.683C985.459 127.186 956.638 115.855 924.854 104.207C861.712 81.0556 786.579 56.4999 714.518 49.6394L712.818 49.4767C674.72 47.0443 639.613 48.1406 611.282 54.8298L609.518 55.2494C539.198 72.4135 461.967 124.06 413.971 156.127C413.516 156.435 413.528 157.395 413.988 157.677C458.48 184.777 530.222 203.054 595.6 218.163C644.772 223.841 694.002 213.598 733.567 199.979C773.161 186.353 803 169.368 813.37 161.66L814.189 161.052C814.564 160.769 815.008 161.189 815.008 161.823V197.162C815.008 197.564 814.82 197.915 814.558 198.001L814.109 198.147C742.065 221.572 679.384 231.301 595.378 221.58H595.333L595.293 221.563C528.527 206.129 454.68 187.321 410.121 158.988C409.978 158.894 409.813 158.902 409.671 158.988C408.153 159.998 406.674 160.992 405.223 161.951L403.147 163.33C359.759 192.031 328.532 207.302 299.62 216.27C270.259 225.374 243.321 227.978 208.562 231.575H208.539H208.516L206.867 231.635C206.867 231.635 206.838 231.635 206.821 231.635C171.254 232.749 137.82 225.392 106.792 212.236L105.296 211.594C47.7398 187.929 -5.2608 146.243 -47.6135 102.134C-89.9491 58.0502 -121.733 11.4313 -136.807 -22.2031L-136.903 -22.4173C-136.966 -22.5629 -137 -22.7256 -137 -22.8969V-68.822C-137 -69.6956 -136.238 -70.0125 -135.942 -69.2588L-134.884 -66.5523Z" fill="%23768B52" fill-opacity="0.27"/></svg>'), var(--section-gradient);
    background-repeat: no-repeat;
    background-position: 0 0;
}

.counter-item {
    text-align: center;
}

.counter-value {
    font-size: 60px;
}

.counter-metrik {

}

.counter-text {

}

.counter-head {
    display: flex;
    align-items: baseline;
    justify-content: center;
    grid-column-gap: 10px;
}

.counters-container {
    margin-top: 50px;
}

.counters-text {
    margin-top: 60px;
    font-size: 18px;
    text-transform: uppercase;
}

.counters-shape-left {
    bottom: 0;
    left: 0;
}

.counters-shape-right {
    top: 0;
    right: 0;
}

.arch-slider {
    /*height: 800px;*/
}

.arch-slide::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: linear-gradient(360deg, rgba(49, 66, 0, 0.1) 7.31%, rgba(1, 25, 19, 0.5) 103.36%);
}

.arch {
    color: white;
}

.arch-slider-overlay-container {
    --padding-y: 100px;
    padding-top: var(--padding-y);
    padding-bottom: var(--padding-y);
    height: 100%;

    position: relative;
}

.arch-slider-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 6;
    pointer-events: none;
    user-select: none;
}

.arch-slider-logo {
    height: 62px;
}

.arch-slider-nav {
    cursor: pointer;
    position: relative;
    z-index: 6;
}

.arch-slider-navigation {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    padding: 0 30px;

    display: flex;
    justify-content: space-between;
}

.swiper-pagination-horizontal {
    --swiper-pagination-progressbar-bg-color: rgba(255, 238, 190, 0.3);
}

.arch-slider-progress.swiper-pagination-horizontal {
    top: unset;
    bottom: 100px;

}

.services {
    padding-top: 100px;
    background-color: var(--green);
}

.services-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
}

.services-list-item {
    flex: 0 0 auto;
    max-width: auto;
}

.service-slide {
    position: relative;
    overflow: hidden;
    border-radius: 30px 0 30px 0;
}

.service-slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 135px;
    color: white;

    padding-left: 2rem;
    padding-right: 2rem;

    background: linear-gradient(90deg, rgba(33, 56, 36, 0.7) 38.46%, rgba(93, 158, 102, 0.7) 92.79%);
}

.service-slide-content .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0;
}

.service-slide-title {
    text-transform: uppercase;
    font-size: 30px;
}

.slider-navigation {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    padding: 0 1.5rem 57px;
}

.slider-navigation-button {
    cursor: pointer;
}

.legacy {
    background-position: center bottom;
    -webkit-background-size: cover;
    background-size: cover;
}

.legacy-inner {
    padding: 100px 0;
    background: linear-gradient(360deg, rgba(49, 66, 0, 0.3) 39.74%, #18372F 87.35%);
}

.community {
    background-color: #424D21;
    /*background-image: url(assets/img/community/shape.svg);*/
    /*background-position: left bottom;*/
    /*background-repeat: no-repeat;*/
}

.community-slide {
    position: relative;
}

.community-slide::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: #011913CC;
    background: linear-gradient(180deg, rgba(1, 25, 19, 1) 0%, rgba(1, 25, 19, 0) 50%, rgba(66, 77, 33, 0) 50%, rgba(66, 77, 33, 1) 100%);
}

.community-slide-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding-bottom: 100px;
}

.community-slide-title {
    text-transform: uppercase;
    font-size: 30px;
}

.slider-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    justify-content: space-between;

    z-index: 3;

    padding-top: 100px;
}

.slider-nav {
    display: flex;
    justify-content: space-between;
    padding-bottom: 164px;
    padding-right: 200px;
    padding-left: 200px;
}

.slider-nav-item {
    cursor: pointer;
}

.community-content {
    text-align: center;
    background: url(assets/img/community/shape.svg), linear-gradient(360deg, #18372F 0%, #18372F00 100%);
    background-position: left bottom;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    padding-bottom: 100px;
}

.community-logo {
    height: 96px;
}

.community-content-text {
    text-transform: uppercase;
    font-family: var(--doloman-300);
    font-size: 30px;

    letter-spacing: 3px;
    margin-top: 1rem;
}

.news {
    padding: 100px 0;
    background-color: var(--green);
}

.news-item {
    position: relative;
}

.news-item-image {
    border-radius: var(--radius-card);
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center;
}

.news-item-date {
    color: rgba(255, 255, 255, 0.5);
    margin: 10px 0;
}

.news-item-title {
    text-transform: uppercase;
    margin-bottom: 20px;
}

.news-item-link {
    display: block;
    text-align: right;
    color: var(--text-color);
    text-transform: uppercase;
    text-decoration: none;
    font-family: var(--doloman-300);
    font-weight: 800;
    letter-spacing: 2px;
}

.news-item-link:hover {
    color: white;
}

.news-item-link:hover i::before {
    color: white;
}

.news-item-link i {
    position: relative;
    top: -2px;
    margin-left: 2rem;
    font-size: 60%;
    transition: all .2s ease-in-out;
}

.news-item-link i::before {
    color: var(--text-color);
    transition: all .2s ease-in-out;
}

.news-row {
    margin-top: 30px;
}

.contacts {
    position: relative;
    height: var(--contacts-map-height);
}

.contacts-map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.footer-map {
    height: var(--contacts-map-height);
    background-color: #000;
}

/*.footer-map::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}*/

.contacts-inner {
    position: relative;
    z-index: 4;
    padding-top: 60px;
    pointer-events: none;
}

.contacts-info {
    border-radius: var(--radius-card);
    background-color: var(--green);
    padding: 60px;
    color: white;
    pointer-events: all;
}

.balloon-wrap {
    background-color: var(--green);
}

.ymaps-2-1-79-balloon {
    box-shadow: unset !important;
}

.ymaps-2-1-79-balloon__layout {
    border-radius: 20px 0 20px 0;
    background: transparent !important;
    border: none !important;
}

.ymaps-2-1-79-balloon__content {
    background: var(--green) !important;
    padding: 18px !important;
}

.ymaps-2-1-79-balloon_to_top .ymaps-2-1-79-balloon__tail,
.ymaps-2-1-79-balloon__tail:after {
    background: var(--green) !important;
}

.footer {
    padding: 60px 0;
    font-size: 15px;
    text-transform: uppercase;
    background-color: var(--green);
}

.footer-logo {
    display: block;
    margin-bottom: 45px;
}

.footer-logo-src {
    height: 69px;
}

.footer-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-nav-link {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    color: inherit;
    line-height: 30px;

    font-family: var(--doloman-300);
    font-weight: 300;
    letter-spacing: 2px;
}

.footer-privacy {
    font-size: 10px;
    color: white;
    text-transform: none;
    white-space: nowrap;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 1rem;
}

.footer-privacy a {
    color: white;
}

.contacts-label {
    text-transform: uppercase;
    font-family: var(--doloman-300);
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--text-color);
}

.contacts-link {
    color: inherit;
    text-decoration: none;
}

.page-content {
    margin-top: -100px;
    padding-top: 160px;
    padding-bottom: 100px;

    background-color: var(--news-bg);
    color: var(--green-dark);
    border-bottom: 1px solid var(--text-color); /* fix фейк-отступа если последний элемент <p></p> */
}

.news-view {
    margin-top: 1rem;
}

.news-image {
    padding-bottom: 447px;
    margin-bottom: 2rem;
    border-radius: var(--radius-card);
}

.news-date {
    opacity: .5;
    margin-bottom: 1rem;
}

.news-title {
    text-transform: uppercase;
    margin-bottom: 1rem;
    font-size: 30px;
}

.news-share {
    color: var(--green-dark);
    text-transform: uppercase;
    text-decoration: none;
    font-family: var(--doloman-300);
    font-size: 30px;
    letter-spacing: 2px;
    font-weight: 800;

    display: flex;
    align-items: center;
    grid-column-gap: 1rem;
}

.btn-header-tel {
    margin-left: 0.75rem;
}

.location-abs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.counters-col {
    flex: 1;
}

.location-image-small {
    display: none;
}

#house_sale {
    fill: rgba(44, 197, 87, 0.5);
    stroke: rgb(44, 197, 87);
}

#house_sales {
    fill: rgba(231, 75, 103, 0.5);
    stroke: rgb(231, 75, 103);
}

#house_reserve {
    stroke: rgb(241, 165, 75);
    fill: rgba(241, 165, 75, 0.5);
}

/*123*/
.area-title {
    margin-bottom: 30px;
    font-size: 36px;
}

.areas-land {
    background-color: var(--black);
}

.areas-land-header {
    padding: 30px 0;
}

.areas-land-counter {
    margin-bottom: 0;
    color: var(--orange);
}

.area-land-title {
    text-transform: uppercase;
    font-family: var(--font-default);
    color: var(--orange);
    margin-bottom: 0;
}

.land {
    padding-bottom: 60px;
}

.areas-map {
    position: relative;
}

.areas-map__vector {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.area-point-pin {
    z-index: 1;
    transition: all .14s linear;
}

.area-point-pin.show {
    opacity: 1;
}

.area-point-pin .tooltip-arrow {
    display: none;
}

.area-point-pin .tooltip-inner {
    padding: 0;
    background-color: transparent;
    opacity: 1;
}

.area-pin {
    transform: translateY(30px);
    display: flex;
    border-radius: 15px 0 15px 0;
    line-height: 50px;
    background-color: #7aa300a6;
    color: #fff;
    cursor: pointer;
    transition: all .2s ease;
    backdrop-filter: blur(5px);
}

.area-pin-icon {
    width: 40px;
    height: 40px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.area-pin-text {
    line-height: 40px;
    white-space: nowrap;
    padding-right: 0;
    font-size: 12px;
    font-weight: 500;
    width: 0;
    overflow: hidden;
}

.area-point-pin .tooltip-inner {
    max-width: unset !important;
}

.area-path {
    stroke-width: 1;
}

.area-path:hover {
    stroke-location: inside;
    stroke-width: 8;
    fill: rgba(0, 0, 0, .1) !important;
    cursor: pointer;
}

.show_tp {
    display: block;
}

.unshow_tp {
    display: none;
}

.map_hover img {
    filter: brightness(50%);
}

.areas-map__image img {
    transition: all .2s ease-in-out;
}

.areas-map__image {
    position: relative;
}

.areas-map__image::before {
}

.plan-nav-item.active {
    background-color: rgba(255, 255, 255, .1) !important;
}

.plan-nav-item.disabled {
    opacity: .5 !important;
}

.genplan-header {
    background-color: var(--black);
    border: 1px solid var(--black);
    background-image: url(assets/img/plan-header-pattern.png);
    background-position: right center;
    background-repeat: no-repeat;

    padding: 40px 0;
}

.genplan-subtitle {
    font-size: 1.2rem;
}

.plan-nav {
    backdrop-filter: blur(4px);
    margin-bottom: -92px;
    position: relative;
    z-index: 3;
}

.plan-nav-item::before {
    background-color: var(--orange-light) !important;
}

.genplan-title {
    text-transform: uppercase;
    font-size: 32px;
    font-family: var(--font-default);
    color: var(--orange);
    margin-bottom: 0;
}

.plan-nav-item {
    border-top: 2px solid transparent;
}

.plan-nav-item.swiper-pagination-bullet-active {
    backdrop-filter: none;
    background-color: rgba(255, 255, 255, 7%) !important;
    border-top-color: var(--orange-light);
}

.genplan-mobile {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    align-items: start;
    justify-content: center;
}


.st:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: transparent;
    float: left;
    border: 2px solid #fff;
    margin: 3px 6px;
    border-radius: 2px;

}

.st_1:before {
    border-color: rgb(44, 197, 87);
    background: rgba(44, 197, 87, 0.5);
}

.st_2:before {
    border-color: rgb(241, 165, 75);
    background: rgba(241, 165, 75, 0.5);
}

.st_3:before {
    border-color: rgb(231, 75, 103);
    background: rgba(231, 75, 103, 0.5);
}

.st_4:before {
    border-color: rgb(130, 128, 126);
    background: rgba(130, 128, 126, 0.5);
}

.status_areas {
    padding: 4px;
    width: 130px;
    height: 80px;
    background: rgba(0, 0, 0, 50%);
    color: #fff;
    backdrop-filter: blur(2px);
    margin-top: -100px;
    right: 20px;
    position: absolute;
    z-index: 2;
    font-size: 12px;
    border-radius: 10px;

}

.zoombtns {
    touch-action: none;
    margin-top: -60px;
    margin-left: 20px;
    position: absolute;
    z-index: 2;

}

.zoombtn {
    touch-action: none;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 50%);
    border: none;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
    backdrop-filter: blur(2px);
    padding-bottom: 4px;
}

.zoombtn.disabled {
    opacity: 0.5;
}

.zoomit {
    transition: all ease-out 0.5s;
}
/*123*/

.structure {
    position: relative;
}

.services-bullets {
    margin-bottom: 80px;
    text-align: center;
}

.services-bullets .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    background-color: var(--green-light);
    opacity: 1;
}

.services-bullets .swiper-pagination-bullet-active {
    background-color: var(--green-dark);
}

.footer-end {
    text-align: right;
}

.form-check-input {
    width: 1.5rem;
    height: 1.5rem;
}

.form-check .form-check-label {
    margin-left: .75rem;
}

.modal-header {
    padding-bottom: 270px;
    background-image: url(assets/img/modal-image.jpg);
    -webkit-background-size: cover;
    background-size: cover;
    border-radius: 60px 0 0;
    overflow: hidden;
    border: none;
}

.swiper-slide img {
    width: 100%;
}

.modal {
    backdrop-filter: blur(5px);
}

.wpcf7-list-item {
    margin-left: 0;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background: #46b450;
}

.wpcf7-not-valid-tip {
    color: #ff5555;
    font-size: 14px;
    font-weight: normal;
    display: block;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffdd83;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 16px;
    border: 2px solid #00a0d2;
}

.ymaps-2-1-79-map {
    opacity: 0.8;
}

/* -sections end */

/* +media */
@media (max-width: 991px) {
    .about-text {
        padding-left: 0;
        margin-top: 1.75rem;
    }

    .about-inner {
        padding-bottom: 100px;
    }
}

@media (max-width: 475px) {
    body {
        --bs-body-font-size: 18px;
    }

    .service-slide-content {
        font-size: 13px;
        line-height: 1;
    }

    /*.footer-map::before {
        pointer-events: all;
    }*/

    .news-image {
        padding-bottom: 400px;
        border-radius: 0;
        margin-left: -2.5rem;
        margin-right: -2.5rem;
        margin-top: 1.5rem;
    }

    .news-share {
        font-size: 20px;
    }

    .news-title {
        font-size: 20px;
        line-height: 1.1;
    }

    .news-content p {
        line-height: 1.25;
        font-size: 18px;
    }

    .zoombtns {
        display: block !important;
    }

    .modal-title {
        font-size: 20px;
    }

    .modal-header .modal-close-button {
        width: 35px;
        height: 35px;
    }

    .footer-end {
        text-align: center;
        margin-top: 2rem;
    }

    .footer-privacy {
        align-items: center;
    }

    .contacts {
        --contacts-map-height: auto;
    }

    .contacts-inner {
        padding-top: 0;
        margin-top: -60px;

    }

    .contacts-info {
        border-radius: 60px 60px 0 0;
        padding-bottom: 0;
    }

    .modal-body {
        padding: 50px;
    }

    .modal-close-button {
        right: 50px;
    }

    .modal-logo {
        padding-right: 56px;
    }

    .footer {
        text-align: center;
    }

    .nav-offset {
        margin-top: 1.5rem;
    }

    .contacts-inner > .container {
        padding-left: 0;
        padding-right: 0;
    }

    .footer-map {
        height: 450px;
    }

    .contacts-map {
        position: static;
    }

    .news-container {
        padding-left: 0;
        padding-right: 0;
    }

    .legacy-inner {
        padding: 3rem 0;
    }

    .about-card i {
        font-size: 40px !important;
    }

    .service-slide-title {
        font-size: 20px;
        line-height: 1;
        margin-bottom: 10px;
    }

    .services-bullets ~ .d-flex {
        opacity: 0;
    }

    .service-slide img {
        height: 500px;
    }

    .arch-slide-title {
        margin-top: 1rem;
    }

    .areas-map {
        overflow: scroll;
    }

    .areas-map__vector {
        width: 1216px;
    }

    .areas-map__image img {
        width: 1216px;
        max-width: unset;
    }

    .genplan-mobile {
        display: flex;
        background-color: rgba(0, 0, 0, 50%);
        backdrop-filter: blur(3px);
        z-index: 5;
    }

    .news {
        padding: 3rem 0;
    }

    .news-item {
        margin-bottom: 2rem;
    }

    .overlay-close {
        top: 40px;
    }

    .services {
        padding-top: 3rem;
    }

    .services-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        /*transform: translateX(calc(var(--bs-gutter-x) * .5));*/
        margin-right: calc(var(--bs-gutter-x) * -.5);
        padding-bottom: 8px;
    }

    .services-list .btn {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .services-progress {
        position: relative !important;
        margin-bottom: 1rem;
    }

    .legacy .section-heading {
        margin-bottom: 1.5rem;
    }

    .slider-nav {
        padding-left: 0;
        padding-right: 0;
        margin-left: -1.75rem;
        margin-right: -1.75rem;
    }

    .community-slide-body {
        left: 48px;
        right: 48px;
    }

    .community-content {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .btn-lg.btn-monavie {
        padding: 18px;
    }

    .community-content-text {
        line-height: 1;
        font-size: 20px;
    }

    .community-content-text br {
        display: none;
    }

    .community-slide-title {
        font-size: inherit;
    }

    .community-slide img[loading="lazy"] {
        height: 100vh;
        object-fit: cover;
    }

    .location-image-small {
        display: inline-block;
    }

    .arch-slider-logo {
        display: none;
    }

    .arch-slide-title {
        margin-bottom: 1.25rem;
    }

    .arch-slider-progress.swiper-pagination-horizontal {
        --pagination-offset: 40px;

        left: var(--pagination-offset);
        right: var(--pagination-offset);
        bottom: var(--pagination-offset);
        width: calc(100% - (var(--pagination-offset) * 2))
    }

    .arch-slider {
        height: 82vh;
    }

    .arch-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .arch-slider-overlay-container {
        --padding-y: 30px;
    }

    .counters-col {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }

    .counter-value {
        font-size: 40px;
    }

    .counter-metrik,
    .counter-text {
        font-size: 13px;
    }

    .counter-text {
        text-transform: uppercase;
    }

    .counters-col:nth-child(1),
    .counters-col:nth-child(2) {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 1.5rem;
    }

    .space-row {
        margin-top: 2rem;
    }

    .btn-wrap {
        white-space: normal;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .container {
        --bs-gutter-x: 5rem;
    }

    .location-banner {
        padding: 40px 30px;
    }

    .car {
        display: none;
    }

    .location svg {
        display: none;
    }

    .location-abs {
        position: relative;
    }

    .location-banner-title {
        font-size: 30px;
    }

    .header-container {
        padding-left: 50px;
        padding-right: 50px;
    }

    .btn-monavie {
        --bs-btn-padding-x: 13px;
        min-height: 42px;
    }

    .hero-logo-big {
        max-width: calc(100% - 80px);
        margin-left: auto;
        margin-right: auto;
    }

    .btn-header-tel {
        order: 1;
        margin-left: 0;
    }

    .btn-header-tel i,
    .btn-header-tel i::before {
        line-height: 1;
        font-size: calc(var(--bs-btn-font-size) - 1px);
        width: 15px;
        height: 15px;
        display: block;
        color: white;
    }

    .btn-header-select {
        order: 2;
    }

    .hero {
        height: 100vh;
    }

    .section-heading {
        font-size: 30px;
        line-height: 1;
    }

    .about-cards {
        margin-top: 1.75rem;
    }

    .about-card {
        padding-left: 12%;
        padding-right: 12%;
    }

    .about-inner {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}
/* -media end */