{"version":3,"file":"script_main.cQQKrrsu.mjs","names":["useState","useState","useRef","serializationHash","variantClassNames","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","React.forwardRef","useRef","React.useId","Image1","RichText","NavBar2","isBrowser","useRef","React.useId","PropertyOverrides","React.createElement","MyPortfolio","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","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/MLdikJ2CJUZKqLYcnJTW/TafFXUpjYkFu9WJ1j0Q9/HamburgerMenu.js","https:/framerusercontent.com/modules/jfqXZm9GeEjJFWkwEvFG/Gcygw6RR8SVHetykjjFe/FloatingPillNavigation.js","https:/framerusercontent.com/modules/wGGPV2RKkFVstmGe5V8m/hN5u7R5Vlnd2fwNsN6dg/OFD7yTRUz.js","https:/framerusercontent.com/modules/JEjNM3rYk5N8ciE8mskE/3dfkpNbO5O2nkHZIySFT/NN1ALwnV2.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function HamburgerMenu(props){const{strokeColor=\"#FFFFFF\",strokeWidth=3,size=48,defaultChecked=false,onToggle}=props;const[isChecked,setIsChecked]=useState(defaultChecked);const handleChange=()=>{const newChecked=!isChecked;startTransition(()=>{setIsChecked(newChecked);});if(onToggle){onToggle(newChecked);}};return /*#__PURE__*/_jsxs(\"label\",{style:{cursor:\"pointer\",display:\"inline-block\",width:size,height:size},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:isChecked,onChange:handleChange,style:{display:\"none\"},\"aria-label\":\"Toggle menu\"}),/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 32 32\",style:{width:\"100%\",height:\"100%\",transform:isChecked?\"rotate(-45deg)\":\"rotate(0deg)\",transition:\"transform 600ms cubic-bezier(0.4, 0, 0.2, 1)\"},children:[/*#__PURE__*/_jsx(\"path\",{className:\"line line-top-bottom\",d:\"M27 10 13 10C10.8 10 9 8.2 9 6 9 3.5 10.8 2 13 2 15.2 2 17 3.8 17 6L17 26C17 28.2 18.8 30 21 30 23.2 30 25 28.2 25 26 25 23.8 23.2 22 21 22L7 22\",fill:\"none\",stroke:strokeColor,strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:strokeWidth,strokeDasharray:isChecked?\"20 300\":\"12 63\",strokeDashoffset:isChecked?-32.42:0,style:{transition:\"stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1)\"}}),/*#__PURE__*/_jsx(\"path\",{className:\"line\",d:\"M7 16 27 16\",fill:\"none\",stroke:strokeColor,strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:strokeWidth,style:{transition:\"stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1)\"}})]})]});}addPropertyControls(HamburgerMenu,{strokeColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},strokeWidth:{type:ControlType.Number,title:\"Stroke Width\",defaultValue:3,min:1,max:6,step:.5},size:{type:ControlType.Number,title:\"Size\",defaultValue:48,min:24,max:500,step:4,unit:\"px\"},defaultChecked:{type:ControlType.Boolean,title:\"Default State\",defaultValue:false,enabledTitle:\"Open\",disabledTitle:\"Closed\",description:\"Made with ❤️ by [Pixelcot](https://www.pixelcot.com)\"},onToggle:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HamburgerMenu\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HamburgerMenu.map","// Updated per request: diagnose/fix active-pill jitter by refactoring active-state handling so pathname matching wins whenever a matching href exists (initial render + navigation changes), with activeLink used only as fallback when no route matches; avoid redundant state updates while preserving existing click behavior, visual design, animated pill, and controls.\n// Updated per request: add an editable Boolean property control named \"Work Links To Home\" (default false); when enabled, only the item labeled exactly \"Work\" navigates to the site home path in the same tab, even if its href is empty. Preserve existing behavior and controls, including route-aware active state and About same-tab behavior.\n// Updated per request: active visual state should automatically reflect window.location.pathname (case-insensitive, trailing slash equivalent), updating on mount and navigation changes; if no href matches, preserve activeLink behavior. Keep click behavior and existing controls unchanged, including About same-tab behavior.\n// Updated per request: add an editable Boolean property control named \"About Opens In Same Tab\" (default false); when true, only the item labeled exactly \"About\" always opens in the same tab, even if its target is set to new tab.\n// Pill-shaped navigation with animated background that shifts between links on click\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{useState,startTransition,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function FloatingPillNavigation(props){const{items,backgroundColor,textColor,activeBackgroundColor,activeTextColor,padding,gap,font,activeLink=\"Home\",aboutOpensInSameTab=false,workLinksToHome=false,transition,linkPadding}=props;// Internal state for interactive clicking\nconst[internalActiveLink,setInternalActiveLink]=useState(activeLink);const navRef=useRef(null);const linkRef=useRef(null);const[navBorderRadius,setNavBorderRadius]=useState(50);const[linkBorderRadius,setLinkBorderRadius]=useState(25);useEffect(()=>{if(typeof window===\"undefined\")return;const normalizePathname=pathname=>{const lowercasePathname=pathname.toLowerCase();if(lowercasePathname===\"/\")return\"/\";return lowercasePathname.endsWith(\"/\")?lowercasePathname.slice(0,-1):lowercasePathname;};const findMatchingLabel=()=>{const currentPathname=normalizePathname(window.location.pathname);for(const item of items){if(!item.href)continue;if(/^(mailto:|tel:|#)/i.test(item.href))continue;try{const itemUrl=new URL(item.href,window.location.origin);const itemPathname=normalizePathname(itemUrl.pathname);if(itemPathname===currentPathname){return item.label;}}catch{continue;}}return null;};const syncActiveLinkFromPathname=()=>{const matchingLabel=findMatchingLabel();const nextActiveLabel=matchingLabel??activeLink;startTransition(()=>{setInternalActiveLink(previousLabel=>previousLabel===nextActiveLabel?previousLabel:nextActiveLabel);});};syncActiveLinkFromPathname();const originalPushState=window.history.pushState;const originalReplaceState=window.history.replaceState;const handleNavigationChange=()=>syncActiveLinkFromPathname();window.history.pushState=function(...args){const result=originalPushState.apply(this,args);window.dispatchEvent(new Event(\"framer-pathname-change\"));return result;};window.history.replaceState=function(...args){const result=originalReplaceState.apply(this,args);window.dispatchEvent(new Event(\"framer-pathname-change\"));return result;};window.addEventListener(\"popstate\",handleNavigationChange);window.addEventListener(\"framer-pathname-change\",handleNavigationChange);return()=>{window.history.pushState=originalPushState;window.history.replaceState=originalReplaceState;window.removeEventListener(\"popstate\",handleNavigationChange);window.removeEventListener(\"framer-pathname-change\",handleNavigationChange);};},[items,activeLink]);// Calculate border radii based on heights\nuseEffect(()=>{const updateBorderRadii=()=>{if(navRef.current){const navHeight=navRef.current.offsetHeight;setNavBorderRadius(navHeight/2);}if(linkRef.current){const linkHeight=linkRef.current.offsetHeight;setLinkBorderRadius(linkHeight/2);}};updateBorderRadii();// Use ResizeObserver to update when size changes\nconst resizeObserver=new ResizeObserver(updateBorderRadii);if(navRef.current)resizeObserver.observe(navRef.current);if(linkRef.current)resizeObserver.observe(linkRef.current);return()=>resizeObserver.disconnect();},[linkPadding,font,items]);const handleClick=(label,href,target)=>{startTransition(()=>{setInternalActiveLink(label);});if(workLinksToHome&&label===\"Work\"&&typeof window!==\"undefined\"){window.location.href=\"/\";return;}// Navigate if href is provided\nif(href&&typeof window!==\"undefined\"){// Add https:// if the URL doesn't have a protocol and isn't a relative path\nlet finalHref=href;if(!href.match(/^(https?:\\/\\/|mailto:|tel:|#|\\/)/)){finalHref=`https://${href}`;}const resolvedTarget=aboutOpensInSameTab&&label===\"About\"?\"_self\":target;if(resolvedTarget===\"_blank\"){window.open(finalHref,\"_blank\");}else{window.location.href=finalHref;}}};return /*#__PURE__*/_jsx(\"nav\",{ref:navRef,style:{display:\"inline-flex\",backgroundColor,borderRadius:navBorderRadius,padding,gap,position:\"relative\",width:\"max-content\",userSelect:\"none\",WebkitUserSelect:\"none\",MozUserSelect:\"none\"},children:items.map((item,index)=>{const isActive=item.label===internalActiveLink;return /*#__PURE__*/_jsxs(\"div\",{ref:index===0?linkRef:null,onClick:()=>handleClick(item.label,item.href,item.target),style:{position:\"relative\",padding:linkPadding,textDecoration:\"none\",color:isActive?activeTextColor:textColor,cursor:\"pointer\",zIndex:1,transition:\"color 0.3s ease\",userSelect:\"none\",WebkitUserSelect:\"none\",MozUserSelect:\"none\",...font},children:[isActive&&/*#__PURE__*/_jsx(motion.div,{layoutId:\"activeBackground\",style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,backgroundColor:activeBackgroundColor,borderRadius:linkBorderRadius,zIndex:-1},transition:transition}),item.label]},index);})});}addPropertyControls(FloatingPillNavigation,{activeLink:{type:ControlType.String,title:\"Active Link\",defaultValue:\"All products\",description:\"Enter the label of the link you want to be active initially\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:800,damping:60,mass:1}},linkPadding:{type:ControlType.Padding,title:\"Link Padding\",defaultValue:\"12px 22px 12px 22px\"},aboutOpensInSameTab:{type:ControlType.Boolean,title:\"About Opens In Same Tab\",defaultValue:false},workLinksToHome:{type:ControlType.Boolean,title:\"Work Links To Home\",defaultValue:false},items:{type:ControlType.Array,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,defaultValue:\"Link\"},href:{type:ControlType.String,title:\"Link To\",placeholder:\"/page or #section\",description:\"Optional: Link to a page or section\"},target:{type:ControlType.Enum,title:\"Open In\",options:[\"_self\",\"_blank\"],optionTitles:[\"Same Tab\",\"New Tab\"],defaultValue:\"_self\",hidden:props=>!props.href}}},defaultValue:[{label:\"All products\"},{label:\"Laptops\"},{label:\"Desktops\"},{label:\"Displays\"}]},backgroundColor:{type:ControlType.Color,defaultValue:\"#E8E8ED\"},textColor:{type:ControlType.Color,defaultValue:\"#000000\",title:\"Inactive Text\"},activeBackgroundColor:{type:ControlType.Color,defaultValue:\"#1D1D1F\",title:\"Active BG\"},activeTextColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\",title:\"Active Text\"},padding:{type:ControlType.Number,defaultValue:6,min:0,max:20,step:1,unit:\"px\"},gap:{type:ControlType.Number,defaultValue:0,min:0,max:20,step:1,unit:\"px\"},font:{type:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"17px\",variant:\"Regular\",letterSpacing:\"-0.37px\",lineHeight:\"20px\"}}});FloatingPillNavigation.displayName=\"Floating Pill Navigation\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingPillNavigation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FloatingPillNavigation.map","// Generated by Framer (6ae8a13)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image as Image1,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import HamburgerMenu from\"https://framerusercontent.com/modules/MLdikJ2CJUZKqLYcnJTW/TafFXUpjYkFu9WJ1j0Q9/HamburgerMenu.js\";import FloatingPillNavigation from\"https://framerusercontent.com/modules/jfqXZm9GeEjJFWkwEvFG/Gcygw6RR8SVHetykjjFe/FloatingPillNavigation.js\";const HamburgerMenuFonts=getFonts(HamburgerMenu);const FloatingPillNavigationFonts=getFonts(FloatingPillNavigation);const cycleOrder=[\"cHgw9kY9U\",\"NhzKJHIID\",\"qD8AFy0f7\",\"PX_MSxsxF\",\"OyaISbx3B\"];const serializationHash=\"framer-CqKE7\";const variantClassNames={cHgw9kY9U:\"framer-v-1x9iklv\",NhzKJHIID:\"framer-v-q5xj5j\",OyaISbx3B:\"framer-v-1ozfh8t\",PX_MSxsxF:\"framer-v-11bgtwe\",qD8AFy0f7:\"framer-v-15if5e5\"};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 transition2={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1.1,skewX:0,skewY:0,transition:transition2};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={\"Phone closed\":\"PX_MSxsxF\",\"Phone open\":\"OyaISbx3B\",Desktop:\"cHgw9kY9U\",Monitor:\"NhzKJHIID\",Tablet:\"qD8AFy0f7\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"cHgw9kY9U\"};};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:\"cHgw9kY9U\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"PX_MSxsxF\",\"OyaISbx3B\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"PX_MSxsxF\",\"OyaISbx3B\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1x9iklv\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"cHgw9kY9U\",ref:refBinding,style:{...style},...addPropertyOverrides({NhzKJHIID:{\"data-framer-name\":\"Monitor\"},OyaISbx3B:{\"data-framer-name\":\"Phone open\"},PX_MSxsxF:{\"data-framer-name\":\"Phone closed\"},qD8AFy0f7:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-hg78i6\",\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"S37MGzsVC\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-13wc7fw\",\"data-framer-name\":\"Logo+Menu\",layoutDependency:layoutDependency,layoutId:\"D9UgYpQdu\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"hYMbu_0ES\",openInNewTab:false,scopeId:\"OFD7yTRUz\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1mj4hoj framer-8u26jl\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"hYMbu_0ES\",children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-200)/2)+75+0+0),pixelHeight:464,pixelWidth:464,positionX:\"center\",positionY:\"center\",sizes:\"50px\",src:\"https://framerusercontent.com/images/Ymoz9k6uBFkEADixH76XfXBiEiE.png?width=464&height=464\"},className:\"framer-1buxiom\",\"data-framer-name\":\"image 8\",layoutDependency:layoutDependency,layoutId:\"Mu76gCrCc\",...addPropertyOverrides({OyaISbx3B:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-200)/2)+0+75+0),pixelHeight:464,pixelWidth:464,positionX:\"center\",positionY:\"center\",sizes:\"50px\",src:\"https://framerusercontent.com/images/Ymoz9k6uBFkEADixH76XfXBiEiE.png?width=464&height=464\"}},PX_MSxsxF:{background:{alt:\"\",fit:\"fit\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||100)-0-200)/2)+0+75+0),pixelHeight:464,pixelWidth:464,positionX:\"center\",positionY:\"center\",sizes:\"50px\",src:\"https://framerusercontent.com/images/Ymoz9k6uBFkEADixH76XfXBiEiE.png?width=464&height=464\"}}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Um9ib3RvIFNlcmlmLTcwMA==\",\"--framer-font-family\":'\"Roboto Serif\", \"Roboto Serif Placeholder\", serif',\"--framer-font-size\":\"30px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.8px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-gdpscs, var(--token-30cffaa7-f67c-4606-9cea-867032f3e0eb, rgb(0, 0, 0)))\"},children:\"凯琳\"})}),className:\"framer-o3fzzc\",fonts:[\"GF;Roboto Serif-700\"],layoutDependency:layoutDependency,layoutId:\"c5wmUYCcI\",style:{\"--extracted-gdpscs\":\"var(--token-30cffaa7-f67c-4606-9cea-867032f3e0eb, rgb(0, 0, 0))\"},verticalAlignment:\"center\",whileHover:animation,withExternalLayout:true})]})}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-k7251k-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"njidnbc5d-container\",nodeId:\"njidnbc5d\",rendersWithMotion:true,scopeId:\"OFD7yTRUz\",children:/*#__PURE__*/_jsx(HamburgerMenu,{defaultChecked:false,height:\"100%\",id:\"njidnbc5d\",layoutId:\"njidnbc5d\",size:48,strokeColor:\"var(--token-ce74ed1d-7b68-4e9b-ac2b-0494722d4842, rgb(34, 34, 34))\",strokeWidth:3,width:\"100%\"})})})]}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1qf6xbl-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"MO3IvUpye-container\",nodeId:\"MO3IvUpye\",rendersWithMotion:true,scopeId:\"OFD7yTRUz\",children:/*#__PURE__*/_jsx(FloatingPillNavigation,{aboutOpensInSameTab:false,activeBackgroundColor:\"rgb(29, 29, 31)\",activeLink:\"Work\",activeTextColor:\"rgb(255, 255, 255)\",backgroundColor:\"rgb(255, 255, 255)\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"17px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.37px\",lineHeight:\"20px\"},gap:0,height:\"100%\",id:\"MO3IvUpye\",items:[{href:\"\",label:\"Work\",target:\"_self\"},{href:\"/About-Me\",label:\"About\",target:\"_self\"},{href:\"\",label:\"LinkedIn\",target:\"_self\"}],layoutId:\"MO3IvUpye\",linkPadding:\"12px 22px 12px 22px\",padding:6,textColor:\"rgb(0, 0, 0)\",transition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},width:\"100%\",workLinksToHome:true})})}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1k0nf08\",layoutDependency:layoutDependency,layoutId:\"w0Nb0jn_e\"})]})})})})});});const css=[\".framer-CqKE7.framer-8u26jl, .framer-CqKE7 .framer-8u26jl { display: block; }\",\".framer-CqKE7.framer-1x9iklv { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 100px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px 24px 0px 24px; position: relative; width: 1200px; }\",\".framer-CqKE7 .framer-hg78i6 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1200px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-CqKE7 .framer-13wc7fw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-CqKE7 .framer-1mj4hoj { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-CqKE7 .framer-1buxiom { aspect-ratio: 1 / 1; flex: none; height: auto; position: relative; width: 50px; z-index: 1; }\",\".framer-CqKE7 .framer-o3fzzc { flex: none; height: auto; pointer-events: auto; position: relative; white-space: pre; width: auto; will-change: var(--framer-will-change-effect-override, transform); z-index: 1; }\",\".framer-CqKE7 .framer-k7251k-container, .framer-CqKE7 .framer-1qf6xbl-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-CqKE7 .framer-1k0nf08 { flex: none; height: 46px; overflow: visible; position: relative; width: 113px; }\",\".framer-CqKE7.framer-v-q5xj5j.framer-1x9iklv { width: 1800px; }\",\".framer-CqKE7.framer-v-15if5e5.framer-1x9iklv { width: 810px; }\",\".framer-CqKE7.framer-v-11bgtwe.framer-1x9iklv, .framer-CqKE7.framer-v-1ozfh8t.framer-1x9iklv { width: 390px; }\",\".framer-CqKE7.framer-v-11bgtwe .framer-13wc7fw, .framer-CqKE7.framer-v-1ozfh8t .framer-13wc7fw { flex: 1 0 0px; gap: unset; justify-content: space-between; width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 100\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"NhzKJHIID\":{\"layout\":[\"fixed\",\"fixed\"]},\"qD8AFy0f7\":{\"layout\":[\"fixed\",\"fixed\"]},\"PX_MSxsxF\":{\"layout\":[\"fixed\",\"fixed\"]},\"OyaISbx3B\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerOFD7yTRUz=withCSS(Component,css,\"framer-CqKE7\");export default FramerOFD7yTRUz;FramerOFD7yTRUz.displayName=\"Nav bar 2\";FramerOFD7yTRUz.defaultProps={height:100,width:1200};addPropertyControls(FramerOFD7yTRUz,{variant:{options:[\"cHgw9kY9U\",\"NhzKJHIID\",\"qD8AFy0f7\",\"PX_MSxsxF\",\"OyaISbx3B\"],optionTitles:[\"Desktop\",\"Monitor\",\"Tablet\",\"Phone closed\",\"Phone open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerOFD7yTRUz,[{explicitInter:true,fonts:[{cssFamilyName:\"Roboto Serif\",source:\"google\",style:\"normal\",uiFamilyName:\"Roboto Serif\",url:\"https://fonts.gstatic.com/s/robotoserif/v17/R71RjywflP6FLr3gZx7K8UyuXDs9zVwDmXCb8lxYgmuii32UGoVldX6UgfjL4-3sMM_kB_qXSEXTJQCFLH5-_bcEls0qp6J2Af5fR4k.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...HamburgerMenuFonts,...FloatingPillNavigationFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerOFD7yTRUz\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"NhzKJHIID\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qD8AFy0f7\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PX_MSxsxF\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"OyaISbx3B\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ae8a13)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,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 NavBar2 from\"#framer/local/canvasComponent/OFD7yTRUz/OFD7yTRUz.js\";const NavBar2Fonts=getFonts(NavBar2);const breakpoints={kSL3bt2tD:\"(min-width: 1512px) and (max-width: 1799.98px)\",L0bUAHms1:\"(max-width: 809.98px)\",RvTjUtBC5:\"(min-width: 810px) and (max-width: 1511.98px)\",XtDHjWC6r:\"(min-width: 1800px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-RukDa\";const variantClassNames={kSL3bt2tD:\"framer-v-1nrinqt\",L0bUAHms1:\"framer-v-3r34oi\",RvTjUtBC5:\"framer-v-j2hqdt\",XtDHjWC6r:\"framer-v-1xnzlf6\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={RvTjUtBC5:[\".framer-RukDa .framer-1almwsl-container { order: -1000; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={RvTjUtBC5:\".framer-j2hqdt-override\"};const rules=[\".framer-RukDa.framer-1sqzqih, .framer-RukDa .framer-1sqzqih { display: block; }\",\".framer-RukDa.framer-1nrinqt { align-content: center; align-items: center; background-color: var(--token-4fc92f2b-8088-4802-8fe6-52ffdb216b62, #faeee3); 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-RukDa .framer-1y2w9hj-container { flex: none; height: 100px; order: -1000; position: relative; width: 100%; }\",\".framer-RukDa .framer-17oxzsy { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-RukDa .framer-1almwsl-container { flex: none; height: 100px; order: 1002; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={kSL3bt2tD:\"(min-width: 1512px) and (max-width: 1799.98px)\",L0bUAHms1:\"(max-width: 809.98px)\",RvTjUtBC5:\"(min-width: 810px) and (max-width: 1511.98px)\",XtDHjWC6r:\"(min-width: 1800px)\"};const humanReadableVariantMap={Desktop:\"kSL3bt2tD\",Monitor:\"XtDHjWC6r\",Phone:\"L0bUAHms1\",Tablet:\"RvTjUtBC5\"};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??\"kSL3bt2tD\"};};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);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"RvTjUtBC5\")return false;return true;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"RvTjUtBC5\")return true;return false;};useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"kSL3bt2tD\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-4fc92f2b-8088-4802-8fe6-52ffdb216b62, rgb(250, 238, 227)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1nrinqt\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:100,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1y2w9hj-container hidden-j2hqdt\",nodeId:\"BppMhxiI0\",scopeId:\"NN1ALwnV2\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{L0bUAHms1:{variant:matchVariant(\"PX_MSxsxF\")}},children:/*#__PURE__*/_jsx(NavBar2,{height:\"100%\",id:\"BppMhxiI0\",layoutId:\"BppMhxiI0\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"cHgw9kY9U\"),width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-17oxzsy\"}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvTjUtBC5:{height:100,width:\"100vw\",y:0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1almwsl-container hidden-1nrinqt hidden-3r34oi hidden-1xnzlf6\",nodeId:\"lcYjfztjK\",scopeId:\"NN1ALwnV2\",children:/*#__PURE__*/_jsx(NavBar2,{height:\"100%\",id:\"lcYjfztjK\",layoutId:\"lcYjfztjK\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"qD8AFy0f7\"),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=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1512\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"RvTjUtBC5\":{\"layout\":[\"fixed\",\"fixed\"]},\"L0bUAHms1\":{\"layout\":[\"fixed\",\"fixed\"]},\"XtDHjWC6r\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"kSL3bt2tD\":[\".framer-1y2w9hj-container\"],\"L0bUAHms1\":[\".framer-1y2w9hj-container\"],\"XtDHjWC6r\":[\".framer-1y2w9hj-container\"],\"RvTjUtBC5\":[\".framer-1almwsl-container\"]}\n * @framerBreakpoints {\"XtDHjWC6r\":{\"min\":1800,\"canvasClassName\":\"framer-1xnzlf6-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Monitor\",\"width\":1800,\"rootFontSize\":16},\"kSL3bt2tD\":{\"min\":1512,\"max\":1799,\"canvasClassName\":\"framer-1nrinqt-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1512,\"rootFontSize\":16},\"RvTjUtBC5\":{\"min\":810,\"max\":1511,\"canvasClassName\":\"framer-j2hqdt-override\",\"minHeight\":1000,\"viewportHeight\":857,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"L0bUAHms1\":{\"max\":809,\"canvasClassName\":\"framer-3r34oi-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant kSL3bt2tD\n * @framerLayoutTemplate true\n */const FramerNN1ALwnV2=withCSS(Component,css,\"framer-RukDa\");export default FramerNN1ALwnV2;FramerNN1ALwnV2.displayName=\"My portfolio\";FramerNN1ALwnV2.defaultProps={height:1e3,width:1512};addFonts(FramerNN1ALwnV2,[{explicitInter:true,fonts:[]},...NavBar2Fonts],{supportsExplicitInterCodegen:true});FramerNN1ALwnV2.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(NavBar2,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerNN1ALwnV2\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1512\",\"framerDisplayContentsDiv\":\"false\",\"framerLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerHitTargets\":\"{\\\"kSL3bt2tD\\\":[\\\".framer-1y2w9hj-container\\\"],\\\"L0bUAHms1\\\":[\\\".framer-1y2w9hj-container\\\"],\\\"XtDHjWC6r\\\":[\\\".framer-1y2w9hj-container\\\"],\\\"RvTjUtBC5\\\":[\\\".framer-1almwsl-container\\\"]}\",\"framerIntrinsicHeight\":\"1000\",\"framerDefaultVariant\":\"kSL3bt2tD\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"RvTjUtBC5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"L0bUAHms1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XtDHjWC6r\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerBreakpoints\":\"{\\\"XtDHjWC6r\\\":{\\\"min\\\":1800,\\\"canvasClassName\\\":\\\"framer-1xnzlf6-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Monitor\\\",\\\"width\\\":1800,\\\"rootFontSize\\\":16},\\\"kSL3bt2tD\\\":{\\\"min\\\":1512,\\\"max\\\":1799,\\\"canvasClassName\\\":\\\"framer-1nrinqt-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1512,\\\"rootFontSize\\\":16},\\\"RvTjUtBC5\\\":{\\\"min\\\":810,\\\"max\\\":1511,\\\"canvasClassName\\\":\\\"framer-j2hqdt-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":857,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"L0bUAHms1\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-3r34oi-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"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 MyPortfolio from \"https://framerusercontent.com/modules/JEjNM3rYk5N8ciE8mskE/3dfkpNbO5O2nkHZIySFT/NN1ALwnV2.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/3UgQJ5dEwnWu6NLLSL3R/FFUdCz8GqZ02ZwVKnHeO/augiA20Il.js\")), path: \"/\"}, L3H0m2UAS: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/WgVOfNXhfxn2jNoAREK8/GQDEA7rGbdk7jKT5BMW7/L3H0m2UAS.js\")), path: \"/About-Me\"}, cSVh4aYRm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fQGsBerU0LDTHkm75T7I/p1RtdKX8Npc3sgXzFqeo/cSVh4aYRm.js\")), path: \"/SkySports\"}, oDe87oEvC: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/qpRzcaKAwHQaQv7Di20P/XYY4pgPYN0a8BJjgaGLE/oDe87oEvC.js\")), path: \"/Catsby\"}, stgMq2GgG: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/hETrogDO89JlX1ppBn2A/JENPuDEnqHcCJjwdNEuB/stgMq2GgG.js\")), path: \"/Jeans-Laundry\"}, U2pbMaPQD: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/x4zpAdkaeVcWvXK59kao/OF2R0WPSaygUyYxHShdX/U2pbMaPQD.js\")), path: \"/YSL\"}, l5kwmwD92: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/p0zASXNwfukzbcyEM2No/BZbjyCp2heFCFcRDTuTS/l5kwmwD92.js\")), path: \"/VR\"}, ZP3jvBLy5: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/wKbU243DsvZNlMxSicHh/VE4cw54uv5NNhb23UeCn/ZP3jvBLy5.js\")), path: \"/RunWise\"}, yUyjuSDGN: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xBstUEMfU4UsUVJkHMhr/vUkx0uFajrwxxW2M56KH/yUyjuSDGN.js\")), path: \"/filmdoo\"}, aYH15pkFl: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/BBtHHpqGuON7uQ11XH10/Ug05g3rWDQpO18E6RCEK/aYH15pkFl.js\")), path: \"/greenconnect\"}, EAlTijiMh: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/eGrpbLP4j9OWKfB00gDL/5S4PhmpQlW58UJwupJ9o/EAlTijiMh.js\")), path: \"/ocado\"}, xPbmjpck7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/lRxR8YRi4m5hPt8V8ouK/rr8NqVBVuv63dpoQ24fa/xPbmjpck7.js\")), path: \"/Old-Projects\"}, GW_J4WSiH: {collectionId: \"cwZzc2q5N\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/APVzZyLEP79Aed2qVtRa/YhQD4usy5pwLrhnAwkBp/GW_J4WSiH.js\")), path: \"/projects/:IqnQf516O\"}}\r\n\r\n\t\tconst locales = [{code: \"en-GB\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}, {code: \"en\", id: \"au6VpmsrY\", name: \"English\", slug: \"en\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {cwZzc2q5N: async () => (await import(\"https://framerusercontent.com/modules/OyHH0AI995Xzld9plfn1/V4x40wVIU1lARKrtoYMT/cwZzc2q5N.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"4bc89b51c91438dc17583855367b65adf529809b70ba1421da7f5834acf7aeb3\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"L3H0m2UAS\":\r\ncase \"cSVh4aYRm\":\r\ncase \"oDe87oEvC\":\r\ncase \"stgMq2GgG\":\r\ncase \"U2pbMaPQD\":\r\ncase \"l5kwmwD92\":\r\ncase \"ZP3jvBLy5\":\r\ncase \"yUyjuSDGN\":\r\ncase \"aYH15pkFl\":\r\ncase \"EAlTijiMh\":\r\ncase \"xPbmjpck7\":\r\ncase \"M8QRGHFUd\":\r\ncase \"GW_J4WSiH\":\r\nreturn React.createElement(MyPortfolio, {...props, key: \"MyPortfolio\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"L3H0m2UAS\":\r\ncase \"cSVh4aYRm\":\r\ncase \"oDe87oEvC\":\r\ncase \"stgMq2GgG\":\r\ncase \"U2pbMaPQD\":\r\ncase \"l5kwmwD92\":\r\ncase \"ZP3jvBLy5\":\r\ncase \"yUyjuSDGN\":\r\ncase \"aYH15pkFl\":\r\ncase \"EAlTijiMh\":\r\ncase \"xPbmjpck7\":\r\ncase \"M8QRGHFUd\":\r\ncase \"GW_J4WSiH\":\r\nreturn [{hash: \"1xnzlf6\", mediaQuery: \"(min-width: 1800px)\"}, {hash: \"1nrinqt\", mediaQuery: \"(min-width: 1512px) and (max-width: 1799.98px)\"}, {hash: \"j2hqdt\", mediaQuery: \"(min-width: 810px) and (max-width: 1511.98px)\"}, {hash: \"3r34oi\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tFramer.setLibraryFeatures({disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, privateRouterReplaceState: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\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://karinwei.framer.website\",\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/yUx3lDnbikC8R0PWZorS/53k9v8l5H5BDA1MEy7xz/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 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\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\t\r\n\t\t\t\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, 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,\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\t;(function () {\r\n\t\t\tif (!isBrowser) return\r\n\r\n\t\t\tReact.startTransition(() => {\r\n\t\t\t\tReactDOM.hydrateRoot(\r\n\t\t\t\t\tdocument.getElementById(\"__framer-badge-container\"),\r\n\t\t\t\t\tReact.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t})()\r\n\t"],"mappings":"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"}