/* Common CSS Starts */
html {
    scroll-behavior: smooth;
}
body.overflow-hidden {
    overflow: hidden;
    height: 100%;
}
a:not([href]) {
    cursor: pointer;
}

body {
    font-size: var(--paragraph);
    font-family: var(--main-font); 
    font-weight: 400;
}
h1 {
    font-size: var(--heading1);
    font-weight: 500;
    line-height: 1;
}
h2 {
    font-size: var(--heading2);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 24px;
}
h3 {
    font-size: var(--heading3);
    font-weight: 500;
    line-height: 1.25;
}
h4 {
    font-size: var(--heading4);
    font-weight: 500;
    line-height: 1.3;
}
h5 {
    font-size: var(--heading5);
    font-weight: 400;
    line-height: 1.6;
}
h6 {
    font-size: var(--heading6);
    font-weight: 400;
    line-height: 1.6;
}
p {
    font-size: var(--paragraph);
    font-weight: 400;
    line-height: 1.5;
}
a {
    font-size: var(--link);
    font-weight: 400;
}

h1 small {
    font-size: var(--heading3);
    display: block;
}
h2 small {
    font-size: var(--heading3);
    display: block;
    margin-bottom: 8px;
}

p:last-child {
    margin-bottom: 0;
}

p a,
li a {
    text-decoration: none;
}

p a:hover,
li a:hover {
    text-decoration: underline;
}

ol {
    counter-reset: li;
    list-style: none;
}

ol > li {
    position: relative;
    margin-bottom: 32px;
}

ol > li:last-child {
    margin-bottom: 0;
}

ol > li:before {
    counter-increment: li;
    content: counter(li) ".";
    position: absolute;
    left: -30px;
    top: 1px;
}

ol > li > ol {
    counter-reset: sub-li;
    padding-left: 40px;
}

ol > li > ol > li {
    position: relative;
    margin-bottom: 24px;
}

ol > li > ol > li:before {
    counter-increment: sub-li;
    content: counter(li) "." counter(sub-li) ".";
    position: absolute;
    top: 4px;
    left: -40px;
}

ul {
    list-style-type: disc;
}

img {
    max-width: 100%;
}

.solid-btn {
    padding: 12px 32px;
    background-color: var(--dark-color);
    font-size: var(--link);
    color: var(--white-color);
    text-decoration: none;
    display: table;
    position: relative;
    text-transform: uppercase;
}

.solid-btn:hover {
    text-decoration: none;
}

.solid-btn:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    bottom: 12px;
    background-color: var(--white-color);
    height: 1px;
    transition: 400ms width;
}
.solid-btn:hover:after {
    width: 56px;
}

a:hover div.solid-btn:after {
    width: 56px;
}

.container-fluid {
    width: 1488px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 24px;
}

.padding-top-standard {
    padding-top: var(--standard-top-space);
}
.padding-top-small {
    padding-top: var(--small-top-space);
}
.padding-top-none {
    padding-top: var(--no-top-space);
}
.padding-bottom-standard {
    padding-bottom: var(--standard-bottom-space);
}
.padding-bottom-small {
    padding-bottom: var(--small-bottom-space);
}
.padding-bottom-none {
    padding-bottom: var(--no-bottom-space);
}
.padding-standard-left {
    padding-left: var(--standard-side-space);
}
.padding-small-left {
    padding-left: var(--small-side-space);
}
.padding-none-left {
    padding-left: var(--no-side-space);
}
.padding-standard-right {
    padding-right: var(--standard-side-space);
}
.padding-small-right {
    padding-right: var(--small-side-space);
}
.padding-none-right {
    padding-right: var(--no-side-space);
}

.inner-padding-top-2xl {
    padding-top: var(--inner-space-2xl);
}
.inner-padding-top-xl {
    padding-top: var(--inner-space-xl);
}
.inner-padding-top-l {
    padding-top: var(--inner-space-l);
}
.inner-padding-top-m {
    padding-top: var(--inner-space-m);
}
.inner-padding-top-s {
    padding-top: var(--inner-space-s);
}
.inner-padding-top-xs {
    padding-top: var(--inner-space-xs);
}
.inner-padding-top-2xs {
    padding-top: var(--inner-space-2xs);
}
.inner-padding-top-3xs {
    padding-top: var(--inner-space-3xs);
}
.inner-padding-top-none {
    padding-top: var(--inner-space-none);
}
.inner-padding-bottom-2xl {
    padding-bottom: var(--inner-space-2xl);
}
.inner-padding-bottom-xl {
    padding-bottom: var(--inner-space-xl);
}
.inner-padding-bottom-l {
    padding-bottom: var(--inner-space-l);
}
.inner-padding-bottom-m {
    padding-bottom: var(--inner-space-m);
}
.inner-padding-bottom-s {
    padding-bottom: var(--inner-space-s);
}
.inner-padding-bottom-xs {
    padding-bottom: var(--inner-space-xs);
}
.inner-padding-bottom-2xs {
    padding-bottom: var(--inner-space-2xs);
}
.inner-padding-bottom-3xs {
    padding-bottom: var(--inner-space-3xs);
}
.inner-padding-bottom-none {
    padding-bottom: var(--inner-space-none);
}

/* Common CSS Ends */

/* Header CSS Starts */
header {
    position: sticky;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    background-color: var(--grey-color);
    z-index: 1;
}
.header-holder {
    padding: 8px 0;
}
.header-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.logo {
    font-size: 32px;
    font-weight: 500;
    color: var(--dark-color);
    text-decoration: none;
    display: block;
}
.menu-btn {
    background-color: transparent;
    border: none;
    line-height: 1;
    display: none;
}
.menu-btn i {
    font-size: 30px;
}
nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
nav ul li a {
    display: block;
    font-size: var(--link);
    line-height: 1;
    padding: 16px;
    position: relative;
    color: var(--dark-color);
    text-transform: uppercase;
    text-decoration: none;
}
nav ul li a:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    width: 0;
    bottom: 10px;
    text-align: center;
    height: 1px;
    margin: 0 auto;
    background-color: var(--brand-color);
    transition: 400ms width;
}
nav ul li a:hover {
    text-decoration: none;
}
nav ul li a:hover:after, nav ul li.current-menu-item a:after {
    width: 56px;
}
.banner {
    background-color: var(--brand-color);
    color: var(--white-color);
}
.banner figure {
    margin: 0;
    width: 100%;
}
.banner figure img {
    width: 100%;
}
.banner-head-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.banner-head-wrap h1 {
    padding: 0 0 40px;
    margin-bottom: 0;
    width: calc(100% - 416px);
}
.banner-info {
    border-left: 1px solid var(--white-color);
    padding-left: 12px;
    width: 416px;
}
.multimedia-content-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}
.multimedia-content-wrap.reverse {
    flex-direction: row-reverse;
}
.multimedia-content-wrap figure {
    width: calc(50% - 40px);
    margin: 0;
}
.multimedia-content-wrap figure img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.multimedia-content-wrap figure iframe {
    min-height: 500px;
}
.multimedia-content-wrap .content {
    width: calc(50% - 40px);
    /*padding: 24px 0;*/
}
.gallery-figure-content-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.gallery-block {
    width: 100%;
}
.gallery-figure {
    width: calc(60% - 12px);
}
.gallery-content {
    width: calc(40% - 12px);
}
.gallery-figure figure {
    margin: 0;
    height: 100%;
}
.gallery-block figure img {
    height: 100%;
    object-fit: cover;
}
.gallery-content figure {
    margin: 0;
}
.gallery-content ul {
    list-style-type: square;
}
.gallery-content ul li {
    margin-bottom: 8px;
}
.gallery-content ul li:last-child {
    margin-bottom: 0;
}
.gallery-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
}
.full-image-section figure {
    width: 100%;
    margin: 0;
}
.full-image-section figure img {
    width: 100%;
}
.contact-form-section h2 {
    max-width: 984px;
    margin-bottom: 32px;
}
.form-control {
    padding: 7px 12px;
    font-size: 18px;
    font-weight: 400;
    border-radius: 0;
    border: 1px solid #242424;
}
.form-input label {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 8px;
}
.form-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.form-input {
    width: calC(50% - 20px);
}
textarea.form-control {
    height: 200px;
}
button.solid-btn {
    border: none;
}
.form-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}
footer ul {
    list-style: none;
    padding-left: 0;
}
ul.footer-logo-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
}
footer a {
    display: block;
    color: var(--dark-color);
}
ul.contact-details-block {
    margin-bottom: 40px;
}
ul.contact-details-block li {
    margin-bottom: 16px;
}
ul.contact-details-block li:last-child {
    margin-bottom: 0;
}
ul.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 0;
}
.inside-page .banner .container-fluid {
    padding: 0;
}
.inside-page .banner figure img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
    width: 100%;
}

.news-details-section .content {
    max-width: 960px;
    width: 100%;
}
.news-listing-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.news-listing-block {
    width: calc(33.33% - 16px);
    display: block;
    color: #242424;
    text-decoration: none;
}
.news-listing-block figure {
    position: relative;
}
.news-listing-block .date {
    display: block;
    position: absolute;
    right: 8px;
    top: 8px;
    background-color: #fff;
    padding: 8px;
    line-height: 1;
    font-size: 12px;
}
.news-listing-block figure img {
    width: 100%;
    aspect-ratio: 20 / 13;
    object-fit: cover;
}
.news-listing-block h4 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.news-listing-block h4 small {
    display: block;
    width: 0;
    transition: 400ms width;
    overflow: hidden;
}
.news-listing-block:hover h4 small {
    width: 42px;
}
.news-details-image-section .container-fluid {
    padding: 0;
}
.with-brand-bkg .form-control {
    background-color: transparent;
    border-color: var(--white-color);
    color: var(--white-color);
}
.with-brand-bkg .solid-btn {
    background-color: var(--white-color);
    color: var(--dark-color);
}
.development-listing-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 56px 24px;
}
.development-listing-block {
    width: calc(50% - 12px);
}
.development-listing-block h3 {
    margin-bottom: 0;
}
.development-listing-block figure {
    margin-bottom: 24px;
}
.development-listing-block figure img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}


ul.appartment-listing {
    list-style: none;
    padding-left: 0;
    display: none;
}
ul.appartment-listing.active {
    display: block;
}
ul.appartment-listing li.sold .appartment-listing-block-head h3:last-child {
    color: var(--red-color);
}
ul.appartment-listing li a {
    display: block;
    color: var(--dark-color);
    text-decoration: none;
    padding: 32px;
    border-bottom: 1px solid var(--dark-color);
}
ul.appartment-listing li a:hover {
    text-decoration: none;
}
ul.appartment-listing li:last-child a {
    border-bottom: none;
}
.appartment-listing-block-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 24px;
}
.appartment-listing-block-head h3 {
    margin-bottom: 0;
}
.appartment-listing-block-info ul {
    margin: 0 -16px;
    width: calc(100% - 180px);
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.appartment-listing-block-info ul li h6 {
    font-size: 12px;
    font-weight: 400;
    padding: 0 16px;
    margin-bottom: 0;
}
.appartment-listing-block-info ul li p {
    font-size: 20px;
    font-weight: 400;
    padding: 0 16px;
}
.appartment-listing-section p {
    font-size: 12px;
}
.appartment-listing-block-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}
.appartment-listing-block-table .solid-btn {
    font-size: 14px;
    font-weight: 500;
}
/*.appartment-details-img-holder {
    display: none;
}
.appartment-details-img-holder.active {
    display: block;
}*/
.appartment-details-img-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.appartment-details-img-block {
    width: calc(50% - 12px);
}
.appartment-details-img-block figure {
    margin-bottom: 0;
}
.appartment-details-img-block figure img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.back-btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px !important;
    gap: 4px;
    width: max-content;
}
.back-btn em {
    font-size: 20px;
    display: block;
    line-height: 1;
    font-style: normal;
}
.appartment-details-map-section figure img {
    width: 100%;
}

.appartment-listing-section figure {
    position: relative;
    margin: 0;
    width: 100%;
    overflow: hidden;
}
.appartment-listing-section figure img {
    object-fit: cover;
    width: 100%;
    /*aspect-ratio: 2 / 1;*/
    object-position: bottom;
}
.appartment-listing-layout svg, .appartment-inside-layout svg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
}
.appartment-listing-layout svg polygon, .appartment-inside-layout svg polygon {
    fill-opacity: 0.3;
    cursor: pointer;
}
.appartment-listing-layout svg polygon:hover, .appartment-inside-layout svg polygon:hover {
    fill-opacity: 0.6;
}
.appartment-inside-layout svg polygon.active {
    fill-opacity: 0.6;
}
.appartment-listing-inside-popup {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    height: 100vh;
    overflow: hidden;
    overflow-y: auto;
    z-index: 4;
    padding: 60px 0;
    display: none;
}
.appartment-listing-inside-popup-wrap {
    display: flex;
    flex-wrap: wrap;
}
.appartment-listing-inside-popup-media {
    width: 70%;
    padding: 24px 0;
    max-width: calc(100% - 420px);
}
.appartment-details {
    width: 30%;
    min-width: 420px;
}
.appartment-listing-inside-popup-media .back-btn {
    margin-bottom: 60px;
}
.appartment-inside-info {
    padding: 40px 24px;
}
.appartment-inside-layout svg {
    cursor: none;
    pointer-events: none;
}
.appartment-inside-details {
    margin-bottom: 32px;
}
.appartment-inside-details h3 {
    margin-bottom: 32px;
}
.appartment-inside-info ul {
    margin: 0 -16px;
    width: 100%;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 32px;
}
.appartment-inside-info ul li {
    width: calc(50% - 16px);
}
.appartment-inside-info ul li h6 {
    font-size: 12px;
    font-weight: 400;
    padding: 0 16px;
    margin-bottom: 0;
}
.appartment-inside-info ul li p {
    font-size: 20px;
    font-weight: 400;
    padding: 0 16px;
}
.appartment-inside-price {
    margin-bottom: 32px;
}
.solid-btns-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.solid-btns-wrap .solid-btn {
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
/*.appartment-listing-inside-map svg {
    position: absolute;
    left: 0;
    right: 0;
    top: -22.5%;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
}
.appartment-listing-inside-map svg polygon {
    fill-opacity: 0;
    cursor: pointer;
    transition: all 400ms;
    cursor: pointer;
    position: relative;
}
.appartment-listing-inside-map svg > polygon:not(.active) {
    opacity: 1;
    fill: #fff;
    fill-opacity: 0.8;
}
.appartment-listing-inside-map svg > polygon:hover {
    fill-opacity: 0.8;
}
.appartment-listing-inside-map svg > polygon:not(.active):hover {

}*/
/*.appartment-inside-holder {
    display: none;
}
.appartment-inside-holder.active {
    display: block;
}*/
.appartment-listing-layout {
    position: relative;
}
.floors-list {
    position: absolute;
    top: 24px;
    right: 24px;
}
.floors-list ul {
    padding-left: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}
.floors-list ul li {
    width: 100%;
}
.floors-list ul li a {
    font-size: 20px;
    font-weight: 400;
    color: var(--dark-color);
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    padding: 8px 16px;
    border: 1px solid var(--dark-color);
    background-color: var(--white-color);
    text-decoration: none;
}
.floors-list ul li:not(:first-child) a {
    border-bottom: none;
}
.floors-list ul li a span {
    display: block;
    line-height: 1;
    margin-right: 6px;
}
.floors-list ul li a sup {
    line-height: 1;
    margin-right: 4px;
}
.current-floor {
    position: absolute;
    top: 24px;
    left: 24px;
    line-height: 1;
    font-size: 32px;
    font-weight: 500;
    color: var(--dark-color);
    line-height: 1;
    padding: 16px 24px;
    border: 1px solid var(--dark-color);
    background-color: var(--white-color);
    text-decoration: none;
    display: block;
}
.current-floor sup {
    line-height: 1;
}
.current-floor span {
    display: none;
}

.appartment-listing-layout svg polygon {
    fill-opacity: 0;
    cursor: none;
    pointer-events: none;
}

.appartment-listing-layout svg polygon.active {
    fill-opacity: 0.3;
    cursor: pointer;
    pointer-events: auto;
}

.floors-list ul li.active a {
    background-color: var(--dark-color);
    color: var(--white-color);
}

.appartment-listing-img figure {
    display: none;
}
.appartment-listing-img figure.active {
    display: block;
}
.appartment-listing-layout figure svg path,
.appartment-listing-layout figure svg rect {
    cursor: pointer;
}
.appartment-inside-layout svg path:not(.active),
.appartment-inside-layout svg rect:not(.active) {
    fill-opacity: 0;
}
footer a img {
    display: table;
    margin: 0 auto;
}