document.addEventListener("DOMContentLoaded",(function(){"use strict";function e(e){const t=document.createElement("input");t.type="hidden",t.name="f-form--submitted",t.value="true",e.appendChild(t),e.submit()}function t(e){e.classList.add("closing"),setTimeout((()=>{e.classList.remove("active","closing")}),400)}document.querySelectorAll(".js-form").forEach((function(o){o.addEventListener("submit",(function(n){n.preventDefault(),function(e){return new Promise(((t,o)=>{const n=e.querySelector(".js-recaptcha"),s=e.querySelector(".js-recaptcha__k"),r=e.querySelector(".js-recaptcha__debug");n&&s&&"undefined"!=typeof grecaptcha?(r&&(console.log(s.value),console.log(n.value),console.log("grecaptcha exists:","undefined"!=typeof grecaptcha)),grecaptcha.ready((()=>{grecaptcha.execute(s.value,{action:"form"}).then((e=>{e?(n.value=e,r&&console.log("reCAPTCHA token regenerated!"),t(e)):(console.warn("reCAPTCHA token is not available, continuing anyway."),t(null))})).catch((e=>{console.error("reCAPTCHA error:",e),t(null)}))}))):t(null)}))}(o).then((()=>{!function(o){const n=o.getAttribute("data-ajax");if(!n)return console.warn("No 'data-ajax' attribute set on the '
' element!"),void e(o);const s=o.querySelector(".js-form__response"),r=o.querySelector(".js-form__loading"),a=new FormData(o);a.append("action","form_processing"),a.append("f-form--submitted","true"),r&&r.classList.add("active"),fetch(n,{method:"POST",body:a}).then((async e=>{const t=await e.text();return{ok:e.ok,status:e.status,text:t}})).then((({ok:e,status:n,text:a})=>{if(!e)throw new Error(`HTTP error! Status: ${n}`);s&&(s.innerHTML=a,s.scrollIntoView({behavior:"smooth"})),e&&o.reset(),t(r)})).catch((n=>{console.error(n),s&&(s.innerHTML=n,s.scrollIntoView({behavior:"smooth"})),(n.message.includes("403")||n.message.includes("404"))&&(console.warn("AJAX 403 Error! Falling back to classic form submission."),console.log("Classic form submitting ..."),t(r),e(o))}))}(o)}))}))}));const o=document.querySelectorAll(".js-form__response");o&&o.forEach((function(e){e.addEventListener("click",(function(e){const t=e.target;if(!t.closest("a")){if(t.classList.contains("js-alert__close")){e.stopPropagation();const o=t.closest(".js-form__alert");o&&(o.style.display="none")}t.classList.contains("js-form__alert")&&(t.style.display="none")}}))}))}))