/* growform client2 bundle.url: https://assets.growform.co/b825cc92-mll5ori7/form.bundle.js resolve.source: memory resolve.at: 2026-03-02T06:21:39.823Z form.source: api cache.age_ms: 7177 fallback_used: false */ ;(function () { var EMBED_TYPE = "iFrame"; var FORM_ID = "68b1cce7aa3234f01c4942f3"; var FORM_BUNDLE_URL = "https://assets.growform.co/b825cc92-mll5ori7/form.bundle.js"; // injected by worker (KV/memory/fallback) var FORM_DATA = {"data":{"form":{"_id":"68b1cce7aa3234f01c4942f3","options":{"numberOfSteps":5,"dateFormat":"DD/MM/YYYY","progressBar":{"enable":false,"hideOnFirstStep":true},"continueButton":{"continueText":"Lähetä","submitText":"LÄHETÄ","backText":"Takaisin"},"customStyles":{"width":{"unit":"px","value":900},"parentContainerMinHeight":{"value":0,"unit":"px"},"parentBackgroundImage":{"imageInitialHeight":1080,"imageInitialWidth":1920,"imageHeight":1080,"imageWidth":1920,"imageUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756790867/uploads/w27xz8g4ui8vszdpu4km.png","useTint":true,"parentBackgroundImageTintColor":"#ffffff","parentBackgroundImageTintStrength":99},"headerMarginTop":40,"parentBackgroundColor":"#ffffff","innerFormBackgroundColor":"#ffffff","innerFormBackgroundTransparency":"","primaryColor":"#095d9b","bodyTextColor":"#000000","parentContainerBackgroundType":"image","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":12,"rt_buttonColor":"#FFFFFF","rt_buttonColorSelected":"#FFFFFF","rt_buttonTextColor":"#343434","rt_buttonBorderColor":"#DADADA","rt_buttonBorderColorSelected":"primary","inputLabelFont":"Poppins","inputFontSize":16,"continueSubmitButtonFontSize":15,"fullModeBackgroundColor":"#E8F1FC","canvasSetup":"minimal","continueButtonColor":"#095d9b"},"localization":{"dateFormat":"DD/MM/YYYY"},"exportTransparentBackground":false,"customScript":"","customRedirectUrls":[{"url":""}],"logo":null},"fields":{"Decorative Header_52363373085874":{"type":"Decorative Header","value":"Kiitos!","width":12,"step":"complete","sortOrder":1,"fieldStyle":{"fontSize":{"value":47,"unit":"px"},"fontWeight":"Bold"},"margins":{"marginTop":20},"stepId":"complete"},"Decorative_Paragraph_194067845817258":{"type":"Decorative Paragraph","value":"Kiitos yhteydenotosta! Olemme teihin yhteydessä pian!","width":12,"step":"complete","sortOrder":2,"margins":{"marginBottom":60},"stepId":"complete","fieldStyle":{"fontSize":{"value":18,"unit":"px"}}},"decorative_header_46751409231390":{"type":"Decorative Header","value":"Varaa huolto helposti tästä!","width":"stretch","step":1,"sortOrder":1,"fieldStyle":{"fontSize":{"value":40,"unit":"px"},"fontWeight":"bold","fontFamily":"Poppins","lineHeight":"110%","color":"#095d9b"},"stepId":"ac0ce1d8634334328d03ff33","margins":{"marginBottom":10}},"buttons_782408809089103":{"type":"Buttons","validationRules":{"required":true},"label":"Huollettava laite","width":"stretch","hideLabel":true,"multiple":false,"options":[{"text":"Ilmalämpöpumppu","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756898793/uploads/yv4luzjfi6yu33lvzzb0.png","id":"a938a833affca9e975db1862"},{"text":"Astianpesukone","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756797244/uploads/ofqx6lior8eckht3ztvg.png","id":"2bd904c36027fc843e6cfa8e"},{"text":"Pyykinpesukone","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756797250/uploads/cnggu5zomaw5ul3bzgx8.png","id":"bd914f9583adfa008e566026"},{"text":"Jääkaappi","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756797253/uploads/n0mbzglvrnexoujgjeuk.png","id":"510419dfc3b87bdf8113e8a5"},{"text":"Pakastin","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756797257/uploads/tlsshmt6kbalbbmcbzmm.png","id":"5794fefa77a517099dc7bacb"},{"text":"Kuivausrumpu","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756797261/uploads/jvanstbgsduwmzfjizka.png","id":"c98b2a9bc22cf016a5b962b6"},{"text":"Joku muu","image":"https://res.cloudinary.com/dqnjggegp/image/upload/v1756482166/uploads/dlyp11a1zet5yv3k7qsg.png","id":"d7d201a4ecda59fae86698a9"}],"step":1,"sortOrder":3,"helperText":"Valitse yksi","imageStyles":{"width":"37","marginBottom":"17","sq_imageOnlyMode":"No","size":"33%","rt_width":30,"rt_borderRadius":3},"buttonStyle":{"minWidth":"107","height":60,"buttonsPerRow":"4","buttonsType":"Rectangle","sq_buttonsPerRow":"5","sq_buttonsPerRowMobile":"2","rt_buttonsPerRow":"3","spacing":11,"rt_compactLayoutOnMobile":"No","rt_buttonsPerRowMobile":"1"},"stepId":"ac0ce1d8634334328d03ff33","margins":{"marginTop":null,"marginBottom":null,"marginLeft":null,"marginRight":null}},"decorative_header_624132476799644":{"type":"Decorative Header","value":"Kiitos vastauksistasi","width":12,"stepId":"18716720a7cf1a7ca872fcb4","sortOrder":1,"fieldStyle":{"fontFamily":"Poppins","fontSize":{"value":36,"unit":"px"},"fontWeight":"bold","color":"#095d9b"}},"decorative_paragraph_93176648610917":{"type":"Decorative Paragraph","value":"Jätä vielä seuraavat tiedot alle niin olemme yhteydessä","width":12,"stepId":"18716720a7cf1a7ca872fcb4","sortOrder":2},"email_624318433265776":{"type":"Email","label":"Sähköposti","width":12,"stepId":"18716720a7cf1a7ca872fcb4","sortOrder":3,"validationRules":{"required":false,"regex":"email"}},"decorative_paragraph_831305594916469":{"type":"Decorative Paragraph","value":" **Mihin laitteeseen tarvitset huoltoa/korjausta?** ","width":12,"stepId":"ac0ce1d8634334328d03ff33","sortOrder":2,"fieldStyle":{"fontSize":{"value":17,"unit":"px"}}},"text_497652291587718":{"type":"Text","label":"Puhelin","width":12,"stepId":"18716720a7cf1a7ca872fcb4","sortOrder":4,"validationRules":{"required":true},"helperText":""}},"ownedByUser":"680786aaa72bea000b80c4f1","formName":"Kajaanin lämpö Huoltosivu","personalisation":{"form_related_to":"HVAC"},"lastEdited":"2025-10-28T09:20:17.257Z","created":"2025-08-29T15:53:11.048Z","steps":[{"id":"ac0ce1d8634334328d03ff33","name":"Huollettava laite","sortOrder":1,"copyOf":"8d53a2591d86a402dbecf0d3"},{"id":"18716720a7cf1a7ca872fcb4","name":"Yhteystiedot","sortOrder":2,"copyOf":"eaeb0f924da3a6d64d611b05"}],"folderId":"68b1bd36aa3234f01c4935ee","screenshotUrl":"https://res.cloudinary.com/dqnjggegp/image/upload/v1761643223/growform-production/form-screenshots/68b1cce7aa3234f01c4942f3.png","leadsCount":7,"isActive":true,"__v":0,"reportedSpam":false,"spamOcr":"-LÄMPÖ- JA KODINK\nVaraa huolto helposti tästä!\nJAANIN KA\nJA KODING malamppumppu\nJokaappi\nMihin laitteeseen tarvitset huoltoa/korjausta?\nNIN KAJAA\n-LÄMPÖ- JA KODIN\nAstianpesukone\nPakastin\nooo Joku muu\nPyykinpesukone\nKuvausrumpu\nJA KODINKONE\nKAJ\n-LÄMPÖ-\nDINKONE-\nValitse yksi\nKAJAANIN KAJAANIN KAJAANI\n-LÄMPÖ- JA KODINKONE-\n-LÄMPÖ- JA KODINKON -LÄMPÖ- JA KODINK Varaa huolto helposti tästä ! JAANIN KA JA KODING malamppumppu Jokaappi Mihin laitteeseen tarvitset huoltoa / korjausta ? NIN KAJAA -LÄMPÖ- JA KODIN Astianpesukone Pakastin ooo Joku muu Pyykinpesukone Kuvausrumpu JA KODINKONE KAJ -LÄMPÖ- DINKONE- Valitse yksi KAJAANIN KAJAANIN KAJAANI -LÄMPÖ- JA KODINKONE- -LÄMPÖ- JA KODINKON"},"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' + '