refactor(responsive): Adjust breakpoint from md to lg for better layout
The previous `md` breakpoint (768px) caused the desktop layout to activate too early, resulting in a cramped appearance on tablet-sized screens. This commit updates the responsive design by changing the primary breakpoint from `md` to `lg` (1024px) across the home page, contact page, and main layouts. This change ensures a more appropriate and visually balanced layout is maintained on medium-sized devices, improving the overall user experience.
This commit is contained in:
@@ -38,7 +38,7 @@ const ContactUsPage = () => {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col items-center mt-16 px-8 ">
|
<div className="flex flex-col items-center mt-16 px-8 ">
|
||||||
<section className="border border-gray-300 rounded-4xl w-full md:max-w-2/3 flex flex-col items-center bg-white">
|
<section className="border border-gray-300 rounded-4xl w-full lg:max-w-2/3 flex flex-col items-center bg-white">
|
||||||
<ContactUsForm columnsPerRow={1} />
|
<ContactUsForm columnsPerRow={1} />
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ const geistMono = Geist_Mono({
|
|||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Opp lens - AI-Powered Tender Management",
|
title: "Opp lens - AI-Powered Tender Management",
|
||||||
description: "Democratizing Tender Access for SMEs with AI-Powered Tender Management.",
|
description:
|
||||||
|
"Democratizing Tender Access for SMEs with AI-Powered Tender Management.",
|
||||||
icons: {
|
icons: {
|
||||||
icon: "/fav-icon.svg",
|
icon: "/fav-icon.svg",
|
||||||
},
|
},
|
||||||
@@ -98,8 +99,8 @@ export default async function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<body
|
<body
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain md:bg-cover`}>
|
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain lg:bg-cover`}>
|
||||||
<header className="flex justify-center pt-8 items-center pb-4 container px-4 py-4 m-auto md:px-28 md:justify-between flex-wrap gap-5">
|
<header className="flex justify-center pt-8 items-center pb-4 container px-4 py-4 m-auto lg:px-28 lg:justify-between flex-wrap gap-5">
|
||||||
<section>
|
<section>
|
||||||
<Link
|
<Link
|
||||||
href="/"
|
href="/"
|
||||||
@@ -133,7 +134,7 @@ export default async function RootLayout({
|
|||||||
<div className="container px-4 py-4 m-auto flex-grow">{children}</div>
|
<div className="container px-4 py-4 m-auto flex-grow">{children}</div>
|
||||||
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-40">
|
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-40">
|
||||||
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center mt-24 ">
|
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center mt-24 ">
|
||||||
<div className="flex justify-between flex-col md:flex-row gap-14 w-full md:w-1/2">
|
<div className="flex justify-between flex-col lg:flex-row gap-14 w-full lg:w-1/2">
|
||||||
<div className="flex flex-col gap-10">
|
<div className="flex flex-col gap-10">
|
||||||
<Image
|
<Image
|
||||||
src={"/footer-logo.svg"}
|
src={"/footer-logo.svg"}
|
||||||
|
|||||||
+5
-5
@@ -43,8 +43,8 @@ export default function Home() {
|
|||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<main>
|
<main>
|
||||||
<section className="md:flex md:flex-row justify-around items-center">
|
<section className="lg:flex lg:flex-row justify-around items-center">
|
||||||
<div className=" md:ml-28 w-full md:w-1/2 flex flex-col gap-10">
|
<div className=" lg:ml-28 w-full lg:w-1/2 flex flex-col gap-10">
|
||||||
<h1 className="font-black text-8xl text-[#013280]">AI-Powered</h1>
|
<h1 className="font-black text-8xl text-[#013280]">AI-Powered</h1>
|
||||||
<h2 className="font-black text-(--primary) text-5xl leading-14">
|
<h2 className="font-black text-(--primary) text-5xl leading-14">
|
||||||
Tender
|
Tender
|
||||||
@@ -62,7 +62,7 @@ export default function Home() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="m-auto mt-5 w-xs -z-20 relative flex justify-center h-[650px] md:h-[750px] md:w-auto">
|
<div className="m-auto mt-5 w-xs -z-20 relative flex justify-center h-[650px] lg:h-[750px] lg:w-auto">
|
||||||
<Image
|
<Image
|
||||||
src={"/dynamic-island.svg"}
|
src={"/dynamic-island.svg"}
|
||||||
alt="dynamic island"
|
alt="dynamic island"
|
||||||
@@ -80,8 +80,8 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section className="text-left flex flex-col gap-6 bg-gradient-to-b from-[#011132] to-[#012B80] text-white rounded-[56px] relative p-6 md:p-14 -mt-16 z-20 md:ml-28">
|
<section className="text-left flex flex-col gap-6 bg-gradient-to-b from-[#011132] to-[#012B80] text-white rounded-[56px] relative p-6 lg:p-14 -mt-16 z-20 lg:ml-28">
|
||||||
<div className="md:flex gap-5 text-center">
|
<div className="lg:flex gap-5 text-center">
|
||||||
{advItems.map((item) => (
|
{advItems.map((item) => (
|
||||||
<article
|
<article
|
||||||
key={item.title}
|
key={item.title}
|
||||||
|
|||||||
@@ -98,8 +98,8 @@ export default async function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<body
|
<body
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain md:bg-cover`}>
|
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain lg:bg-cover`}>
|
||||||
<header className="flex justify-center pt-8 md:justify-between items-center pb-4 container px-4 py-4 m-auto">
|
<header className="flex justify-center pt-8 lg:justify-between items-center pb-4 container px-4 py-4 m-auto">
|
||||||
<Link
|
<Link
|
||||||
href="/"
|
href="/"
|
||||||
aria-label="Opp lens home">
|
aria-label="Opp lens home">
|
||||||
@@ -129,7 +129,7 @@ export default async function RootLayout({
|
|||||||
<main className="container px-4 py-4 m-auto flex-grow">{children}</main>
|
<main className="container px-4 py-4 m-auto flex-grow">{children}</main>
|
||||||
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-20">
|
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-20">
|
||||||
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center">
|
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center">
|
||||||
<div className="flex justify-between flex-col md:flex-row gap-14 w-full md:w-1/2 mt-20">
|
<div className="flex justify-between flex-col lg:flex-row gap-14 w-full lg:w-1/2 mt-20">
|
||||||
<div className="flex flex-col gap-10">
|
<div className="flex flex-col gap-10">
|
||||||
<Image
|
<Image
|
||||||
src={"/footer-logo.svg"}
|
src={"/footer-logo.svg"}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import ContactUs from "../_contact-us/page";
|
|||||||
|
|
||||||
const FooterForm = () => {
|
const FooterForm = () => {
|
||||||
return (
|
return (
|
||||||
<div className="absolute w-full -top-[420px] md:-top-72 z-10">
|
<div className="absolute w-full -top-[420px] lg:-top-72 z-10">
|
||||||
<ContactUs />
|
<ContactUs />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { usePathname } from "next/navigation";
|
|||||||
export default function HeaderButtons() {
|
export default function HeaderButtons() {
|
||||||
const pathname = usePathname();
|
const pathname = usePathname();
|
||||||
return (
|
return (
|
||||||
<div className="flex justify-between items-center gap-5 mt-4 md:mt-0">
|
<div className="flex justify-between items-center gap-5 mt-4 lg:mt-0">
|
||||||
<Link
|
<Link
|
||||||
href={pathname.includes("contact-us") ? "/" : "/contact-us"}
|
href={pathname.includes("contact-us") ? "/" : "/contact-us"}
|
||||||
className="text-(--primary)">
|
className="text-(--primary)">
|
||||||
|
|||||||
@@ -38,22 +38,22 @@ const ContactUsForm = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const gridColsClass = {
|
const gridColsClass = {
|
||||||
1: "md:grid-cols-1",
|
1: "lg:grid-cols-1",
|
||||||
2: "md:grid-cols-2",
|
2: "lg:grid-cols-2",
|
||||||
3: "md:grid-cols-3",
|
3: "lg:grid-cols-3",
|
||||||
4: "md:grid-cols-4",
|
4: "lg:grid-cols-4",
|
||||||
}[columnsPerRow];
|
}[columnsPerRow];
|
||||||
|
|
||||||
const colSpanClass = {
|
const colSpanClass = {
|
||||||
1: "md:col-span-1",
|
1: "lg:col-span-1",
|
||||||
2: "md:col-span-2",
|
2: "lg:col-span-2",
|
||||||
3: "md:col-span-3",
|
3: "lg:col-span-3",
|
||||||
4: "md:col-span-4",
|
4: "lg:col-span-4",
|
||||||
}[columnsPerRow];
|
}[columnsPerRow];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<form
|
<form
|
||||||
className={`w-full px-4 md:px-16 py-10 grid ${gridColsClass} gap-4`}
|
className={`w-full px-4 lg:px-16 py-10 grid ${gridColsClass} gap-4`}
|
||||||
onSubmit={handleSubmit(onSubmit)}>
|
onSubmit={handleSubmit(onSubmit)}>
|
||||||
<InputGroup
|
<InputGroup
|
||||||
id="full_name"
|
id="full_name"
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ import ContactUsForm from "./form";
|
|||||||
const ContactUs = () => {
|
const ContactUs = () => {
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col items-center mt-16 px-8 ">
|
<div className="flex flex-col items-center mt-16 px-8 ">
|
||||||
<div className="md:w-2/3 m-auto flex flex-col gap-4 mb-12">
|
<div className="lg:w-2/3 m-auto flex flex-col gap-4 mb-12">
|
||||||
<h2 className="font-bold text-4xl">Unlock Your Growth Potential</h2>
|
<h2 className="font-bold text-4xl">Unlock Your Growth Potential</h2>
|
||||||
<p className="font-normal text-[16px] text-gray-600">
|
<p className="font-normal text-[16px] text-gray-600">
|
||||||
Register for early access and a free consultation. Let's start winning
|
Register for early access and a free consultation. Let's start winning
|
||||||
together.
|
together.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<section className="border border-gray-300 rounded-4xl w-full md:max-w-2/3 flex flex-col items-center bg-white">
|
<section className="border border-gray-300 rounded-4xl w-full lg:max-w-2/3 flex flex-col items-center bg-white">
|
||||||
<ContactUsForm />
|
<ContactUsForm />
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+18
-18
@@ -47,20 +47,20 @@ export default function Home() {
|
|||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<section className="block md:flex justify-around items-center">
|
<section className="block lg:flex justify-around items-center">
|
||||||
<div className="flex gap-4 w-full md:w-1/2 font-bold text-4xl text-center flex-col bg-gray-400/10 p-10 rounded-[40px] h-fit mb-16 backdrop-blur-2xl">
|
<div className="flex gap-4 w-full lg:w-1/2 font-bold text-4xl text-center flex-col bg-gray-400/10 p-10 rounded-[40px] h-fit mb-16 backdrop-blur-2xl">
|
||||||
<div className="flex flex-col gap-8">
|
<div className="flex flex-col gap-8">
|
||||||
<h2>
|
<h2>
|
||||||
<span>$</span>
|
<span>$</span>
|
||||||
<span>12,345,678</span>
|
<span>12,345,678</span>
|
||||||
</h2>
|
</h2>
|
||||||
<h2 className="capitalize text-2xl font-bold md:text-3xl">
|
<h2 className="capitalize text-2xl font-bold lg:text-3xl">
|
||||||
total tender amount you missed today
|
total tender amount you missed today
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<ApexChart />
|
<ApexChart />
|
||||||
</div>
|
</div>
|
||||||
<div className="m-auto w-xs md:m-0 md:w-auto -z-20 relative flex justify-center h-[650px] md:h-[750px]">
|
<div className="m-auto w-xs lg:m-0 lg:w-auto -z-20 relative flex justify-center h-[650px] lg:h-[750px]">
|
||||||
<Image
|
<Image
|
||||||
src={"/dynamic-island.svg"}
|
src={"/dynamic-island.svg"}
|
||||||
alt="dynamic island"
|
alt="dynamic island"
|
||||||
@@ -78,7 +78,7 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section className="text-left flex flex-col gap-6 bg-gradient-to-b from-[#011132] to-[#012B80] text-white rounded-[56px] relative p-6 md:p-14 -mt-16 z-20 md:ml-28">
|
<section className="text-left flex flex-col gap-6 bg-gradient-to-b from-[#011132] to-[#012B80] text-white rounded-[56px] relative p-6 lg:p-14 -mt-16 z-20 lg:ml-28">
|
||||||
<hgroup>
|
<hgroup>
|
||||||
<h1 className="capitalize font-extrabold text-5xl mb-6">
|
<h1 className="capitalize font-extrabold text-5xl mb-6">
|
||||||
democratizing the world of tenders
|
democratizing the world of tenders
|
||||||
@@ -91,14 +91,14 @@ export default function Home() {
|
|||||||
</p>
|
</p>
|
||||||
</hgroup>
|
</hgroup>
|
||||||
<div className="flex justify-end">
|
<div className="flex justify-end">
|
||||||
<button className="w-full md:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
<button className="w-full lg:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
||||||
Get early access
|
Get early access
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<article className="mt-40">
|
<article className="mt-40">
|
||||||
<hgroup>
|
<hgroup>
|
||||||
<h4 className="capitalize font-bold text-2xl md:text-4xl">
|
<h4 className="capitalize font-bold text-2xl lg:text-4xl">
|
||||||
your in-house tender department, powered by
|
your in-house tender department, powered by
|
||||||
<span className="uppercase">ai</span>
|
<span className="uppercase">ai</span>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -108,7 +108,7 @@ export default function Home() {
|
|||||||
</small>
|
</small>
|
||||||
</hgroup>
|
</hgroup>
|
||||||
</article>
|
</article>
|
||||||
<section className="flex flex-col gap-4 md:flex-row">
|
<section className="flex flex-col gap-4 lg:flex-row">
|
||||||
{centerFrames.map((frame, index) => (
|
{centerFrames.map((frame, index) => (
|
||||||
<article
|
<article
|
||||||
key={frame.description}
|
key={frame.description}
|
||||||
@@ -124,7 +124,7 @@ export default function Home() {
|
|||||||
</article>
|
</article>
|
||||||
))}
|
))}
|
||||||
</section>
|
</section>
|
||||||
<section className="mt-36 bg-[#F7FAFF] px-4 py-6 rounded-4xl flex flex-col gap-9 md:p-16">
|
<section className="mt-36 bg-[#F7FAFF] px-4 py-6 rounded-4xl flex flex-col gap-9 lg:p-16">
|
||||||
<div className="flex flex-col gap-4">
|
<div className="flex flex-col gap-4">
|
||||||
<h2 className=" font-bold text-4xl">
|
<h2 className=" font-bold text-4xl">
|
||||||
Tired of Complex Tenders & Lost Opportunities?
|
Tired of Complex Tenders & Lost Opportunities?
|
||||||
@@ -134,8 +134,8 @@ export default function Home() {
|
|||||||
an uphill battle.
|
an uphill battle.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<ul className="flex flex-col gap-4 md:flex-row md:justify-between">
|
<ul className="flex flex-col gap-4 lg:flex-row lg:justify-between">
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/clock.svg"}
|
src={"/clock.svg"}
|
||||||
@@ -150,7 +150,7 @@ export default function Home() {
|
|||||||
monitor the market and prepare high-quality bids.
|
monitor the market and prepare high-quality bids.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/clipboard.svg"}
|
src={"/clipboard.svg"}
|
||||||
@@ -165,7 +165,7 @@ export default function Home() {
|
|||||||
corporations with dedicated tender departments.
|
corporations with dedicated tender departments.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/arrow-up.svg"}
|
src={"/arrow-up.svg"}
|
||||||
@@ -182,14 +182,14 @@ export default function Home() {
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section className="flex flex-col mt-36 gap-10 px-2 md:w-3/4 m-auto">
|
<section className="flex flex-col mt-36 gap-10 px-2 lg:w-3/4 m-auto">
|
||||||
<div>
|
<div>
|
||||||
<h2 className="font-bold text-2xl md:text-4xl">
|
<h2 className="font-bold text-2xl lg:text-4xl">
|
||||||
The Opplens Advantage
|
The Opplens Advantage
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<section className="flex flex-col gap-10 md:flex-row">
|
<section className="flex flex-col gap-10 lg:flex-row">
|
||||||
<div className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl md:pb-20">
|
<div className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl lg:pb-20">
|
||||||
<Image
|
<Image
|
||||||
src={"/people.svg"}
|
src={"/people.svg"}
|
||||||
width={48}
|
width={48}
|
||||||
@@ -205,7 +205,7 @@ export default function Home() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl md:pb-20">
|
<div className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl lg:pb-20">
|
||||||
<Image
|
<Image
|
||||||
src={"/shield-tick.svg"}
|
src={"/shield-tick.svg"}
|
||||||
width={48}
|
width={48}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export default async function RootLayout({
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<body
|
<body
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col min-h-screen bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain`}>
|
className={`${geistSans.variable} ${geistMono.variable} antialiased flex flex-col min-h-screen bg-[url('/header-bg.svg')] bg-top-right bg-no-repeat bg-contain`}>
|
||||||
<header className="flex justify-center pt-8 md:justify-between items-center pb-4 container px-4 py-4 m-auto">
|
<header className="flex justify-center pt-8 lg:justify-between items-center pb-4 container px-4 py-4 m-auto">
|
||||||
<Link
|
<Link
|
||||||
href="/"
|
href="/"
|
||||||
aria-label="Opp lens home">
|
aria-label="Opp lens home">
|
||||||
@@ -130,14 +130,14 @@ export default async function RootLayout({
|
|||||||
<main className="container px-4 py-4 m-auto flex-grow">{children}</main>
|
<main className="container px-4 py-4 m-auto flex-grow">{children}</main>
|
||||||
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-96">
|
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-96">
|
||||||
<div
|
<div
|
||||||
className="absolute w-full -top-[355px] md:-top-72 h-[600px] z-[-10] bg-[url('/bottom-bg.svg')] bg-contain bg-no-repeat bg-right"
|
className="absolute w-full -top-[355px] lg:-top-72 h-[600px] z-[-10] bg-[url('/bottom-bg.svg')] bg-contain bg-no-repeat bg-right"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<FooterForm />
|
<FooterForm />
|
||||||
|
|
||||||
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center mt-96 ">
|
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center mt-96 ">
|
||||||
<div className="flex justify-between flex-col md:flex-row gap-14 w-full md:w-1/2">
|
<div className="flex justify-between flex-col lg:flex-row gap-14 w-full lg:w-1/2">
|
||||||
<div className="flex flex-col gap-10">
|
<div className="flex flex-col gap-10">
|
||||||
<Image
|
<Image
|
||||||
src={"/footer-logo.svg"}
|
src={"/footer-logo.svg"}
|
||||||
|
|||||||
+16
-16
@@ -45,8 +45,8 @@ export default function Home() {
|
|||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<section className="flex flex-col justify-center md:justify-between md:flex-row items-center">
|
<section className="flex flex-col justify-center lg:justify-between lg:flex-row items-center">
|
||||||
<section className="text-left md:w-1/2 flex flex-col gap-6 bg-gradient-to-b rounded-[56px] relative p-6 md:p-14 z-20 md:ml-28">
|
<section className="text-left lg:w-1/2 flex flex-col gap-6 bg-gradient-to-b rounded-[56px] relative p-6 lg:p-14 z-20 lg:ml-28">
|
||||||
<hgroup>
|
<hgroup>
|
||||||
<h1 className="capitalize font-extrabold text-5xl mb-6">
|
<h1 className="capitalize font-extrabold text-5xl mb-6">
|
||||||
democratizing the world of tenders
|
democratizing the world of tenders
|
||||||
@@ -61,12 +61,12 @@ export default function Home() {
|
|||||||
<div className="flex justify-start text-white">
|
<div className="flex justify-start text-white">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="w-2/3 md:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
className="w-2/3 lg:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
||||||
Get early access
|
Get early access
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<div className="m-auto w-xs md:m-0 md:w-auto -z-20 relative flex justify-center h-[650px] md:h-[750px] md:mr-28">
|
<div className="m-auto w-xs lg:m-0 lg:w-auto -z-20 relative flex justify-center h-[650px] lg:h-[750px] lg:mr-28">
|
||||||
<Image
|
<Image
|
||||||
src={"/dynamic-island.svg"}
|
src={"/dynamic-island.svg"}
|
||||||
alt="dynamic island"
|
alt="dynamic island"
|
||||||
@@ -87,7 +87,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<section className="mt-10 text-center">
|
<section className="mt-10 text-center">
|
||||||
<hgroup>
|
<hgroup>
|
||||||
<h2 className="capitalize font-bold text-2xl md:text-4xl">
|
<h2 className="capitalize font-bold text-2xl lg:text-4xl">
|
||||||
your in-house tender department, powered by
|
your in-house tender department, powered by
|
||||||
<span className="uppercase">ai</span>
|
<span className="uppercase">ai</span>
|
||||||
</h2>
|
</h2>
|
||||||
@@ -97,7 +97,7 @@ export default function Home() {
|
|||||||
</p>
|
</p>
|
||||||
</hgroup>
|
</hgroup>
|
||||||
</section>
|
</section>
|
||||||
<section className="flex flex-col gap-4 md:flex-row">
|
<section className="flex flex-col gap-4 lg:flex-row">
|
||||||
{centerFrames.map((frame, index) => (
|
{centerFrames.map((frame, index) => (
|
||||||
<article
|
<article
|
||||||
key={frame.description}
|
key={frame.description}
|
||||||
@@ -113,7 +113,7 @@ export default function Home() {
|
|||||||
</article>
|
</article>
|
||||||
))}
|
))}
|
||||||
</section>
|
</section>
|
||||||
<section className="mt-36 bg-[#F7FAFF] px-4 py-6 rounded-4xl flex flex-col gap-9 md:p-16">
|
<section className="mt-36 bg-[#F7FAFF] px-4 py-6 rounded-4xl flex flex-col gap-9 lg:p-16">
|
||||||
<div className="flex flex-col gap-4">
|
<div className="flex flex-col gap-4">
|
||||||
<h2 className=" font-bold text-4xl">
|
<h2 className=" font-bold text-4xl">
|
||||||
Tired of Complex Tenders & Lost Opportunities?
|
Tired of Complex Tenders & Lost Opportunities?
|
||||||
@@ -123,8 +123,8 @@ export default function Home() {
|
|||||||
an uphill battle.
|
an uphill battle.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<ul className="flex flex-col gap-4 md:flex-row md:justify-between">
|
<ul className="flex flex-col gap-4 lg:flex-row lg:justify-between">
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/clock.svg"}
|
src={"/clock.svg"}
|
||||||
@@ -139,7 +139,7 @@ export default function Home() {
|
|||||||
monitor the market and prepare high-quality bids.
|
monitor the market and prepare high-quality bids.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/clipboard.svg"}
|
src={"/clipboard.svg"}
|
||||||
@@ -154,7 +154,7 @@ export default function Home() {
|
|||||||
corporations with dedicated tender departments.
|
corporations with dedicated tender departments.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li className="flex flex-col gap-4 md:w-80">
|
<li className="flex flex-col gap-4 lg:w-80">
|
||||||
<div className="p-4">
|
<div className="p-4">
|
||||||
<Image
|
<Image
|
||||||
src={"/arrow-up.svg"}
|
src={"/arrow-up.svg"}
|
||||||
@@ -171,12 +171,12 @@ export default function Home() {
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section className="flex flex-col mt-36 gap-10 px-2 md:w-3/4 m-auto text-center">
|
<section className="flex flex-col mt-36 gap-10 px-2 lg:w-3/4 m-auto text-center">
|
||||||
<h2 className="font-bold text-2xl md:text-4xl">
|
<h2 className="font-bold text-2xl lg:text-4xl">
|
||||||
The Opplens Advantage
|
The Opplens Advantage
|
||||||
</h2>
|
</h2>
|
||||||
<div className="flex flex-col gap-10 md:flex-row">
|
<div className="flex flex-col gap-10 lg:flex-row">
|
||||||
<article className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl md:pb-20">
|
<article className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl lg:pb-20">
|
||||||
<Image
|
<Image
|
||||||
src={"people.svg"}
|
src={"people.svg"}
|
||||||
width={48}
|
width={48}
|
||||||
@@ -192,7 +192,7 @@ export default function Home() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<article className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl md:pb-20">
|
<article className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl lg:pb-20">
|
||||||
<Image
|
<Image
|
||||||
src={"shield-tick.svg"}
|
src={"shield-tick.svg"}
|
||||||
width={48}
|
width={48}
|
||||||
|
|||||||
Reference in New Issue
Block a user