!function(){const o=window.navigator.userAgent;Object.entries({android:/android/i,iphone:/iPhone/i,ipad:/iPad/i}).forEach((([n,i])=>{o.match(i)&&document.body.classList.add(`tec-is-${n}`)}))}(),window.tec=window.tec||{},window.tec.common=window.tec.common||{},window.tec.common.userAgent={};; (()=>{const e=document.querySelectorAll(".coblocks-animate");if("IntersectionObserver"in window){const t=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting&&(e.target.classList.add(e.target.dataset.coblocksAnimation),t.unobserve(e.target))}))}),{threshold:[.15]});e.forEach((e=>{t.observe(e)}))}else e.forEach((e=>{e.classList.remove("coblocks-animate"),delete e.dataset.coblocksAnimation}))})();; !function(){var t={30:function(){window.CTCTSupport={},function(t,e){e.init=function(){e.cache(),e.bindEvents()},e.cache=function(){e.cache={forms:[]};var t=document.querySelectorAll(".ctct-form-wrapper");t.length&&t.forEach(function(t){var n=t.querySelector("form");n&&e.cache.forms.push(n)}),e.cache.forms.forEach(function(t,n){e.cache.forms[n].honeypot=t.querySelector(".ctct_usage_field"),e.cache.forms[n].submitButton=t.querySelector("input[type=submit]"),e.cache.forms[n].recaptcha=t.querySelector(".g-recaptcha")}),e.timeout=null},e.setAllInputsValid=function(){e.cache.forms.forEach(function(t){var e=t.querySelectorAll(".ctct-invalid");Array.from(e).forEach(function(t){t.classList.remove("ctct-invalid")})})},e.processError=function(t){if(void 0!==t.id){var e=document.querySelectorAll("#"+t.id);Array.from(e).forEach(function(t){t.classList.add("ctct-invalid")})}},e.checkHoneypot=function(t,e,n){02&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"log",r=t.parentElement;r.querySelector("p.ctct-message")&&r.querySelector("p.ctct-message").remove();var o=document.createElement("p");o.setAttribute("class","ctct-message "+n),o.setAttribute("role",c),o.innerHTML=e;var a=document.createElement("button");a.setAttribute("class","button button-secondary ctct-dismiss ctct-dismiss-ajax-notice"),a.setAttribute("aria-label","Dismiss notification"),a.innerHTML="✕",o.prepend(a),t.parentElement.prepend(o),r.querySelector(".ctct-dismiss-ajax-notice").addEventListener("click",function(){this.parentElement.remove()})},e.submitForm=function(n){var c=new FormData,r=new FormData(n),o=new URLSearchParams(r);c.append("action","ctct_process_form"),c.append("data",o);var a={method:"POST",body:c};fetch(t.ajaxurl,a).then(function(t){return t.json()}).then(function(t){return void 0!==t.status&&("success"!==t.status?(void 0!==t.errors?(e.setAllInputsValid(),t.errors.forEach(e.processError)):e.showMessage(n,t.message,"ctct-error","alert"),!1):(n.style.display="none",e.showMessage(n,t.message,"ctct-success","status"),void n.reset()))})},e.handleSubmission=function(t,n){if(!e.validateSubmission(n))return!1;clearTimeout(e.timeout),n.checkValidity()&&(e.timeout=setTimeout(e.submitForm,500,n))},e.bindEvents=function(){e.cache.forms.forEach(function(t){t.querySelector("[type=submit]").addEventListener("click",function(n){var c=t.getAttribute("data-doajax");c&&"on"===c&&(n.preventDefault(),e.handlerecaptcha(t)),t.classList.contains("ctct-submitted")||(t.classList.add("ctct-submitted"),e.handleSubmission(n,t),t.classList.remove("ctct-submitted"))}),t.honeypot.addEventListener("change",function(n){e.checkHoneypot(n,t.honeypot,t.submitButton)}),t.honeypot.addEventListener("keyup",function(n){e.checkHoneypot(n,t.honeypot,t.submitButton)})})},e.handlerecaptcha=function(t){"undefined"!=typeof recaptchav3&&void 0!==recaptchav3.site_key&&"undefined"!=typeof grecaptcha&&grecaptcha.ready(function(){try{grecaptcha.execute(recaptchav3.site_key,{action:"constantcontactsubmit"}).then(function(e){var n=document.createElement("input");n.setAttribute("type","hidden"),n.setAttribute("name","g-recaptcha-response"),n.setAttribute("value",e),t.append(n.cloneNode(!0))})}catch(t){console.log(t)}})},e.init()}(window,window.CTCTSupport)}},e={};function n(c){var r=e[c];if(void 0!==r)return r.exports;var o=e[c]={exports:{}};return t[c](o,o.exports,n),o.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var c in e)n.o(e,c)&&!n.o(t,c)&&Object.defineProperty(t,c,{enumerable:!0,get:e[c]})},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";n(30)}()}(); //# sourceMappingURL=ctct-plugin-frontend.min.js.map; /** * File primary-navigation.js. * * This files only gets added to themes that support the mobile nav on side */ ( function() { /** * Menu Toggle Behaviors * * @param {Element} element */ var navMenu = function ( buttonId, inputId ) { var wrapper = document.body; var toggleButton = document.getElementById( buttonId ); var toggleInput = document.getElementById( inputId ); if ( toggleButton ) { toggleButton.onclick = function() { if ( true == toggleInput.checked ) { wrapper.classList.remove( 'lock-scrolling' ); } else { wrapper.classList.add( 'lock-scrolling' ); } toggleButton.focus(); } } document.addEventListener( 'click', function( event ) { // If target onclick is with # within the href attribute if ( event.target.hash && event.target.hash.includes( '#' ) ) { wrapper.classList.remove( 'lock-scrolling' ); if (toggleInput) { toggleInput.checked = false; } // Wait 550 and scroll to the anchor. setTimeout(function () { var anchor = document.getElementById(event.target.hash.slice(1)); anchor.scrollIntoView(); }, 550); } } ); } window.addEventListener( 'load', function() { navMenu( 'toggle-menu', 'toggle' ); navMenu( 'toggle-cart', 'woocommerce-toggle' ); } ); } )();;