1document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("form.bp-form-el").forEach(e=>{var t;e.closest(".bp-form-steps")||r(e)});var e=getObject(".bp-form-steps"),t=e?getObject("form",e):null;function a(r){var e=()=>{let e=r.value.replace(/\D/g,""),t="";6<(e=(e=11===e.length&&"1"===e.charAt(0)?e.slice(1):e).slice(0,10)).length?t="("+e.slice(0,3)+") "+e.slice(3,6)+"-"+e.slice(6):3<e.length?t="("+e.slice(0,3)+") "+e.slice(3):e.length&&(t="("+e);var a=r.selectionStart===r.value.length;t!==r.value&&(r.value=t,a)&&r.setSelectionRange(t.length,t.length),r.setCustomValidity(r.value&&!/^\([2-9]\d{2}\) [2-9]\d{2}-\d{4}$/.test(r.value)?"Please enter a valid 10-digit phone number.":"")};r.addEventListener("input",e),r.addEventListener("blur",e)}function r(t){t.addEventListener("submit",e=>{e.defaultPrevented||(e.preventDefault(),s(t))})}function n(e){e.dataset.bpSubmitting="1",e.querySelectorAll('button[type="submit"], input[type="submit"], .bp-submit').forEach(e=>{e.disabled=!0})}function l(e){delete e.dataset.bpSubmitting,e.querySelectorAll('button[type="submit"], input[type="submit"], .bp-submit').forEach(e=>{e.disabled=!1})}function s(a){var e,t;"1"!==a.dataset.bpSubmitting&&(n(a),i(a,"submitting"),u(a),e=new FormData(a),fetch("/wp-json/bp/v1/contact",{method:"POST",body:e,credentials:"same-origin",headers:{Accept:"application/json"}}).then(t=>t.json().then(e=>({ok:t.ok,data:e}))).then(({ok:e,data:t})=>{e&&t&&t.status?"mail_sent"===t.status?(a.dispatchEvent(new CustomEvent("bp:form:sent",{bubbles:!0,detail:t})),t.redirect?window.location.href=t.redirect:(i(a,"mail-sent-ok"),o(a,t.message||"Thank you. Your message has been sent."),a.reset(),l(a))):("validation_failed"===t.status?(i(a,"invalid"),o(a,t.message||"Please correct the highlighted fields."),Array.isArray(t.invalid)&&t.invalid.forEach(e=>{var e=a.querySelector('[name="'+e+'"]');e&&e.classList.add("bp-not-valid")})):(i(a,"failed"),o(a,t.message||"Sorry, your message could not be sent.")),l(a)):(i(a,"failed"),o(a,"Sorry, something went wrong. Please try again or call us."),l(a))}).catch(()=>{i(a,"failed"),o(a,"Your message may not have gone through. If you donât hear back from us shortly, please try again or give us a call."),l(a)}))}function i(e,t){e.classList.remove("init","submitting","invalid","mail-sent-ok","failed","validating"),e.classList.add(t)}function o(e,t){var e=e.querySelector(".bp-response");e&&(e.textContent=t)}function u(e){var t=e.querySelector(".bp-response");t&&(t.textContent=""),e.querySelectorAll(".bp-not-valid").forEach(e=>e.classList.remove("bp-not-valid"))}function c(e,r){var t=r.closest("article")||r.parentElement||document;let a=getObject("#bpLogoClip rect",t)||null,n=getObject(".bp-progress__bar > span",t)||getObject(".bp-progress__bar",t)||null,l=[...e.querySelectorAll(".bp-step")],s=e=>e&&e.classList&&e.classList.contains("bp-step-included"),i=e=>s(e.nextElementSibling)?e.nextElementSibling:null,o=(e,t)=>t?(e.removeAttribute("hidden"),e.style.display=""):(e.setAttribute("hidden",""),e.style.display="none"),u=(()=>{let e=l.map(e=>{var t=i(e),e=e.hasAttribute("data-progress")?e:t&&t.hasAttribute("data-progress")?t:null,t,e;return e&&(e=(t=(e.getAttribute("data-progress")||"").trim())?parseFloat(t.replace("%","")):NaN,Number.isFinite(e))&&0<=e?e:null});var t=e.filter(e=>null!=e),a=e.length-t.length;if(!t.length)return e.map(()=>100/e.length);var t=t.reduce((e,t)=>e+t,0);let r=a?(100-t)/a:0;var t=e.map(e=>null==e?r:e);let n=t.reduce((e,t)=>e+t,0);return Number.isFinite(n)&&0!==n?t.map(e=>e/n*100):e.map(()=>100/e.length)})(),c=0,d=!1,p=t=>{let a=0;for(let e=0;e<t;e++)a+=u[e]||0;return Math.max(0,Math.min(100,+a.toFixed(4)))},b=(a&&(a.style.transformOrigin="left center",a.style.transition="transform 2s ease",a.style.transform="scaleX(1)",setTimeout(()=>a.style.transform="scaleX(0)",2e3)),(e=!1)=>{var e=e?100:d?p(c):0;a&&(a.style.transform=`scaleX(${e/100})`),n&&(n.style.width=e+"%")}),m=a=>{l.forEach((e,t)=>{var t=t===a,e=(o(e,t),i(e));e&&o(e,t)}),r.dataset.current=a;var e=l[a],t=i(e),t=t&&t.querySelector(".bp-prev")||e.querySelector(".bp-prev");t&&(t.disabled=0===a),b()},v=e=>{var e=l[e],t=i(e),e=[...e.querySelectorAll("input,select,textarea"),...t?[...t.querySelectorAll("input,select,textarea")]:[]];let a=!0,r=null;
1return e.forEach(e=>{var t;!e.offsetParent||e.disabled||e.checkValidity()||(a=!1,r=r||e)}),!a&&r&&r.reportValidity(),a};e.addEventListener("click",e=>{e.target.classList.contains("bp-next")&&(e.preventDefault(),v(c)&&(d=!0,c=Math.min(c+1,l.length-1),m(c)),animateScroll(".bp-progress")),e.target.classList.contains("bp-prev")&&(e.preventDefault(),c=Math.max(c-1,0),m(c),animateScroll(".bp-progress"))}),e.addEventListener("submit",e=>{var t=l.length-1;c===t?v(c)?b(!0):e.preventDefault():(e.preventDefault(),d=!0,c=Math.min(c+1,t),m(c))}),e.addEventListener("bp:form:sent",()=>{c=0,d=!1,m(c)}),m(0)}t&&(r(t),c(t,e)),document.querySelectorAll('form.bp-form-el input[type="tel"]').forEach(a)});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.