.explore_map {
    margin-top: 160px;
}

.resort__popup--text--link--url {
    position: relative;
    color: #1A1A1A;
    text-decoration: none;
    width: fit-content;
    font-family: var(--title-font-family);
    font-size: 8px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.resort__popup--text--link--url::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background-color: #1A1A1A;
    transform: scaleX(1);
    transform-origin: right;
    transition: transform .4s ease-in-out;
}

.resort__popup--text--link--url:hover::after {
    transform: scaleX(0);
    transform-origin: right;
}

.loop-neighborhood .resort__popup--text--link .resort__popup--text--link--url {
    text-align: center;
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.location__grid {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    overflow: hidden;
}

.location__point {
    position: absolute;
    z-index: 2;
    cursor: pointer;
    border-style: none;
    background-color: transparent;
}

.location__grid--map--inner {
    position: relative;
}

.location__grid--posts {
    max-width: 300px;
}

.location__grid--map--inner--img {
    max-height: 650px;
    object-fit: cover;
    min-height: 650px;
    -webkit-mask:
        linear-gradient(to top, transparent 10%, #fff 15% 90%, transparent 95%),
        linear-gradient(to left, transparent 10%, #fff 15% 90%, transparent 95%);
    -webkit-mask-size: 110% 110%;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-composite: source-in;
    mask:
        linear-gradient(to top, transparent 10%, #fff 15% 90%, transparent 95%),
        linear-gradient(to left, transparent 10%, #fff 15% 90%, transparent 95%);
    mask-size: 110% 110%;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-composite: intersect;
}

.location__grid {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    max-width: 1360px;
    margin-left: auto;
    margin-right: auto;
}

.location__grid--posts--cards {
    max-height: 650px;
    min-height: 650px;
    overflow-y: scroll;
    overflow-x: hidden;
}

.location__point--popup {
    position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 460px;
    height: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
    z-index: -1;
}

.location__popup--text--location p {
    color: #1A1A1A;
    font-family: var(--default-font-family);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-top: 10px;
    margin-bottom: 8px;
    white-space: normal;
}

.location__point.active .location__point--popup {
    position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    z-index: 2;
}

.location__point--mark--inner {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border-style: none;
}

.location__point--popup--inner--close {
    position: absolute;
    top: 5px;
    right: 5px;
    border: none;
    width: 35px;
    height: 35px;
    cursor: pointer;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

.location__point--popup--inner--close svg {
    max-width: 24px;
    object-fit: cover;
    max-height: 24px;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.location__point--popup--inner--close svg g path,
.location__point--popup--inner--close svg rect {
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.location__point--popup--inner--close:hover svg rect {
    fill: #7d5a4a;
}

.location__point--popup--inner--close:hover svg g path {
    fill: #D9D9D9;
}

.location__point--popup--inner--img img,
.location__point--popup--inner--img {
    width: 100%;
    max-height: 170px;
    min-height: 170px;
    object-fit: cover;
}

.location__point--popup--inner.no-banner-image .location__point--popup--inner--close:hover svg rect {
    fill: #5a3f35;
}

.location__popup--text {
    display: flex;
    padding: 20px 20px 22px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    text-align: left;
    width: 100%;
    border-bottom: 0.5px solid #7D5A4A;
    background-color: #FFF;
}

.location__popup--text--name,
.location__popup--text--name a {
    margin-top: 14px;
    overflow: hidden;
    color: #1A1A1A;
    text-overflow: ellipsis;
    font-family: var(--title-font-family);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}

.location__grid--posts--cards--text--cat {
    margin: 0;
    color: #1A1A1A;
    font-family: var(--title-font-family);
    font-size: 8px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}

.location__grid--posts {
    border: 0.5px solid #ECD3BB;
    padding: 0 10px 0 30px;
}

.location__grid--posts--cards--text--title {
    font-family: var(--title-font-family);
    margin-top: 19px;
    margin-bottom: 22px;
    overflow: hidden;
    color: #1A1A1A;
    text-overflow: ellipsis;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}

.cpt__grid--filters {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: nowrap;
    max-width: 1360px;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid #959595;
    padding-bottom: 10px;
    margin-bottom: 40px;
}

.cpt__grid--filters a {
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: -0.02em;
    text-align: left;
    color: #2F2E33;
    position: relative;
}

.cpt__grid--filters a svg {
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translate(-50%, 0%);
    opacity: 0;
}

.cpt__grid--filters a:hover svg {
    opacity: 1;
    transition: all 0.3s ease-in-out;
}

.facetwp-facet-map_location_categories .facetwp-radio {
    position: relative;
}

.facetwp-facet-map_location_categories .facetwp-radio:hover:after {
    opacity: 1;
    transition: all 0.3s ease-in-out;
}

.facetwp-facet-map_location_categories .facetwp-radio.checked:after {
    opacity: 1;
}

.location__grid--posts--cards--text--description {
    max-width: 230px !important;
    display: block;
    text-align: left;
}

.location__grid--posts--cards--text--description p {
    overflow: hidden;
    color: var(--Black, #1A1A1A);
    text-overflow: ellipsis;
    font-family: var(--default-font-family);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 8px;
}

.cpt-grid__posts {
    max-height: 80rem;
    overflow-y: scroll;
}

.loop-neighborhood {
    padding: 24px 20px;
    border-bottom: 0.5px solid #7D5A4A;
}

.cpt-grid__map__position__description {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    min-width: 15rem;
    padding: 0;
    border-radius: 0.5rem;
    background-color: var(--wp--preset--color--endless-brook);
    opacity: 0;
    display: none;
    pointer-events: none;
}

.cpt-grid__map__position {
    position: absolute;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    max-width: 1.3rem;
    max-height: 1.3rem;
    border-radius: 50%;
    cursor: pointer;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgcj0iMTQuNSIgZmlsbD0iIzdENUE0QSIvPgo8Y2lyY2xlIGN4PSIxNSIgY3k9IjE1IiByPSIxNC41IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMTI2OV82NDI0KSIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPGNpcmNsZSBjeD0iMTUiIGN5PSIxNSIgcj0iMTQuNSIgc3Ryb2tlPSIjN0Q1QTRBIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMTI2OV82NDI0IiB4MT0iMy45NzkxNyIgeTE9Ii04LjQ3NjMzIiB4Mj0iNDAuMTAxOSIgeTI9IjguNDgxMjYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzZBODI4MCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNENkI5QTciLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.cpt-grid__map__position:hover {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMzgiIHZpZXdCb3g9IjAgMCAzOCAzOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTkiIGN5PSIxOSIgcj0iMTguNSIgc3Ryb2tlPSIjN0Q1QTRBIi8+CjxjaXJjbGUgY3g9IjE5IiBjeT0iMTkiIHI9IjE1IiBmaWxsPSIjN0Q1QTRBIi8+CjxjaXJjbGUgY3g9IjE5IiBjeT0iMTkiIHI9IjE1IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMTI2OV82NDI4KSIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xMjY5XzY0MjgiIHgxPSI3Ljk3OTE3IiB5MT0iLTQuNDc2MzMiIHgyPSI0NC4xMDE5IiB5Mj0iMTIuNDgxMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNkE4MjgwIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0Q2QjlBNyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=);
    max-width: 1.5rem;
    max-height: 1.5rem;
}

.cpt-grid__map__position__description {
    padding: 0 !important;
    width: 270px;
}

.cpt-grid__map__position.active .cpt-grid__map__position__description {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    z-index: 10;
    display: block;
}

.cpt-grid__map__position[style*="top: 0"] .cpt-grid__map__position__description,
.cpt-grid__map__position[style*="top: 1"] .cpt-grid__map__position__description,
.cpt-grid__map__position[style*="top: 2"] .cpt-grid__map__position__description {
    bottom: auto;
    top: calc(100% + 10px);
}

.facetwp-type-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

body .facetwp-radio {
    margin: 2px;
    background-image: none !important;
}

body .facetwp-radio {
    display: inline-block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    letter-spacing: .24px;
    text-transform: uppercase;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    cursor: pointer;
}

.btn-outline,
body .facetwp-radio {
    border-color: #0c2340;
    background-color: transparent;
    color: #0c2340;
}

.cpt-grid--neighborhood .cpt-grid__posts {
    position: relative;
    padding: 0 1rem 7rem 1rem;
    border: 0.5px solid #7D5A4A;
    background-color: #fff;
    height: 100%;
    max-height: 69rem;
    overflow: auto;
    z-index: 2;
}

.cpt-grid--neighborhood .cpt-grid__pagination {
    position: absolute;
    padding: 0 3rem 0 1rem;
    bottom: 1px;
    background-color: #fff;
    z-index: 2;
    padding-top: 20px;
}

.cpt-grid--neighborhood .cpt-grid__pagination {
    display: inline-flex;
    padding: 10px 34px 0 21px;
    align-items: center;
    gap: 36px;
    flex-shrink: 0;
    background: #fff;
    width: 100%;
    position: absolute;
}

.map-location-pagination_action {
    color: #1A1A1A;
    text-align: center;
    font-family: var(--title-font-family);
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
    display: flex;
    width: 38px;
    padding: 24px 0px 23px 0px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-top: 2px solid transparent;
}

.map-location-pagination_action.active,
.map-location-pagination_action:hover {
    border-top: 2px solid #1A1A1A;
}

.cpt-grid--map_location .facetwp-facet {
    margin-bottom: 20px !important;
}

.facetwp-counter {
    display: none;
}

a.map-location-pagination_action.next,
a.map-location-pagination_action.prev {
    padding: 0;
    border-style: none !important;
}

.facetwp-facet-map_location_categories .facetwp-radio {
    padding: 0 10px;
    border-style: none;
}

.cpt-grid--neighborhood .cpt-grid__posts {
    border-style: none;
    border: 0.5px solid #7D5A4A;
    background-color: #fff;
}

.cpt-grid--neighborhood .facetwp-pager {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.resort__map--content--inner {
    text-align: center;
}

.resort__map--content--inner--heading {
    font-size: 54px;
    font-weight: 400;
    line-height: 49px;
    letter-spacing: -0.02em;
    text-align: center;
    font-family: var(--headings-font);
    margin-bottom: 1.5em;
}

.map-location-filter_action {
    display: inline-flex;
    background-color: #fff;
    padding: 13px 20px;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    color: #7D5A4A;
    text-align: center;
    font-family: var(--title-font-family);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.map-location-filter_action:hover {
    background-color: #7D5A4A;
    color: #fff;
    border-color: #7D5A4A;
}

.loop-neighborhood .container {
    margin: 0;
}

.image-map-filters--list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cpt-grid__inner {
    border-right: 0.5px solid #7D5A4A;
}

@media only screen and (min-width: 400px) {
    .map-location-pagination_action {
        min-width: 19px;
    }
}

@media only screen and (min-width: 769px) {

    .cpt-grid__pagination {
        margin-top: 6rem;
    }

    .cpt-grid--neighborhood .cpt-grid__pagination {
        right: 0;
        width: 340px;
    }

    .cpt-grid--neighborhood .cpt-grid__posts {
        position: absolute;
        top: 0;
        right: 0;
        border-right: none;
        width: 350px;
        height: 100%;
        max-height: none;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        text-align: left;
    }

    .cpt-grid__map__inner {
        position: relative;
        display: inline-block;
        margin: 0 auto;
        max-height: 80rem;
        text-align: left;
    }

    .cpt-grid__map {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        text-align: center;
    }

    .cpt-grid__inner {
        position: relative;
        display: inline-flex;
        margin: 0 auto;
        padding-right: 350px;
        text-align: center;
    }

    .cpt-grid__map__inner {
        position: relative;
        display: inline-block;
        margin: 0 auto;
        max-height: 80rem;
        text-align: left;
    }

    .cpt-grid__map {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        text-align: center;
    }

    .cpt-grid--neighborhood {
        text-align: center;
    }

    .cpt-grid--neighborhood {
        text-align: center;
        margin-right: auto;
        margin-left: auto;
        padding: 0 30px;
        max-width: calc(1920px - 80px);
    }

    .cpt-grid__map__img,
    .cpt-grid__map__inner {
        width: auto;
        height: 100%;
        max-height: 80rem;
    }

}

@media only screen and (min-width: 1440px) {

    .cpt-grid__map {
        margin-left: 0;
    }

    .cpt-grid--neighborhood .cpt-grid__pagination {
        right: 1px;
        width: 340px;
    }

}

@media only screen and (max-width: 1024px) {
    .cpt-grid__inner {
        display: flex;
        flex-direction: column !important;
        flex-wrap: wrap;
    }

    .cpt-grid--neighborhood .cpt-grid__posts,
    .cpt-grid--neighborhood .cpt-grid__pagination {
        position: unset !important;
    }

    .cpt-grid__inner {
        padding-right: 0;
    }

    .cpt-grid__map__position.active {
        z-index: 100;
    }

    .cpt-grid__map__position.active .cpt-grid__map__position__description {
        position: fixed;
        left: 50%;
        top: 50%;
        bottom: auto;
        transform: translate(-50%, -50%);
        max-width: 460px;
        width: calc(100% - 40px);
        margin-left: auto;
        margin-right: auto;
    }

    .cpt-grid__map__inner {
        position: relative;
        display: inline-block;
        margin: 0 auto;
        max-height: 80rem;
        text-align: left;
    }

    .cpt-grid__posts {
        max-height: 440px !important;
        overflow: scroll;
        margin-top: 20px;
    }

    .cpt-grid__pagination.a-up {
        min-width: calc(100% - 40px);
        padding: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        max-width: calc(100% - 40px);
    }

    .cpt-grid--neighborhood .cpt-grid__posts {
        max-width: calc(100% - 40px) !important;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        border-style: none;
        padding-bottom: 10px !important;
    }

    .cpt-grid__inner {
        border-right: 0.5px solid #7D5A4A;
        border-style: none;
    }

    .cpt-grid--neighborhood {
        padding: 0 0;
        background-color: #fff;
    }

    .cpt-grid--neighborhood .cpt-grid__posts {
        border-left: 0.5px solid var(--Brown, #7D5A4A);
        border-right: 0.5px solid var(--Brown, #7D5A4A);
        border-top: 0.5px solid var(--Brown, #7D5A4A);
    }

    .cpt-grid__pagination.a-up:not(.cpt-grid__pagination.a-up .cpt-grid__pagination.a-up) {
        border-left: 0.5px solid #7D5A4A !important;
        border-right: 0.5px solid #7D5A4A !important;
        border-bottom: 0.5px solid #7D5A4A !important;
    }
}

.cpt-grid__filters {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 3;
}

.map-location-filter_action.selected {
    background-color: #7d5a4a;
    color: #fff;
    border: 1px solid #7d5a4a;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.cpt-grid__posts {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #001F3F transparent;
}

.cpt-grid__posts::-webkit-scrollbar {
    width: 5px;
}

.cpt-grid__posts::-webkit-scrollbar-thumb {
    background-color: #001F3F;
    border-radius: 10px;
}

.cpt-grid__posts::-webkit-scrollbar-track {
    background: transparent;
}

.cpt-grid__map__position.active {
    /* Keep the marker visible when popup is open */
    z-index: 11;
}

.cpt-grid__map__img,
.cpt-grid__map__inner {
    max-width: 100%;
}

.cpt-grid--map_location a {
    text-decoration: none !important;
}


.cpt-grid__map__inner::-webkit-scrollbar {
    width: 2px;
    height: 7px;
}

.cpt-grid__map__inner::-webkit-scrollbar-thumb {
    background-color: #001F3F;
    border-radius: 0px;
}

.cpt-grid__map__inner::-webkit-scrollbar-track {
    background: transparent;
}

@media only screen and (max-width: 1024px) {

    .cpt-grid__map__img,
    .cpt-grid__map__inner {
        min-height: 600px;
        max-height: 600px;
    }

    .cpt-grid__map {
        width: 100%;
        overflow: hidden;
    }

    .cpt-grid__map__inner {
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
    }

    .cpt-grid__map__img {
        max-width: unset;
    }
}