',!e.getElementById("vf-anti-zoom-style")){const st=e.createElement("style");st.id="vf-anti-zoom-style",st.textContent="@media(max-width:1024px){.vf-anti-zoom input,.vf-anti-zoom textarea,.vf-anti-zoom select{font-size:16px!important;-webkit-text-size-adjust:100%}}",e.head.appendChild(st)}i.appendChild(r),L(i,r),a.hideFor(r);const s=r.querySelector(".vf-loc-input"),d=r.querySelector(".vf-loc-drop"),c=r.querySelector(".vf-loc-helper"),p=r.querySelector(".vf-loc-chip"),f=r.querySelector(".vf-loc-chip-val"),v=r.querySelector(".vf-loc-loading"),h=r.querySelector(".vf-loc-error"),u=r.querySelector(".vf-loc-btn"),m=r.querySelector(".vf-loc-inputwrap"),g=r.querySelector(".vf-loc-main"),x=r.querySelector(".vf-loc-done"),b=r.querySelector(".vf-loc-done-val"),y=r.querySelector(".vf-loc-fallback a"),D=r.querySelector(".vf-loc-change"),F=r.querySelector(".vf-form-card");let w=null,_=null,z=null,E=null;function T(){v.classList.remove("show")}function j(e){h.textContent=e,h.style.display="block",T()}function q(){h.style.display="none"}function A(e){const t=["sublocality_level_1","locality","administrative_area_level_3"];for(const n of t){const t=e.find(e=>e.types.includes(n));if(t)return t.long_name}return""}function G(){requestAnimationFrame(()=>{requestAnimationFrame(()=>{try{const t=e=>e.parentElement||e.getRootNode&&e.getRootNode().host||null,n=e=>{try{const t=getComputedStyle(e);return/(auto|scroll)/.test(t.overflowY)&&e.scrollHeight>e.clientHeight+4}catch(e){return!1}};let o=t(u);for(let a=0;a<30&&o&&o!==e.documentElement&&o!==e.body;a++){try{!n(o)&&o.scrollTop&&(o.scrollTop=0)}catch(e){}o=t(o)}let a=null,i=u;for(let e=0;e<30&&i;e++){if(i.classList&&i.classList.contains("vfrc-chat--dialog")){a=i;break}i=t(i)}if(!a||!n(a)){let o=t(u);for(let i=0;i<30&&o&&o!==e.documentElement&&o!==e.body;i++){if(n(o)){a=o;break}o=t(o)}}if(!a||!n(a))return;const r=a.getBoundingClientRect(),s=u.getBoundingClientRect().bottom-r.bottom+24;s>0&&a.scrollTo({top:a.scrollTop+s,behavior:"smooth"})}catch(e){}})})}function H(t){z&&(v.querySelector("span").textContent="Getting location details...",v.classList.add("show"),d.classList.remove("show"),s.classList.remove("open"),z.getDetails({placeId:t.place_id,fields:["address_components","formatted_address","geometry","name"],sessionToken:E},(t,i)=>{if(T(),i===google.maps.places.PlacesServiceStatus.OK&&t){const i={formattedAddress:t.formatted_address,suburb:A(t.address_components||[])||t.name||"",lat:t.geometry.location.lat(),lng:t.geometry.location.lng()};w=i,s.value=t.formatted_address,f.textContent=i.formattedAddress,p.classList.add("show"),m.style.display="none",c.classList.remove("show"),u.disabled=!1,q(),E=new google.maps.places.AutocompleteSessionToken,G()}else j("Could not get location details. Please try another suburb.")}))}function B(t){d.innerHTML="";const V=(t||[]).filter(p2=>(p2.types||[]).some(q2=>["sublocality","sublocality_level_1","locality","neighborhood"].includes(q2)));if(0===V.length)return d.innerHTML='
No suburbs found. Try a different spelling.
',d.classList.add("show"),void s.classList.add("open");V.slice(0,2).forEach(t=>{const n=e.createElement("div");n.className="vf-loc-item",n.innerHTML='',n.querySelector(".vf-loc-item-main").textContent=t.structured_formatting.main_text,n.querySelector(".vf-loc-item-sec").textContent=t.structured_formatting.secondary_text,n.addEventListener("click",()=>H(t)),n.addEventListener("touchstart",()=>{n.style.background="#dbeafe"},{passive:!0}),n.addEventListener("touchend",()=>{n.style.background=""},{passive:!0}),d.appendChild(n)}),d.classList.add("show"),s.classList.add("open")}return D.addEventListener("click",()=>{w=null,p.classList.remove("show"),m.style.display="",u.disabled=!0,q(),s.focus()}),y.addEventListener("click",e=>{e.preventDefault(),t.interact({type:"captured",payload:{locationFallback:!0}}),n.blurActive(),o.show(),n.disable()}),u.onclick=()=>{w?(q(),S("formattedAddress",w.formattedAddress),S("suburb",w.suburb),S("googleLat",w.lat.toString()),S("googleLong",w.lng.toString()),b.textContent=w.formattedAddress,g.style.opacity="0",setTimeout(()=>{g.style.display="none",x.classList.add("show"),F.style.padding="0",F.style.border="none",F.style.background="transparent"},250),n.blurActive(),o.show(),n.disable(),t.interact({type:"captured",payload:{formattedAddress:w.formattedAddress,suburb:w.suburb,latitude:w.lat,longitude:w.lng,locationConfirmed:!0}})):j("Please select your suburb before continuing.")},async function(){try{await new Promise((t,n)=>{if(window.google&&window.google.maps)return void t();const o=e.createElement("script");o.src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC51PJx9faiS3ptAxYuMfkYKKtTU00Tz-Q&libraries=places",o.onload=()=>t(),o.onerror=()=>n(new Error("Failed to load Google Maps")),e.head.appendChild(o)}),_=new google.maps.places.AutocompleteService;const t=e.createElement("div");t.style.display="none",e.body.appendChild(t),z=new google.maps.places.PlacesService(t),E=new google.maps.places.AutocompleteSessionToken,function(){let t;s.addEventListener("input",()=>{const e=s.value.trim();return clearTimeout(t),0===e.length?(c.classList.remove("show"),d.classList.remove("show"),void s.classList.remove("open")):(c.textContent="Select your suburb from the suggestions below",c.classList.add("show"),void(t=setTimeout(()=>{var t;e.length>=1&&(t=e,_&&_.getPlacePredictions({input:t,componentRestrictions:{country:"za"},types:["(regions)"],sessionToken:E},(e,t)=>{t===google.maps.places.PlacesServiceStatus.OK&&e?B(e):t===google.maps.places.PlacesServiceStatus.ZERO_RESULTS?(d.innerHTML='
No suburbs found. Try a different spelling.
',d.classList.add("show"),s.classList.add("open")):(d.classList.remove("show"),s.classList.remove("open"))}))},300)))}),s.addEventListener("keydown",e=>{" "!==e.key&&32!==e.keyCode||e.stopPropagation()}),e.addEventListener("click",e=>{m.contains(e.target)||(d.classList.remove("show"),s.classList.remove("open"))})}()}catch(e){j("Failed to load location services. Please refresh and try again.")}}(),()=>{o.show(),n.disable()}}},z={name:"calendar-picker",type:"response",match:({trace:e})=>"calendar"===e?.type||"calendar-picker"===e?.payload?.name,render:({element:i})=>{o.hide(),n.enable();const r=e.createElement("div");if(r.className="vf-wide-card",r.innerHTML='
`,i.appendChild(m),L(i,m),a.hideFor(m)}}}const q=j({name:"ext_progress_step1",step:2,label:"Tell us what you need done"}),A=j({name:"ext_progress_step2",step:3,label:"Where and when you need help"});t=window.voiceflow.chat,t.load({verify:{projectID:"6a1d7b09a2bdb2f81d8077cd"},url:"https://general-runtime.sanlamstudios.voiceflow.com",versionID:"production",assistant:{persistence:"memory",extensions:[y,w,q,A,_,z,E,M,T,...TRK]}}).then(()=>{e.querySelectorAll(".launch_jess").forEach(e=>e.addEventListener("click",()=>t.open()))})},e.body.appendChild(o)}()}(document);