/* growform client2 bundle.url: https://assets.growform.co/cee2d99-mhw6hzfz/form.bundle.js resolve.source: kv resolve.at: 2025-12-07T20:53:10.590Z form.source: api cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "65a4046b4b9e70000b218e3e"; var FORM_BUNDLE_URL = "https://assets.growform.co/cee2d99-mhw6hzfz/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"65a4046b4b9e70000b218e3e","steps":[{"id":"60c2d61a66a74bcb70ce6e49","name":"Type of roof","sortOrder":1,"copyOf":"acd45227cac332d443c4e1db"},{"id":"36d17c8f846ee8ab5e7211d2","name":"Size of solar panel system","sortOrder":2},{"id":"5d09514394e4e0de510d51fa","name":"Batter storage options","sortOrder":3},{"id":"60cdeac2cb59510ad5732c20","name":"Electricity Price ","sortOrder":4},{"id":"d0c87e797eff947924afa983","name":"Electricity Usage ","sortOrder":5},{"id":"5979b15052fff0b8145d0206","name":"Postcode","sortOrder":6},{"id":"8d2309d21d8fe8e0bc1f81da","name":"Address","sortOrder":7},{"id":"495c9de961a24f7195cd4ced","name":"loading ","sortOrder":8},{"id":"ff4727c9498ef9c0a6c989d9","name":"Contact info","sortOrder":9}],"formName":"lead gen 1","fields":{"Decorative Header_52363373085874":{"type":"Decorative Header","value":"Thanks for your enquiry!","width":12,"step":"complete","sortOrder":1,"fieldStyle":{"fontSize":{"value":"22","unit":"px"},"fontWeight":"Bold"},"margins":{"marginTop":20},"stepId":"complete"},"Decorative Header_576559560634956":{"type":"Decorative Header","value":"Where shall we send your solar quote ?","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"ff4727c9498ef9c0a6c989d9","margins":{"marginBottom":5}},"email_907058157108782":{"type":"Email","label":"Your email address","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":3,"stepId":"ff4727c9498ef9c0a6c989d9"},"phone_589083232390193":{"type":"Phone","label":"Your phone number","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":4,"helperText":"","stepId":"ff4727c9498ef9c0a6c989d9","defaultCountryFormat":"gb"},"text_373461752242760":{"type":"Text","label":"Your name","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":2,"validationRules":{"required":true},"stepId":"ff4727c9498ef9c0a6c989d9"},"Decorative_Paragraph_194067845817258":{"type":"Decorative Paragraph","value":"Thanks for getting in touch. We will email your quote shortly. We will also send you an text message confirming your quote has been sent.","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete"},"decorative_header_892646863007116":{"type":"Decorative Header","value":"Get Your Instant Quote ","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"60c2d61a66a74bcb70ce6e49","margins":{"marginBottom":6}},"buttons_88398974892131":{"type":"Buttons","validationRules":{"required":false},"label":"Roof type","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Square","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes","sq_buttonsPerRow":"4"},"options":[{"text":"Flat roof","id":"8520042178329cb66678244d","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1689066640/uploads/d1gx37syjvpyj1xs8asb.png"},{"text":"1 story pitched","id":"4538c1b5d2e2a8b4633b45a6","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1689066823/uploads/xlvgkwawxlram0phefst.png"},{"text":"2 storey pitched","id":"7a1aa416126e2e2cbb386e98","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1689066740/uploads/u2ayzu8ptyvdl2zedhja.png"},{"text":"Ground Mount","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1711012411/uploads/han4n2aqbskyeo1dnyvm.png","id":"3db1a67498ca8c1f683dd653"}],"stepId":"60c2d61a66a74bcb70ce6e49","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_borderRadius":0,"size":"50%"}},"decorative_header_59270480717140":{"type":"Decorative Header","value":"What is the street address ?","width":12,"sortOrder":1,"stepId":"8d2309d21d8fe8e0bc1f81da","fieldStyle":{"fontSize":{"value":19,"unit":"px"}},"margins":{"marginBottom":5}},"address_947523623991266":{"type":"Address","label":"Street Address ","width":12,"stepId":"8d2309d21d8fe8e0bc1f81da","sortOrder":2,"helperText":"We'll use this to work out how much sun the property gets"},"decorative_header_580047980410770":{"type":"Decorative Header","value":"Size of Solar Panels","width":12,"stepId":"36d17c8f846ee8ab5e7211d2","sortOrder":1},"decorative_header_915946124759361":{"type":"Decorative Header","value":"Battery Storage Options","width":12,"stepId":"5d09514394e4e0de510d51fa","sortOrder":1},"single_select_432941386177295":{"type":"Single Select","width":12,"label":"Choose solar panel size","options":[{"text":"Not sure ","id":"d1b2fe1e4183a95895e421f1"},{"text":"1.29kw (3 panels)","id":"098643d1d13b805b6374103b"},{"text":"1.72kw (4 panels)","id":"d7d20354c8933c6adcf4a5fb"},{"text":"2.15kw (5 panels)","image":null,"id":"9a2bc52dd9fb57e52ae730c0"},{"text":"2.58kw (6 panels)","image":null,"id":"3494efa99b194bc3d535c299"},{"text":"3.01kw (7 panels)","image":null,"id":"2f8878f4611decfc73047f37"},{"text":"3.44kw (8 panels)","image":null,"id":"096b108a9221cdf72c7f7e7f"},{"text":"3.87kw (9 panels)","image":null,"id":"66b8e24304a2a06d738f38dc"},{"text":"4.3kw (10 panels)","image":null,"id":"586cd553e1b46c7356ecec07"},{"text":"4.73kw (11 panels)","image":null,"id":"b996a46c1ec6349c49d4b5c9"},{"text":"5.16kw (12 panels)","image":null,"id":"e10b4bc2c55e2c3012856b9e"},{"text":"5.59kw (13 panels)","image":null,"id":"0f4e426d7c032e134028a220"},{"text":"6.02kw (14 panels)","image":null,"id":"c4dd165f1e8c31b8ff4ac267"},{"text":"6.45kw (15 panels)","image":null,"id":"27e6c25db7590dbde13919f2"},{"text":"6.88kw (16 panels)","image":null,"id":"c97bb04c112c0fef74ca6aec"},{"text":"7.31kw (17 panels)","image":null,"id":"e0795283abe96e72c1fe1165"},{"text":"7.74kw (18 panels)","image":null,"id":"a0cdafbf526d8c9e4b194d97"},{"text":"8.17kw (19 panels)","image":null,"id":"0f625ed15de2c017f1e51c25"},{"text":"8.6kw (20 panels)","image":null,"id":"d493804255495128404bdbf7"},{"text":"More than 20 panels","image":null,"id":"9e537097a9291aba69db410c"}],"helperText":null,"stepId":"36d17c8f846ee8ab5e7211d2","sortOrder":2},"single_select_254998672588782":{"type":"Single Select","width":12,"label":"Choose battery size","options":[{"text":"No battery","id":"d1b2fe1e4183a95895e421f1"},{"text":"Not sure","id":"098643d1d13b805b6374103b"},{"text":"5kwh","id":"d7d20354c8933c6adcf4a5fb"},{"text":"10kwh","image":null,"id":"bfe5860f81c5fd73ff74f9b0"},{"text":"15kwh","image":null,"id":"45583ee7720ab9e3b46bf6a9"},{"text":"20kwh","image":null,"id":"8b4b2cad4afb41845da5a0bc"},{"text":"25kwh","image":null,"id":"c626176ceb2da3c9ba95f254"}],"helperText":null,"stepId":"5d09514394e4e0de510d51fa","sortOrder":2},"decorative_image_502001706288622":{"type":"Decorative Image","value":"https://res.cloudinary.com/dqnjggegp/image/upload/v1711013430/uploads/avux5vehisunlbdopf9m.png","width":12,"imageWidth":710,"imageHeight":61,"imageInitialHeight":61,"imageInitialWidth":710,"stepId":"complete","sortOrder":3},"decorative_header_935547134325038":{"type":"Decorative Header","value":"Where will your panels be mounted ?","width":12,"stepId":"60c2d61a66a74bcb70ce6e49","sortOrder":3},"decorative_header_476647784644174":{"type":"Decorative Header","value":"Your Electricity Usage ","width":12,"sortOrder":1,"stepId":"d0c87e797eff947924afa983"},"decorative_header_993106347820804":{"type":"Decorative Header","value":"Please, tell us about your widgets...","width":12,"sortOrder":1,"stepId":"60cdeac2cb59510ad5732c20"},"single_select_177775641378472":{"type":"Single Select","width":12,"label":"What is your annual electricity usage ","options":[{"text":"£50 - £100 per month ","id":"14647fe06424216450be905f"},{"text":"£100 - £150 per month ","id":"e5b6132af433c673147fc14a"},{"text":"£150 - £200 per month ","id":"5e08148c15712bf29f117b31"},{"text":"£200 - £250 per month ","image":null,"id":"6a01186b9d1ee358b7a26a84"},{"text":"£300 - £350 per month ","image":null,"id":"81e398d59a0aca83beb2eee5"},{"text":"£350 - £400 per month ","image":null,"id":"62467389d68d79126b462994"},{"text":"£400 - £450 per month ","image":null,"id":"ffcb2804c0e11b5ab22b43a4"},{"text":"More than £450 per month ","image":null,"id":"34e7345b43d03efad9baa6d3"}],"helperText":null,"stepId":"d0c87e797eff947924afa983","sortOrder":2},"number_507745827885535":{"type":"Number","label":"What is your electricity price per unit. (eg 0.34p)","currencySymbol":"None","width":12,"stepId":"60cdeac2cb59510ad5732c20","sortOrder":2},"decorative_header_693231358061019":{"type":"Decorative Header","value":"What is your Postcode ?","width":12,"sortOrder":1,"stepId":"5979b15052fff0b8145d0206"},"zipcode_108698726663847":{"type":"Zipcode","label":"What is your postcode?","zipcodeFieldFormat":"postcode_uk","width":12,"stepId":"5979b15052fff0b8145d0206","sortOrder":2},"decorative_header_775012188108453":{"type":"Decorative Header","value":"Generating Your Solar Quote ","width":12,"sortOrder":1,"stepId":"495c9de961a24f7195cd4ced"},"decorative_loading animation_330713826656538":{"type":"Decorative Loading Animation","value":"This does not have a value","loaderOptions":{"color":"#838383","type":"Dots","size":30,"redirectAfter":"3s"},"width":12,"stepId":"495c9de961a24f7195cd4ced","sortOrder":2}},"options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true},"continueButton":{"continueText":"Next","submitText":"Get Quote","backText":"Back"},"customStyles":{"width":{"unit":"px","value":580},"parentContainerMinHeight":{"value":0,"unit":"px"},"parentBackgroundImage":{"imageInitialHeight":1362,"imageInitialWidth":2066,"imageHeight":1362,"imageWidth":2066,"imageUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1597337140/uploads/qmsfk98ank3wfp1ehvyg.jpg"},"headerMarginTop":11,"parentBackgroundColor":"#ffffff","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#f8c26e","bodyTextColor":"#fdfbfb","parentContainerBackgroundType":"none","innerFormBackgroundType":"none","buttonBorderColor":"#ff7500","buttonColorSelected":"#ffa659","buttonBorderColorSelected":"#ff7500","footerMarginBottom":21,"errorColor":"#ff4e4e","buttonColor":"#ff7500","buttonTextColor":"#ffffff","inputLabelColor":"#a3a3a3","inputTextColor":"#000000","defaultFont":"Mulish","sq_buttonFont":"Poppins","sq_buttonFontSize":15,"showShadows":"No","sq_buttonTextColor":"#343434","sq_buttonColor":"#FFFFFF","sq_buttonColorSelected":"#FFFFFF","sq_buttonBorderColor":"#DADADA","sq_buttonBorderColorSelected":"primary","sq_buttonBannerColor":"#FFFFFF","rt_buttonFont":"Poppins","rt_buttonFontSize":15,"rt_buttonColor":"#FFFFFF","rt_buttonColorSelected":"#FFFFFF","rt_buttonTextColor":"#343434","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"primary","inputLabelFont":"Poppins","inputFontSize":16,"continueSubmitButtonFontSize":15,"formMarginSide":1},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":""}]},"ownedByUser":"65a404564b9e70000b218e2d","personalisation":{"form_related_to":"Solar"},"created":"2024-01-14T15:57:31.045Z","__v":0,"lastEdited":"2024-10-27T07:34:33.706Z","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1742557465/growform-production/form-screenshots/65a4046b4b9e70000b218e3e.png","leadsCount":77,"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' + '