{"id":7,"date":"2026-06-05T12:25:14","date_gmt":"2026-06-05T12:25:14","guid":{"rendered":"https:\/\/betclic.pass.cm\/?page_id=7"},"modified":"2026-06-05T12:39:49","modified_gmt":"2026-06-05T12:39:49","slug":"e-invitation","status":"publish","type":"page","link":"https:\/\/betclic.pass.cm\/","title":{"rendered":"E-invitation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7\" class=\"elementor elementor-7\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9658e7d e-con-full e-flex e-con e-parent\" data-id=\"9658e7d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ef12e0 elementor-widget elementor-widget-template\" data-id=\"3ef12e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"page\" data-elementor-id=\"25\" class=\"elementor elementor-25\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70964705 e-con-full e-flex e-con e-parent\" data-id=\"70964705\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-20a6b9d3 e-con-full e-flex e-con e-child\" data-id=\"20a6b9d3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-10bcc554 e-con-full e-flex e-con e-child\" data-id=\"10bcc554\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fdd3f46 elementor-pagination-position-outside elementor-widget elementor-widget-image-carousel\" data-id=\"fdd3f46\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show_mobile&quot;:&quot;1&quot;,&quot;navigation&quot;:&quot;dots&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Carrousel d\u2019images\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 sur 4\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2026-06-05-at-12.09.58-1.jpeg\" alt=\"WhatsApp Image 2026-06-05 at 12.09.58 (1)\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 sur 4\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2026-06-05-at-12.09.51.jpeg\" alt=\"WhatsApp Image 2026-06-05 at 12.09.51\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 sur 4\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2026-06-05-at-12.09.56.jpeg\" alt=\"WhatsApp Image 2026-06-05 at 12.09.56\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 sur 4\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/betclickdate-1.png\" alt=\"betclickdate (1)\" \/><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1cee3b8b e-con-full e-flex e-con e-child\" data-id=\"1cee3b8b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-288f23b e-con-full e-flex e-con e-child\" data-id=\"288f23b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58125404 elementor-widget elementor-widget-heading\" data-id=\"58125404\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"mon-titre-id2\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">....<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ee74e56 elementor-widget elementor-widget-heading\" data-id=\"5ee74e56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Seras-tu de la partie ?<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ecfa25 elementor-widget elementor-widget-html\" data-id=\"7ecfa25\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PARTIE 1: G\u00e9n\u00e9ration d'image personnalis\u00e9e -->\n        <!--<div style=\"margin-bottom: 20px;\">-->\n            <!-- Conteneur pour l'image g\u00e9n\u00e9r\u00e9e -->\n        <!--    <div id=\"image-container\" style=\"text-align: center;\">-->\n        <!--        <div id=\"personalized-image\" style=\"position: relative; display: inline-block;\">-->\n                    <!--<img decoding=\"async\" id=\"base-image\" style=\"width: 100%; max-width: 600px; display: block; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\" src=\"https:\/\/champions.cm\/wp-content\/uploads\/2025\/05\/billet-lr-25.jpeg\" alt=\"Image d'invitation\">-->\n        <!--            <div id=\"guest-name\" style=\"position: absolute; top: 33.5%; left: 0; font-size: 10px; color: #007B1B; font-weight: bold; font-family: 'Heineken', serif; text-align: left; padding-left: 22px;\"><\/div>-->\n        <!--        <\/div>-->\n        <!--    <\/div>-->\n            \n        <!--    <div id=\"image-result\" style=\"padding: 15px; border-radius: 5px; margin: 20px 0; text-align: center; display: none;\"><\/div>-->\n        <!--<\/div>-->\n        \n        <!-- Script pour la partie 1: G\u00e9n\u00e9ration d'image personnalis\u00e9e -->\n        <script>\n            \/\/ Configuration - Code de l'\u00e9v\u00e9nement fixe\n            const EVENT_ID = \"bt6\";\n            const API_BASE_URL = \"https:\/\/e-invite.zen-apps.com\/api\";\n            \n            \/\/ Fonction pour extraire le code invit\u00e9 de l'URL\n            function getGuestCode() {\n                \/\/ R\u00e9cup\u00e9rer la partie query de l'URL (tout ce qui suit le ?)\n                const queryString = window.location.search;\n                \n                \/\/ Si la query commence par '?', on enl\u00e8ve ce caract\u00e8re\n                if (queryString.startsWith('?')) {\n                    \/\/ On retourne tout ce qui suit le '?' comme code invit\u00e9\n                    return queryString.substring(1);\n                }\n                \n                return '';\n            }\n            \n            \/\/ Fonction pour r\u00e9cup\u00e9rer les informations de l'invit\u00e9\n            async function fetchGuestInfo(contactId, eventId) {\n                try {\n                    console.log(`Fetching guest info for contact ${contactId} and event ${eventId}`);\n                    \n                    \/\/ Appel direct \u00e0 l'API sans proxy CORS\n                    const response = await fetch(`${API_BASE_URL}\/check_invitation?event_id=${eventId}&contact_id=${contactId}`, {\n                        headers: {\n                            'Accept': 'application\/json'\n                        }\n                    });\n                    \n                    if (!response.ok) {\n                        throw new Error(`Erreur HTTP: ${response.status}`);\n                    }\n                    \n                    const data = await response.json();\n                    return data;\n                } catch (error) {\n                    console.error(\"Erreur lors de la r\u00e9cup\u00e9ration des informations:\", error);\n                    return {\n                        status: \"error\",\n                        message: \"Nous n'avons pas pu charger vos informations. Veuillez r\u00e9essayer plus tard.\"\n                    };\n                }\n            }\n            \n            \/\/ Fonction pour afficher un message\n            function displayImageMessage(type, message) {\n                const element = document.getElementById('image-result');\n                element.innerHTML = message;\n                \n                \/\/ Style \u00e9l\u00e9gant pour tous les types de messages\n                element.style.backgroundColor = 'transparent';\n                element.style.color = 'white';\n                element.style.textShadow = '1px 1px 3px rgba(0,0,0,0.5)';\n                element.style.fontStyle = 'italic';\n                element.style.fontSize = '14px';\n                \n                \/\/ Afficher l'\u00e9l\u00e9ment\n                element.style.display = 'block';\n            }\n            \n            \/\/ Initialisation\n            document.addEventListener('DOMContentLoaded', async function() {\n                \/\/ R\u00e9cup\u00e9rer le code d'invitation depuis l'URL\n                const contactId = getGuestCode();\n                \n                if (!contactId) {\n                    displayImageMessage('error', 'Votre invitation semble incompl\u00e8te. Veuillez utiliser le lien re\u00e7u dans votre SMS \/ message WhatsApp.');\n                    return;\n                }\n                \n                \/\/ Afficher un message de chargement\n                displayImageMessage('loading', 'R\u00e9cup\u00e9ration des informations de l\\'invit\u00e9...');\n                \n                \/\/ R\u00e9cup\u00e9rer les informations de l'invit\u00e9\n                const result = await fetchGuestInfo(contactId, EVENT_ID);\n                \n                if (result.status === 'success') {\n                    if (result.is_registered) {\n                        \/\/ R\u00e9cup\u00e9rer le nom de la personne tel que re\u00e7u via l'API\n                        const guestName = result.contact.full_name;\n                        \n                      document.getElementById(\"mon-titre-id2\").style.fontSize = '18px';\n                        \n                        \/\/ Afficher le nom sur l'image\n                        \/\/ document.getElementById('guest-name').textContent = guestName;\n                        \n                        document.getElementById(\"mon-titre-id2\").innerText = guestName;\n                        document.getElementById(\"mon-titre-id2\").style.color = \"#000000\";\n                \n                        \/\/ Masquer le message de r\u00e9sultat au lieu d'afficher un message de bienvenue\n                        document.getElementById('image-result').style.display = 'none';\n                    } else {\n                        \/\/ Afficher un message d'erreur\n                        displayImageMessage('error', result.message || 'Nous ne trouvons pas votre invitation. V\u00e9rifiez que vous utilisez le bon lien.');\n                    }\n                } else {\n                    \/\/ Afficher un message d'erreur\n                    displayImageMessage('error', result.message || 'Un petit probl\u00e8me est survenu. Veuillez r\u00e9essayer plus tard.');\n                }\n            });\n        <\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2a6b0379 e-con-full e-flex e-con e-child\" data-id=\"2a6b0379\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fcc4d38 elementor-widget elementor-widget-html\" data-id=\"fcc4d38\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"toast\" style=\"position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); background-color: rgba(0, 123, 27, 0.9); color: white; padding: 16px 32px; border-radius: 4px; font-family: 'Heineken', serif; font-size: 16px; z-index: 1000000; box-shadow: 0 4px 8px rgba(0,0,0,0.3); opacity: 0; transition: opacity 0.3s, transform 0.4s; pointer-events: none; min-width: 300px; text-align: center;\"><\/div>\r\n\r\n<div style=\"width: 100%;\">\r\n  <div id=\"response-buttons\" style=\"display: flex; justify-content: space-between; align-items: center; width: 100%; overflow-x: hidden;\">\r\n    <button id=\"yes\" class=\"response-btn\" type=\"button\">Oui<\/button>\r\n    <button id=\"maybe\" class=\"response-btn\" type=\"button\">Peut-\u00eatre<\/button>\r\n    <button id=\"no\" class=\"response-btn\" type=\"button\">Non<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .response-btn {\r\n    flex: 1;\r\n    height: 42px;\r\n    padding: 10px 0;\r\n    margin: 0 5px;\r\n    border: 1px solid #000000;\r\n    border-radius: 0;\r\n    cursor: pointer;\r\n    font-weight: bold;\r\n    transition: all 0.3s ease;\r\n    background-color: #C7141E;\r\n    color: #ffffff;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .response-btn:hover {\r\n    background-color: #000000 !important;\r\n    color: #ffffff !important;\r\n    border-color: #000000 !important;\r\n  }\r\n\r\n  .response-btn.selected-response {\r\n    background-color: #C7141E !important;\r\n    color: #ffffff !important;\r\n    border-color: #C7141E !important;\r\n  }\r\n\r\n  .response-btn:disabled {\r\n    opacity: 0.6;\r\n    cursor: not-allowed;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  const RSVP_EVENT_ID = \"bt6\";\r\n  const RSVP_API_BASE_URL = \"https:\/\/e-invite.zen-apps.com\/api\";\r\n\r\n  const VERIFY_RESPONSE_API_URL = \"https:\/\/golf.beaufort.cm\/inscription\/invitation\/api\/index.php\/reponse-verifie\";\r\n\r\n  const STATUS_MAPPING = {\r\n    yes: \"confirmed\",\r\n    maybe: \"maybe\",\r\n    no: \"declined\"\r\n  };\r\n\r\n  const REVERSE_STATUS_MAPPING = {\r\n    confirmed: \"yes\",\r\n    maybe: \"maybe\",\r\n    declined: \"no\"\r\n  };\r\n\r\n  const TRANSLATIONS = {\r\n    fr: {\r\n      yes: \"Oui\",\r\n      maybe: \"Peut-\u00eatre\",\r\n      no: \"Non\",\r\n      missingCode: \"Code invit\u00e9 introuvable dans l'URL.\",\r\n      sending: \"Envoi de votre r\u00e9ponse...\",\r\n      saveError: \"Une erreur est survenue lors de l'enregistrement.\",\r\n      alreadyAnswered: \"Vous avez d\u00e9j\u00e0 r\u00e9pondu \u00e0 cette invitation.\",\r\n      confirmedMessage: \"Merci d'avoir confirm\u00e9 votre pr\u00e9sence !\",\r\n      maybeMessage: \"Nous esp\u00e9rons que vous pourrez vous joindre \u00e0 nous !\",\r\n      declinedMessage: \"Nous sommes d\u00e9sol\u00e9s que vous ne puissiez pas venir.\"\r\n    }\r\n  };\r\n\r\n  let currentLang = \"fr\";\r\n  let alreadyAnswered = false;\r\n\r\n  function getInviteCode() {\r\n    const search = window.location.search;\r\n\r\n    if (!search || !search.startsWith(\"?\")) {\r\n      return \"\";\r\n    }\r\n\r\n    const rawQuery = search.substring(1);\r\n    const params = new URLSearchParams(rawQuery);\r\n\r\n    const possibleKeys = [\r\n      \"contact_id\",\r\n      \"invite_code\",\r\n      \"code\",\r\n      \"id\"\r\n    ];\r\n\r\n    for (const key of possibleKeys) {\r\n      const value = params.get(key);\r\n\r\n      if (value) {\r\n        return sanitizeInviteCode(value);\r\n      }\r\n    }\r\n\r\n    const firstPart = rawQuery.split(\"&\")[0];\r\n\r\n    if (firstPart.includes(\"=\")) {\r\n      return sanitizeInviteCode(firstPart.split(\"=\")[1]);\r\n    }\r\n\r\n    return sanitizeInviteCode(firstPart);\r\n  }\r\n\r\n  function sanitizeInviteCode(value) {\r\n    return String(value || \"\")\r\n      .trim()\r\n      .replace(\/[^a-zA-Z0-9_-]\/g, \"\");\r\n  }\r\n\r\n  function showToast(message, duration = 5000) {\r\n    const toast = document.getElementById(\"toast\");\r\n\r\n    toast.textContent = message;\r\n    toast.style.opacity = \"1\";\r\n    toast.style.transform = \"translateX(-50%) translateY(0)\";\r\n\r\n    setTimeout(() => {\r\n      toast.style.opacity = \"0\";\r\n      toast.style.transform = \"translateX(-50%) translateY(20px)\";\r\n    }, duration);\r\n  }\r\n\r\n  async function verifyExistingGolfResponse(inviteCode) {\r\n    const cleanInviteCode = sanitizeInviteCode(inviteCode);\r\n\r\n    const response = await fetch(`${VERIFY_RESPONSE_API_URL}?code=${encodeURIComponent(cleanInviteCode)}`, {\r\n      method: \"GET\",\r\n      headers: {\r\n        \"Accept\": \"application\/json\"\r\n      }\r\n    });\r\n\r\n    if (!response.ok) {\r\n      throw new Error(\"Erreur v\u00e9rification r\u00e9ponse\");\r\n    }\r\n\r\n    return await response.json();\r\n  }\r\n\r\n  async function updateOldRsvpStatus(inviteCode, status) {\r\n    const cleanInviteCode = sanitizeInviteCode(inviteCode);\r\n\r\n    const response = await fetch(`${RSVP_API_BASE_URL}\/update-response-status`, {\r\n      method: \"POST\",\r\n      headers: {\r\n        \"Content-Type\": \"application\/json\",\r\n        \"Accept\": \"application\/json\"\r\n      },\r\n      body: JSON.stringify({\r\n        event_id: RSVP_EVENT_ID,\r\n        contact_id: cleanInviteCode,\r\n        status: status\r\n      })\r\n    });\r\n\r\n    if (!response.ok) {\r\n      throw new Error(\"Erreur ancien RSVP\");\r\n    }\r\n\r\n    return await response.json();\r\n  }\r\n\r\n  function setButtonsDisabled(disabled) {\r\n    document.getElementById(\"yes\").disabled = disabled;\r\n    document.getElementById(\"maybe\").disabled = disabled;\r\n    document.getElementById(\"no\").disabled = disabled;\r\n  }\r\n\r\n  function clearSelectedButtons() {\r\n    document.querySelectorAll(\".response-btn\").forEach(button => {\r\n      button.classList.remove(\"selected-response\");\r\n    });\r\n  }\r\n\r\n  function markExistingResponse(responseStatus) {\r\n    clearSelectedButtons();\r\n\r\n    const buttonId = REVERSE_STATUS_MAPPING[responseStatus];\r\n\r\n    if (buttonId && document.getElementById(buttonId)) {\r\n      document.getElementById(buttonId).classList.add(\"selected-response\");\r\n    }\r\n  }\r\n\r\n  async function submitResponse(inviteCode, status) {\r\n    if (alreadyAnswered) {\r\n      showToast(TRANSLATIONS[currentLang].alreadyAnswered);\r\n      return;\r\n    }\r\n\r\n    try {\r\n      setButtonsDisabled(true);\r\n      showToast(TRANSLATIONS[currentLang].sending);\r\n\r\n      await updateOldRsvpStatus(inviteCode, status);\r\n\r\n      clearSelectedButtons();\r\n      document.getElementById(status).classList.add(\"selected-response\");\r\n\r\n      alreadyAnswered = true;\r\n\r\n      const successMessages = {\r\n        yes: TRANSLATIONS[currentLang].confirmedMessage,\r\n        maybe: TRANSLATIONS[currentLang].maybeMessage,\r\n        no: TRANSLATIONS[currentLang].declinedMessage\r\n      };\r\n\r\n      showToast(successMessages[status]);\r\n\r\n    } catch (error) {\r\n      console.error(error);\r\n      showToast(TRANSLATIONS[currentLang].saveError);\r\n      setButtonsDisabled(false);\r\n    }\r\n  }\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", async function () {\r\n    const inviteCode = getInviteCode();\r\n\r\n    setButtonsDisabled(true);\r\n\r\n    if (!inviteCode) {\r\n      showToast(TRANSLATIONS[currentLang].missingCode);\r\n      return;\r\n    }\r\n\r\n    try {\r\n      const verification = await verifyExistingGolfResponse(inviteCode);\r\n\r\n      if (verification && verification.success && verification.has_response) {\r\n        alreadyAnswered = true;\r\n        setButtonsDisabled(true);\r\n\r\n        const existingStatus = verification.data?.reponse_status;\r\n\r\n        if (existingStatus) {\r\n          markExistingResponse(existingStatus);\r\n        }\r\n\r\n        showToast(TRANSLATIONS[currentLang].alreadyAnswered);\r\n        return;\r\n      }\r\n\r\n      alreadyAnswered = false;\r\n      setButtonsDisabled(false);\r\n\r\n    } catch (error) {\r\n      console.error(error);\r\n      alreadyAnswered = false;\r\n      setButtonsDisabled(false);\r\n    }\r\n\r\n    document.getElementById(\"yes\").addEventListener(\"click\", function () {\r\n      submitResponse(inviteCode, \"yes\");\r\n    });\r\n\r\n    document.getElementById(\"maybe\").addEventListener(\"click\", function () {\r\n      submitResponse(inviteCode, \"maybe\");\r\n    });\r\n\r\n    document.getElementById(\"no\").addEventListener(\"click\", function () {\r\n      submitResponse(inviteCode, \"no\");\r\n    });\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f753a2e elementor-countdown--label-block elementor-widget elementor-widget-countdown\" data-id=\"2f753a2e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"countdown.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-countdown-wrapper\" data-date=\"1781632800\">\n\t\t\t<div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-days\"><\/span> <span class=\"elementor-countdown-label\">Jours<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-hours\"><\/span> <span class=\"elementor-countdown-label\">Heures<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-minutes\"><\/span> <span class=\"elementor-countdown-label\">Minutes<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-seconds\"><\/span> <span class=\"elementor-countdown-label\">Secondes<\/span><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-10a6a19a e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"10a6a19a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-31a42a28 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"31a42a28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">AU PROGRAMME<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ad17a40 e-n-tabs-none elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"2ad17a40\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal_mobile&quot;:&quot;stretch&quot;,&quot;horizontal_scroll_mobile&quot;:&quot;enable&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"718371392\" aria-label=\"Onglets. Ouvrez des \u00e9l\u00e9ments avec Entrer ou Espace, fermez-les avec Echape et naviguez \u00e0 l&#039;aide des touches fl\u00e9ch\u00e9es.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-7183713921\" data-tab-title-id=\"e-n-tab-title-7183713921\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-7183713921\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tVendredi 12 Juin\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-7183713922\" data-tab-title-id=\"e-n-tab-title-7183713922\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-7183713922\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tSamedi 13 Juin\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-7183713921\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-7183713921\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-5cbcf7be e-con-full e-flex e-con e-child\" data-id=\"5cbcf7be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ab61920 elementor-mobile-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"6ab61920\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">07h00 : Petit-D\u00e9jeuner<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">07h30 : D\u00e9but comp\u00e9tition amateurs<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">09h - 14h : Initiation Golf au pratice<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">13h00 : Comp\u00e9tition Jeunes<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2108a0fe elementor-icon-list--layout-inline elementor-mobile-align-start elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"2108a0fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\"><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">16h00 : Remise de prix aux jeunes<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-7183713922\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-7183713922\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-3f890b2d e-con-full e-flex e-con e-child\" data-id=\"3f890b2d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5b27f019 elementor-mobile-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"5b27f019\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">07h00 : Petit-D\u00e9jeuner<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">07h30 : D\u00e9but comp\u00e9tition amateurs<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"31\" viewBox=\"0 0 13 31\" fill=\"none\"><line x1=\"6.5\" y1=\"13\" x2=\"6.5\" y2=\"31\" stroke=\"black\"><\/line><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">09h-14h : Initiation Golf au practice<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a9d6977 elementor-icon-list--layout-inline elementor-mobile-align-start elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"3a9d6977\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\"><rect width=\"13\" height=\"13\" rx=\"6.5\" fill=\"black\"><\/rect><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">18h00 : Cocktail Dinatoire<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d033212 elementor-widget elementor-widget-html\" data-id=\"7d033212\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"bgt-programme-widget\">\r\n  <div class=\"bgt-programme-title\">AU PROGRAMME<\/div>\r\n\r\n  <div class=\"bgt-programme-card\">\r\n    <div class=\"bgt-programme-tabs\">\r\n      <button class=\"bgt-tab bgt-tab-active\" type=\"button\" data-day=\"friday\">\r\n        Vendredi 12 Juin\r\n      <\/button>\r\n\r\n      <button class=\"bgt-tab\" type=\"button\" data-day=\"saturday\">\r\n        Samedi 13 Juin\r\n      <\/button>\r\n    <\/div>\r\n\r\n    <div class=\"bgt-programme-content\">\r\n      <div class=\"bgt-timeline\" id=\"bgtTimeline\">\r\n        <div class=\"bgt-timeline-item\">\r\n          <div class=\"bgt-dot\"><\/div>\r\n          <div class=\"bgt-event-text\">07h00 : Petit-D\u00e9jeuner<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"bgt-line\"><\/div>\r\n\r\n        <div class=\"bgt-timeline-item\">\r\n          <div class=\"bgt-dot\"><\/div>\r\n          <div class=\"bgt-event-text\">07h30 : D\u00e9but comp\u00e9tition amateurs<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"bgt-line\"><\/div>\r\n\r\n        <div class=\"bgt-timeline-item\">\r\n          <div class=\"bgt-dot\"><\/div>\r\n          <div class=\"bgt-event-text\">09h - 14h : Initiation Golf au practice<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"bgt-line\"><\/div>\r\n\r\n        <div class=\"bgt-timeline-item\">\r\n          <div class=\"bgt-dot\"><\/div>\r\n          <div class=\"bgt-event-text\">13h00 : Comp\u00e9tition Jeunes<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"bgt-line\"><\/div>\r\n\r\n        <div class=\"bgt-timeline-item\">\r\n          <div class=\"bgt-dot\"><\/div>\r\n          <div class=\"bgt-event-text\">16h00 : Remise de prix aux jeunes<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .bgt-programme-widget {\r\n    width: 100%;\r\n    max-width: 780px;\r\n    margin: 0 auto;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 18px;\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .bgt-programme-title {\r\n    width: 100%;\r\n    text-align: center;\r\n    color: #B38634;\r\n    font-size: 22px;\r\n    font-weight: 500;\r\n    line-height: 22px;\r\n    word-wrap: break-word;\r\n  }\r\n\r\n  .bgt-programme-card {\r\n    width: 100%;\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .bgt-programme-tabs {\r\n    width: 100%;\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n\r\n  .bgt-tab {\r\n    flex: 1 1 0;\r\n    height: 38px;\r\n    padding: 6px 15px;\r\n    box-sizing: border-box;\r\n    overflow: hidden;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    gap: 10px;\r\n\r\n    border: none;\r\n    border-radius: 0;\r\n    outline: none;\r\n    background: transparent !important;\r\n\r\n    text-align: center;\r\n    color: #002F25;\r\n    font-size: 20px;\r\n    font-weight: 500;\r\n    line-height: 20px;\r\n    word-wrap: break-word;\r\n\r\n    cursor: pointer;\r\n    box-shadow: none;\r\n  }\r\n\r\n  .bgt-tab:hover,\r\n  .bgt-tab:focus {\r\n    background: transparent !important;\r\n    color: #002F25 !important;\r\n    outline: none;\r\n    box-shadow: none;\r\n  }\r\n\r\n  .bgt-tab-active,\r\n  .bgt-tab-active:hover,\r\n  .bgt-tab-active:focus {\r\n    background: #002F25 !important;\r\n    color: #ffffff !important;\r\n  }\r\n\r\n  .bgt-programme-content {\r\n    width: 100%;\r\n    background: #ffffff;\r\n    padding: 34px 32px;\r\n    box-sizing: border-box;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .bgt-timeline {\r\n    width: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n  }\r\n\r\n  .bgt-timeline-item {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 20px;\r\n    width: 100%;\r\n  }\r\n\r\n  .bgt-dot {\r\n    width: 26px;\r\n    height: 26px;\r\n    min-width: 26px;\r\n    background: #000000;\r\n    border-radius: 50%;\r\n  }\r\n\r\n  .bgt-line {\r\n    width: 2px;\r\n    height: 34px;\r\n    background: #000000;\r\n    margin-left: 12px;\r\n  }\r\n\r\n  .bgt-event-text {\r\n    color: #002F25;\r\n    font-size: 32px;\r\n    font-weight: 400;\r\n    line-height: 1.2;\r\n    word-wrap: break-word;\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    .bgt-programme-widget {\r\n      max-width: 100%;\r\n    }\r\n\r\n    .bgt-programme-content {\r\n      padding: 24px 20px;\r\n    }\r\n\r\n    .bgt-tab {\r\n      font-size: 18px;\r\n      line-height: 18px;\r\n      padding: 6px 10px;\r\n    }\r\n\r\n    .bgt-event-text {\r\n      font-size: 22px;\r\n    }\r\n\r\n    .bgt-dot {\r\n      width: 20px;\r\n      height: 20px;\r\n      min-width: 20px;\r\n    }\r\n\r\n    .bgt-line {\r\n      height: 28px;\r\n      margin-left: 9px;\r\n    }\r\n\r\n    .bgt-timeline-item {\r\n      gap: 14px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 480px) {\r\n    .bgt-programme-title {\r\n      font-size: 22px;\r\n      line-height: 22px;\r\n    }\r\n\r\n    .bgt-tab {\r\n      font-size: 16px;\r\n      line-height: 16px;\r\n      height: 38px;\r\n    }\r\n\r\n    .bgt-programme-content {\r\n      padding: 20px 16px;\r\n    }\r\n\r\n    .bgt-event-text {\r\n      font-size: 16px;\r\n      line-height: 18px;\r\n    }\r\n\r\n    .bgt-dot {\r\n      width: 13px;\r\n      height: 13px;\r\n      min-width: 13px;\r\n    }\r\n\r\n    .bgt-line {\r\n      width: 1px;\r\n      height: 18px;\r\n      margin-left: 6px;\r\n    }\r\n\r\n    .bgt-timeline-item {\r\n      gap: 10px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  (function () {\r\n    const programmes = {\r\n      friday: [\r\n        \"07h00 : Petit-D\u00e9jeuner\",\r\n        \"07h30 : D\u00e9but comp\u00e9tition amateurs\",\r\n        \"09h - 14h : Initiation Golf au practice\",\r\n        \"13h00 : Comp\u00e9tition Jeunes\",\r\n        \"16h00 : Remise de prix aux jeunes\"\r\n      ],\r\n      saturday: [\r\n        \"07h00 : Petit-D\u00e9jeuner\",\r\n        \"07h30 : D\u00e9but comp\u00e9tition amateurs\",\r\n        \"09h-14h : Initiation Golf au practice\",\r\n        \"18h00 : Cocktail Dinatoire\"\r\n      ]\r\n    };\r\n\r\n    function renderProgramme(day) {\r\n      const timeline = document.getElementById(\"bgtTimeline\");\r\n\r\n      if (!timeline || !programmes[day]) {\r\n        return;\r\n      }\r\n\r\n      timeline.innerHTML = \"\";\r\n\r\n      programmes[day].forEach(function (item, index) {\r\n        const timelineItem = document.createElement(\"div\");\r\n        timelineItem.className = \"bgt-timeline-item\";\r\n\r\n        const dot = document.createElement(\"div\");\r\n        dot.className = \"bgt-dot\";\r\n\r\n        const text = document.createElement(\"div\");\r\n        text.className = \"bgt-event-text\";\r\n        text.textContent = item;\r\n\r\n        timelineItem.appendChild(dot);\r\n        timelineItem.appendChild(text);\r\n        timeline.appendChild(timelineItem);\r\n\r\n        if (index < programmes[day].length - 1) {\r\n          const line = document.createElement(\"div\");\r\n          line.className = \"bgt-line\";\r\n          timeline.appendChild(line);\r\n        }\r\n      });\r\n    }\r\n\r\n    function initProgrammeTabs() {\r\n      const tabs = document.querySelectorAll(\".bgt-tab\");\r\n\r\n      if (!tabs.length) {\r\n        return;\r\n      }\r\n\r\n      tabs.forEach(function (tab) {\r\n        tab.addEventListener(\"click\", function () {\r\n          const selectedDay = tab.getAttribute(\"data-day\");\r\n\r\n          tabs.forEach(function (item) {\r\n            item.classList.remove(\"bgt-tab-active\");\r\n          });\r\n\r\n          tab.classList.add(\"bgt-tab-active\");\r\n          renderProgramme(selectedDay);\r\n        });\r\n      });\r\n\r\n      renderProgramme(\"friday\");\r\n    }\r\n\r\n    if (document.readyState === \"loading\") {\r\n      document.addEventListener(\"DOMContentLoaded\", initProgrammeTabs);\r\n    } else {\r\n      initProgrammeTabs();\r\n    }\r\n  })();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-59cb6cbb e-con-full e-flex e-con e-child\" data-id=\"59cb6cbb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41a3adad elementor-widget elementor-widget-heading\" data-id=\"41a3adad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vis le sport plus fort !<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-570d2978 elementor-widget elementor-widget-text-editor\" data-id=\"570d2978\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Rendez-vous pour une exp\u00e9rience o\u00f9 ceux qui comprennent le jeu font la diff\u00e9rence.<br \/><br \/>Entre vibes, d\u00e9fis et moments impr\u00e9visibles, viens montrer que tu vois plus loin que les autres<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1b118bd e-con-full e-flex e-con e-child\" data-id=\"1b118bd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c0ae08 elementor-mobile-align-left elementor-widget elementor-widget-button\" data-id=\"6c0ae08\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.betclic.cm\/\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-angle-right\" viewBox=\"0 0 256 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Rejoins<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-206888d e-con-full e-flex e-con e-child\" data-id=\"206888d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8b51693 elementor-widget elementor-widget-heading\" data-id=\"8b51693\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00c7a se passe ici !<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3269a78f elementor-list-item-link-inline elementor-icon-list--layout-inline elementor-widget elementor-widget-icon-list\" data-id=\"3269a78f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-location-arrow\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">The Yard, Bonapriso<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-calendar\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Mardi 16 juin<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3962fd42 elementor-widget elementor-widget-google_maps\" data-id=\"3962fd42\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"google_maps.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-custom-embed\">\n\t\t\t<iframe loading=\"lazy\"\n\t\t\t\t\tsrc=\"https:\/\/maps.google.com\/maps?q=Cameroun%2C%20Douala%20Yard%20Bonapriso&#038;t=m&#038;z=12&#038;output=embed&#038;iwloc=near\"\n\t\t\t\t\ttitle=\"Cameroun, Douala Yard Bonapriso\"\n\t\t\t\t\taria-label=\"Cameroun, Douala Yard Bonapriso\"\n\t\t\t><\/iframe>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e970359 e-con-full e-flex e-con e-child\" data-id=\"e970359\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34e08684 elementor-widget elementor-widget-heading\" data-id=\"34e08684\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ton code d\u2019acc\u00e8s unique <\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7bf83217 e-con-full e-flex e-con e-child\" data-id=\"7bf83217\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-2d72cf83 e-con-full e-flex e-con e-child\" data-id=\"2d72cf83\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-621308b5 e-con-full e-flex e-con e-child\" data-id=\"621308b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28e54e0f elementor-widget elementor-widget-heading\" data-id=\"28e54e0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Code :<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d4af1 e-con-full e-flex e-con e-child\" data-id=\"4d4af1\" data-element_type=\"container\" data-e-type=\"container\" id=\"invite-code-display\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3daf583d elementor-widget elementor-widget-html\" data-id=\"3daf583d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PARTIE 5: Affichage du code invit\u00e9 -->\r\n<div\r\n    style=\"\r\n        width: 100%;\r\n        max-width: none;\r\n        margin: 0 auto;\r\n        padding: 0;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        text-align: center;\r\n        box-sizing: border-box;\r\n    \"\r\n>\r\n    <div \r\n        style=\"\r\n            color: #BB161E;\r\n            font-size: 25px;\r\n            font-family: Inter, Arial, sans-serif;\r\n            font-weight: 700;\r\n            line-height: 1.2;\r\n            word-wrap: break-word;\r\n            margin: 0 auto;\r\n            padding: 0;\r\n            text-align: center;\r\n            width: 100%;\r\n            display: block;\r\n            box-sizing: border-box;\r\n        \">\r\n        <span \r\n            id=\"invite-code-display\"\r\n            style=\"color: #00000;font-weight:bold;\"\r\n        ><\/span>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Script pour la partie 5: Affichage du code invit\u00e9 -->\r\n<script>\r\n    const INVITE_CODE_EVENT_ID = \"bt6\";\r\n\r\n    function getInviteCode() {\r\n        const queryString = window.location.search;\r\n\r\n        if (!queryString.startsWith('?')) {\r\n            return '';\r\n        }\r\n\r\n        const cleanCode = queryString\r\n            .substring(1)\r\n            .split('&')\r\n            .filter(function(item) {\r\n                return item && !item.startsWith('NO_FRAME=');\r\n            })\r\n            .shift();\r\n\r\n        return cleanCode ? cleanCode.trim() : '';\r\n    }\r\n\r\n    function displayInviteCode() {\r\n        const inviteCode = getInviteCode();\r\n\r\n        if (inviteCode) {\r\n            const displayElement = document.getElementById('invite-code-display');\r\n            displayElement.textContent = inviteCode.toUpperCase();\r\n            displayElement.style.color = '#00000';\r\n            displayElement.style.fontWeight = \"bold\";\r\n        }\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        displayInviteCode();\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b62393f elementor-widget elementor-widget-text-editor\" data-id=\"5b62393f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Pr\u00e9sente ce QR code \u00e0 l\u2019entr\u00e9e pour acc\u00e9der \u00e0 l\u2019\u00e9v\u00e9nement.<\/p><p data-start=\"56\" data-end=\"80\"><strong data-start=\"56\" data-end=\"80\">ON A PARI\u00c9 SUR TOI !<\/strong><\/p><p data-start=\"82\" data-end=\"251\" data-is-last-node=\"\" data-is-only-node=\"\">\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c27cfce e-con-full e-flex e-con e-child\" data-id=\"3c27cfce\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3a369653 elementor-widget-mobile__width-initial elementor-widget elementor-widget-html\" data-id=\"3a369653\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PARTIE 4: G\u00e9n\u00e9ration de QR Code -->\r\n<!--<div style=\"text-align: center; margin: 0; padding: 0; width: 100%;\">-->\r\n<!--    <div -->\r\n<!--        id=\"qrcode-container\" -->\r\n<!--        style=\"-->\r\n<!--            display: flex;-->\r\n<!--            justify-content: center;-->\r\n<!--            align-items: center;-->\r\n<!--            width: 200px;-->\r\n<!--            height: 200px;-->\r\n<!--            margin: 0 auto;-->\r\n<!--            padding: 0;-->\r\n<!--            cursor: pointer;-->\r\n<!--            overflow: hidden;-->\r\n<!--        \">-->\r\n<!--    <\/div>-->\r\n<!--<\/div>-->\r\n\r\n<!-- Script pour la partie 4: G\u00e9n\u00e9ration de QR Code -->\r\n<!--<script>-->\r\n<!--    const QR_EVENT_ID = \"bgt\";-->\r\n\r\n<!--    function getQrGuestCode() {-->\r\n<!--        const queryString = window.location.search;-->\r\n\r\n<!--        if (queryString.startsWith('?')) {-->\r\n<!--            return queryString-->\r\n<!--                .substring(1)-->\r\n<!--                .split('&')[0]-->\r\n<!--                .trim();-->\r\n<!--        }-->\r\n\r\n<!--        return '';-->\r\n<!--    }-->\r\n\r\n<!--    function generateQRCode(text) {-->\r\n<!--        const container = document.getElementById('qrcode-container');-->\r\n<!--        container.innerHTML = '';-->\r\n\r\n<!--        const qr = document.createElement('img');-->\r\n<!--        qr.src = `https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=102x102&data=${encodeURIComponent(text)}`;-->\r\n<!--        qr.alt = \"QR Code\";-->\r\n\r\n<!--        qr.style.width = \"250px\";-->\r\n<!--        qr.style.height = \"250px\";-->\r\n<!--        qr.style.display = \"block\";-->\r\n<!--        qr.style.margin = \"0 auto\";-->\r\n<!--        qr.style.borderRadius = \"0\";-->\r\n<!--        qr.style.boxShadow = \"none\";-->\r\n\r\n<!--        container.appendChild(qr);-->\r\n<!--    }-->\r\n\r\n<!--    document.addEventListener('DOMContentLoaded', function() {-->\r\n<!--        const contactId = getQrGuestCode();-->\r\n\r\n<!--        if (contactId) {-->\r\n<!--            generateQRCode(contactId);-->\r\n<!--        }-->\r\n<!--    });-->\r\n<!--<\/script>-->\r\n\r\n\r\n<!-- PARTIE 4: G\u00e9n\u00e9ration de QR Code -->\r\n<!--<div style=\"text-align: center; margin: 0; padding: 0; width: 100%;\">-->\r\n<!--    <div -->\r\n<!--        id=\"qrcode-container\" -->\r\n<!--        style=\"-->\r\n<!--            width: 103.07px;-->\r\n<!--            height: 101.45px;-->\r\n<!--            min-width: 103.07px;-->\r\n<!--            position: relative;-->\r\n<!--            overflow: hidden;-->\r\n<!--            outline: 1.08px solid white;-->\r\n<!--            outline-offset: -0.54px;-->\r\n<!--            background: white;-->\r\n<!--            display: flex;-->\r\n<!--            justify-content: center;-->\r\n<!--            align-items: center;-->\r\n<!--            margin: 0 auto;-->\r\n<!--            padding: 0;-->\r\n<!--            cursor: pointer;-->\r\n<!--            box-sizing: border-box;-->\r\n<!--        \">-->\r\n<!--    <\/div>-->\r\n<!--<\/div>-->\r\n\r\n<!-- Script pour la partie 4: G\u00e9n\u00e9ration de QR Code -->\r\n<!--<script>-->\r\n<!--    const QR_EVENT_ID = \"bgt\";-->\r\n\r\n<!--    function getQrGuestCode() {-->\r\n<!--        const queryString = window.location.search;-->\r\n\r\n<!--        if (queryString.startsWith('?')) {-->\r\n<!--            return queryString-->\r\n<!--                .substring(1)-->\r\n<!--                .split('&')[0]-->\r\n<!--                .trim();-->\r\n<!--        }-->\r\n\r\n<!--        return '';-->\r\n<!--    }-->\r\n\r\n<!--    function generateQRCode(text) {-->\r\n<!--        const container = document.getElementById('qrcode-container');-->\r\n<!--        container.innerHTML = '';-->\r\n\r\n<!--        const qr = document.createElement('img');-->\r\n<!--        qr.src = `https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=102x102&margin=0&data=${encodeURIComponent(text)}`;-->\r\n<!--        qr.alt = \"QR Code\";-->\r\n\r\n<!--        qr.style.width = \"101.92px\";-->\r\n<!--        qr.style.height = \"101.97px\";-->\r\n<!--        qr.style.display = \"block\";-->\r\n<!--        qr.style.margin = \"0 auto\";-->\r\n<!--        qr.style.borderRadius = \"0\";-->\r\n<!--        qr.style.boxShadow = \"none\";-->\r\n\r\n<!--        container.appendChild(qr);-->\r\n<!--    }-->\r\n\r\n<!--    document.addEventListener('DOMContentLoaded', function() {-->\r\n<!--        const contactId = getQrGuestCode();-->\r\n\r\n<!--        if (contactId) {-->\r\n<!--            generateQRCode(contactId);-->\r\n<!--        }-->\r\n<!--    });-->\r\n<!--<\/script>-->\r\n\r\n\r\n<div style=\"text-align: center; margin: 0; padding: 0; width: 100%;\">\r\n  <div\r\n    id=\"qrcode-container\"\r\n    style=\"\r\n      width: 103.07px;\r\n      height: 101.45px;\r\n      min-width: 103.07px;\r\n      position: relative;\r\n      overflow: hidden;\r\n      outline: 1.08px solid white;\r\n      outline-offset: -0.54px;\r\n      background: white;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      margin: 0 auto;\r\n      padding: 0;\r\n      cursor: pointer;\r\n      box-sizing: border-box;\r\n    \">\r\n  <\/div>\r\n\r\n  <button\r\n    id=\"openQrPopupBtn\"\r\n    type=\"button\"\r\n    style=\"\r\n      margin-top: 8px;\r\n      width: 103.07px;\r\n      height: 28px;\r\n      border: none;\r\n      background: #BB161E;\r\n      color: #ffff;\r\n      font-size: 11px;\r\n      font-weight: bold;\r\n      cursor: pointer;\r\n      text-align: center;\r\n      padding: 0;\r\n      box-sizing: border-box;\r\n    \">\r\n    Clique ici\r\n  <\/button>\r\n<\/div>\r\n\r\n<div\r\n  id=\"qrPopupOverlay\"\r\n  style=\"\r\n    position: fixed;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100vh;\r\n    background: rgba(0, 0, 0, 0.65);\r\n    display: none;\r\n    align-items: center;\r\n    justify-content: center;\r\n    z-index: 9999999;\r\n    padding: 20px;\r\n    box-sizing: border-box;\r\n  \">\r\n\r\n  <div\r\n    style=\"\r\n      position: relative;\r\n      background: #ffffff;\r\n      padding: 28px;\r\n      box-sizing: border-box;\r\n      max-width: 90vw;\r\n      max-height: 90vh;\r\n    \">\r\n\r\n    <button\r\n      id=\"closeQrPopupBtn\"\r\n      type=\"button\"\r\n      style=\"\r\n        position: absolute;\r\n        top: -14px;\r\n        right: -14px;\r\n        width: 34px;\r\n        height: 34px;\r\n        border: none;\r\n        border-radius: 50%;\r\n        background: #BB161E;\r\n        color: #ffffff;\r\n        font-size: 24px;\r\n        line-height: 34px;\r\n        cursor: pointer;\r\n        padding: 0;\r\n      \">\r\n      \u00d7\r\n    <\/button>\r\n\r\n    <div\r\n      id=\"qrcode-popup-container\"\r\n      style=\"\r\n        width: 280px;\r\n        height: 280px;\r\n        background: #ffffff;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n      \">\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n  const QR_EVENT_ID = \"bt6\";\r\n\r\n  function getQrGuestCode() {\r\n    const queryString = window.location.search;\r\n\r\n    if (queryString.startsWith(\"?\")) {\r\n      return queryString\r\n        .substring(1)\r\n        .split(\"&\")[0]\r\n        .trim();\r\n    }\r\n\r\n    return \"\";\r\n  }\r\n\r\n  function generateQRCode(text) {\r\n    const container = document.getElementById(\"qrcode-container\");\r\n    container.innerHTML = \"\";\r\n\r\n    const qr = document.createElement(\"img\");\r\n    qr.src = `https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=102x102&margin=0&data=${encodeURIComponent(text)}`;\r\n    qr.alt = \"QR Code\";\r\n\r\n    qr.style.width = \"101.92px\";\r\n    qr.style.height = \"101.97px\";\r\n    qr.style.display = \"block\";\r\n    qr.style.margin = \"0 auto\";\r\n    qr.style.borderRadius = \"0\";\r\n    qr.style.boxShadow = \"none\";\r\n\r\n    container.appendChild(qr);\r\n  }\r\n\r\n  function generateBigQRCode(text) {\r\n    const popupContainer = document.getElementById(\"qrcode-popup-container\");\r\n    popupContainer.innerHTML = \"\";\r\n\r\n    const qr = document.createElement(\"img\");\r\n    qr.src = `https:\/\/api.qrserver.com\/v1\/create-qr-code\/?size=280x280&margin=0&data=${encodeURIComponent(text)}`;\r\n    qr.alt = \"QR Code agrandi\";\r\n\r\n    qr.style.width = \"280px\";\r\n    qr.style.height = \"280px\";\r\n    qr.style.display = \"block\";\r\n    qr.style.margin = \"0 auto\";\r\n    qr.style.borderRadius = \"0\";\r\n    qr.style.boxShadow = \"none\";\r\n\r\n    popupContainer.appendChild(qr);\r\n  }\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", function () {\r\n    const contactId = getQrGuestCode();\r\n\r\n    const qrContainer = document.getElementById(\"qrcode-container\");\r\n    const openQrPopupBtn = document.getElementById(\"openQrPopupBtn\");\r\n    const qrPopupOverlay = document.getElementById(\"qrPopupOverlay\");\r\n    const closeQrPopupBtn = document.getElementById(\"closeQrPopupBtn\");\r\n\r\n    if (contactId) {\r\n      generateQRCode(contactId);\r\n      generateBigQRCode(contactId);\r\n    }\r\n\r\n    function openQrPopup() {\r\n      if (!contactId) {\r\n        return;\r\n      }\r\n\r\n      qrPopupOverlay.style.display = \"flex\";\r\n    }\r\n\r\n    function closeQrPopup() {\r\n      qrPopupOverlay.style.display = \"none\";\r\n    }\r\n\r\n    qrContainer.addEventListener(\"click\", openQrPopup);\r\n    openQrPopupBtn.addEventListener(\"click\", openQrPopup);\r\n    closeQrPopupBtn.addEventListener(\"click\", closeQrPopup);\r\n\r\n    qrPopupOverlay.addEventListener(\"click\", function (event) {\r\n      if (event.target === qrPopupOverlay) {\r\n        closeQrPopup();\r\n      }\r\n    });\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-16c26192 e-con-full e-flex e-con e-child\" data-id=\"16c26192\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a77e5b5 elementor-widget elementor-widget-image\" data-id=\"4a77e5b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.betclic.cm\/\" target=\"_blank\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"385\" height=\"131\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/telechargement-1.png\" class=\"attachment-full size-full wp-image-22\" alt=\"\" srcset=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/telechargement-1.png 385w, https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/telechargement-1-300x102.png 300w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-694a61f1 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"694a61f1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-49a931b4 elementor-widget elementor-widget-image\" data-id=\"49a931b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"188\" src=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/Frame-1000004521-1-1024x240.png\" class=\"attachment-large size-large wp-image-24\" alt=\"\" srcset=\"https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/Frame-1000004521-1-1024x240.png 1024w, https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/Frame-1000004521-1-300x70.png 300w, https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/Frame-1000004521-1-768x180.png 768w, https:\/\/betclic.pass.cm\/wp-content\/uploads\/2026\/06\/Frame-1000004521-1.png 1242w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-392b1083 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"392b1083\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-312e67 elementor-mobile-align-center elementor-widget elementor-widget-button\" data-id=\"312e67\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/wa.me\/237651409409?text=Invitation-Heineken\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Cliquez ici pour recevoir votre e-Invitation via WhatsApp<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-67f74b0c elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"67f74b0c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c43d22d elementor-widget elementor-widget-heading\" data-id=\"5c43d22d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Votre e-invitation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20caaf47 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"20caaf47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PARTIE 1: G\u00e9n\u00e9ration d'image personnalis\u00e9e -->\n        <div style=\"margin-bottom: 20px;\">\n            <!-- Conteneur pour l'image g\u00e9n\u00e9r\u00e9e -->\n            <div id=\"image-container\" style=\"text-align: center;\">\n                <div id=\"personalized-image\" style=\"position: relative; display: inline-block;\">\n                    <img decoding=\"async\" id=\"base-image\" style=\"width: 100%; max-width: 600px; display: block; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\" src=\"https:\/\/champions.cm\/wp-content\/uploads\/2025\/05\/billet-lr-25.jpeg\" alt=\"Image d'invitation\">\n                    <div id=\"guest-name\" style=\"position: absolute; top: 33.5%; left: 0; font-size: 10px; color: #007B1B; font-weight: bold; font-family: 'Heineken', serif; text-align: left; padding-left: 22px;\"><\/div>\n                <\/div>\n            <\/div>\n            \n            <div id=\"image-result\" style=\"padding: 15px; border-radius: 5px; margin: 20px 0; text-align: center; display: none;\"><\/div>\n        <\/div>\n        \n        <!-- Script pour la partie 1: G\u00e9n\u00e9ration d'image personnalis\u00e9e -->\n        <script>\n            \/\/ Configuration - Code de l'\u00e9v\u00e9nement fixe\n            const EVENT_ID = \"bt6\";\n            const API_BASE_URL = \"https:\/\/e-invite.zen-apps.com\/api\";\n            \n            \/\/ Fonction pour extraire le code invit\u00e9 de l'URL\n            function getGuestCode() {\n                \/\/ R\u00e9cup\u00e9rer la partie query de l'URL (tout ce qui suit le ?)\n                const queryString = window.location.search;\n                \n                \/\/ Si la query commence par '?', on enl\u00e8ve ce caract\u00e8re\n                if (queryString.startsWith('?')) {\n                    \/\/ On retourne tout ce qui suit le '?' comme code invit\u00e9\n                    return queryString.substring(1);\n                }\n                \n                return '';\n            }\n            \n            \/\/ Fonction pour r\u00e9cup\u00e9rer les informations de l'invit\u00e9\n            async function fetchGuestInfo(contactId, eventId) {\n                try {\n                    console.log(`Fetching guest info for contact ${contactId} and event ${eventId}`);\n                    \n                    \/\/ Appel direct \u00e0 l'API sans proxy CORS\n                    const response = await fetch(`${API_BASE_URL}\/check_invitation?event_id=${eventId}&contact_id=${contactId}`, {\n                        headers: {\n                            'Accept': 'application\/json'\n                        }\n                    });\n                    \n                    if (!response.ok) {\n                        throw new Error(`Erreur HTTP: ${response.status}`);\n                    }\n                    \n                    const data = await response.json();\n                    return data;\n                } catch (error) {\n                    console.error(\"Erreur lors de la r\u00e9cup\u00e9ration des informations:\", error);\n                    return {\n                        status: \"error\",\n                        message: \"Nous n'avons pas pu charger vos informations. Veuillez r\u00e9essayer plus tard.\"\n                    };\n                }\n            }\n            \n            \/\/ Fonction pour afficher un message\n            function displayImageMessage(type, message) {\n                const element = document.getElementById('image-result');\n                element.innerHTML = message;\n                \n                \/\/ Style \u00e9l\u00e9gant pour tous les types de messages\n                element.style.backgroundColor = 'transparent';\n                element.style.color = 'white';\n                element.style.textShadow = '1px 1px 3px rgba(0,0,0,0.5)';\n                element.style.fontStyle = 'italic';\n                element.style.fontSize = '14px';\n                \n                \/\/ Afficher l'\u00e9l\u00e9ment\n                element.style.display = 'block';\n            }\n            \n            \/\/ Initialisation\n            document.addEventListener('DOMContentLoaded', async function() {\n                \/\/ R\u00e9cup\u00e9rer le code d'invitation depuis l'URL\n                const contactId = getGuestCode();\n                \n                if (!contactId) {\n                    displayImageMessage('error', 'Votre invitation semble incompl\u00e8te. Veuillez utiliser le lien re\u00e7u dans votre SMS \/ message WhatsApp.');\n                    return;\n                }\n                \n                \/\/ Afficher un message de chargement\n                displayImageMessage('loading', 'R\u00e9cup\u00e9ration des informations de l\\'invit\u00e9...');\n                \n                \/\/ R\u00e9cup\u00e9rer les informations de l'invit\u00e9\n                const result = await fetchGuestInfo(contactId, EVENT_ID);\n                \n                if (result.status === 'success') {\n                    if (result.is_registered) {\n                        \/\/ R\u00e9cup\u00e9rer le nom de la personne tel que re\u00e7u via l'API\n                        const guestName = result.contact.full_name;\n                        \n                        \n                        \/\/ Afficher le nom sur l'image\n                        document.getElementById('guest-name').textContent = guestName;\n                        \n                        document.getElementById(\"mon-titre-id\").innerText = guestName;\n                        document.getElementById(\"mon-titre-id\").style.color = \"#e6b839\";\n                \n                        \/\/ Masquer le message de r\u00e9sultat au lieu d'afficher un message de bienvenue\n                        document.getElementById('image-result').style.display = 'none';\n                    } else {\n                        \/\/ Afficher un message d'erreur\n                        displayImageMessage('error', result.message || 'Nous ne trouvons pas votre invitation. V\u00e9rifiez que vous utilisez le bon lien.');\n                    }\n                } else {\n                    \/\/ Afficher un message d'erreur\n                    displayImageMessage('error', result.message || 'Un petit probl\u00e8me est survenu. Veuillez r\u00e9essayer plus tard.');\n                }\n            });\n        <\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a3e6eb e-flex e-con-boxed e-con e-parent\" data-id=\"0a3e6eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e1de23 elementor-widget elementor-widget-html\" data-id=\"7e1de23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PARTIE 2: Marquage de l'invitation comme ouverte -->\n    <div>\n        <script>\n            \/\/ Configuration ind\u00e9pendante pour le marquage d'ouverture\n            const OPENED_EVENT_ID = \"bt6\";\n            const OPENED_API_BASE_URL = \"https:\/\/e-invite.zen-apps.com\/api\";\n            \n            \/\/ Fonction ind\u00e9pendante pour extraire le code invit\u00e9 de l'URL\n            function getOpenedGuestCode() {\n                const queryString = window.location.search;\n                if (queryString.startsWith('?')) {\n                    return queryString.substring(1);\n                }\n                return '';\n            }\n            \n            \/\/ Fonction pour marquer l'invitation comme ouverte\n            async function markInvitationAsOpened(contactId, eventId) {\n                try {\n                    const response = await fetch(`${OPENED_API_BASE_URL}\/mark-as-opened?event_id=${eventId}&contact_id=${contactId}`, {\n                        headers: {\n                            'Accept': 'application\/json'\n                        }\n                    });\n                    \n                    if (response.ok) {\n                        console.log(\"Invitation marqu\u00e9e comme ouverte avec succ\u00e8s\");\n                    } else {\n                        console.error(\"Erreur lors du marquage de l'invitation comme ouverte\");\n                    }\n                } catch (error) {\n                    console.error(\"Erreur lors du marquage de l'invitation comme ouverte:\", error);\n                }\n            }\n            \n            \/\/ Ex\u00e9cuter au chargement de la page\n            document.addEventListener('DOMContentLoaded', async function() {\n                const contactId = getOpenedGuestCode();\n                if (contactId) {\n                    await markInvitationAsOpened(contactId, OPENED_EVENT_ID);\n                }\n            });\n        <\/script>\n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":0,"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=\/wp\/v2\/pages\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/betclic.pass.cm\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}