{"version":3,"file":"script_main.Swup6kkf.mjs","names":["React.useState","React.useRef","useRef","React.useId","PropertyOverrides","React.createElement","GlobalBackToTop","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.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/Ztt04Dqsope8CDE5BRa9/6OCEsPd5Lzo13s7LO3tf/BackToTop.js","https:/framerusercontent.com/modules/z2WhqxM7kXlGJyqTsuve/fuPnU3OHcxTlJzwVyuEa/H2EBVvyLa.js","framer:toplevel/main"],"sourcesContent":["/**\n * BackToTop Code Component (Framer)\n *\n * A customizable back-to-top button for Framer sites.\n * - Single default export (BackToTop)\n * - Drag & drop friendly: visible in canvas when Always Show = true\n * - Toggle Fixed = true to pin bottom-right/left/center for preview/publish\n * - Shapes: circle, rounded, square\n * - Icons: arrow, chevron, caret, double, rocket (points upward)\n * - Hover, border, shadow, pulse, scroll speed, and transition type options\n * - Polished UI: hover scale, smooth transitions, accessibility features\n * - Usage: Place in canvas, adjust props in properties panel, enable Fixed for live sites\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{createPortal}from\"react-dom\";// ----- Helpers -----\nconst isClient=()=>typeof window!==\"undefined\"&&typeof document!==\"undefined\";const clamp01=v=>Math.max(0,Math.min(1,v));function useRAFScrollProgress(){const[progress,setProgress]=React.useState(0);const tickingRef=React.useRef(false);React.useEffect(()=>{if(!isClient())return;function update(){const docHeight=Math.max(document.documentElement.scrollHeight-window.innerHeight,0);const top=window.scrollY||window.pageYOffset;setProgress(docHeight>0?clamp01(top/docHeight):0);tickingRef.current=false;}function onScroll(){if(tickingRef.current)return;tickingRef.current=true;requestAnimationFrame(update);}update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);};},[]);return progress;}function scrollToTopDuration(duration=600){if(!isClient())return;const start=window.scrollY||window.pageYOffset;const startTime=performance.now();function step(now){const t=Math.min(1,(now-startTime)/duration);const eased=t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;window.scrollTo(0,Math.round(start*(1-eased)));if(t<1)requestAnimationFrame(step);}requestAnimationFrame(step);}// ----- Icons -----\nfunction Icon({name,color,size}){const common={width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true};switch(name){case\"arrow\":return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 10.5L12 5l5.5 5.5\"})]});case\"chevron\":return /*#__PURE__*/_jsx(\"svg\",{...common,children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 14l6-6 6 6\"})});case\"caret\":return /*#__PURE__*/_jsx(\"svg\",{...common,stroke:\"none\",fill:color,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 6l6 12H6l6-12z\"})});case\"double\":return /*#__PURE__*/_jsxs(\"svg\",{...common,strokeWidth:\"1.6\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6 14l6-6 6 6\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6 20l6-6 6 6\"})]});case\"rocket\":return /*#__PURE__*/_jsx(\"svg\",{...common,viewBox:\"-5 -5 34 34\",children:/*#__PURE__*/_jsxs(\"g\",{transform:\"rotate(-45 12 12)\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"13.5\",cy:\"10.5\",r:\"1\"})]})});default:return null;}}// ----- Component -----\nexport default function BackToTop(inProps){// Props with defaults\nconst props={size:inProps.size??56,shape:inProps.shape??\"circle\",icon:inProps.icon??\"arrow\",fill:inProps.fill??\"#2979FF\",iconColor:inProps.iconColor??\"#ffffff\",hoverFill:inProps.hoverFill??\"#3E8BFF\",hoverIconColor:inProps.hoverIconColor??inProps.iconColor??\"#ffffff\",borderColor:inProps.borderColor??\"rgba(0,0,0,0.06)\",borderWidth:inProps.borderWidth??1,shadow:inProps.shadow??true,pulse:inProps.pulse??false,showAfter:inProps.showAfter??.25,alwaysShow:inProps.alwaysShow??true,fixed:inProps.fixed??false,placement:inProps.placement??\"bottom-right\",sideOffset:inProps.sideOffset??24,bottom:inProps.bottom??24,speedMs:inProps.speedMs??600,showOnMobile:inProps.showOnMobile??false,scrollType:inProps.scrollType??\"smooth\"};const progress=useRAFScrollProgress();const[hovered,setHovered]=React.useState(false);const[focused,setFocused]=React.useState(false);const[isMobile,setIsMobile]=React.useState(isClient()?window.innerWidth<=768:false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const client=isClient();const scrolledEnough=progress>=clamp01(props.showAfter);const visible=isCanvas||client?props.alwaysShow?true:scrolledEnough&&(props.showOnMobile||!isMobile):true;// Handle window resize for mobile detection\nReact.useEffect(()=>{if(!client)return;const handleResize=()=>setIsMobile(window.innerWidth<=768);window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[client]);// Inject pulse keyframes only when needed\nReact.useEffect(()=>{if(!client||!props.pulse||document.getElementById(\"axen-btt-pulse-ks\"))return;const style=document.createElement(\"style\");style.id=\"axen-btt-pulse-ks\";style.innerHTML=`@keyframes axen-btt-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.06); } 100% { transform: scale(1); } }`;document.head.appendChild(style);return()=>style.remove();},[client,props.pulse]);// Styles\nconst borderRadius=props.shape===\"circle\"?\"50%\":props.shape===\"rounded\"?\"12px\":\"0px\";const bgColor=hovered?props.hoverFill:props.fill;const iColor=hovered?props.hoverIconColor:props.iconColor;const size=Math.max(32,Math.min(320,props.size));const svgSize=size*.45;const baseStyle={width:`${size}px`,height:`${size}px`,minWidth:`${size}px`,minHeight:`${size}px`,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius,background:bgColor,border:props.borderWidth>0?`${props.borderWidth}px solid ${props.borderColor}`:\"none\",boxShadow:props.shadow?focused?\"0 0 0 3px rgba(66, 153, 225, 0.5), 0 10px 30px rgba(2,6,23,0.12)\":\"0 10px 30px rgba(2,6,23,0.12)\":focused?\"0 0 0 3px rgba(66, 153, 225, 0.5)\":\"none\",cursor:\"pointer\",transition:\"background 0.18s ease, transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease\",opacity:visible?1:0,pointerEvents:visible?\"auto\":\"none\",userSelect:\"none\",zIndex:99999,WebkitTapHighlightColor:\"transparent\",position:props.fixed&&!isCanvas?\"fixed\":\"relative\",right:props.fixed&&!isCanvas&&props.placement===\"bottom-right\"?`${props.sideOffset}px`:undefined,left:props.fixed&&!isCanvas&&props.placement===\"bottom-left\"?`${props.sideOffset}px`:props.fixed&&!isCanvas&&props.placement===\"bottom-center\"?\"50%\":undefined,bottom:props.fixed&&!isCanvas?`${props.bottom}px`:undefined,transform:`${props.fixed&&!isCanvas&&props.placement===\"bottom-center\"?\"translateX(-50%) \":\"\"}${hovered?\"scale(1.05)\":\"scale(1)\"}`,boxSizing:\"border-box\",animation:props.pulse&&visible&&!hovered?\"axen-btt-pulse 1.6s ease-in-out infinite\":undefined,outline:\"none\"};// Event handlers\nconst handleClick=()=>{if(props.scrollType===\"instant\"){if(isClient())window.scrollTo({top:0,behavior:\"instant\"});}else{scrollToTopDuration(props.speedMs);}};// Render\nconst button=/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Scroll to top\",title:\"Scroll to top\",onClick:handleClick,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),style:baseStyle,children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(Icon,{name:props.icon,color:iColor,size:svgSize})})});if(!client&&props.fixed)return null;if(props.fixed&&!isCanvas&&document.body)return /*#__PURE__*/createPortal(button,document.body);return button;}// ----- Property Controls -----\naddPropertyControls(BackToTop,{size:{type:ControlType.Number,title:\"Size\",defaultValue:56,min:32,max:320,description:\"Adjust button size (32-320px); use 48-64 for optimal visibility.\"},shape:{type:ControlType.Enum,title:\"Shape\",options:[\"circle\",\"rounded\",\"square\"],optionTitles:[\"Circle\",\"Rounded\",\"Square\"],defaultValue:\"circle\",description:\"Select button shape; circle for a modern, soft appearance.\"},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"arrow\",\"chevron\",\"caret\",\"double\",\"rocket\"],optionTitles:[\"Arrow\",\"Chevron\",\"Caret\",\"Double\",\"Rocket\"],defaultValue:\"arrow\",description:\"Choose icon; arrow for classic, rocket for playful vibe.\"},fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#2979FF\",description:\"Set button background color; ensure icon contrast.\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#FFFFFF\",description:\"Set icon color; choose high contrast with fill.\"},hoverFill:{type:ControlType.Color,title:\"Hover Fill\",defaultValue:\"#3E8BFF\",description:\"Set hover background; use a shade shift for feedback.\"},hoverIconColor:{type:ControlType.Color,title:\"Hover Icon Color\",defaultValue:\"#FFFFFF\",description:\"Set icon color on hover; maintain visibility.\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"rgba(0,0,0,0.06)\",description:\"Set border color; use subtle tones for outline.\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:8,description:\"Set border thickness (0-8px); 0 removes border.\"},shadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,description:\"Toggle shadow; enable for depth, disable for flat look.\"},pulse:{type:ControlType.Boolean,title:\"Pulse\",defaultValue:false,description:\"Enable pulsing animation to attract attention.\"},showAfter:{type:ControlType.Number,title:\"Show After\",defaultValue:.25,min:0,max:1,step:.01,displayStepper:true,description:\"Show button after scrolling (0-1); e.g., 0.25 = 25% down.\"},alwaysShow:{type:ControlType.Boolean,title:\"Always Show\",defaultValue:true,description:\"Keep visible in canvas; disable to show only on scroll.\"},fixed:{type:ControlType.Boolean,title:\"Fixed\",defaultValue:false,description:\"Pin button to viewport; enable for live sites.\"},placement:{type:ControlType.Enum,title:\"Placement\",options:[\"bottom-right\",\"bottom-left\",\"bottom-center\"],optionTitles:[\"Bottom Right\",\"Bottom Left\",\"Bottom Center\"],defaultValue:\"bottom-right\",description:\"Set fixed position; bottom-right is standard.\"},sideOffset:{type:ControlType.Number,title:\"Side Offset\",defaultValue:24,description:\"Set horizontal edge spacing (px); adjust for layout.\"},bottom:{type:ControlType.Number,title:\"Bottom Offset\",defaultValue:24,description:\"Set vertical bottom spacing (px); avoid footer overlap.\"},speedMs:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:600,min:100,max:3e3,description:\"Set scroll duration (100-3000ms); lower for faster scroll.\"},showOnMobile:{type:ControlType.Boolean,title:\"Show on Mobile\",defaultValue:false,description:\"Show on mobile (≤768px); test for touch UX.\"},scrollType:{type:ControlType.Enum,title:\"Scroll Type\",options:[\"instant\",\"smooth\"],optionTitles:[\"Instant\",\"Smooth\"],defaultValue:\"smooth\",description:\"Choose instant (jump to top) or smooth (gradual scroll).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BackToTop\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackToTop.map","// Generated by Framer (80f113d)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import BackToTop from\"#framer/local/codeFile/Cx3BhQg/BackToTop.js\";const BackToTopFonts=getFonts(BackToTop);const breakpoints={AYSYw8I8Q:\"(max-width: 809.98px)\",iUyUPGiNZ:\"(min-width: 1200px) and (max-width: 1824.98px)\",MZ3Ouak_n:\"(min-width: 810px) and (max-width: 1199.98px)\",QteTWWXx6:\"(min-width: 1825px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-EOtwX\";const variantClassNames={AYSYw8I8Q:\"framer-v-gafu8m\",iUyUPGiNZ:\"framer-v-1jx9x2m\",MZ3Ouak_n:\"framer-v-zmry3\",QteTWWXx6:\"framer-v-hwafx1\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-EOtwX.framer-1yaks3y, .framer-EOtwX .framer-1yaks3y { display: block; }\",\".framer-EOtwX.framer-1jx9x2m { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-EOtwX .framer-1n67sxd { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-EOtwX .framer-5p1qru-container { flex: none; height: auto; order: 1001; position: relative; width: auto; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={AYSYw8I8Q:\"(max-width: 809.98px)\",iUyUPGiNZ:\"(min-width: 1200px) and (max-width: 1824.98px)\",MZ3Ouak_n:\"(min-width: 810px) and (max-width: 1199.98px)\",QteTWWXx6:\"(min-width: 1825px)\"};const humanReadableVariantMap={\"Wide Desktop\":\"QteTWWXx6\",Desktop:\"iUyUPGiNZ\",Phone:\"AYSYw8I8Q\",Tablet:\"MZ3Ouak_n\"};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??\"iUyUPGiNZ\"};};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:\"iUyUPGiNZ\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: none; }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1jx9x2m\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1n67sxd\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-5p1qru-container\",\"data-framer-name\":\"Back to Top\",isAuthoredByUser:true,name:\"Back to Top\",nodeId:\"o9lJWSyaU\",scopeId:\"H2EBVvyLa\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{AYSYw8I8Q:{bottom:16,sideOffset:16,size:46}},children:/*#__PURE__*/_jsx(BackToTop,{alwaysShow:true,borderColor:\"rgba(0, 0, 0, 0.06)\",borderWidth:0,bottom:28,fill:\"rgb(0, 87, 184)\",fixed:true,height:\"100%\",hoverFill:\"rgb(0, 69, 143)\",hoverIconColor:\"rgb(255, 255, 255)\",icon:\"arrow\",iconColor:\"rgb(255, 255, 255)\",id:\"o9lJWSyaU\",layoutId:\"o9lJWSyaU\",name:\"Back to Top\",placement:\"bottom-right\",pulse:false,scrollType:\"smooth\",shadow:true,shape:\"circle\",showAfter:.25,showOnMobile:true,sideOffset:28,size:52,speedMs:600,width:\"100%\"})})})})]}),/*#__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=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"MZ3Ouak_n\":{\"layout\":[\"fixed\",\"fixed\"]},\"AYSYw8I8Q\":{\"layout\":[\"fixed\",\"fixed\"]},\"QteTWWXx6\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"iUyUPGiNZ\":[\".framer-5p1qru-container\"],\"MZ3Ouak_n\":[\".framer-5p1qru-container\"],\"AYSYw8I8Q\":[\".framer-5p1qru-container\"],\"QteTWWXx6\":[\".framer-5p1qru-container\"]}\n * @framerBreakpoints {\"QteTWWXx6\":{\"min\":1825,\"canvasClassName\":\"framer-hwafx1-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Wide Desktop\",\"width\":1825,\"rootFontSize\":16},\"iUyUPGiNZ\":{\"min\":1200,\"max\":1824,\"canvasClassName\":\"framer-1jx9x2m-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"MZ3Ouak_n\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-zmry3-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"AYSYw8I8Q\":{\"max\":809,\"canvasClassName\":\"framer-gafu8m-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant iUyUPGiNZ\n * @framerLayoutTemplate true\n */const FramerH2EBVvyLa=withCSS(Component,css,\"framer-EOtwX\");export default FramerH2EBVvyLa;FramerH2EBVvyLa.displayName=\"Global Back to Top\";FramerH2EBVvyLa.defaultProps={height:1e3,width:1200};addFonts(FramerH2EBVvyLa,[{explicitInter:true,fonts:[]},...BackToTopFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerH2EBVvyLa\",\"slots\":[],\"annotations\":{\"framerBreakpoints\":\"{\\\"QteTWWXx6\\\":{\\\"min\\\":1825,\\\"canvasClassName\\\":\\\"framer-hwafx1-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Wide Desktop\\\",\\\"width\\\":1825,\\\"rootFontSize\\\":16},\\\"iUyUPGiNZ\\\":{\\\"min\\\":1200,\\\"max\\\":1824,\\\"canvasClassName\\\":\\\"framer-1jx9x2m-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"MZ3Ouak_n\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-zmry3-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"AYSYw8I8Q\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-gafu8m-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"MZ3Ouak_n\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"AYSYw8I8Q\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"QteTWWXx6\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerDefaultVariant\":\"iUyUPGiNZ\",\"framerIntrinsicHeight\":\"1000\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerLayoutTemplate\":\"true\",\"framerHitTargets\":\"{\\\"iUyUPGiNZ\\\":[\\\".framer-5p1qru-container\\\"],\\\"MZ3Ouak_n\\\":[\\\".framer-5p1qru-container\\\"],\\\"AYSYw8I8Q\\\":[\\\".framer-5p1qru-container\\\"],\\\"QteTWWXx6\\\":[\\\".framer-5p1qru-container\\\"]}\",\"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 GlobalBackToTop from \"https://framerusercontent.com/modules/z2WhqxM7kXlGJyqTsuve/fuPnU3OHcxTlJzwVyuEa/H2EBVvyLa.js\";\r\n\r\n\t\tconst routes = {jpBwv2Ph6: {elements: {AI1Pa9ROh: \"testimonials\", aoB_I3R7j: \"social-media\", JhbKfcgJt: \"about\", Ooy67etwR: \"our-products\", X2PE_9jhv: \"contact-us\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/OeOyzThf5NQJMcaf0VxI/kWgGQWWaxzEXrbThMPOl/jpBwv2Ph6.js\")), path: \"/\"}, QXrqpAVx0: {elements: {bMkBxpqGH: \"about-2\", nwAgK2V9J: \"doors\", QDVL2pxi3: \"trigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/mLzdyVTrLpcNXrVuHufR/XTicdVpHlc4AQn7ssJez/QXrqpAVx0.js\")), path: \"/blog\"}, AIXJNgAkQ: {elements: {fP3nvJdqC: \"cta\", P1JXMSOwr: \"commerical-projects\", YEn697lPt: \"trigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xqvEz6RUtVgU6Tk4xnld/rccoZ3YaikMDkxnMd0LN/AIXJNgAkQ.js\")), path: \"/projects\"}, coyW_Eqlv: {elements: {BbT1yTdNG: \"timeline-row-3\", dXUijiy_U: \"timeline-row-2-1\", JVE620dmV: \"ourvalues\", JwH6OXW9r: \"timeline-row-2\", mFOKIPTr5: \"about-2\", ookdsWbMl: \"timeline-row-2-2\", usLG3n25Q: \"about-2-1\", VJSH9qBVX: \"timeline-row-1\", XYZm_Aw8_: \"timeline-row-2-3\", YKDgbUvsZ: \"doors\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/15bvFIld5bAb7VH1pa2p/pcjJcAcLO01SEfXSUvx5/coyW_Eqlv.js\")), path: \"/about\"}, cn83MFdZj: {elements: {g0Diod8kT: \"precision-installation\", hW_UBkdDn: \"services\", iJvmbcdE2: \"distribution\", lY19y0Mkd: \"custom-specialty\", Ocx7h5Vsc: \"installation-excellence\", Oq5DavI0c: \"installation-services\", x1vKMP2o3: \"service-overview\", ykckug14q: \"custom-specialty-1\", YktOY4gIh: \"what-we-do\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/DHRsm05Kw5pD4b7y9QZH/9bmZCEfCdjQKGpDeDhWs/cn83MFdZj.js\")), path: \"/services\"}, oRTx2lHEE: {elements: {n1IvPVUzz: \"contact-us-form\", OH2NhWA1Z: \"about-2-1\", PJ4kpsXu2: \"about-2\", vIL54sFTA: \"about-2-2\", z6MSbGfWe: \"doors\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/aTCzmNZKQTayms0ccNiB/ntLwtTwo3oBg6GpnmTBP/oRTx2lHEE.js\")), path: \"/contact\"}, H4Bbbeht7: {elements: {YLtCI1dvg: \"projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/aVI95Ko39M4pveBazoZt/cFlDQx2PiBZEpkjYqzfF/H4Bbbeht7.js\")), path: \"/policies/privacy-policy\"}, UIzXbvNb1: {elements: {GdomdbLBA: \"projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/tNKzDqhjcNU23qiQxflP/zVIgVcsZzHlrUcSxfGWE/UIzXbvNb1.js\")), path: \"/policies/terms-of-use\"}, AhaKApUHT: {elements: {shhKYv_jV: \"projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Tt0voecqWk9eZ2vXxqRU/i4NSgmiODEmjDD9tUisp/AhaKApUHT.js\")), path: \"/policies/proto-credits\"}, LbPoglmFD: {elements: {bnoIeiAnv: \"product-list\", f8tSx1kDD: \"windows\", kqak_dHPu: \"windows-1\", oQzOi3WM2: \"our-product\", RHg5xVnUu: \"windows-section\", SG6sGGdcr: \"doors\", thgUUOyC2: \"garage-doors\", toYmSKo2n: \"doors-1\", wEO0e2HEM: \"accessories\", xLlYEpzwv: \"windows-section-1\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fq02y4dTiYN9MUyTFNMb/h9NBJVDUp9ozmeRGHA3R/LbPoglmFD.js\")), path: \"/products\"}, LFSALU2Jb: {elements: {j6c8U7wBF: \"faqs\", ORDEraCUH: \"about-windsor-1\", SAcid8SB7: \"banner\", uUBh1yfQD: \"about-windsor\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bMVg7lIP9w9mYVSM1QWn/KBOlAbiUZzHHzlMiwLR1/LFSALU2Jb.js\")), path: \"/products/windsor-windows\"}, u_X9uJm8B: {elements: {kcTvmMBbn: \"faqs\", Vlf8_oNsl: \"about-windsor\", vM8oKQ0Zl: \"benefits\", YuIWhd9x4: \"banner\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/QySP9mkqeN9WNXvXJX6j/zwQdT5n4PoRIGW11UfpS/u_X9uJm8B.js\")), path: \"/products/accoya-wood\"}, rZdn85q0x: {elements: {dUYHoQJZ6: \"benefits\", F5iqYbmfN: \"about-windsor\", XyTxEh9YQ: \"banner\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bxaHJ1LulTgR4f4tmF5Q/PErDizX6wAD70OiAUfGA/rZdn85q0x.js\")), path: \"/products/doors/pivot-doors\"}, eymFK4U17: {elements: {llUGCQZP4: \"faqs\", NJawU1_ai: \"about-windsor\", ulWjZfIsh: \"banner\", XCADWSNwo: \"about-windsor-1\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/S4Mp1FXsOQNuBLCoL43n/FqBeDnkIKnHSx5gStG9v/eymFK4U17.js\")), path: \"/products/doors/large-format-doors\"}, Iwu1ZmN8I: {elements: {jLtTRF7xE: \"banner\", JV0_UQENS: \"about-windsor-1\", obqOXxNJM: \"faqs\", oIxqlKC9_: \"about-windsor\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Ns3ADblYvuQ6gtVE2Rgl/RddYAzh4wdw7uM40DyI8/Iwu1ZmN8I.js\")), path: \"/products/doors/patio-garden-doors\"}, xU00SWa1L: {elements: {EP02kNpCZ: \"about-silex\", G_I1o2Un4: \"back-to-products\", KerIXC_9g: \"banner\", ZV8_sJOMk: \"faqs\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/h8NIsB4jS460uPuW7ZPY/FZGdBwws46hcDPLfPg8a/xU00SWa1L.js\")), path: \"/products/silex-fiberglass-windows\"}, eGggWooCK: {elements: {nxbaTgmjL: \"about-mastergrain\", pcCVhsaJS: \"about-mastergrain-1\", z2buR21sa: \"banner\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/WTVhk5KplWX7yPCctzhj/60HrKd66pwcHEo6pRXXo/eGggWooCK.js\")), path: \"/products/doors/custom-fiberglass-doors\"}, xgCIu1IFT: {elements: {diQhnii59: \"about-mastergrain-1\", gy9kVzbAl: \"banner\", n4dpaQuHJ: \"about-mastergrain\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/X9Y60FSFlyk5iNmhT5vt/00bTSePHzihAIJW1SmYK/xgCIu1IFT.js\")), path: \"/products/doors/custom-garage-doors\"}, K4Zi4lT_s: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/WrXArjHQW9XidPbx28nI/rPe1sc6XDttr3SPOKjwo/K4Zi4lT_s.js\")), path: \"/promotions\"}, fXnDqE3_q: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/RAxdFXsRLF5MJJNYWUTv/rVDIILnHeaRzqm0OZM1D/fXnDqE3_q.js\")), path: \"/promotions/home-renovation-savings-program-2026\"}, gDoptMfYw: {elements: {RobvJZCep: \"our-products\", VTZCvcOyv: \"recent-projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9iUlVpEZ0Jb1DGM5m5Ez/A0IVTSzcOrJGVgnIzEW6/gDoptMfYw.js\")), path: \"/services/window-installation\"}, DxreL15LS: {elements: {iqp5e9j7w: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cPXOITLiA5uM1o92JXux/l4EDpuzucZYDg91Hvj3g/DxreL15LS.js\")), path: \"/services/door-installation\"}, j9QKKlSPG: {elements: {pop2_baC4: \"back-to-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/41ueNaww7WNFdO22tiwE/5on4MTUDJ1VYgaxtEWG3/j9QKKlSPG.js\")), path: \"/products/windsor-windows/pinnacle-select\"}, ZF8NzgeuL: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/GQ8yVowg7GZhLuhH66ZA/1g5kvY8GETgFrgma96w1/ZF8NzgeuL.js\")), path: \"/products/windsor-windows/winsure-wood-treatment\"}, EatG8eH09: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/N3mg3a4DFcoQXuvAWhXq/J5wv3il5Q1hrweXOaN7A/EatG8eH09.js\")), path: \"/about/award-winning-partner\"}, vPK8QTHuT: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/VuGA0mL6XlsxZd5DbBiU/YMBDgf2FSItlvUgf3JTi/vPK8QTHuT.js\")), path: \"/products/accessories/wizard-screens\"}, MpIq3AL6s: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/lnoiuuH0gyAgGuecVMwD/Bw1To2DvCHp4td5L1PEl/MpIq3AL6s.js\")), path: \"/products/vinyl-windows\"}, Q9EE_vE3d: {elements: {XffI6e3Ot: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vOSHXYfrQyoAtlwZ9boQ/gbNFln0Ev4r7VKuIbVrg/Q9EE_vE3d.js\")), path: \"/services/window-installation/window-replacement-king-city\"}, tV0GBP7c3: {elements: {NqHO77uMD: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/86m0dFxN7PbBInyEqPjK/ddBarj5pG8UFrmqLVc17/tV0GBP7c3.js\")), path: \"/services/window-installation/window-replacement-oakville\"}, Pq2CuUHep: {elements: {vFBvLSGi_: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pRQXmRfZlYlGqJ4FQyF2/bldHdZ9lq6Ya73eL6QvX/Pq2CuUHep.js\")), path: \"/services/window-installation/custom-windows-doors-burlington\"}, ZBFLc8QbD: {elements: {e8zXIVYun: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Ruo8BqaYfzygOvXNQ86R/jhj7O7kKqAuOm7mANqtc/ZBFLc8QbD.js\")), path: \"/services/window-installation/window-replacement-vaughan\"}, BrOJDIDQo: {elements: {qyduowElY: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/uj8YklRZqk6lYfGBPrZA/J9zOeo34UH5wbWsFy6z3/BrOJDIDQo.js\")), path: \"/services/window-installation/window-replacement-mississauga\"}, vH_ma4RP2: {elements: {ftr15fS4q: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/qYgdOxR9q9lQ5BQHK6oa/pYJ7DqMGcToA5y4lvSVB/vH_ma4RP2.js\")), path: \"/services/window-installation/muskoka-windows-doors\"}, Y4zsQ5aEP: {elements: {wGH1FnFNV: \"our-products\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/RhUBC7IbFEl60vV2kd4P/VSvzNp1cx9t6krMNO03h/Y4zsQ5aEP.js\")), path: \"/services/window-installation/gta-windows-doors\"}, dmrB_zytO: {elements: {ey8IsHkoQ: \"about-windsor\", FIuUjCFou: \"about-windsor-1\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/yThN5PX8MA0Jrv99UflF/hDEjPSdt0K1epdwoh965/dmrB_zytO.js\")), path: \"/products/silex-fiberglass-windows/2100-series\"}, pWdLtzULi: {elements: {lnf3sn1ID: \"about-windsor\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bwqmBGGACgCSCjvsGjHZ/Gy6Koz6DDWiFl0IkEQDP/pWdLtzULi.js\")), path: \"/products/silex-fiberglass-windows/4500-series\"}, yuK1D3eTI: {elements: {VoLvFinzb: \"colour-collection\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/QYDXHOJo8fKm4HL9njWR/aSdCvGw4WZDJuFDvRSa9/yuK1D3eTI.js\")), path: \"/products/windsor-windows/pinnacle\"}, eiSpVl6Fu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/s38K8aWTGGcoACdRDp0u/EQBCZYV1zyv3KfrLYzWs/eiSpVl6Fu.js\")), path: \"/products/windsor-windows/pinnacle/casement-awning-windows\"}, dQtkhbCRL: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/edWhooiA4Rhrgd4YUOB2/v937hg5xDlWFPiIAxDu2/dQtkhbCRL.js\")), path: \"/products/windsor-windows/pinnacle/pinnacle-sliding-patio-door\"}, V99StGYsf: {elements: {Aeexv54lP: \"cta\", EOFTIPlBt: \"our-products\", h7zSLTrf6: \"trigger\", O2tfy6NFE: \"commerical-projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/GmNTwnoZIKhtviVTteRH/nWW21yyl4s5BtS4UzNZJ/V99StGYsf.js\")), path: \"/project-gallery/\"}, CjUP7is4O: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/gIMJibSw3qtFogSrxl32/u56hI3Soj2yGY27vHQit/CjUP7is4O.js\")), path: \"/contact/thank-you\"}, MVC8RZKHd: {elements: {utNhTKohG: \"quote\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bZc8Co3fQ6topgLD0rZL/3Cph4BtFqUTa4DReQ1Kh/MVC8RZKHd.js\")), path: \"/contact/start-your-project\"}, hFKzoG3AP: {elements: {uLUtQMn6N: \"custom-home-projects\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cpZco3RmbwHPl0Mty9oT/aVFMEwxBxpKhXidKr6Dd/hFKzoG3AP.js\")), path: \"/services/custom-home-installation\"}, wQnGQd2zy: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/GSq5QWl9xaRFeDvITRbk/SGfIhN6ktNGRozzQrkjv/wQnGQd2zy.js\")), path: \"/services/property-managers-window-door-replacement\"}, XbDIRisym: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Trt5QCm37DxEyfG61WX3/ExFT7dKue6wgHUS1WzP6/XbDIRisym.js\")), path: \"/services/skylight-roof-window-installation\"}, W2P9nOCYy: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/BEa5gwZqSOggZMVbtmH6/7dw8PNvGOhxgeNPs6Gih/W2P9nOCYy.js\")), path: \"/resources/fiberglass-windows-ontario\"}, YiVNa_RRk: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/MZ2dbhizA7ffzBCWPr41/Chht20NkQDYuFCMw4Lrp/YiVNa_RRk.js\")), path: \"/resources/service-request\"}, e5a596157: {collectionId: \"s7Ull3QNq\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/yd7zzpQ2e5AdzzYzuEv3/peu1BOQEcALixbGy5M7Y/e5a596157.js\")), path: \"/about/:TGPctZPJx\"}, HFp0M5Muk: {collectionId: \"d2HRfUsGZ\", elements: {lj02MChIc: \"gallery-image-scroll\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/w4zt0u1ytroLsb5ntaXz/JwvB43eCPUzVvSqwOSE3/HFp0M5Muk.js\")), path: \"/products/:OwQza8rrx\"}, qII6uIvKx: {collectionId: \"LV07AWBRM\", elements: {FYkyJNduu: \"blogs\", xxBDCZY86: \"windows\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/c7kj4hHKzs5Wy9pUKIXw/hS1di6O2VGfPRTKFunN6/qII6uIvKx.js\")), path: \"/project-gallery/:rrbeA4IdQ\"}, LhghyAygL: {collectionId: \"tW9EbHnh0\", elements: {I8AcCyAXi: \"blogs\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fGHZY620Yk0lqIrMnoiG/135ilNmCHhWRXZnVn19p/LhghyAygL.js\")), path: \"/blog/:abyOl_S_N\"}, iQb2UFkRg: {collectionId: \"Rux0h491m\", elements: {ORdPUXDge: \"blogs\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/BeOCCLOn96KRzZSNJlzW/MKDGqxB0puOogBPGTKap/iQb2UFkRg.js\")), path: \"/projects/:GnCJMePlw\"}}\r\n\r\n\t\tconst locales = [{code: \"en-CA\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {d2HRfUsGZ: async () => (await import(\"https://framerusercontent.com/modules/oKvccxgjCP6qLbJVskvU/CBPWGYLLHTtnD5OgChdD/d2HRfUsGZ.js\"))?.[\"utils\"], LV07AWBRM: async () => (await import(\"https://framerusercontent.com/modules/A4I065zcQwHF5vOCzW2l/K9Ug69TjUyh3S7eSoAaW/LV07AWBRM.js\"))?.[\"utils\"], Rux0h491m: async () => (await import(\"https://framerusercontent.com/modules/hm0Dl980zDnZBJUU2xx0/zaXXy9I8d5c0lsBkWdYg/Rux0h491m.js\"))?.[\"utils\"], s7Ull3QNq: async () => (await import(\"https://framerusercontent.com/modules/ZADRfgMoGjhVrepy8FPi/v1Z9HbEO7hsYN3KzBOIO/s7Ull3QNq.js\"))?.[\"utils\"], tW9EbHnh0: async () => (await import(\"https://framerusercontent.com/modules/iwTVQge5dCoBQDsoYxGq/nx4FtzsAx3l2kX5Qsk17/tW9EbHnh0.js\"))?.[\"utils\"]}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"ab3ce3d42232e0c2ee3c0e28c96cd3abe04d1cd009ff73c7f5dc38a3811999ed\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"jpBwv2Ph6\":\r\ncase \"QXrqpAVx0\":\r\ncase \"AIXJNgAkQ\":\r\ncase \"coyW_Eqlv\":\r\ncase \"cn83MFdZj\":\r\ncase \"oRTx2lHEE\":\r\ncase \"H4Bbbeht7\":\r\ncase \"UIzXbvNb1\":\r\ncase \"AhaKApUHT\":\r\ncase \"LbPoglmFD\":\r\ncase \"LFSALU2Jb\":\r\ncase \"u_X9uJm8B\":\r\ncase \"rZdn85q0x\":\r\ncase \"eymFK4U17\":\r\ncase \"Iwu1ZmN8I\":\r\ncase \"xU00SWa1L\":\r\ncase \"eGggWooCK\":\r\ncase \"xgCIu1IFT\":\r\ncase \"GCCxau2C1\":\r\ncase \"K4Zi4lT_s\":\r\ncase \"fXnDqE3_q\":\r\ncase \"LEo2A95N9\":\r\ncase \"gDoptMfYw\":\r\ncase \"DxreL15LS\":\r\ncase \"j9QKKlSPG\":\r\ncase \"ZF8NzgeuL\":\r\ncase \"EatG8eH09\":\r\ncase \"vPK8QTHuT\":\r\ncase \"MpIq3AL6s\":\r\ncase \"Q9EE_vE3d\":\r\ncase \"tV0GBP7c3\":\r\ncase \"Pq2CuUHep\":\r\ncase \"ZBFLc8QbD\":\r\ncase \"BrOJDIDQo\":\r\ncase \"vH_ma4RP2\":\r\ncase \"Y4zsQ5aEP\":\r\ncase \"dmrB_zytO\":\r\ncase \"pWdLtzULi\":\r\ncase \"yuK1D3eTI\":\r\ncase \"eiSpVl6Fu\":\r\ncase \"dQtkhbCRL\":\r\ncase \"V99StGYsf\":\r\ncase \"CjUP7is4O\":\r\ncase \"MVC8RZKHd\":\r\ncase \"hFKzoG3AP\":\r\ncase \"wQnGQd2zy\":\r\ncase \"XbDIRisym\":\r\ncase \"W2P9nOCYy\":\r\ncase \"YiVNa_RRk\":\r\ncase \"e5a596157\":\r\ncase \"HFp0M5Muk\":\r\ncase \"qII6uIvKx\":\r\ncase \"LhghyAygL\":\r\ncase \"iQb2UFkRg\":\r\nreturn React.createElement(GlobalBackToTop, {...props, key: \"GlobalBackToTop\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"jpBwv2Ph6\":\r\ncase \"QXrqpAVx0\":\r\ncase \"AIXJNgAkQ\":\r\ncase \"coyW_Eqlv\":\r\ncase \"cn83MFdZj\":\r\ncase \"oRTx2lHEE\":\r\ncase \"H4Bbbeht7\":\r\ncase \"UIzXbvNb1\":\r\ncase \"AhaKApUHT\":\r\ncase \"LbPoglmFD\":\r\ncase \"LFSALU2Jb\":\r\ncase \"u_X9uJm8B\":\r\ncase \"rZdn85q0x\":\r\ncase \"eymFK4U17\":\r\ncase \"Iwu1ZmN8I\":\r\ncase \"xU00SWa1L\":\r\ncase \"eGggWooCK\":\r\ncase \"xgCIu1IFT\":\r\ncase \"GCCxau2C1\":\r\ncase \"K4Zi4lT_s\":\r\ncase \"fXnDqE3_q\":\r\ncase \"LEo2A95N9\":\r\ncase \"gDoptMfYw\":\r\ncase \"DxreL15LS\":\r\ncase \"j9QKKlSPG\":\r\ncase \"ZF8NzgeuL\":\r\ncase \"EatG8eH09\":\r\ncase \"vPK8QTHuT\":\r\ncase \"MpIq3AL6s\":\r\ncase \"Q9EE_vE3d\":\r\ncase \"tV0GBP7c3\":\r\ncase \"Pq2CuUHep\":\r\ncase \"ZBFLc8QbD\":\r\ncase \"BrOJDIDQo\":\r\ncase \"vH_ma4RP2\":\r\ncase \"Y4zsQ5aEP\":\r\ncase \"dmrB_zytO\":\r\ncase \"pWdLtzULi\":\r\ncase \"yuK1D3eTI\":\r\ncase \"eiSpVl6Fu\":\r\ncase \"dQtkhbCRL\":\r\ncase \"V99StGYsf\":\r\ncase \"CjUP7is4O\":\r\ncase \"MVC8RZKHd\":\r\ncase \"hFKzoG3AP\":\r\ncase \"wQnGQd2zy\":\r\ncase \"XbDIRisym\":\r\ncase \"W2P9nOCYy\":\r\ncase \"YiVNa_RRk\":\r\ncase \"e5a596157\":\r\ncase \"HFp0M5Muk\":\r\ncase \"qII6uIvKx\":\r\ncase \"LhghyAygL\":\r\ncase \"iQb2UFkRg\":\r\nreturn [{hash: \"hwafx1\", mediaQuery: \"(min-width: 1825px)\"}, {hash: \"1jx9x2m\", mediaQuery: \"(min-width: 1200px) and (max-width: 1824.98px)\"}, {hash: \"zmry3\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"gafu8m\", 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\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\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\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\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: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: true,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://www.wdcraftline.com\",\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/hkLTRcvEDNnwUjv0W50N/X7oR5CSEQ87ZEhH0wrmy/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\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: content\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: {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\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\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\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, contentLocaleId, pathVariables, canonicalPathVariables, 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\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\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 serverRoute = 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\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\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\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\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,\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\tFramer.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"],"mappings":"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"}