{"version":3,"file":"script_main.kVSaFfDA.mjs","names":["serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","useRef","React.useId","GetTemplateButton","useRef","React.useId","React.createElement","Main","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","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/M0OyUzdTf90c6GR1y0xG/QE2zSfW6PDdNLRXoBsva/ILAixxJq7.js","https:/framerusercontent.com/modules/OjnumTOfdZsdZ1GkXgI9/BZdRr7egswpFzJ2vpx9E/FAYAcUG_L.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (269977d)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const MotionAWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(motion.a));const enabledGestures={nCuSbhFUc:{hover:true}};const serializationHash=\"framer-JYaVc\";const variantClassNames={nCuSbhFUc:\"framer-v-1ah7s3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:1.7,duration:.7,ease:[.12,.23,.13,.96],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:50};const transition2={bounce:0,delay:0,duration:.6,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,width,...props})=>{return{...props,KDpPgmaDo:link??props.KDpPgmaDo};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};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 componentViewport=useComponentViewport();const{style,className,layoutId,variant,KDpPgmaDo,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"nCuSbhFUc\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(Link,{href:KDpPgmaDo,motionChild:true,nodeId:\"nCuSbhFUc\",openInNewTab:true,scopeId:\"ILAixxJq7\",children:/*#__PURE__*/_jsx(MotionAWithFXWithOptimizedAppearEffect,{...restProps,...gestureHandlers,__framer__presenceAnimate:animation,__framer__presenceInitial:animation1,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:`${cx(scopingClassNames,\"framer-1ah7s3\",className,classNames)} framer-1dok5qo`,\"data-framer-appear-id\":\"1ah7s3\",\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"nCuSbhFUc\",optimized:true,ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.19), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.17), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.07), 0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.17), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.15), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.06), 0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.14), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.12), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.05), 0px 0.6021873017743928px 0.6021873017743928px -1.25px rgba(0, 0, 0, 0.02), 0px 2.288533303243457px 2.288533303243457px -2.5px rgba(0, 0, 0, 0.02), 0px 10px 10px -3.75px rgba(0, 0, 0, 0.01)\",...style},...addPropertyOverrides({\"nCuSbhFUc-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-10wdk27\",layoutDependency:layoutDependency,layoutId:\"Gav1sy97u\",style:{borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10},children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1xycy6k\",layoutDependency:layoutDependency,layoutId:\"kh9gTqkGa\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LVNlbWlCb2xk\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"1em\",\"--framer-text-transform\":\"inherit\"},children:\"Get Template\"})}),className:\"framer-1v46oj2\",fonts:[\"FR;InterDisplay-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"d_PqT1zUB\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-JYaVc.framer-1dok5qo, .framer-JYaVc .framer-1dok5qo { display: block; }\",\".framer-JYaVc.framer-1ah7s3 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-JYaVc .framer-10wdk27 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 36px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 142px; will-change: var(--framer-will-change-override, transform); z-index: 3; }\",\".framer-JYaVc .framer-1xycy6k { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-JYaVc .framer-1v46oj2 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-JYaVc.framer-v-1ah7s3.hover .framer-1xycy6k { justify-content: flex-end; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 142\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"iLXFB3xIJ\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"KDpPgmaDo\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerILAixxJq7=withCSS(Component,css,\"framer-JYaVc\");export default FramerILAixxJq7;FramerILAixxJq7.displayName=\"Get Template Button\";FramerILAixxJq7.defaultProps={height:36,width:142};addPropertyControls(FramerILAixxJq7,{KDpPgmaDo:{title:\"Link\",type:ControlType.Link}});addFonts(FramerILAixxJq7,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/gazZKZuUEtvr9ULhdA4SprP0AZ0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/pe8RoujoPxuTZhqoNzYqHX2MXA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/teGhWnhH3bCqefKGsIsqFy3hK8.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/qQHxgTnEk6Czu1yW4xS82HQWFOk.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/MJ3N6lfN4iP5Um8rJGqLYl03tE.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/PfdOpgzFf7N2Uye9JX7xRKYTgSc.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/0SEEmmWc3vovhaai4RlRQSWRrz0.woff2\",weight:\"600\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerILAixxJq7\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"iLXFB3xIJ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"142\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"36\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"KDpPgmaDo\\\":\\\"link\\\"}\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ILAixxJq7.map","// Generated by Framer (77d7dc9)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import GetTemplateButton from\"#framer/local/canvasComponent/ILAixxJq7/ILAixxJq7.js\";const GetTemplateButtonFonts=getFonts(GetTemplateButton);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-zbLO9\";const variantClassNames={oF1CTR0Qp:\"framer-v-12mzey1\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-zbLO9.framer-6cupjz, .framer-zbLO9 .framer-6cupjz { display: block; }\",\".framer-zbLO9.framer-12mzey1 { align-content: center; align-items: center; background-color: var(--token-e53dc5d9-c7b0-4885-9cc3-75b0357dc9f7, #ffffff); 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-zbLO9 .framer-5rkegh { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-zbLO9 .framer-148kio4-container { bottom: calc(calc(100% - min(var(--framer-viewport-height, 100%), 100%)) + 66px); flex: none; height: auto; order: 1001; position: var(--framer-canvas-fixed-position, fixed); right: 20px; width: auto; z-index: 1; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];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};};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:{isLayoutTemplate:true,primaryVariantId:\"oF1CTR0Qp\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-e53dc5d9-c7b0-4885-9cc3-75b0357dc9f7, rgb(255, 255, 255)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-12mzey1\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-5rkegh\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:898,children:/*#__PURE__*/_jsx(Container,{className:\"framer-148kio4-container\",layoutScroll:true,nodeId:\"UAy4X1RKl\",scopeId:\"FAYAcUG_L\",children:/*#__PURE__*/_jsx(GetTemplateButton,{height:\"100%\",id:\"UAy4X1RKl\",KDpPgmaDo:\"https://www.framer.com/marketplace/templates/concretestudio/\",layoutId:\"UAy4X1RKl\",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=breakpointRules[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\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"oF1CTR0Qp\":[\".framer-148kio4-container\"]}\n * @framerBreakpoints {\"oF1CTR0Qp\":{\"canvasClassName\":\"framer-12mzey1-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16}}\n * @framerDefaultVariant oF1CTR0Qp\n * @framerLayoutTemplate true\n */const FramerFAYAcUG_L=withCSS(Component,css,\"framer-zbLO9\");export default FramerFAYAcUG_L;FramerFAYAcUG_L.displayName=\"Main\";FramerFAYAcUG_L.defaultProps={height:1e3,width:1200};addFonts(FramerFAYAcUG_L,[{explicitInter:true,fonts:[]},...GetTemplateButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerFAYAcUG_L\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerHitTargets\":\"{\\\"oF1CTR0Qp\\\":[\\\".framer-148kio4-container\\\"]}\",\"framerDefaultVariant\":\"oF1CTR0Qp\",\"framerColorSyntax\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerBreakpoints\":\"{\\\"oF1CTR0Qp\\\":{\\\"canvasClassName\\\":\\\"framer-12mzey1-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16}}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n        import * 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 Main from \"https://framerusercontent.com/modules/OjnumTOfdZsdZ1GkXgI9/BZdRr7egswpFzJ2vpx9E/FAYAcUG_L.js\";\r\n\r\n        const routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/18ZL53qFCCu0LJ9KrL9Q/uZqreKZ0LVRpDyDo6byI/augiA20Il.js\")), path: \"/\"}, MZIl9QI9s: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/JIKe9bjHA3f0t5AX8tJO/ygZCjwOslwVJOCZ9dlQk/MZIl9QI9s.js\")), path: \"/about\"}, mb6mI8Lns: {elements: {tT57GdiID: \"contact\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ONJsaGj8phVqIktevYmE/pbf7F2hUcCtsVYXdMnZ0/mb6mI8Lns.js\")), path: \"/contact\"}, QAwBXNsvB: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7lM792wSuNB5yJoLsr35/6hvgkCuk0qBZHghmTZRm/QAwBXNsvB.js\")), path: \"/works\"}, UAaHL6wWG: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/jW6S2fbAg0YDixMdLLm2/x23qqH3PUXVBJThy2GlS/UAaHL6wWG.js\")), path: \"/404\"}, R5_vL6n_G: {collectionId: \"iqyaWtqTZ\", elements: {w_PWQx8Vq: \"next-project\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ahrG2W7n1vF00qhdAb2L/BaFEdDWnLk1rccviMqJm/R5_vL6n_G.js\")), path: \"/works/:lsw4oTK6Q\"}}\r\n\r\n        const locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n        const collectionUtils = {iqyaWtqTZ: async () => (await import(\"https://framerusercontent.com/modules/Sa7PBtcOjrN7fH9qCKAT/tJ0umO40JKM3y5yD4xE7/iqyaWtqTZ.js\"))?.[\"utils\"]}\r\n        const framerSiteId = \"419d577280655cbef7bb334850ee6e86502d48f8bd9637454864ff46e8a3ef0e\"\r\n        function Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"MZIl9QI9s\":\r\ncase \"mb6mI8Lns\":\r\ncase \"QAwBXNsvB\":\r\ncase \"UAaHL6wWG\":\r\ncase \"R5_vL6n_G\":\r\nreturn React.createElement(Main, {...props, key: \"Main\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"MZIl9QI9s\":\r\ncase \"mb6mI8Lns\":\r\ncase \"QAwBXNsvB\":\r\ncase \"UAaHL6wWG\":\r\ncase \"R5_vL6n_G\":\r\nreturn [{hash: \"12mzey1\"}]\r\ndefault: { return undefined }}}\r\n\r\n        export async function getPageRoot({ routeId, pathVariables, localeId }) {\r\n            const rootPreload = routes[routeId].page.preload()\r\n\r\n            const content = React.createElement(\r\n                Framer.PageRoot,\r\n                {\r\n                    isWebsite: true,\r\n                    routeId,\r\n                    pathVariables,\r\n                    routes,\r\n                    collectionUtils,\r\n                    framerSiteId,\r\n                    notFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/jW6S2fbAg0YDixMdLLm2/x23qqH3PUXVBJThy2GlS/UAaHL6wWG.js\")),\r\n                    isReducedMotion: true,\r\n                    localeId,\r\n                    locales,\r\n                    preserveQueryParams: true,\r\n                    siteCanonicalURL: \"https://concrete-template.framer.website\",\r\n                    EditorBar: \r\n            typeof window !== \"undefined\" ? (() => {\r\n                const isBot = /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n                if (isBot) {\r\n                    console.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n                    return\r\n                }\r\n\r\n                return Framer.lazy(async () => {\r\n                    const dependencies = {\r\n                        __version: 3,\r\n                        framer: {\r\n                            useCurrentRoute: Framer.useCurrentRoute,\r\n                            useLocaleInfo: Framer.useLocaleInfo,\r\n                            useRouter: Framer.useRouter,\r\n                        },\r\n                        react: {\r\n                            createElement: React.createElement,\r\n                            Fragment: React.Fragment,\r\n                            memo: React.memo,\r\n                            useCallback: React.useCallback,\r\n                            useEffect: React.useEffect,\r\n                            useRef: React.useRef,\r\n                            useState: React.useState,\r\n                            useLayoutEffect: React.useLayoutEffect,\r\n                        },\r\n                        \"react-dom\": { createPortal },\r\n                    }\r\n\r\n                    window.__framer_editorBarDependencies = dependencies\r\n\r\n                    const { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n                    return {\r\n                        default: createEditorBar(),\r\n                    }\r\n                })\r\n            })() : undefined\r\n        ,\r\n                    adaptLayoutToTextDirection: false,\r\n                    LayoutTemplate: Template,\r\n                    loadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/M9aGNMt2z1AlBjD9SsKe/4TDPP4zqfCX8UnVENIBu/snippets.js\")),\r\n                }\r\n            )\r\n\r\n            const contentWithFeaturesContext = React.createElement(\r\n                Framer.LibraryFeaturesProvider,\r\n                {\r\n                    children: content,\r\n                    value: {advancedSpamProtection: true, autobahnNavigation: false, customCodeSiteSettings: true, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: false, onPageMoveTool: false, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n                }\r\n            )\r\n\r\n            const contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n                children: contentWithFeaturesContext\r\n            })\r\n\r\n            \r\n            const page = React.createElement(Framer.PageEffectsProvider, {\r\n                children: contentWithGracefullyDegradingErrorBoundary,\r\n                value: {global: {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 1.2, ease: [0.77, 0, 0.175, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"100%\"}, exit: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 1.2, ease: [0.77, 0, 0.175, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"-25%\"}}, routes: {}}\r\n            })\r\n\r\n            // We don't want the initial render to immediately have to suspend.\r\n            await rootPreload\r\n            return page\r\n        }\r\n\r\n        const isBrowser = typeof document !== \"undefined\"\r\n        if (isBrowser) {\r\n            window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n                return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n            }\r\n\r\n            window.__framer_events = window.__framer_events || []\r\n\r\n            // Initialize lazy modules cache for hydration\r\n            Framer.initLazyModulesCache()\r\n\r\n            // Fallback support for stack gaps\r\n            Framer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n            const container = document.getElementById(\"main\")\r\n            // We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n            if (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n            else main(false, container)\r\n        }\r\n\r\n        function track() {\r\n            if (!isBrowser) return\r\n            window.__framer_events.push(arguments)\r\n        }\r\n\r\n        async function main(shouldHydrate, container) {\r\n            function handleError(error, errorInfo, recoverable = true) {\r\n                if (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n                const componentStack = errorInfo?.componentStack\r\n                if (recoverable) {\r\n                    console.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                    // we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n                    if (Math.random() > 0.01) return\r\n                } else {\r\n                    console.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n                }\r\n                track(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n                    message: String(error),\r\n                    componentStack, // componentStack is more useful\r\n                    stack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n                })\r\n            }\r\n\r\n            try {\r\n                let routeId, localeId, pathVariables, breakpoints\r\n                if (shouldHydrate) {\r\n                    const routeData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    breakpoints = routeData.breakpoints\r\n\r\n                    routeId = 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                } else {\r\n                    Framer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n                    \r\n                    const serverRouteExperimentEnabled = false\r\n                    const serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n                    if (serverRoute) {\r\n                        const routeData = new URLSearchParams(serverRoute)\r\n                        routeId = routeData.get(\"id\")\r\n                        localeId = routeData.get(\"locale\")\r\n                        for (const [key, value] of routeData.entries()) {\r\n                            if (!key.startsWith(\"var.\")) continue\r\n                            pathVariables ??= {}\r\n                            pathVariables[key.slice(4)] = value\r\n                        }\r\n                    }\r\n                    if (!routeId || !localeId) {\r\n                        const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n                        routeId = routeData.routeId\r\n                        localeId = routeData.localeId\r\n                        pathVariables = routeData.pathVariables\r\n                    }\r\n                    \r\n                }\r\n\r\n                const pagePromise = getPageRoot({ routeId, localeId, pathVariables })\r\n\r\n                \r\nif (typeof window !== \"undefined\") {\r\n    void (async () => {\r\n        const route = routes[routeId]\r\n\r\n        const defaultLocaleId = \"default\"\r\n        const framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n        let collectionItemId = null\r\n        if (route?.collectionId && collectionUtils) {\r\n              const utils = await collectionUtils[route.collectionId]?.()\r\n              const [slug] = Object.values(pathVariables)\r\n              if (utils && typeof slug === \"string\") {\r\n                  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n              }\r\n        }\r\n\r\n        const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n        const timezone = resolvedDateTimeOptions.timeZone\r\n        const locale = resolvedDateTimeOptions.locale\r\n\r\n        // wait for the page to be activated before sending the pageview event\r\n        // https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n        await new Promise((resolve) => {\r\n            if (document.prerendering) {\r\n                document.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n            } else {\r\n                resolve()\r\n            }\r\n        })\r\n\r\n        window.__framer_events.push([\r\n            \"published_site_pageview\",\r\n            {\r\n                framerSiteId: framerSiteId ?? null,\r\n                version: 2,\r\n                routePath: route?.path || \"/\",\r\n                collectionItemId,\r\n                framerLocale: framerLocale || null,\r\n                webPageId: route?.abTestingVariantId ?? routeId,\r\n                abTestId: route?.abTestId,\r\n                referrer: document.referrer || null,\r\n                url: window.location.href,\r\n                hostname: window.location.hostname || null,\r\n                pathname: window.location.pathname || null,\r\n                hash: window.location.hash || null,\r\n                search: window.location.search || null,\r\n                timezone,\r\n                locale,\r\n            },\r\n            \"eager\"\r\n        ])\r\n\r\n        // Yield to avoid blocking the main thread with the user code\r\n        await Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n        document.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n            detail: { framerLocale: framerLocale || null }\r\n        }))\r\n    })()\r\n}\r\n\r\n\r\n                const page = await pagePromise\r\n                if (shouldHydrate) {\r\n                    \r\n\r\n                    Framer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n                        Framer.removeHiddenBreakpointLayersV2(breakpoints)\r\n                        window.__framer_onRewriteBreakpoints?.(breakpoints)\r\n                    })\r\n\r\n                    \r\n\r\n                    const startTransition = React.startTransition\r\n                    startTransition(() => {\r\n                        Framer.markHydrationStart()\r\n                        if (true) Framer.turnOffReactEventHandling()\r\n                        ReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n                    })\r\n                } else {\r\n                    \r\n                    ReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n                }\r\n            } catch (error) {\r\n                handleError(error, undefined, false)\r\n                throw error\r\n            }\r\n        }\r\n\r\n        \r\n\r\n        \r\n        ;(function () {\r\n            if (!isBrowser) return\r\n\r\n            React.startTransition(() => {\r\n                ReactDOM.hydrateRoot(\r\n                    document.getElementById(\"__framer-badge-container\"),\r\n                    React.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n                )\r\n            })\r\n        })()\r\n    "],"mappings":"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"}