feat: initial commit — Webflow to Next.js conversion
QuantumLab template converted to Next.js 16 + React 19 + TypeScript: - 8 page routes (home, about, blog, contact, careers, team-members, coming-soon, 404) - Dynamic routes for blog posts, career positions, and team members - GSAP animations (marquee, counters, button hovers) - IntersectionObserver-based scroll reveal (blur-to-clear transitions) - Dark mode with next-themes - React Hook Form + Zod contact form - Framer Motion page transitions - Lottie animations via lottie-web Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -0,0 +1,41 @@
|
|||||||
|
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
/node_modules
|
||||||
|
/.pnp
|
||||||
|
.pnp.*
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
|
# testing
|
||||||
|
/coverage
|
||||||
|
|
||||||
|
# next.js
|
||||||
|
/.next/
|
||||||
|
/out/
|
||||||
|
|
||||||
|
# production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# misc
|
||||||
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# debug
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# env files (can opt-in for committing if needed)
|
||||||
|
.env*
|
||||||
|
|
||||||
|
# vercel
|
||||||
|
.vercel
|
||||||
|
|
||||||
|
# typescript
|
||||||
|
*.tsbuildinfo
|
||||||
|
next-env.d.ts
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<!-- BEGIN:nextjs-agent-rules -->
|
||||||
|
# This is NOT the Next.js you know
|
||||||
|
|
||||||
|
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices.
|
||||||
|
<!-- END:nextjs-agent-rules -->
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
First, run the development server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
# or
|
||||||
|
yarn dev
|
||||||
|
# or
|
||||||
|
pnpm dev
|
||||||
|
# or
|
||||||
|
bun dev
|
||||||
|
```
|
||||||
|
|
||||||
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||||
|
|
||||||
|
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
||||||
|
|
||||||
|
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
||||||
|
|
||||||
|
## Learn More
|
||||||
|
|
||||||
|
To learn more about Next.js, take a look at the following resources:
|
||||||
|
|
||||||
|
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||||
|
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||||
|
|
||||||
|
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
|
||||||
|
|
||||||
|
## Deploy on Vercel
|
||||||
|
|
||||||
|
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||||
|
|
||||||
|
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import { HeroSection, MissionSection, TeamSection, ValuesSection, CareersSection, SocialLinksSection } from "@/components/about"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "About",
|
||||||
|
description: "Learn about DalCode's mission, team, and values. We're building the next generation of AI-powered developer tools.",
|
||||||
|
openGraph: {
|
||||||
|
title: "About DalCode",
|
||||||
|
description: "Learn about DalCode's mission, team, and values.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function AboutPage() {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<HeroSection />
|
||||||
|
<MissionSection />
|
||||||
|
<TeamSection />
|
||||||
|
<ValuesSection />
|
||||||
|
<CareersSection />
|
||||||
|
<SocialLinksSection />
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import { notFound } from "next/navigation"
|
||||||
|
import { BLOG_POSTS } from "@/lib/blog-data"
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
params: Promise<{ slug: string }>
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateStaticParams() {
|
||||||
|
return BLOG_POSTS.map((post) => ({ slug: post.slug }))
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||||
|
const { slug } = await params
|
||||||
|
const post = BLOG_POSTS.find((p) => p.slug === slug)
|
||||||
|
if (!post) return { title: "Post Not Found" }
|
||||||
|
return {
|
||||||
|
title: post.title,
|
||||||
|
description: post.excerpt,
|
||||||
|
openGraph: {
|
||||||
|
title: post.title,
|
||||||
|
description: post.excerpt,
|
||||||
|
images: [{ url: post.image }],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function BlogPostPage({ params }: Props) {
|
||||||
|
const { slug } = await params
|
||||||
|
const post = BLOG_POSTS.find((p) => p.slug === slug)
|
||||||
|
if (!post) notFound()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<section className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="blog-details-wrapper" style={{ justifyContent: "center" }}>
|
||||||
|
<div className="item-details">{post.date}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{post.category}</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>{post.title}</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>{post.excerpt}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper" style={{ position: "relative", aspectRatio: "16/9" }}>
|
||||||
|
<Image
|
||||||
|
src={post.image}
|
||||||
|
alt={post.imageAlt}
|
||||||
|
fill
|
||||||
|
style={{ objectFit: "cover", borderRadius: 12 }}
|
||||||
|
priority
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-left" />
|
||||||
|
<div className="corner-gradient-horizontal top-right" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-right" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="blog-post-rich-text w-richtext">
|
||||||
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.</p>
|
||||||
|
<h2>Key Insights</h2>
|
||||||
|
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.</p>
|
||||||
|
<p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.</p>
|
||||||
|
<h2>Looking Ahead</h2>
|
||||||
|
<p>Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center text-center">
|
||||||
|
<Link href="/blog" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Back to all articles</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import { HeroSection, CtaSection, PostsGridSection } from "@/components/blog"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Blog",
|
||||||
|
description: "Insights on AI, machine learning, and the future of software development from the DalCode team.",
|
||||||
|
openGraph: {
|
||||||
|
title: "DalCode Blog",
|
||||||
|
description: "Insights on AI, machine learning, and the future of software development.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BlogPage() {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<HeroSection />
|
||||||
|
<CtaSection />
|
||||||
|
<PostsGridSection />
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import Link from "next/link"
|
||||||
|
import { notFound } from "next/navigation"
|
||||||
|
import { CAREERS } from "@/lib/careers-data"
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
params: Promise<{ slug: string }>
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateStaticParams() {
|
||||||
|
return CAREERS.map((career) => ({ slug: career.slug }))
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||||
|
const { slug } = await params
|
||||||
|
const career = CAREERS.find((c) => c.slug === slug)
|
||||||
|
if (!career) return { title: "Position Not Found" }
|
||||||
|
return {
|
||||||
|
title: career.title,
|
||||||
|
description: career.description,
|
||||||
|
openGraph: {
|
||||||
|
title: `${career.title} - DalCode Careers`,
|
||||||
|
description: career.description,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function CareerDetailPage({ params }: Props) {
|
||||||
|
const { slug } = await params
|
||||||
|
const career = CAREERS.find((c) => c.slug === slug)
|
||||||
|
if (!career) notFound()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<section className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="blog-details-wrapper" style={{ justifyContent: "center" }}>
|
||||||
|
<div className="item-details">{career.department}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{career.location}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{career.type}</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>{career.title}</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>{career.description}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="blog-post-rich-text w-richtext">
|
||||||
|
<h2>About the role</h2>
|
||||||
|
<p>We are looking for a {career.title} to join our {career.department} team. In this role, you will work alongside world-class engineers and researchers to push the boundaries of what's possible with AI.</p>
|
||||||
|
<h2>Responsibilities</h2>
|
||||||
|
<ul role="list">
|
||||||
|
<li>Collaborate with cross-functional teams to design, develop, and deploy AI solutions</li>
|
||||||
|
<li>Contribute to research and development of novel AI architectures and algorithms</li>
|
||||||
|
<li>Write clean, maintainable, and well-tested code</li>
|
||||||
|
<li>Participate in code reviews and contribute to engineering best practices</li>
|
||||||
|
<li>Stay up-to-date with the latest developments in AI and machine learning</li>
|
||||||
|
</ul>
|
||||||
|
<h2>Requirements</h2>
|
||||||
|
<ul role="list">
|
||||||
|
<li>Strong background in computer science, mathematics, or a related field</li>
|
||||||
|
<li>Experience with modern AI/ML frameworks and tools</li>
|
||||||
|
<li>Excellent problem-solving and communication skills</li>
|
||||||
|
<li>Ability to work independently and as part of a team</li>
|
||||||
|
</ul>
|
||||||
|
<h2>What we offer</h2>
|
||||||
|
<ul role="list">
|
||||||
|
<li>Competitive salary and equity package</li>
|
||||||
|
<li>Comprehensive health, dental, and vision insurance</li>
|
||||||
|
<li>Flexible work arrangements</li>
|
||||||
|
<li>Learning and development budget</li>
|
||||||
|
<li>Regular team events and offsites</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center text-center">
|
||||||
|
<Link href="/careers" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Back to all positions</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import Link from "next/link"
|
||||||
|
import { CAREERS } from "@/lib/careers-data"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Careers",
|
||||||
|
description: "Join our team and help shape the future of AI. Explore open positions at DalCode.",
|
||||||
|
openGraph: {
|
||||||
|
title: "Careers at DalCode",
|
||||||
|
description: "Join our team and help shape the future of AI.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function CareersPage() {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<section className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="subtitle">Careers</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>Join our team</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>We're looking for talented people to help us build the future of AI-powered development tools.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="positions-list-wrapper">
|
||||||
|
{CAREERS.map((career) => (
|
||||||
|
<Link key={career.slug} href={`/careers/${career.slug}`} className="position-item w-inline-block">
|
||||||
|
<div className="position-item-content">
|
||||||
|
<div className="position-info">
|
||||||
|
<h3 className="display-4">{career.title}</h3>
|
||||||
|
<div className="position-details">
|
||||||
|
<div className="item-details">{career.department}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{career.location}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{career.type}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-left" />
|
||||||
|
<div className="corner-gradient-horizontal top-right" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-right" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Coming Soon",
|
||||||
|
description: "This page is coming soon. Stay tuned for updates.",
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ComingSoonPage() {
|
||||||
|
return (
|
||||||
|
<main className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="text-center" style={{ padding: "120px 0" }}>
|
||||||
|
<div className="subtitle">Coming soon</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>Under construction</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>We're working on something exciting. Check back soon for updates.</p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-24px">
|
||||||
|
<Link href="/" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Back to home</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import { HeroSection, FormSection, CardsSection } from "@/components/contact"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "Contact",
|
||||||
|
description: "Get in touch with the DalCode team. We'd love to hear from you about partnerships, support, or general inquiries.",
|
||||||
|
openGraph: {
|
||||||
|
title: "Contact DalCode",
|
||||||
|
description: "Get in touch with the DalCode team.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ContactPage() {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<HeroSection />
|
||||||
|
<FormSection />
|
||||||
|
<CardsSection />
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,92 @@
|
|||||||
|
@import "tailwindcss";
|
||||||
|
|
||||||
|
/* Webflow base resets are in webflow.css */
|
||||||
|
|
||||||
|
/* Dark mode: override Webflow CSS variables */
|
||||||
|
.dark {
|
||||||
|
--core--colors--neutral--800: #f5f5f5;
|
||||||
|
--core--colors--neutral--700: #e0e0e0;
|
||||||
|
--core--colors--neutral--600: #a0a0a0;
|
||||||
|
--core--colors--neutral--500: #707070;
|
||||||
|
--core--colors--neutral--400: #2a2a2a;
|
||||||
|
--core--colors--neutral--300: #1e1e1e;
|
||||||
|
--core--colors--neutral--200: #161616;
|
||||||
|
--core--colors--neutral--100: #0d0d0d;
|
||||||
|
--font--colors--title: var(--core--colors--neutral--800);
|
||||||
|
--font--colors--paragraph: var(--core--colors--neutral--600);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark body,
|
||||||
|
.dark .page-wrapper {
|
||||||
|
background-color: #0d0d0d;
|
||||||
|
color: #e0e0e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .section-small,
|
||||||
|
.dark .section,
|
||||||
|
.dark .hero-v1-grid-wrapper,
|
||||||
|
.dark .cta-section:not(.v4) {
|
||||||
|
background-color: #0d0d0d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .border-wrapper,
|
||||||
|
.dark .corner-gradient-container:not(.row) {
|
||||||
|
background-color: #141414;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .input:not(.dark-mode) {
|
||||||
|
background-color: #1a1a1a;
|
||||||
|
border-color: #2a2a2a;
|
||||||
|
color: #e0e0e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .input:not(.dark-mode)::placeholder {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .header-wrapper,
|
||||||
|
.dark .header-wrapper---absolute {
|
||||||
|
background-color: rgba(13, 13, 13, 0.9);
|
||||||
|
backdrop-filter: blur(12px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .link .link-text {
|
||||||
|
color: #d0d0d0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .footer-wrapper {
|
||||||
|
background-color: #0a0a0a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Show/hide elements based on theme */
|
||||||
|
.show-dark-mode {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .show-dark-mode {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .show-light-mode {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme toggle button */
|
||||||
|
.theme-toggle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid var(--core--colors--neutral--400);
|
||||||
|
background: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--core--colors--neutral--700);
|
||||||
|
transition: background-color 0.2s, color 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-toggle:hover {
|
||||||
|
background-color: var(--core--colors--neutral--300);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import { Inter, Inter_Tight } from "next/font/google"
|
||||||
|
import { ThemeProvider } from "next-themes"
|
||||||
|
import Header from "@/components/Header"
|
||||||
|
import Footer from "@/components/Footer"
|
||||||
|
import GsapAnimations from "@/components/GsapAnimations"
|
||||||
|
import RevealObserver from "@/components/RevealObserver"
|
||||||
|
import PageTransition from "@/components/PageTransition"
|
||||||
|
import "./webflow.css"
|
||||||
|
import "./globals.css"
|
||||||
|
|
||||||
|
const inter = Inter({
|
||||||
|
subsets: ["latin"],
|
||||||
|
weight: ["400", "500", "600"],
|
||||||
|
variable: "--font-inter",
|
||||||
|
display: "swap",
|
||||||
|
})
|
||||||
|
|
||||||
|
const interTight = Inter_Tight({
|
||||||
|
subsets: ["latin"],
|
||||||
|
weight: ["400", "500", "600"],
|
||||||
|
variable: "--font-inter-tight",
|
||||||
|
display: "swap",
|
||||||
|
})
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: {
|
||||||
|
default: "DalCode - AI Code Intelligence",
|
||||||
|
template: "%s | DalCode",
|
||||||
|
},
|
||||||
|
description: "DalCode - AI-powered code intelligence platform for innovation-driven teams.",
|
||||||
|
openGraph: {
|
||||||
|
type: "website",
|
||||||
|
siteName: "DalCode",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function RootLayout({
|
||||||
|
children,
|
||||||
|
}: Readonly<{
|
||||||
|
children: React.ReactNode
|
||||||
|
}>) {
|
||||||
|
return (
|
||||||
|
<html
|
||||||
|
lang="en"
|
||||||
|
className={`w-mod-js ${inter.variable} ${interTight.variable}`}
|
||||||
|
suppressHydrationWarning
|
||||||
|
>
|
||||||
|
<body className={inter.className}>
|
||||||
|
<ThemeProvider attribute="class" defaultTheme="light" enableSystem>
|
||||||
|
<div className="page-wrapper">
|
||||||
|
<Header />
|
||||||
|
<PageTransition>{children}</PageTransition>
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
|
<RevealObserver />
|
||||||
|
<GsapAnimations />
|
||||||
|
</ThemeProvider>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function NotFound() {
|
||||||
|
return (
|
||||||
|
<main className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="text-center" style={{ padding: "120px 0" }}>
|
||||||
|
<div className="subtitle">404</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>Page not found</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>The page you're looking for doesn't exist or has been moved.</p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-24px">
|
||||||
|
<Link href="/" className="form-button w-button">
|
||||||
|
Back to home
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import { HeroSection, IntegrationsSection, PrinciplesSection, CtaSection, BlogPreviewSection } from "@/components/home"
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: "DalCode - AI Code Intelligence Platform",
|
||||||
|
description: "Transform your development workflow with AI-powered code intelligence. DalCode helps innovation-driven teams ship faster with smart automation and deep code understanding.",
|
||||||
|
openGraph: {
|
||||||
|
title: "DalCode - AI Code Intelligence Platform",
|
||||||
|
description: "Transform your development workflow with AI-powered code intelligence.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function HomePage() {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<HeroSection />
|
||||||
|
<IntegrationsSection />
|
||||||
|
<PrinciplesSection />
|
||||||
|
<CtaSection />
|
||||||
|
<BlogPreviewSection />
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
import type { Metadata } from "next"
|
||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import { notFound } from "next/navigation"
|
||||||
|
import { TEAM_MEMBERS } from "@/lib/team-data"
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
params: Promise<{ id: string }>
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateStaticParams() {
|
||||||
|
return TEAM_MEMBERS.map((member) => ({ id: member.slug }))
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||||
|
const { id } = await params
|
||||||
|
const member = TEAM_MEMBERS.find((m) => m.slug === id)
|
||||||
|
if (!member) return { title: "Team Member Not Found" }
|
||||||
|
return {
|
||||||
|
title: member.name,
|
||||||
|
description: `${member.name} - ${member.role} at DalCode`,
|
||||||
|
openGraph: {
|
||||||
|
title: `${member.name} - ${member.role}`,
|
||||||
|
description: member.bio,
|
||||||
|
images: [{ url: member.image }],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function TeamMemberPage({ params }: Props) {
|
||||||
|
const { id } = await params
|
||||||
|
const member = TEAM_MEMBERS.find((m) => m.slug === id)
|
||||||
|
if (!member) notFound()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<section className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="team-member-avatar-large" style={{ position: "relative", width: 200, height: 200, margin: "0 auto", borderRadius: "50%", overflow: "hidden" }}>
|
||||||
|
<Image
|
||||||
|
src={member.image}
|
||||||
|
alt={member.name}
|
||||||
|
fill
|
||||||
|
style={{ objectFit: "cover" }}
|
||||||
|
priority
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<h1>{member.name}</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<div className="subtitle">{member.role}</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>{member.bio}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="blog-post-rich-text w-richtext">
|
||||||
|
<h2>About</h2>
|
||||||
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.</p>
|
||||||
|
<p>Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center">
|
||||||
|
<div className="team-member-buttons-wrapper" style={{ justifyContent: "center" }}>
|
||||||
|
<div>
|
||||||
|
<a href="https://x.com" className="social-square-icon-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 19 18" fill="none" className="social-media-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a href="https://linkedin.com" className="social-square-icon-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="social-media-icon">
|
||||||
|
<path d="M1 2.99134C1 2.41413 1.20271 1.93794 1.60811 1.56277C2.01351 1.18758 2.54055 1 3.18919 1C3.82626 1 4.34169 1.18469 4.73552 1.55411C5.14092 1.93506 5.34363 2.43145 5.34363 3.04329C5.34363 3.5974 5.14672 4.05915 4.7529 4.42857C4.3475 4.80952 3.81467 5 3.15444 5H3.13707C2.49999 5 1.98456 4.80952 1.59073 4.42857C1.19691 4.04762 1 3.56854 1 2.99134ZM1.22587 18.1429V6.57576H5.08301V18.1429H1.22587ZM7.22008 18.1429H11.0772V11.684C11.0772 11.2799 11.1236 10.9682 11.2162 10.7489C11.3784 10.3564 11.6245 10.0245 11.9546 9.75324C12.2847 9.48195 12.6988 9.34632 13.1969 9.34632C14.4942 9.34632 15.1429 10.2179 15.1429 11.961V18.1429H19V11.5108C19 9.8023 18.5946 8.50649 17.7838 7.62337C16.973 6.74026 15.9015 6.2987 14.5695 6.2987C13.0753 6.2987 11.9112 6.93939 11.0772 8.22078V8.25541H11.0598L11.0772 8.22078V6.57576H7.22008C7.24324 6.94516 7.25483 8.09378 7.25483 10.0216C7.25483 11.9495 7.24324 14.6565 7.22008 18.1429Z" fill="currentColor" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="inner-container _650px center text-center">
|
||||||
|
<Link href="/about" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Back to team</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import type { BlogPost } from "@/lib/blog-data"
|
||||||
|
|
||||||
|
interface BlogCardProps {
|
||||||
|
post: BlogPost
|
||||||
|
variant?: "featured" | "grid"
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BlogCard({ post, variant = "grid" }: BlogCardProps) {
|
||||||
|
const isFeatured = variant === "featured"
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div role="listitem" className={isFeatured ? "blog-featured-v1-wrapper w-dyn-item" : "blog-card-v3-wrapper w-dyn-item"}>
|
||||||
|
{isFeatured ? (
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<CardInner post={post} variant={variant} />
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<CardInner post={post} variant={variant} />
|
||||||
|
)}
|
||||||
|
{isFeatured && (
|
||||||
|
<div data-wf--corner-gradient-outline--variant="base" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-left" />
|
||||||
|
<div className="corner-gradient-horizontal top-right" />
|
||||||
|
<div className="corner-gradient-horizontal bottom-right" />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function CardInner({ post, variant }: { post: BlogPost; variant: "featured" | "grid" }) {
|
||||||
|
const isGrid = variant === "grid"
|
||||||
|
const cls = isGrid ? "blog-card-v1 w-variant-b9404c55-01d5-df76-2e4a-c99996f3231c w-inline-block" : "blog-card-v1 w-inline-block"
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Link href={`/blog-posts/${post.slug}`} className={cls}>
|
||||||
|
<div className={`blog-v1-image-wrapper${isGrid ? " w-variant-b9404c55-01d5-df76-2e4a-c99996f3231c" : ""}`}>
|
||||||
|
<Image alt={post.imageAlt} src={post.image} className="image" fill style={{ objectFit: "cover" }} />
|
||||||
|
</div>
|
||||||
|
<div className={`blog-v1-content${isGrid ? " w-variant-b9404c55-01d5-df76-2e4a-c99996f3231c" : ""}`}>
|
||||||
|
<div className="inner-container _420px">
|
||||||
|
<h3 className={`display-6${isGrid ? " w-variant-b9404c55-01d5-df76-2e4a-c99996f3231c" : ""}`}>{post.title}</h3>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p className="text-paragraph">{post.excerpt}</p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="blog-details-wrapper">
|
||||||
|
<div className="item-details">{post.date}</div>
|
||||||
|
<div className="item-details-divider">·</div>
|
||||||
|
<div className="item-details">{post.category}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="bottom-right-button-wrapper">
|
||||||
|
<div className="icon-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div className="icon-button-bg" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useForm } from "react-hook-form"
|
||||||
|
import { zodResolver } from "@hookform/resolvers/zod"
|
||||||
|
import { z } from "zod"
|
||||||
|
import { useState } from "react"
|
||||||
|
|
||||||
|
const schema = z.object({
|
||||||
|
firstName: z.string().min(1, "First name is required"),
|
||||||
|
lastName: z.string().min(1, "Last name is required"),
|
||||||
|
email: z.string().email("Please enter a valid email"),
|
||||||
|
country: z.string().min(1, "Country is required"),
|
||||||
|
phone: z.string().min(1, "Phone number is required"),
|
||||||
|
company: z.string().min(1, "Company is required"),
|
||||||
|
companySize: z.string().min(1, "Please select company size"),
|
||||||
|
message: z.string().min(10, "Message must be at least 10 characters"),
|
||||||
|
})
|
||||||
|
|
||||||
|
type FormData = z.infer<typeof schema>
|
||||||
|
|
||||||
|
export default function ContactForm() {
|
||||||
|
const [status, setStatus] = useState<"idle" | "success" | "error">("idle")
|
||||||
|
|
||||||
|
const {
|
||||||
|
register,
|
||||||
|
handleSubmit,
|
||||||
|
formState: { errors, isSubmitting },
|
||||||
|
reset,
|
||||||
|
} = useForm<FormData>({
|
||||||
|
resolver: zodResolver(schema),
|
||||||
|
})
|
||||||
|
|
||||||
|
const onSubmit = async (data: FormData) => {
|
||||||
|
try {
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 1000))
|
||||||
|
console.log("Contact form:", data)
|
||||||
|
setStatus("success")
|
||||||
|
reset()
|
||||||
|
} catch {
|
||||||
|
setStatus("error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status === "success") {
|
||||||
|
return (
|
||||||
|
<div className="contact-form-block w-form">
|
||||||
|
<div className="success-message-wrapper w-form-done" style={{ display: "block" }}>
|
||||||
|
<div className="contact-success-message">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="contact-success-icon">
|
||||||
|
<path d="M7.20658 10.9311L9.24116 12.1209L12.7928 7.20696M1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10C19 14.9706 14.9706 19 10 19C5.02944 19 1 14.9706 1 10Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<h2 className="display-5">Thank you! We'll get back to you soon</h2>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>We have received your message and will get back to you as soon as possible.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="contact-form-block w-form">
|
||||||
|
<form onSubmit={handleSubmit(onSubmit)} className="grid-2-columns contact-form-grid">
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="First name" type="text" {...register("firstName")} />
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="Last name" type="text" {...register("lastName")} />
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="Email address" type="email" {...register("email")} />
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="Country" type="text" {...register("country")} />
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="(123) 456 - 7890" type="tel" {...register("phone")} />
|
||||||
|
<input className={`input contact-form w-input`} maxLength={256} placeholder="Company" type="text" {...register("company")} />
|
||||||
|
<div className="select-wrapper">
|
||||||
|
<select className="input select-form w-select" {...register("companySize")}>
|
||||||
|
<option value="">Company size</option>
|
||||||
|
<option value="1-20 Employees">1-20 Employees</option>
|
||||||
|
<option value="20-100 Employees">20-100 Employees</option>
|
||||||
|
<option value="100+ Employees">100+ Employees</option>
|
||||||
|
</select>
|
||||||
|
<div className="select-icon-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="select-icon">
|
||||||
|
<path d="M15.5 7.03847L10 12.9615L4.5 7.03847" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<textarea maxLength={5000} placeholder="Enter your message" className="text-area contact-form w-input" {...register("message")} />
|
||||||
|
<div className="contact-form-button-wrapper">
|
||||||
|
<button type="submit" className="form-button w-button" disabled={isSubmitting}>
|
||||||
|
{isSubmitting ? "Please wait..." : "Send message"}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{Object.keys(errors).length > 0 && (
|
||||||
|
<div className="error-message contact-form-error w-form-fail" style={{ display: "block" }}>
|
||||||
|
<div>Please fill in all required fields correctly.</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{status === "error" && (
|
||||||
|
<div className="error-message contact-form-error w-form-fail" style={{ display: "block" }}>
|
||||||
|
<div>Oops! Something went wrong. Please try again.</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,248 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import NewsletterForm from "@/components/NewsletterForm"
|
||||||
|
|
||||||
|
export default function Footer() {
|
||||||
|
return (
|
||||||
|
<footer className="footer-wrapper">
|
||||||
|
<div data-w-id="f1ff1ac2-5ccd-56f8-612a-0570791caa19" className="footer-main-section">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="footer-top">
|
||||||
|
<div className="footer-logo-wrapper">
|
||||||
|
<Link href="/" className="logo-link w-inline-block w--current">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a73cf7c58867b86184dc28_logo-icon-quantum-webflow-template.svg" width={54} height={54} alt="Logo - Quantum | Webflow Template" className="logo-icon w-variant-7662d6cb-8aa5-f783-c60a-07a613bd9733" />
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<Link href="/careers" className="footer-button w-inline-block">
|
||||||
|
<div className="button-content footer">
|
||||||
|
<div>
|
||||||
|
Join our team </div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper footer primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal bottom-left dark-mode">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-right dark-mode">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="footer-middle">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="w-layout-grid footer-middle-content">
|
||||||
|
<div className="inner-container _355px _100-tablet">
|
||||||
|
<div className="display-6 medium text-titles-dm">
|
||||||
|
Unlock tomorrow’s most important AI trends </div>
|
||||||
|
<div className="mg-top-8-px">
|
||||||
|
<p className="text-color-neutral-400 mg-bottom-20px">
|
||||||
|
Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque. </p>
|
||||||
|
</div>
|
||||||
|
<NewsletterForm variant="dark" />
|
||||||
|
</div>
|
||||||
|
<div className="w-layout-grid footer-pages-grid">
|
||||||
|
<div className="footer-pages-column">
|
||||||
|
<Link href="/" className="footer-link w-inline-block w--current">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Home </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/about" className="footer-link w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
About </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/contact" className="footer-link w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Contact </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/careers" className="footer-link last---left-column w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Careers </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className="footer-pages-column">
|
||||||
|
<Link href="/careers/ai-research-scientist" className="footer-link w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Career single </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/blog" className="footer-link w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Blog </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/blog-posts/ai-powered-predictive-models-and-their-impact-across-industries" className="footer-link w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Blog post </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
<Link href="/coming-soon" className="footer-link last---right-column w-inline-block">
|
||||||
|
<div className="footer-link-text">
|
||||||
|
Coming soon </div>
|
||||||
|
<div className="footer-link-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="footer-link-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="w-layout-grid footer-links-wrapper">
|
||||||
|
<a data-w-id="08100fe2-7e2d-6e6c-ca53-e21c22c274f5" href="mailto:info@quantum.com" className="footer-contact-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="footer-contact-link-icon-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" className="footer-contact-link-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M0 2H24V4.31556L12.0001 10.861L0 4.31546V2ZM0 6.59364V22H24V6.59373L12.0001 13.1391L0 6.59364Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="footer-contact-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div className="text-color-neutral-500">
|
||||||
|
Email address </div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<div className="medium text-titles-dm">
|
||||||
|
info@quantumlab.com </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.intercom.com" target="_blank" className="footer-contact-link w-inline-block" rel="noopener noreferrer">
|
||||||
|
<div className="footer-contact-link-icon-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" className="footer-contact-link-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M2 1H1V20H5.25V23.7944L6.77605 22.8505L11.3843 20H23V1H2ZM16 9.5H7V6.5H16V9.5ZM7 14.5H14V11.5H7V14.5Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="footer-contact-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div className="text-color-neutral-500">
|
||||||
|
Live chat with us </div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<div className="medium text-titles-dm">
|
||||||
|
Chat with us </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a data-w-id="7fe5019c-0d48-0b18-79a9-ab7251d22b0b" href="mailto:support@quantum.com" className="footer-contact-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="footer-contact-link-icon-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" className="footer-contact-link-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M1.375 12C1.375 6.13197 6.13197 1.375 12 1.375C17.868 1.375 22.625 6.13197 22.625 12C22.625 17.868 17.868 22.625 12 22.625C6.13197 22.625 1.375 17.868 1.375 12ZM12.8543 7.60707H11.0834V5.83623H12.8543V7.60707ZM11.1146 11.1146H9.34375V9.34375H12.8854V15.5417H14.6563V17.3125H9.34375V15.5417H11.1146V11.1146Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="footer-contact-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div className="text-color-neutral-500">
|
||||||
|
Support </div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<div className="medium text-titles-dm">
|
||||||
|
support@quantumlab.com </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal bottom-left dark-mode">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-right dark-mode">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal top-left dark-mode">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal top-right dark-mode">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="footer-bottom">
|
||||||
|
<a href="https://www.brixtemplates.com" target="_blank" className="link-square-icon-left---dark-mode w-inline-block" rel="noopener noreferrer">
|
||||||
|
<div className="icon-40px---dark-mode">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 19" fill="none" className="icon-18px">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M19.7781 4.875L13.8748 16.4155H8.32985L10.8004 11.6326H10.6896C8.65138 14.2785 5.61034 16.0202 1.27734 16.4155V11.6988C1.27734 11.6988 4.04927 11.5351 5.6788 9.82186H1.27734V4.87509H6.22411V8.94374L6.33513 8.94329L8.35659 4.87509H12.0977V8.91794L12.2087 8.91776L14.306 4.875H19.7781Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
More Webflow Templates </div>
|
||||||
|
</a>
|
||||||
|
<p className="text-color-neutral-500">
|
||||||
|
Copyright © QuantumLab | Designed by <a href="https://www.brixtemplates.com" target="_blank" className="text-link" rel="noopener noreferrer">
|
||||||
|
BRIX Templates </a>
|
||||||
|
and powered by <a href="https://webflow.com" target="_blank" className="text-link" rel="noopener noreferrer">
|
||||||
|
Webflow </a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useEffect } from "react"
|
||||||
|
|
||||||
|
export default function GsapAnimations() {
|
||||||
|
useEffect(() => {
|
||||||
|
let ctx: ReturnType<typeof import("gsap").gsap.context> | null = null
|
||||||
|
|
||||||
|
import("gsap").then(async ({ gsap }) => {
|
||||||
|
const { ScrollTrigger } = await import("gsap/ScrollTrigger")
|
||||||
|
const { Observer } = await import("gsap/Observer")
|
||||||
|
gsap.registerPlugin(ScrollTrigger, Observer)
|
||||||
|
|
||||||
|
ctx = gsap.context(() => {
|
||||||
|
initMarquee(gsap, Observer)
|
||||||
|
initCounters(gsap, ScrollTrigger)
|
||||||
|
initScrollReveal(gsap, ScrollTrigger)
|
||||||
|
initButtonHovers(gsap)
|
||||||
|
initSmoothScroll()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return () => { ctx?.revert() }
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
function initMarquee(
|
||||||
|
gsap: typeof import("gsap").gsap,
|
||||||
|
Observer: typeof import("gsap/Observer").Observer,
|
||||||
|
) {
|
||||||
|
const marqueeItems = gsap.utils.toArray<HTMLElement>(".marquee-scroll-item")
|
||||||
|
if (!marqueeItems.length) return
|
||||||
|
|
||||||
|
const groups = new Map<HTMLElement, HTMLElement[]>()
|
||||||
|
marqueeItems.forEach((item) => {
|
||||||
|
const parent = item.parentElement
|
||||||
|
if (!parent) return
|
||||||
|
if (!groups.has(parent)) groups.set(parent, [])
|
||||||
|
groups.get(parent)!.push(item)
|
||||||
|
})
|
||||||
|
|
||||||
|
const instances: {
|
||||||
|
marqueeTimeline: gsap.core.Timeline
|
||||||
|
marqueeObject: { value: number }
|
||||||
|
hoverPauseProxy: { value: number }
|
||||||
|
isHoverPaused: boolean
|
||||||
|
lastDirection: number
|
||||||
|
}[] = []
|
||||||
|
|
||||||
|
groups.forEach((items, containerEl) => {
|
||||||
|
if (!items.length) return
|
||||||
|
const inst = {
|
||||||
|
marqueeObject: { value: 1 },
|
||||||
|
hoverPauseProxy: { value: 1 },
|
||||||
|
isHoverPaused: false,
|
||||||
|
lastDirection: 1,
|
||||||
|
marqueeTimeline: gsap.timeline({
|
||||||
|
repeat: -1,
|
||||||
|
onReverseComplete() { this.progress(1) },
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
inst.marqueeTimeline.fromTo(items, { xPercent: 0 }, { xPercent: -100, duration: 50, ease: "none" })
|
||||||
|
|
||||||
|
const triggerSet = new Set<HTMLElement>()
|
||||||
|
if (containerEl.classList.contains("marquee-hover-stop")) triggerSet.add(containerEl)
|
||||||
|
containerEl.querySelectorAll<HTMLElement>(".marquee-hover-stop").forEach((el) => triggerSet.add(el))
|
||||||
|
|
||||||
|
if (triggerSet.size && window.matchMedia("(pointer: fine)").matches) {
|
||||||
|
const setPaused = (state: boolean) => {
|
||||||
|
inst.isHoverPaused = state
|
||||||
|
const ts = inst.marqueeTimeline.timeScale()
|
||||||
|
gsap.killTweensOf(inst.hoverPauseProxy)
|
||||||
|
gsap.fromTo(inst.hoverPauseProxy, { value: state ? ts : 0 }, {
|
||||||
|
value: state ? 0 : inst.lastDirection || 1,
|
||||||
|
duration: 0.4,
|
||||||
|
ease: "power2.out",
|
||||||
|
onUpdate: () => inst.marqueeTimeline.timeScale(inst.hoverPauseProxy.value),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
triggerSet.forEach((el) => {
|
||||||
|
el.addEventListener("mouseenter", () => setPaused(true))
|
||||||
|
el.addEventListener("mouseleave", () => setPaused(false))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
instances.push(inst)
|
||||||
|
})
|
||||||
|
|
||||||
|
if (instances.length) {
|
||||||
|
Observer.create({
|
||||||
|
target: window,
|
||||||
|
type: "wheel,scroll,touch",
|
||||||
|
onChangeY: (self: { velocityY: number }) => {
|
||||||
|
let velocity = gsap.utils.clamp(-40, 40, self.velocityY * 0.002)
|
||||||
|
const dir = velocity < 0 ? -1 : 1
|
||||||
|
instances.forEach((inst) => {
|
||||||
|
if (inst.isHoverPaused) return
|
||||||
|
inst.marqueeTimeline.timeScale(velocity)
|
||||||
|
inst.lastDirection = dir
|
||||||
|
gsap.fromTo(inst.marqueeObject, { value: velocity }, {
|
||||||
|
value: dir,
|
||||||
|
duration: 1,
|
||||||
|
ease: "power2.out",
|
||||||
|
onUpdate: () => { if (!inst.isHoverPaused) inst.marqueeTimeline.timeScale(inst.marqueeObject.value) },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
||||||
|
instances.forEach((inst) => inst.marqueeTimeline.pause())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initCounters(
|
||||||
|
gsap: typeof import("gsap").gsap,
|
||||||
|
ScrollTrigger: typeof import("gsap/ScrollTrigger").ScrollTrigger,
|
||||||
|
) {
|
||||||
|
const elements = gsap.utils.toArray<HTMLElement>(".count-up-number-animation")
|
||||||
|
if (!elements.length) return
|
||||||
|
|
||||||
|
elements.forEach((el, i) => {
|
||||||
|
const target = parseFloat(el.getAttribute("data-count") || "100")
|
||||||
|
const decimals = target % 1 !== 0 ? 1 : 0
|
||||||
|
gsap.fromTo(el, { textContent: "0" }, {
|
||||||
|
textContent: String(target),
|
||||||
|
duration: 2,
|
||||||
|
ease: "power1.out",
|
||||||
|
snap: decimals ? { textContent: 0.1 } : { textContent: 1 },
|
||||||
|
delay: i * 0.1,
|
||||||
|
scrollTrigger: { trigger: el, start: "top 80%", once: true },
|
||||||
|
onUpdate() {
|
||||||
|
const v = parseFloat(el.textContent || "0")
|
||||||
|
el.textContent = v.toLocaleString(undefined, { minimumFractionDigits: decimals, maximumFractionDigits: decimals })
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function initScrollReveal(
|
||||||
|
gsap: typeof import("gsap").gsap,
|
||||||
|
ScrollTrigger: typeof import("gsap/ScrollTrigger").ScrollTrigger,
|
||||||
|
) {
|
||||||
|
ScrollTrigger.batch(".animate-on-scroll", {
|
||||||
|
onEnter: (batch) => gsap.to(batch, { opacity: 1, y: 0, stagger: 0.15, overwrite: true }),
|
||||||
|
onLeave: (batch) => gsap.set(batch, { opacity: 0, y: 100, overwrite: true }),
|
||||||
|
onEnterBack: (batch) => gsap.to(batch, { opacity: 1, y: 0, stagger: 0.15, overwrite: true }),
|
||||||
|
onLeaveBack: (batch) => gsap.set(batch, { opacity: 0, y: -100, overwrite: true }),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function initButtonHovers(gsap: typeof import("gsap").gsap) {
|
||||||
|
document.querySelectorAll<HTMLElement>(".primary-button, .secondary-button, .footer-button").forEach((btn) => {
|
||||||
|
const icon = btn.querySelector<HTMLElement>(".button-icon-wrapper svg")
|
||||||
|
if (!icon) return
|
||||||
|
btn.addEventListener("mouseenter", () => {
|
||||||
|
gsap.to(icon, { x: 3, duration: 0.3, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
btn.addEventListener("mouseleave", () => {
|
||||||
|
gsap.to(icon, { x: 0, duration: 0.3, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
document.querySelectorAll<HTMLElement>(".footer-link, .footer-contact-link").forEach((link) => {
|
||||||
|
const bg = link.querySelector<HTMLElement>(".footer-link-bg, .footer-contact-link-bg")
|
||||||
|
if (!bg) return
|
||||||
|
link.addEventListener("mouseenter", () => {
|
||||||
|
gsap.to(bg, { width: "100%", duration: 0.3, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
link.addEventListener("mouseleave", () => {
|
||||||
|
gsap.to(bg, { width: "0%", duration: 0.3, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
document.querySelectorAll<HTMLElement>(".contact-v1-link").forEach((link) => {
|
||||||
|
const bg = link.querySelector<HTMLElement>(".contact-icon-bg")
|
||||||
|
if (!bg) return
|
||||||
|
link.addEventListener("mouseenter", () => {
|
||||||
|
gsap.to(bg, { width: "100%", duration: 0.4, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
link.addEventListener("mouseleave", () => {
|
||||||
|
gsap.to(bg, { width: "0%", duration: 0.4, ease: "power2.out" })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function initSmoothScroll() {
|
||||||
|
document.documentElement.style.scrollBehavior = "smooth"
|
||||||
|
}
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useState, useEffect, useCallback } from "react"
|
||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import { usePathname } from "next/navigation"
|
||||||
|
import ThemeToggle from "@/components/ThemeToggle"
|
||||||
|
|
||||||
|
const NAV_LINKS = [
|
||||||
|
{ href: "/", label: "Home" },
|
||||||
|
{ href: "/about", label: "About" },
|
||||||
|
{ href: "/blog", label: "Blog" },
|
||||||
|
{ href: "/contact", label: "Contact" },
|
||||||
|
]
|
||||||
|
|
||||||
|
function ChevronIcon() {
|
||||||
|
return (
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function DropdownIcon() {
|
||||||
|
return (
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none">
|
||||||
|
<path d="M15.5 7.03847L10 12.9615L4.5 7.03847" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Header() {
|
||||||
|
const [mobileOpen, setMobileOpen] = useState(false)
|
||||||
|
const [dropdownOpen, setDropdownOpen] = useState(false)
|
||||||
|
const [scrolled, setScrolled] = useState(false)
|
||||||
|
const pathname = usePathname()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const onScroll = () => setScrolled(window.scrollY > 20)
|
||||||
|
window.addEventListener("scroll", onScroll, { passive: true })
|
||||||
|
return () => window.removeEventListener("scroll", onScroll)
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setMobileOpen(false)
|
||||||
|
setDropdownOpen(false)
|
||||||
|
}, [pathname])
|
||||||
|
|
||||||
|
const toggleMobile = useCallback(() => setMobileOpen((v) => !v), [])
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`header-wrapper w-nav ${scrolled ? "header-scrolled" : ""}`}
|
||||||
|
data-animation="default"
|
||||||
|
data-easing2="ease"
|
||||||
|
data-easing="ease"
|
||||||
|
data-collapse="medium"
|
||||||
|
role="banner"
|
||||||
|
data-duration="300"
|
||||||
|
>
|
||||||
|
<div className="header-content">
|
||||||
|
<div className="header-logo-wrapper">
|
||||||
|
<div className="show-light-mode">
|
||||||
|
<Link href="/" className="logo-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a43b922d3d1ca923f36385_logo-icon-quantum-webflow-template.svg" width={54} height={54} alt="Logo" className="logo-icon" />
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className="show-dark-mode">
|
||||||
|
<Link href="/" className="logo-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a73cf7c58867b86184dc28_logo-icon-quantum-webflow-template.svg" width={54} height={54} alt="Logo" className="logo-icon" />
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="header-right-side">
|
||||||
|
<nav
|
||||||
|
role="navigation"
|
||||||
|
className={`nav-menu w-nav-menu ${mobileOpen ? "w--open" : ""}`}
|
||||||
|
>
|
||||||
|
<ul role="list" className="list-nav-menu w-list-unstyled">
|
||||||
|
{NAV_LINKS.map(({ href, label }) => (
|
||||||
|
<li key={href} className="link-nav-item sibling-blur-item">
|
||||||
|
<Link
|
||||||
|
href={href}
|
||||||
|
className={`link w-inline-block ${pathname === href ? "w--current" : ""}`}
|
||||||
|
>
|
||||||
|
<div className="link-icon-wrapper">
|
||||||
|
<div className="link-icon">
|
||||||
|
<ChevronIcon />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="link-text">{label}</div>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
<li className="link-nav-item sibling-blur-item">
|
||||||
|
<div
|
||||||
|
className={`header-dropdown w-dropdown ${dropdownOpen ? "w--open" : ""}`}
|
||||||
|
onMouseEnter={() => setDropdownOpen(true)}
|
||||||
|
onMouseLeave={() => setDropdownOpen(false)}
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
className="dropdown-toggle w-dropdown-toggle"
|
||||||
|
onClick={() => setDropdownOpen((v) => !v)}
|
||||||
|
aria-expanded={dropdownOpen}
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<div>Pages</div>
|
||||||
|
<div className="dropdown-icon">
|
||||||
|
<DropdownIcon />
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
{dropdownOpen && (
|
||||||
|
<nav className="dropdown-content-wrapper w-dropdown-list w--open">
|
||||||
|
<div className="card header-dropdown-card">
|
||||||
|
<div className="w-layout-grid header-dropdown-grid">
|
||||||
|
<div>
|
||||||
|
<div className="dropdown-title">Main pages</div>
|
||||||
|
<div className="w-layout-grid main-pages-grid">
|
||||||
|
<div className="w-layout-grid pages-column">
|
||||||
|
{[
|
||||||
|
{ href: "/", label: "Home" },
|
||||||
|
{ href: "/about", label: "About" },
|
||||||
|
{ href: "/contact", label: "Contact" },
|
||||||
|
].map(({ href, label }) => (
|
||||||
|
<Link key={href} href={href} className="link w-inline-block">
|
||||||
|
<div className="link-icon-wrapper">
|
||||||
|
<div className="link-icon"><ChevronIcon /></div>
|
||||||
|
</div>
|
||||||
|
<div className="link-text">{label}</div>
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="w-layout-grid pages-column">
|
||||||
|
{[
|
||||||
|
{ href: "/blog", label: "Blog" },
|
||||||
|
].map(({ href, label }) => (
|
||||||
|
<Link key={href} href={href} className="link w-inline-block">
|
||||||
|
<div className="link-icon-wrapper">
|
||||||
|
<div className="link-icon"><ChevronIcon /></div>
|
||||||
|
</div>
|
||||||
|
<div className="link-text">{label}</div>
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li className="link-nav-item mbl-button">
|
||||||
|
<Link href="/contact" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Join our team</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<ChevronIcon />
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<div className="hidden-on-mobile-landscape">
|
||||||
|
<div className="show-light-mode">
|
||||||
|
<Link href="/contact" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Join our team</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<ChevronIcon />
|
||||||
|
<div className="button-icon-bg" />
|
||||||
|
<div className="button-icon-bg-inside" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className="show-dark-mode">
|
||||||
|
<Link href="/contact" className="secondary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>Join our team</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<ChevronIcon />
|
||||||
|
<div className="button-icon-bg bg-neutral-800" />
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ThemeToggle />
|
||||||
|
<button
|
||||||
|
className={`hamburger-menu w-nav-button ${mobileOpen ? "w--open" : ""}`}
|
||||||
|
onClick={toggleMobile}
|
||||||
|
aria-label="Toggle menu"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<div className="hamburger-menu-flex">
|
||||||
|
<div className="hamburger-menu-line top" />
|
||||||
|
<div className="hamburger-menu-line bottom" />
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{mobileOpen && <div className="w-nav-overlay w--open" onClick={() => setMobileOpen(false)} />}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useEffect, useRef } from "react"
|
||||||
|
|
||||||
|
interface LottiePlayerProps {
|
||||||
|
src: string
|
||||||
|
className?: string
|
||||||
|
loop?: boolean
|
||||||
|
autoplay?: boolean
|
||||||
|
style?: React.CSSProperties
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function LottiePlayer({ src, className, loop = true, autoplay = true, style }: LottiePlayerProps) {
|
||||||
|
const containerRef = useRef<HTMLDivElement>(null)
|
||||||
|
const animRef = useRef<ReturnType<typeof import("lottie-web").default.loadAnimation> | null>(null)
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
let cancelled = false
|
||||||
|
|
||||||
|
import("lottie-web").then((lottie) => {
|
||||||
|
if (cancelled || !containerRef.current) return
|
||||||
|
animRef.current = lottie.default.loadAnimation({
|
||||||
|
container: containerRef.current,
|
||||||
|
renderer: "svg",
|
||||||
|
loop,
|
||||||
|
autoplay,
|
||||||
|
path: src,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
cancelled = true
|
||||||
|
animRef.current?.destroy()
|
||||||
|
}
|
||||||
|
}, [src, loop, autoplay])
|
||||||
|
|
||||||
|
return <div ref={containerRef} className={className} style={style} />
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useForm } from "react-hook-form"
|
||||||
|
import { zodResolver } from "@hookform/resolvers/zod"
|
||||||
|
import { z } from "zod"
|
||||||
|
import { useState } from "react"
|
||||||
|
|
||||||
|
const schema = z.object({
|
||||||
|
email: z.string().email("Please enter a valid email address"),
|
||||||
|
})
|
||||||
|
|
||||||
|
type FormData = z.infer<typeof schema>
|
||||||
|
|
||||||
|
interface NewsletterFormProps {
|
||||||
|
variant?: "light" | "dark"
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function NewsletterForm({ variant = "dark" }: NewsletterFormProps) {
|
||||||
|
const [status, setStatus] = useState<"idle" | "success" | "error">("idle")
|
||||||
|
const isDark = variant === "dark"
|
||||||
|
|
||||||
|
const {
|
||||||
|
register,
|
||||||
|
handleSubmit,
|
||||||
|
formState: { errors, isSubmitting },
|
||||||
|
reset,
|
||||||
|
} = useForm<FormData>({
|
||||||
|
resolver: zodResolver(schema),
|
||||||
|
})
|
||||||
|
|
||||||
|
const onSubmit = async (data: FormData) => {
|
||||||
|
try {
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 800))
|
||||||
|
console.log("Newsletter subscription:", data.email)
|
||||||
|
setStatus("success")
|
||||||
|
reset()
|
||||||
|
} catch {
|
||||||
|
setStatus("error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status === "success") {
|
||||||
|
return (
|
||||||
|
<div className={`success-message-wrapper w-form-done`} style={{ display: "block" }}>
|
||||||
|
<div className={`success-message-inside-input ${isDark ? "dark-mode" : ""}`}>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="squared-icon _14px">
|
||||||
|
<path d="M7.20658 10.9311L9.24116 12.1209L12.7928 7.20696M1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10C19 14.9706 14.9706 19 10 19C5.02944 19 1 14.9706 1 10Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
<div>Thanks for subscribing to our newsletter!</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={`form-block _465px w-form`}>
|
||||||
|
<form onSubmit={handleSubmit(onSubmit)}>
|
||||||
|
<div className="position-relative">
|
||||||
|
<input
|
||||||
|
className={`input ${isDark ? "dark-mode" : ""} w-input`}
|
||||||
|
maxLength={256}
|
||||||
|
placeholder="Enter your email"
|
||||||
|
type="email"
|
||||||
|
{...register("email")}
|
||||||
|
/>
|
||||||
|
<div className={`button-inside-input-wrapper ${isDark ? "dark-mode" : ""} left-mbp`}>
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
className={`form-button inside-input ${isDark ? "dark-mode" : ""} w-button`}
|
||||||
|
disabled={isSubmitting}
|
||||||
|
>
|
||||||
|
{isSubmitting ? "Please wait..." : "Subscribe"}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{errors.email && (
|
||||||
|
<div className="error-message w-form-fail" style={{ display: "block" }}>
|
||||||
|
<div>{errors.email.message}</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</form>
|
||||||
|
{status === "error" && (
|
||||||
|
<div className="error-message w-form-fail" style={{ display: "block" }}>
|
||||||
|
<div>Oops! Something went wrong while submitting the form.</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { motion } from "framer-motion"
|
||||||
|
import { usePathname } from "next/navigation"
|
||||||
|
|
||||||
|
export default function PageTransition({ children }: { children: React.ReactNode }) {
|
||||||
|
const pathname = usePathname()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<motion.div
|
||||||
|
key={pathname}
|
||||||
|
initial={{ opacity: 0, y: 12 }}
|
||||||
|
animate={{ opacity: 1, y: 0 }}
|
||||||
|
transition={{ duration: 0.35, ease: "easeOut" }}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</motion.div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useEffect } from "react"
|
||||||
|
import { usePathname } from "next/navigation"
|
||||||
|
|
||||||
|
export default function RevealObserver() {
|
||||||
|
const pathname = usePathname()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
let observer: IntersectionObserver | null = null
|
||||||
|
let raf: number
|
||||||
|
|
||||||
|
raf = requestAnimationFrame(() => {
|
||||||
|
const allDataWid = document.querySelectorAll<HTMLElement>("[data-w-id]")
|
||||||
|
const targets: HTMLElement[] = []
|
||||||
|
|
||||||
|
allDataWid.forEach((el) => {
|
||||||
|
if (el.style.opacity === "0" && el.style.filter?.includes("blur")) {
|
||||||
|
el.style.transform = "translateY(24px)"
|
||||||
|
el.style.transition = "opacity 0.7s ease-out, filter 0.7s ease-out, transform 0.7s ease-out"
|
||||||
|
targets.push(el)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!targets.length) return
|
||||||
|
|
||||||
|
observer = new IntersectionObserver(
|
||||||
|
(entries) => {
|
||||||
|
entries.forEach((entry) => {
|
||||||
|
if (entry.isIntersecting) {
|
||||||
|
const el = entry.target as HTMLElement
|
||||||
|
el.style.opacity = "1"
|
||||||
|
el.style.filter = "blur(0px)"
|
||||||
|
el.style.transform = "translateY(0)"
|
||||||
|
observer?.unobserve(el)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
{ threshold: 0.05, rootMargin: "0px 0px -5% 0px" },
|
||||||
|
)
|
||||||
|
|
||||||
|
targets.forEach((el) => observer!.observe(el))
|
||||||
|
})
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
cancelAnimationFrame(raf)
|
||||||
|
observer?.disconnect()
|
||||||
|
}
|
||||||
|
}, [pathname])
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useTheme } from "next-themes"
|
||||||
|
import { useEffect, useState } from "react"
|
||||||
|
|
||||||
|
export default function ThemeToggle() {
|
||||||
|
const { theme, setTheme } = useTheme()
|
||||||
|
const [mounted, setMounted] = useState(false)
|
||||||
|
|
||||||
|
useEffect(() => setMounted(true), [])
|
||||||
|
|
||||||
|
if (!mounted) {
|
||||||
|
return <button className="theme-toggle" aria-label="Toggle theme"><span style={{ width: 18, height: 18 }} /></button>
|
||||||
|
}
|
||||||
|
|
||||||
|
const isDark = theme === "dark"
|
||||||
|
|
||||||
|
return (
|
||||||
|
<button
|
||||||
|
className="theme-toggle"
|
||||||
|
onClick={() => setTheme(isDark ? "light" : "dark")}
|
||||||
|
aria-label={isDark ? "Switch to light mode" : "Switch to dark mode"}
|
||||||
|
>
|
||||||
|
{isDark ? (
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="5" />
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3" />
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23" />
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64" />
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78" />
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12" />
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12" />
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36" />
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22" />
|
||||||
|
</svg>
|
||||||
|
) : (
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" />
|
||||||
|
</svg>
|
||||||
|
)}
|
||||||
|
</button>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useState, useCallback } from "react"
|
||||||
|
|
||||||
|
interface VideoLightboxProps {
|
||||||
|
thumbnailSrc: string
|
||||||
|
videoUrl: string
|
||||||
|
className?: string
|
||||||
|
children?: React.ReactNode
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function VideoLightbox({ thumbnailSrc, videoUrl, className, children }: VideoLightboxProps) {
|
||||||
|
const [open, setOpen] = useState(false)
|
||||||
|
|
||||||
|
const handleOpen = useCallback(() => setOpen(true), [])
|
||||||
|
const handleClose = useCallback(() => setOpen(false), [])
|
||||||
|
|
||||||
|
const embedUrl = videoUrl.includes("youtube.com/watch")
|
||||||
|
? videoUrl.replace("watch?v=", "embed/") + "?autoplay=1"
|
||||||
|
: videoUrl
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<button type="button" className={className} onClick={handleOpen} style={{ cursor: "pointer", border: "none", background: "none", padding: 0 }}>
|
||||||
|
{children || <img src={thumbnailSrc} alt="Video thumbnail" style={{ width: "100%" }} />}
|
||||||
|
</button>
|
||||||
|
{open && (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
position: "fixed", inset: 0, zIndex: 9999,
|
||||||
|
background: "rgba(0,0,0,0.9)",
|
||||||
|
display: "flex", alignItems: "center", justifyContent: "center",
|
||||||
|
}}
|
||||||
|
onClick={handleClose}
|
||||||
|
>
|
||||||
|
<div style={{ position: "relative", width: "90vw", maxWidth: 1200, aspectRatio: "16/9" }} onClick={(e) => e.stopPropagation()}>
|
||||||
|
<iframe
|
||||||
|
src={embedUrl}
|
||||||
|
style={{ width: "100%", height: "100%", border: "none", borderRadius: 12 }}
|
||||||
|
allow="autoplay; fullscreen; picture-in-picture"
|
||||||
|
allowFullScreen
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={handleClose}
|
||||||
|
style={{
|
||||||
|
position: "absolute", top: -40, right: 0,
|
||||||
|
background: "none", border: "none", color: "#fff",
|
||||||
|
fontSize: 28, cursor: "pointer", lineHeight: 1,
|
||||||
|
}}
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
|
✕
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
|
||||||
|
export default function CareersSection() {
|
||||||
|
return (
|
||||||
|
<section className="section pd-top-0 overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="57c6d91a-ff5b-0c4b-0e98-f6574583d612" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="subtitle">Investors</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
We partner with purpose-driven investors </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<div className="inner-container _566px center">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur netus quis ac varius ut nam est tellus ut porttitor ut volutpat malesuada rhoncus quis lacus augue ac urna et eget elementum at elit. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="97dc1372-f411-c523-0bef-128c83baf08b" style={{"opacity": "0", "filter": "blur(8px)"}} className="logo-strip-marquee-wrapper">
|
||||||
|
<div className="logo-strip-marquee marquee-scroll-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a4098611a628c081a_linkora-logo-quantum-webflow-template.svg" width={125} height={33} alt="Linkora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a23b74de53cc9a64f_converra-logo-quantum-webflow-template.svg" width={130} height={33} alt="Converra Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a24ff0842f7ea9e4f_nexora-logo-quantum-webflow-template.svg" width={110} height={33} alt="Nexora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876ba1593ccde3aeb482_syncell-logo-quantum-webflow-template.svg" width={119} height={33} alt="Syncell Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876c0f4d2d1856ba6b88_socium-logo-quantum-webflow-template.svg" width={125} height={33} alt="Socium Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876bee27e15bc9b9e5a8_bridgr-logo-quantum-webflow-template.svg" width={109} height={33} alt="Bridgr Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a6c28f60e0f1858b8_netspire-logo-quantum-webflow-template.svg" width={121} height={33} alt="Netspire Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
</div>
|
||||||
|
<div className="logo-strip-marquee marquee-scroll-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a4098611a628c081a_linkora-logo-quantum-webflow-template.svg" width={125} height={33} alt="Linkora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a23b74de53cc9a64f_converra-logo-quantum-webflow-template.svg" width={130} height={33} alt="Converra Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a24ff0842f7ea9e4f_nexora-logo-quantum-webflow-template.svg" width={110} height={33} alt="Nexora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876ba1593ccde3aeb482_syncell-logo-quantum-webflow-template.svg" width={119} height={33} alt="Syncell Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876c0f4d2d1856ba6b88_socium-logo-quantum-webflow-template.svg" width={125} height={33} alt="Socium Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876bee27e15bc9b9e5a8_bridgr-logo-quantum-webflow-template.svg" width={109} height={33} alt="Bridgr Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a6c28f60e0f1858b8_netspire-logo-quantum-webflow-template.svg" width={121} height={33} alt="Netspire Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
</div>
|
||||||
|
<div className="logo-strip-marquee marquee-scroll-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a4098611a628c081a_linkora-logo-quantum-webflow-template.svg" width={125} height={33} alt="Linkora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a23b74de53cc9a64f_converra-logo-quantum-webflow-template.svg" width={130} height={33} alt="Converra Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a24ff0842f7ea9e4f_nexora-logo-quantum-webflow-template.svg" width={110} height={33} alt="Nexora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876ba1593ccde3aeb482_syncell-logo-quantum-webflow-template.svg" width={119} height={33} alt="Syncell Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876c0f4d2d1856ba6b88_socium-logo-quantum-webflow-template.svg" width={125} height={33} alt="Socium Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876bee27e15bc9b9e5a8_bridgr-logo-quantum-webflow-template.svg" width={109} height={33} alt="Bridgr Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a6c28f60e0f1858b8_netspire-logo-quantum-webflow-template.svg" width={121} height={33} alt="Netspire Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
</div>
|
||||||
|
<div className="logo-strip-marquee marquee-scroll-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a4098611a628c081a_linkora-logo-quantum-webflow-template.svg" width={125} height={33} alt="Linkora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a23b74de53cc9a64f_converra-logo-quantum-webflow-template.svg" width={130} height={33} alt="Converra Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a24ff0842f7ea9e4f_nexora-logo-quantum-webflow-template.svg" width={110} height={33} alt="Nexora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876ba1593ccde3aeb482_syncell-logo-quantum-webflow-template.svg" width={119} height={33} alt="Syncell Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876c0f4d2d1856ba6b88_socium-logo-quantum-webflow-template.svg" width={125} height={33} alt="Socium Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876bee27e15bc9b9e5a8_bridgr-logo-quantum-webflow-template.svg" width={109} height={33} alt="Bridgr Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a6c28f60e0f1858b8_netspire-logo-quantum-webflow-template.svg" width={121} height={33} alt="Netspire Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
</div>
|
||||||
|
<div className="logo-strip-marquee marquee-scroll-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a4098611a628c081a_linkora-logo-quantum-webflow-template.svg" width={125} height={33} alt="Linkora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a23b74de53cc9a64f_converra-logo-quantum-webflow-template.svg" width={130} height={33} alt="Converra Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a24ff0842f7ea9e4f_nexora-logo-quantum-webflow-template.svg" width={110} height={33} alt="Nexora Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876ba1593ccde3aeb482_syncell-logo-quantum-webflow-template.svg" width={119} height={33} alt="Syncell Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876c0f4d2d1856ba6b88_socium-logo-quantum-webflow-template.svg" width={125} height={33} alt="Socium Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876bee27e15bc9b9e5a8_bridgr-logo-quantum-webflow-template.svg" width={109} height={33} alt="Bridgr Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a7876a6c28f60e0f1858b8_netspire-logo-quantum-webflow-template.svg" width={121} height={33} alt="Netspire Logo - Quantum | Webflow Template" className="logo-strip-item" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
import LottiePlayer from "@/components/LottiePlayer"
|
||||||
|
|
||||||
|
export default function HeroSection() {
|
||||||
|
return (
|
||||||
|
<section className="section top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="28893d6d-b366-6951-6d91-f80940d4e59d" style={{"opacity": "0", "filter": "blur(8px)"}} className="title-left-content-right">
|
||||||
|
<div>
|
||||||
|
<div className="subtitle">About us</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>About our AI lab</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="inner-container _355px">
|
||||||
|
<p>Lorem ipsum dolor sit amet consectetur maecenas volutpat lobortis ultrices elementum est ut etiam.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="c9aa8bb0-8524-45b8-1337-b4d2c55b6f23" style={{"opacity": "0", "filter": "blur(8px)"}} className="mg-top-regular overflow-hidden">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28b101cd56458bf646202_about-hero-animation-wave-quantum-webflow-template.json" className="about-hero-lottie" loop autoplay />
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div className="w-layout-grid about-hero-stats-wrapper">
|
||||||
|
<div data-w-id="d651207f-5e62-7ad5-26ff-8f1f18b04695">
|
||||||
|
<div className="stat-wrapper _3-digits center-mbl">
|
||||||
|
<div className="stat-text">
|
||||||
|
<span data-count="100" className="count-up-number-animation">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="stat-arrow-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 15 14" fill="none" className="stat-arrow">
|
||||||
|
<path d="M7.40431 13.0625L7.4043 2" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
<path d="M13.8141 8.40703L7.40703 2L1 8.40703" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="display-2">Active users monthly</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="105a60b4-53cb-8544-7470-f8b8a08cf541">
|
||||||
|
<div className="stat-wrapper center-mbl">
|
||||||
|
<div className="stat-text">
|
||||||
|
<span data-count="92" className="count-up-number-animation">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="stat-arrow-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 15 14" fill="none" className="stat-arrow">
|
||||||
|
<path d="M7.40431 13.0625L7.4043 2" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
<path d="M13.8141 8.40703L7.40703 2L1 8.40703" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="display-2">Average model accuracy</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="f23f0a63-0eea-7057-9e20-4a5e2141195a">
|
||||||
|
<div className="stat-wrapper center-mbl">
|
||||||
|
<div className="stat-text">
|
||||||
|
<span data-count="89" className="count-up-number-animation">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="stat-arrow-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 15 14" fill="none" className="stat-arrow">
|
||||||
|
<path d="M7.40431 13.0625L7.4043 2" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
<path d="M13.8141 8.40703L7.40703 2L1 8.40703" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="display-2">Productivity increase</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="b7c967bb-e96e-8b72-b3b0-4b73512ef3ec">
|
||||||
|
<div className="stat-wrapper center-mbl">
|
||||||
|
<div className="stat-text">
|
||||||
|
<span data-count="80" className="count-up-number-animation">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="stat-arrow-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 15 14" fill="none" className="stat-arrow">
|
||||||
|
<path d="M7.40431 13.0625L7.4043 2" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
<path d="M13.8141 8.40703L7.40703 2L1 8.40703" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="display-2">Team members behind</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function MissionSection() {
|
||||||
|
return (
|
||||||
|
<section className="section-small bg-neutral overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _1068px center">
|
||||||
|
<div className="position-relative---z-index-1">
|
||||||
|
<div data-w-id="384ef9a0-4895-c961-61d5-c03fea5bc587" style={{"opacity": "0", "filter": "blur(8px)"}} className="title-left-content-right">
|
||||||
|
<div className="inner-container _460px">
|
||||||
|
<div className="subtitle">
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
The values behind our platform </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Link href="#more-positions" className="tertiary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
More positions</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="ff387e65-d5fd-6c3f-9251-5bd1999b387a" style={{"opacity": "0", "filter": "blur(8px)"}} className="container-large">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="w-layout-grid values-grid">
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598eeb838c974f3def70a_accuracy-icon-quantum-webflow-template-1.svg" width={64} height={64} alt="Accuracy Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Transparency</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598f0e3caa08df665212f_trust-icon-quantum-webflow-template.svg" width={64} height={64} alt="Trust Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598f1f8443cbbcf767239_intellect-icon-quantum-webflow-template.svg" width={64} height={64} alt="Intellect Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Innovation</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598f00141b9ac31a01989_velocity-icon-quantum-webflow-template.svg" width={64} height={64} alt="Velocity Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598eefda8dc1927236eb3_clarity-icon-quantum-webflow-template.svg" width={64} height={64} alt="Clarify Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Safety</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598f04600b3080cab823c_scalability-icon-quantum-webflow-template.svg" width={64} height={64} alt="Scalability Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Reliability</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598ed8d91f474a2d4ecdc_excellence-icon-quantum-webflow-template.svg" width={64} height={64} alt="Excellence Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Excellence</div>
|
||||||
|
</div>
|
||||||
|
<div className="value-item">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a598ed19f8b3ed79933a38_communication-icon-quantum-webflow-template.svg" width={64} height={64} alt="Communication Icon - Quantum | Webflow Template" data-wf--icon-square--variant="small" className="icon-square w-variant-9e5d53ad-bad6-e5fc-88e0-62e38939214f" />
|
||||||
|
<div className="display-4 medium text-titles">Communication</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,286 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function TeamSection() {
|
||||||
|
return (
|
||||||
|
<section className="section overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="a61686b5-826c-1f8d-dc8d-43cbbec7dcb0" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="subtitle">Team members</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
Meet our team</h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor pharetra. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="b285eee5-c66b-a051-c7d9-48089305f267" style={{"opacity": "0", "filter": "blur(8px)"}} className="team-members-container">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="collection-list-wrapper w-dyn-list">
|
||||||
|
<div role="list" className="team-members-grid w-dyn-items">
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="w-layout-grid team-member-item">
|
||||||
|
<Link href="/team-members/john-carter-wy738" className="avatar-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5ff7b59be67bb3ac207_john-carter-avatar-quantum-webflow-template.jpg" alt="John Carter" sizes="(max-width: 767px) 100vw, (max-width: 991px) 727.4140625px, 939.9375px" className="avatar-image fit-cover" fill style={{ objectFit: "cover" }} />
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-item-content">
|
||||||
|
<div className="team-member-heading">
|
||||||
|
<Link href="/team-members/john-carter-wy738" className="heading-link w-inline-block">
|
||||||
|
<h3 className="display-5">John Carter</h3>
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-job-title">
|
||||||
|
<div className="subtitle">CEO & Founder</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="team-member-buttons-wrapper">
|
||||||
|
<div>
|
||||||
|
<a href="https://x.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 19 18" fill="none" className="social-media-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a href="https://linkedin.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="social-media-icon">
|
||||||
|
<path d="M1 2.99134C1 2.41413 1.20271 1.93794 1.60811 1.56277C2.01351 1.18758 2.54055 1 3.18919 1C3.82626 1 4.34169 1.18469 4.73552 1.55411C5.14092 1.93506 5.34363 2.43145 5.34363 3.04329C5.34363 3.5974 5.14672 4.05915 4.7529 4.42857C4.3475 4.80952 3.81467 5 3.15444 5H3.13707C2.49999 5 1.98456 4.80952 1.59073 4.42857C1.19691 4.04762 1 3.56854 1 2.99134ZM1.22587 18.1429V6.57576H5.08301V18.1429H1.22587ZM7.22008 18.1429H11.0772V11.684C11.0772 11.2799 11.1236 10.9682 11.2162 10.7489C11.3784 10.3564 11.6245 10.0245 11.9546 9.75324C12.2847 9.48195 12.6988 9.34632 13.1969 9.34632C14.4942 9.34632 15.1429 10.2179 15.1429 11.961V18.1429H19V11.5108C19 9.8023 18.5946 8.50649 17.7838 7.62337C16.973 6.74026 15.9015 6.2987 14.5695 6.2987C13.0753 6.2987 11.9112 6.93939 11.0772 8.22078V8.25541H11.0598L11.0772 8.22078V6.57576H7.22008C7.24324 6.94516 7.25483 8.09378 7.25483 10.0216C7.25483 11.9495 7.24324 14.6565 7.22008 18.1429Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="w-layout-grid team-member-item">
|
||||||
|
<Link href="/team-members/sophie-moore" className="avatar-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5d29b2f76acd088f052_sophie-moore-avatar-quantum-webflow-template.jpg" alt="Sophie Moore" className="avatar-image fit-cover" fill style={{ objectFit: "cover" }} />
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-item-content">
|
||||||
|
<div className="team-member-heading">
|
||||||
|
<Link href="/team-members/sophie-moore" className="heading-link w-inline-block">
|
||||||
|
<h3 className="display-5">Sophie Moore</h3>
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-job-title">
|
||||||
|
<div className="subtitle">
|
||||||
|
Director of Operations</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="team-member-buttons-wrapper">
|
||||||
|
<div>
|
||||||
|
<a href="https://x.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 19 18" fill="none" className="social-media-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a href="https://linkedin.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="social-media-icon">
|
||||||
|
<path d="M1 2.99134C1 2.41413 1.20271 1.93794 1.60811 1.56277C2.01351 1.18758 2.54055 1 3.18919 1C3.82626 1 4.34169 1.18469 4.73552 1.55411C5.14092 1.93506 5.34363 2.43145 5.34363 3.04329C5.34363 3.5974 5.14672 4.05915 4.7529 4.42857C4.3475 4.80952 3.81467 5 3.15444 5H3.13707C2.49999 5 1.98456 4.80952 1.59073 4.42857C1.19691 4.04762 1 3.56854 1 2.99134ZM1.22587 18.1429V6.57576H5.08301V18.1429H1.22587ZM7.22008 18.1429H11.0772V11.684C11.0772 11.2799 11.1236 10.9682 11.2162 10.7489C11.3784 10.3564 11.6245 10.0245 11.9546 9.75324C12.2847 9.48195 12.6988 9.34632 13.1969 9.34632C14.4942 9.34632 15.1429 10.2179 15.1429 11.961V18.1429H19V11.5108C19 9.8023 18.5946 8.50649 17.7838 7.62337C16.973 6.74026 15.9015 6.2987 14.5695 6.2987C13.0753 6.2987 11.9112 6.93939 11.0772 8.22078V8.25541H11.0598L11.0772 8.22078V6.57576H7.22008C7.24324 6.94516 7.25483 8.09378 7.25483 10.0216C7.25483 11.9495 7.24324 14.6565 7.22008 18.1429Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="w-layout-grid team-member-item">
|
||||||
|
<Link href="/team-members/lilly-woods" className="avatar-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5b658f5ca9f60fd5e16_lilly-woods-avatar-quantum-webflow-template.jpg" alt="Lilly Woods" className="avatar-image fit-cover" fill style={{ objectFit: "cover" }} />
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-item-content">
|
||||||
|
<div className="team-member-heading">
|
||||||
|
<Link href="/team-members/lilly-woods" className="heading-link w-inline-block">
|
||||||
|
<h3 className="display-5">Lilly Woods</h3>
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-job-title">
|
||||||
|
<div className="subtitle">Lead UX Designer</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="team-member-buttons-wrapper">
|
||||||
|
<div>
|
||||||
|
<a href="https://x.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 19 18" fill="none" className="social-media-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a href="https://linkedin.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="social-media-icon">
|
||||||
|
<path d="M1 2.99134C1 2.41413 1.20271 1.93794 1.60811 1.56277C2.01351 1.18758 2.54055 1 3.18919 1C3.82626 1 4.34169 1.18469 4.73552 1.55411C5.14092 1.93506 5.34363 2.43145 5.34363 3.04329C5.34363 3.5974 5.14672 4.05915 4.7529 4.42857C4.3475 4.80952 3.81467 5 3.15444 5H3.13707C2.49999 5 1.98456 4.80952 1.59073 4.42857C1.19691 4.04762 1 3.56854 1 2.99134ZM1.22587 18.1429V6.57576H5.08301V18.1429H1.22587ZM7.22008 18.1429H11.0772V11.684C11.0772 11.2799 11.1236 10.9682 11.2162 10.7489C11.3784 10.3564 11.6245 10.0245 11.9546 9.75324C12.2847 9.48195 12.6988 9.34632 13.1969 9.34632C14.4942 9.34632 15.1429 10.2179 15.1429 11.961V18.1429H19V11.5108C19 9.8023 18.5946 8.50649 17.7838 7.62337C16.973 6.74026 15.9015 6.2987 14.5695 6.2987C13.0753 6.2987 11.9112 6.93939 11.0772 8.22078V8.25541H11.0598L11.0772 8.22078V6.57576H7.22008C7.24324 6.94516 7.25483 8.09378 7.25483 10.0216C7.25483 11.9495 7.24324 14.6565 7.22008 18.1429Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="w-layout-grid team-member-item">
|
||||||
|
<Link href="/team-members/matt-cannon" className="avatar-link w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5268e58fa10010ce586_matt-cannon-avatar-quantum-webflow-template.jpg" alt="Matt Cannon" sizes="(max-width: 767px) 100vw, (max-width: 991px) 727.4140625px, 939.9375px" className="avatar-image fit-cover" fill style={{ objectFit: "cover" }} />
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-item-content">
|
||||||
|
<div className="team-member-heading">
|
||||||
|
<Link href="/team-members/matt-cannon" className="heading-link w-inline-block">
|
||||||
|
<h3 className="display-5">Matt Cannon</h3>
|
||||||
|
</Link>
|
||||||
|
<div className="team-member-job-title">
|
||||||
|
<div className="subtitle">
|
||||||
|
VP of engineering</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="team-member-buttons-wrapper">
|
||||||
|
<div>
|
||||||
|
<a href="https://x.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 19 18" fill="none" className="social-media-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M7.04543 9.42969L0.0390625 0.25H5.98663L10.1792 5.74312L14.8487 0.25H17.7333L11.5439 7.53115L18.9618 17.25H13.0143L8.41014 11.2177L3.28238 17.25H0.397729L7.04543 9.42969ZM13.8802 15.4998L3.57671 2.00024H5.12071L15.4242 15.4998H13.8802Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a href="https://linkedin.com" className="social-square-icon-link w-variant-09232bd2-04da-efea-f377-662291aed853 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<div className="social-square-icon">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none" className="social-media-icon">
|
||||||
|
<path d="M1 2.99134C1 2.41413 1.20271 1.93794 1.60811 1.56277C2.01351 1.18758 2.54055 1 3.18919 1C3.82626 1 4.34169 1.18469 4.73552 1.55411C5.14092 1.93506 5.34363 2.43145 5.34363 3.04329C5.34363 3.5974 5.14672 4.05915 4.7529 4.42857C4.3475 4.80952 3.81467 5 3.15444 5H3.13707C2.49999 5 1.98456 4.80952 1.59073 4.42857C1.19691 4.04762 1 3.56854 1 2.99134ZM1.22587 18.1429V6.57576H5.08301V18.1429H1.22587ZM7.22008 18.1429H11.0772V11.684C11.0772 11.2799 11.1236 10.9682 11.2162 10.7489C11.3784 10.3564 11.6245 10.0245 11.9546 9.75324C12.2847 9.48195 12.6988 9.34632 13.1969 9.34632C14.4942 9.34632 15.1429 10.2179 15.1429 11.961V18.1429H19V11.5108C19 9.8023 18.5946 8.50649 17.7838 7.62337C16.973 6.74026 15.9015 6.2987 14.5695 6.2987C13.0753 6.2987 11.9112 6.93939 11.0772 8.22078V8.25541H11.0598L11.0772 8.22078V6.57576H7.22008C7.24324 6.94516 7.25483 8.09378 7.25483 10.0216C7.25483 11.9495 7.24324 14.6565 7.22008 18.1429Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="social-square-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="4195d06f-0501-ccc7-1fa5-38438a921812" style={{"opacity": "0", "filter": "blur(8px)"}} className="buttons-row">
|
||||||
|
<Link id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" href="/careers" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
Join our team</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,206 @@
|
|||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function ValuesSection() {
|
||||||
|
return (
|
||||||
|
<section id="more-positions" className="section pd-top-0 overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="inner-container _1068px center">
|
||||||
|
<div data-w-id="5c1fa9c3-1e74-faeb-fdc1-94202ec40445" style={{"opacity": "0", "filter": "blur(8px)"}} className="title-left-content-right">
|
||||||
|
<div className="inner-container _460px">
|
||||||
|
<h2>More positions</h2>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Link href="/careers" className="tertiary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
See all positions</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="21838807-4067-5a92-54da-582050a56a5c" style={{"opacity": "0", "filter": "blur(8px)"}} className="container-large">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="box-wrapper">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="box-grid">
|
||||||
|
<div className="box-heading-wrapper">
|
||||||
|
<h3 className="display-4">Research</h3>
|
||||||
|
</div>
|
||||||
|
<div className="w-dyn-list">
|
||||||
|
<div role="list" className="careers-grid w-dyn-items">
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<Link href="/careers/ai-research-scientist" className="career-item w-inline-block">
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">AI Research Scientist</h3>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="career-item-details">
|
||||||
|
<div className="item-details">New York, NY</div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">Full time</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="career-item-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<Link href="/careers/machine-learning-engineer" className="career-item w-inline-block">
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Machine Learning Engineer</h3>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="career-item-details">
|
||||||
|
<div className="item-details">Los Angeles, CA</div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">Full time</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="career-item-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="box-divider">
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="box-grid">
|
||||||
|
<div className="box-heading-wrapper">
|
||||||
|
<h3 className="display-4">Engineering</h3>
|
||||||
|
</div>
|
||||||
|
<div className="w-dyn-list">
|
||||||
|
<div role="list" className="careers-grid w-dyn-items">
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<Link href="/careers/ai-infrastructure-engineer" className="career-item w-inline-block">
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">AI Infrastructure Engineer</h3>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="career-item-details">
|
||||||
|
<div className="item-details">
|
||||||
|
</div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">Full time</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="career-item-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<Link href="/careers/mlops-engineer" className="career-item w-inline-block">
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">
|
||||||
|
Engineer </h3>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="career-item-details">
|
||||||
|
<div className="item-details">
|
||||||
|
</div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">Full time</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="career-item-bg">
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
export { default as CareersSection } from "./CareersSection"
|
||||||
|
export { default as HeroSection } from "./HeroSection"
|
||||||
|
export { default as MissionSection } from "./MissionSection"
|
||||||
|
export { default as SocialLinksSection } from "./SocialLinksSection"
|
||||||
|
export { default as TeamSection } from "./TeamSection"
|
||||||
|
export { default as ValuesSection } from "./ValuesSection"
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
import NewsletterForm from "@/components/NewsletterForm"
|
||||||
|
|
||||||
|
export default function CtaSection() {
|
||||||
|
return (
|
||||||
|
<section className="cta-section v4">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="43e48b1f-85e7-b846-9296-3a85fcb30cd3" className="cta-v4-content-wrapper">
|
||||||
|
<div className="cta-v4-content-top">
|
||||||
|
<div className="subtitle dark-mode">Newsletter</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2 className="text-titles-dm">
|
||||||
|
Subscribe for cutting-edge AI updates </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p className="text-paragraph-dm">
|
||||||
|
ipsum dolor sit amet consectetur at amet felis nulla molestie non viverra diam sed augue gravida ante risus pulvinar diam turpis ut bibendum ut velit felis at nisl lectus. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<div className="cta-v4-content-bottom">
|
||||||
|
<div className="cta-v4-form-wrapper">
|
||||||
|
<NewsletterForm variant="dark" />
|
||||||
|
<div className="corner-gradient-wrapper hidden-on-tablet">
|
||||||
|
<div className="corner-gradient-vertical small---dark-mode top-left">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="check-item-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 16" fill="none" className="squared-icon text-titles-dm">
|
||||||
|
<path d="M3.62891 8.00429L6.87307 11.2485L13.3711 4.75" stroke="currentColor" strokeWidth="1.5">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="text-color-neutral-500">
|
||||||
|
One email per month — No spam! </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-wrapper hidden-on-tablet">
|
||||||
|
<div className="corner-gradient-horizontal small---dark-mode bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal small---dark-mode bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal small---dark-mode top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal small---dark-mode top-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
import { BLOG_POSTS } from "@/lib/blog-data"
|
||||||
|
import BlogCard from "@/components/BlogCard"
|
||||||
|
|
||||||
|
export default function HeroSection() {
|
||||||
|
const featured = BLOG_POSTS.slice(0, 2)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<section className="section top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="1d4184ff-9d8d-d0a9-7964-1fe6bc1712ef" style={{ opacity: "0", filter: "blur(8px)" }} className="title-left-content-right">
|
||||||
|
<div className="inner-container _480px">
|
||||||
|
<div className="subtitle">Blog</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>Latest news</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>Lorem ipsum dolor sit amet consectetur nec quis suspendisse nulla.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<form action="/search" className="form-block _365px position-relative---z-index-1 w-form">
|
||||||
|
<label htmlFor="search" className="hidden">Search</label>
|
||||||
|
<input className="input w-input" maxLength={256} name="query" placeholder="Search for articles…" type="search" id="search" required />
|
||||||
|
<div className="button-inside-input-wrapper left-mbp">
|
||||||
|
<input type="submit" className="form-button inside-input light-mode w-button" value="Search" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="1d4184ff-9d8d-d0a9-7964-1fe6bc1712fd" style={{ opacity: "0", filter: "blur(8px)" }} className="w-dyn-list">
|
||||||
|
<div role="list" className="w-dyn-items">
|
||||||
|
{featured.map((post) => (
|
||||||
|
<BlogCard key={post.slug} post={post} variant="featured" />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useState } from "react"
|
||||||
|
import { BLOG_POSTS, BLOG_CATEGORIES } from "@/lib/blog-data"
|
||||||
|
import BlogCard from "@/components/BlogCard"
|
||||||
|
|
||||||
|
export default function PostsGridSection() {
|
||||||
|
const [activeCategory, setActiveCategory] = useState("All")
|
||||||
|
|
||||||
|
const filtered = activeCategory === "All"
|
||||||
|
? BLOG_POSTS
|
||||||
|
: BLOG_POSTS.filter((p) => p.category === activeCategory)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<section className="section">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="41a231e8-d013-bd0a-0639-c179719a51f6" style={{ opacity: "0", filter: "blur(8px)" }} className="title-left-content-right align-center">
|
||||||
|
<h2>All articles</h2>
|
||||||
|
<div className="category-list-wrapper">
|
||||||
|
<div role="list" className="category-list">
|
||||||
|
{BLOG_CATEGORIES.map((cat) => (
|
||||||
|
<button
|
||||||
|
key={cat}
|
||||||
|
className={`category-link${activeCategory === cat ? " w--current" : ""}`}
|
||||||
|
onClick={() => setActiveCategory(cat)}
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
{cat}
|
||||||
|
</button>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="e99a5296-8389-ce52-d99c-66f9d94e1815" style={{ opacity: "0", filter: "blur(8px)" }} className="w-dyn-list">
|
||||||
|
<div role="list" className="blog-v1-grid w-dyn-items">
|
||||||
|
{filtered.map((post) => (
|
||||||
|
<BlogCard key={post.slug} post={post} variant="grid" />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export { default as CtaSection } from "./CtaSection"
|
||||||
|
export { default as HeroSection } from "./HeroSection"
|
||||||
|
export { default as PostsGridSection } from "./PostsGridSection"
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import { useState } from "react"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
const FAQS = [
|
||||||
|
{ q: "How do I get started with our service?", a: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat." },
|
||||||
|
{ q: "Can AI solutions help my business?", a: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat." },
|
||||||
|
{ q: "How is ethical AI development ensured?", a: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat." },
|
||||||
|
{ q: "What role does QuantumLab Computing play in AI research?", a: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat." },
|
||||||
|
]
|
||||||
|
|
||||||
|
export default function CardsSection() {
|
||||||
|
const [openIndex, setOpenIndex] = useState<number | null>(null)
|
||||||
|
return (
|
||||||
|
<section className="section-small">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="w-layout-grid faqs-v1-wrapper">
|
||||||
|
<div className="sticky-top static-mbl">
|
||||||
|
<div data-w-id="e69dfbb3-1a44-4cc6-11e0-94df71efbf76" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _260px _100-mbl">
|
||||||
|
<div className="subtitle">
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>Have questions?</h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla. </p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-2x-extra-small">
|
||||||
|
<div className="buttons-row left">
|
||||||
|
<a id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" data-wf--primary-button--variant="base" data-w-id="99805214-dd54-e7f3-2549-05c0df1040fb" href="mailto:support@quantum.com" className="primary-button w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
Get support</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="w-layout-grid faqs-v1-grid">
|
||||||
|
{FAQS.map((faq, i) => (
|
||||||
|
<div key={i} className="card-accordion-v1-wrapper sibling-blur-item" onClick={() => setOpenIndex(openIndex === i ? null : i)} style={{ cursor: "pointer" }}>
|
||||||
|
<div className="card accordion-card-v1">
|
||||||
|
<div className="accordion-number">
|
||||||
|
<div>{String(i + 1).padStart(2, "0")}</div>
|
||||||
|
</div>
|
||||||
|
<div className="accordion-content">
|
||||||
|
<h3 className="accordion-title">{faq.q}</h3>
|
||||||
|
<div className="accordion-body" style={{ maxHeight: openIndex === i ? "200px" : "0px", overflow: "hidden", transition: "max-height 0.3s ease" }}>
|
||||||
|
<p className="mg-top-4x-extra-small">{faq.a}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="accordion-arrow" style={{ transform: openIndex === i ? "rotate(180deg)" : "rotate(0deg)", transition: "transform 0.3s ease" }}>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 20 20" fill="none">
|
||||||
|
<path d="M15.5 7.03847L10 12.9615L4.5 7.03847" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
import LottiePlayer from "@/components/LottiePlayer"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function FormSection() {
|
||||||
|
return (
|
||||||
|
<section className="section-small bg-neutral">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="37f8537e-c33a-f3ad-764c-d5c8b3ff1b64" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _650px center">
|
||||||
|
<div className="text-center">
|
||||||
|
<div className="subtitle">Contact us</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
Reach us directly</h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur ut consequat luctus a ornare auctor mauris necolmer doloe. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="37f8537e-c33a-f3ad-764c-d5c8b3ff1b6a" style={{"opacity": "0", "filter": "blur(8px)"}} className="w-layout-grid contact-cards-grid-v1">
|
||||||
|
<a data-w-id="c3b7cbc7-6bb0-417d-8af2-d16c83e09934" href="mailto:support@quantumlab.com" className="card contact-card-v1 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="contact-card-v1-content">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff8a28b3e0d6614fe9b_help-support-animation-row-wave.json" className="contact-card-v1-image" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Help & support</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p className="text-paragraph">
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="contact-card-v1-link-wrapper">
|
||||||
|
<div style={{"color": "rgb(22,22,22)"}} className="contact-link-text">support@quantumlab.com</div>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="contact-card-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a data-w-id="9fa843fd-acac-5e66-0694-1c416deeff73" href="mailto:media@quantumlab.com" className="card contact-card-v1 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="contact-card-v1-content">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff844db76df2f0ca451_press-media-animation-row-wave.json" className="contact-card-v1-image" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Press & media</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p className="text-paragraph">
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="contact-card-v1-link-wrapper">
|
||||||
|
<div style={{"color": "rgb(22,22,22)"}} className="contact-link-text">media@quantumlab.com</div>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="contact-card-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a data-w-id="4355aa2b-5646-3ff5-91b3-2f90df58ae42" href="mailto:sales@quantumlab.com" className="card contact-card-v1 w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="contact-card-v1-content">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff8806a1552f46e35ac_sales-inquiries-animation-visual-row.json" className="contact-card-v1-image" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Sales & inquiries</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p className="text-paragraph">
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="contact-card-v1-link-wrapper">
|
||||||
|
<div style={{"color": "rgb(22,22,22)"}} className="contact-link-text">sales@quantumlab.com</div>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="contact-card-link-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
import Link from "next/link"
|
||||||
|
import ContactForm from "@/components/ContactForm"
|
||||||
|
|
||||||
|
export default function HeroSection() {
|
||||||
|
return (
|
||||||
|
<section className="section-small top overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="w-layout-grid contact-grid">
|
||||||
|
<div data-w-id="f1d777b6-f289-d52f-017b-af3a4a212cde" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _430px _100-tablet">
|
||||||
|
<div className="subtitle">Get in touch</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h1>
|
||||||
|
Contact us</h1>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur laculis nunc risus sed eu eget quam sodales adipiscing purus erat quisque arcu adipiscing. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="w-node-_77c06870-1d0c-5ed5-aea2-38d8dab4dc54-60eb3ba7" className="position-relative---z-index-2">
|
||||||
|
<div data-w-id="29536b1c-822f-a212-7a3f-cf3cd12237b3" style={{"opacity": "0", "filter": "blur(8px)"}} className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<ContactForm />
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="w-node-a2c7d873-a197-1a9e-135d-10f912dd9a40-60eb3ba7" data-w-id="a2c7d873-a197-1a9e-135d-10f912dd9a40" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _430px _100-tablet">
|
||||||
|
<div className="w-layout-grid contact-links-grid">
|
||||||
|
<div className="corner-gradient-container">
|
||||||
|
<a data-w-id="15c69e95-b060-7429-fd6f-a7d6b84c5b9f" href="mailto:info@quantumlab.com" className="contact-v1-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="contact-icon-wrapper">
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="contact-icon-bg">
|
||||||
|
</div>
|
||||||
|
<svg style={{"color": "rgb(22,22,22)"}} xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" className="contact-icon">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M0 2H24V4.31556L12.0001 10.861L0 4.31546V2ZM0 6.59364V22H24V6.59373L12.0001 13.1391L0 6.59364Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="contact-v1-link-content">
|
||||||
|
<div>Email address</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<div className="display-2 medium text-titles">info@quantumlab.com</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="bottom-right-button-wrapper">
|
||||||
|
<div className="icon-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-container row">
|
||||||
|
<a data-w-id="4e3cabf1-a0a7-6659-c002-9e212a09258e" href="tel:(123)456-7890" className="contact-v1-link w-inline-block" target="_blank" rel="noopener noreferrer">
|
||||||
|
<div className="contact-icon-wrapper">
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="contact-icon-bg">
|
||||||
|
</div>
|
||||||
|
<svg style={{"color": "rgb(22,22,22)"}} xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 32 33" fill="none" className="contact-icon">
|
||||||
|
<g clipPath="url(#clip0_16077_4034)">
|
||||||
|
<path fillRule="evenodd" clipRule="evenodd" d="M17.4208 23.0719L19.6275 19.3745L20.2074 18.403L21.2951 18.7137L30.7718 21.4215L31.9775 21.7659L31.8283 23.011L30.907 30.7015L30.7429 32.0718L29.3648 31.9954C24.7899 31.7419 20.2596 30.4521 16.1565 28.1239C13.8427 26.8111 11.6667 25.1692 9.69696 23.1995C7.72725 21.2298 6.08529 19.0538 4.77246 16.74C2.44438 12.6369 1.15446 8.1065 0.901036 3.53162L0.824707 2.1536L2.19504 1.98942L9.8854 1.06812L11.1305 0.918945L11.4751 2.12475L14.1827 11.6014L14.4934 12.6892L13.522 13.269L9.82445 15.4758C10.8063 16.9482 11.9474 18.3468 13.2482 19.6476C14.5492 20.9486 15.9481 22.0899 17.4208 23.0719Z" fill="currentColor">
|
||||||
|
</path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div className="contact-v1-link-content">
|
||||||
|
<div>Phone number</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<div className="display-2 medium text-titles">(123) 456-7890</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="bottom-right-button-wrapper">
|
||||||
|
<div className="icon-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="small" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal w-variant-8f36765c-221f-a254-35b4-28a5852d67d7 bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export { default as CardsSection } from "./CardsSection"
|
||||||
|
export { default as FormSection } from "./FormSection"
|
||||||
|
export { default as HeroSection } from "./HeroSection"
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function BlogPreviewSection() {
|
||||||
|
return (
|
||||||
|
<section className="section overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="b227046f-7b8d-96be-04ed-4ad8f3500f81" style={{"opacity": "0", "filter": "blur(8px)"}} className="title-left-content-right">
|
||||||
|
<div className="inner-container _480px">
|
||||||
|
<div className="subtitle">
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
Our latest news & articles </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Link id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" href="/blog" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
See all articles</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="f1b0018b-51d6-aaa6-2d43-c2ee184868a3" style={{"opacity": "0", "filter": "blur(8px)"}} className="w-dyn-list">
|
||||||
|
<div role="list" className="w-dyn-items">
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="blog-featured-v1-wrapper">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<Link href="/blog-posts/ai-powered-predictive-models-and-their-impact-across-industries" className="blog-card-v1 w-inline-block">
|
||||||
|
<div className="blog-v1-image-wrapper">
|
||||||
|
<Image alt="AI-powAI-powered predictive models and their impact across industries" src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e7e2a643b738b2cb06fc_ai-powered-predictive-models-and-their-impact-thumbnail-quantum-webflow-template.png" sizes="(max-width: 767px) 100vw, (max-width: 991px) 95vw, 939.96533203125px" className="image" fill style={{ objectFit: "cover" }} />
|
||||||
|
</div>
|
||||||
|
<div className="blog-v1-content">
|
||||||
|
<div className="inner-container _420px">
|
||||||
|
<h3 className="display-6">AI-powered predictive models and their impact across industries </h3>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p className="text-paragraph">
|
||||||
|
ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque. </p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="blog-details-wrapper">
|
||||||
|
<div className="item-details">
|
||||||
|
, 2025 </div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="bottom-right-button-wrapper">
|
||||||
|
<div className="icon-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="icon-button-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="base" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div role="listitem" className="flex-item w-dyn-item">
|
||||||
|
<div className="blog-featured-v1-wrapper">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<Link href="/blog-posts/how-ai-is-shaping-the-future-of-healthcare-and-medicine" className="blog-card-v1 w-inline-block">
|
||||||
|
<div className="blog-v1-image-wrapper">
|
||||||
|
<Image alt="How AI How AI is shaping the future of healthcare and medicine" src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e7c24025d4081cbfa426_how-ai-is-shaping-the-future-thumbnail-quantum-webflow-template.png" sizes="(max-width: 767px) 100vw, (max-width: 991px) 95vw, 939.96533203125px" className="image" fill style={{ objectFit: "cover" }} />
|
||||||
|
</div>
|
||||||
|
<div className="blog-v1-content">
|
||||||
|
<div className="inner-container _420px">
|
||||||
|
<h3 className="display-6">How AI is shaping the future of healthcare and medicine </h3>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p className="text-paragraph">
|
||||||
|
ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque. </p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<div className="blog-details-wrapper">
|
||||||
|
<div className="item-details">
|
||||||
|
, 2025 </div>
|
||||||
|
<div className="item-details-divider">
|
||||||
|
</div>
|
||||||
|
<div className="item-details">
|
||||||
|
Applications</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="bottom-right-button-wrapper">
|
||||||
|
<div className="icon-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="icon-button-bg">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="base" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
import LottiePlayer from "@/components/LottiePlayer"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function CtaSection() {
|
||||||
|
return (
|
||||||
|
<section className="cta-section v1">
|
||||||
|
<div className="w-layout-blockcontainer container-default position-relative---z-index-1 w-container">
|
||||||
|
<div className="inner-container _430px">
|
||||||
|
<div className="subtitle">Get in touch</div>
|
||||||
|
<div className="mg-top-3x-extra-small">
|
||||||
|
<h2 className="text-titles-dm">
|
||||||
|
Join our team that is shaping the next era of intelligence </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p className="text-paragraph-dm">
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor pharetra mauris a maecenas habitant est mattis. </p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-2x-extra-small">
|
||||||
|
<div className="buttons-row left">
|
||||||
|
<Link id="w-node-_83c75c2f-9f22-4125-8dc1-2c204e7d3592-4e7d3592" href="/careers" className="secondary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
Join our team</div>
|
||||||
|
<div className="button-icon-wrapper secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg bg-neutral-800">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside bg-neutral-600">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d1df78b3b45295434b5c6a_cta-animation-waterfall.json" className="cta-image" loop autoplay />
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
import LottiePlayer from "@/components/LottiePlayer"
|
||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
import VideoLightbox from "@/components/VideoLightbox"
|
||||||
|
|
||||||
|
export default function HeroSection() {
|
||||||
|
return (
|
||||||
|
<section className="section hero-v1">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div className="w-layout-grid hero-v1-grid">
|
||||||
|
<div className="position-relative---z-index-1">
|
||||||
|
<div className="position-relative---z-index-1">
|
||||||
|
<div data-w-id="7939bd8a-3226-7306-66d9-84e6bb7ffc0a" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _480px _100-tablet">
|
||||||
|
<h1>
|
||||||
|
The future beyond human intelligence </h1>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur convallis ut et in id enim tempus quis amet consequat ut rhoncus morbi ullamcorper faucibus in natoque. </p>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-2x-extra-small">
|
||||||
|
<div className="buttons-row left">
|
||||||
|
<Link id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" href="#about-us" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
About our company</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-w-id="f313e881-ebc1-d314-e333-4417f945cb80" style={{"opacity": "0", "filter": "blur(8px)"}} className="hero-v1-bg-wrapper">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 381 382" fill="none">
|
||||||
|
<rect x="0.509766" y="305" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="0.509766" y="229" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="0.509766" y="153" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="0.509766" y="77" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="0.509766" y="1" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="76.5098" y="305" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="76.5098" y="229" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="76.5098" y="153" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="76.5098" y="77" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="76.5098" y="1" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="152.51" y="305" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="152.51" y="229" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="152.51" y="153" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="152.51" y="77" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="152.51" y="1" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="228.51" y="305" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="228.51" y="229" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="228.51" y="153" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="228.51" y="77" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="228.51" y="1" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="304.51" y="305" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="304.51" y="229" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="304.51" y="153" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="304.51" y="77" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
<rect x="304.51" y="1" width={76} height={76} stroke="currentColor">
|
||||||
|
</rect>
|
||||||
|
</svg>
|
||||||
|
<div className="hero-v1-bg-gradient">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d1a7d9c54a9b73191bb531_hero-v1-animation-quantum-webflow-template.json" className="hero-v1-lottie" loop autoplay />
|
||||||
|
</div>
|
||||||
|
<div id="about-us" data-w-id="bce231a0-6e79-c8d3-8883-56d99499b3ad" style={{"opacity": "0", "filter": "blur(8px)"}} className="about-section-wrapper">
|
||||||
|
<div className="about-section-top-content">
|
||||||
|
<div className="subtitle">
|
||||||
|
us </div>
|
||||||
|
<div className="mg-top-small">
|
||||||
|
<p className="about-text">
|
||||||
|
ucing QuantumLab: Pioneering the Future of AI Research. Engineered to push the limits of artificial intelligence, Quantum identifies emerging trends before they disrupt the industry. Choose Research Mode for in-depth, data-driven analysis or Development Mode for groundbreaking algorithm testing. Built with advanced AI systems and state-of-the-art computational power for unparalleled performance. <br />
|
||||||
|
d by top-tier experts and fueled by global collaboration, Quantum is not just a lab—it's the core of tomorrow's innovations, shaping the future one breakthrough at a time. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="about-section-bottom-content">
|
||||||
|
<VideoLightbox
|
||||||
|
thumbnailSrc="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a612636043d8e5dcb04ad0_about-us-video-thumbnail-quantum-webflow-template.jpg"
|
||||||
|
videoUrl="https://www.youtube.com/watch?v=Ojiv9Smi4XE"
|
||||||
|
className="lightbox-link w-inline-block w-lightbox"
|
||||||
|
>
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68a612636043d8e5dcb04ad0_about-us-video-thumbnail-quantum-webflow-template.jpg" width={660} height={372} alt="About Us Thumbnail" className="lightbox-thumbnail" />
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 49 49" fill="none" className="play-button">
|
||||||
|
<path d="M33.2598 24.4998L20.5863 31.8168L20.5863 17.1827L33.2598 24.4998Z" fill="currentColor" />
|
||||||
|
</svg>
|
||||||
|
</VideoLightbox>
|
||||||
|
<div className="position-relative---z-index-1">
|
||||||
|
<div className="hidden-on-mobile-portrait">
|
||||||
|
<div className="display-3 medium text-titles">
|
||||||
|
Watch video</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="about-section-bg">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 507 659" fill="none">
|
||||||
|
<path d="M0 535L135.811 535" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M135.811 0L135.811 535" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M506.811 535L355.811 535" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M0 658L135.811 658" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M506.811 658L355.811 658" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M136 535L356 535" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
<path d="M136 658L356 658" stroke="currentColor">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="about-section-gradient top">
|
||||||
|
</div>
|
||||||
|
<div className="about-section-gradient left">
|
||||||
|
</div>
|
||||||
|
<div className="about-section-gradient right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,356 @@
|
|||||||
|
import Image from "next/image"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function IntegrationsSection() {
|
||||||
|
return (
|
||||||
|
<section className="section-small bg-neutral overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="ee652702-222a-0ca5-2508-17b1a107582a" style={{"opacity": "0", "filter": "blur(8px)"}} className="title-left-content-right">
|
||||||
|
<div className="inner-container _400px _100-tablet">
|
||||||
|
<div className="subtitle">Integrations</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
AI engineered to integrate across every platform </h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="inner-container _400px _100-tablet">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur scelerisque quam dui dictumst suspendisse iaculis ac gravida venenatis mattis sed. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="f6559b35-9557-2504-f076-3a36fa5775a3" style={{"opacity": "0", "filter": "blur(8px)"}} className="integrations-marquee-wrapper marquee-hover-stop" {...{"tr-marquee-speed":"50","tr-marquee-element":"component","tr-marquee-scrolldirection":"true","tr-marquee-scrollscrub":"false"}}>
|
||||||
|
<div className="integrations-marquee marquee-scroll-item">
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd871d459c0979566_integration-icon-01-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf5972224012a489b_integration-icon-02-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c26ffe1a8726e9533_integration-icon-03-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf394ef82f934055b_integration-icon-04-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c880d199c46c914ff_integration-icon-05-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70c337055b4648809b_integration-icon-06-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70e3d7d6153e132c82_integration-icon-07-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70d20bb145ee19163a_integration-icon-08-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e0bb9fa69c599d6b3_integration-icon-10-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70a151641726e87b52_integration-icon-11-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e925ff15bf5fa0586_integration-icon-12-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6de0050ea1d7414790_integration-icon-13-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd711092b9d58a062_integration-icon-14-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6d09ed29d4a9cfd6ed_integration-icon-15-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68ee6c592c38ae8672ba037d_integration-icon-16-quantum-webflow-template 1.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div className="integrations-marquee marquee-scroll-item">
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd871d459c0979566_integration-icon-01-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf5972224012a489b_integration-icon-02-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c26ffe1a8726e9533_integration-icon-03-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf394ef82f934055b_integration-icon-04-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c880d199c46c914ff_integration-icon-05-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70c337055b4648809b_integration-icon-06-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70e3d7d6153e132c82_integration-icon-07-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70d20bb145ee19163a_integration-icon-08-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e0bb9fa69c599d6b3_integration-icon-10-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70a151641726e87b52_integration-icon-11-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e925ff15bf5fa0586_integration-icon-12-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6de0050ea1d7414790_integration-icon-13-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd711092b9d58a062_integration-icon-14-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6d09ed29d4a9cfd6ed_integration-icon-15-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68ee6c592c38ae8672ba037d_integration-icon-16-quantum-webflow-template 1.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div className="integrations-marquee marquee-scroll-item">
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd871d459c0979566_integration-icon-01-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf5972224012a489b_integration-icon-02-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c26ffe1a8726e9533_integration-icon-03-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf394ef82f934055b_integration-icon-04-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c880d199c46c914ff_integration-icon-05-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70c337055b4648809b_integration-icon-06-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70e3d7d6153e132c82_integration-icon-07-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70d20bb145ee19163a_integration-icon-08-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e0bb9fa69c599d6b3_integration-icon-10-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70a151641726e87b52_integration-icon-11-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e925ff15bf5fa0586_integration-icon-12-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6de0050ea1d7414790_integration-icon-13-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd711092b9d58a062_integration-icon-14-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6d09ed29d4a9cfd6ed_integration-icon-15-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68ee6c592c38ae8672ba037d_integration-icon-16-quantum-webflow-template 1.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div className="integrations-marquee marquee-scroll-item">
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd871d459c0979566_integration-icon-01-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf5972224012a489b_integration-icon-02-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c26ffe1a8726e9533_integration-icon-03-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6cf394ef82f934055b_integration-icon-04-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6c880d199c46c914ff_integration-icon-05-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70c337055b4648809b_integration-icon-06-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70e3d7d6153e132c82_integration-icon-07-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70d20bb145ee19163a_integration-icon-08-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e0bb9fa69c599d6b3_integration-icon-10-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b70a151641726e87b52_integration-icon-11-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6e925ff15bf5fa0586_integration-icon-12-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6de0050ea1d7414790_integration-icon-13-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6dd711092b9d58a062_integration-icon-14-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68cd8b6d09ed29d4a9cfd6ed_integration-icon-15-quantum-webflow-template.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#" className="integration-marquee-item w-inline-block">
|
||||||
|
<Image src="/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3af1/68ee6c592c38ae8672ba037d_integration-icon-16-quantum-webflow-template 1.svg" width={94} height={94} alt="Integration Icon - Quantum | Webflow Template" style={{"filter": "invert(0%)"}} className="integration-marquee-item-image" />
|
||||||
|
<div style={{"width": "0%", "height": "100%"}} className="integration-marquee-item-bg">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="c8f34226-476e-bf6e-d16d-132f8960d38b" style={{"opacity": "0", "filter": "blur(8px)"}} className="buttons-row">
|
||||||
|
<Link id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" href="/contact" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
See all Apps</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
import LottiePlayer from "@/components/LottiePlayer"
|
||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function PrinciplesSection() {
|
||||||
|
return (
|
||||||
|
<section className="section overflow-hidden">
|
||||||
|
<div className="w-layout-blockcontainer container-default w-container">
|
||||||
|
<div data-w-id="372e7f28-67fd-5f5e-6061-256f8b7997a5" style={{"opacity": "0", "filter": "blur(8px)"}} className="text-center">
|
||||||
|
<div className="subtitle">Core principles</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<h2>
|
||||||
|
Architecting tomorrow's mind </h2>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-4x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quis suspendisse nulla amet viverra tortor pharetra. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-large">
|
||||||
|
<div data-w-id="3f196c4e-8732-f3ef-e6a2-04398a5349e2" style={{"opacity": "0", "filter": "blur(8px)"}} className="corner-gradient-container">
|
||||||
|
<div className="border-wrapper">
|
||||||
|
<div className="w-layout-grid principles-grid">
|
||||||
|
<div className="card principles-card">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d1d66f46dd336c7d633316_velocity-quantum-webflow-template-top-to-bottom.json" className="max-width-280px-mbl" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Velocity</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quuis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="card principles-card">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d1d6cf4cfbc189da50f80b_generality-quantum-webflow-template-top-to-bottom.json" className="max-width-280px-mbl" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Generality</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quuis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="card principles-card">
|
||||||
|
<LottiePlayer src="/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d1d6a76e480413794c2aa3_intelect-quantum-webflow-template-top-to-bottom.json" className="max-width-280px-mbl" loop autoplay />
|
||||||
|
<div>
|
||||||
|
<h3 className="display-4">Intellect</h3>
|
||||||
|
<div className="mg-top-5x-extra-small">
|
||||||
|
<p>
|
||||||
|
ipsum dolor sit amet consectetur nec quuis suspendisse nulla amet viverra tortor. </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-wf--corner-gradient-outline--variant="base" className="corner-gradient-wrapper">
|
||||||
|
<div className="corner-gradient-horizontal top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal top-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-horizontal bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical bottom-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical bottom-right">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical top-left">
|
||||||
|
</div>
|
||||||
|
<div className="corner-gradient-vertical top-right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="mg-top-regular">
|
||||||
|
<div data-w-id="bffe9e02-73d6-d2d3-239d-bbcb4bd7d83d" style={{"opacity": "0", "filter": "blur(8px)"}} className="buttons-row">
|
||||||
|
<Link id="w-node-_99805214-dd54-e7f3-2549-05c0df1040fb-df1040fb" href="/about" className="primary-button w-inline-block">
|
||||||
|
<div className="button-content">
|
||||||
|
<div>
|
||||||
|
About our company</div>
|
||||||
|
<div className="button-icon-wrapper primary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
|
||||||
|
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
|
||||||
|
</path>
|
||||||
|
</svg>
|
||||||
|
<div className="button-icon-bg">
|
||||||
|
</div>
|
||||||
|
<div className="button-icon-bg-inside">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
export { default as BlogPreviewSection } from "./BlogPreviewSection"
|
||||||
|
export { default as CtaSection } from "./CtaSection"
|
||||||
|
export { default as HeroSection } from "./HeroSection"
|
||||||
|
export { default as IntegrationsSection } from "./IntegrationsSection"
|
||||||
|
export { default as PrinciplesSection } from "./PrinciplesSection"
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import { defineConfig, globalIgnores } from "eslint/config";
|
||||||
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
||||||
|
import nextTs from "eslint-config-next/typescript";
|
||||||
|
|
||||||
|
const eslintConfig = defineConfig([
|
||||||
|
...nextVitals,
|
||||||
|
...nextTs,
|
||||||
|
// Override default ignores of eslint-config-next.
|
||||||
|
globalIgnores([
|
||||||
|
// Default ignores of eslint-config-next:
|
||||||
|
".next/**",
|
||||||
|
"out/**",
|
||||||
|
"build/**",
|
||||||
|
"next-env.d.ts",
|
||||||
|
]),
|
||||||
|
]);
|
||||||
|
|
||||||
|
export default eslintConfig;
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
export interface BlogPost {
|
||||||
|
slug: string
|
||||||
|
title: string
|
||||||
|
excerpt: string
|
||||||
|
date: string
|
||||||
|
category: string
|
||||||
|
image: string
|
||||||
|
imageAlt: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const BLOG_CATEGORIES = ["All", "Trends", "Applications", "Ethics"] as const
|
||||||
|
|
||||||
|
export const BLOG_POSTS: BlogPost[] = [
|
||||||
|
{
|
||||||
|
slug: "ai-powered-predictive-models-and-their-impact-across-industries",
|
||||||
|
title: "AI-powered predictive models and their impact across industries",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Trends",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e7e2a643b738b2cb06fc_ai-powered-predictive-models-and-their-impact-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "AI-powered predictive models and their impact across industries",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "how-ai-is-shaping-the-future-of-healthcare-and-medicine",
|
||||||
|
title: "How AI is shaping the future of healthcare and medicine",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Applications",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e7c24025d4081cbfa426_how-ai-is-shaping-the-future-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "How AI is shaping the future of healthcare and medicine",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "the-role-of-transparency-in-ai-development-and-innovation",
|
||||||
|
title: "The role of transparency in AI development and innovation",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Ethics",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e7967b59be67bb3b9a64_the-role-of-transparency-in-ai-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "The role of transparency in AI development and innovation",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "revolutionizing-business-insights-with-ai-data-analytics",
|
||||||
|
title: "Revolutionizing business insights with AI data analytics",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Applications",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e766a2a14a56c3716545_revolutionizing-business-insights-with-ai-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "Revolutionizing business insights with AI data analytics",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "how-ai-is-optimizing-business-operations-for-maximum-efficiency",
|
||||||
|
title: "How AI is optimizing business operations for maximum efficiency",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Trends",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e73c22149c3c4d1276f2_how-ai-is-optimizing-business-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "How AI is optimizing business operations for maximum efficiency",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "ethical-ai-and-the-balance-between-innovation-and-responsibilities",
|
||||||
|
title: "Ethical AI and the balance between innovation and responsibility",
|
||||||
|
excerpt: "Lorem ipsum dolor sit amet consectetur sit mi lacus quis vitae sed pellentesque libero ultricies neque.",
|
||||||
|
date: "Jun, 2025",
|
||||||
|
category: "Ethics",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e640d87281a090067c41_ethical-ai-and-the-balance-between-thumbnail-quantum-webflow-template.png",
|
||||||
|
imageAlt: "Ethical AI and the balance between innovation and responsibility",
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
export interface Career {
|
||||||
|
slug: string
|
||||||
|
title: string
|
||||||
|
department: string
|
||||||
|
location: string
|
||||||
|
type: string
|
||||||
|
description: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const CAREERS: Career[] = [
|
||||||
|
{
|
||||||
|
slug: "ai-research-scientist",
|
||||||
|
title: "AI Research Scientist",
|
||||||
|
department: "Research",
|
||||||
|
location: "New York, NY",
|
||||||
|
type: "Full time",
|
||||||
|
description: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "machine-learning-engineer",
|
||||||
|
title: "Machine Learning Engineer",
|
||||||
|
department: "Research",
|
||||||
|
location: "Los Angeles, CA",
|
||||||
|
type: "Part time",
|
||||||
|
description: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "ai-infrastructure-engineer",
|
||||||
|
title: "AI Infrastructure Engineer",
|
||||||
|
department: "Engineering",
|
||||||
|
location: "Remote",
|
||||||
|
type: "Part time",
|
||||||
|
description: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "mlops-engineer",
|
||||||
|
title: "MLOps Engineer",
|
||||||
|
department: "Engineering",
|
||||||
|
location: "Remote",
|
||||||
|
type: "Full time",
|
||||||
|
description: "Lorem ipsum dolor sit amet consectetur ornare dui amet ultrices sed fermentum euismod dictum ut pellentesque aliquet nunc massa sed nisl pretium enim placerat.",
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
export interface TeamMember {
|
||||||
|
slug: string
|
||||||
|
name: string
|
||||||
|
role: string
|
||||||
|
bio: string
|
||||||
|
image: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const TEAM_MEMBERS: TeamMember[] = [
|
||||||
|
{
|
||||||
|
slug: "john-carter-wy738",
|
||||||
|
name: "John Carter",
|
||||||
|
role: "CEO & Founder",
|
||||||
|
bio: "Lorem ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget.",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5ff7b59be67bb3ac207_john-carter-avatar-quantum-webflow-template.jpg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "sophie-moore",
|
||||||
|
name: "Sophie Moore",
|
||||||
|
role: "Director of Operations",
|
||||||
|
bio: "Lorem ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget.",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5d29b2f76acd088f052_sophie-moore-avatar-quantum-webflow-template.jpg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "lilly-woods",
|
||||||
|
name: "Lilly Woods",
|
||||||
|
role: "Lead UX Designer",
|
||||||
|
bio: "Lorem ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget.",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5b658f5ca9f60fd5e16_lilly-woods-avatar-quantum-webflow-template.jpg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: "matt-cannon",
|
||||||
|
name: "Matt Cannon",
|
||||||
|
role: "VP of Engineering",
|
||||||
|
bio: "Lorem ipsum dolor sit amet consectetur diam leo interdum nibh ut at libero elit pharetra in eget.",
|
||||||
|
image: "/assets/wubflow-shield-nocodexport-dev/68a342b7066c56fa60eb3b39/68a6e5268e58fa10010ce586_matt-cannon-avatar-quantum-webflow-template.jpg",
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import type { NextConfig } from "next";
|
||||||
|
|
||||||
|
const nextConfig: NextConfig = {
|
||||||
|
images: {
|
||||||
|
remotePatterns: [
|
||||||
|
{
|
||||||
|
protocol: "https",
|
||||||
|
hostname: "cdn.prod.website-files.com",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default nextConfig;
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "dalcode-website",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "next dev",
|
||||||
|
"build": "next build",
|
||||||
|
"start": "next start",
|
||||||
|
"lint": "eslint"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@hookform/resolvers": "^5.2.2",
|
||||||
|
"cheerio": "^1.2.0",
|
||||||
|
"framer-motion": "^12.38.0",
|
||||||
|
"gsap": "^3.15.0",
|
||||||
|
"lottie-react": "^2.4.1",
|
||||||
|
"next": "16.2.4",
|
||||||
|
"next-themes": "^0.4.6",
|
||||||
|
"react": "19.2.4",
|
||||||
|
"react-dom": "19.2.4",
|
||||||
|
"react-hook-form": "^7.74.0",
|
||||||
|
"zod": "^4.3.6"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tailwindcss/postcss": "^4",
|
||||||
|
"@types/node": "^20",
|
||||||
|
"@types/react": "^19",
|
||||||
|
"@types/react-dom": "^19",
|
||||||
|
"eslint": "^9",
|
||||||
|
"eslint-config-next": "16.2.4",
|
||||||
|
"tailwindcss": "^4",
|
||||||
|
"typescript": "^5"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
const config = {
|
||||||
|
plugins: {
|
||||||
|
"@tailwindcss/postcss": {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"v":"4.8.0","meta":{"g":"LottieFiles AE 1.0.0","a":"","k":"","d":"","tc":""},"fr":30,"ip":0,"op":75,"w":400,"h":400,"nm":"Info","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.456,0.456,0.833],"y":[1,1,1]},"o":{"x":[0.607,0.607,0.333],"y":[0,0,0]},"t":25,"s":[0,0,100]},{"t":41,"s":[25,25,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[400,400],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3804,0.2784,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[100]},{"t":41,"s":[15]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.46,0.46,0.833],"y":[1,1,1]},"o":{"x":[0.633,0.633,0.333],"y":[0,0,0]},"t":16,"s":[25,25,100]},{"t":41,"s":[85,85,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[400,400],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3804,0.2784,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":8,"s":[15]},{"t":16,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[200,200,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":8,"s":[85,85,100]},{"t":16,"s":[90,90,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[400,400],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3804,0.2784,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0}],"markers":[]}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M3.12891 8.11855L6.37307 11.3627L12.8711 4.86426" stroke="#161616" stroke-width="1.5"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 200 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.6929 11.7231V2.5938H32.292V19.174L38.7481 12.7179L42 15.9697L30.2761 27.6936H39.4054V32.2927H22.8268L29.2821 38.7481L26.0303 42L14.3071 30.2769V39.4062H9.70802V22.8268L3.25189 29.2829L0 26.031L11.7239 14.3071H2.59304V9.70802H19.174L12.7179 3.25189L15.9697 0L27.6929 11.7231ZM21.3767 14.3071H14.8404L16.534 16.0008L11.9123 20.6225H14.3071V27.1588L16 25.466L20.6218 30.0877V27.6936H27.1596L25.466 26L30.0885 21.3775H27.6929V14.8411L26 16.534L21.3767 11.9107V14.3071Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 639 B |
@@ -0,0 +1,10 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_15834_11146)">
|
||||||
|
<path d="M32.0008 19.626C28.4646 19.626 25.0732 21.0307 22.5727 23.5312C20.0722 26.0317 18.6675 29.4231 18.6675 32.9593C18.6675 35.0258 19.1472 37.0428 20.0449 38.8613L18.8726 46.0808L26.1403 44.9356C27.948 45.8202 29.95 46.2926 32.0008 46.2926C35.537 46.2926 38.9284 44.8879 41.4289 42.3874C43.9294 39.8869 45.3341 36.4955 45.3341 32.9593C45.3341 29.4231 43.9294 26.0317 41.4289 23.5312C38.9284 21.0307 35.537 19.626 32.0008 19.626Z" fill="#161616"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_15834_11146">
|
||||||
|
<rect width="26.6667" height="26.6667" fill="white" transform="translate(18.6665 19.626)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 753 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M31.9988 20.792L36.3473 28.2579L44.7915 30.0864L39.0348 36.5292L39.9051 45.1252L31.9988 41.6411L24.0924 45.1252L24.9628 36.5292L19.2061 30.0864L27.6503 28.2579L31.9988 20.792Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 306 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.2798 24.2383C25.5928 21.9254 28.7298 20.626 32.0008 20.626C35.2718 20.626 38.4088 21.9254 40.7218 24.2383C43.0347 26.5513 44.3341 29.6883 44.3341 32.9593C44.3341 36.2303 43.0347 39.3673 40.7218 41.6803C38.4088 43.9932 35.2718 45.2926 32.0008 45.2926C28.7298 45.2926 25.5928 43.9932 23.2798 41.6803C20.9669 39.3673 19.6675 36.2303 19.6675 32.9593C19.6675 29.6883 20.9669 26.5513 23.2798 24.2383ZM27.8018 30.2138L34.7464 37.1584L26.0657 38.8946L27.8018 30.2138ZM37.936 27.0242L36.1999 35.7048L29.2554 28.7604L37.936 27.0242Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 697 B |
@@ -0,0 +1,10 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_15834_11131)">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M30.8897 19.626C27.6482 19.626 24.5394 20.9137 22.2473 23.2058C19.9552 25.4979 18.6675 28.6067 18.6675 31.8482C18.6675 35.0898 19.9552 38.1985 22.2473 40.4906C24.5394 42.7828 27.6482 44.0704 30.8897 44.0704C33.4758 44.0704 35.9775 43.2508 38.0474 41.7554L42.5846 46.2926L45.3345 43.5429L40.7971 39.0055C42.2924 36.9358 43.1119 34.4342 43.1119 31.8482C43.1119 28.6067 41.8243 25.4979 39.5321 23.2058C37.24 20.9137 34.1313 19.626 30.8897 19.626ZM24.2115 25.17C25.9826 23.3988 28.3849 22.4038 30.8897 22.4038C33.3945 22.4038 35.7967 23.3988 37.5679 25.17C39.3391 26.9411 40.3341 29.3434 40.3341 31.8482C40.3341 34.353 39.3391 36.7552 37.5679 38.5264C35.7967 40.2976 33.3945 41.2926 30.8897 41.2926C28.3849 41.2926 25.9826 40.2976 24.2115 38.5264C22.4403 36.7552 21.4453 34.353 21.4453 31.8482C21.4453 29.3434 22.4403 26.9411 24.2115 25.17Z" fill="#161616"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_15834_11131">
|
||||||
|
<rect width="26.6667" height="26.6667" fill="white" transform="translate(18.6665 19.626)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,10 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_15834_11115)">
|
||||||
|
<path d="M43 28.459H34V20.459L21 36.459H30V44.459L43 28.459Z" fill="#161616"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_15834_11115">
|
||||||
|
<rect width="24" height="24" fill="white" transform="translate(20 20.459)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 365 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M34.0193 21.3877L34.805 22.1734L39.53 26.8984H44.2213V40.6804L34.805 31.2641L34.0193 30.4784L33.2336 31.2641L25.856 38.6416L19.7769 33.7788V26.7974L21.5546 28.1308L24.8241 30.5829L33.2336 22.1734L34.0193 21.3877ZM19.7769 36.6244V45.1813H44.2213V43.8231L34.0193 33.6211L26.7241 40.9162L26.021 41.6194L25.2444 40.9982L19.7769 36.6244Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 503 B |
@@ -0,0 +1,10 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_15834_11135)">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.0022 21.8482C29.5476 21.8482 27.5578 23.838 27.5578 26.2926V30.7371H36.4467V26.2926C36.4467 23.838 34.4568 21.8482 32.0022 21.8482ZM25.3356 26.2926V30.7371H20.8911V46.2926H43.1133V30.7371H38.6689V26.2926C38.6689 22.6107 35.6841 19.626 32.0022 19.626C28.3203 19.626 25.3356 22.6107 25.3356 26.2926ZM30.8911 36.2926V40.7371H33.1133V36.2926H30.8911Z" fill="#161616"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_15834_11135">
|
||||||
|
<rect width="26.6667" height="26.6667" fill="white" transform="translate(18.6665 19.626)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 719 B |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg width="64" height="65" viewBox="0 0 64 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M32.0006 22.0088C30.2679 22.0088 28.5742 22.5226 27.1336 23.4852C25.693 24.4478 24.5701 25.8159 23.9071 27.4167C23.244 29.0174 23.0705 30.7788 23.4086 32.4782C23.7466 34.1775 24.5809 35.7385 25.8061 36.9636C27.0312 38.1888 28.5922 39.0231 30.2915 39.3611C31.9909 39.6992 33.7523 39.5257 35.353 38.8626C36.9538 38.1996 38.3219 37.0767 39.2845 35.6361C40.2471 34.1955 40.7609 32.5018 40.7609 30.7691C40.7583 28.4465 39.8345 26.2198 38.1922 24.5775C36.5499 22.9352 34.3232 22.0114 32.0006 22.0088Z" fill="#161616"/>
|
||||||
|
<path d="M33.0942 34.6409V40.1865H30.9041V34.6409L28.1063 32.7782L29.3218 30.9561L31.9992 32.741L34.6766 30.9571L35.8921 32.7793L33.0942 34.6409Z" fill="white"/>
|
||||||
|
<path d="M28.7148 42.8141H30.9049V43.9092H33.095V42.8141H35.2851V40.624H28.7148V42.8141Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 894 B |
|
After Width: | Height: | Size: 71 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M35.6051 15.0726V3.33488H41.5183V24.6523L49.819 16.3515L54 20.5325L38.9264 35.6061H50.6641V41.5192H29.3487L37.6485 49.819L33.4675 54L18.3949 38.9274V50.6651H12.4817V29.3487L4.181 37.6494L0 33.4684L15.0736 18.3949H3.33391V12.4817H24.6523L16.3515 4.181L20.5325 0L35.6051 15.0726ZM27.4843 18.3949H19.0805L21.2581 20.5724L15.3158 26.5147H18.3949V34.9185L20.5714 32.7419L26.5137 38.6842V35.6061H34.9195L32.7419 33.4286L38.6852 27.4853H35.6051V19.0815L33.4286 21.2581L27.4843 15.3138V18.3949Z" fill="white"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 655 B |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg width="125" height="33" viewBox="0 0 125 33" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M9.8255 2.66016L0.494141 16.3274V30.2671H14.4019L23.5529 16.3274V2.66016H9.8255Z" fill="#161616"/>
|
||||||
|
<path d="M32.886 2.66016L23.5547 16.3274V30.2671H37.4624L46.6135 16.3274V2.66016H32.886Z" fill="#161616"/>
|
||||||
|
<path d="M54.8124 23.8203V7.18522H57.3244V21.6656H64.8604V23.8203H54.8124ZM66.1225 23.8203V11.3384H68.534V23.8203H66.1225ZM67.3394 9.41811C66.9152 9.41811 66.5542 9.2767 66.2564 8.99386C65.9587 8.71103 65.8099 8.37237 65.8099 7.97789C65.8099 7.57597 65.9587 7.23359 66.2564 6.95076C66.5542 6.66793 66.9152 6.52651 67.3394 6.52651C67.7562 6.52651 68.1135 6.66793 68.4112 6.95076C68.7164 7.23359 68.8689 7.57597 68.8689 7.97789C68.8689 8.37237 68.7164 8.71103 68.4112 8.99386C68.1135 9.2767 67.7562 9.41811 67.3394 9.41811ZM72.8105 16.4183V23.8203H70.3989V11.3384H72.7435V13.3927H72.9109C73.1938 12.7154 73.6366 12.1795 74.2395 11.785C74.8424 11.3831 75.6165 11.1821 76.5617 11.1821C77.4102 11.1821 78.1508 11.3607 78.7835 11.718C79.4236 12.0678 79.9185 12.5926 80.2683 13.2922C80.6256 13.9918 80.8042 14.8589 80.8042 15.8935V23.8203H78.3927V16.1838C78.3927 15.2832 78.1545 14.5761 77.6782 14.0625C77.2018 13.5415 76.5543 13.281 75.7356 13.281C75.1773 13.281 74.6749 13.4076 74.2283 13.6606C73.7892 13.9062 73.4431 14.2598 73.19 14.7212C72.937 15.1827 72.8105 15.7484 72.8105 16.4183ZM84.902 19.589L84.8686 16.6304H85.304L90.2722 11.3384H93.1749L87.5145 17.3672H87.1126L84.902 19.589ZM82.6691 23.8203V7.18522H85.0807V23.8203H82.6691ZM90.529 23.8203L86.0632 17.9031L87.7378 16.195L93.521 23.8203H90.529ZM98.7018 24.0771C97.5333 24.0771 96.5098 23.8091 95.6316 23.2733C94.7607 22.7374 94.0834 21.9856 93.5996 21.018C93.1233 20.0504 92.8851 18.9265 92.8851 17.6463C92.8851 16.3513 93.1233 15.2199 93.5996 14.2523C94.0834 13.2773 94.7607 12.5218 95.6316 11.9859C96.5098 11.4501 97.5333 11.1821 98.7018 11.1821C99.8778 11.1821 100.901 11.4501 101.772 11.9859C102.643 12.5218 103.32 13.2773 103.804 14.2523C104.288 15.2199 104.53 16.3513 104.53 17.6463C104.53 18.9265 104.288 20.0504 103.804 21.018C103.32 21.9856 102.643 22.7374 101.772 23.2733C100.901 23.8091 99.8778 24.0771 98.7018 24.0771ZM98.7018 22.034C99.4684 22.034 100.101 21.833 100.6 21.4311C101.098 21.0292 101.467 20.497 101.705 19.8346C101.951 19.1647 102.073 18.4353 102.073 17.6463C102.073 16.8425 101.951 16.1056 101.705 15.4358C101.467 14.7659 101.098 14.23 100.6 13.8281C100.101 13.4262 99.4684 13.2252 98.7018 13.2252C97.9426 13.2252 97.3137 13.4262 96.815 13.8281C96.3238 14.23 95.9553 14.7659 95.7097 15.4358C95.4641 16.1056 95.3413 16.8425 95.3413 17.6463C95.3413 18.4353 95.4641 19.1647 95.7097 19.8346C95.9553 20.497 96.3238 21.0292 96.815 21.4311C97.3137 21.833 97.9426 22.034 98.7018 22.034ZM105.825 23.8203V11.3384H108.159V13.3369H108.293C108.523 12.667 108.925 12.1385 109.498 11.7515C110.079 11.357 110.734 11.1598 111.463 11.1598C111.612 11.1598 111.787 11.1672 111.988 11.1821C112.196 11.1895 112.364 11.2007 112.49 11.2156V13.5378C112.394 13.508 112.219 13.4783 111.966 13.4485C111.72 13.4187 111.471 13.4038 111.218 13.4038C110.645 13.4038 110.131 13.5266 109.677 13.7723C109.23 14.0104 108.877 14.3417 108.616 14.7659C108.363 15.1827 108.237 15.6665 108.237 16.2173V23.8203H105.825ZM116.711 24.0883C115.922 24.0883 115.208 23.9431 114.567 23.6528C113.927 23.3551 113.421 22.9234 113.049 22.3578C112.677 21.7921 112.491 21.1036 112.491 20.2923C112.491 19.5852 112.625 19.0084 112.893 18.5618C113.168 18.1078 113.537 17.7468 113.998 17.4789C114.46 17.2109 114.973 17.01 115.539 16.876C116.104 16.742 116.685 16.6378 117.28 16.5634C118.032 16.4815 118.639 16.4108 119.1 16.3513C119.562 16.2917 119.897 16.1987 120.105 16.0722C120.321 15.9382 120.429 15.7261 120.429 15.4358V15.38C120.429 14.6729 120.228 14.1258 119.826 13.7388C119.431 13.3517 118.843 13.1582 118.062 13.1582C117.251 13.1582 116.607 13.3369 116.13 13.6941C115.662 14.0439 115.338 14.4421 115.159 14.8887L112.87 14.364C113.146 13.6048 113.544 12.9945 114.065 12.533C114.594 12.0641 115.196 11.7217 115.874 11.5059C116.558 11.29 117.273 11.1821 118.017 11.1821C118.516 11.1821 119.044 11.2416 119.603 11.3607C120.161 11.4724 120.686 11.6845 121.177 11.9971C121.676 12.3023 122.081 12.7414 122.394 13.3145C122.706 13.8876 122.863 14.6282 122.863 15.5363V23.8203H120.485V22.1121H120.395C120.246 22.4173 120.012 22.7225 119.692 23.0276C119.379 23.3328 118.977 23.5859 118.486 23.7868C117.995 23.9878 117.403 24.0883 116.711 24.0883ZM117.236 22.1456C117.913 22.1456 118.49 22.0154 118.966 21.7549C119.443 21.4869 119.807 21.1371 120.06 20.7054C120.313 20.2737 120.44 19.816 120.44 19.3322V17.7133C120.351 17.7952 120.183 17.8734 119.938 17.9478C119.692 18.0222 119.413 18.0855 119.1 18.1376C118.788 18.1897 118.482 18.2381 118.185 18.2827C117.887 18.3199 117.638 18.3497 117.437 18.372C116.968 18.439 116.54 18.5432 116.153 18.6846C115.766 18.8186 115.453 19.0196 115.215 19.2875C114.984 19.548 114.869 19.8941 114.869 20.3258C114.869 20.9287 115.092 21.3827 115.539 21.6879C115.985 21.9931 116.551 22.1456 117.236 22.1456Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M41.1658 31.9014V41.6667C35.2752 41.6671 30.5 46.4426 30.5 52.3333C30.5 58.2244 35.2756 63 41.1667 63H50.8175C51.3785 63 51.8333 62.5452 51.8333 61.9841L51.8333 52.3333C57.7243 52.3333 62.4999 47.5577 62.4999 41.6667C62.4999 35.7756 57.7235 31 51.8325 31H42.0672C41.5694 31 41.1658 31.4036 41.1658 31.9014ZM51.8333 52.3333H42.1824C41.6214 52.3333 41.1665 51.8785 41.1665 51.3175L41.1658 41.6667L50.8227 41.6667C51.3671 41.6694 51.8102 42.1004 51.8325 42.64L51.8333 52.3333Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 644 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M39.4434 47.0713H39.4453C39.4824 50.7674 42.3949 53.7747 46.0537 53.96L46.4121 53.9688H60.8184C58.2279 59.314 52.7506 63 46.4121 63C37.5756 63 30.4121 55.8366 30.4121 47C30.4121 40.6615 34.0981 35.1842 39.4434 32.5938V47.0713ZM46.4121 31C55.2487 31 62.4121 38.1634 62.4121 47C62.4121 47.9084 62.3349 48.7989 62.1895 49.666H52.8516C53.1919 48.8447 53.3809 47.9443 53.3809 47C53.3807 43.1514 50.2607 40.0314 46.4121 40.0312C45.4678 40.0312 44.5674 40.2202 43.7461 40.5605V31.2217C44.6131 31.0762 45.5037 31 46.4121 31Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 647 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M46.8974 42.7567L51.2447 47.104L47.1054 51.2433L42.758 46.896L46.8974 42.7567ZM42.4401 38.2994L39.7145 35.5738C39.559 35.4184 39.559 35.1663 39.7145 35.0108L43.6087 31.1166C43.7642 30.9611 44.0163 30.9611 44.1717 31.1166L57.4848 44.4297C58.9618 45.9067 58.9618 48.3013 57.4848 49.7783L51.5626 55.7006L54.2882 58.4262C54.4437 58.5816 54.4437 58.8337 54.2882 58.9892L50.394 62.8834C50.2385 63.0389 49.9864 63.0389 49.831 62.8834L36.5179 49.5703C35.0409 48.0933 35.0409 45.6987 36.5179 44.2217L42.4401 38.2994Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 678 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M42.502 36.8555C44.4096 36.8555 46.1371 37.6273 47.3896 38.875C49.069 37.6074 51.1596 36.8555 53.4258 36.8555H53.9297C59.1906 36.8555 63.4551 41.1209 63.4551 46.3818C63.4548 52.1986 58.7397 56.9139 52.9229 56.9141H36.6924C32.745 56.9141 29.5449 53.714 29.5449 49.7666C29.545 46.2851 32.1987 43.4233 35.5938 43.0938C35.8333 39.6086 38.7353 36.8555 42.2812 36.8555H42.502Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 501 B |
@@ -0,0 +1,8 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M53.1737 54.9208C53.1555 54.9035 53.1373 54.8861 53.1192 54.8688C52.9307 54.6862 52.743 54.5044 52.5558 54.323C51.8083 53.5988 51.0696 52.8831 50.3293 52.1692C50.007 51.8585 50.0002 51.756 50.3191 51.4313C50.7486 50.9941 51.1602 50.5442 51.4832 50.018C51.8674 49.3923 52.0827 48.703 52.2732 48.0029C52.3521 47.713 52.4887 47.6316 52.7738 47.7168C54.2397 48.155 55.7136 48.5648 57.1875 48.9746C57.7368 49.1274 58.2862 49.2801 58.8351 49.4343C58.9137 49.4564 58.9922 49.4785 59.0707 49.5006C59.3246 49.5721 59.5786 49.6436 59.8329 49.7136C60.3552 49.8574 60.6044 50.1718 60.5914 50.713C60.5602 52.0097 60.5228 53.3063 60.48 54.6027C60.4699 54.9104 60.3209 55.1598 60.0591 55.3225C58.938 56.0192 57.8163 56.7148 56.6884 57.4002C56.3036 57.6341 55.869 57.5609 55.5358 57.2353C55.0251 56.7362 54.5157 56.2359 54.0062 55.7356C53.7678 55.5015 53.5295 55.2674 53.291 55.0335C53.2523 54.9955 53.213 54.9581 53.1737 54.9208Z" fill="#161616"/>
|
||||||
|
<path d="M50.8186 59.9002C50.9627 60.482 50.8005 60.8156 50.2681 61.1061C49.9754 61.2648 49.6841 61.4222 49.394 61.5789C48.6209 61.9966 47.8563 62.4098 47.0961 62.831C46.6908 63.0555 46.3153 63.057 45.9078 62.8313C45.2332 62.4575 44.5542 62.0917 43.8752 61.7259C43.4721 61.5087 43.069 61.2916 42.6669 61.0728C42.2136 60.8262 42.0441 60.4682 42.1665 59.968C42.2915 59.457 42.4238 58.9479 42.5561 58.4387C42.6459 58.0935 42.7356 57.7482 42.823 57.4025C43.057 56.4774 43.288 55.5516 43.5191 54.6258C43.5827 54.371 43.6463 54.1161 43.71 53.8613C43.7448 53.7218 43.7788 53.5822 43.8128 53.4425C43.8683 53.2139 43.9239 52.9854 43.9833 52.7579C44.048 52.5102 44.1751 52.438 44.4255 52.4921C44.5723 52.5239 44.7181 52.5603 44.8638 52.5967C45.1243 52.6617 45.3849 52.7268 45.6515 52.7652C46.4064 52.874 47.1537 52.8367 47.8946 52.6581C47.9559 52.6434 48.0171 52.6284 48.0784 52.6134C48.2481 52.5719 48.4178 52.5305 48.5885 52.4931C48.8233 52.4417 48.9469 52.5134 49.005 52.7436C49.0945 53.0985 49.1818 53.4539 49.2691 53.8093C49.3438 54.1134 49.4185 54.4175 49.4946 54.7213C49.7132 55.5936 49.9331 56.4657 50.1563 57.3369C50.2416 57.6697 50.3286 58.002 50.4157 58.3344C50.5524 58.8557 50.689 59.3771 50.8186 59.9002Z" fill="#161616"/>
|
||||||
|
<path d="M40.2351 47.7177C40.3635 47.6808 40.4911 47.6588 40.6052 47.7577C40.7172 47.9205 40.7587 48.0922 40.7992 48.2599C40.8078 48.2956 40.8164 48.3312 40.8256 48.3664C41.1273 49.5211 41.7231 50.4993 42.5771 51.3263C42.6393 51.3866 42.698 51.4506 42.7566 51.5145C42.7669 51.5258 42.7773 51.537 42.7876 51.5483C42.9562 51.7315 42.9523 51.8957 42.7761 52.0659C42.52 52.3134 42.2636 52.5605 42.0072 52.8077C41.4478 53.3471 40.8884 53.8864 40.3313 54.4282C39.6292 55.1109 38.9294 55.796 38.2297 56.4812C37.9982 56.7078 37.7668 56.9343 37.5353 57.1608C37.0941 57.5925 36.6991 57.6441 36.1758 57.3237C35.5507 56.941 34.9267 56.5565 34.3027 56.1721C33.8753 55.9087 33.4478 55.6453 33.02 55.3825C32.6764 55.1714 32.5204 54.8685 32.5117 54.4643C32.4963 53.7482 32.4755 53.0323 32.4546 52.3163C32.4393 51.7923 32.4241 51.2683 32.4109 50.7443C32.3967 50.174 32.6429 49.8628 33.1919 49.7091C34.9962 49.2038 36.7996 48.6952 38.603 48.1864C38.9543 48.0873 39.3051 47.9859 39.6558 47.8846C39.8489 47.8288 40.0419 47.7731 40.2351 47.7177Z" fill="#161616"/>
|
||||||
|
<path d="M33.7292 38.2026C33.8397 38.1349 33.9501 38.0671 34.0604 37.9992C34.2691 37.8707 34.4763 37.7438 34.6823 37.6176C35.1972 37.3021 35.7043 36.9914 36.2067 36.6731C36.6323 36.4035 37.1434 36.4626 37.4929 36.8079C38.567 37.869 39.6488 38.9221 40.7306 39.9753C40.9482 40.1871 41.1657 40.3988 41.3832 40.6106C41.6719 40.8919 41.9632 41.1707 42.2544 41.4494C42.4176 41.6056 42.5808 41.7618 42.7435 41.9185C42.9656 42.1322 42.9686 42.29 42.7469 42.5104C42.1901 43.0639 41.6736 43.6464 41.3148 44.355C41.0699 44.8384 40.9112 45.351 40.7638 45.8684C40.6236 46.3602 40.5759 46.3899 40.0883 46.2521C39.5924 46.112 39.0966 45.9719 38.6007 45.8317C37.4686 45.5117 36.3365 45.1917 35.2041 44.8727C34.7101 44.7335 34.2155 44.5965 33.7208 44.4594C33.5286 44.4062 33.3363 44.3529 33.1441 44.2995C32.6551 44.1637 32.3936 43.8245 32.4067 43.3133C32.4399 42.022 32.4767 40.7308 32.5201 39.4399C32.5311 39.1151 32.6797 38.8521 32.9607 38.6767C33.2161 38.5174 33.4727 38.36 33.7292 38.2026Z" fill="#161616"/>
|
||||||
|
<path d="M51.9345 44.9149C51.8166 44.6011 51.6668 44.303 51.4951 44.0155C51.1619 43.4531 50.7337 43.0009 50.2945 42.5575C50.01 42.2702 50.0184 42.1476 50.3059 41.8709C51.212 40.9989 52.1159 40.1244 53.0175 39.2477C53.4585 38.819 53.8981 38.3888 54.3377 37.9586C54.7484 37.5568 55.159 37.155 55.5707 36.7543C55.8876 36.4461 56.341 36.4035 56.7444 36.6482C57.1807 36.9129 57.6147 37.1815 58.0486 37.45C58.2408 37.569 58.433 37.6879 58.6254 37.8065C58.757 37.8877 58.8883 37.9693 59.0196 38.0509C59.3357 38.2474 59.6519 38.4439 59.972 38.6336C60.3235 38.8419 60.4768 39.1442 60.486 39.5463C60.4998 40.147 60.5171 40.7476 60.5343 41.3482C60.5525 41.9817 60.5706 42.6152 60.5848 43.2489C60.5987 43.8686 60.3633 44.1511 59.7638 44.3155C58.9927 44.5271 58.2231 44.7447 57.4536 44.9624C57.2489 45.0203 57.0442 45.0782 56.8395 45.136C55.6097 45.4831 54.3802 45.8315 53.1509 46.1802C53.0847 46.1989 53.019 46.2196 52.9533 46.2404C52.8786 46.2639 52.804 46.2874 52.7285 46.3081C52.4924 46.3729 52.3607 46.2993 52.2915 46.0645C52.2656 45.977 52.2404 45.8893 52.2152 45.8017C52.1295 45.5037 52.0438 45.2056 51.9345 44.9149Z" fill="#161616"/>
|
||||||
|
<path d="M50.0953 36.9283C50.0001 37.299 49.9049 37.6696 49.8096 38.0402C49.5539 39.0714 49.3041 40.0753 49.0541 41.0791L49.0528 41.0844C49.0355 41.154 49.0181 41.2238 48.9977 41.2925C48.937 41.4973 48.8059 41.573 48.5999 41.5271C48.4641 41.4968 48.329 41.4638 48.194 41.4307C47.9445 41.3697 47.6951 41.3086 47.4411 41.2652C46.5762 41.1172 45.7272 41.1882 44.8853 41.4136C44.7158 41.4589 44.5449 41.4998 44.3735 41.5369C44.1877 41.5771 44.0506 41.4924 44.004 41.3052C43.8869 40.8357 43.7707 40.366 43.6544 39.8963C43.4665 39.1368 43.2785 38.3772 43.087 37.6186C42.9416 37.0423 42.7915 36.4671 42.6415 35.892C42.5489 35.5373 42.4564 35.1826 42.365 34.8276C42.293 34.5484 42.2217 34.2688 42.1612 33.987C42.0679 33.5521 42.2428 33.176 42.6392 32.9612C43.7794 32.3433 44.9206 31.7275 46.0636 31.1147C46.3416 30.9657 46.6415 30.9611 46.9139 31.1055C48.0845 31.7266 49.2501 32.3574 50.4124 32.9939C50.8142 33.214 50.9443 33.6267 50.8104 34.1468C50.5718 35.074 50.3336 36.0011 50.0953 36.9283Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M37.9746 37.4229L31.5 46.9059V56.5779H41.1499L47.4993 46.9059V37.4229H37.9746Z" fill="#161616"/>
|
||||||
|
<path d="M53.9746 37.4229L47.5 46.9059V56.5779H57.1499L63.4993 46.9059V37.4229H53.9746Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 315 B |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M33.3265 48.3659C32.4429 48.3659 31.7176 49.0844 31.8135 49.9629C31.9646 51.3468 32.3116 52.705 32.8464 53.9961C33.5857 55.7811 34.6693 57.403 36.0353 58.7692C37.4013 60.1354 39.0231 61.2191 40.8079 61.9585C42.0989 62.4933 43.457 62.8404 44.8407 62.9915C45.7191 63.0874 46.4375 62.362 46.4375 61.4783L46.4375 51.5661C46.4375 49.7987 45.0049 48.3659 43.2377 48.3659L33.3265 48.3659Z" fill="#161616"/>
|
||||||
|
<path d="M61.6716 48.3659C62.5552 48.3659 63.2805 49.0844 63.1846 49.9629C63.0335 51.3468 62.6864 52.705 62.1517 53.9961C61.4124 55.7811 60.3288 57.403 58.9627 58.7692C57.5967 60.1354 55.975 61.2191 54.1902 61.9585C52.8992 62.4933 51.5411 62.8404 50.1573 62.9915C49.2789 63.0874 48.5605 62.362 48.5605 61.4783L48.5605 51.5661C48.5605 49.7987 49.9932 48.3659 51.7604 48.3659L61.6716 48.3659Z" fill="#161616"/>
|
||||||
|
<path d="M60.6368 46.2461C62.0951 46.2461 63.3012 45.0545 63.0415 43.6193C62.8429 42.5218 62.52 41.446 62.0768 40.4117C61.2841 38.5619 60.1224 36.8812 58.6578 35.4655C57.1932 34.0497 55.4545 32.9267 53.541 32.1605C51.6274 31.3944 49.5765 31 47.5052 31C45.434 31 43.3831 31.3944 41.4695 32.1605C39.556 32.9267 37.8173 34.0497 36.3527 35.4655C34.8881 36.8812 33.7263 38.5619 32.9337 40.4117C32.4905 41.446 32.1676 42.5218 31.969 43.6193C31.7093 45.0545 32.9154 46.2461 34.3737 46.2461H47.5052H60.6368Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M35.7807 35.7549C35.9066 35.8425 36.0281 35.9366 36.1445 36.0367C37.8592 37.748 39.5706 39.4569 41.2787 41.1635C40.7532 41.9961 40.1746 42.7133 39.8094 43.5262C38.4265 46.6031 38.8029 49.4969 40.8479 52.1766C41.1881 52.6232 41.432 52.6443 41.8321 52.2301C43.2903 50.717 44.7805 49.2363 46.2595 47.7443C46.4379 47.5654 46.6247 47.3963 46.9245 47.1117C46.9579 47.4625 46.9955 47.6753 46.9955 47.8936C46.9955 52.6584 46.9858 57.4232 47.0137 62.188C47.0137 62.8741 46.7753 62.9981 46.1633 62.9783C39.9223 62.7867 33.8514 58.1544 31.989 52.0554C30.2981 46.5228 31.2167 41.4467 34.777 36.8862C35.0753 36.5044 35.4211 36.1578 35.7807 35.7549Z" fill="#161616"/>
|
||||||
|
<path d="M47.8825 31.0339C54.9278 31.396 61.0434 36.6793 62.4695 43.6996C63.5401 48.9716 62.2199 53.6279 58.7711 57.7051C58.332 58.2222 58.0616 58.2475 57.582 57.7418C56.1546 56.2385 54.6881 54.7662 53.2035 53.3151C52.7769 52.8995 52.7615 52.6403 53.1407 52.1655C56.708 47.7191 54.9306 41.3172 49.5999 39.3843C49.0114 39.1667 48.394 39.039 47.7682 39.0053C47.1032 38.9757 46.968 38.6925 46.9764 38.0895C47.0043 36.0241 46.9862 33.9587 46.9875 31.8905C46.9889 30.9959 47.0001 30.9889 47.8825 31.0339Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M62.1311 31.0236C63.7703 31.0236 65.4073 31.0061 67.0443 31.0236C69.1042 31.0543 69.4424 31.681 68.3886 33.5503C65.3531 38.941 62.3096 44.3252 59.2581 49.7027C57.1275 53.469 54.9939 57.2359 52.8575 61.0036C51.4091 63.5433 50.2751 63.5653 48.8505 61.0671C47.3523 58.4375 45.9321 55.7684 44.3926 53.1782C43.9069 52.3565 43.8983 51.778 44.3796 50.9387C47.9384 44.7371 51.4568 38.5137 54.9347 32.2683C55.429 31.3918 55.9776 30.9535 57.014 31.0039C58.7161 31.0784 60.4247 31.0236 62.1311 31.0236Z" fill="#161616"/>
|
||||||
|
<path d="M32.0776 62.9718C30.4406 62.9718 28.8014 63.0135 27.1665 62.9587C25.1696 62.8929 24.5061 61.863 25.4623 60.1494C28.852 54.0968 32.2814 48.0677 35.7506 42.0619C36.5681 40.6419 37.7259 40.6156 38.5802 42.0488C40.3755 45.0531 42.0299 48.1451 43.784 51.1736C44.2567 51.9866 43.9575 52.6067 43.5802 53.2795C42.0082 56.0997 40.408 58.9025 38.8838 61.749C38.3525 62.7417 37.6457 63.0507 36.5724 62.9937C35.0806 62.9105 33.5759 62.9718 32.0776 62.9718Z" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg width="94" height="94" viewBox="0 0 94 94" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M48.04 43.934C48.04 45.329 49.171 46.46 50.566 46.46H55.2295C59.7966 46.4601 63.4988 50.1624 63.499 54.7295C63.499 59.2968 59.7967 62.9999 55.2295 63H49.4849C48.0899 63 46.959 61.8691 46.959 60.474V50.066C46.959 48.671 45.8281 47.54 44.433 47.54H39.7695C35.2025 47.5398 31.5002 43.8375 31.5 39.2705C31.5 34.7033 35.2024 31.0003 39.7695 31H45.5141C46.9091 31 48.04 32.1309 48.04 33.526V43.934Z" fill="#161616"/>
|
||||||
|
<ellipse cx="57.1546" cy="37.3469" rx="6.34605" ry="6.3459" fill="#161616"/>
|
||||||
|
<ellipse cx="37.846" cy="56.6535" rx="6.34605" ry="6.3459" fill="#161616"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 676 B |