{"version":3,"file":"script_main.BDASXu4W.mjs","names":["serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","Image1","useState","DarkBackgroundTexture","PillNavFonts","breakpoints","serializationHash","variantClassNames","breakpointRules","breakpointKeys","rules","HTMLStyle","getProps","Component","useRef","React.useId","css","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","useRef","React.useId","Image1","BackgroundTexture","useRef","React.useId","React.createElement","Page","CaseStudy","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"],"sources":["https:/framerusercontent.com/modules/rXSymDHLyH9vV3LdQVgN/rwLYNmV1jawpHoPMiyj4/ORJLvYJTt.js","https:/framerusercontent.com/modules/nW2IB7JpwNOxRqgBfMFa/BxFxPXiFySy1uuqUrJAO/Pill_Menu.js","https:/framerusercontent.com/modules/ChGsMUXrN1Xqsk0f3DWW/KzInp7KNGLONN1R1Hx14/pvH_UxLoy.js","https:/framerusercontent.com/modules/me8uqUkefuRfM26wY7j0/5vHgfULYDV3ItZ5IedF0/WQp1e8nY7.js","https:/framerusercontent.com/modules/OWj0C1HYbN9zyQu8R5VT/WIv1JUg6l2wie9Cv3ouX/cGMcE4z8r.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (b47b624)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,cx,getLoadingLazyAtYPosition,Image as Image1,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-tL0iV\";const variantClassNames={qIFkVyh5N:\"framer-v-1f7qphz\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,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,width,...props})=>{return{...props};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"qIFkVyh5N\",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:transition1,children:/*#__PURE__*/_jsx(Image1,{...restProps,...gestureHandlers,background:{alt:\"\",backgroundSize:1,fit:\"tile\",intrinsicHeight:126,intrinsicWidth:126,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:126,pixelWidth:126,positionX:\"left\",positionY:\"top\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/AXf43z3Amsy4CTjRLwmGn75GWg.png?width=126&height=126\"},className:cx(scopingClassNames,\"framer-1f7qphz\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"qIFkVyh5N\",ref:refBinding,style:{...style}})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-tL0iV.framer-aa2omi, .framer-tL0iV .framer-aa2omi { display: block; }\",\".framer-tL0iV.framer-1f7qphz { height: 439px; position: relative; width: 1200px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 439\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 */const FramerORJLvYJTt=withCSS(Component,css,\"framer-tL0iV\");export default FramerORJLvYJTt;FramerORJLvYJTt.displayName=\"Dark-Background-Texture\";FramerORJLvYJTt.defaultProps={height:439,width:1200};addFonts(FramerORJLvYJTt,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerORJLvYJTt\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"439\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ORJLvYJTt.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";// Fallback: maps hash → data-framer-name for Framer canvas preview\nconst FRAMER_NAMES={\"#work\":\"AllProjects\",\"#process\":\"HowIworkSection\",\"#about\":\"AboutMe\",\"#current\":\"WhatImCurrentlyWorkingOn\"};function scrollToSection(href){const id=href.replace(\"#\",\"\");// 1. Try proper HTML id (set via the SectionIds code override)\nlet el=document.getElementById(id);// 2. Fallback: try data-framer-name (works in Framer canvas preview)\nif(!el){const frameName=FRAMER_NAMES[href.toLowerCase()];if(frameName){el=document.querySelector(`[data-framer-name=\"${frameName}\"]`);}}if(el){// Offset by 80px to account for the fixed pill nav at the top\nconst top=el.getBoundingClientRect().top+window.scrollY-80;window.scrollTo({top,behavior:\"smooth\"});}}export default function PillNav({logoText,accentColor,menuBg,menuTextColor,links,style}){const[open,setOpen]=useState(false);const[active,setActive]=useState(null);const goTo=(i,href)=>{setActive(i);if(!href)return;if(href.startsWith(\"#\")){scrollToSection(href);}else{window.location.href=href;}};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:28,left:\"50%\",transform:\"translateX(-50%)\",zIndex:1e3,display:\"flex\",alignItems:\"center\",gap:8,...style},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');\n                .pn-text { font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; border:none; cursor:pointer; line-height:1; white-space:nowrap; }\n                .pn-logo { background:${accentColor}; color:#fff; padding:10px 22px; border-radius:999px; transition:opacity 0.18s ease; flex-shrink:0; }\n                .pn-logo:hover { opacity:0.86; }\n                .pn-shell { background:${menuBg}; border-radius:999px; display:flex; align-items:center; padding:5px 6px; gap:0; transition:all 0.36s cubic-bezier(0.34,1.15,0.64,1); }\n                .pn-menu-label { color:${menuTextColor}; padding:7px 16px; background:transparent; border-radius:999px; transition:opacity 0.22s ease, max-width 0.28s cubic-bezier(0.34,1.15,0.64,1), padding 0.28s ease; overflow:hidden; max-width:120px; opacity:1; }\n                .pn-links { display:flex; align-items:center; gap:2px; overflow:hidden; max-width:0; transition:max-width 0.36s cubic-bezier(0.34,1.15,0.64,1); }\n                .pn-link { color:${menuTextColor}; padding:7px 16px; background:transparent; border-radius:999px; opacity:0.85; transition:background 0.16s ease, color 0.16s ease, opacity 0.2s ease; flex-shrink:0; }\n                .pn-link:hover { background:rgba(26,22,18,0.35); opacity:1; }\n                .pn-link.active { background:rgb(26,22,18); color:rgb(250,248,243); opacity:1; }\n                .pn-shell.open .pn-menu-label { max-width:0; padding-left:0; padding-right:0; opacity:0; pointer-events:none; }\n                .pn-shell.open .pn-links { max-width:700px; }\n            `}),/*#__PURE__*/_jsx(\"button\",{className:\"pn-text pn-logo\",onClick:()=>window.location.href=\"/\",children:logoText}),/*#__PURE__*/_jsxs(\"div\",{className:`pn-shell ${open?\"open\":\"\"}`,onMouseEnter:()=>setOpen(true),onMouseLeave:()=>setOpen(false),children:[/*#__PURE__*/_jsx(\"span\",{className:\"pn-text pn-menu-label\",children:\"Menu\"}),/*#__PURE__*/_jsx(\"div\",{className:\"pn-links\",children:links?.map((link,i)=>/*#__PURE__*/_jsx(\"button\",{className:`pn-text pn-link ${active===i?\"active\":\"\"}`,onClick:()=>goTo(i,link.href),children:link.label},i))})]})]});}PillNav.defaultProps={logoText:\"Aoife\",accentColor:\"#E8613A\",menuBg:\"rgba(26, 22, 18, 0.22)\",menuTextColor:\"rgb(250, 248, 243)\",links:[{label:\"Work\",href:\"#work\"},{label:\"Process\",href:\"#process\"},{label:\"About\",href:\"#about\"},{label:\"CV\",href:\"/cv\"}]};addPropertyControls(PillNav,{logoText:{type:ControlType.String,title:\"Logo Text\",defaultValue:\"Aoife\"},accentColor:{type:ControlType.Color,title:\"Logo Color\",defaultValue:\"#E8613A\"},menuBg:{type:ControlType.Color,title:\"Menu Pill BG\",defaultValue:\"rgba(26, 22, 18, 0.22)\"},menuTextColor:{type:ControlType.Color,title:\"Menu Text\",defaultValue:\"rgb(250, 248, 243)\"},links:{type:ControlType.Array,title:\"Nav Links\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Work\"},href:{type:ControlType.String,title:\"URL / anchor\",defaultValue:\"#work\",placeholder:\"#work or /cv or #about\"}}},defaultValue:[{label:\"Work\",href:\"#work\"},{label:\"Process\",href:\"#process\"},{label:\"About\",href:\"#about\"},{label:\"CV\",href:\"/cv\"}]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PillNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pill_Menu.map","// Generated by Framer (b135809)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,RenderTarget,safeCSSValue,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import DarkBackgroundTexture from\"#framer/local/canvasComponent/ORJLvYJTt/ORJLvYJTt.js\";import BackToProjects from\"#framer/local/codeFile/xTb_GyG/Button_Back_To_Projects.js\";import PillNav from\"#framer/local/codeFile/aRy5UMv/Pill_Menu.js\";const DarkBackgroundTextureFonts=getFonts(DarkBackgroundTexture);const BackToProjectsFonts=getFonts(BackToProjects);const PillNavFonts=getFonts(PillNav);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-nV96t\";const variantClassNames={O0yaWUOGD:\"framer-v-1ufulzx\"};const gWTy11nap=undefined;const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-nV96t.framer-1c7smzw, .framer-nV96t .framer-1c7smzw { display: block; }\",\".framer-nV96t.framer-1ufulzx { align-content: center; align-items: center; background-color: var(--a4g9nk); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 40px 40px 40px; position: relative; width: 100%; }\",\".framer-nV96t .framer-m1l4da-container { bottom: 0px; flex: none; left: 0px; opacity: 0.015; position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-nV96t .framer-1s8dhsz-container, .framer-nV96t .framer-bomhcp-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-nV96t .framer-85f11 { 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 HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({fill2,height,id,width,...props})=>{return{...props,gWTy11nap:fill2??props.gWTy11nap??\"var(--token-b6eeb7a3-e1f3-4cde-bc47-a2f2a4389753, rgb(26, 22, 18))\"};};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,gWTy11nap,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,isLayoutTemplate:true,primaryVariantId:\"O0yaWUOGD\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:`:root body { background: ${safeCSSValue(gWTy11nap)}; }`}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1ufulzx\",className),\"data-layout-template\":true,ref:refBinding,style:{\"--a4g9nk\":gWTy11nap,...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1227,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-m1l4da-container\",nodeId:\"zvXsj0cJN\",scopeId:\"pvH_UxLoy\",children:/*#__PURE__*/_jsx(DarkBackgroundTexture,{height:\"100%\",id:\"zvXsj0cJN\",layoutId:\"zvXsj0cJN\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1s8dhsz-container\",isAuthoredByUser:true,nodeId:\"TnF40vAka\",scopeId:\"pvH_UxLoy\",children:/*#__PURE__*/_jsx(BackToProjects,{color:\"var(--token-3769d40f-3e0b-4126-9cd8-973c8d2ab229, rgb(250, 248, 243))\",height:\"100%\",href:\"/#work\",id:\"TnF40vAka\",label:\"back to all projects\",layoutId:\"TnF40vAka\",opacity:.5,width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-bomhcp-container\",isAuthoredByUser:true,nodeId:\"jkBnKBeHD\",scopeId:\"pvH_UxLoy\",children:/*#__PURE__*/_jsx(PillNav,{accentColor:\"rgb(232, 97, 58)\",height:\"100%\",id:\"jkBnKBeHD\",layoutId:\"jkBnKBeHD\",links:[{href:\"/#work\",label:\"Work\"},{href:\"/about\",label:\"About\"},{href:\"/cv\",label:\"CV\"}],logoText:\"Aoife\",menuBg:\"rgba(26, 22, 18, 0.22)\",menuTextColor:\"rgb(250, 248, 243)\",width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-85f11\"})]}),/*#__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 1227\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"gWTy11nap\":\"fill2\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"O0yaWUOGD\":[\".framer-m1l4da-container\",\".framer-1s8dhsz-container\",\".framer-bomhcp-container\"]}\n * @framerBreakpoints {\"O0yaWUOGD\":{\"canvasClassName\":\"framer-1ufulzx-override\",\"minHeight\":1227,\"name\":\"Desktop\",\"width\":1280,\"rootFontSize\":16}}\n * @framerDefaultVariant O0yaWUOGD\n * @framerLayoutTemplate true\n */const FramerpvH_UxLoy=withCSS(Component,css,\"framer-nV96t\");export default FramerpvH_UxLoy;FramerpvH_UxLoy.displayName=\"Case study\";FramerpvH_UxLoy.defaultProps={height:1227,width:1280};addPropertyControls(FramerpvH_UxLoy,{gWTy11nap:{defaultValue:'var(--token-b6eeb7a3-e1f3-4cde-bc47-a2f2a4389753, rgb(26, 22, 18)) /* {\"name\":\"Ink\"} */',title:\"Fill 2\",type:ControlType.Color}});addFonts(FramerpvH_UxLoy,[{explicitInter:true,fonts:[]},...DarkBackgroundTextureFonts,...BackToProjectsFonts,...PillNavFonts],{supportsExplicitInterCodegen:true});FramerpvH_UxLoy.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(DarkBackgroundTexture,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerpvH_UxLoy\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"gWTy11nap\\\":\\\"fill2\\\"}\",\"framerBreakpoints\":\"{\\\"O0yaWUOGD\\\":{\\\"canvasClassName\\\":\\\"framer-1ufulzx-override\\\",\\\"minHeight\\\":1227,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1280,\\\"rootFontSize\\\":16}}\",\"framerIntrinsicHeight\":\"1227\",\"framerAutoSizeImages\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerHitTargets\":\"{\\\"O0yaWUOGD\\\":[\\\".framer-m1l4da-container\\\",\\\".framer-1s8dhsz-container\\\",\\\".framer-bomhcp-container\\\"]}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1280\",\"framerImmutableVariables\":\"true\",\"framerDefaultVariant\":\"O0yaWUOGD\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b135809)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"b9IXyqVJc\",\"SEPR21URm\"];const serializationHash=\"framer-vJ27g\";const variantClassNames={b9IXyqVJc:\"framer-v-7ujli\",SEPR21URm:\"framer-v-1xbmlyn\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,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 humanReadableVariantMap={Desktop:\"b9IXyqVJc\",Phone:\"SEPR21URm\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"b9IXyqVJc\"};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"b9IXyqVJc\",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:transition1,children:/*#__PURE__*/_jsx(Image1,{...restProps,...gestureHandlers,background:{alt:\"\",backgroundSize:.81,fit:\"tile\",intrinsicHeight:126,intrinsicWidth:126,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:126,pixelWidth:126,positionX:\"left\",positionY:\"top\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/9c47fOR3CNoSsEtr6IEYJoKM.svg?width=126&height=126\"},className:cx(scopingClassNames,\"framer-7ujli\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"b9IXyqVJc\",ref:refBinding,style:{opacity:.08,...style},...addPropertyOverrides({SEPR21URm:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-vJ27g.framer-1bm4htw, .framer-vJ27g .framer-1bm4htw { display: block; }\",\".framer-vJ27g.framer-7ujli { height: 400px; position: relative; width: 1200px; }\",\".framer-vJ27g.framer-v-1xbmlyn.framer-7ujli { width: 310px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"SEPR21URm\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerWQp1e8nY7=withCSS(Component,css,\"framer-vJ27g\");export default FramerWQp1e8nY7;FramerWQp1e8nY7.displayName=\"Background Texture\";FramerWQp1e8nY7.defaultProps={height:400,width:1200};addPropertyControls(FramerWQp1e8nY7,{variant:{options:[\"b9IXyqVJc\",\"SEPR21URm\"],optionTitles:[\"Desktop\",\"Phone\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerWQp1e8nY7,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerWQp1e8nY7\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"400\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"SEPR21URm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WQp1e8nY7.map","// Generated by Framer (b135809)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,RenderTarget,safeCSSValue,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import BackgroundTexture from\"#framer/local/canvasComponent/WQp1e8nY7/WQp1e8nY7.js\";import PillNav from\"#framer/local/codeFile/aRy5UMv/Pill_Menu.js\";const PillNavFonts=getFonts(PillNav);const BackgroundTextureFonts=getFonts(BackgroundTexture);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-f5Ark\";const variantClassNames={k4psl7xL3:\"framer-v-1i6f2et\"};const BGmgelZOH=undefined;const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-f5Ark.framer-1mh4jyo, .framer-f5Ark .framer-1mh4jyo { display: block; }\",\".framer-f5Ark.framer-1i6f2et { align-content: center; align-items: center; background-color: var(--jeydn5); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 40px 40px 40px; position: relative; width: 100%; }\",\".framer-f5Ark .framer-1qcbida-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-f5Ark .framer-1ezh4lj-container { bottom: 0px; flex: none; left: 0px; opacity: 0.28; position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-f5Ark .framer-1w0b0hf { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -20px; position: relative; width: 0px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -20px; }'];const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({fill,height,id,width,...props})=>{return{...props,BGmgelZOH:fill??props.BGmgelZOH??\"rgb(252, 252, 250)\"};};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,BGmgelZOH,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,isLayoutTemplate:true,primaryVariantId:\"k4psl7xL3\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:`:root body { background: ${safeCSSValue(BGmgelZOH)}; }`}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1i6f2et\",className),\"data-layout-template\":true,ref:refBinding,style:{\"--jeydn5\":BGmgelZOH,...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1qcbida-container\",isAuthoredByUser:true,nodeId:\"ic3lq7Vn6\",scopeId:\"cGMcE4z8r\",children:/*#__PURE__*/_jsx(PillNav,{accentColor:\"var(--token-2074d683-c487-442b-9841-e0e76de981c0, rgb(252, 61, 35))\",height:\"100%\",id:\"ic3lq7Vn6\",layoutId:\"ic3lq7Vn6\",links:[{href:\"/#All-Projects\",label:\"Work\"},{href:\"/#about-me\",label:\"About\"},{href:\"/cv\",label:\"CV\"}],logoText:\"aoife\",menuBg:\"rgba(26, 22, 18, 0.22)\",menuTextColor:\"rgb(250, 248, 243)\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1227,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1ezh4lj-container\",nodeId:\"WB_HVzYr7\",scopeId:\"cGMcE4z8r\",children:/*#__PURE__*/_jsx(BackgroundTexture,{height:\"100%\",id:\"WB_HVzYr7\",layoutId:\"WB_HVzYr7\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"b9IXyqVJc\"),width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1w0b0hf\"})]}),/*#__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 1227\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"BGmgelZOH\":\"fill\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"k4psl7xL3\":[\".framer-1qcbida-container\",\".framer-1ezh4lj-container\"]}\n * @framerBreakpoints {\"k4psl7xL3\":{\"canvasClassName\":\"framer-1i6f2et-override\",\"minHeight\":1227,\"name\":\"Desktop\",\"width\":1280,\"rootFontSize\":16}}\n * @framerDefaultVariant k4psl7xL3\n * @framerLayoutTemplate true\n */const FramercGMcE4z8r=withCSS(Component,css,\"framer-f5Ark\");export default FramercGMcE4z8r;FramercGMcE4z8r.displayName=\"page\";FramercGMcE4z8r.defaultProps={height:1227,width:1280};addPropertyControls(FramercGMcE4z8r,{BGmgelZOH:{defaultValue:\"rgb(252, 252, 250)\",title:\"Fill\",type:ControlType.Color}});addFonts(FramercGMcE4z8r,[{explicitInter:true,fonts:[]},...PillNavFonts,...BackgroundTextureFonts],{supportsExplicitInterCodegen:true});FramercGMcE4z8r.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(BackgroundTexture,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramercGMcE4z8r\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1227\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"BGmgelZOH\\\":\\\"fill\\\"}\",\"framerHitTargets\":\"{\\\"k4psl7xL3\\\":[\\\".framer-1qcbida-container\\\",\\\".framer-1ezh4lj-container\\\"]}\",\"framerDefaultVariant\":\"k4psl7xL3\",\"framerLayoutTemplate\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1280\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerBreakpoints\":\"{\\\"k4psl7xL3\\\":{\\\"canvasClassName\\\":\\\"framer-1i6f2et-override\\\",\\\"minHeight\\\":1227,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1280,\\\"rootFontSize\\\":16}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__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 CaseStudy from \"https://framerusercontent.com/modules/ChGsMUXrN1Xqsk0f3DWW/KzInp7KNGLONN1R1Hx14/pvH_UxLoy.js\";\r\nimport Page from \"https://framerusercontent.com/modules/OWj0C1HYbN9zyQu8R5VT/WIv1JUg6l2wie9Cv3ouX/cGMcE4z8r.js\";\r\n\r\n\t\tconst routes = {mawf_MD7X: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/3EA75WRgh0tMA57lb5Q3/vjCmSACwIWT3WLHN1UZx/mawf_MD7X.js\")), path: \"/\"}, DQbVlQXT6: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/qNfi22EeZ6Pn58rbhBoN/yhpc2a30PiAfmbnJcXz4/DQbVlQXT6.js\")), path: \"/cv\"}, Ve2tdBcPA: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/lb33XQYhujJahL1D3nqE/NPRJwzU5XhAK2uYwAuej/Ve2tdBcPA.js\")), path: \"/projects/upcycler\"}, nin6vEVgV: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/K1Yws2H7Y1LWoAuq6ccB/xujvk1EzCLkLQd8RiipZ/nin6vEVgV.js\")), path: \"/projects/nudge\"}, ux2IEfGGv: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bGIjwaTb7eEmojVW64yR/vBAbIOgHhYlvYHynkUEG/ux2IEfGGv.js\")), path: \"/projects/leap-card\"}, GgvtJ_frl: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/E8ZYNuvTJyw6euImupvB/vRkpSxZc8PZPkQGM0933/GgvtJ_frl.js\")), path: \"/projects/levis-redesign\"}, NPkoU3CEd: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/q6UlD5uomDVdPyh5TswB/0Ce0ChCBG27HbJjSRDJf/NPkoU3CEd.js\")), path: \"/projects/design-systems\"}, yHSIrVFiy: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ilCcxWPDjnLfDWLbaVg7/3iXv9g1u33FbmY0HrzlI/yHSIrVFiy.js\")), path: \"/projects/trip-wrapped\"}, IdfGmC3EJ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/jM7WyANRPcKTxskx9W6V/b1FGI4nc6rzpwtmig3Xv/IdfGmC3EJ.js\")), path: \"/work-in-progress\"}, NZoaKA0hm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/AJDeqJ38IZ0AkzXcld7z/nz0sgB3u6kFEaJwl8Zot/NZoaKA0hm.js\")), path: \"/projects/trace\"}, uu2lkKq9x: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Q4jEYepeLudjUYxQ7gE9/TCBVGZSBc91kzy6WIlZb/uu2lkKq9x.js\")), path: \"/projects/tcf\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"96d7c752ce56dd95267022c2b2cddab0210e2cb165700fb3c4fd3158beaf8cb7\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {BGmgelZOH: \"rgb(252, 252, 250)\"}\r\nconst props2 = {gWTy11nap: \"var(--token-b6eeb7a3-e1f3-4cde-bc47-a2f2a4389753, rgb(26, 22, 18))\"}\r\nconst templateProps = {DQbVlQXT6: props1, etuYRywx4: props1, GgvtJ_frl: props1, IdfGmC3EJ: props2, mawf_MD7X: props1, mh4m18Epk: props1, n_wDlH3v7: props1, nin6vEVgV: props1, NPkoU3CEd: props1, NZoaKA0hm: props1, uu2lkKq9x: props1, ux2IEfGGv: props1, Ve2tdBcPA: props1, yHSIrVFiy: props1}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"mawf_MD7X\":\r\ncase \"DQbVlQXT6\":\r\ncase \"mh4m18Epk\":\r\ncase \"Ve2tdBcPA\":\r\ncase \"nin6vEVgV\":\r\ncase \"ux2IEfGGv\":\r\ncase \"GgvtJ_frl\":\r\ncase \"NPkoU3CEd\":\r\ncase \"yHSIrVFiy\":\r\ncase \"n_wDlH3v7\":\r\ncase \"NZoaKA0hm\":\r\ncase \"uu2lkKq9x\":\r\ncase \"etuYRywx4\":\r\nreturn React.createElement(Page, {...props, key: \"Page\", style}, children(true));\r\ncase \"IdfGmC3EJ\":\r\nreturn React.createElement(CaseStudy, {...props, key: \"CaseStudy\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"mawf_MD7X\":\r\ncase \"DQbVlQXT6\":\r\ncase \"mh4m18Epk\":\r\ncase \"Ve2tdBcPA\":\r\ncase \"nin6vEVgV\":\r\ncase \"ux2IEfGGv\":\r\ncase \"GgvtJ_frl\":\r\ncase \"NPkoU3CEd\":\r\ncase \"yHSIrVFiy\":\r\ncase \"n_wDlH3v7\":\r\ncase \"NZoaKA0hm\":\r\ncase \"uu2lkKq9x\":\r\ncase \"etuYRywx4\":\r\nreturn [{hash: \"1i6f2et\"}]\r\ncase \"IdfGmC3EJ\":\r\nreturn [{hash: \"1ufulzx\"}]\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://aoiferandles.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: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/18HOiGbBON0iPWbuUOXg/TFdjp0WnOeqWwPsIIk2o/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, disableCustomCode: false, 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\tconst effect = {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}\r\nconst effect1 = {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.2, 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: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}\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, duration: 0.2, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}, routes: {mawf_MD7X: {DQbVlQXT6: effect}, nin6vEVgV: {n_wDlH3v7: effect1}, Ve2tdBcPA: {DQbVlQXT6: effect1}}}\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"],"mappings":"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"}