/* growform client2 bundle.url: https://assets.growform.co/c0fb756-mguwl632/form.bundle.js resolve.source: kv resolve.at: 2025-10-21T22:24:58.778Z form.source: kv cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "667435184ad87c000bd7d3fe"; var FORM_BUNDLE_URL = "https://assets.growform.co/c0fb756-mguwl632/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"667435184ad87c000bd7d3fe","steps":[{"id":"ac0ce1d8634334328d03ff33","name":"How many windows & doors do you require shutters for?","sortOrder":1,"copyOf":"8d53a2591d86a402dbecf0d3"},{"id":"b91ac256562d5c10669996b2","name":"When are you available for your free consultation and quote?","sortOrder":2,"copyOf":"bbfece76ebce9649b8e67fb7"},{"id":"8e8f4f8bd45f12f5b649cd26","name":"Where did you find us?","sortOrder":3,"copyOf":"187f1cc6161c837ac9cb260c"},{"id":"187f1cc6161c837ac9cb260c","name":"Best time to contact you?","sortOrder":4,"copyOf":"b91ac256562d5c10669996b2"},{"id":"ff4727c9498ef9c0a6c989d9","name":"Contact info","sortOrder":5}],"formName":"Universal Blinds and Shutters Survey","fields":{"Decorative Header_576559560634956":{"type":"Decorative Header","value":"Please enter your details and we will confirm your free quote.","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":26,"unit":"px"},"fontWeight":"Bold"},"stepId":"ff4727c9498ef9c0a6c989d9","margins":{"marginBottom":5}},"phone_589083232390193":{"type":"Phone","label":"Your phone number (please make sure this is correct if you would like a quote)","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":4,"helperText":"","stepId":"ff4727c9498ef9c0a6c989d9","defaultCountryFormat":"gb"},"text_373461752242760":{"type":"Text","label":"FULL NAME","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":2,"validationRules":{"required":true},"stepId":"ff4727c9498ef9c0a6c989d9"},"decorative_header_46751409231390":{"type":"Decorative Header","value":"How many windows do you require shutters for?","width":12,"step":1,"sortOrder":1,"fieldStyle":{"fontSize":{"value":26,"unit":"px"},"fontWeight":"Bold","fontFamily":"Montserrat","color":"#ff1985"},"stepId":"ac0ce1d8634334328d03ff33","margins":{"marginBottom":5}},"buttons_369102833783163":{"type":"Buttons","validationRules":{"required":true},"label":"How many windows?","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"No"},"options":[{"text":"1 Window","id":"a3810d34d21368a0088790ab","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1717616960/uploads/gvc4s1nfqgofwju8nfha.png"},{"text":"2 Windows","id":"5abe44d0f423a695f86296bd","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1717616962/uploads/yl3yznbaotaxeittkx5l.png"},{"text":"3 Windows","id":"19389b62a5c41d080e2ecc0e","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1717616966/uploads/vkihttbwwphi36sbfufs.png"},{"text":"4+ Windows","id":"e8cc8787690077c15b914af8","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1717616968/uploads/opv6d5smxbpfrh0bvlyd.png"}],"stepId":"ac0ce1d8634334328d03ff33","sortOrder":2,"hideLabel":true,"imageStyles":{"rt_borderRadius":3,"rt_width":40}},"decorative_header_398280105559752":{"type":"Decorative Header","value":"When would you like your new shutters installed?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":25,"unit":"px"},"fontWeight":"Bold"},"stepId":"b91ac256562d5c10669996b2","margins":{"marginBottom":5}},"buttons_949716880447132":{"type":"Buttons","validationRules":{"required":true},"label":"When would you like your free quote?","width":10,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":"2","rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":15,"showControls":"Yes","rt_compactLayoutOnMobile":"No"},"imageStyles":{},"options":[{"text":"ASAP","id":"603d21625bdb33e518c57278","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1728992442/uploads/oyvxx5qkqoesqm38t2am.png"},{"text":"In the next month","id":"f56641b5561532682f46b90f","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1728992446/uploads/buasbc0zk1ejcotlf9du.png"},{"text":"in the next 2-3 months","id":"e2c204976f3b0530167176ad","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1728992449/uploads/ncrojkehkf3qk5qoydue.png"},{"text":"I'm not sure","id":"cd4f9dec3148c43fc1c942b7","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1728992451/uploads/tgwaxh7cxvvtsppcmwku.png"}],"stepId":"b91ac256562d5c10669996b2","sortOrder":2,"hideLabel":true,"margins":{"marginLeft":null}},"decorative_header_947842771884514":{"type":"Decorative Header","value":"What is your preferred contact time?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":25,"unit":"px"},"fontWeight":"Bold"},"stepId":"187f1cc6161c837ac9cb260c","margins":{"marginBottom":5}},"decorative_header_570089853124635":{"type":"Decorative Header","value":"Where did you find us?","width":12,"step":2,"sortOrder":1,"fieldStyle":{"fontSize":{"value":25,"unit":"px"},"fontWeight":"Bold"},"stepId":"8e8f4f8bd45f12f5b649cd26","margins":{"marginBottom":5}},"buttons_217336180007097":{"type":"Buttons","validationRules":{"required":true},"label":"When would you like your free quote?","width":10,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":"3","rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":15,"showControls":"Yes","rt_compactLayoutOnMobile":"No"},"imageStyles":{},"options":[{"text":"Facebook","id":"603d21625bdb33e518c57278","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1738240315/uploads/apklrin5uw3avmaapi3y.png"},{"text":"Instagram","id":"f56641b5561532682f46b90f","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1738240322/uploads/pep7erdpfpwv4vhwbaol.png"},{"text":"Google","id":"e2c204976f3b0530167176ad","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1738240322/uploads/eowcu8bow4kk9lthntq1.png"}],"stepId":"8e8f4f8bd45f12f5b649cd26","sortOrder":2,"hideLabel":true,"margins":{"marginLeft":null}},"single_select_693659638490454":{"type":"Single Select","width":12,"label":"Contact time","options":[{"text":"08:00 - 10:00","id":"df215843499ce61f4216df15"},{"text":"10:00 - 12:00","id":"465ee072b651c7b44ad5d9d8"},{"text":"12:00 - 14:00","id":"fe3bf68d1694d980ac8032f3"},{"text":"14:00 - 16:00","image":null,"id":"97689b24aff0ef2be3369144"},{"text":"Anytime","image":null,"id":"63ed2b1c2d9c720679f2834e"}],"helperText":null,"stepId":"187f1cc6161c837ac9cb260c","sortOrder":2},"email_687130482264459":{"type":"Email","label":"EMAIL ADDRESS","width":12,"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":3},"text_684650419283740":{"type":"Text","label":"ENTER YOUR POSTCODE","width":12,"stepId":"ff4727c9498ef9c0a6c989d9","sortOrder":5,"validationRules":{"required":true}}},"options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true,"hideOnFirstStep":false,"variant":"line","line_enableStripes":"Yes","line_animateStripes":"Yes","line_height":12},"continueButton":{"continueText":"CONTINUE TO FINAL STEP 👉","submitText":"GET MY FREE QUOTE 👉","backText":"Back"},"customStyles":{"width":{"unit":"px","value":700},"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":15,"parentBackgroundColor":"#c8c8d2","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#ff1985","bodyTextColor":"#ff1985","parentContainerBackgroundType":"none","innerFormBackgroundType":"none","buttonBorderColor":"#ff7500","buttonColorSelected":"#ffa659","buttonBorderColorSelected":"#ff7500","footerMarginBottom":15,"errorColor":"#ff4e4e","buttonColor":"#ff7500","buttonTextColor":"#ffffff","inputLabelColor":"#e8e8e8","inputTextColor":"#ffffff","defaultFont":"Montserrat","sq_buttonFont":"Montserrat","sq_buttonFontSize":19,"showShadows":"Yes","sq_buttonTextColor":"#ffffff","sq_buttonColor":"#ffffff","sq_buttonColorSelected":"#FFFFFF","sq_buttonBorderColor":"#DADADA","sq_buttonBorderColorSelected":"#3b7daa","sq_buttonBannerColor":"#3b7daa","rt_buttonFont":"Prompt","rt_buttonFontSize":16,"rt_buttonColor":"#ff1985","rt_buttonColorSelected":"#000000","rt_buttonTextColor":"#ffffff","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"#ffffff","inputLabelFont":"Montserrat","inputFontSize":17,"continueSubmitButtonFontSize":18,"inputBackgroundColor":"#ff1985","sq_controlsColor":"#3b7daa","continueSubmitButtonFont":"Montserrat","rt_controlsColor":"#ffffff","continueButtonColor":"#4fb373","continueButtonTextColor":"#ffffff"},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":"https://universalblindsandshutters.co.uk/thank-you-page"}],"actionOnSubmit":"redirect","analyticsSettings":{"facebook":{"pixelId":""}}},"ownedByUser":"6630a53f844d19000b968a09","personalisation":{"form_related_to":"Bathroom remodelling"},"created":"2024-06-20T13:56:40.822Z","__v":0,"lastEdited":"2025-09-08T10:17:45.430Z","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1757326669/growform-production/form-screenshots/667435184ad87c000bd7d3fe.png","leadsCount":429,"isActive":true,"folderId":"68485a2c2660c4000b71d4a6"},"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' + '