{"version":3,"file":"script_main.DRMBc1sk.mjs","names":["cx","r","d","u","routes","p","useRef","useState","useCallback","useRef","React.useId","PropertyOverrides","Image1","RichText","React.Fragment","React.createElement","Base","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/Uazf170MGtNgKhwwAgRF/36GbBX8Y5w3cwoe4KTFI/PageTransition.js","https:/framerusercontent.com/modules/DZYDi21PWr3VRKCN3pQM/yZJXb4HMxJBAIfTB7tbz/zKWebW4JM.js","framer:toplevel/main"],"sourcesContent":["/**\n * PixelTransition — Framer Code Component v7\n *\n * ─ SETUP ─────────────────────────────────────────────────────────────────────\n * 1. Paste into Framer → Assets → Code → New Component.\n * 2. Drop onto your Layout frame (wraps all pages).\n * 3. Done — every page navigation triggers automatically.\n *\n * ─ ANIMATION FLOW ────────────────────────────────────────────────────────────\n *\n *   [ COVER ]  →  [ HOLD ]  →  [ REVEAL ]\n *\n *   COVER   How the transition color fills the screen over the current page.\n *           \"Instant\" snaps immediately (v5 behaviour).\n *           All other options animate the tiles IN using the chosen style.\n *           Cover Duration controls how long this phase takes.\n *\n *   HOLD    Screen stays fully covered while the new page renders behind it.\n *           Hold Duration controls this pause in seconds.\n *\n *   REVEAL  Tiles dissolve away to show the new page.\n *           Uses the Reveal Style + Reveal Duration props.\n *           Direction and Easing apply to both phases.\n *\n * ─ COLOR FIX ─────────────────────────────────────────────────────────────────\n *   Framer tokens (\"var(--token-abc, #7b4fff)\") are resolved to real rgb()\n *   values via a hidden DOM element before any canvas paint call.\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useCallback,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Color resolver ───────────────────────────────────────────────────────────\nfunction resolveColor(raw){if(!raw.includes(\"var(\"))return raw;try{const div=document.createElement(\"div\");div.style.cssText=`position:absolute;width:1px;height:1px;opacity:0;color:${raw}`;document.body.appendChild(div);const resolved=getComputedStyle(div).color;document.body.removeChild(div);return resolved||raw;}catch(_){return raw;}}// ─── Easing ───────────────────────────────────────────────────────────────────\nconst easingFns={linear:t=>t,\"ease-in\":t=>t*t*t,\"ease-out\":t=>1-Math.pow(1-t,3),\"ease-in-out\":t=>t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2};// ─── Delay map ────────────────────────────────────────────────────────────────\nfunction buildDelayMap(cols,rows,style,direction){const map=Array.from({length:rows},()=>new Array(cols).fill(0));const cx=(cols-1)/2;const cy=(rows-1)/2;let maxD=1e-9;for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){let d=0;const axisLR=c/Math.max(cols-1,1);const axisRL=(cols-1-c)/Math.max(cols-1,1);const axisTB=r/Math.max(rows-1,1);const axisBT=(rows-1-r)/Math.max(rows-1,1);const axis=direction===\"left-to-right\"?axisLR:direction===\"right-to-left\"?axisRL:direction===\"top-to-bottom\"?axisTB:axisBT;switch(style){case\"instant\":d=0;break;case\"wave\":{const perp=direction===\"left-to-right\"||direction===\"right-to-left\"?(axisTB-.5)*.18:(axisLR-.5)*.18;d=axis+perp;break;}case\"dissolve\":d=Math.abs(Math.sin(c*127.1+r*311.7)*43758.5)%1;break;case\"cascade\":{const colP=direction===\"right-to-left\"||direction===\"bottom-to-top\"?axisRL:axisLR;const rowP=direction===\"bottom-to-top\"?axisBT:axisTB;d=colP*.55+rowP*.45;break;}case\"vortex\":{const angle=Math.atan2(r-cy,c-cx);const dist=Math.sqrt((c-cx)**2+(r-cy)**2);const maxDist=Math.sqrt(cx**2+cy**2);d=dist/maxDist*.65+(angle+Math.PI)/(2*Math.PI)*.35;break;}case\"blinds\":{const isHoriz=direction===\"top-to-bottom\"||direction===\"bottom-to-top\";const strip=isHoriz?r:c;const total=isHoriz?rows:cols;d=(strip%2===0?0:.35)+strip/Math.max(total-1,1)*.3;break;}case\"shatter\":{const dist=Math.sqrt((c-cx)**2+(r-cy)**2);const maxDist=Math.sqrt(cx**2+cy**2);d=1-dist/maxDist;break;}case\"checkers\":{const isEven=(r+c)%2===0;d=(isEven?0:.4)+axis*.6;break;}case\"rain\":{const colSeed=Math.abs(Math.sin(c*91.3))*.45;const rowDelay=r/Math.max(rows-1,1)*.55;d=colSeed+rowDelay;break;}}map[r][c]=d;if(d>maxD)maxD=d;}}for(let r=0;r<rows;r++)for(let c=0;c<cols;c++)map[r][c]/=maxD;return map;}// ─── Canvas helpers ───────────────────────────────────────────────────────────\n/**\n * COVER frame: tiles grow from alpha=0 → 1 (appearing to fill the screen).\n * progress 0..1 across the full cover phase.\n */function drawCoverFrame(ctx,W,H,pixelSize,color,delayMap,easeFn,progress){ctx.clearRect(0,0,W,H);const rows=delayMap.length;const cols=delayMap[0]?.length??0;for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){const delay=delayMap[r][c]*.65;const span=Math.max(1-delay*.7,.05);const localT=Math.max(0,Math.min((progress-delay)/span,1));const t=easeFn(localT);const alpha=Math.min(t*2.5,1)// fast opacity ramp at wave front\n;if(alpha<=0)continue;ctx.globalAlpha=alpha;ctx.fillStyle=color;ctx.fillRect(c*pixelSize,r*pixelSize,pixelSize,pixelSize);}}ctx.globalAlpha=1;}/**\n * REVEAL frame: tiles shrink from alpha=1 → 0 (disappearing to show new page).\n * Delay map is inverted so the wave front runs in the opposite direction to\n * the cover, creating a smooth in-then-out feel when both are animated.\n */function drawRevealFrame(ctx,W,H,pixelSize,color,delayMap,easeFn,progress){ctx.clearRect(0,0,W,H);const rows=delayMap.length;const cols=delayMap[0]?.length??0;for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){// Invert delay so reveal sweeps opposite to cover\nconst delay=(1-delayMap[r][c])*.65;const span=Math.max(1-delay*.7,.05);const localT=Math.max(0,Math.min((progress-delay)/span,1));const t=easeFn(localT);const alpha=1-Math.min(t*2.5,1);if(alpha<=0)continue;ctx.globalAlpha=alpha;ctx.fillStyle=color;ctx.fillRect(c*pixelSize,r*pixelSize,pixelSize,pixelSize);}}ctx.globalAlpha=1;}// ─── Animate helper ───────────────────────────────────────────────────────────\nfunction animate(draw,durationMs){return new Promise(resolve=>{if(durationMs<=0){draw(1);resolve();return;}let start=null;let raf;function step(ts){if(start===null)start=ts;const progress=Math.min((ts-start)/durationMs,1);draw(progress);if(progress<1){raf=requestAnimationFrame(step);}else{resolve();}}raf=requestAnimationFrame(step);});}// ─── Main play function ───────────────────────────────────────────────────────\nasync function playTransition(canvas,rawColor,pixelSize,coverStyle,coverDurMs,holdDurMs,revealStyle,revealDurMs,direction,easing,onCovered){const ctx=canvas.getContext(\"2d\");const W=canvas.width;const H=canvas.height;const cols=Math.ceil(W/pixelSize);const rows=Math.ceil(H/pixelSize);const color=resolveColor(rawColor);const easeFn=easingFns[easing];// ── PHASE 1: COVER ────────────────────────────────────────────────────────\nif(coverStyle===\"instant\"){ctx.globalAlpha=1;ctx.fillStyle=color;ctx.fillRect(0,0,W,H);}else{const coverMap=buildDelayMap(cols,rows,coverStyle,direction);await animate(progress=>drawCoverFrame(ctx,W,H,pixelSize,color,coverMap,easeFn,progress),coverDurMs);// Ensure solid fill at end of cover\nctx.globalAlpha=1;ctx.fillStyle=color;ctx.fillRect(0,0,W,H);}// ── PHASE 2: HOLD — commit navigation, let new page render ───────────────\nonCovered();if(holdDurMs>0){await new Promise(r=>setTimeout(r,holdDurMs));}// ── PHASE 3: REVEAL ───────────────────────────────────────────────────────\nconst revealMap=buildDelayMap(cols,rows,revealStyle,direction);await animate(progress=>drawRevealFrame(ctx,W,H,pixelSize,color,revealMap,easeFn,progress),revealDurMs);ctx.clearRect(0,0,W,H);}// ─── History patch ────────────────────────────────────────────────────────────\nconst PATCH_KEY=\"__pixelTransitionPatched\";const HANDLER_KEY=\"__pixelNavigateHandler\";function patchHistory(handler){window[HANDLER_KEY]=handler;if(window[PATCH_KEY])return;const origPush=history.pushState.bind(history);const origReplace=history.replaceState.bind(history);const intercept=(orig,state,title,url)=>{const next=url?String(url):location.pathname;if(next!==location.pathname){const slug=next.replace(/^\\//,\"\")||\"home\";window[HANDLER_KEY]?.(slug,()=>orig(state,title,url));}else{orig(state,title,url);}};history.pushState=(s,t,u)=>intercept(origPush,s,t,u);history.replaceState=(s,t,u)=>intercept(origReplace,s,t,u);window[PATCH_KEY]=true;}// ─── Slug helpers ─────────────────────────────────────────────────────────────\nfunction getFramerSlugs(){const slugs=new Set;try{const routes=window.__framerRoutes;if(Array.isArray(routes))routes.forEach(r=>{const p=r?.path??r?.route??\"\";if(p)slugs.add(p.replace(/^\\//,\"\")||\"home\");});const sitemap=window.__framer_sitemap;if(Array.isArray(sitemap))sitemap.forEach(r=>{const p=r?.path??\"\";if(p)slugs.add(p.replace(/^\\//,\"\")||\"home\");});document.querySelectorAll(\"a[href]\").forEach(a=>{const href=a.getAttribute(\"href\")??\"\";if(href.startsWith(\"/\")&&!href.includes(\".\"))slugs.add(href.replace(/^\\//,\"\")||\"home\");});}catch(_){}return Array.from(slugs).sort();}function parseSlugs(raw){return raw.split(\",\").map(s=>s.trim().toLowerCase().replace(/^\\//,\"\")).filter(Boolean);}// ─── Component ────────────────────────────────────────────────────────────────\nexport default function PixelTransition({pages=\"\",color=\"#7B4FFF\",coverStyle=\"instant\",coverDuration=.6,holdDuration=.1,revealStyle=\"wave\",revealDuration=.9,pixelSize=48,direction=\"left-to-right\",easing=\"ease-in-out\",onComplete,style}){const canvasRef=useRef(null);const[active,setActive]=useState(false);const playingRef=useRef(false);const colorRef=useRef(color);colorRef.current=color;// Stable ref bundle so useEffect dependencies stay minimal\nconst propsRef=useRef({color,pixelSize,coverStyle,coverDuration,holdDuration,revealStyle,revealDuration,direction,easing});propsRef.current={color,pixelSize,coverStyle,coverDuration,holdDuration,revealStyle,revealDuration,direction,easing};// ── Resize canvas ──────────────────────────────────────────────────────────\nuseEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const resize=()=>{canvas.width=window.innerWidth;canvas.height=window.innerHeight;};resize();window.addEventListener(\"resize\",resize);return()=>window.removeEventListener(\"resize\",resize);},[]);// ── Core run function ──────────────────────────────────────────────────────\nconst run=useCallback(async commit=>{const canvas=canvasRef.current;if(!canvas||playingRef.current){commit?.();return;}playingRef.current=true;setActive(true);const p=propsRef.current;await playTransition(canvas,p.color,p.pixelSize,p.coverStyle,p.coverDuration*1e3,p.holdDuration*1e3,p.revealStyle,p.revealDuration*1e3,p.direction,p.easing,()=>{commit?.();});setActive(false);playingRef.current=false;onComplete?.();},[onComplete]);// ── Page-change auto-trigger ───────────────────────────────────────────────\nuseEffect(()=>{const known=getFramerSlugs();const allowed=parseSlugs(pages);if(known.length>0)console.info(`[PixelTransition] Detected slugs: ${known.join(\", \")}`);const shouldPlay=slug=>allowed.length===0||allowed.includes(slug.toLowerCase());const handleNav=(slug,commit)=>{if(shouldPlay(slug))run(commit);else commit();};patchHistory(handleNav);const handlePop=()=>{const slug=location.pathname.replace(/^\\//,\"\")||\"home\";if(shouldPlay(slug))run();};window.addEventListener(\"popstate\",handlePop);window.__pixelTransition={play:()=>run()};return()=>{window.removeEventListener(\"popstate\",handlePop);delete window.__pixelTransition;};},[pages,run]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",inset:0,pointerEvents:active?\"all\":\"none\",zIndex:9999,...style},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"block\",width:\"100%\",height:\"100%\"}})});}// ─── Property Controls ────────────────────────────────────────────────────────\nconst STYLE_OPTIONS=[\"instant\",\"wave\",\"dissolve\",\"cascade\",\"vortex\",\"blinds\",\"shatter\",\"checkers\",\"rain\"];const STYLE_TITLES=[\"⚡  Instant    — snap fill\",\"〰  Wave       — sweeping wall\",\"⁘   Dissolve   — scattered random\",\"▤   Cascade    — column waterfall\",\"◎   Vortex     — spiral inward\",\"≡   Blinds     — venetian strips\",\"✸   Shatter    — center impact\",\"⊞   Checkers   — chess-board pop\",\"⋮   Rain       — falling columns\"];addPropertyControls(PixelTransition,{// ── Pages ──────────────────────────────────────────────────────────────────\npages:{type:ControlType.String,title:\"Pages\",defaultValue:\"\",placeholder:\"about, work, contact\",description:\"Comma-separated slugs. Blank = ALL pages.\"},// ── Appearance ────────────────────────────────────────────────────────────\ncolor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#7B4FFF\"},pixelSize:{type:ControlType.Number,title:\"Pixel Size\",defaultValue:48,min:4,max:258,step:2,displayStepper:true},// ── Cover phase ───────────────────────────────────────────────────────────\ncoverStyle:{type:ControlType.Enum,title:\"Cover Style\",defaultValue:\"instant\",options:STYLE_OPTIONS,optionTitles:STYLE_TITLES,description:\"How the color fills over the current page. Instant = no animation.\"},coverDuration:{type:ControlType.Number,title:\"Cover Duration (s)\",defaultValue:.6,min:.1,max:5,step:.05,displayStepper:true},// ── Hold phase ────────────────────────────────────────────────────────────\nholdDuration:{type:ControlType.Number,title:\"Hold Duration (s)\",defaultValue:.1,min:0,max:5,step:.05,displayStepper:true,description:\"Pause while fully covered, before the reveal begins.\"},// ── Reveal phase ──────────────────────────────────────────────────────────\nrevealStyle:{type:ControlType.Enum,title:\"Reveal Style\",defaultValue:\"wave\",options:STYLE_OPTIONS.filter(s=>s!==\"instant\"),optionTitles:STYLE_TITLES.filter((_,i)=>i!==0),description:\"How the tiles dissolve to reveal the new page.\"},revealDuration:{type:ControlType.Number,title:\"Reveal Duration (s)\",defaultValue:.9,min:.1,max:5,step:.05,displayStepper:true},// ── Shared ────────────────────────────────────────────────────────────────\ndirection:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"left-to-right\",options:[\"left-to-right\",\"right-to-left\",\"top-to-bottom\",\"bottom-to-top\"],optionTitles:[\"→ Left to Right\",\"← Right to Left\",\"↓ Top to Bottom\",\"↑ Bottom to Top\"],description:\"Applies to both Cover and Reveal phases (Wave, Cascade, Checkers, Blinds).\"},easing:{type:ControlType.Enum,title:\"Easing\",defaultValue:\"ease-in-out\",options:[\"linear\",\"ease-in\",\"ease-out\",\"ease-in-out\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In-Out\"]},onComplete:{type:ControlType.EventHandler,title:\"On Complete\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelTransition\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageTransition.map","// Generated by Framer (5235a87)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getLoadingLazyAtYPosition,Image as Image1,Link,PropertyOverrides,RenderTarget,RichText,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import PixelTransition from\"#framer/local/codeFile/klQcCIi/PageTransition.js\";const PixelTransitionFonts=getFonts(PixelTransition);const breakpoints={fwMpl2mnN:\"(min-width: 810px) and (max-width: 1199.98px)\",gGfkiRlCX:\"(max-width: 809.98px)\",VCo5QIGSd:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-WuQ7k\";const variantClassNames={fwMpl2mnN:\"framer-v-z2r6lc\",gGfkiRlCX:\"framer-v-ik6g4\",VCo5QIGSd:\"framer-v-1ebr100\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const breakpointRules={fwMpl2mnN:[\".framer-WuQ7k .framer-b882bt { left: 20px; right: 20px; width: unset; }\"],gGfkiRlCX:[\".framer-WuQ7k .framer-b882bt { left: 20px; right: 20px; width: unset; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={fwMpl2mnN:\".framer-z2r6lc-override\",gGfkiRlCX:\".framer-ik6g4-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-WuQ7k.framer-1erlthh, .framer-WuQ7k .framer-1erlthh { display: block; }\",\".framer-WuQ7k.framer-1ebr100 { align-content: center; align-items: center; background-color: #000000; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-WuQ7k .framer-b882bt { align-content: center; align-items: center; background-color: rgba(255, 255, 255, 0.1); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; left: 50%; overflow: visible; padding: 2px 2px 2px 12px; position: var(--framer-canvas-fixed-position, fixed); top: 20px; width: 353px; z-index: 1; }\",\".framer-WuQ7k .framer-7tqswx { flex: none; height: auto; overflow: visible; position: relative; text-decoration: none; width: 133px; }\",\".framer-WuQ7k .framer-12f8jqz { align-content: center; align-items: center; background-color: var(--token-6344dd79-a984-4d98-b6da-10b8c285b5f1, #ff3c00); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 12px 20px 12px 20px; position: relative; text-decoration: none; width: min-content; }\",\".framer-WuQ7k .framer-1vvd1fc { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-WuQ7k .framer-isdo2p-container { -webkit-user-select: none; flex: none; height: 100vh; left: 0px; pointer-events: none; position: absolute; right: 0px; top: 0px; user-select: none; z-index: 10; }\",\".framer-WuQ7k .framer-1grfooh { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={fwMpl2mnN:\"(min-width: 810px) and (max-width: 1199.98px)\",gGfkiRlCX:\"(max-width: 809.98px)\",VCo5QIGSd:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"VCo5QIGSd\",Phone:\"gGfkiRlCX\",Tablet:\"fwMpl2mnN\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"VCo5QIGSd\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"VCo5QIGSd\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(0, 0, 0); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1ebr100\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{fwMpl2mnN:{\"data-framer-layout-hint-center-x\":undefined,transformTemplate:undefined},gGfkiRlCX:{\"data-framer-layout-hint-center-x\":undefined,transformTemplate:undefined}},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-b882bt\",\"data-framer-layout-hint-center-x\":true,\"data-framer-name\":\"Navigation\",transformTemplate:transformTemplate1,children:[/*#__PURE__*/_jsx(Link,{href:\"https://forx.supply\",motionChild:true,nodeId:\"hv8NnqD5C\",openInNewTab:true,scopeId:\"zKWebW4JM\",children:/*#__PURE__*/_jsx(Image1,{as:\"a\",background:{alt:\"\",fit:\"fit\",intrinsicHeight:192,intrinsicWidth:1304,loading:getLoadingLazyAtYPosition(32.4),pixelHeight:192,pixelWidth:1304,positionX:\"center\",positionY:\"center\",sizes:\"133px\",src:\"https://framerusercontent.com/images/SdMXdJWeCzEzCDhNgnWwERY.png?width=1304&height=192\",srcSet:\"https://framerusercontent.com/images/SdMXdJWeCzEzCDhNgnWwERY.png?scale-down-to=512&width=1304&height=192 512w,https://framerusercontent.com/images/SdMXdJWeCzEzCDhNgnWwERY.png?scale-down-to=1024&width=1304&height=192 1024w,https://framerusercontent.com/images/SdMXdJWeCzEzCDhNgnWwERY.png?width=1304&height=192 1304w\"},className:\"framer-7tqswx framer-1erlthh\",\"data-framer-name\":\"Logo\",fitImageDimension:\"height\"})}),/*#__PURE__*/_jsx(Link,{href:\"https://forx.supply\",motionChild:true,nodeId:\"Wse5_2T6Q\",openInNewTab:true,scopeId:\"zKWebW4JM\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-12f8jqz framer-1erlthh\",\"data-framer-name\":\"Button\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"RlM7TWFucm9wZS1zZW1pYm9sZA==\",\"--framer-font-family\":'\"Manrope\", \"Manrope Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.05em\",\"--framer-text-color\":\"var(--token-2b55f3f9-df63-443d-be00-982e1e252fd2, rgb(255, 255, 255))\"},children:\"Get templates\"})}),className:\"framer-1vvd1fc\",fonts:[\"FS;Manrope-semibold\"],verticalAlignment:\"top\",withExternalLayout:true})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-isdo2p-container\",isAuthoredByUser:true,nodeId:\"IbScAx0Jc\",scopeId:\"zKWebW4JM\",children:/*#__PURE__*/_jsx(PixelTransition,{color:\"rgb(255, 255, 255)\",coverDuration:.6,coverStyle:\"cascade\",direction:\"left-to-right\",easing:\"ease-in-out\",height:\"100%\",holdDuration:.4,id:\"IbScAx0Jc\",layoutId:\"IbScAx0Jc\",pages:\"\",pixelSize:50,revealDuration:1,revealStyle:\"dissolve\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1grfooh\"})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1674\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"fwMpl2mnN\":{\"layout\":[\"fixed\",\"fixed\"]},\"gGfkiRlCX\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"VCo5QIGSd\":[\".framer-b882bt\"],\"fwMpl2mnN\":[\".framer-b882bt\"],\"gGfkiRlCX\":[\".framer-b882bt\"]}\n * @framerBreakpoints {\"VCo5QIGSd\":{\"min\":1200,\"canvasClassName\":\"framer-1ebr100-override\",\"minHeight\":1674,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"fwMpl2mnN\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-z2r6lc-override\",\"minHeight\":1674,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"gGfkiRlCX\":{\"max\":809,\"canvasClassName\":\"framer-ik6g4-override\",\"minHeight\":1674,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant VCo5QIGSd\n * @framerLayoutTemplate true\n */const FramerzKWebW4JM=withCSS(Component,css,\"framer-WuQ7k\");export default FramerzKWebW4JM;FramerzKWebW4JM.displayName=\"Base\";FramerzKWebW4JM.defaultProps={height:1674,width:1200};addFonts(FramerzKWebW4JM,[{explicitInter:true,fonts:[{cssFamilyName:\"Manrope\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Manrope\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/6U2SGH566NSNERG6RGEV3DSNEK7DL2RF/JRDYRKMSAW2H35IWEQIPL67HAJQ35MG5/JNU3GNMUBPWW6V6JTED3S27XL5HN7NM5.woff2\",weight:\"600\"}]},...PixelTransitionFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerzKWebW4JM\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDefaultVariant\":\"VCo5QIGSd\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"1674\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerBreakpoints\":\"{\\\"VCo5QIGSd\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1ebr100-override\\\",\\\"minHeight\\\":1674,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"fwMpl2mnN\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-z2r6lc-override\\\",\\\"minHeight\\\":1674,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"gGfkiRlCX\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-ik6g4-override\\\",\\\"minHeight\\\":1674,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerLayoutTemplate\":\"true\",\"framerHitTargets\":\"{\\\"VCo5QIGSd\\\":[\\\".framer-b882bt\\\"],\\\"fwMpl2mnN\\\":[\\\".framer-b882bt\\\"],\\\"gGfkiRlCX\\\":[\\\".framer-b882bt\\\"]}\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fwMpl2mnN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"gGfkiRlCX\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Base from \"https://framerusercontent.com/modules/DZYDi21PWr3VRKCN3pQM/yZJXb4HMxJBAIfTB7tbz/zKWebW4JM.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/yZ2lX8fNJ7BBSal5E4mt/oIMBoTSM2gFTjd1UnFJg/augiA20Il.js\")), path: \"/\"}, N1onv1gnX: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/wtzF37m9A5oafIDQ8fUh/4H7dHan63f8Nirz35U1G/N1onv1gnX.js\")), path: \"/page-1\"}, TtFzV0765: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/51id3kz0lN0fkBMVlRMB/RBHhY5gZMs1NWUie2EvP/TtFzV0765.js\")), path: \"/page-2\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"73293ac909fb53425fceabdf238362dad9c8292450e036e067f2e26278ee31fd\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"N1onv1gnX\":\r\ncase \"TtFzV0765\":\r\nreturn React.createElement(Base, {...props, key: \"Base\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"N1onv1gnX\":\r\ncase \"TtFzV0765\":\r\nreturn [{hash: \"1ebr100\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"z2r6lc\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"ik6g4\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://thrilled-messages-882514.framer.app\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/JslkrHVRvddoP3Q2iQFw/15DsYzz8XzHprCBBzbLU/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {global: {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0.2, duration: 1, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}, exit: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0.2, duration: 1, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}, routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t\t;(function () {\r\n\t\t\tif (!isBrowser) return\r\n\r\n\t\t\tReact.startTransition(() => {\r\n\t\t\t\tReactDOM.hydrateRoot(\r\n\t\t\t\t\tdocument.getElementById(\"__framer-badge-container\"),\r\n\t\t\t\t\tReact.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t})()\r\n\t"],"mappings":"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"}