/* growform client2 bundle.url: https://assets.growform.co/7ce1dc50-mu2jbvpp/form.bundle.js resolve.source: kv resolve.at: 2026-10-06T12:25:51.251Z form.source: api cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "6a4929b61327f7c1b2899662"; var FORM_BUNDLE_URL = "https://assets.growform.co/7ce1dc50-mu2jbvpp/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"6a4929b61327f7c1b2899662","options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true,"position":"formTop"},"continueButton":{"continueText":"Continue","submitText":"Get My Free Quotes","backText":"Back"},"customStyles":{"width":{"unit":"px","value":395},"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":30,"parentBackgroundColor":"#ffffff","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#2b45cf","bodyTextColor":"#000000","parentContainerBackgroundType":"color","innerFormBackgroundType":"none","buttonBorderColor":"#ff7500","buttonColorSelected":"#ffa659","buttonBorderColorSelected":"#ff7500","footerMarginBottom":10,"errorColor":"#ff4e4e","buttonColor":"#ff7500","buttonTextColor":"#ffffff","inputLabelColor":"#a3a3a3","inputTextColor":"#000000","defaultFont":"Open Sans","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":"Poppins","rt_buttonFontSize":15,"rt_buttonColor":"#FFFFFF","rt_buttonColorSelected":"#FFFFFF","rt_buttonTextColor":"#000000","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"primary","inputLabelFont":"Poppins","inputFontSize":15,"continueSubmitButtonFontSize":15,"fullModeBackgroundColor":"#E7F3FA","canvasSetup":"minimal","backButtonTextColor":"#9f9f9f","formMarginSide":1,"transitions":"Fade - fast"},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","logo":null,"analyticsSettings":{"trustedForm":{"enabled":true},"facebook":{"pixelId":"3499073280240820"}},"endings":[{"id":"complete","name":"Thank you (default)","type":"inFormEnding","sortOrder":1,"conditionalLogic":null}]},"fields":{"Decorative Header_52363373085874":{"type":"Decorative Header","value":"
Thanks for your enquiry!
","width":12,"step":"complete","sortOrder":1,"fieldStyle":{"fontSize":{"value":19,"unit":"px"},"fontWeight":null},"margins":{"marginTop":20},"stepId":"complete","v":2},"Decorative Header_797442086161467":{"type":"Decorative Header","value":"What type of roofing project are you planning?
","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":null},"stepId":"acd45227cac332d443c4e1db","margins":{"marginBottom":0},"v":2},"Decorative Header_576559560634956":{"type":"Decorative Header","value":"Almost done! Where should we send your free quotes?
","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":null},"stepId":"ff4727c9498ef9c0a6c989d9","margins":{"marginBottom":0},"v":2},"email_907058157108782":{"type":"Email","label":"Your email address","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":4,"stepId":"ff4727c9498ef9c0a6c989d9"},"phone_589083232390193":{"type":"Phone","label":"Your phone number","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":6,"helperText":"","stepId":"ff4727c9498ef9c0a6c989d9"},"text_373461752242760":{"type":"Text","label":"First 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'll be in contact soon.","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete","v":2},"buttons_109446974978914":{"type":"Buttons","validationRules":{"required":false},"label":"What type of bathroom project are you planning?","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":"1","rt_buttonsPerRowMobile":"1","buttonsType":"Rectangle","spacing":10,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"Roof Replacement","id":"5be94772672205ea06fa1c3c"},{"text":"Roof Repair","id":"192368f189795a7f9199624d"},{"text":"New Roof Installation","id":"cd688d984891cf9918f17913"},{"text":"Storm Damage Repair","id":"4aa2d0676e2b31322c5ba7d6"},{"text":"I'm not sure yet","image":null,"id":"dcaec3a24f87de5d55689382"}],"stepId":"acd45227cac332d443c4e1db","sortOrder":2,"hideLabel":true,"margins":{"marginTop":0}},"decorative_header_255812981625754":{"type":"Decorative Header","value":"Are you the homeowner or authorized to make property changes?
","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":null},"stepId":"1431f97d0633ced71a9ec717","margins":{"marginBottom":0},"v":2},"buttons_894915548387745":{"type":"Buttons","validationRules":{"required":false},"label":"Are you the homeowner or authorized to make property changes?","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":"1","rt_buttonsPerRowMobile":"1","buttonsType":"Rectangle","spacing":10,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"Yes","id":"5be94772672205ea06fa1c3c"},{"text":"No","id":"192368f189795a7f9199624d"}],"stepId":"1431f97d0633ced71a9ec717","sortOrder":2,"hideLabel":true},"text_256323850692209":{"type":"Text","label":"Last Name","width":12,"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":3},"zipcode_756943649403672":{"type":"Zipcode","label":"ZIP Code","zipcodeFieldFormat":"zipcode_usa","width":12,"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":5},"decorative_header_486967724910855":{"type":"Decorative Header","value":"When would you like to start your project?
","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":null},"stepId":"186dd2cd95a12fe394ebd95d","margins":{"marginBottom":0},"v":2},"buttons_189961018058322":{"type":"Buttons","validationRules":{"required":false},"label":"When would you like to start your project?","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":"1","rt_buttonsPerRowMobile":"1","buttonsType":"Rectangle","spacing":10,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"options":[{"text":"As soon as possible","id":"5be94772672205ea06fa1c3c"},{"text":"Within the next month","id":"192368f189795a7f9199624d"},{"text":"Within the next 3–6 months","image":null,"id":"4748cbb7e6cef41986597ffb"},{"text":"I'm still planning my project","image":null,"id":"e12cf2033169200e84c261e7"}],"stepId":"186dd2cd95a12fe394ebd95d","sortOrder":2,"hideLabel":true},"decorative_text_145260775195292":{"type":"Decorative Text","value":"By clicking 'Get My Free Quotes', I'm providing my express written E-SIGN consent to authorize HomeBridge and its partners (https://tryhomebridge.com/pages/partner-list), their agents, or parties acting on any of their behalf to call or text me at the number provided to discuss this request and for promotional and marketing purposes including through the use of auto-dialers, prerecorded messages or text messages, and AI generated voice messages, even if I am on the do-not-call list. Data rates may apply. I do not need to consent to purchase services. I also agree to the Terms of Service and Privacy Policy (https://tryhomebridge.com/pages/privacy-policy).
","fieldStyle":{"fontSize":{"value":11,"unit":"px"}},"width":12,"v":2,"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":7,"location":null}},"ownedByUser":"6a412c6eead11ba073219ccb","formName":"Roofing","personalisation":{"form_related_to":"(None - start with a blank slate)"},"steps":[{"id":"acd45227cac332d443c4e1db","name":"step 1","sortOrder":1},{"id":"1431f97d0633ced71a9ec717","name":"step 2","sortOrder":2,"copyOf":"acd45227cac332d443c4e1db"},{"id":"186dd2cd95a12fe394ebd95d","name":"step 3","sortOrder":3,"copyOf":"1431f97d0633ced71a9ec717"},{"id":"ff4727c9498ef9c0a6c989d9","name":"step 4","sortOrder":4}],"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 getCookie(name) { try { var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); return match ? decodeURIComponent(match[2]) : ''; } catch (_) { return ''; } } function buildIframeHTML(opts) { var html = '\n' + '\n' + '\n' + ' \n' + ' \n' + ' \n' + '\n' + '\n' + ' \n' + ' \n' + '