{"id":10343,"date":"2025-10-08T10:46:37","date_gmt":"2025-10-08T14:46:37","guid":{"rendered":"https:\/\/icarexperience.ca\/blackfriday-infolettre\/"},"modified":"2025-10-21T12:14:09","modified_gmt":"2025-10-21T16:14:09","slug":"blackfriday-infolettre","status":"publish","type":"page","link":"https:\/\/icarexperience.ca\/en\/blackfriday-infolettre\/","title":{"rendered":"blackfriday-infolettre"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10343\" class=\"elementor elementor-10343 elementor-10329\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fbf89e1 e-con-full e-flex e-con e-parent\" data-id=\"6fbf89e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"\">\n\t\t<div class=\"elementor-element elementor-element-14ee63db e-flex e-con-boxed e-con e-child\" data-id=\"14ee63db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-79333cfd animated-slow elementor-widget elementor-widget-heading\" data-id=\"79333cfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pure adrenalin.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d3611b animated-slow elementor-widget elementor-widget-heading\" data-id=\"1d3611b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The best Black Friday discounts start here.<\/h2>\t\t\t\t<\/div>\n\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-1679dab2 e-con-full e-flex e-con e-child\" data-id=\"1679dab2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-59ec5da3 animated-slow e-con-full e-flex e-con e-child\" data-id=\"59ec5da3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;none&quot;,&quot;animation_delay&quot;:600}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-41a3b5a6 e-con-full e-flex e-con e-child\" data-id=\"41a3b5a6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-60580216 elementor-widget elementor-widget-text-editor\" data-id=\"60580216\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Sign up for our newsletter and be the first to receive exclusive <\/span><b>exclusive Black Friday offers<\/b><span style=\"font-weight: 400;\"> (limited quantities, early access)<\/span><\/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-6078ad77 e-con-full e-flex e-con e-child\" data-id=\"6078ad77\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-62dd6fca elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"62dd6fca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\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<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Early access to Black Friday offers <br> (before the general public).<\/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<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Best discounts of the year on our most popular experiences<\/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<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Quantities limited: reserve your place before it's gone.<\/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<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Useful info &amp; news (without unnecessary blah, blah, blah).<\/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<\/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-2741c70 e-flex e-con-boxed e-con e-parent\" data-id=\"2741c70\" 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-88eb968 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"88eb968\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"mc_embed_shell\">\r\n      <link href=\"\/\/cdn-images.mailchimp.com\/embedcode\/classic-061523.css\" rel=\"stylesheet\" type=\"text\/css\">\r\n  <style type=\"text\/css\">\r\n        #mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 600px;}\r\n        \/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.\r\n           We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. *\/\r\n<\/style>\r\n<div id=\"mc_embed_signup\">\r\n    <form action=\"https:\/\/icarxp.us9.list-manage.com\/subscribe\/post?u=d4198bcf6e9fd8e1f338f8393&amp;id=0d633e80ce&amp;f_id=005d57e1f0\" method=\"post\" id=\"mc-embedded-subscribe-form\" name=\"mc-embedded-subscribe-form\" class=\"validate\" target=\"_blank\">\r\n        <div id=\"mc_embed_signup_scroll\"><h2>Newsletter<\/h2>\r\n            <div class=\"indicates-required\">* <span class=\"asterisk\"> indicates<\/span> required<\/div>\r\n            <div class=\"mc-field-group\"><label for=\"mce-EMAIL\">Email address <span class=\"asterisk\">*<\/span><\/label><input type=\"email\" name=\"EMAIL\" class=\"required email\" id=\"mce-EMAIL\" required=\"\" value=\"\"><span id=\"mce-EMAIL-HELPERTEXT\" class=\"helper_text\">Email<\/span><\/div><div class=\"mc-field-group\"><label for=\"mce-FNAME\">First Name<\/label><input type=\"text\" name=\"FNAME\" class=\"required text\" id=\"mce-FNAME\" required=\"\" value=\"\"><span id=\"mce-FNAME-HELPERTEXT\" class=\"helper_text\">First Name<\/span><\/div><div class=\"mc-field-group\"><label for=\"mce-LNAME\">Name <span class=\"asterisk\">*<\/span> Last Name<\/label><input type=\"text\" name=\"LNAME\" class=\"required text\" id=\"mce-LNAME\" required=\"\" value=\"\"><span id=\"mce-LNAME-HELPERTEXT\" class=\"helper_text\">Last Name<\/span><\/div><div class=\"mc-field-group\"><label for=\"mce-LANGUE\">Language<\/label><select name=\"LANGUE\" class=\"required\" id=\"mce-LANGUE\"><option value=\"\"><\/option><option value=\"Fran\u00e7ais\">French<\/option><option value=\"English\">English<\/option><\/select><span id=\"mce-LANGUE-HELPERTEXT\" class=\"helper_text\">Language<\/span><\/div><div class=\"mc-field-group size1of2\"><label for=\"mce-MMERGE5-month\">Birthday (DD\/MM)  <\/label><div class=\"datefield\"><span class=\"subfield dayfield\"><input class=\"birthday REQ_CSS\" type=\"text\" pattern=\"[0-9]*\" placeholder=\"DD\" size=\"2\" maxlength=\"2\" name=\"MMERGE5[day]\" id=\"mce-MMERGE5-day\" value=\"\"><\/span>  \/<span class=\"subfield monthfield\"><input class=\"birthday REQ_CSS\" type=\"text\" pattern=\"[0-9]*\" placeholder=\"MM\" size=\"2\" maxlength=\"2\" name=\"MMERGE5[month]\" id=\"mce-MMERGE5-month\" value=\"\"><\/span><span class=\"small-meta nowrap\">( dd \/ mm )<\/span><\/div><\/div>\r\n<div hidden=\"\"><input type=\"hidden\" name=\"tags\" value=\"11838856,11839106\"><\/div>\r\n        <div id=\"mce-responses\" class=\"clear\">\r\n            <div class=\"response\" id=\"mce-error-response\" style=\"display: none;\"><\/div>\r\n            <div class=\"response\" id=\"mce-success-response\" style=\"display: none;\"><\/div>\r\n        <\/div><div aria-hidden=\"true\" style=\"position: absolute; left: -5000px;\"><input type=\"text\" name=\"b_d4198bcf6e9fd8e1f338f8393_0d633e80ce\" tabindex=\"-1\" value=\"\"><\/div><div class=\"clear\"><input type=\"submit\" name=\"subscribe\" id=\"mc-embedded-subscribe\" class=\"button\" value=\"Subscribe\"><\/div>\r\n    <\/div>\r\n<\/form>\r\n<\/div>\r\n<script type=\"text\/javascript\" src=\"\/\/s3.amazonaws.com\/downloads.mailchimp.com\/js\/mc-validate.js\"><\/script><script type=\"text\/javascript\">(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[3]='LANGUE';ftypes[3]='dropdown';fnames[5]='MMERGE5';ftypes[5]='birthday';fnames[4]='UBPAGEID';ftypes[4]='text';fnames[6]='UBVARIANT';ftypes[6]='text';fnames[7]='UBDATE';ftypes[7]='date';fnames[8]='MMERGE8';ftypes[8]='phone';fnames[9]='SMSPHONE';ftypes[9]='smsphone';\/*\r\n * Translated default messages for the $ validation plugin.\r\n * Locale: FR\r\n *\/\r\n$.extend($.validator.messages, {\r\n        required: \"Ce champ est requis.\",\r\n        remote: \"Veuillez remplir ce champ pour continuer.\",\r\n        email: \"Veuillez entrer une adresse email valide.\",\r\n        url: \"Veuillez entrer une URL valide.\",\r\n        date: \"Veuillez entrer une date valide.\",\r\n        dateISO: \"Veuillez entrer une date valide (ISO).\",\r\n        number: \"Veuillez entrer un nombre valide.\",\r\n        digits: \"Veuillez entrer (seulement) une valeur num\u00e9rique.\",\r\n        creditcard: \"Veuillez entrer un num\u00e9ro de carte de cr\u00e9dit valide.\",\r\n        equalTo: \"Veuillez entrer une nouvelle fois la m\u00eame valeur.\",\r\n        accept: \"Veuillez entrer une valeur avec une extension valide.\",\r\n        maxlength: $.validator.format(\"Veuillez ne pas entrer plus de {0} caract\u00e8res.\"),\r\n        minlength: $.validator.format(\"Veuillez entrer au moins {0} caract\u00e8res.\"),\r\n        rangelength: $.validator.format(\"Veuillez entrer entre {0} et {1} caract\u00e8res.\"),\r\n        range: $.validator.format(\"Veuillez entrer une valeur entre {0} et {1}.\"),\r\n        max: $.validator.format(\"Veuillez entrer une valeur inf\u00e9rieure ou \u00e9gale \u00e0 {0}.\"),\r\n        min: $.validator.format(\"Veuillez entrer une valeur sup\u00e9rieure ou \u00e9gale \u00e0 {0}.\")\r\n});}(jQuery));var $mcj = jQuery.noConflict(true);\r\n    \/\/ SMS Phone Multi-Country Functionality\r\n    if(!window.MC) {\r\n      window.MC = {};\r\n    }\r\n    window.MC.smsPhoneData = {\r\n      defaultCountryCode: 'CA',\r\n      programs: [],\r\n      smsProgramDataCountryNames: []\r\n    };\r\n\r\n    function getCountryUnicodeFlag(countryCode) {\r\n       return countryCode.toUpperCase().replace(\/.\/g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))\r\n    };\r\n\r\n    \/\/ HTML sanitization function to prevent XSS\r\n    function sanitizeHtml(str) {\r\n      if (typeof str !== 'string') return '';\r\n      return str\r\n        .replace(\/&\/g, '&amp;')\r\n        .replace(\/<\/g, '&lt;')\r\n        .replace(\/>\/g, '&gt;')\r\n        .replace(\/\"\/g, '&quot;')\r\n        .replace(\/'\/g, '&#x27;')\r\n        .replace(\/\\\/\/g, '&#x2F;');\r\n    }\r\n\r\n    \/\/ URL sanitization function to prevent javascript: and data: URLs\r\n    function sanitizeUrl(url) {\r\n      if (typeof url !== 'string') return '';\r\n      const trimmedUrl = url.trim().toLowerCase();\r\n      if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) {\r\n        return '#';\r\n      }\r\n      return url;\r\n    }\r\n\r\n    const getBrowserLanguage = () => {\r\n      if (!window?.navigator?.language?.split('-')[1]) {\r\n        return window?.navigator?.language?.toUpperCase();\r\n      }\r\n      return window?.navigator?.language?.split('-')[1];\r\n    };\r\n\r\n    function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {\r\n      if (!smsProgramData || smsProgramData.length === 0) {\r\n        return null;\r\n      }\r\n\r\n      const browserLanguage = getBrowserLanguage();\r\n\r\n      if (browserLanguage) {\r\n        const foundProgram = smsProgramData.find(\r\n          (program) => program?.countryCode === browserLanguage,\r\n        );\r\n        if (foundProgram) {\r\n          return foundProgram;\r\n        }\r\n      }\r\n\r\n      if (defaultCountryCode) {\r\n        const foundProgram = smsProgramData.find(\r\n          (program) => program?.countryCode === defaultCountryCode,\r\n        );\r\n        if (foundProgram) {\r\n          return foundProgram;\r\n        }\r\n      }\r\n\r\n      return smsProgramData[0];\r\n    }\r\n\r\n    function updateSmsLegalText(countryCode, fieldName) {\r\n      if (!countryCode || !fieldName) {\r\n        return;\r\n      }\r\n     \r\n      const programs = window?.MC?.smsPhoneData?.programs;\r\n      if (!programs || !Array.isArray(programs)) {\r\n        return;\r\n      }\r\n     \r\n      const program = programs.find(program => program?.countryCode === countryCode);\r\n      if (!program || !program.requiredTemplate) {\r\n        return;\r\n      }\r\n     \r\n      const legalTextElement = document.querySelector('#legal-text-' + fieldName);\r\n      if (!legalTextElement) {\r\n        return;\r\n      }\r\n     \r\n      \/\/ Remove HTML tags and clean up the text\r\n      const divRegex = new RegExp('<\/?[div][^>]*>', 'gi');\r\n      const fullAnchorRegex = new RegExp('<a.*?<\/a>', 'g');\r\n      const anchorRegex = new RegExp('<a href=\"(.*?)\" target=\"(.*?)\">(.*?)<\/a>');\r\n     \r\n      const requiredLegalText = program.requiredTemplate\r\n        .replace(divRegex, '')\r\n        .replace(fullAnchorRegex, '')\r\n        .slice(0, -1);\r\n     \r\n      const anchorMatches = program.requiredTemplate.match(anchorRegex);\r\n     \r\n      if (anchorMatches && anchorMatches.length >= 4) {\r\n        \/\/ Create link element safely using DOM methods instead of innerHTML\r\n        const linkElement = document.createElement('a');\r\n        linkElement.href = sanitizeUrl(anchorMatches[1]);\r\n        linkElement.target = sanitizeHtml(anchorMatches[2]);\r\n        linkElement.textContent = sanitizeHtml(anchorMatches[3]);\r\n       \r\n        legalTextElement.textContent = requiredLegalText + ' ';\r\n        legalTextElement.appendChild(linkElement);\r\n        legalTextElement.appendChild(document.createTextNode('.'));\r\n      } else {\r\n        legalTextElement.textContent = requiredLegalText + '.';\r\n      }\r\n    }\r\n\r\n    function generateDropdownOptions(smsProgramData) {\r\n      if (!smsProgramData || smsProgramData.length === 0) {\r\n        return '';\r\n      }\r\n     \r\n      return smsProgramData.map(program => {\r\n        const flag = getCountryUnicodeFlag(program.countryCode);\r\n        const countryName = getCountryName(program.countryCode);\r\n        const callingCode = program.countryCallingCode || '';\r\n        \/\/ Sanitize all values to prevent XSS\r\n        const sanitizedCountryCode = sanitizeHtml(program.countryCode || '');\r\n        const sanitizedCountryName = sanitizeHtml(countryName || '');\r\n        const sanitizedCallingCode = sanitizeHtml(callingCode || '');\r\n        return '<option value=\"' + sanitizedCountryCode + '\">' + sanitizedCountryName + ' ' + sanitizedCallingCode + '<\/option>';\r\n      }).join('');\r\n    }\r\n\r\n    function getCountryName(countryCode) {\r\n      if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {\r\n        for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) {\r\n          if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) {\r\n            return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name;\r\n          }\r\n        }\r\n      }\r\n      return countryCode;\r\n    }\r\n\r\n    function getDefaultPlaceholder(countryCode) {\r\n      if (!countryCode || typeof countryCode !== 'string') {\r\n        return '+1 000 000 0000'; \/\/ Default US placeholder\r\n      }\r\n     \r\n      const mockPlaceholders = [\r\n        {\r\n      countryCode: 'US',\r\n      placeholder: '+1 000 000 0000',\r\n      helpText: 'Include the US country code +1 before the phone number',\r\n    },\r\n    {\r\n      countryCode: 'GB',\r\n      placeholder: '+44 0000 000000',\r\n      helpText: 'Include the GB country code +44 before the phone number',\r\n    },\r\n    {\r\n      countryCode: 'CA',\r\n      placeholder: '+1 000 000 0000',\r\n      helpText: 'Include the CA country code +1 before the phone number',\r\n    },\r\n    {\r\n      countryCode: 'AU',\r\n      placeholder: '+61 000 000 000',\r\n      helpText: 'Include the AU country code +61 before the phone number',\r\n    },\r\n    {\r\n      countryCode: 'DE',\r\n      placeholder: '+49 000 0000000',\r\n      helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\r\n    },\r\n    {\r\n      countryCode: 'FR',\r\n      placeholder: '+33 0 00 00 00 00',\r\n      helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\r\n    },\r\n    {\r\n      countryCode: 'ES',\r\n      placeholder: '+34 000 000 000',\r\n      helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\r\n    },\r\n    {\r\n      countryCode: 'NL',\r\n      placeholder: '+31 0 00000000',\r\n      helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\r\n    },\r\n    {\r\n      countryCode: 'BE',\r\n      placeholder: '+32 000 00 00 00',\r\n      helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\r\n    },\r\n    {\r\n      countryCode: 'CH',\r\n      placeholder: '+41 00 000 00 00',\r\n      helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\r\n    },\r\n    {\r\n      countryCode: 'AT',\r\n      placeholder: '+43 000 000 0000',\r\n      helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\r\n    },\r\n    {\r\n      countryCode: 'IE',\r\n      placeholder: '+353 00 000 0000',\r\n      helpText: 'Include the IE country code +353 before the phone number',\r\n    },\r\n    {\r\n      countryCode: 'IT',\r\n      placeholder: '+39 000 000 0000',\r\n      helpText:\r\n        'Includere il prefisso internazionale IT +39 prima del numero di telefono',\r\n    },\r\n      ];\r\n\r\n      const selectedPlaceholder = mockPlaceholders.find(function(item) {\r\n        return item && item.countryCode === countryCode;\r\n      });\r\n     \r\n      return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder;\r\n    }\r\n\r\n    function updatePlaceholder(countryCode, fieldName) {\r\n      if (!countryCode || !fieldName) {\r\n        return;\r\n      }\r\n     \r\n      const phoneInput = document.querySelector('#mce-' + fieldName);\r\n      if (!phoneInput) {\r\n        return;\r\n      }\r\n     \r\n      const placeholder = getDefaultPlaceholder(countryCode);\r\n      if (placeholder) {\r\n        phoneInput.placeholder = placeholder;\r\n      }\r\n    }\r\n\r\n    function updateCountryCodeInstruction(countryCode, fieldName) {\r\n      updatePlaceholder(countryCode, fieldName);\r\n     \r\n    }\r\n\r\n    function getDefaultHelpText(countryCode) {\r\n      const mockPlaceholders = [\r\n        {\r\n          countryCode: 'US',\r\n          placeholder: '+1 000 000 0000',\r\n          helpText: 'Include the US country code +1 before the phone number',\r\n        },\r\n        {\r\n          countryCode: 'GB',\r\n          placeholder: '+44 0000 000000',\r\n          helpText: 'Include the GB country code +44 before the phone number',\r\n        },\r\n        {\r\n          countryCode: 'CA',\r\n          placeholder: '+1 000 000 0000',\r\n          helpText: 'Include the CA country code +1 before the phone number',\r\n        },\r\n        {\r\n          countryCode: 'AU',\r\n          placeholder: '+61 000 000 000',\r\n          helpText: 'Include the AU country code +61 before the phone number',\r\n        },\r\n        {\r\n          countryCode: 'DE',\r\n          placeholder: '+49 000 0000000',\r\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die DE-L\u00e4ndervorwahl +49 ein',\r\n        },\r\n        {\r\n          countryCode: 'FR',\r\n          placeholder: '+33 0 00 00 00 00',\r\n          helpText: 'Incluez le code pays FR +33 avant le num\u00e9ro de t\u00e9l\u00e9phone',\r\n        },\r\n        {\r\n          countryCode: 'ES',\r\n          placeholder: '+34 000 000 000',\r\n          helpText: 'Incluya el c\u00f3digo de pa\u00eds ES +34 antes del n\u00famero de tel\u00e9fono',\r\n        },\r\n        {\r\n          countryCode: 'NL',\r\n          placeholder: '+31 0 00000000',\r\n          helpText: 'Voeg de NL-landcode +31 toe v\u00f3\u00f3r het telefoonnummer',\r\n        },\r\n        {\r\n          countryCode: 'BE',\r\n          placeholder: '+32 000 00 00 00',\r\n          helpText: 'Incluez le code pays BE +32 avant le num\u00e9ro de t\u00e9l\u00e9phone',\r\n        },\r\n        {\r\n          countryCode: 'CH',\r\n          placeholder: '+41 00 000 00 00',\r\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die CH-L\u00e4ndervorwahl +41 ein',\r\n        },\r\n        {\r\n          countryCode: 'AT',\r\n          placeholder: '+43 000 000 0000',\r\n          helpText: 'F\u00fcgen Sie vor der Telefonnummer die AT-L\u00e4ndervorwahl +43 ein',\r\n        },\r\n        {\r\n          countryCode: 'IE',\r\n          placeholder: '+353 00 000 0000',\r\n          helpText: 'Include the IE country code +353 before the phone number',\r\n        },\r\n        {\r\n          countryCode: 'IT',\r\n          placeholder: '+39 000 000 0000',\r\n          helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono',\r\n        },\r\n      ];\r\n     \r\n      if (!countryCode || typeof countryCode !== 'string') {\r\n        return mockPlaceholders[0].helpText;\r\n      }\r\n     \r\n      const selectedHelpText = mockPlaceholders.find(function(item) {\r\n          return item && item.countryCode === countryCode;\r\n        });\r\n       \r\n        return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;\r\n    }\r\n\r\n    function setDefaultHelpText(countryCode) {\r\n      const helpTextSpan = document.querySelector('#help-text');\r\n      if (!helpTextSpan) {\r\n        return;\r\n      }\r\n\r\n       \r\n    }\r\n\r\n    function updateHelpTextCountryCode(countryCode, fieldName) {\r\n      if (!countryCode || !fieldName) {\r\n        return;\r\n      }\r\n     \r\n      setDefaultHelpText(countryCode);\r\n    }\r\n\r\n    function initializeSmsPhoneDropdown(fieldName) {\r\n      if (!fieldName || typeof fieldName !== 'string') {\r\n        return;\r\n      }\r\n     \r\n      const dropdown = document.querySelector('#country-select-' + fieldName);\r\n      const displayFlag = document.querySelector('#flag-display-' + fieldName);\r\n     \r\n      if (!dropdown || !displayFlag) {\r\n        return;\r\n      }\r\n\r\n      const smsPhoneData = window.MC?.smsPhoneData;\r\n      if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) {\r\n        dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);\r\n      }\r\n\r\n      const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs);\r\n      if (defaultProgram && defaultProgram.countryCode) {\r\n        dropdown.value = defaultProgram.countryCode;\r\n       \r\n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\r\n        if (flagSpan) {\r\n          flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);\r\n          flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag');\r\n        }\r\n       \r\n        updateSmsLegalText(defaultProgram.countryCode, fieldName);\r\n        updatePlaceholder(defaultProgram.countryCode, fieldName);\r\n        updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);\r\n      }\r\n\r\n     \r\n      var phoneInput = document.querySelector('#mce-' + fieldName);\r\n      if (phoneInput && defaultProgram.countryCallingCode) {\r\n        phoneInput.value = defaultProgram.countryCallingCode;\r\n      }\r\n     \r\n\r\n\r\n      displayFlag?.addEventListener('click', function(e) {\r\n        dropdown.focus();\r\n      });\r\n\r\n\r\n      dropdown?.addEventListener('change', function() {\r\n        const selectedCountry = this.value;\r\n       \r\n        if (!selectedCountry || typeof selectedCountry !== 'string') {\r\n          return;\r\n        }\r\n       \r\n        const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName);\r\n        if (flagSpan) {\r\n          flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);\r\n          flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag');\r\n        }\r\n\r\n         \r\n        const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {\r\n          return program && program.countryCode === selectedCountry;\r\n        });\r\n        var phoneInput = document.querySelector('#mce-' + fieldName);\r\n        if (phoneInput && selectedProgram.countryCallingCode) {\r\n          phoneInput.value = selectedProgram.countryCallingCode;\r\n        }\r\n       \r\n       \r\n        updateSmsLegalText(selectedCountry, fieldName);\r\n        updatePlaceholder(selectedCountry, fieldName);\r\n        updateCountryCodeInstruction(selectedCountry, fieldName);\r\n      });\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n      const smsPhoneFields = document.querySelectorAll('[id^=\"country-select-\"]');\r\n     \r\n      smsPhoneFields.forEach(function(dropdown) {\r\n        const fieldName = dropdown?.id.replace('country-select-', '');\r\n        initializeSmsPhoneDropdown(fieldName);\r\n      });\r\n    });\r\n    <\/script><\/div><\/div>\t\t\t\t<\/div>\n\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","protected":false},"excerpt":{"rendered":"<p>Pure adrenalin. The best Black Friday discounts start here. Sign up for our newsletter and be the first to receive exclusive exclusive Black Friday offers (limited quantities, early access) Early access to Black Friday offers (before the general public). Best discounts of the year on our most popular experiences Quantities limited: reserve your place before [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"class_list":["post-10343","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/pages\/10343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/comments?post=10343"}],"version-history":[{"count":0,"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/pages\/10343\/revisions"}],"wp:attachment":[{"href":"https:\/\/icarexperience.ca\/en\/wp-json\/wp\/v2\/media?parent=10343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}