{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/S2p3ThTpJYFXkw4gSe8E/u2GnK7LXTlCDxDk9IzPf/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (3bdc3c5)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"<script async=\\\"\\\" type=\\\"text/javascript\\\" src=\\\"https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=XNfCkp\\\"></script>\\n<script async=\\\"\\\" type=\\\"text/javascript\\\" src=\\\"https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=XNfCkp\\\"></script>\\n\\n<script>\\n// --- Define the function that finds, styles, and makes forms visible ---\\nfunction applyKlaviyoFormStyles(delayMs = 500) { \\n    setTimeout(function() {\\n        const allKlaviyoFormContainers = document.querySelectorAll('div[class*=\\\"klaviyo-form-\\\"]');\\n\\n        if (allKlaviyoFormContainers.length > 0) {\\n            allKlaviyoFormContainers.forEach(klaviyoFormContainer => {\\n                // Ensure the form is hidden first before applying styles, in case of re-navigation\\n                klaviyoFormContainer.style.setProperty('opacity', '0', 'important'); \\n\\n                const klaviyoFormElement = klaviyoFormContainer.querySelector('form'); \\n\\n                // Only proceed with styling and showing IF THE INNER FORM ELEMENT IS FOUND\\n                if (klaviyoFormElement) { \\n                    // --- DEFINING YOUR PRECISE WIDTHS ---\\n                    const desktopTabletFixed = '350px'; \\n                    const mobileFixed = '295px'; \\n\\n                    // --- APPLYING RESPONSIVE WIDTH TO THE MAIN FORM SLOT ---\\n                    if (window.innerWidth <= 480) { // For phones\\n                        klaviyoFormElement.style.setProperty('width', mobileFixed, 'important');\\n                        klaviyoFormElement.style.setProperty('min-width', mobileFixed, 'important');\\n                        klaviyoFormElement.style.setProperty('max-width', mobileFixed, 'important');\\n                    } else { // For tablets and desktops\\n                        klaviyoFormElement.style.setProperty('width', desktopTabletFixed, 'important');\\n                        klaviyoFormElement.style.setProperty('min-width', desktopTabletFixed, 'important');\\n                        klaviyoFormElement.style.setProperty('max-width', desktopTabletFixed, 'important');\\n                    }\\n\\n                    // Global Flex & Box-Sizing Defaults for Robustness\\n                    klaviyoFormElement.style.setProperty('flex', '1 1 auto', 'important');\\n                    klaviyoFormElement.style.setProperty('flex-wrap', 'nowrap', 'important');\\n                    klaviyoFormElement.style.setProperty('display', 'flex', 'important');\\n                    klaviyoFormElement.style.setProperty('flex-direction', 'row', 'important');\\n                    klaviyoFormElement.style.setProperty('box-sizing', 'border-box', 'important');\\n                }\\n\\n                // --- APPLYING STYLES TO EMAIL INPUT (Only if formElement exists) ---\\n                if (klaviyoFormElement && klaviyoFormElement.querySelector('input[type=\\\"email\\\"]')) { \\n                    const emailInput = klaviyoFormElement.querySelector('input[type=\\\"email\\\"]');\\n                    emailInput.style.setProperty('white-space', 'nowrap', 'important');\\n                    emailInput.style.setProperty('overflow-wrap', 'normal', 'important');\\n                    emailInput.style.setProperty('word-break', 'normal', 'important');\\n\\n                    emailInput.style.setProperty('padding-left', '20px', 'important'); \\n                    emailInput.style.setProperty('padding-right', '20px', 'important'); \\n\\n                    emailInput.style.setProperty('box-sizing', 'border-box', 'important'); \\n                    emailInput.style.setProperty('min-width', '0', 'important'); \\n                    emailInput.style.setProperty('flex-grow', '1', 'important'); \\n                    emailInput.style.setProperty('flex-shrink', '1', 'important');\\n                    emailInput.style.setProperty('flex-basis', 'auto', 'important'); \\n                    emailInput.style.setProperty('height', '50px', 'important'); \\n                }\\n\\n                // --- APPLYING STYLES TO SUBMIT BUTTON (Only if formElement exists) ---\\n                if (klaviyoFormElement && klaviyoFormElement.querySelector('button')) { \\n                    const buttonElement = klaviyoFormElement.querySelector('button');\\n                    const buttonWidth = '50px'; \\n                    buttonElement.style.setProperty('white-space', 'nowrap', 'important'); \\n                    buttonElement.style.setProperty('overflow-wrap', 'normal', 'important');\\n                    buttonElement.style.setProperty('word-break', 'normal', 'important');\\n\\n                    buttonElement.style.setProperty('width', buttonWidth, 'important'); \\n                    buttonElement.style.setProperty('min-width', buttonWidth, 'important'); \\n                    buttonElement.style.setProperty('flex-shrink', '0', 'important'); \\n                    buttonElement.style.setProperty('flex-grow', '0', 'important'); \\n\\n                    buttonElement.style.setProperty('padding-left', '7px', 'important');\\n                    buttonElement.style.setProperty('padding-right', '7px', 'important');\\n                    buttonElement.style.setProperty('box-sizing', 'border-box', 'important');\\n                    buttonElement.style.setProperty('height', '50px', 'important');\\n                }\\n\\n                // --- APPLYING STYLES TO FORM ROW (Only if formElement exists) ---\\n                if (klaviyoFormElement && klaviyoFormElement.querySelector('div[data-testid=\\\"form-row\\\"]')) { \\n                    const formRow = klaviyoFormElement.querySelector('div[data-testid=\\\"form-row\\\"]');\\n                    formRow.style.setProperty('flex-wrap', 'nowrap', 'important'); \\n                    formRow.style.setProperty('display', 'flex', 'important');\\n                    formRow.style.setProperty('flex-direction', 'row', 'important');\\n                    formRow.style.setProperty('width', '100%', 'important'); \\n                    formRow.style.setProperty('box-sizing', 'border-box', 'important');\\n                    formRow.style.setProperty('justify-content', 'space-between', 'important'); \\n                    formRow.style.setProperty('align-items', 'center', 'important'); \\n                    formRow.style.setProperty('min-height', '50px', 'important'); \\n                }\\n\\n                // --- ENSURE INTERNAL FLEX COMPONENT WRAPPERS ARE FLEXIBLE ---\\n                const formComponents = klaviyoFormContainer.querySelectorAll('div[component=\\\"[object Object]\\\"][data-testid=\\\"form-component\\\"]');\\n                formComponents.forEach(comp => {\\n                    if (comp.querySelector('input[type=\\\"email\\\"]')) {\\n                        comp.style.setProperty('flex-grow', '1', 'important');\\n                        comp.style.setProperty('flex-shrink', '1', 'important');\\n                        comp.style.setProperty('flex-basis', '0%', 'important'); \\n                    } else if (comp.querySelector('button')) {\\n                        comp.style.setProperty('flex-grow', '0', 'important');\\n                        comp.style.setProperty('flex-shrink', '0', 'important');\\n                        comp.style.setProperty('flex-basis', 'auto', 'important'); \\n                    }\\n                    comp.style.setProperty('min-width', '0', 'important');\\n                    comp.style.setProperty('box-sizing', 'border-box', 'important');\\n                    comp.style.setProperty('padding', '0', 'important');\\n                });\\n\\n                // --- FINAL CATCH-ALL FOR ALL KLAVIYO ELEMENTS ---\\n                const allKlaviyoElements = klaviyoFormContainer.querySelectorAll('*');\\n                allKlaviyoElements.forEach(el => {\\n                    el.style.setProperty('max-width', '100%', 'important');\\n                    el.style.setProperty('box-sizing', 'border-box', 'important');\\n                });\\n\\n                // --- FINALLY: Make THIS form visible (fade in) after all styles are applied ---\\n                // Only make visible if the inner form was found and processed\\n                if (klaviyoFormElement) { \\n                    klaviyoFormContainer.style.setProperty('opacity', '1', 'important');\\n                } else {\\n                    console.warn(`Inner <form> element missing for ${klaviyoFormContainer.className}. Klaviyo may not have fully rendered yet. Increasing delay for this trigger might be needed.`);\\n                }\\n            });\\n        } else {\\n            console.warn(\\\"No Klaviyo form containers found. Ensure the div class starts with 'klaviyo-form-'.\\\");\\n        }\\n    }, 500); // Default delay is 0.5 seconds. Adjust if needed.\\n}\\n\\n// --- Event Listeners to run the styling function ---\\n\\n// 1. Run on initial page load (DOM content ready)\\ndocument.addEventListener('DOMContentLoaded', function() {\\n    applyKlaviyoFormStyles(1000); // Set initial load delay to 1 second\\n}); \\n\\n// 2. Use MutationObserver for robust detection of DOM changes in SPAs like Framer\\nconst observer = new MutationObserver(function(mutations) {\\n    mutations.forEach(function(mutation) {\\n        if (mutation.addedNodes.length > 0) {\\n            // CRITICAL: Call Klaviyo's pageview event first to trigger re-initialization\\n            if (typeof _learnq !== 'undefined' && _learnq.push) {\\n                _learnq.push(['track', 'PageView']); // Trigger Klaviyo's pageview/re-scan event\\n            } else if (typeof _kl !== 'undefined' && _kl.pageview) { // Alternative API\\n                _kl.pageview();\\n            }\\n\\n            // Now, apply our styles after giving Klaviyo time to populate the forms\\n            applyKlaviyoFormStyles(1500); // 1.5 seconds delay for observed DOM changes (after Klaviyo re-init call)\\n        }\\n    });\\n});\\n\\n// Start observing the document body for changes\\nobserver.observe(document.body, { childList: true, subtree: true });\\n\\n// Optional: Fallback generic SPA events (less reliable but good backup)\\nwindow.addEventListener('popstate', function() { \\n    if (typeof _learnq !== 'undefined' && _learnq.push) {\\n        _learnq.push(['track', 'PageView']);\\n    } else if (typeof _kl !== 'undefined' && _kl.pageview) {\\n        _kl.pageview();\\n    }\\n    applyKlaviyoFormStyles(1500); // 1.5 seconds delay\\n}); \\nwindow.addEventListener('hashchange', function() { \\n    if (typeof _learnq !== 'undefined' && _learnq.push) {\\n        _learnq.push(['track', 'PageView']);\\n    } else if (typeof _kl !== 'undefined' && _kl.pageview) {\\n        _kl.pageview();\\n    }\\n    applyKlaviyoFormStyles(1500); // 1.5 seconds delay\\n}); \\n</script>\",customHTMLBodyStart:\"<style>\\n.klaviyo-form-RyMq9s, /* Hides the first form */\\n.klaviyo-form-UejAsm { /* Hides the second form */\\n    opacity: 0 !important; \\n    transition: opacity 0.4s ease-in-out !important; \\n}\\n</style>\",customHTMLHeadEnd:\"<!-- Google tag (gtag.js) -->\\n<script async=\\\"\\\" src=\\\"https://www.googletagmanager.com/gtag/js?id=G-S41YNEEFRC\\\"></script>\\n<script>\\n  window.dataLayer = window.dataLayer || [];\\n  function gtag(){dataLayer.push(arguments);}\\n  gtag('js', new Date());\\n\\n  gtag('config', 'G-S41YNEEFRC');\\n</script>\",description:\"Tiffa is here.\",favicon:\"https://framerusercontent.com/assets/ddSxF5Dy8iE527krPTGkW5Hylw.png\",robots:\"max-image-preview:large\",title:\"Tiffa\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "AACe,SAARA,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAq3U,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAiN,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAiT,YAAY,iBAAiB,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,OAAO,CAAE",
  "names": ["metadata", "params", "activeLocale"]
}
