(()=>{"use strict";class e{constructor(e,t={}){this.options=Object.assign({placeholder:"Select an option",columns:1,name:"",width:"",height:"",data:[],onChange:function(){}},t),this.selectElement="string"==typeof e?document.querySelector(e):e;for(const e in this.selectElement.dataset)void 0!==this.options[e]&&(this.options[e]=this.selectElement.dataset[e]);if(this.name=this.selectElement.getAttribute("name")?this.selectElement.getAttribute("name"):"dynamic-select-"+Math.floor(1e6*Math.random()),!this.options.data.length){let e=this.selectElement.querySelectorAll("option");for(let t=0;t`:""}\n ${this.data[t].text?''+this.data[t].text+"":""}\n `,e+=`\n
\n ${i}\n
\n `}let t=`\n
\n \n
${this.placeholder}
\n
${e}
\n \n
\n `,s=document.createElement("div");return s.innerHTML=t,s}_eventHandlers(){this.element.querySelectorAll(".dynamic-select-option").forEach((e=>{e.onclick=()=>{this.element.querySelectorAll(".dynamic-select-selected").forEach((e=>e.classList.remove("dynamic-select-selected"))),e.classList.add("dynamic-select-selected"),this.element.querySelector(".dynamic-select-header").innerHTML=e.innerHTML,this.element.querySelector("input").value=e.getAttribute("data-value"),this.data.forEach((e=>e.selected=!1)),this.data.filter((t=>t.value==e.getAttribute("data-value")))[0].selected=!0,this.element.querySelector(".dynamic-select-header").classList.remove("dynamic-select-header-active"),this.options.onChange(e.getAttribute("data-value"),e.querySelector(".dynamic-select-option-text")?e.querySelector(".dynamic-select-option-text").innerHTML:"",e)}})),this.element.querySelector(".dynamic-select-header").onclick=()=>{this.element.querySelector(".dynamic-select-header").classList.toggle("dynamic-select-header-active")},this.selectElement.id&&document.querySelector('label[for="'+this.selectElement.id+'"]')&&(document.querySelector('label[for="'+this.selectElement.id+'"]').onclick=()=>{this.element.querySelector(".dynamic-select-header").classList.toggle("dynamic-select-header-active")}),document.addEventListener("click",(e=>{e.target.closest("."+this.name)||e.target.closest('label[for="'+this.selectElement.id+'"]')||this.element.querySelector(".dynamic-select-header").classList.remove("dynamic-select-header-active")}))}_updateSelected(){this.selectedValue&&(this.element.querySelector(".dynamic-select-header").innerHTML=this.element.querySelector(".dynamic-select-selected").innerHTML)}get selectedValue(){let e=this.data.filter((e=>e.selected));return e=e.length?e[0].value:"",e}set data(e){this.options.data=e}get data(){return this.options.data}set selectElement(e){this.options.selectElement=e}get selectElement(){return this.options.selectElement}set element(e){this.options.element=e}get element(){return this.options.element}set placeholder(e){this.options.placeholder=e}get placeholder(){return this.options.placeholder}set columns(e){this.options.columns=e}get columns(){return this.options.columns}set name(e){this.options.name=e}get name(){return this.options.name}set width(e){this.options.width=e}get width(){return this.options.width}set height(e){this.options.height=e}get height(){return this.options.height}}const t=e;function s(e){if(!e.querySelector(".js-cs-preloader")){const t=document.createElement("div");t.classList.add("cs-preloader","js-cs-preloader"),t.innerHTML='
',t.classList.add("is-active"),e.appendChild(t)}}function i(e){e.querySelector(".js-cs-preloader").remove()}function a(){const e=document.querySelector(".footer-sticky"),t=document.querySelector(".cc--wrapper");e&&t&&(window.innerWidth<601?t.style.bottom=`${e.offsetHeight}px`:t.style.bottom="")}document.querySelectorAll("[data-dynamic-select]").forEach((t=>new e(t))),document.addEventListener("DOMContentLoaded",(async function(){const e=document.querySelector("body"),a="customerSubscribed";if(e.querySelector(".js-cs-popup")){const t=e.querySelectorAll(".js-cs-popup"),s=e.querySelectorAll(".js-cc--btn"),i=document.querySelector(".js-cc-hide-btn");s.forEach((t=>{t.addEventListener("click",(()=>{const s=t.getAttribute("data-popup-id"),i=document.querySelector(`.js-cs-form[id="cs_form-${s}"]`).parentElement.parentElement;if(i){const t=window.innerWidth-document.documentElement.clientWidth;document.documentElement.style.setProperty("--scrollbar-width",`${t}px`),requestAnimationFrame((()=>{i.classList.add("is-active"),e.classList.add("is-popup-open")}))}}))})),t.forEach((t=>{const n=t.querySelector(".js-cs-popup-close"),c=t.nextElementSibling,l=t.querySelector(".js-cs-message-thanks").querySelector(".js-cs-thanks-btn"),o=t.querySelector(".js-cs-message-error").querySelector(".js-cs-error-btn");function r(n){n.addEventListener("click",(()=>{t.classList.remove("is-active"),e.classList.remove("is-popup-open"),document.documentElement.style.removeProperty("--scrollbar-width"),JSON.parse(localStorage.getItem(a)||"null")&&i&&s.forEach((e=>e.parentElement.style.display="none"))}))}if(r(n),r(c),r(l),r(o),i){const t=e.querySelectorAll(".cc--wrapper"),s=()=>{const e=JSON.parse(localStorage.getItem(a)||"{}");return new Date-new Date(e.date||0)>2592e6};s()||t.forEach((e=>e.style.display="none")),s()&&localStorage.removeItem(a)}else JSON.parse(localStorage.getItem(a)||"null")&&localStorage.removeItem(a)}))}async function n(e){e.preventDefault();const t=e.target,n=t.parentElement,l=Array.from(t.elements);let o=t.querySelector('[id*="cs_form_location-"]'),r=t.querySelector('[id*="cs_form_email-"]');const d=/^[a-zA-Z0-9]+([._-]?[a-zA-Z0-9]+)*@[a-zA-Z]+([.-]?[a-zA-Z]+)*(\.[a-zA-Z]{2,3})+$/,h=/^(?!.*<(script|img)[^>]*>)(?!.*\d)(?!.*[^\w\s]).*[a-zA-Z\s]+$/;let m=t.querySelector(".js-cs-text-input");const u=t.parentElement.querySelector(".js-cs-message-update"),p=u.querySelector(".js-cs-update-btn"),y=t.parentElement.querySelector(".js-cs-message-thanks");if(l.forEach((e=>{e.addEventListener("input",(()=>{!0===e.checkValidity()&&e.parentElement.classList.remove("field-is-invalid")}))})),o&&""==o.querySelector("input").value&&o.classList.add("field-is-invalid"),r&&r.addEventListener("input",(()=>{d.test(r.value.trim())?r.parentElement.classList.remove("field-is-invalid"):r.parentElement.classList.add("field-is-invalid")})),m&&t.querySelectorAll(".js-cs-text-input").forEach((e=>{e.addEventListener("input",(()=>{h.test(e.value.trim())?e.parentElement.classList.remove("field-is-invalid"):e.parentElement.classList.add("field-is-invalid")}))})),t.querySelector(".js-cs-form-checkbox")&&t.querySelectorAll(".js-cs-form-checkbox").forEach((e=>{e.checked||e.classList.add("field-is-invalid"),e.addEventListener("click",(()=>{e.classList.contains("field-is-invalid")&&e.classList.remove("field-is-invalid")}))})),!t.checkValidity()||o&&""===o.querySelector("input").value||r&&!d.test(r.value.trim())||m&&Array.from(t.querySelectorAll(".js-cs-text-input")).some((e=>!h.test(e.value.trim()))))l.forEach((e=>{e.checkValidity()||e.parentElement.classList.contains("field-is-invalid")||e.parentElement.classList.add("field-is-invalid")})),t.querySelectorAll(".js-cs-text-input").forEach((e=>{h.test(e.value.trim())||e.parentElement.classList.contains("field-is-invalid")||e.parentElement.classList.add("field-is-invalid")}));else{s(n);const g=new FormData;g.append("action","cio_is_email_exists"),g.append("nonce",window.catena_customer_io_vars.nonce),g.append("email",r.value);const v=window.catena_customer_io_vars.ajax_url;try{const f=await fetch(v,{method:"POST",body:g});if(!f.ok)throw new Error(`[${f.status}] ${f.statusText}`);const S=await f.json();if(S.length){function E(){document.querySelector(".js-cc-hide-btn")&&"not_exists"==S&&localStorage.setItem(a,JSON.stringify({date:(new Date).toISOString()}))}t.classList.remove("is-active"),i(n),"not_exists"!==S&&"exists"!==S&&(console.log("Customer.io error: "+S),t.parentElement.querySelector(".js-cs-message-error").classList.add("is-active")),"not_exists"===S&&(c(e),t.parentElement.querySelector(".js-cs-message-thanks").classList.add("is-active"),E()),"exists"===S&&u.classList.add("is-active"),p.addEventListener("click",(()=>{s(n),c(e),i(n),u.classList.remove("is-active"),y.classList.add("is-active")})),E()}}catch(L){console.log("Customer.io error: "+L.message)}}}async function c(e){e.target;const t=window.catena_customer_io_vars.site_id,s=window.catena_customer_io_vars.key,i=`https://track.customer.io/api/v1/forms/${window.catena_customer_io_vars.form_id}/submit`,a=new FormData(e.target);let n={};a.forEach(((e,t)=>n[t]=e));const c=JSON.stringify({data:n});try{const e=await fetch(i,{method:"POST",body:c,headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(`${t}:${s}`)}`}});if(!e.ok)throw new Error(`[${e.status}] ${e.statusText}`)}catch(e){console.log("Customer.io error: "+e)}}if(e.querySelectorAll(".js-cs-wrapper").forEach((e=>{const s=e.querySelector(".js-cs-form"),i=s.querySelector('[id*="cs_form_location-"]');if(i){new t(i,{onChange:function(e,t,s){const i=s.closest(".dynamic-select");i.classList.contains("field-is-invalid")&&i.classList.remove("field-is-invalid")}});const e=s.querySelector(".js-dynamic-select-search"),a=s.querySelector(".dynamic-select-options"),n=e.nextElementSibling,c=s.querySelector(".dynamic-select-header");e&&a&&e.addEventListener("input",(function(){const t=this.value.toLowerCase(),s=a.querySelectorAll(".dynamic-select-option");let i=!1;const c=s[s.length-1];s.forEach((s=>{const a=s.textContent.trim().toLowerCase().startsWith(t);s.style.display=a?"":"none",a&&(i=!0),n.addEventListener("click",(()=>{e.value="",n.classList.remove("is-active"),s.style.display="",c.classList.remove("is-active")}))})),!1===i?c.classList.add("is-active"):c.classList.remove("is-active"),n.classList.toggle("is-active",""!==this.value)})),c.addEventListener("click",(()=>{c.classList.contains("dynamic-select-header-active")&&e.focus()}))}s.addEventListener("submit",n)})),e.querySelector(".js-cc-hide-btn")){const t=document.querySelector(".js-cc-hide-btn"),s=e.querySelectorAll(".cc--wrapper");sessionStorage.getItem("hideCustomerIoButton")?s.forEach((e=>e.style.display="none")):s.forEach((e=>e.style.opacity="1")),t.addEventListener("click",(()=>{s.forEach((e=>e.style.display="none")),sessionStorage.setItem("hideCustomerIoButton","true")}))}})),window.addEventListener("resize",a),[...document.styleSheets].some((e=>e.href?.includes("regionals.css")))&&a()})();