/* growform client2 bundle.url: https://assets.growform.co/c91850d-mgtknmzl/form.bundle.js resolve.source: memory resolve.at: 2025-10-17T07:19:17.616Z form.source: kv cache.age_ms: 5014 fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "68dda3d6c5a400626b8026e1"; var FORM_BUNDLE_URL = "https://assets.growform.co/c91850d-mgtknmzl/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"68dda3d6c5a400626b8026e1","options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true,"hideOnFirstStep":false},"continueButton":{"continueText":"Next","submitText":"Get My free 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":40,"parentBackgroundColor":"#ffffff","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#328e69","bodyTextColor":"#343434","parentContainerBackgroundType":"color","innerFormBackgroundType":"none","buttonBorderColor":"#328e69","buttonColorSelected":"#375646","buttonBorderColorSelected":"#328e69","footerMarginBottom":70,"errorColor":"#ff4e4e","buttonColor":"#328e69","buttonTextColor":"#ffffff","inputLabelColor":"#a3a3a3","inputTextColor":"#000000","defaultFont":"Montserrat","sq_buttonFont":"Poppins","sq_buttonFontSize":15,"showShadows":"Yes","sq_buttonTextColor":"#343434","sq_buttonColor":"#FFFFFF","sq_buttonColorSelected":"#FFFFFF","sq_buttonBorderColor":"#DADADA","sq_buttonBorderColorSelected":"primary","sq_buttonBannerColor":"#FFFFFF","rt_buttonFont":"Montserrat","rt_buttonFontSize":15,"rt_buttonColor":"#FFFFFF","rt_buttonColorSelected":"#FFFFFF","rt_buttonTextColor":"#343434","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"primary","inputLabelFont":"Montserrat","inputFontSize":16,"continueSubmitButtonFontSize":15,"buttonFont":"Montserrat","continueSubmitButtonFont":"Montserrat","buttonFontSize":16},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":"https://heritageroofingandbuildinglimited.co.uk/thank-you"}],"actionOnSubmit":"redirect"},"fields":{"Decorative Header_797442086161467":{"type":"Decorative Header","value":"Please enter your postcode","width":12,"step":2,"sortOrder":2,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"acd45227cac332d443c4e1db"},"Decorative Header_576559560634956":{"type":"Decorative Header","value":"Who will be receiving the quote?\n\n","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"ff4727c9498ef9c0a6c989d9"},"decorative_header_148937855441882":{"type":"Decorative Header","value":"What type of roofing service do you need?","width":12,"step":2,"sortOrder":2,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"normal"},"stepId":"2d95de6cbf33867267a18be6","margins":{"marginBottom":5}},"buttons_86552269379590":{"type":"Buttons","validationRules":{"required":true},"label":"Service Required","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes","sq_buttonsPerRow":"2","buttonsPerRow":"1"},"options":[{"text":"Completely Replace Roof","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"Repair Existing Roof","id":"8520042178329cb66678244d","image":null},{"text":"Flat Roofing","id":"7a1aa416126e2e2cbb386e98","image":null},{"text":"Other","image":null,"id":"7b0ad336bc19b25f7a0fbcf3"}],"stepId":"2d95de6cbf33867267a18be6","sortOrder":3,"hideLabel":true,"imageStyles":{"rt_width":27,"size":"150%"},"helperText":""},"decorative_header_508141053547316":{"type":"Decorative Header","value":"What type of building is this for?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"db0843d715ee92ab5f49e9cf","margins":{"marginBottom":5}},"buttons_198380269093926":{"type":"Buttons","validationRules":{"required":false},"label":"Domestic/Commercial","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"Home/ Residence","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"Business/ Commercial","id":"8520042178329cb66678244d","image":null}],"stepId":"db0843d715ee92ab5f49e9cf","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_width":27}},"decorative_header_838989067101723":{"type":"Decorative Header","value":"How tall is your house/ Building","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"48c438cfe957a9fb62db10c2","margins":{"marginBottom":5}},"buttons_543958597018123":{"type":"Buttons","validationRules":{"required":false},"label":"Height of property","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"1 story","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"2+ stories","id":"8520042178329cb66678244d","image":null}],"stepId":"48c438cfe957a9fb62db10c2","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_width":27}},"decorative_header_64137153211869":{"type":"Decorative Header","value":"What type of property do you have?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"b6b60548f25190f4a48e86b4","margins":{"marginBottom":5}},"buttons_22578659259132":{"type":"Buttons","validationRules":{"required":false},"label":"Type of property","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"Semi detached","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"Detached","id":"8520042178329cb66678244d","image":null},{"text":"Terraced","image":null,"id":"2d0ce93fb8c0db2f912c7b5f"},{"text":"Bungalow","image":null,"id":"120b08dec3296763ac39c69d"},{"text":"Flat","image":null,"id":"63ba49f275e99a7e68e9eda8"},{"text":"Other","image":null,"id":"81b04b5b7627640944e737c4"}],"stepId":"b6b60548f25190f4a48e86b4","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_width":27}},"zipcode_311883850004430":{"type":"Zipcode","label":"Postcode","zipcodeFieldFormat":"postcode_uk","width":12,"stepId":"acd45227cac332d443c4e1db","sortOrder":3,"hideLabel":false,"helperText":"â„šī¸ We ask for your postcode to check service availability and delivery costs."},"decorative_loading animation_593422689017549":{"type":"Decorative Loading Animation","value":"This does not have a value","loaderOptions":{"color":"#838383","type":"Dots","size":30,"redirectAfter":"2s"},"width":12,"stepId":"bd14aca8db02672f39ecac5c","sortOrder":1},"decorative_header_52775764107625":{"type":"Decorative Header","value":"Evaluating your requirements...","width":12,"stepId":"bd14aca8db02672f39ecac5c","sortOrder":2},"decorative_paragraph_730209127583047":{"type":"Decorative Paragraph","value":"Just give us a moment","width":12,"stepId":"bd14aca8db02672f39ecac5c","sortOrder":3},"decorative_header_148930010811201":{"type":"Decorative Header","value":"When are you looking to get started?\n","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"a71db1b161313a5e5111a31b","margins":{"marginBottom":5}},"buttons_800647576786751":{"type":"Buttons","validationRules":{"required":true},"label":"Urgency of work","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"ASAP","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"This Month ","id":"8520042178329cb66678244d","image":null},{"text":"Next Month ","image":null,"id":"a2ffadfbfd6d110e4f76dd34"},{"text":"The Future","image":null,"id":"3535bfbbcb899687730d4bbc"}],"stepId":"a71db1b161313a5e5111a31b","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_width":27},"helperText":""},"decorative_paragraph_468530557701446":{"type":"Decorative Paragraph","value":"Almost done 🎉","width":12,"stepId":"acd45227cac332d443c4e1db","sortOrder":1},"decorative_header_548854553348120":{"type":"Decorative Header","value":"We evaluated your property, how would you like to get a quote?\n","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"f5b33db1e499f8ace205db3c","margins":{"marginBottom":5}},"buttons_675892903456860":{"type":"Buttons","validationRules":{"required":true},"label":"preferred contact method","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"Phone Call","id":"4538c1b5d2e2a8b4633b45a6","image":null},{"text":"Text / SMS","id":"8520042178329cb66678244d","image":null},{"text":"Free Site Visit","image":null,"id":"a2ffadfbfd6d110e4f76dd34"}],"stepId":"f5b33db1e499f8ace205db3c","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_width":27},"helperText":"Let us know your preffered way to receive your quote."},"decorative_header_514410199652513":{"type":"Decorative Header","value":"Thanks! Whats the best number to reach you on?","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"0fff190f35bbac3dd6124226"},"phone_285082054665390":{"type":"Phone","label":"phone number","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":2,"helperText":"","stepId":"0fff190f35bbac3dd6124226","defaultCountryFormat":"gb","showCountryCode":false,"hideLabel":false},"name_152037715804076":{"type":"Name","label":"What is your name?","width":12,"hideLabel":true,"options":{"Firstname":{"value":null,"errorText":null,"validationRules":{"required":true}},"Lastname":{"value":null,"errorText":null,"validationRules":{"required":true}},"Prefix":{"value":null,"errorText":null,"validationRules":{"required":false}}},"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":2,"helperText":"Please enter your full name","hidePrefix":true},"decorative_header_94508789078711":{"type":"Decorative Header","value":"Your best email\n\n","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":"Bold"},"stepId":"ae5d8338e6e8b78fdec7eb6e"},"email_319834913063697":{"type":"Email","label":"What is your email address?","width":12,"stepId":"ae5d8338e6e8b78fdec7eb6e","sortOrder":2,"hideLabel":false},"decorative_text_905375424543357":{"type":"Decorative Text","value":"

Get a FREE Quote For Your Roofing Job

","fieldStyle":{"fontSize":{"value":26,"unit":"px"},"color":"inherit"},"width":12,"v":2,"stepId":"2d95de6cbf33867267a18be6","sortOrder":1}},"ownedByUser":"66a01e87790f9c000b349ce4","formName":"Heritage Roofing","personalisation":{"form_related_to":"Roofing"},"lastEdited":"2025-10-07T11:46:04.109Z","created":"2025-10-01T21:57:42.611Z","steps":[{"id":"2d95de6cbf33867267a18be6","name":"Type of service","sortOrder":1,"copyOf":"60c2d61a66a74bcb70ce6e49"},{"id":"b6b60548f25190f4a48e86b4","name":"What type of property do you have ","sortOrder":2,"copyOf":"48c438cfe957a9fb62db10c2"},{"id":"db0843d715ee92ab5f49e9cf","name":"What type of building is this for?","sortOrder":3,"copyOf":"2d95de6cbf33867267a18be6"},{"id":"48c438cfe957a9fb62db10c2","name":"How tall is your house/ Building","sortOrder":4,"copyOf":"db0843d715ee92ab5f49e9cf"},{"id":"a71db1b161313a5e5111a31b","name":"How soon do you need help?","sortOrder":5,"copyOf":"db0843d715ee92ab5f49e9cf"},{"id":"acd45227cac332d443c4e1db","name":"Location info","sortOrder":6},{"id":"bd14aca8db02672f39ecac5c","name":"Loading","sortOrder":7,"copyOf":"acd45227cac332d443c4e1db"},{"id":"f5b33db1e499f8ace205db3c","name":"Method of contact","sortOrder":8,"copyOf":"a71db1b161313a5e5111a31b"},{"id":"ff4727c9498ef9c0a6c989d9","name":"First name","sortOrder":9},{"id":"ae5d8338e6e8b78fdec7eb6e","name":"Email","sortOrder":10,"copyOf":"ff4727c9498ef9c0a6c989d9"},{"id":"0fff190f35bbac3dd6124226","name":"Phone Number","sortOrder":11,"copyOf":"ff4727c9498ef9c0a6c989d9"}],"folderId":"68dda3f3c5a400626b8026ef","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1759355923/growform-production/form-screenshots/68dda3d6c5a400626b8026e1.png","leadsCount":5,"isActive":true,"__v":0},"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' + '