/* growform client2 bundle.url: https://assets.growform.co/7ce1dc50-mu2jbvpp/form.bundle.js resolve.source: memory resolve.at: 2026-11-12T13:24:27.904Z form.source: api cache.age_ms: 219 fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "68767849c0f326000bbc49da"; 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":"68767849c0f326000bbc49da","steps":[{"id":"acd45227cac332d443c4e1db","name":"Unnamed step 1","sortOrder":1},{"id":"e8cb2c0309ba51714edd4278","name":"(Unnamed step)","sortOrder":2},{"id":"4b8423c1ac5d15dcb7669b29","name":"(Unnamed step)","sortOrder":3},{"id":"ff4727c9498ef9c0a6c989d9","name":"Unnamed step 2","sortOrder":4}],"isActive":true,"formName":"AI VISUALISER ","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":"Bold"},"margins":{"marginTop":20},"stepId":"complete"},"Decorative Header_797442086161467":{"type":"Decorative Header","value":"Step 1: Upload a clear photo of your driveway ","width":12,"step":2,"sortOrder":2,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":"Bold"},"stepId":"acd45227cac332d443c4e1db","margins":{"marginBottom":0}},"Decorative Header_576559560634956":{"type":"Decorative Header","value":"Where shall we send the driveway visuals and quote?","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":18,"unit":"px"},"fontWeight":"Bold"},"stepId":"ff4727c9498ef9c0a6c989d9","margins":{"marginBottom":0}},"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'll be in contact soon.","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete"},"fileupload_650726209325442":{"type":"FileUpload","label":"Which file do you want to upload?","width":12,"stepId":"acd45227cac332d443c4e1db","sortOrder":4,"validationRules":{"required":true}},"decorative_text_562799643867668":{"type":"Decorative Text","value":"
capture as much of your driveway as possible in a single photo
","fieldStyle":{"fontSize":{"value":14,"unit":"px"}},"width":12,"v":2,"stepId":"acd45227cac332d443c4e1db","sortOrder":3,"margins":{"marginTop":-15}},"decorative_header_964954736095869":{"type":"Decorative Header","value":"What type of driveway material would you like to visualise on your property?
","width":12,"v":2,"sortOrder":1,"stepId":"e8cb2c0309ba51714edd4278"},"buttons_780295555715336":{"type":"Buttons","validationRules":{"required":true},"label":"Select the different types of materail that you would like to see","width":12,"multiple":true,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"imageStyles":{},"options":[{"text":"Tarmac","id":"253c73ad7b2289cb2212a676"},{"text":"Resin bound","id":"7637e398addd44b2cbdb5479"},{"text":"Blockpaving","id":"ee9688404c064fad626a3856"}],"stepId":"e8cb2c0309ba51714edd4278","sortOrder":2},"decorative_header_722425403375878":{"type":"Decorative Header","value":"What is your address?
","width":12,"v":2,"sortOrder":1,"stepId":"4b8423c1ac5d15dcb7669b29"},"address_552311485372607":{"type":"Address","label":"What is your address?","width":12,"stepId":"4b8423c1ac5d15dcb7669b29","sortOrder":2,"validationRules":{"required":true}},"decorative_image_674404454752761":{"type":"Decorative Image","value":"https://res.cloudinary.com/dqnjggegp/image/upload/v1752595991/uploads/nsihmjsrjetflzujvxds.png","width":12,"imageWidth":480,"imageHeight":200,"imageInitialHeight":500,"imageInitialWidth":1200,"stepId":"acd45227cac332d443c4e1db","sortOrder":1}},"options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true},"continueButton":{"continueText":"Continue","submitText":"Get My FREE Driveway Visuals & 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":"#ca0a18","bodyTextColor":"#343434","parentContainerBackgroundType":"color","innerFormBackgroundType":"none","buttonBorderColor":"#ff7500","buttonColorSelected":"#ffa659","buttonBorderColorSelected":"#ff7500","footerMarginBottom":70,"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":"#343434","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"primary","inputLabelFont":"Poppins","inputFontSize":16,"continueSubmitButtonFontSize":15,"fullModeBackgroundColor":"#E7F3FA","canvasSetup":"minimal"},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","logo":{"value":"https://res.cloudinary.com/dqnjggegp/image/upload/v1721657929/growform-production/AddFieldButtons/yourLogo.png","linkUrl":"https://www.example.com","imageWidth":50,"imageHeight":15,"imageInitialWidth":416,"imageInitialHeight":124},"endings":[{"id":"ending_a4b593aa-0cf9-450a-8b3f-67bcbab559ec","name":"","url":"romaconstruction.co.uk/form-success","type":"redirect","sortOrder":1,"conditionalLogic":null},{"id":"complete","name":"Thank you (default)","type":"inFormEnding","sortOrder":2,"conditionalLogic":null}]},"ownedByUser":"674b05b5bd59e9000b053ad7","personalisation":{"form_related_to":"(None - start with a blank slate)"}},"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' + '