/* growform client2 bundle.url: https://assets.growform.co/df322d5-mhjegkpe/form.bundle.js resolve.source: kv resolve.at: 2025-11-04T22:40:25.712Z form.source: kv cache.age_ms: 0 kv.value_present: true fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "660f5ab820e317000bbf0d32"; var FORM_BUNDLE_URL = "https://assets.growform.co/df322d5-mhjegkpe/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"660f5ab820e317000bbf0d32","steps":[{"id":"559b62533cb166a738b5c7d5","name":"Address","sortOrder":1},{"id":"71b81719b4a6b1654cde202a","name":"Primary Residence","sortOrder":2},{"id":"0fbd34371446ca6ca9fdc840","name":"Type Of System","sortOrder":3},{"id":"709edcc902aaa613d35c7110","name":"Date","sortOrder":4},{"id":"486f22d709bcfe7ef19f3a90","name":"Time","sortOrder":5},{"id":"4f502bb087b9d10547bad951","name":"Name","sortOrder":6},{"id":"ff4727c9498ef9c0a6c989d9","name":"Contact info","sortOrder":7}],"formName":"$49 Maintenance","fields":{"Decorative Header_52363373085874":{"type":"Decorative Header","value":"Thanks for your booking! ","width":12,"step":"complete","sortOrder":1,"fieldStyle":{"fontSize":{"value":22,"unit":"px"},"fontWeight":"Bold"},"margins":{"marginTop":20},"stepId":"complete"},"Decorative Header_576559560634956":{"type":"Decorative Header","value":"How shall we contact you about your HVAC project?","width":12,"step":5,"sortOrder":1,"fieldStyle":{"fontSize":{"value":24,"unit":"px"},"fontWeight":"Bold"},"stepId":"ff4727c9498ef9c0a6c989d9","margins":{"marginBottom":10}},"email_907058157108782":{"type":"Email","label":"Your email address","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":2,"stepId":"ff4727c9498ef9c0a6c989d9"},"phone_589083232390193":{"type":"Phone","label":"Your phone number","width":12,"margins":{"marginBottom":0},"step":5,"sortOrder":3,"helperText":"","stepId":"ff4727c9498ef9c0a6c989d9"},"Decorative_Paragraph_194067845817258":{"type":"Decorative Paragraph","value":"We will call you to confirm the details.","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete","fieldStyle":{"fontSize":{"value":18,"unit":"px"}}},"decorative_header_224839306337004":{"type":"Decorative Header","value":"Choose a date for this service?","width":12,"stepId":"709edcc902aaa613d35c7110","sortOrder":1,"fieldStyle":{"fontSize":{"value":24,"unit":"px"}}},"decorative_header_957677424256208":{"type":"Decorative Header","value":"LIMITED TIME OFFER!","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":1,"fieldStyle":{"fontSize":{"value":35,"unit":"px"}}},"decorative_header_694885329826517":{"type":"Decorative Header","value":"What type of system do you have?","width":12,"stepId":"0fbd34371446ca6ca9fdc840","sortOrder":1,"fieldStyle":{"fontSize":{"value":23,"unit":"px"}}},"decorative_header_504807543457167":{"type":"Decorative Header","value":"Choose a time","width":12,"stepId":"486f22d709bcfe7ef19f3a90","sortOrder":1,"fieldStyle":{"fontSize":{"value":24,"unit":"px"}}},"decorative_header_773038632465272":{"type":"Decorative Header","value":"What is your name?","width":12,"stepId":"4f502bb087b9d10547bad951","sortOrder":1,"fieldStyle":{"fontSize":{"value":24,"unit":"px"}}},"decorative_paragraph_158314073540355":{"type":"Decorative Paragraph","value":"Schedule your service online now! Takes 30 seconds.","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":2,"fieldStyle":{"fontSize":{"value":18,"unit":"px"}},"margins":{"marginTop":-15}},"decorative_header_452740314201697":{"type":"Decorative Header","value":"Precision Tune-Up $49 only","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":3,"fieldStyle":{"fontSize":{"value":24,"unit":"px"},"textDecoration":"Underline"},"margins":{"marginTop":-5}},"address_263267034783125":{"type":"Address","label":"start typing your address","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":5,"margins":{"marginTop":-16},"validationRules":{"required":true}},"decorative_paragraph_486929773832811":{"type":"Decorative Paragraph","value":"What is the job address?","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":4,"fieldStyle":{"fontSize":{"value":17,"unit":"px"},"textAlign":"Center","fontWeight":"Bold"}},"buttons_247732230104783":{"type":"Buttons","validationRules":{"required":false},"label":"System type","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"imageStyles":{},"options":[{"text":"Package/On The Roof","id":"b7fa2c4aa2319a94df671cec"},{"text":"Split/ In The Attic & Closet","id":"bd95c4893604896897c2724c"},{"text":"Mini Split","id":"e1ecfbd1d6099f59ec1fad0c"},{"text":"Other","id":"0924f2f582dd9a4a72609f33"}],"stepId":"0fbd34371446ca6ca9fdc840","sortOrder":2,"hideLabel":true},"date_130786388189584":{"type":"Date","label":"Pick a date","width":12,"disablePast":false,"stepId":"709edcc902aaa613d35c7110","sortOrder":2,"validationRules":{"required":true}},"buttons_564406523540672":{"type":"Buttons","validationRules":{"required":true},"label":"Time","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"imageStyles":{},"options":[{"text":"8:00 AM - 10:00 AM","id":"b7fa2c4aa2319a94df671cec"},{"text":"10:00 AM - 12:00 PM","id":"bd95c4893604896897c2724c"},{"text":"12:00 PM -2:00 PM","id":"e1ecfbd1d6099f59ec1fad0c"},{"text":"2:00 PM - 4:00 PM","id":"0924f2f582dd9a4a72609f33"}],"stepId":"486f22d709bcfe7ef19f3a90","sortOrder":2,"hideLabel":true},"decorative_header_867463032179711":{"type":"Decorative Header","value":"What type of building is this?","width":12,"stepId":"71b81719b4a6b1654cde202a","sortOrder":1,"fieldStyle":{"fontSize":{"value":25,"unit":"px"}}},"buttons_534045276060550":{"type":"Buttons","validationRules":{"required":true},"label":"Building Type","width":12,"multiple":false,"buttonStyle":{"rt_buttonsPerRow":2,"rt_buttonsPerRowMobile":1,"buttonsType":"Rectangle","spacing":20,"showControls":"Yes","rt_compactLayoutOnMobile":"Yes"},"imageStyles":{},"options":[{"text":"Main Home","id":"b7fa2c4aa2319a94df671cec"},{"text":"Rental","id":"bd95c4893604896897c2724c"},{"text":"Commercial Building","id":"e1ecfbd1d6099f59ec1fad0c"},{"text":"Tenant","id":"0924f2f582dd9a4a72609f33"}],"stepId":"71b81719b4a6b1654cde202a","sortOrder":2,"hideLabel":true},"text_757467166733868":{"type":"Text","label":"First name","width":12,"stepId":"4f502bb087b9d10547bad951","sortOrder":2,"validationRules":{"required":true},"hideLabel":false},"text_596318172048088":{"type":"Text","label":"Last name","width":12,"stepId":"4f502bb087b9d10547bad951","sortOrder":3,"validationRules":{"required":false}},"hidden_428226763892666":{"type":"Hidden","hiddenFieldName":"gclid","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":6},"hidden_696871353061021":{"type":"Hidden","hiddenFieldName":"fbclid","width":12,"stepId":"559b62533cb166a738b5c7d5","sortOrder":7}},"options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":true},"continueButton":{"continueText":"Continue >>>","submitText":"Schedule Now!","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":"#322b6d","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,"continueButtonTextColor":"#ffffff"},"localization":{"dateFormat":"MM/DD/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":"https://www.grandmarkair.com/thank-you/"}],"actionOnSubmit":"redirect","sendCustomRedirectQueryParams":true,"captureSystemDetails":true,"analyticsSettings":{"google_analytics":{"trackingId":"G-C7GTBBTHJV"},"google_ads":{"conversionId":"16932818689","conversionLabel":"gsDqCKeonf4aEIGemYo_"},"unbounce":{"enabled":true},"facebook":{"pixelId":"1700642327227985"},"microsoftAdvertising":{"action":"My GrowForm Completed","uetTagId":"56367711"}}},"ownedByUser":"626164f19f6e2a00226626af","personalisation":{"form_related_to":"HVAC"},"created":"2024-04-05T01:58:16.695Z","__v":0,"lastEdited":"2025-10-29T21:15:58.509Z","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1761772565/growform-production/form-screenshots/660f5ab820e317000bbf0d32.png","leadsCount":4,"isActive":true,"folderId":"68745e1e6baaa4000b6bd9b5"},"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' + '