/* growform client2 bundle.url: https://assets.growform.co/9bc702c-mh3cgmgj/form.bundle.js resolve.source: kv resolve.at: 2025-10-28T00:16:47.179Z form.source: api cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "6489ae4428ce2f000b8b2bdd"; var FORM_BUNDLE_URL = "https://assets.growform.co/9bc702c-mh3cgmgj/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"6489ae4428ce2f000b8b2bdd","steps":[{"id":"102daf0967737e31e8e64e72","name":"Unnamed step 1","sortOrder":1},{"id":"339389c2c7fafcecd3921aab","name":"Unnamed step 2","sortOrder":2},{"id":"67c9b3f395c10e56eec198e6","name":"Unnamed step 3","sortOrder":3},{"id":"f11ab92cc6e141423be7c10e","name":"Unnamed step 4","sortOrder":4},{"id":"3817797eb6fe48a97a0db0bf","name":"Unnamed step 5","sortOrder":5}],"formName":"Solar 1","fields":{"decorative text_467388329589508":{"type":"Decorative Paragraph","value":"Tell us a few details and we'll work out how much you can save","width":12,"step":"header","sortOrder":3,"fieldStyle":{"fontSize":{"value":"15","unit":"px"},"fontWeight":"Bold"},"stepId":"header"},"decorative text_405809205132314":{"type":"Decorative Header","value":"Find Out How Much You Could Save With Solar Energy","width":12,"step":"header","sortOrder":2,"fieldStyle":{"fontSize":{"value":"27","unit":"px"},"fontWeight":"Bold"},"margins":{"marginTop":null},"stepId":"header"},"decorative text_797442086161467":{"type":"Decorative Header","value":"How much is your monthly electricity bill?","width":12,"step":3,"sortOrder":1,"fieldStyle":{"fontSize":{"value":"21","unit":"px"},"fontWeight":"Bold"},"stepId":"67c9b3f395c10e56eec198e6"},"decorative text_576559560634956":{"type":"Decorative Header","value":"Where shall we send your estimate?","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":"22","unit":"px"},"fontWeight":"Bold"},"stepId":"3817797eb6fe48a97a0db0bf"},"email_907058157108782":{"type":"Email","label":"Your email address","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":3,"stepId":"3817797eb6fe48a97a0db0bf"},"phone_589083232390193":{"type":"Phone","label":"Your phone number","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":4,"helperText":"","stepId":"3817797eb6fe48a97a0db0bf"},"text_373461752242760":{"type":"Text","label":"Your name","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":2,"validationRules":{"required":true},"stepId":"3817797eb6fe48a97a0db0bf"},"decorative text_194067845817258":{"type":"Decorative Paragraph","value":"Thanks for getting in touch. We'll be in contact soon with your free solar report with 24-48 hours.","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete"},"decorative divider_421201658947640":{"type":"Decorative Divider","width":12,"margins":{"marginBottom":0,"marginTop":5},"step":"header","sortOrder":4,"fieldStyle":{"backgroundColor":"#ffffff","width":"60"},"stepId":"header"},"decorative image_263041088512522":{"type":"Decorative Image","value":"https://res.cloudinary.com/dqnjggegp/image/upload/v1615659139/uploads/yanils3kvioymq17ve3h.png","width":12,"imageWidth":40,"imageHeight":40,"imageInitialHeight":140,"imageInitialWidth":140,"step":"header","sortOrder":1,"stepId":"header"},"decorative text_56213455664147":{"type":"Decorative Header","value":"Do you own the property?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":"21","unit":"px"},"fontWeight":"Bold"},"stepId":"339389c2c7fafcecd3921aab"},"decorative header_838442739020120":{"type":"Decorative Header","value":"What type of property do you live in?","width":12,"sortOrder":1,"step":1,"stepId":"102daf0967737e31e8e64e72"},"buttons_931266633117766":{"type":"Buttons","validationRules":{"required":false},"label":"What type of premises need our attention?","width":12,"hideLabel":true,"multiple":false,"buttonStyle":{"buttonsPerRow":"3","height":"100"},"options":[{"text":"House","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1615660851/uploads/vuxlseqvthtep91rzziy.png","id":"d36bb3e1c88f838bc4107d0a"},{"text":"Bungalow","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1615660845/uploads/gpkuc9zudnbe3sjcfvmg.png","id":"81c59bac55d8d6f83da9611c"},{"text":"Flat / apartment","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1615660836/uploads/wwvzqqx2fv5m6sj7dgiu.png","id":"a5d512c14f96741d85c38e54"}],"step":1,"sortOrder":2,"stepId":"102daf0967737e31e8e64e72"},"single select_187050636471098":{"type":"Single Select","width":12,"label":"Ownership status","options":[{"text":"Yes - I'm a homeowner","id":"7f7bf629dd2d920e36330168"},{"text":"No - I rent the property","id":"58df696c3e665519ff08d583"}],"helperText":null,"step":2,"sortOrder":2,"stepId":"339389c2c7fafcecd3921aab"},"single select_974125325347815":{"type":"Single Select","width":12,"label":"Your monthly electricity bill","options":[{"text":"Less than $30","id":"6299a048eb38718099661be0"},{"text":"$30 - $60","id":"32c564c719e7fd3d882e6d2f"},{"text":"$60 - $90","id":"122d90b68e3e77fa9c7f7717"},{"text":"$90 - $120","image":null,"id":"c4c9844e439e5b4899016219"},{"text":"$120 - $150","image":null,"id":"4d26042110f142ded7fe0ddc"},{"text":"$150 - $180","image":null,"id":"b0c282a4f2650060c1c54426"},{"text":"$180+","image":null,"id":"195d15b398e367cc88a85cf0"}],"helperText":null,"step":3,"sortOrder":2,"stepId":"67c9b3f395c10e56eec198e6"},"decorative header_903079413764994":{"type":"Decorative Header","value":"Where is your property?","width":12,"sortOrder":1,"step":4,"stepId":"f11ab92cc6e141423be7c10e"},"address_531534375885751":{"type":"Address","label":"What is your address?","width":12,"step":4,"sortOrder":2,"helperText":"We'll use this to work out how much sun the property gets","stepId":"f11ab92cc6e141423be7c10e"},"decorative header_206624343366428":{"type":"Decorative Header","value":"Thanks for your request!","width":12,"step":"complete","sortOrder":1,"fieldStyle":{"fontSize":{"value":22,"unit":"px"}},"stepId":"complete"}},"options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true},"continueButton":{"continueText":"Next","submitText":"Send me my estimate!","backText":"Back"},"customStyles":{"width":{"unit":"px","value":550},"parentContainerMinHeight":{"value":0,"unit":"px"},"parentBackgroundImage":{"imageInitialHeight":675,"imageInitialWidth":1200,"imageHeight":675,"imageWidth":1200,"imageUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1615660050/uploads/ihistpzwcqm50isa7jhn.jpg","useTint":true,"parentBackgroundImageTintStrength":30},"headerMarginTop":70,"parentBackgroundColor":"#262626","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#f8b704","bodyTextColor":"#ffffff","parentContainerBackgroundType":"image","innerFormBackgroundType":"none","buttonBorderColor":"#ffffff","buttonColorSelected":"#e2d4b0","buttonBorderColorSelected":"#f8b704","footerMarginBottom":70,"errorColor":"#ff4e4e","buttonColor":"#ffffff","inputLabelColor":"#a3a3a3","inputTextColor":"#000000","buttonTextColor":"#000000"},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":""}]},"ownedByUser":"62da640d475fb200ac831089","personalisation":{"form_related_to":"Solar energy"},"created":"2023-06-14T12:10:44.851Z","__v":0,"lastEdited":"2023-06-17T13:29:57.666Z","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1742565343/growform-production/form-screenshots/6489ae4428ce2f000b8b2bdd.png","leadsCount":0,"isActive":true},"accountIsActive":true,"accountIsFreeTrial":false}}; // ---- Utils ---- function safeJSONStringify(obj) { return JSON.stringify(obj) .replace(/<\/(script|style)/gi, '<\\/$1') .replace(//g, '--\\>') .replace(/\u2028/g, '\\u2028') .replace(/\u2029/g, '\\u2029'); } function preloadScript(href) { try { if (!href) return; if (document.querySelector('link[rel="preload"][href="' + href + '"]')) return; var l = document.createElement("link"); l.rel = "preload"; l.as = "script"; l.href = href; l.crossOrigin = ""; // allow cache reuse in iframe document.head.appendChild(l); } catch (_) {} } function parseQuery() { var out = {}; try { if (!window.location.search) return out; var usp = new URLSearchParams(window.location.search); usp.forEach(function (v, k) { out[k] = v; }); } catch (_) {} return out; } function buildIframeHTML(opts) { var html = '\n' + '\n' + '\n' + ' \n' + ' \n' + ' \n' + '\n' + '\n' + ' \n' + '
\n' + '