{"id":2698,"date":"2026-05-29T19:05:36","date_gmt":"2026-05-29T19:05:36","guid":{"rendered":"https:\/\/thebrando.com\/?page_id=2698"},"modified":"2026-07-01T01:29:07","modified_gmt":"2026-07-01T01:29:07","slug":"events","status":"publish","type":"page","link":"https:\/\/thebrando.com\/fr\/events\/","title":{"rendered":"Ev\u00e9nements"},"content":{"rendered":"<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&display=swap');\n\n.events-page-wrap {\n    font-family: 'Cormorant Garamond', Georgia, serif;\n    position: relative;\n    overflow: visible;\n    text-wrap: pretty;\n}\n\n.events-page-wrap :is(h1, h2, h3, h4, h5, h6, .events-eyebrow) {\n    text-wrap: balance;\n}\n\n.events-palm-overlay {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: auto;\n    pointer-events: none;\n    z-index: 0;\n}\n\n.events-header {\n    text-align: center;\n    padding: 220px 20px 36px;\n    position: relative;\n    z-index: 1;\n}\n\n.events-eyebrow {\n    color: #000;\n    text-align: center;\n    font-family: \"Aktiv Grotesk Ex\", sans-serif;\n    font-size: 12px;\n    font-style: normal;\n    font-weight: 400;\n    line-height: normal;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    margin: 0 0 18px;\n}\n\n.events-title {\n    font-family: 'Recife Display', Georgia, serif;\n    font-size: clamp(2rem, 5vw, 3.5rem);\n    color: #4a2e1a;\n    font-weight: 300;\n    line-height: 1.2;\n    margin: 0 0 24px;\n}\n\n.events-divider {\n    width: 36px;\n    height: 1px;\n    background: #4a2e1a;\n    margin: 20px auto 20px;\n}\n\n.events-tabs {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 16px;\n}\n\n.events-tabs .tab {\n    color: #0BA2AB;\n    text-align: center;\n    font-family: \"Aktiv Grotesk Ex\", sans-serif;\n    font-size: 12px;\n    font-style: normal;\n    font-weight: 400;\n    line-height: normal;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n    text-decoration: none;\n    transition: color 0.2s ease;\n}\n\n.events-tabs .tab:hover,\n.events-tabs .tab.active {\n    color: #0BA2AB;\n}\n\n.tab-sep {\n    color: #bbb;\n    font-family: sans-serif;\n    font-size: 12px;\n}\n\n.events-rule {\n    border: none;\n    border-top: 1px solid #c8c0b4;\n    margin: 0 5% 70px;\n}\n\n.page-template-page-events #page {\n    padding-top: 0;\n    height: auto;\n    min-height: 100%;\n}\n\n@media (max-width: 768px) {\n    .events-header {\n        padding: 80px 16px 24px;\n    }\n\n    .events-title {\n        color: #000;\n        leading-trim: both;\n        text-edge: cap;\n        font-family: \"Recife Display\";\n        font-size: 36px;\n        font-style: normal;\n        font-weight: 350;\n        line-height: 100%; \/* 36px *\/\n        margin: 0 0 18px;\n    }\n\n    .events-rule {\n        margin: 0 4% 40px;\n    }\n\n    .events-palm-overlay {\n        opacity: 0.3;\n    }\n}\n<\/style>\n\n<div class=\"events-page-wrap\" style=\"background-color: transparent;\">\n    <img decoding=\"async\" src=\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/palm-overlay.png\" alt=\"\" class=\"events-palm-overlay\" aria-hidden=\"true\">\n    <div class=\"events-header\">\n        <p class=\"events-eyebrow\">\u00c9v\u00e9nements au Brando<\/p>\n        <div class=\"events-divider\"><\/div>\n        <h1 class=\"events-title translation-block\">D\u00e9couvrez nos exp\u00e9riences<\/br>\ntout au long de l'ann\u00e9e<\/h1>\n        <nav class=\"events-tabs\">\n            <a href=\"?filter=upcoming\"\n               class=\"tab active\">\n                \u00c9v\u00e9nements \u00e0 venir\n            <\/a>\n            <span class=\"tab-sep\">|<\/span>\n            <a href=\"?filter=past\"\n               class=\"tab\">\n                \u00c9v\u00e9nements pass\u00e9s\n            <\/a>\n        <\/nav>\n    <\/div>\n    <hr class=\"events-rule\">\n<\/div>\n\n\n\n<style>\n.events-list,\n.event-modal {\n    text-wrap: pretty;\n}\n\n.events-list :is(h1, h2, h3, h4, h5, h6, .events-month-label, .event-subtitle, .event-date),\n.event-modal :is(h1, h2, h3, h4, h5, h6, .modal-date) {\n    text-wrap: balance;\n}\n\n.events-list {\n    background: transparent;\n    padding: 0 5% 100px;\n    display: flex;\n    flex-direction: column;\n    gap: 60px;\n    font-family: 'Cormorant Garamond', Georgia, serif;\n    position: relative;\n    overflow: visible;\n}\n\n\/* Background flair decorations *\/\n.events-list::before {\n    content: '';\n    position: absolute;\n    top: 80px;\n    left: -40px;\n    width: 220px;\n    height: 600px;\n    background-image: url(\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/mobile-decoration.png\");\n    background-repeat: no-repeat;\n    background-size: contain;\n    background-position: left top;\n    opacity: 0.4;\n    pointer-events: none;\n    z-index: 0;\n}\n\n.events-list::after {\n    content: '';\n    position: absolute;\n    top: 900px;\n    left: -150px;\n    width: 550px;\n    height: 550px;\n    background-image: url(\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/blocks\/poly-video-decoration.png\");\n    background-repeat: no-repeat;\n    background-size: contain;\n    background-position: center center;\n    opacity: 0.4;\n    pointer-events: none;\n    z-index: 0;\n}\n\n.events-list > * {\n    position: relative;\n    z-index: 1;\n}\n\n.events-flair-vertical {\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 80px;\n    height: auto;\n    max-height: 900px;\n    pointer-events: none;\n    z-index: 0;\n}\n\n.events-flair-seahorses {\n    position: absolute;\n    bottom: 0;\n    left: -10px;\n    width: 320px;\n    height: auto;\n    pointer-events: none;\n    z-index: 0;\n}\n\n.events-flair-tribal {\n    position: absolute;\n    top: 50%;\n    right: 0;\n    transform: translateY(-50%);\n    width: 456px;\n    height: 458px;\n    opacity: 1;\n    pointer-events: none;\n    z-index: 0;\n}\n\n\/* \u2500\u2500 Month section wrapper \u2500\u2500 *\/\n.events-month-section {\n    scroll-margin-top: 40px;\n    display: flex;\n    flex-direction: column;\n    gap: 60px;\n}\n\n.events-month-section.is-empty {\n    display: none;\n}\n\n.events-month-label {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border: 0;\n}\n\n.events-month-section:first-of-type .events-month-label {\n    padding-top: 0;\n}\n\n\/* Outer card: positions image + floating info panel *\/\n.event-card {\n    position: relative;\n    max-width: 1400px;\n    margin: 0 auto;\n    width: 100%;\n    padding-right: 340px;\n    padding-bottom: 60px;\n    border-bottom: 1px solid #c8c0b4;\n    cursor: pointer;\n}\n\n.event-card:focus-visible {\n    outline: 2px solid #0BA2AB;\n    outline-offset: 4px;\n}\n\n.events-month-section:last-of-type .event-card:last-of-type,\n.events-month-section:not(.is-empty):not(:has(~ .events-month-section:not(.is-empty))) .event-card:last-of-type {\n    border-bottom: none;\n    padding-bottom: 0;\n}\n\n\/* Flipped: image on right, card hangs left *\/\n.event-card.flipped {\n    padding-right: 0;\n    padding-left: 340px;\n}\n\n.event-image {\n    overflow: hidden;\n    width: 100%;\n    border-radius: 8px;\n}\n\n.event-image img {\n    width: 100%;\n    height: auto;\n    aspect-ratio: 1098 \/ 703;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.6s ease;\n}\n\n.event-card:hover .event-image img {\n    transform: scale(1.03);\n}\n\n.event-image-placeholder {\n    width: 100%;\n    aspect-ratio: 1098 \/ 703;\n    background: #c8c0b4;\n}\n\n.event-info {\n    background: #fff;\n    display: flex;\n    width: 537px;\n    height: 445px;\n    padding: 85px 70px;\n    flex-direction: column;\n    justify-content: center;\n    align-items: flex-start;\n    gap: 10px;\n    text-align: left;\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    right: 0;\n    border-radius: 8px;\n    z-index: 2;\n    box-sizing: border-box;\n}\n\n.event-card.flipped .event-info {\n    right: auto;\n    left: 0;\n}\n\n.event-info .event-title {\n    font-family: 'Recife Display', Georgia, serif;\n    font-size: 2rem;\n    font-weight: 300;\n    color: #1a1a1a;\n    margin: 0 0 14px;\n    line-height: 1.2;\n}\n\n.event-subtitle {\n    color: #000;\n    font-family: Divulge, 'Divulge Lt', sans-serif;\n    font-size: 18px;\n    font-style: normal;\n    font-weight: 300;\n    line-height: 26px; \/* 144.444% *\/\n    letter-spacing: 0.18px;\n    margin: 0 0 10px;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.event-date {\n    font-family: 'Aktiv Grotesk Ex', sans-serif;\n    font-size: 11px;\n    letter-spacing: 0.12em;\n    color: #888;\n    text-transform: uppercase;\n    margin: 0 0 18px;\n}\n\n.event-excerpt {\n    font-size: 1rem;\n    color: #555;\n    line-height: 1.75;\n    margin-bottom: 28px;\n}\n\n.event-excerpt p {\n    margin: 0;\n}\n\n.event-link {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    font-family: sans-serif;\n    font-size: 11px;\n    letter-spacing: 0.14em;\n    color: #0BA2AB;\n    text-decoration: none;\n    text-transform: uppercase;\n    transition: gap 0.2s ease;\n}\n\n.event-link:hover {\n    gap: 16px;\n}\n\n.event-link::after {\n    display: none;\n}\n\n.no-events {\n    text-align: center;\n    color: #888;\n    padding: 60px 0;\n    font-size: 1.1rem;\n    font-family: 'Cormorant Garamond', Georgia, serif;\n}\n\n.load-more-wrap {\n    display: flex;\n    justify-content: center;\n    padding: 20px 0 0;\n}\n\n.load-more-btn {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 10px;\n    padding: 14px 32px;\n    color: #0BA2AB;\n    text-align: center;\n    font-family: \"Aktiv Grotesk Ex\", sans-serif;\n    font-size: 18px;\n    font-style: normal;\n    font-weight: 500;\n    line-height: normal;\n    letter-spacing: 2.7px;\n    text-transform: uppercase;\n    background: none;\n    border: 1px solid #0BA2AB;\n    border-radius: 50px;\n    cursor: pointer;\n    transition: background 0.3s, color 0.3s;\n}\n\n.load-more-btn:hover {\n    background: #0BA2AB;\n    color: #fff;\n}\n\n.load-more-btn:disabled {\n    opacity: 0.5;\n    cursor: default;\n}\n\n@media (max-width: 900px) {\n    .events-list {\n        padding: 0 4% 60px;\n        gap: 40px;\n    }\n\n    .events-month-section {\n        gap: 40px;\n    }\n\n    .event-card,\n    .event-card.flipped {\n        padding: 0;\n        padding-bottom: 40px;\n        max-width: 100%;\n    }\n\n    .event-info {\n        position: static;\n        transform: none;\n        width: 100%;\n        height: auto;\n        padding: 28px 20px;\n        border-top-left-radius: 0;\n        border-top-right-radius: 0;\n    }\n\n    .event-info .event-title {\n        font-size: 1.5rem;\n    }\n\n    .event-date {\n        color: #888;\n        font-family: \"Aktiv Grotesk Ex\";\n        font-size: 12px;\n        font-style: normal;\n        font-weight: 400;\n        line-height: 100%; \/* 12px *\/\n        letter-spacing: 1.2px;\n        text-transform: uppercase;\n    }\n\n    .event-image {\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n    }\n\n    .event-image img,\n    .event-image-placeholder {\n        aspect-ratio: 4 \/ 3;\n    }\n\n    .events-flair-vertical,\n    .events-flair-seahorses,\n    .events-flair-tribal,\n    .events-list::before,\n    .events-list::after {\n        display: none;\n    }\n\n    .load-more-wrap {\n        padding: 10px 0 0;\n    }\n\n    .load-more-btn {\n        width: 100%;\n        text-align: center;\n    }\n}\n\n\/* \u2500\u2500 Vertical month scroll nav \u2500\u2500 *\/\n.month-nav {\n    position: fixed;\n    right: 0;\n    top: 50%;\n    transform: translateY(-50%) translateX(60px);\n    z-index: 90;\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    padding: 24px 20px;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity 0.7s cubic-bezier(0.25, 0.1, 0.25, 1),\n                transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);\n}\n\n.month-nav.is-visible {\n    opacity: 1;\n    pointer-events: auto;\n    transform: translateY(-50%) translateX(0);\n}\n\n.month-nav,\n.month-nav *,\n.month-nav__item,\n.month-nav__item:focus,\n.month-nav__item:focus-visible,\n.month-nav__item:active,\n.month-nav__label,\n.month-nav__dot {\n    outline: none !important;\n    -webkit-tap-highlight-color: transparent;\n}\n\n.month-nav__item {\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 10px;\n    cursor: pointer;\n    padding: 8px 0;\n    position: relative;\n    text-decoration: none;\n    transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);\n}\n\n.month-nav__item.is-disabled {\n    cursor: pointer;\n}\n\n.month-nav__label {\n    font-family: 'Recife Display', Georgia, serif;\n    font-size: 13px;\n    font-weight: 400;\n    letter-spacing: 1px;\n    color: #4a2e1a;\n    opacity: 0.15;\n    transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);\n    white-space: nowrap;\n    text-align: right;\n}\n\n.month-nav__dot {\n    width: 12px;\n    height: 1px;\n    background: #4a2e1a;\n    opacity: 0.15;\n    transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);\n    flex-shrink: 0;\n}\n\n.month-nav__item:hover .month-nav__label {\n    opacity: 0.5;\n}\n\n.month-nav__item:hover .month-nav__dot {\n    opacity: 0.5;\n    width: 20px;\n}\n\n.month-nav__item.is-active .month-nav__label {\n    opacity: 1;\n    font-size: 22px;\n    font-weight: 500;\n    letter-spacing: 0.5px;\n}\n\n.month-nav__item.is-active .month-nav__dot {\n    opacity: 1;\n    width: 28px;\n    height: 2px;\n    background: #0BA2AB;\n}\n\n.month-nav::before {\n    content: '';\n    position: absolute;\n    right: 25px;\n    top: 24px;\n    bottom: 24px;\n    width: 1px;\n    background: rgba(74, 46, 26, 0.08);\n}\n\n.month-nav__progress {\n    position: absolute;\n    right: 25px;\n    top: 24px;\n    width: 1px;\n    height: 0%;\n    background: #0BA2AB;\n    opacity: 0.4;\n    transition: height 0.3s ease-out;\n}\n\n@media (max-width: 1024px) {\n    .month-nav { padding: 16px 10px; }\n    .month-nav__label { font-size: 11px; }\n    .month-nav__item.is-active .month-nav__label { font-size: 16px; }\n}\n\n@media (max-width: 768px) {\n    .month-nav { display: none; }\n}\n\n\/* \u2500\u2500 Event Modal \u2500\u2500 *\/\n.event-modal-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 9999;\n    overflow-y: auto;\n    -webkit-overflow-scrolling: touch;\n}\n\n.event-modal-overlay.active {\n    display: flex;\n    align-items: flex-start;\n    justify-content: center;\n}\n\nbody.event-modal-open .reserve-bar,\nbody.event-modal-open .reserve-bar-m {\n    display: none !important;\n}\n\n.event-modal {\n    background: #f5f1eb;\n    width: 100%;\n    max-width: 1400px;\n    margin: 40px 20px;\n    height: calc(100vh - 80px);\n    min-height: 1000px;\n    position: relative;\n    font-family: 'Cormorant Garamond', Georgia, serif;\n    overflow: hidden;\n    border-radius: 24px;\n    display: flex;\n    flex-direction: column;\n}\n\n.event-modal-close {\n    position: absolute;\n    top: 20px;\n    right: 24px;\n    z-index: 10;\n    background: none;\n    border: none;\n    cursor: pointer;\n    padding: 8px;\n    line-height: 1;\n}\n\n.event-modal-close svg {\n    width: 28px;\n    height: 28px;\n    stroke: #fff;\n    stroke-width: 1.5;\n}\n\n\/* Gallery *\/\n.event-modal-gallery {\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    flex: 0 0 65%;\n}\n\n.event-modal-gallery.has-multiple::after {\n    content: '';\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    height: 20%;\n    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);\n    pointer-events: none;\n    z-index: 1;\n}\n\n.gallery-track {\n    display: flex;\n    transition: transform 0.4s ease;\n    will-change: transform;\n    height: 100%;\n}\n\n.gallery-track.dragging {\n    transition: none;\n}\n\n.gallery-track img {\n    width: 100%;\n    min-width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    -webkit-user-drag: none;\n    user-select: none;\n    border-top-left-radius: 24px;\n    border-top-right-radius: 24px;\n    border-bottom-left-radius: 0;\n    border-bottom-right-radius: 0;\n}\n\n.gallery-counter {\n    position: absolute;\n    bottom: 20px;\n    right: 24px;\n    font-family: 'Aktiv Grotesk Ex', sans-serif;\n    font-size: 11px;\n    letter-spacing: 0.1em;\n    color: rgba(255, 255, 255, 0.85);\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    z-index: 2;\n}\n\n.gallery-counter span {\n    min-width: 28px;\n    text-align: center;\n}\n\n.gallery-btn {\n    background: none;\n    border: none;\n    color: rgba(255, 255, 255, 0.85);\n    cursor: pointer;\n    font-size: 18px;\n    padding: 4px;\n    transition: color 0.2s;\n}\n\n.gallery-btn:hover {\n    color: #fff;\n}\n\n\/* Modal body *\/\n.event-modal-body {\n    display: grid;\n    grid-template-columns: 2fr 3fr;\n    gap: 60px;\n    padding: 40px 50px 40px;\n}\n\n.event-modal-left {\n    padding-left: 0px;\n    display: block;\n    height: 100%;\n    min-height: 0;\n}\n\n.event-modal-left .modal-title {\n    font-family: 'Recife Display', Georgia, serif;\n    font-size: 2.2rem;\n    font-weight: 300;\n    color: #1a1a1a;\n    margin: 0 0 12px;\n    line-height: 1.2;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n}\n\n.event-modal-left .modal-date {\n    font-family: 'Aktiv Grotesk Ex', sans-serif;\n    font-size: 10px;\n    letter-spacing: 0.12em;\n    color: #888;\n    text-transform: uppercase;\n    margin: 0 0 20px;\n}\n\n.event-modal-left .modal-book-btns {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-top: auto;\n    flex-shrink: 0;\n}\n\n.event-modal-left .modal-book-btn {\n    display: inline-block;\n    font-family: 'Aktiv Grotesk Ex', sans-serif;\n    font-size: 12px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: #fff;\n    background: #0BA2AB;\n    border: 1.5px solid #0BA2AB;\n    border-radius: 50px;\n    padding: 10px 36px;\n    text-decoration: none;\n    transition: background 0.3s, color 0.3s;\n}\n\n.event-modal-left .modal-book-btn:hover {\n    background: transparent;\n    color: #0BA2AB;\n}\n\n.event-modal-right-wrap {\n    display: flex;\n    align-items: stretch;\n    gap: 16px;\n    height: 100%;\n    min-height: 0;\n    position: relative;\n}\n\n.event-modal-right {\n    font-family: 'Divulge Lt', sans-serif;\n    font-size: 1rem;\n    color: #444;\n    line-height: 1.8;\n    flex: 1;\n    min-width: 0;\n    min-height: 0;\n    overflow-y: auto;\n    scrollbar-width: none;\n    -ms-overflow-style: none;\n}\n\n.event-modal-right::-webkit-scrollbar {\n    width: 0;\n    height: 0;\n    display: none;\n}\n\n.event-modal-right p {\n    margin: 0 0 1em;\n}\n\n.event-modal-right p:last-child {\n    margin-bottom: 0;\n}\n\n\/* Vertical scrubber \u2014 modeled on .range-scrubber *\/\n.modal-scrubber {\n    position: relative;\n    flex: 0 0 28px;\n    width: 28px;\n    display: none;\n    align-items: flex-start;\n    justify-content: center;\n    touch-action: none;\n    user-select: none;\n}\n\n.modal-scrubber.is-active {\n    display: flex;\n}\n\n.modal-scrubber::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 50%;\n    transform: translateX(-50%);\n    width: 1px;\n    background-color: #321600;\n    opacity: 0.65;\n    pointer-events: none;\n}\n\n.modal-scrubber__handle {\n    position: relative;\n    z-index: 5;\n    width: 0.275rem;\n    height: 2.8rem;\n    background-color: #321600;\n    cursor: grab;\n    will-change: transform;\n}\n\n.modal-scrubber__handle:active {\n    cursor: grabbing;\n}\n\n\/* Modal body \u2014 fills remaining modal height; right column scrolls internally *\/\n.event-modal-body {\n    flex: 1;\n    min-height: 0;\n    overflow: hidden;\n}\n\n\/* Modal footer nav *\/\n.event-modal-nav {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n    gap: 12px;\n    padding: 20px 60px 40px;\n    font-family: 'Aktiv Grotesk Ex', sans-serif;\n    font-size: 10px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n}\n\n.event-modal-nav a,\n.event-modal-nav span {\n    color: #0BA2AB;\n    text-decoration: none;\n    cursor: pointer;\n    transition: opacity 0.2s;\n}\n\n.event-modal-nav a:hover,\n.event-modal-nav a:focus,\n.event-modal-nav a:active {\n    color: #0BA2AB;\n    opacity: 0.7;\n}\n\n.event-modal-nav .nav-arrow {\n    font-size: 18px;\n    line-height: 1;\n}\n\n.event-modal-nav .nav-arrow-svg {\n    display: none;\n    vertical-align: middle;\n}\n\n#modalPrev .nav-arrow-svg {\n    transform: scaleX(-1);\n}\n\n.event-modal-nav .nav-sep {\n    color: #0BA2AB;\n}\n\n@media (max-width: 1100px) {\n    .event-modal-gallery {\n        flex: 0 0 50%;\n    }\n\n    .event-modal-body {\n        grid-template-columns: 1fr;\n        grid-template-rows: auto 1fr;\n        gap: 12px;\n        padding: 40px 48px 32px;\n    }\n\n    .event-modal-left {\n        padding-left: 0;\n        display: grid;\n        grid-template-columns: 1fr auto;\n        grid-template-areas:\n            \"title buttons\"\n            \"date  buttons\";\n        column-gap: 24px;\n        align-items: start;\n        height: auto;\n    }\n\n    .event-modal-left .modal-title {\n        grid-area: title;\n    }\n\n    .event-modal-left .modal-date {\n        grid-area: date;\n        margin-bottom: 0;\n    }\n\n    .event-modal-left .modal-book-btns {\n        grid-area: buttons;\n        align-self: center;\n        flex-shrink: 0;\n        margin-top: 0;\n        padding-top: 0;\n    }\n}\n\n@media (max-width: 768px) {\n    .event-modal {\n        margin: 10px;\n        height: auto;\n        min-height: calc(100vh - 20px);\n        overflow: hidden;\n    }\n\n    .event-modal-gallery {\n        flex: 0 0 65%;\n    }\n\n    .gallery-track img {\n        height: auto;\n        aspect-ratio: 16 \/ 14;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n    }\n\n    .event-modal-body {\n        grid-template-columns: 1fr;\n        grid-template-rows: none;\n        padding: 32px 24px 24px;\n        padding-bottom: 220px;\n        gap: 10px;\n        flex: 0 0 auto;\n        min-height: 0;\n        overflow: visible;\n    }\n\n    .event-modal-right-wrap {\n        display: block;\n        height: auto;\n    }\n\n    .event-modal-right {\n        overflow-y: visible;\n    }\n\n    .modal-scrubber {\n        display: none !important;\n    }\n\n    .event-modal-left {\n        padding-left: 0;\n        display: block;\n        height: auto;\n    }\n\n    .event-modal-left .modal-date {\n        margin: 0 0 0px;\n    }\n\n    .event-modal-left .modal-book-btns {\n        margin-top: 0;\n        padding-top: 0;\n    }\n\n    .event-modal-left .modal-book-btns {\n        position: fixed;\n        bottom: 77px;\n        left: 10px;\n        right: 10px;\n        display: flex;\n        flex-wrap: wrap;\n        justify-content: center;\n        align-items: center;\n        gap: 10px;\n        padding: 16px;\n        background: #fff;\n        z-index: 11;\n    }\n\n    .event-modal-left .modal-book-btn {\n        background: #0BA2AB;\n        color: #fff;\n        border-radius: 30px;\n        border: 1.5px solid #0BA2AB;\n        padding: 10px 24px;\n        flex: 0 0 auto;\n        white-space: nowrap;\n    }\n\n    .event-modal-nav {\n        position: fixed;\n        bottom: 10px;\n        left: 10px;\n        right: 10px;\n        justify-content: center;\n        padding: 16px 24px;\n        background: #0BA2AB;\n        color: #fff;\n        border-bottom-left-radius: 24px;\n        border-bottom-right-radius: 24px;\n        z-index: 10;\n    }\n\n    .event-modal-nav a,\n    .event-modal-nav a:hover,\n    .event-modal-nav a:focus,\n    .event-modal-nav a:active,\n    .event-modal-nav span {\n        padding: 10px;\n        color: #fff;\n    }\n\n    .event-modal-nav .nav-sep {\n        color: #fff;\n    }\n\n    .event-modal-nav .nav-arrow-char {\n        display: none;\n    }\n\n    .event-modal-nav .nav-arrow-svg {\n        display: inline-block;\n    }\n}\n<\/style>\n\n<div class=\"events-list\">\n\n    <img decoding=\"async\" src=\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/thebrando-vertical.png\" alt=\"\" class=\"events-flair-vertical\" aria-hidden=\"true\">\n    <img decoding=\"async\" src=\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/seahorses-flair.png\" alt=\"\" class=\"events-flair-seahorses\" aria-hidden=\"true\">\n    <img decoding=\"async\" src=\"https:\/\/thebrando.com\/wp-content\/themes\/thebrando\/assets\/tribal-tat.png\" alt=\"\" class=\"events-flair-tribal\" aria-hidden=\"true\">\n\n        <section class=\"events-month-section is-empty\"\n             id=\"january\"\n             data-month=\"jan\">\n        <h3 class=\"events-month-label\">Janvier<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"february\"\n             data-month=\"feb\">\n        <h3 class=\"events-month-label\">F\u00e9vrier<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"march\"\n             data-month=\"mar\">\n        <h3 class=\"events-month-label\">Mars<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"april\"\n             data-month=\"apr\">\n        <h3 class=\"events-month-label\">Avril<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"may\"\n             data-month=\"may\">\n        <h3 class=\"events-month-label\">Mai<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"june\"\n             data-month=\"jun\">\n        <h3 class=\"events-month-label\">Juin<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section\"\n             id=\"july\"\n             data-month=\"jul\">\n        <h3 class=\"events-month-label\">Juillet<\/h3>\n\n                <div class=\"event-card flipped\" data-event-index=\"0\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1098\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC08531-1098x703.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC08531-1098x703.jpg 1098w, https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC08531-18x12.jpg 18w\" sizes=\"(max-width: 1098px) 100vw, 1098px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Le Heiva au Brando<\/h2>\n\n                                    <p class=\"event-date\">\n                        2 JUILLET - 18 JUILLET 2026                    <\/p>\n                \n                                    <p class=\"event-subtitle\">C\u2019est l'occasion de s'impr\u00e9gner de l'ambiance festive de ce mois de juillet. Les T\u016b\u2019aro m\u0101\u2019ohi mettent \u00e0 l'honneur les sports polyn\u00e9siens, du lancer de pierre aux courses de va\u2019a en \u00e9quipe, tandis que les jeux de plage pour enfants font \u00e9galement partie de la saison, le tout couronn\u00e9 par des spectacles de \u2019ori tahiti, la danse traditionnelle tahitienne.  <\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"0\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n                <div class=\"event-card\" data-event-index=\"1\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1056\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-scaled.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"Whale at the surface of the ocean\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-scaled.jpg 2560w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-300x200.jpg 300w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-1024x681.jpg 1024w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-768x511.jpg 768w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-1536x1022.jpg 1536w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-2048x1363.jpg 2048w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-18x12.jpg 18w, https:\/\/thebrando.com\/wp-content\/uploads\/2023\/02\/DSC_6234-Edit-Edit-600x400.jpg 600w\" sizes=\"(max-width: 1056px) 100vw, 1056px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Saison des baleines<\/h2>\n\n                                    <p class=\"event-date\">\n                        20 JUILLET - 31 OCTOBRE 2026                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Chaque ann\u00e9e, entre la mi-juillet et la fin octobre, les baleines \u00e0 bosse viennent se reposer, s'accoupler et mettre bas dans nos eaux tropicales. Juste \u00e0 l'ext\u00e9rieur du lagon de Tetiaroa, de l'autre c\u00f4t\u00e9 de la barri\u00e8re de corail, notre bout d'oc\u00e9an Pacifique est leur refuge. <\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"1\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n            <\/section>\n        <section class=\"events-month-section\"\n             id=\"august\"\n             data-month=\"aug\">\n        <h3 class=\"events-month-label\">Ao\u00fbt<\/h3>\n\n                <div class=\"event-card flipped\" data-event-index=\"2\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1098\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC_3970-1098x703.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC_3970-1098x703.jpg 1098w, https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC_3970-18x12.jpg 18w\" sizes=\"(max-width: 1098px) 100vw, 1098px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Semaine des artisans<\/h2>\n\n                                    <p class=\"event-date\">\n                        4 ao\u00fbt - 9 ao\u00fbt 2026                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Cette semaine d\u00e9di\u00e9e aux arts traditionnels polyn\u00e9siens fait suite au Heiva et permet \u00e0 des ma\u00eetres artisans de faire d\u00e9couvrir leur art aux visiteurs \u00e0 travers des ateliers sur mesure, allant du tissage de pandanus \u00e0 la fabrication de colliers de coquillages.  <\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"2\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n                <div class=\"event-card\" data-event-index=\"3\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1098\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC00754-1098x703.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC00754-1098x703.jpg 1098w, https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC00754-18x12.jpg 18w\" sizes=\"(max-width: 1098px) 100vw, 1098px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Sommelier Xavier Thuizat<\/h2>\n\n                                    <p class=\"event-date\">\n                        8 ao\u00fbt - 12 ao\u00fbt 2026                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Xavier Thuizat organise une fabuleuse semaine de d\u00e9gustation de vins afin de faire d\u00e9couvrir \u00e0 ses invit\u00e9s les grands classiques fran\u00e7ais et des c\u00e9pages m\u00e9connus. Ce ma\u00eetre sommelier a remport\u00e9 en 2024 le prestigieux titre de Meilleur Ouvrier de France (MOF), qui r\u00e9compense les meilleurs artisans dans leur domaine.<\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"3\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"september\"\n             data-month=\"sep\">\n        <h3 class=\"events-month-label\">Septembre<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section is-empty\"\n             id=\"october\"\n             data-month=\"oct\">\n        <h3 class=\"events-month-label\">Octobre<\/h3>\n\n            <\/section>\n        <section class=\"events-month-section\"\n             id=\"november\"\n             data-month=\"nov\">\n        <h3 class=\"events-month-label\">Novembre<\/h3>\n\n                <div class=\"event-card flipped\" data-event-index=\"4\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"937\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4.jpg 1712w, https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4-300x225.jpg 300w, https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4-1024x769.jpg 1024w, https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4-768x576.jpg 768w, https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4-1536x1153.jpg 1536w, https:\/\/thebrando.com\/wp-content\/uploads\/2025\/11\/kori-4-16x12.jpg 16w\" sizes=\"(max-width: 937px) 100vw, 937px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Saison de ponte de la tortue verte<\/h2>\n\n                                    <p class=\"event-date\">\n                        1er novembre 2026 - 5 janvier 2027                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Entre Novembre et Janvier chaque ann\u00e9e, ce moment privil\u00e9gi\u00e9 permet d\u2019assister \u00e0 l\u2019un des rituels les plus intimes de la nature avec notre ONG partenaire Te Mana o te Moana. La tortue verte femelle \u00e9merge du lagon \u00e0 la faveur de l\u2019obscurit\u00e9, sa carapace scintillant au clair de lune, et se dirige lentement vers la plage.<\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"4\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n                <div class=\"event-card\" data-event-index=\"5\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1098\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/BTO05554-1098x703.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">Matari\u2018i i Ni\u2018a<\/h2>\n\n                                    <p class=\"event-date\">\n                        20 novembre 2026                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Matari\u2019i i ni\u2019a, ou le lever des Pl\u00e9iades annon\u00e7ant l\u2019apparition de cette constellation dans le ciel nocturne, est une f\u00eate traditionnelle c\u00e9l\u00e9br\u00e9e dans tout le Pacifique. Elle marque le d\u00e9but de la saison de l\u2019abondance, o\u00f9 la nature se montre la plus g\u00e9n\u00e9reuse en fruits et en fleurs. <\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"5\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n            <\/section>\n        <section class=\"events-month-section\"\n             id=\"december\"\n             data-month=\"dec\">\n        <h3 class=\"events-month-label\">D\u00e9cembre<\/h3>\n\n                <div class=\"event-card flipped\" data-event-index=\"6\" role=\"button\" tabindex=\"0\">\n\n            <div class=\"event-image\">\n                                    <img decoding=\"async\" width=\"1098\" height=\"703\" src=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC07453-1098x703.jpg\" class=\"attachment-event-card size-event-card wp-post-image\" alt=\"\" srcset=\"https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC07453-1098x703.jpg 1098w, https:\/\/thebrando.com\/wp-content\/uploads\/2026\/06\/DSC07453-18x12.jpg 18w\" sizes=\"(max-width: 1098px) 100vw, 1098px\" \/>                            <\/div>\n\n            <div class=\"event-info\">\n                <h2 class=\"event-title\">F\u00eates de fin d\u2019ann\u00e9e<\/h2>\n\n                                    <p class=\"event-date\">\n                        20 d\u00e9cembre 2026 - 5 janvier 2027                    <\/p>\n                \n                                    <p class=\"event-subtitle\">Notre p\u00e9riode des f\u00eates de fin d'ann\u00e9e est l'occasion de cr\u00e9er des souvenirs en famille gr\u00e2ce \u00e0 de nombreuses activit\u00e9s sp\u00e9ciales, des repas partag\u00e9s et des exp\u00e9riences culturelles pendant les vacances de No\u00ebl et du Nouvel An. <\/p>\n                \n                <a href=\"#\" class=\"event-link\" data-event-index=\"6\">EN SAVOIR PLUS<\/a>\n            <\/div>\n\n        <\/div>\n            <\/section>\n    \n    \n    \n<\/div>\n\n<nav class=\"month-nav\" aria-label=\"Month navigation\">\n    <div class=\"month-nav__progress\"><\/div>\n        <a href=\"#january\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"jan\">\n        <span class=\"month-nav__label\">Jan<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#february\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"feb\">\n        <span class=\"month-nav__label\">Fev<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#march\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"mar\">\n        <span class=\"month-nav__label\">Mar<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#april\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"apr\">\n        <span class=\"month-nav__label\">Avr<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#may\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"may\">\n        <span class=\"month-nav__label\">Mai<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#june\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"jun\">\n        <span class=\"month-nav__label\">Juin<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#july\"\n       class=\"month-nav__item\"\n       data-target=\"jul\">\n        <span class=\"month-nav__label\">Juil<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#august\"\n       class=\"month-nav__item\"\n       data-target=\"aug\">\n        <span class=\"month-nav__label\">Ao\u00fbt<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#september\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"sep\">\n        <span class=\"month-nav__label\">Sept<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#october\"\n       class=\"month-nav__item is-disabled\"\n       data-target=\"oct\">\n        <span class=\"month-nav__label\">Oct<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#november\"\n       class=\"month-nav__item\"\n       data-target=\"nov\">\n        <span class=\"month-nav__label\">Nov<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n        <a href=\"#december\"\n       class=\"month-nav__item\"\n       data-target=\"dec\">\n        <span class=\"month-nav__label\">Dec<\/span>\n        <span class=\"month-nav__dot\"><\/span>\n    <\/a>\n    <\/nav>\n\n<!-- Event Modal -->\n<div class=\"event-modal-overlay\" id=\"eventModal\">\n    <div class=\"event-modal\">\n        <button class=\"event-modal-close\" id=\"eventModalClose\">\n            <svg viewbox=\"0 0 24 24\" fill=\"none\"><line x1=\"4\" y1=\"4\" x2=\"20\" y2=\"20\"\/><line x1=\"20\" y1=\"4\" x2=\"4\" y2=\"20\"\/><\/svg>\n        <\/button>\n\n        <div class=\"event-modal-gallery\" id=\"modalGallery\">\n            <div class=\"gallery-track\" id=\"galleryTrack\"><\/div>\n            <div class=\"gallery-counter\" id=\"galleryCounter\">\n                <button class=\"gallery-btn\" id=\"galleryPrev\">&#8592;<\/button>\n                <span id=\"galleryIndex\">1 \/ 1<\/span>\n                <button class=\"gallery-btn\" id=\"galleryNext\">&#8594;<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"event-modal-body\">\n            <div class=\"event-modal-left\">\n                <h2 class=\"modal-title\" id=\"modalTitle\"><\/h2>\n                <p class=\"modal-date\" id=\"modalDate\"><\/p>\n                <div class=\"modal-book-btns\">\n                    <a href=\"#\" class=\"modal-book-btn\" id=\"modalBookBtn\" target=\"_blank\" rel=\"noopener\">Reservez maintenant<\/a>\n                    <a href=\"#\" class=\"modal-book-btn\" id=\"modalCtaBtn\" style=\"display: none;\"><\/a>\n                <\/div>\n            <\/div>\n            <div class=\"event-modal-right-wrap\">\n                <div class=\"event-modal-right\" id=\"modalContent\"><\/div>\n                <div class=\"modal-scrubber\" id=\"modalScrubber\" aria-hidden=\"true\">\n                    <div class=\"modal-scrubber__handle\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"event-modal-nav\">\n            <a class=\"nav-arrow\" id=\"modalPrev\">\n                <span class=\"nav-arrow-char\">&#8592;<\/span>\n                <svg class=\"nav-arrow-svg\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"42\" height=\"8\" viewbox=\"0 0 42 8\" fill=\"none\" aria-hidden=\"true\"><path d=\"M41.3536 4.03556C41.5488 3.8403 41.5488 3.52372 41.3536 3.32845L38.1716 0.146473C37.9763 -0.0487893 37.6597 -0.0487893 37.4645 0.146473C37.2692 0.341735 37.2692 0.658318 37.4645 0.85358L40.2929 3.68201L37.4645 6.51043C37.2692 6.7057 37.2692 7.02228 37.4645 7.21754C37.6597 7.4128 37.9763 7.4128 38.1716 7.21754L41.3536 4.03556ZM0 3.68201V4.18201H41V3.68201V3.18201H0V3.68201Z\" fill=\"white\"\/><\/svg>\n            <\/a>\n            <a id=\"modalPrevLabel\">Pr\u00e9c\u00e9dent<\/a>\n            <span class=\"nav-sep\">\/<\/span>\n            <a id=\"modalNextLabel\">Suivant<\/a>\n            <a class=\"nav-arrow\" id=\"modalNext\">\n                <span class=\"nav-arrow-char\">&#8594;<\/span>\n                <svg class=\"nav-arrow-svg\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"42\" height=\"8\" viewbox=\"0 0 42 8\" fill=\"none\" aria-hidden=\"true\"><path d=\"M41.3536 4.03556C41.5488 3.8403 41.5488 3.52372 41.3536 3.32845L38.1716 0.146473C37.9763 -0.0487893 37.6597 -0.0487893 37.4645 0.146473C37.2692 0.341735 37.2692 0.658318 37.4645 0.85358L40.2929 3.68201L37.4645 6.51043C37.2692 6.7057 37.2692 7.02228 37.4645 7.21754C37.6597 7.4128 37.9763 7.4128 38.1716 7.21754L41.3536 4.03556ZM0 3.68201V4.18201H41V3.68201V3.18201H0V3.68201Z\" fill=\"white\"\/><\/svg>\n            <\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    window.events = [{\"title\":\"Heiva at The Brando\",\"date\":\"2 JULY \\u2013 18 JULY 2026\",\"content\":\"<p>Guests may partake in the games with our staff or choose to encourage teams and family members from the sidelines. Some highlights include the fruit carrying races where contestants run bare foot wearing a p\\u0101reu with loads fastened to bamboo poles balanced over the shoulders. Or the <em>\\u2019amora\\u2019a ofa\\u2019i<\\\/em> contest where bold men and women lift stones of up to 110 lbs up to their shoulder.<\\\/p>\\n<p>Some of the games are tropical islander iterations of fun fair classics such as the can toss where coconuts must be knocked over instead of tin cans, and of course the Heiva would not be complete without an invitation to dance the basic steps of \\u2019ori tahiti to the beat of the t\\u014d\\u2019ere percussions ! The mesmerizing performance of our hotel troupe Tamarii Tetiaora will only encourage you to try it yourself.<\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/DSC08531-1024x683.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/heiva-at-the-brando\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-07-02&checkOutDate=2026-07-09&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"},{\"title\":\"Whale Watching Season\",\"date\":\"20 JULY \\u2013 31 OCTOBER 2026\",\"content\":\"<p>Humpback whales come to rest, mate and give birth in our warm waters every year between mid-July and end of October. Just outside of Tetiaroa\\u2019s lagoon, on the other side of the barrier reef, our corner of the Pacific ocean is their safe haven.<\\\/p>\\n<p>Our guests are truly privileged to witness them in small groups of no more than 6 people at a time with no other boats rushing in. The scientific and cultural insights of our Tetiaroa Society guide make this tailored field trip truly special, in one of the last places in the world where observers are still allowed to enter the water.<\\\/p>\\n<p>The first step requires focus and patience, scanning the horizon to find signs of their presence. Once a spout, or the glimpse of a tail fin is spotted from afar, the boat captain cautiously maneuvers an approach.<\\\/p>\\n<p>When the weather conditions allow it and the animal displays a calm behavior with a willingness to engage, a snorkeling session may be set up to observe one of these majestic mammals at a respectful distance: swimming in the open ocean* and hoping to catch its gaze is an experience of its own!<\\\/p>\\n<p><em>*Guests must be experienced and strong swimmers, the snorkeling session is possible from 12 years up.<\\\/em><\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/DSC_6234-Edit-Edit-1024x681.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/event-example-test\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-07-20&checkOutDate=2026-07-27&trackPage=yes\",\"cta_label\":\"Contact us\",\"cta_url\":\"mailto:reservation@thebrando.com\"},{\"title\":\"Artisan Week\",\"date\":\"4 AUGUST \\u2013 9 AUGUST 2026\",\"content\":\"<p>This weeklong celebration of traditional Polynesian arts follows the Heiva with Master artisans coming to initiate guests to their craft through tailored workshops, from pandanus weaving to shell necklace making.<\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/DSC_3970-1024x681.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/artisan-week\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-08-04&checkOutDate=2026-08-11&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"},{\"title\":\"Sommelier Xavier Thuizat\",\"date\":\"8 AUGUST \\u2013 12 AUGUST 2026\",\"content\":\"<p>Xavier Thuizat organizes a fabulous wine tasting week to introduce guests to French classics and discover confidential c\\u00e9pages. This Master sommelier won the prestigious title of Meilleur Ouvrier de France MOF in 2024, recognizing the best artisans of their craft.<\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/DSC00754-1024x683.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/sommelier-xavier-thuizat\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-08-08&checkOutDate=2026-08-15&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"},{\"title\":\"Green sea Turtle Nesting Season\",\"date\":\"1 NOVEMBER \\u2013 5 JANUARY 2027\",\"content\":\"<p><span data-teams=\\\"true\\\">Between November and January, this is a privileged moment for guests to witness one of nature\\u2019s most intimate rituals in partnership with ocean conservation NGO <a href=\\\"https:\\\/\\\/www.temanaotemoana.org\\\/\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">Te Mana o te Moana<\\\/a>. The female green sea turtle emerges from the lagoon under cover of darkness, her shell glistening in the moonlight, moving slowly towards the beach.<\\\/span><\\\/p>\\n<p>At the high tide line just beyond the reach of the waves, she begins to dig. Using her powerful hind flippers, she lays her eggs: about 80 to 120 spherical eggs. She covers them then flips sand around in the vicinity to confuse predators before finally returning to the sea.The whole process takes about two hours. It is exhausting, vulnerable, and fascinating to watch.<\\\/p>\\n<p>Out of every 1,000 eggs laid, one hatchling will survive to reproductive age. That\\u2019s why every egg counts and this moment is so precious. If nature permits, guests will be invited before dawn to watch this fascinating and age-old slice of life on the shores of Tetiaroa.<\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/kori-4-1024x769.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/green-sea-turtle-nesting-season\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-11-01&checkOutDate=2026-11-08&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"},{\"title\":\"Matari\\u2018i i Ni\\u2018a\",\"date\":\"20 NOVEMBER \\u2013 20 NOVEMBER 2026\",\"content\":\"<p>Opened by a traditional ceremony presided by a <em>tahu\\u2019a<\\\/em>, a spiritual master, it is an exuberant and colorful moment with activities spanning from star gazing to traditional sailing canoe navigation with experienced <em>\\u2018ihitai, <\\\/em>a homage to the original Polynesian wayfinders who settled here over a thousand years ago. It is also chance to learn more about our legends, songs and dances through cultural workshops and to partake in the joyous atmosphere together.<\\\/p>\\n<p>Special meals featuring quality produce of our fa\\u2019a\\u2019apu and showcasing fresh fish from the Pacific and harvests from neighboring islands, are served beachside at the Beachcomber or in the elegant atmosphere of <em>Les Mutin\\u00e9s. <\\\/em><\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/BTO05554-1024x576.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/matarii-i-nia\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-11-20&checkOutDate=2026-11-27&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"},{\"title\":\"Festive Season\",\"date\":\"20 DECEMBER \\u2013 5 JANUARY 2027\",\"content\":\"<p>Our end of year festive season is a time to make memories as a family with many special activities, shared meals and cultural experiences during the Christmas and New Year\\u2019s holidays.<\\\/p>\\n<p>M\\u0101t\\u0101mua \\u2018Eyes forward\\u2019 also meaning \\u2018Ancient times\\u2019 in Tahitian is the theme of our festive season and highlights the cyclical nature of time in the Polynesian worldview. It is an invitation to make the most of the here and now and to reconnect with meaningful traditions that are timeless.<\\\/p>\\n<p>Handicraft workshops will introduce guests to the festive spirit with <em>Hei po\\u2019o,<\\\/em> the art of fresh flower crown making to brighten a special evening and Polynesian childhood games like kite-making or our version of chess called <em>fa\\u2019anu\\u2019u<\\\/em>. Cultural experts will show how <em>fai<\\\/em> transforms a string woven from coconut husk thread into geometrical figures.<\\\/p>\\n<p>It is also the setting of an unforgettable ceremony. The traditional <em>\\u2019umu ti <\\\/em>is a sacred fire walk officiated by Tahu\\u2019a Raymond Graffe who reinitiated this forgotten practice. The days of preparation required for this intense feat are both mental and physical. Firewood and volcanic stones must be gathered and aligned in a long platform, while the Master of Ceremony retires to a secluded place to prepare himself before leading guests through this ancient ritual.<\\\/p>\\n\",\"gallery\":[\"https:\\\/\\\/thebrando.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/DSC07453-1024x683.jpg\"],\"link\":\"https:\\\/\\\/thebrando.com\\\/fr\\\/events\\\/festive-season\\\/\",\"booking_url\":\"https:\\\/\\\/book-directonline.com\\\/properties\\\/TheBrandoDirect?locale=en&items[0][adults]=2&items[0][children]=0&items[0][infants]=0&currency=XPF&checkInDate=2026-12-20&checkOutDate=2026-12-27&trackPage=yes\",\"cta_label\":\"\",\"cta_url\":\"\"}];\n    var events = window.events;\n    var currentEvent = 0;\n    var currentSlide = 0;\n\n    var overlay   = document.getElementById('eventModal');\n    var closeBtn  = document.getElementById('eventModalClose');\n    var track     = document.getElementById('galleryTrack');\n    var galleryEl = document.getElementById('modalGallery');\n    var counter   = document.getElementById('galleryCounter');\n    var indexEl   = document.getElementById('galleryIndex');\n    var titleEl   = document.getElementById('modalTitle');\n    var dateEl    = document.getElementById('modalDate');\n    var contentEl = document.getElementById('modalContent');\n    var bookBtn   = document.getElementById('modalBookBtn');\n    var ctaBtn    = document.getElementById('modalCtaBtn');\n    var scrubberEl     = document.getElementById('modalScrubber');\n    var scrubberHandle = scrubberEl ? scrubberEl.querySelector('.modal-scrubber__handle') : null;\n\n    function updateScrubber() {\n        if (!scrubberEl || !scrubberHandle) return;\n        var maxScroll = contentEl.scrollHeight - contentEl.clientHeight;\n        if (maxScroll <= 1) {\n            scrubberEl.classList.remove('is-active');\n            scrubberHandle.style.transform = 'translateY(0)';\n            return;\n        }\n        scrubberEl.classList.add('is-active');\n        var range = Math.max(0, scrubberEl.clientHeight - scrubberHandle.offsetHeight);\n        var ratio = contentEl.scrollTop \/ maxScroll;\n        scrubberHandle.style.transform = 'translateY(' + (ratio * range) + 'px)';\n    }\n\n    contentEl.addEventListener('scroll', updateScrubber, { passive: true });\n    window.addEventListener('resize', updateScrubber);\n    if (window.ResizeObserver) {\n        new ResizeObserver(updateScrubber).observe(contentEl);\n    }\n\n    if (scrubberHandle) {\n        var handleDragging = false;\n        var handleStartY = 0;\n        var handleStartScroll = 0;\n\n        scrubberHandle.addEventListener('pointerdown', function(e) {\n            e.preventDefault();\n            e.stopPropagation();\n            handleDragging = true;\n            handleStartY = e.clientY;\n            handleStartScroll = contentEl.scrollTop;\n            scrubberHandle.setPointerCapture(e.pointerId);\n        });\n        scrubberHandle.addEventListener('pointermove', function(e) {\n            if (!handleDragging) return;\n            var range = Math.max(1, scrubberEl.clientHeight - scrubberHandle.offsetHeight);\n            var maxScroll = contentEl.scrollHeight - contentEl.clientHeight;\n            var dy = e.clientY - handleStartY;\n            contentEl.scrollTop = handleStartScroll + (dy \/ range) * maxScroll;\n        });\n        function endHandleDrag(e) {\n            if (!handleDragging) return;\n            handleDragging = false;\n            try { scrubberHandle.releasePointerCapture(e.pointerId); } catch (_) {}\n        }\n        scrubberHandle.addEventListener('pointerup', endHandleDrag);\n        scrubberHandle.addEventListener('pointercancel', endHandleDrag);\n    }\n\n    if (scrubberEl) {\n        scrubberEl.addEventListener('pointerdown', function(e) {\n            if (e.target === scrubberHandle) return;\n            var rect = scrubberEl.getBoundingClientRect();\n            var handleH = scrubberHandle.offsetHeight;\n            var y = e.clientY - rect.top - handleH \/ 2;\n            var range = Math.max(1, rect.height - handleH);\n            var ratio = Math.max(0, Math.min(1, y \/ range));\n            var maxScroll = contentEl.scrollHeight - contentEl.clientHeight;\n            contentEl.scrollTop = ratio * maxScroll;\n        });\n    }\n\n    window.showEvent = showEvent;\n    function showEvent(idx) {\n        var ev = events[idx];\n        if (!ev) return;\n        currentEvent = idx;\n        currentSlide = 0;\n\n        titleEl.textContent = ev.title;\n        dateEl.textContent  = ev.date;\n        contentEl.innerHTML = ev.content;\n\n        bookBtn.href = ev.booking_url || ev.link;\n\n        if (ctaBtn) {\n            if (ev.cta_label &#038;&#038; ev.cta_url) {\n                ctaBtn.style.display = '';\n                ctaBtn.href        = ev.cta_url;\n                ctaBtn.textContent = ev.cta_label;\n            } else {\n                ctaBtn.style.display = 'none';\n            }\n        }\n\n        \/\/ Build gallery track\n        track.innerHTML = '';\n        if (ev.gallery.length > 0) {\n            galleryEl.style.display = 'block';\n            ev.gallery.forEach(function(url) {\n                var img = document.createElement('img');\n                img.src = url;\n                img.alt = ev.title;\n                track.appendChild(img);\n            });\n        } else {\n            galleryEl.style.display = 'none';\n        }\n\n        updateSlidePosition(false);\n        overlay.scrollTop = 0;\n        contentEl.scrollTop = 0;\n        requestAnimationFrame(updateScrubber);\n    }\n\n    function updateSlidePosition(animate) {\n        var imgs = events[currentEvent].gallery;\n        if (imgs.length === 0) {\n            counter.style.display = 'none';\n            return;\n        }\n        if (animate !== false) {\n            track.classList.remove('dragging');\n        } else {\n            track.classList.add('dragging');\n            requestAnimationFrame(function() { track.classList.remove('dragging'); });\n        }\n        track.style.transform = 'translateX(-' + (currentSlide * 100) + '%)';\n\n        if (imgs.length > 1) {\n            counter.style.display = 'flex';\n            indexEl.textContent = (currentSlide + 1) + ' \/ ' + imgs.length;\n            galleryEl.classList.add('has-multiple');\n        } else {\n            counter.style.display = 'none';\n            galleryEl.classList.remove('has-multiple');\n        }\n    }\n\n    document.getElementById('galleryPrev').addEventListener('click', function() {\n        var imgs = events[currentEvent].gallery;\n        currentSlide = (currentSlide - 1 + imgs.length) % imgs.length;\n        updateSlidePosition(true);\n    });\n    document.getElementById('galleryNext').addEventListener('click', function() {\n        var imgs = events[currentEvent].gallery;\n        currentSlide = (currentSlide + 1) % imgs.length;\n        updateSlidePosition(true);\n    });\n\n    \/\/ Drag \/ swipe support\n    var dragStartX = 0;\n    var dragDelta = 0;\n    var isDragging = false;\n\n    function onDragStart(x) {\n        var imgs = events[currentEvent].gallery;\n        if (imgs.length <= 1) return;\n        isDragging = true;\n        dragStartX = x;\n        dragDelta = 0;\n        track.classList.add('dragging');\n    }\n\n    function onDragMove(x) {\n        if (!isDragging) return;\n        dragDelta = x - dragStartX;\n        var baseOffset = -(currentSlide * galleryEl.offsetWidth);\n        track.style.transform = 'translateX(' + (baseOffset + dragDelta) + 'px)';\n    }\n\n    function onDragEnd() {\n        if (!isDragging) return;\n        isDragging = false;\n        track.classList.remove('dragging');\n        var imgs = events[currentEvent].gallery;\n        var threshold = galleryEl.offsetWidth * 0.2;\n\n        if (dragDelta < -threshold) {\n            currentSlide = (currentSlide + 1) % imgs.length;\n        } else if (dragDelta > threshold) {\n            currentSlide = (currentSlide - 1 + imgs.length) % imgs.length;\n        }\n        updateSlidePosition(true);\n    }\n\n    \/\/ Touch events\n    galleryEl.addEventListener('touchstart', function(e) {\n        onDragStart(e.touches[0].clientX);\n    }, { passive: true });\n    galleryEl.addEventListener('touchmove', function(e) {\n        onDragMove(e.touches[0].clientX);\n    }, { passive: true });\n    galleryEl.addEventListener('touchend', onDragEnd, { passive: true });\n\n    \/\/ Mouse drag\n    galleryEl.addEventListener('mousedown', function(e) {\n        e.preventDefault();\n        onDragStart(e.clientX);\n    });\n    document.addEventListener('mousemove', function(e) {\n        onDragMove(e.clientX);\n    });\n    document.addEventListener('mouseup', onDragEnd);\n\n    document.getElementById('modalPrev').addEventListener('click', function() {\n        if (currentEvent > 0) showEvent(currentEvent - 1);\n    });\n    document.getElementById('modalPrevLabel').addEventListener('click', function() {\n        if (currentEvent > 0) showEvent(currentEvent - 1);\n    });\n    document.getElementById('modalNext').addEventListener('click', function() {\n        if (currentEvent < events.length - 1) showEvent(currentEvent + 1);\n    });\n    document.getElementById('modalNextLabel').addEventListener('click', function() {\n        if (currentEvent < events.length - 1) showEvent(currentEvent + 1);\n    });\n\n    function openEventModal(idx) {\n        showEvent(idx);\n        overlay.classList.add('active');\n        document.body.classList.add('event-modal-open');\n        document.body.style.overflow = 'hidden';\n    }\n\n    window.openEventModal = openEventModal;\n\n    document.querySelectorAll('.event-card[data-event-index]').forEach(function(card) {\n        card.addEventListener('click', function(e) {\n            e.preventDefault();\n            openEventModal(parseInt(this.getAttribute('data-event-index'), 10));\n        });\n        card.addEventListener('keydown', function(e) {\n            if (e.key === 'Enter' || e.key === ' ') {\n                e.preventDefault();\n                openEventModal(parseInt(this.getAttribute('data-event-index'), 10));\n            }\n        });\n    });\n\n    function closeModal() {\n        overlay.classList.remove('active');\n        document.body.classList.remove('event-modal-open');\n        document.body.style.overflow = '';\n    }\n\n    closeBtn.addEventListener('click', closeModal);\n    overlay.addEventListener('click', function(e) {\n        if (e.target === overlay) closeModal();\n    });\n    document.addEventListener('keydown', function(e) {\n        if (e.key === 'Escape') {\n            closeModal();\n            return;\n        }\n        if (!overlay.classList.contains('active')) return;\n        var imgs = events[currentEvent].gallery;\n        if (imgs.length <= 1) return;\n        if (e.key === 'ArrowLeft') {\n            currentSlide = (currentSlide - 1 + imgs.length) % imgs.length;\n            updateSlidePosition(true);\n        } else if (e.key === 'ArrowRight') {\n            currentSlide = (currentSlide + 1) % imgs.length;\n            updateSlidePosition(true);\n        }\n    });\n})();\n<\/script>\n\n<script>\n(function() {\n    var btn = document.getElementById('loadMoreEvents');\n    if (!btn) return;\n\n    var ajaxUrl = 'https:\/\/thebrando.com\/wp-admin\/admin-ajax.php';\n    var eventsList = document.querySelector('.events-list');\n\n    var shortMonths = {\n        JANUARY: 'jan', FEBRUARY: 'feb', MARCH: 'mar', APRIL: 'apr',\n        MAY: 'may', JUNE: 'jun', JULY: 'jul', AUGUST: 'aug',\n        SEPTEMBER: 'sep', OCTOBER: 'oct', NOVEMBER: 'nov', DECEMBER: 'dec'\n    };\n\n    function sectionForStartFmt(startFmt) {\n        if (!startFmt) return null;\n        var parts = startFmt.split(' ');\n        if (parts.length < 2) return null;\n        var fullLower = parts[1].toLowerCase();\n        return document.getElementById(fullLower);\n    }\n\n    btn.addEventListener('click', function() {\n        var page     = parseInt(btn.getAttribute('data-page'), 10) + 1;\n        var maxPages = parseInt(btn.getAttribute('data-max'), 10);\n        var filter   = btn.getAttribute('data-filter');\n        var perPage  = btn.getAttribute('data-per-page');\n        var category = btn.getAttribute('data-category');\n\n        btn.disabled = true;\n        btn.textContent = 'Loading...';\n\n        var formData = new FormData();\n        formData.append('action', 'brando_load_more_events');\n        formData.append('page', page);\n        formData.append('filter', filter);\n        formData.append('per_page', perPage);\n        formData.append('category', category);\n\n        fetch(ajaxUrl, { method: 'POST', body: formData })\n            .then(function(res) { return res.json(); })\n            .then(function(json) {\n                if (!json.success || !json.data.length) {\n                    btn.parentElement.remove();\n                    return;\n                }\n\n                var totalCards = eventsList.querySelectorAll('.event-card').length;\n                var loadMoreWrap = eventsList.querySelector('.load-more-wrap');\n\n                json.data.forEach(function(ev, i) {\n                    var idx = totalCards + i;\n                    var flip = idx % 2 === 0 ? 'flipped' : '';\n\n                    var eventIndex = window.events ? window.events.length : 0;\n\n                    var card = document.createElement('div');\n                    card.className = 'event-card ' + flip;\n                    card.setAttribute('data-event-index', eventIndex);\n                    card.setAttribute('role', 'button');\n                    card.setAttribute('tabindex', '0');\n\n                    var imgHtml = ev.thumbnail\n                        ? '<div class=\"event-image\"><img decoding=\"async\" src=\"' + ev.thumbnail + '\" alt=\"' + ev.title + '\"><\/div>'\n                        : '<div class=\"event-image\"><div class=\"event-image-placeholder\"><\/div><\/div>';\n\n                    var dateHtml = ev.start_fmt\n                        ? '<p class=\"event-date\">' + ev.start_fmt + (ev.end_fmt ? ' \u2013 ' + ev.end_fmt : '') + '<\/p>'\n                        : '';\n\n                    var subtitleText = ev.subtitle || ev.excerpt || '';\n                    var subtitleHtml = subtitleText\n                        ? '<p class=\"event-subtitle\">' + subtitleText + '<\/p>'\n                        : '';\n\n                    card.innerHTML = imgHtml +\n                        '<div class=\"event-info\">' +\n                            '<h2 class=\"event-title\">' + ev.title + '<\/h2>' +\n                            dateHtml +\n                            subtitleHtml +\n                            '<a href=\"#\" class=\"event-link\" data-event-index=\"' + eventIndex + '\">Learn More<\/a>' +\n                        '<\/div>';\n\n                    if (window.events) {\n                        window.events.push({\n                            title: ev.title,\n                            date: ev.start_fmt + (ev.end_fmt ? ' \u2013 ' + ev.end_fmt : ''),\n                            content: ev.content,\n                            gallery: ev.gallery,\n                            link: ev.permalink,\n                            booking_url: ev.booking_url || ev.permalink,\n                            cta_label: ev.cta_label || '',\n                            cta_url: ev.cta_url || ''\n                        });\n                    }\n\n                    card.addEventListener('click', function(e) {\n                        e.preventDefault();\n                        if (window.openEventModal) {\n                            window.openEventModal(parseInt(this.getAttribute('data-event-index'), 10));\n                        }\n                    });\n                    card.addEventListener('keydown', function(e) {\n                        if (e.key === 'Enter' || e.key === ' ') {\n                            e.preventDefault();\n                            if (window.openEventModal) {\n                                window.openEventModal(parseInt(this.getAttribute('data-event-index'), 10));\n                            }\n                        }\n                    });\n\n                    \/\/ Insert into matching month section, or fall back to before load-more\n                    var section = sectionForStartFmt(ev.start_fmt);\n                    if (section) {\n                        section.classList.remove('is-empty');\n                        section.appendChild(card);\n\n                        var navItem = document.querySelector('.month-nav__item[data-target=\"' + section.dataset.month + '\"]');\n                        if (navItem && navItem.classList.contains('is-disabled')) {\n                            navItem.classList.remove('is-disabled');\n                            navItem.removeAttribute('aria-disabled');\n                            navItem.removeAttribute('tabindex');\n                        }\n                    } else if (loadMoreWrap) {\n                        eventsList.insertBefore(card, loadMoreWrap);\n                    } else {\n                        eventsList.appendChild(card);\n                    }\n                });\n\n                btn.setAttribute('data-page', page);\n                btn.disabled = false;\n                btn.textContent = 'Load More';\n\n                if (page >= maxPages) {\n                    btn.parentElement.remove();\n                }\n            })\n            .catch(function() {\n                btn.disabled = false;\n                btn.textContent = 'Load More';\n            });\n    });\n})();\n<\/script>\n\n<script>\n(function() {\n    var sections    = document.querySelectorAll('.events-month-section');\n    var navItems    = document.querySelectorAll('.month-nav__item');\n    var progressBar = document.querySelector('.month-nav__progress');\n    var monthNav    = document.querySelector('.month-nav');\n    if (!monthNav || !sections.length) return;\n\n    var currentActive = null;\n    var navVisible = false;\n\n    function handleNavVisibility() {\n        var scrollY = window.scrollY;\n        if (scrollY > 0 && !navVisible) {\n            navVisible = true;\n            monthNav.classList.add('is-visible');\n        } else if (scrollY <= 0 &#038;&#038; navVisible) {\n            navVisible = false;\n            monthNav.classList.remove('is-visible');\n        }\n    }\n\n    function setActiveMonth(month) {\n        if (currentActive === month) return;\n        currentActive = month;\n        navItems.forEach(function(item) {\n            item.classList.toggle('is-active', item.dataset.target === month);\n        });\n    }\n\n    var observer = new IntersectionObserver(function(entries) {\n        entries.forEach(function(entry) {\n            if (entry.isIntersecting) {\n                setActiveMonth(entry.target.dataset.month);\n            }\n        });\n    }, { root: null, rootMargin: '-30% 0px -30% 0px', threshold: 0 });\n\n    sections.forEach(function(section) {\n        if (!section.classList.contains('is-empty')) {\n            observer.observe(section);\n        }\n    });\n\n    var navItemsArr = Array.prototype.slice.call(navItems);\n    var sectionsArr = Array.prototype.slice.call(sections);\n\n    \/\/ Empty months render a hidden (display:none) section \u2014 scrolling to one\n    \/\/ sends the page to the top. So we always resolve a click to the nearest\n    \/\/ section that actually has events, searching outward in both directions.\n    function nearestNonEmptySection(startIndex) {\n        if (startIndex < 0) return null;\n        for (var offset = 0; offset < sectionsArr.length; offset++) {\n            var after = sectionsArr[startIndex + offset];\n            if (after &#038;&#038; !after.classList.contains('is-empty')) return after;\n            var before = sectionsArr[startIndex - offset];\n            if (before &#038;&#038; !before.classList.contains('is-empty')) return before;\n        }\n        return null;\n    }\n\n    navItemsArr.forEach(function(item) {\n        item.addEventListener('click', function(e) {\n            e.preventDefault();\n            var month = item.dataset.target;\n            var startIndex = -1;\n            for (var i = 0; i < sectionsArr.length; i++) {\n                if (sectionsArr[i].dataset.month === month) { startIndex = i; break; }\n            }\n            var target = nearestNonEmptySection(startIndex);\n            if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n    });\n\n    function onScroll() {\n        var scrollTop = window.scrollY;\n        var docHeight = document.documentElement.scrollHeight - window.innerHeight;\n        progressBar.style.height = (docHeight > 0 ? (scrollTop \/ docHeight) * 100 : 0) + '%';\n        handleNavVisibility();\n    }\n\n    window.addEventListener('scroll', onScroll, { passive: true });\n    onScroll();\n\n    \/\/ Seed active state to first visible section\n    for (var i = 0; i < sections.length; i++) {\n        if (!sections[i].classList.contains('is-empty')) {\n            setActiveMonth(sections[i].dataset.month);\n            break;\n        }\n    }\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-events.php","meta":{"_acf_changed":false,"footnotes":""},"folder":[],"class_list":["post-2698","page","type-page","status-publish","hentry"],"acf":{"category_filter":null},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Events - The Brando<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thebrando.com\/fr\/events\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Events - The Brando\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thebrando.com\/fr\/events\/\" \/>\n<meta property=\"og:site_name\" content=\"The Brando\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-01T01:29:07+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thebrando.com\\\/events\\\/\",\"url\":\"https:\\\/\\\/thebrando.com\\\/events\\\/\",\"name\":\"Events - The Brando\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thebrando.com\\\/#website\"},\"datePublished\":\"2026-05-29T19:05:36+00:00\",\"dateModified\":\"2026-07-01T01:29:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thebrando.com\\\/events\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thebrando.com\\\/events\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thebrando.com\\\/events\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thebrando.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Events\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thebrando.com\\\/#website\",\"url\":\"https:\\\/\\\/thebrando.com\\\/\",\"name\":\"The Brando\",\"description\":\"Luxury Resort in French Polynesia\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thebrando.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Events - The Brando","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thebrando.com\/fr\/events\/","og_locale":"fr_FR","og_type":"article","og_title":"Events - The Brando","og_url":"https:\/\/thebrando.com\/fr\/events\/","og_site_name":"The Brando","article_modified_time":"2026-07-01T01:29:07+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thebrando.com\/events\/","url":"https:\/\/thebrando.com\/events\/","name":"Events - The Brando","isPartOf":{"@id":"https:\/\/thebrando.com\/#website"},"datePublished":"2026-05-29T19:05:36+00:00","dateModified":"2026-07-01T01:29:07+00:00","breadcrumb":{"@id":"https:\/\/thebrando.com\/events\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thebrando.com\/events\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/thebrando.com\/events\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thebrando.com\/"},{"@type":"ListItem","position":2,"name":"Events"}]},{"@type":"WebSite","@id":"https:\/\/thebrando.com\/#website","url":"https:\/\/thebrando.com\/","name":"Le Brandon","description":"Resort de luxe en Polyn\u00e9sie fran\u00e7aise","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thebrando.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/pages\/2698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/comments?post=2698"}],"version-history":[{"count":0,"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/pages\/2698\/revisions"}],"wp:attachment":[{"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/media?parent=2698"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/thebrando.com\/fr\/wp-json\/wp\/v2\/folder?post=2698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}