/* growform client2 bundle.url: https://assets.growform.co/cee2d99-mhw6hzfz/form.bundle.js resolve.source: kv resolve.at: 2025-12-06T03:49:37.985Z form.source: kv cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "68dda3d6c5a400626b8026e1"; 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":"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":"
Find Out How Much Your Roof Job Will Cost.
","fieldStyle":{"fontSize":{"value":23,"unit":"px"},"color":"inherit"},"width":12,"v":2,"stepId":"2d95de6cbf33867267a18be6","sortOrder":1}},"ownedByUser":"66a01e87790f9c000b349ce4","formName":"Heritage Roofing","personalisation":{"form_related_to":"Roofing"},"lastEdited":"2025-11-03T11:14:30.845Z","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/v1762168443/growform-production/form-screenshots/68dda3d6c5a400626b8026e1.png","leadsCount":30,"isActive":true,"__v":0,"reportedSpam":false,"spamOcr":"Find Out How Much Your Roof Job Will\nCost.\nWhat type of roofing service do you need?\nCompletely Replace Roof\nRepair Existing Roof\nO Flat Roofing\nO other Find Out How Much Your Roof Job Will Cost . What type of roofing service do you need ? Completely Replace Roof Repair Existing Roof O Flat Roofing O other"},"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' + '