/* Global Typography Tokens */
:root {
    /* Font Families */
    --font-primary: "AvenirNextLTPro-Regular", sans-serif;
    --font-primary-bold: "AvenirNextLTPro-Bold", sans-serif;
    --font-primary-medium: "AvenirNextLTPro-Medium", sans-serif;

    /* Font Sizes */
    --fs-hero-heading: 65px;
    --fs-hero-subtext: 28px;
    --fs-section-heading: 50px;
    --fs-section-subtext: 20px;
    --fs-element-heading: 30px;
    --fs-element-subtext: 16px;
    --fs-button: 20px;
}

/* Fonts */
@font-face {
    font-family: "AvenirNextLTPro-Regular";
    src: url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.eot");
    src:
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.woff2") format("woff2"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.woff") format("woff"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.ttf") format("truetype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Regular/AvenirNextLTPro-Regular.svg#AvenirNextLTPro-Regular") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "AvenirNextLTPro-Medium";
    src: url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.eot");
    src:
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.woff2") format("woff2"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.woff") format("woff"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.ttf") format("truetype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Medium/AvenirNextLTPro-MediumCn.svg#AvenirNextLTPro-MediumCn") format("svg");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "AvenirNextLTPro-Bold";
    src: url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.eot");
    src:
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.eot?#iefix") format("embedded-opentype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.woff2") format("woff2"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.woff") format("woff"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.ttf") format("truetype"),
        url("/assets/fonts/AvenirNextLTPro/AvenirNextLTPro-Bold/AvenirNextLTPro-Bold.svg#AvenirNextLTPro-Bold") format("svg");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* Reset */
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    /* list-style: none; */
}

/* Hide Desktop */
.hide-desktop {
    display: none !important;
}

/* Cursor */
.cursor-pointer {
    cursor: pointer;
}

/* Buttons */
.rounded-button {
    font-family: var(--font-primary);
    font-size: var(--fs-button);
    color: #fff;
    display: flex;
    gap: 10px;
    align-items: center;
    height: 84px;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 50px;
}

.rounded-button-banner {
    position: absolute;
    right: 20px;
    bottom: 30px;
    padding: 0 35px;
}

.rounded-button-view-listing {
    width: fit-content;
    padding: 0 20px 0 30px;
    border-color: #fff;
    transition-delay: 2s;
}

.up-down-button {
    height: 40px;
    color: #000;
    width: 100%;
    border: 1px solid #fff;
    outline: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    background: #fff;
    transition: 0.3s ease-in-out;
}

.up-down-button:hover {
    background: #353535;
}

.up-down-button span {
    font-family: "AvenirNextLTPro-Bold", sans-serif;
    font-size: var(--fs-section-subtext);
    text-transform: uppercase;
    transition: top 0.5s;
    font-weight: 200;
}

.button-text-one {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.button-text-two {
    position: absolute;
    width: 100%;
    top: 150%;
    left: 0;
    transform: translateY(-50%);
}

.up-down-button:hover .button-text-one {
    top: -100%;
}

.up-down-button:hover .button-text-two {
    top: 50%;
}

.no-border-button {
    width: 100%;
    max-width: 225px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 0 10px;
    border: 1px solid #fff;
    font-family: var(--font-primary);
    font-size: var(--fs-button);
    color: #fff;
    gap: 10px;
}

@media (max-width: 1760px) {

    /* Show Laptop */
    .show-laptop-flex {
        display: flex !important;
    }

    /* Hide Laptop */
    .hide-laptop {
        display: none !important;
    }
}

@media (max-width: 1280px) {

    /* Show Tablet */
    .show-tablet {
        display: block !important;
    }

    .show-tablet-flex {
        display: flex !important;
    }

    /* Hide Tablet */
    .hide-tablet {
        display: none !important;
    }

    .rounded-button {
        padding: 30px;
    }
}

.hide-tablet-mini {
    padding: 20px 20px 20px 0;
}

@media (max-width: 1024px) {

    /* Show Tablet */
    .show-tablet-mini {
        display: block !important;
    }

    .show-tablet-mini-flex {
        display: flex !important;
    }

    /* Hide Tablet */
    .hide-tablet-mini {
        display: none !important;
    }
}



.call-to-action {
    position: fixed;
    top: 75%;
    right: 1%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    gap: 20px;
    z-index: 2;
}

/* Tablet */
@media (max-width: 1024px) {
    .call-to-action {
        top: 50%;
        transform: translateY(-50%);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .call-to-action {
        top: 74%;
        transform: translateY(-50%);
    }
}


.call-to-action div {
    border-radius: 50%;
    width: 55px;
    height: 55px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}


.call-to-action a {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {

    /* Show Tablet */
    .show-mobile {
        display: block !important;
    }

    .show-mobile-flex {
        display: flex !important;
    }

    /* Hide Tablet */
    .hide-mobile {
        display: none !important;
    }


    .call-to-action {

        top: 74%;

    }
}



.call-to-action div:last-child {
    background: #FFF;
}

.call-to-action div:last-child:hover {
    background: #FFF;
}

.call-to-action div:first-child {
    background: #FFF;
}

.call-to-action div:first-child:hover {
    background: #FFF;
}

.call-to-action img {
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

html.light-mode .call-to-action div:last-child {
    background: black !important;
}

html.light-mode .call-to-action div:last-child:hover {
    background: black !important;
}

html.light-mode .call-to-action div:first-child {
    background: black !important;
}

html.light-mode .call-to-action div:first-child:hover {
    background: black !important;
}

html.light-mode .call-to-action img {
    -webkit-filter: invert(0%);
    filter: invert(0%);
}





.button_box_one {
    display: flex;
}




.padding_holiday_one {
    padding: 180px 0 60px 0;
}

.padding_holiday_20 {
    padding: 20px 0;
}




@media (max-width: 900px) {
    .button_box_one {
        flex-direction: column;
    }


    .padding_holiday_one {
        padding: 80px 0 40px 0;
    }


    .banner-filters {
        padding: 26px 20px 0 !important;
    }



    .padding_holiday_20 {
        padding: 0;
    }

    .property-item__mobile-two {
        padding: 0;

    }



    .property-item-details__container {
        padding: 0 11px !important;
    }



    .property-item-agent-contact p {
        font-size: 12px !important;
    }


    .footer-content::before {
        display: none;
    }




    .property-item-agent__container {
        justify-content: space-between;
    }


    .wrap__uC9Ba {
        bottom: 92px !important;
        z-index: 1 !important;
    }

    .wrap__uC9Ba {
        z-index: 1 !important;
    }




    .nop-container {
        padding-top: 101px;



    }


    .tw-section .community-hero-image {
        min-height: auto !important;

        width: 100%;

        height: 336px;
    }





}




html.light-mode .property-item-btn {
    background: #d0d0d0;
}


html.light-mode .properties-index-page .banner-search-button img {
    filter: invert(1);
}