* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    font-family: "Heebo", serif;
    line-height: 1.2;
    direction: rtl;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.3s color;
}

a:hover {
    color: var(--red);
}

ul,
ol {
    list-style: none;
}

button {
    background: none;
    border: none;
    cursor: pointer;
}

input,
button,
textarea,
select {
    font: inherit;
    outline: none;
}

textarea {
    max-width: 100%;
    min-width: 100%;
}

svg {
    display: block;
    max-width: 100%;
    height: auto;
}

:root {
    --blue: #354683;
    --light-blue: #F0F9FE;
}

[class*="__container"] {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    z-index: 1;
}

[class*="__section"] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 47px 0;
    overflow: hidden;
}

[class*="__button"] {
    display: inline-block;
    border: unset;
    background: unset;
    border-bottom: 3px solid var(--red);
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
}

[class*="__title"] {
    text-align: center;
    font-family: 'Dancing Script', cursive;
    color: var(--blue);
    font-size: 40px;
    font-weight: 400;
    margin-bottom: 29px;
}

[class*="__sub-title"] {
    text-align: center;
    color: var(--blue);
    font-size: 14px;
}

[class*="__separator"] {
    width: 57px;
    height: 3px;
    margin: 0 auto;
    margin-bottom: 20px;
}

[class*="__separator"] img {
    width: 100%;
    height: 100%;
}



/* scroll top */

.scroll-top-wrap {
    width: 57px;
    position: fixed;
    top: 580px;
    left: calc((100vw - 1440px) / 2 + 8px);
    z-index: 100;
    cursor: pointer;
}

.scroll-top {
    width: 57px;
    height: 57px;
}

.scroll-top img {
    width: 100%;
    height: 100%;
}

/* scroll top */



/* hero */

.hero {
    height: 647px;
}

.hero__container {
    position: fixed;
    display: flex;
    width: 100%;
    height: 100%;
    max-width: 1440px;
    justify-content: center;
    padding-top: 38px;
    align-items: flex-start;
    right: 0;
    left: 0;
}

.hero lord-icon {
    position: absolute;
    width: 67px;
    height: 59px;
    top: 29px;
    right: 99px;
    cursor: pointer;
}

.hero-button {
    position: absolute;
    width: 156px;
    height: 40px;
    font-family: 'Dancing Script', cursive;
    color: var(--blue);
    font-size: 26px;
    line-height: 40px;
    border: 1px solid var(--blue);
    border-radius: 6px;
    top: 38px;
    left: 104px;
}

/* hero */



/* images */

.bird-icon {
    position: absolute;
    width: 100%;
    max-width: 1440px;
    top: -38px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 100;
}

.bird-icon.active {
    position: fixed;
    top: 14px;
}

.bird-icon img {
    margin-right: 107px;
}

/* images */



/* info block */

.info-block-wrap {}

.info-block {
    position: relative;
    width: calc(100% - 80px);
    max-width: 584px;
    background: var(--light-blue);
    text-align: center;
    color: var(--blue);
    border-radius: 24px;
    margin: 0 auto;
    margin-bottom: -96px;
    padding: 13px 30px;
    padding-bottom: 28px;
    z-index: 2;
}

.info-block.without-image {
    margin-bottom: 0;
}

.info-block.white {
    background: unset;
    padding-top: 0;
    padding-bottom: 0;
}

.info-block-container {
    max-width: 429px;
    margin: 0 auto;
}

.info-block-icon {
    margin-bottom: 16px;
}

.info-block-icon img {
    margin: 0 auto;
}

.info-block-absolute-icon {
    position: absolute;
    top: -5px;
    right: -17px;
}

.info-block-title {
    font-family: 'Dancing Script', cursive;
    font-size: 40px;
    margin-bottom: 17px;
}

.info-block-sub-title {
    color: var(--blue);
    font-size: 24px;
    margin-bottom: 26px;
}

.info-block-separator {
    width: 57px;
    margin: 0 auto;
    border-bottom: 3px dotted var(--blue);
    margin-bottom: 20px;
}

.info-block-text {
    color: var(--blue);
    font-size: 16px;
    line-height: 1.4;
}

.info-block-text p {
    margin-bottom: 8.5px;
}

.info-block-image-wrap {
    position: relative;
}

.info-block-image-wrap .info-block {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
}

.info-block-image-wrap .info-block-image {
    max-width: 1232px;
    margin: 0 auto;
}

.info-block-button-wrap {
    text-align: center;
    margin-top: 23px;
}

.info-block-button {
    display: inline-block;
    min-width: 156px;
    height: 40px;
    background: var(--blue);
    font-size: 16px;
    line-height: 40px;
    color: white;
    border-radius: 6px;
    padding: 0 10px;
}

.info-block-logo {
    margin: 0 auto;
    margin-top: 34px;
}

/* info block */



/* shell */

.info__section.shell {
    position: relative;
    background: white;
    padding-bottom: 22px;
    z-index: 1;
}

.info__section.shell .info-block-image-wrap {
    margin-top: 200px
}

.info__section.shell .info-block {
    margin-top: -200px;
}

/* shell */



/* window */

.info__section.window {
    padding-top: 0;
    padding-bottom: 21px;
}

/* window */



/* palm */

.info__section.palm {
    position: relative;
    max-width: 1440px;
    height: 764px;
    background: url(../images/Cam001Night.jpg) center center / cover no-repeat;
    margin: 0 auto;
    padding-top: 123px;
    overflow: unset;
}

.info__section.palm .info-block {
    max-width: 518px;
    padding-top: 0.1px;
}

.info__section.palm .info-block-icon {
    margin-top: -18px;
}

/* palm */



/* love */

.info__section.love {
    max-width: 1440px;
    height: 764px;
    background: url('../images/Cam012Day.jpg') center center / cover no-repeat;
    margin: 0 auto;
    padding-top: 0.1px;
    overflow: unset;
}

.info__section.love .info-block {
    max-width: 548px;
    padding-top: 0.1px;
    margin-top: -92px;
}

.info__section.love .info-block-container {
    max-width: 465px;
}

.info__section.love .info-block-icon {
    margin-top: -18px;
}

/* love */



/* apartments slider */

.apartments-slider__section {
    padding-top: 30px;
    padding-bottom: 2px;
}

.apartments-slider {
    width: calc(100% - 60px);
    max-width: 1232px;
    margin: 0 auto;
}

.apartments-slider-slide {
    position: relative;
    aspect-ratio: 2 / 1;
    border-radius: 16px;
    overflow: hidden;
}

.apartments-slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.apartments-slider-slide-title {
    position: absolute;
    display: flex;
    height: 28px;
    line-height: 28px;
    background: rgba(255, 255, 255, 0.55);
    padding: 0 10px;
    color: var(--blue);
    font-size: 13px;
    border-radius: 5px;
    bottom: 11px;
    right: 11px;
    gap: 12px;
    text-transform: uppercase;
}

/* apartments slider */



/* benifits slider */

.benifits-slider {
    width: calc(100% - 60px);
    max-width: 1232px;
    margin: 0 auto;
}

.benifits-slide {
    display: flex;
    justify-content: space-between;
}

.benifits-slide-info-wrap {
    width: 38.25%;
    padding-top: 20px;
}

.benifits-slide-arrows-wrap {
    display: flex;
    flex-direction: row-reverse;
    gap: 20px;
    margin-bottom: 38px;
}

.benifits-slide-arrow {
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.benifits-slide-arrow img {
    width: 100%;
    height: 100%;
}

.benifits-slide-title {
    font-size: 24px;
    margin-bottom: 25px;
}

.benifits-slide__separator {
    margin-right: 0;
    margin-left: 0;
}

.benifits-slide-image {
    position: relative;
    width: 58%;
    aspect-ratio: 715 / 422;
    border-radius: 16px;
}

.benifits-slide-image img {
    width: 100%;
    height: 100%;
}

.benifits-slide-image-title {
    position: absolute;
    display: flex;
    height: 40px;
    line-height: 40px;
    background: rgba(255, 255, 255, 0.9);
    padding: 0 12px;
    color: var(--blue);
    font-size: 13px;
    border-radius: 5px;
    top: 21px;
    right: 19px;
    gap: 5px;
    text-transform: uppercase;
}

.benifits-slide-image-title img {
    width: 18px;
}

/* benifits slider */



/* quote banner */

.quote-banner__section {
    height: 787px;
    background: url('../images/quote-banner.jpg') center center / cover no-repeat;
    aspect-ratio: unset;
    padding-top: 137px;
}

.quote-banner__section.second {
    height: 757px;
    background-image: url('../images/Rectangle.jpg');
    aspect-ratio: unset;
    padding-top: 27px;
}

.quote-banner-text-wrap {
    width: 678px;
    float: left;
}

.quote-banner-text {
    text-align: center;
    font-family: 'Dancing Script', cursive;
    color: white;
    font-size: 60px;
    line-height: 1.05;
    text-shadow:
        0px 1px 3px rgba(0, 0, 0, 0.3),
        /* First shadow */
        0px 4px 8px rgba(0, 0, 0, 0.15);
    /* Second shadow */
}


/* quote banner */



/* map */

.map__section {
    background: url('../images/map-section.jpg') left -51px / 49.5% no-repeat;
    padding-top: 55px;
    padding-bottom: 166px;
}

.map__container {
    width: calc(100% - 60px);
    max-width: 1018px;
}

.map-top-wrap {
    display: flex;
    justify-content: space-between;
    padding-left: 7px;
}

.map__title {}

.map-tabs-nav {
    display: flex;
    gap: 10px;
    margin-top: 9px;
}

.map-tabs-nav-item {
    width: 132px;
    height: 50px;
    text-align: center;
    font-size: 20px;
    font-weight: 300;
    color: var(--blue);
    border-radius: 6px;
    border: 1px solid var(--blue);
    line-height: 50px;
    cursor: pointer;
}

.map-tabs-nav-item.active {
    background: var(--blue);
    color: white;
}

.map {
    border-radius: 16px;
    overflow: hidden;
}

.map img {
    width: 100%;
}

/* map */



/* complex */

.complex__container {
    max-width: 1232px;
    margin: 0 auto;
}

.complex__section {
    padding-bottom: 0;
}

.complex__title {
    margin-bottom: 33px;
}

.complex-text {
    position: relative;
    display: flex;
    max-width: 764px;
    margin: 0 auto;
    color: var(--blue);
    font-size: 16px;
    line-height: 1.4;
    justify-content: space-between;
    text-align: justify;
    margin-bottom: 22px;
}

.complex-icon {
    position: absolute;
    top: -82px;
    right: -33px;
}

.complex-text .first {
    width: 349px;
}

.complex-text .second {
    width: 355px;
}

/* complex */



/* schedules */

.schedules__section {
    padding-top: 41px;
}

.schedules__container {
    width: calc(100% - 60px);
}

.schedules__title {
    margin-bottom: 4px;
}

.schedules__sub-title {
    margin-bottom: 60px;
}

.schedules-images {
    display: flex;
    max-width: 944px;
    margin: 0 auto;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

/* schedules */



/* about */

.info__section.about {
    padding-bottom: 22px;
}

.info__section.about .info-block {
    margin-top: 47px;
    padding-bottom: 41px;
}

.info__section.about .info-block-sub-title {
    margin-top: 19px;
    line-height: 1.7;
    margin-bottom: 18px;
}

.info__section.about .info-block-container {
    max-width: 475px;
}

.info__section.about .info-block {
    margin-top: 47px;
}

/* about */



/* contact us */

.contact-us__section {
    padding-top: 31px;
}

.contact-us__title {
    margin-bottom: 4px;
}

.contact-us__sub-title {
    margin-bottom: 50px;
}

.contact-us-wrap {
    display: flex;
    max-width: 1232px;
    margin: 0 auto;
    justify-content: space-between;
}

.contact-us-form {
    width: 48.5%;
}

.contact-us-image {
    width: 44.4%;
}

.contact-us-image img {
    width: 100%;
}

/* contact us */



/* form */

.form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 26px;
    row-gap: 32px;
}

.form-input-wrap {
    width: calc(50% - 13px);
}

.form-textarea-wrap {
    width: 100%;
}

.form-input-wrap label,
.form-textarea-wrap label {
    display: block;
    color: var(--blue);
    font-weight: 600;
    margin-bottom: 11px;
}

.form-input-wrap input,
.form-input-wrap select,
.form-textarea-wrap textarea {
    width: 100%;
    min-height: 72px;
    background: var(--light-blue);
    padding: 24px 24px;
    border-radius: 36px;
    border: unset;
    color: var(--blue);
    font-size: 15px;
}

.form-input-wrap input:focus,
.form-input-wrap select:focus,
.form-textarea-wrap textarea:focus,
.form-input-wrap input:hover,
.form-input-wrap select:hover,
.form-textarea-wrap textarea:hover {
    outline: 3px solid #b0b9ce;
    outline-offset: 2px;
    transition: outline 0.2s ease;
}

.form-input-wrap select {
    background: url(../images/select-arrow.svg) 25px center / 12px no-repeat var(--light-blue);
    -webkit-appearance: none;
}

.form-textarea-wrap textarea {
    height: 142px;
}

.contact-us-form-bottom-wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.form button {
    height: 72px;
    min-width: 181px;
    background: var(--blue);
    color: white;
    font-size: 18px;
    font-weight: 600;
    line-height: 66px;
    padding: 0 15px;
    border-radius: 100px;
}

.social-wrap {
    display: flex;
    gap: 16px;
}

/* form */



/* footer */

.footer {
    border-bottom: 1px solid var(--blue);
    padding-bottom: 15px;
}

.footer__container {
    display: flex;
    max-width: 1232px;
    margin: 0 auto;
    align-items: flex-end;
    justify-content: space-between;
}

.footer-menu {
    width: calc(50% - 100px);
    color: var(--blue);
}

.footer-menu ul {
    display: flex;
    gap: 34px;
}

.footer-menu.first ul {
    flex-direction: row-reverse;
}

.footer-logo {
    width: 100px;
}

.footer-logo img {
    width: 100%;
}

.disclaimer {
    color: var(--blue);
    font-size: 12px;
    text-align: center;
    padding: 17px;
}

/* footer */



/* text circle */

.text-circle-wrap {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 277px;
    height: 277px;
    animation: rotate-circle 20s linear infinite;
    top: -171px;
    right: 16px;
}

.text-circle-wrap img {
    width: 100%;
    height: 100%;
}

@keyframes rotate-circle {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* text circle */



/* popup */

.popup-wrap {
    position: fixed;
    display: flex;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none; /* Prevent interactions when hidden */
    transition: opacity 0.3s ease;
}

.popup-wrap.show {
    opacity: 1;
    pointer-events: auto; /* Enable interactions */
}

.popup-close-area {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.popup {
    position: relative;
    width: 738px;
    background: var(--light-blue);
    border-radius: 24px;
    padding: 50px 63px;
    z-index: 2;
}

.popup-close {
    position: absolute;
    top: 30px;
    left: 37px;
    cursor: pointer;
}

.popup__title {
    margin-bottom: 50px;
}

.popup .form input {
    background: white;
}

.popup .form button {
    width: 100%;
}

/* popup */



/* burger */

.burger-menu {
    position: fixed;
    width: 400px;
    background: white;
    top: 0;
    right: 0;
    z-index: 1000;
    transform: translateX(100%);
    transition: 0.3s transform;
}

.burger-menu.active {
    transform: translateX(0);
}

.burger-menu-close {
    margin-top: 22px;
    margin-right: 23px;
    margin-bottom: 26px;
    cursor: pointer;
}

.burger-menu ul {

}

.burger-menu li {
    text-align: center;
    color: var(--blue);
    font-size: 24px;
    line-height: 77.7px;
    padding: 0 10px;
    border-bottom: 1px solid var(--blue);
}

.burger-menu li:last-child {
    border-bottom: unset;
}

/* burger */



/* bg scroll */

.bg-scroll {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    aspect-ratio: 1;
    position: relative; /* Ensure proper positioning for dynamic effects */
  }

/* bg scroll */