(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[818],{30372:function(e,t,r){Promise.resolve().then(r.t.bind(r,38173,23)),Promise.resolve().then(r.t.bind(r,231,23)),Promise.resolve().then(r.bind(r,83098)),Promise.resolve().then(r.bind(r,53414)),Promise.resolve().then(r.bind(r,72491)),Promise.resolve().then(r.bind(r,29857)),Promise.resolve().then(r.bind(r,43931))},83098:function(e,t,r){"use strict";r.d(t,{NewsletterForm:function(){return m}});var s=r(57437);r(74590);var a=(0,r(58064).$)("75b26df3378f3d1c02f8db79eb82b6610f8e9a25"),n=r(68670),o=r(87992),i=r(77209),l=r(70402),d=r(78068),c=r(35249),u=r(2265),f=r(19301);function m(){let{toast:e}=(0,d.pm)(),t=(0,u.useRef)(null),{execute:r,status:m,isError:p,error:g}=(0,f.t)(a,{onSuccess(){var r;null===(r=t.current)||void 0===r||r.reset(),e({title:"Success",description:"You have been subscribed to our newsletter."})},onError(e){let{err:t}=e;console.log("error",t.message)}});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("form",{ref:t,className:"flex gap-2",onSubmit:async e=>{e.preventDefault();let t=new FormData(e.target).get("email");await r({email:t})},children:[(0,s.jsx)(l._,{className:"sr-only",htmlFor:"email"}),(0,s.jsx)(i.I,{required:!0,type:"email",name:"email",className:"text max-w-[320px] dark:bg-slate-100 dark:text-slate-900 dark:placeholder-slate-600",id:"email",placeholder:"Enter your email address"}),(0,s.jsx)(n.Q,{isLoading:"pending"===m,children:"Subscribe"})]}),(0,s.jsxs)("div",{className:"mt-4",children:["success"===m&&(0,s.jsxs)(o.bZ,{variant:"success",children:[(0,s.jsx)(c.Z,{className:"h-4 w-4"}),(0,s.jsx)(o.Cd,{children:"Successfully subscribed"}),(0,s.jsx)(o.X,{children:"We'll let you know when this starter kit is ready!"})]}),p&&(0,s.jsxs)(o.bZ,{variant:"destructive",children:[(0,s.jsx)(c.Z,{className:"h-4 w-4"}),(0,s.jsx)(o.Cd,{children:"Something went wrong"}),(0,s.jsx)(o.X,{children:g.message})]})]})]})}},53414:function(e,t,r){"use strict";r.d(t,{default:function(){return f}});var s=r(57437),a=r(2265),n=r(49354);let o=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...a})});o.displayName="Card",a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",r),...a})}).displayName="CardHeader";let i=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("h3",{ref:t,className:(0,n.cn)("text-2xl font-semibold leading-none tracking-tight",r),...a})});i.displayName="CardTitle",a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("p",{ref:t,className:(0,n.cn)("text-sm text-muted-foreground",r),...a})}).displayName="CardDescription",a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("p-6 pt-0",r),...a})}).displayName="CardContent",a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("flex items-center p-6 pt-0",r),...a})}).displayName="CardFooter";var l=r(87138),d=r(66648);let c=[{name:"GigglesPlay Indoor Playspace",image:"/GigglesPlay.avif",url:"https://gigglesplay.com/",color:"#f7ad45",description:"A vibrant website for a children's indoor play area, featuring a fun design and easy-to-use booking system.",technologies:["Next.js","React","Tailwind CSS","Firebase"]},{name:"Libertyville Gymnastics Academy",image:"/lga-screenshot.avif",url:"https://nextjs-starter-buttercms-1-eosin.vercel.app",color:"#5D089F",description:"A dynamic website for a gymnastics academy, showcasing class schedules, instructor bios, and online registration.",technologies:["Next.js","TypeScript","ButterCMS","Vercel"]},{name:"Highwood Chamber of Commerce",image:"/HighwoodCOC.avif",url:"https://highwoodchamber.com/",color:"#001f5c",description:"An informative site for the local chamber of commerce, featuring business directories, event calendars, and community resources.",technologies:["Next.js","React","Tailwind CSS","Strapi CMS","Firebase"]}],u=e=>{let{imageUrl:t}=e,r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,s.jsx)("div",{className:"hide-scrollbar relative mx-auto overflow-auto",onMouseLeave:()=>{let e=r.current;e&&e.scrollTo({top:0,behavior:"smooth"})},ref:r,style:{height:"500px",width:"300px",overscrollBehavior:"contain"},children:(0,s.jsx)(d.default,{src:t,alt:"",ref:n,style:{position:"absolute",top:0,left:0,width:"100%",height:"auto"},className:"hide-scrollbar",width:1e3,height:1e3})})};function f(){return(0,s.jsx)("section",{id:"portfolio",className:"bg-gray-100 py-24 dark:bg-gray-800",children:(0,s.jsxs)("div",{className:"container mx-auto px-4",children:[(0,s.jsxs)("div",{className:"max-w-screen-md mx-auto mb-12 text-center",children:[(0,s.jsx)("h2",{className:"mb-4 text-3xl font-extrabold tracking-tight text-gray-900 dark:text-white",children:"Our Portfolio"}),(0,s.jsx)("p",{className:"mb-5 font-light text-gray-600 sm:text-xl dark:text-gray-300",children:"Explore our recent projects showcasing innovative web solutions that drive growth and enhance user experience."})]}),(0,s.jsx)("div",{className:"grid gap-8 md:grid-cols-3",children:c.map((e,t)=>(0,s.jsxs)(o,{className:"group overflow-hidden border-none shadow-lg transition-all duration-300 hover:shadow-xl dark:bg-gray-200",children:[(0,s.jsxs)("div",{className:"relative mx-auto w-[310px]",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent to-black opacity-0 transition-opacity duration-300 group-hover:opacity-70"}),(0,s.jsx)(l.default,{href:e.url,target:"_blank",children:(0,s.jsx)(u,{imageUrl:e.image})}),(0,s.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 p-4 text-white bg-black opacity-0 transition-opacity duration-300 group-hover:opacity-100",children:[(0,s.jsx)("p",{className:"mb-2 text-sm",children:e.description}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:e.technologies.map((e,t)=>(0,s.jsx)("span",{className:"rounded-full bg-gray-800 px-2 py-1 text-xs",children:e},t))})]})]}),(0,s.jsx)(i,{className:"mt-4 text-center text-lg font-bold",style:{color:e.color},children:e.name})]},t))})]})})}},68670:function(e,t,r){"use strict";r.d(t,{Q:function(){return i}});var s=r(57437),a=r(3274),n=r(89733),o=r(49354);function i(e){let{children:t,isLoading:r,className:i,...l}=e;return(0,s.jsxs)(n.z,{disabled:r,type:"submit",...l,className:(0,o.cn)("flex gap-2 justify-center px-3",i),children:[r&&(0,s.jsx)(a.Z,{className:"animate-spin w-4 h-4"}),t]})}},72491:function(e,t,r){"use strict";r.r(t),r.d(t,{ModeToggle:function(){return d}});var s=r(57437);r(2265);var a=r(38296),n=r(92699),o=r(79512),i=r(89733),l=r(31590);function d(){let{setTheme:e}=(0,o.F)();return(0,s.jsxs)(l.DropdownMenu,{children:[(0,s.jsx)(l.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsxs)(i.z,{variant:"outline",size:"icon",children:[(0,s.jsx)(a.Z,{className:"text-black h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,s.jsx)(n.Z,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,s.jsxs)(l.DropdownMenuContent,{align:"end",children:[(0,s.jsx)(l.DropdownMenuItem,{onClick:()=>e("light"),children:"Light"}),(0,s.jsx)(l.DropdownMenuItem,{onClick:()=>e("dark"),children:"Dark"}),(0,s.jsx)(l.DropdownMenuItem,{onClick:()=>e("system"),children:"System"})]})]})}},29857:function(e,t,r){"use strict";r.r(t),r.d(t,{CheckoutButton:function(){return i}});var s=r(57437);r(74590);var a=(0,r(58064).$)("e9a96a6eb53bfec5ccee92da66f16963889b8f29"),n=r(19301),o=r(68670);function i(e){let{className:t,children:r,priceId:i}=e,{execute:l,isPending:d}=(0,n.t)(a);return(0,s.jsx)("form",{onSubmit:e=>{e.preventDefault(),l({priceId:i})},children:(0,s.jsx)(o.Q,{isLoading:d,className:t,children:r})})}},43931:function(e,t,r){"use strict";r.d(t,{default:function(){return n}});var s=r(57437),a=r(2265);function n(e){let{texts:t,classNames:r}=e,[n,o]=(0,a.useState)(""),i=(e,r)=>{let s=r?t[e].length:0,a=r?-1:1,n=setInterval(()=>{r&&s>=0||!r&&s<=t[e].length?(o(t[e].substring(0,s)),s+=a):(clearInterval(n),setTimeout(()=>{r?i((e+1)%t.length,!r):i(e,!r)},1e3))},100)};return(0,a.useEffect)(()=>{i(0,!1)},[]),(0,s.jsx)("div",{className:r,children:(0,s.jsxs)("span",{children:[n,(0,s.jsx)("span",{className:"cursor",children:"|"})]})})}},87992:function(e,t,r){"use strict";r.d(t,{Cd:function(){return d},X:function(){return c},bZ:function(){return l}});var s=r(57437),a=r(2265),n=r(12218),o=r(49354);let i=(0,n.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{success:"bg-success text-success-foreground [&>svg]:text-success-foreground",default:"bg-background dark:text-foreground",destructive:"text-black border-destructive/50 dark:bg-destructive dark:text-destructive-foreground dark:border-destructive [&>svg]:text-destructive-foreground"}},defaultVariants:{variant:"default"}}),l=a.forwardRef((e,t)=>{let{className:r,variant:a,...n}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,o.cn)(i({variant:a}),r),...n})});l.displayName="Alert";let d=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("h5",{ref:t,className:(0,o.cn)("mb-1 font-medium leading-none tracking-tight",r),...a})});d.displayName="AlertTitle";let c=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)("div",{ref:t,className:(0,o.cn)("text-sm [&_p]:leading-relaxed",r),...a})});c.displayName="AlertDescription"},89733:function(e,t,r){"use strict";r.d(t,{d:function(){return l},z:function(){return d}});var s=r(57437),a=r(2265),n=r(71538),o=r(12218),i=r(49354);let l=(0,o.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"text-white bg-slate-600 hover:bg-slate-600/80 dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"hover:underline bg-white border border-black dark:bg-gray-300 dark:hover:bg-gray-300/80 dark:bg-secondary dark:text-secondary-foreground dark:hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=a.forwardRef((e,t)=>{let{className:r,variant:a,size:o,asChild:d=!1,...c}=e,u=d?n.g7:"button";return(0,s.jsx)(u,{className:(0,i.cn)(l({variant:a,size:o,className:r})),ref:t,...c})});d.displayName="Button"},31590:function(e,t,r){"use strict";r.d(t,{DropdownMenu:function(){return c},DropdownMenuContent:function(){return f},DropdownMenuItem:function(){return m},DropdownMenuTrigger:function(){return u},Ju:function(){return p},VD:function(){return g}});var s=r(57437),a=r(2265),n=r(81622),o=r(87592),i=r(22468),l=r(28165),d=r(49354);let c=n.fC,u=n.xz;n.ZA,n.Uv,n.Tr,n.Ee,a.forwardRef((e,t)=>{let{className:r,inset:a,children:i,...l}=e;return(0,s.jsxs)(n.fF,{ref:t,className:(0,d.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",r),...l,children:[i,(0,s.jsx)(o.Z,{className:"ml-auto h-4 w-4"})]})}).displayName=n.fF.displayName,a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.tu,{ref:t,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...a})}).displayName=n.tu.displayName;let f=a.forwardRef((e,t)=>{let{className:r,sideOffset:a=4,...o}=e;return(0,s.jsx)(n.Uv,{children:(0,s.jsx)(n.VY,{ref:t,sideOffset:a,className:(0,d.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...o})})});f.displayName=n.VY.displayName;let m=a.forwardRef((e,t)=>{let{className:r,inset:a,...o}=e;return(0,s.jsx)(n.ck,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",r),...o})});m.displayName=n.ck.displayName,a.forwardRef((e,t)=>{let{className:r,children:a,checked:o,...l}=e;return(0,s.jsxs)(n.oC,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:o,...l,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(n.wU,{children:(0,s.jsx)(i.Z,{className:"h-4 w-4"})})}),a]})}).displayName=n.oC.displayName,a.forwardRef((e,t)=>{let{className:r,children:a,...o}=e;return(0,s.jsxs)(n.Rk,{ref:t,className:(0,d.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...o,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(n.wU,{children:(0,s.jsx)(l.Z,{className:"h-2 w-2 fill-current"})})}),a]})}).displayName=n.Rk.displayName;let p=a.forwardRef((e,t)=>{let{className:r,inset:a,...o}=e;return(0,s.jsx)(n.__,{ref:t,className:(0,d.cn)("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",r),...o})});p.displayName=n.__.displayName;let g=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.Z0,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",r),...a})});g.displayName=n.Z0.displayName},77209:function(e,t,r){"use strict";r.d(t,{I:function(){return o}});var s=r(57437),a=r(2265),n=r(49354);let o=a.forwardRef((e,t)=>{let{className:r,type:a,...o}=e;return(0,s.jsx)("input",{type:a,className:(0,n.cn)("text-base flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...o})});o.displayName="Input"},70402:function(e,t,r){"use strict";r.d(t,{_:function(){return d}});var s=r(57437),a=r(2265),n=r(38364),o=r(12218),i=r(49354);let l=(0,o.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,s.jsx)(n.f,{ref:t,className:(0,i.cn)(l(),r),...a})});d.displayName=n.f.displayName},78068:function(e,t,r){"use strict";r.d(t,{pm:function(){return f}});var s=r(2265);let a=0,n=new Map,o=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?o(r):e.toasts.forEach(e=>{o(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],d={toasts:[]};function c(e){d=i(d,e),l.forEach(e=>{e(d)})}function u(e){let{...t}=e,r=(a=(a+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||s()}}}),{id:r,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=s.useState(d);return s.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},49354:function(e,t,r){"use strict";r.d(t,{cn:function(){return n}});var s=r(44839),a=r(96164);function n(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,s.W)(t))}}},function(e){e.O(0,[6702,231,8173,775,4674,9171,2361,4546,2971,7023,1744],function(){return e(e.s=30372)}),_N_E=e.O()}]);