Compare commits

..

73 Commits

Author SHA1 Message Date
5df69d2913 Update src/app/page.tsx 2026-04-26 14:18:00 +00:00
b2736ccef6 Update src/app/fleet/page.tsx 2026-04-26 14:17:59 +00:00
23cdd4ba99 Update src/app/contact/page.tsx 2026-04-26 14:17:59 +00:00
00f1a4614a Merge version_28 into main
Merge version_28 into main
2026-04-26 14:16:59 +00:00
d3082e7dda Update src/app/page.tsx 2026-04-26 14:16:53 +00:00
19eaecaa61 Update src/app/fleet/page.tsx 2026-04-26 14:16:52 +00:00
ce45b10c14 Merge version_28 into main
Merge version_28 into main
2026-04-26 14:16:21 +00:00
37ad040a0e Update src/app/page.tsx 2026-04-26 14:16:18 +00:00
d0fe08c670 Update src/app/fleet/page.tsx 2026-04-26 14:16:17 +00:00
f186e70c61 Update src/app/contact/page.tsx 2026-04-26 14:16:17 +00:00
7785c8bf05 Merge version_27 into main
Merge version_27 into main
2026-04-26 14:14:56 +00:00
6b89b09e21 Update src/app/page.tsx 2026-04-26 14:14:53 +00:00
87b3a4b09f Merge version_26 into main
Merge version_26 into main
2026-04-26 14:14:14 +00:00
a952712a0e Update src/app/page.tsx 2026-04-26 14:14:11 +00:00
ad69735615 Update src/app/fleet/page.tsx 2026-04-26 14:14:10 +00:00
df5844d8a4 Update src/app/contact/page.tsx 2026-04-26 14:14:10 +00:00
fd9ca7627c Merge version_25 into main
Merge version_25 into main
2026-04-26 14:12:45 +00:00
968664bedf Update src/app/page.tsx 2026-04-26 14:12:42 +00:00
ccd6453156 Update src/app/fleet/page.tsx 2026-04-26 14:12:41 +00:00
bd0420552d Update src/app/contact/page.tsx 2026-04-26 14:12:40 +00:00
9adeb4a281 Merge version_24 into main
Merge version_24 into main
2026-04-26 14:09:46 +00:00
670a01e849 Update src/app/page.tsx 2026-04-26 14:09:42 +00:00
14c60f2cb3 Update src/app/fleet/page.tsx 2026-04-26 14:09:42 +00:00
a4f7a7d6cf Update src/app/contact/page.tsx 2026-04-26 14:09:41 +00:00
82ef1197ca Merge version_24 into main
Merge version_24 into main
2026-04-26 14:09:04 +00:00
31596e7a10 Update src/app/page.tsx 2026-04-26 14:09:01 +00:00
9818326f70 Update src/app/fleet/page.tsx 2026-04-26 14:09:00 +00:00
cef768035b Update src/app/contact/page.tsx 2026-04-26 14:09:00 +00:00
f108f0258c Merge version_23 into main
Merge version_23 into main
2026-04-26 14:07:10 +00:00
5bf7b4dc26 Update src/app/page.tsx 2026-04-26 14:07:06 +00:00
5e94724aff Update src/app/fleet/page.tsx 2026-04-26 14:07:06 +00:00
089ba2a600 Update src/app/contact/page.tsx 2026-04-26 14:07:05 +00:00
bbe4440ee8 Merge version_22 into main
Merge version_22 into main
2026-04-25 21:42:53 +00:00
6fbbdeeb2a Update src/app/page.tsx 2026-04-25 21:42:49 +00:00
02365183c7 Update src/app/fleet/page.tsx 2026-04-25 21:42:49 +00:00
2643da5553 Update src/app/contact/page.tsx 2026-04-25 21:42:48 +00:00
1dd56a2023 Merge version_21 into main
Merge version_21 into main
2026-04-25 21:41:43 +00:00
4cbec6ca27 Update src/app/page.tsx 2026-04-25 21:41:40 +00:00
961a8ace80 Update src/app/fleet/page.tsx 2026-04-25 21:41:40 +00:00
2d9ae2a9ea Update src/app/contact/page.tsx 2026-04-25 21:41:39 +00:00
cdeb1a22f1 Merge version_20 into main
Merge version_20 into main
2026-04-25 21:40:05 +00:00
01c73992ad Update src/app/page.tsx 2026-04-25 21:40:02 +00:00
bac05276ab Update src/app/fleet/page.tsx 2026-04-25 21:40:01 +00:00
c17fc14872 Update src/app/contact/page.tsx 2026-04-25 21:40:01 +00:00
53723f1b86 Merge version_19 into main
Merge version_19 into main
2026-04-25 21:33:28 +00:00
43d7614ef6 Update src/app/page.tsx 2026-04-25 21:33:22 +00:00
38ae71da99 Merge version_18 into main
Merge version_18 into main
2026-04-25 21:33:00 +00:00
4d6985f397 Update theme colors 2026-04-25 21:32:57 +00:00
8b59301201 Merge version_17 into main
Merge version_17 into main
2026-04-25 21:31:53 +00:00
d5d2600e62 Update theme fonts 2026-04-25 21:31:50 +00:00
0e2db7b01b Update theme fonts 2026-04-25 21:31:49 +00:00
e60bc48b7f Merge version_17 into main
Merge version_17 into main
2026-04-25 21:31:46 +00:00
a87890815c Update theme fonts 2026-04-25 21:31:42 +00:00
31d9541633 Update theme fonts 2026-04-25 21:31:42 +00:00
1a2d2925bc Merge version_17 into main
Merge version_17 into main
2026-04-25 21:31:38 +00:00
0f2cb23bb3 Update theme fonts 2026-04-25 21:31:35 +00:00
143bc69d05 Update theme fonts 2026-04-25 21:31:35 +00:00
507bf1b0c7 Merge version_17 into main
Merge version_17 into main
2026-04-25 21:31:21 +00:00
0a3c50f306 Update theme fonts 2026-04-25 21:31:20 +00:00
781dfb364a Update theme fonts 2026-04-25 21:31:19 +00:00
269a4da254 Update theme fonts 2026-04-25 21:31:18 +00:00
c81d811a5f Update theme fonts 2026-04-25 21:31:17 +00:00
8bd03fb16f Merge version_17 into main
Merge version_17 into main
2026-04-25 21:31:03 +00:00
ff759b8cfc Update theme colors 2026-04-25 21:31:00 +00:00
6d0d8ffa2e Merge version_16 into main
Merge version_16 into main
2026-04-25 21:29:40 +00:00
32d8a2efa2 Merge version_15 into main
Merge version_15 into main
2026-04-25 21:29:35 +00:00
3efd4264c4 Update theme colors 2026-04-25 21:29:34 +00:00
6774f79326 Merge version_14 into main
Merge version_14 into main
2026-04-25 21:29:32 +00:00
7358f54c09 Update theme colors 2026-04-25 21:29:32 +00:00
8c3768e39b Update theme colors 2026-04-25 21:29:29 +00:00
548615bec1 Merge version_12 into main
Merge version_12 into main
2026-04-25 21:24:15 +00:00
b4904a3cc6 Update src/app/page.tsx 2026-04-25 21:24:11 +00:00
be0417f192 Merge version_11 into main
Merge version_11 into main
2026-04-25 21:22:32 +00:00
6 changed files with 83 additions and 168 deletions

View File

@@ -4,7 +4,7 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -22,16 +22,14 @@ export default function LandingPage() {
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarStyleCentered
navItems={[ navItems={[
{ { name: "Home", id: "/" },
name: "Home", id: "/"}, { name: "Fleet", id: "/fleet" },
{ { name: "Contact", id: "/contact" },
name: "Fleet", id: "/fleet"},
{
name: "Contact", id: "/contact"},
]} ]}
brandName="CleanScene Restroom Rentals" brandName="CleanScene"
className="text-[#0a7039] font-bold"
/> />
</div> </div>
@@ -39,18 +37,13 @@ export default function LandingPage() {
<ContactSplitForm <ContactSplitForm
useInvertedBackground={false} useInvertedBackground={false}
title="Request a Free Estimate" title="Request a Free Estimate"
titleClassName="text-[#0a7039]"
description="Tell us about your event. We typically respond within 4 business hours." description="Tell us about your event. We typically respond within 4 business hours."
inputs={[ inputs={[
{ { name: "name", type: "text", placeholder: "Full Name", required: true },
name: "name", type: "text", placeholder: "Full Name", required: true, { name: "email", type: "email", placeholder: "Email Address", required: true },
},
{
name: "email", type: "email", placeholder: "Email Address", required: true,
},
]} ]}
textarea={{ textarea={{ name: "message", placeholder: "Tell us about your event details...", rows: 4 }}
name: "message", placeholder: "Tell us about your event details...", rows: 4,
}}
imageSrc="http://img.b2bpic.net/free-photo/happy-event-manager-banquet-hall_23-2148085332.jpg" imageSrc="http://img.b2bpic.net/free-photo/happy-event-manager-banquet-hall_23-2148085332.jpg"
/> />
</div> </div>
@@ -58,22 +51,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ { items: [{ label: "Home", href: "/" }, { label: "Fleet", href: "/fleet" }] },
items: [ { items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms", href: "#" }] },
{
label: "Home", href: "/"},
{
label: "Fleet", href: "/fleet"},
],
},
{
items: [
{
label: "Privacy Policy", href: "#"},
{
label: "Terms", href: "#"},
],
},
]} ]}
logoText="CleanScene Restroom Rentals" logoText="CleanScene Restroom Rentals"
/> />

View File

@@ -3,8 +3,8 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardThree from '@/components/sections/product/ProductCardThree'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -22,34 +22,30 @@ export default function LandingPage() {
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarStyleCentered
navItems={[ navItems={[
{ { name: "Home", id: "/" },
name: "Home", id: "/"}, { name: "Fleet", id: "/fleet" },
{ { name: "Contact", id: "/contact" },
name: "Fleet", id: "/fleet"},
{
name: "Contact", id: "/contact"},
]} ]}
brandName="CleanScene Restroom Rentals" brandName="CleanScene"
className="text-[#0a7039] font-bold"
/> />
</div> </div>
<div id="product" data-section="product"> <div id="product" data-section="product">
<ProductCardThree <ProductCardTwo
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="split-description"
gridVariant="uniform-all-items-equal" gridVariant="asymmetric-60-wide-40-narrow"
useInvertedBackground={false} useInvertedBackground={false}
title="Our Full Fleet Inventory" title="Our Full Fleet Inventory"
textBoxTitleClassName="text-[#0a7039]"
description="Explore our complete range of high-end mobile restroom solutions." description="Explore our complete range of high-end mobile restroom solutions."
products={[ products={[
{ { id: "f1", brand: "CleanScene", name: "2-Station Classic", price: "$750/day", rating: 5, reviewCount: "10+ reviews", imageSrc: "http://img.b2bpic.net/free-photo/backlit-mirror-minimalist-sink-spa-bathroom_169016-68891.jpg" },
id: "f1", name: "2-Station Classic", price: "$750/day", imageSrc: "http://img.b2bpic.net/free-photo/backlit-mirror-minimalist-sink-spa-bathroom_169016-68891.jpg"}, { id: "f2", brand: "CleanScene", name: "3-Station Executive", price: "$1200/day", rating: 5, reviewCount: "10+ reviews", imageSrc: "http://img.b2bpic.net/close-up-bathtub-with-faucet_1203-1500.jpg" },
{ { id: "f3", brand: "CleanScene", name: "5-Station Luxury Suite", price: "$1800/day", rating: 5, reviewCount: "10+ reviews", imageSrc: "http://img.b2bpic.net/small-bathroom-space-with-modern-style-furniture_23-2150864622.jpg" },
id: "f2", name: "3-Station Executive", price: "$1200/day", imageSrc: "http://img.b2bpic.net/free-photo/close-up-bathtub-with-faucet_1203-1500.jpg"},
{
id: "f3", name: "5-Station Luxury Suite", price: "$1800/day", imageSrc: "http://img.b2bpic.net/free-photo/small-bathroom-space-with-modern-style-furniture_23-2150864622.jpg"},
]} ]}
/> />
</div> </div>
@@ -57,22 +53,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ { items: [{ label: "Home", href: "/" }, { label: "Fleet", href: "/fleet" }] },
items: [ { items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms", href: "#" }] },
{
label: "Home", href: "/"},
{
label: "Fleet", href: "/fleet"},
],
},
{
items: [
{
label: "Privacy Policy", href: "#"},
{
label: "Terms", href: "#"},
],
},
]} ]}
logoText="CleanScene Restroom Rentals" logoText="CleanScene Restroom Rentals"
/> />

View File

@@ -6,6 +6,11 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Public_Sans } from "next/font/google"; import { Public_Sans } from "next/font/google";
import { Nunito } from "next/font/google";
import { Archivo } from "next/font/google";
import { Montserrat } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
import { Open_Sans } from "next/font/google";
@@ -18,12 +23,13 @@ export const metadata: Metadata = {
}, },
}; };
const publicSans = Public_Sans({
variable: "--font-public-sans",
subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter", const openSans = Open_Sans({
variable: "--font-open-sans",
subsets: ["latin"], subsets: ["latin"],
}); });
@@ -35,7 +41,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${publicSans.variable} ${inter.variable} antialiased`}> <body className={`${openSans.variable} antialiased`}>
{children} {children}
<script <script

View File

@@ -5,11 +5,10 @@ import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText'; import ContactText from '@/components/sections/contact/ContactText';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi'; import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import FeatureCardTwentyNine from '@/components/sections/feature/featureCardTwentyNine/FeatureCardTwentyNine'; import FeatureCardTwentyNine from '@/components/sections/feature/featureCardTwentyNine/FeatureCardTwentyNine';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout'; import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import { Crown, Snowflake, Star, Sparkles } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -27,68 +26,35 @@ export default function LandingPage() {
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarStyleCentered
navItems={[ navItems={[
{ { name: "Home", id: "/" },
name: "Home", id: "/"}, { name: "Fleet", id: "/fleet" },
{ { name: "Contact", id: "/contact" },
name: "Fleet", id: "/fleet"},
{
name: "Contact", id: "/contact"},
]} ]}
brandName="CleanScene Restroom Rentals" brandName="CleanScene"
className="text-[#0a7039] font-bold"
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplitKpi <HeroSplitKpi
background={{ background={{ variant: "gradient-bars" }}
variant: "gradient-bars"}}
title="Set the Scene for a Flawless Event" title="Set the Scene for a Flawless Event"
titleClassName="text-[#0a7039]"
description="Our trailers offer the comfort of an interior space with the quality of modern hospitality." description="Our trailers offer the comfort of an interior space with the quality of modern hospitality."
tag="Luxury Event Standards"
tagIcon={Crown}
kpis={[ kpis={[
{ { value: "10+", label: "Counties Served" },
value: "10+", label: "Counties Served"}, { value: "100%", label: "Guest Comfort" },
{ { value: "24/7", label: "Service" },
value: "100%", label: "Guest Comfort"},
{
value: "24/7", label: "Service"},
]} ]}
enableKpiAnimation={true} enableKpiAnimation={true}
buttons={[ buttons={[
{ { text: "Get My Free Quote", href: "/contact" },
text: "Get My Free Quote", href: "/contact"}, { text: "View The Fleet", href: "/fleet" },
{
text: "View The Fleet", href: "/fleet"},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-large-transparent-window-with-opened-door-outside-which-newlyweds-posing-embracing-balcony-their-wedding-day_8353-12102.jpg" imageSrc="http://img.b2bpic.net/free-photo/front-view-large-transparent-window-with-opened-door-outside-which-newlyweds-posing-embracing-balcony-their-wedding-day_8353-12102.jpg"
mediaAnimation="slide-up" mediaAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/couple-backs-sitting-bed-with-her-head-resting-his-shoulder_1157-1293.jpg", alt: "Couple of backs sitting on a bed with her head resting on his shoulder"},
{
src: "http://img.b2bpic.net/long-white-dinner-table-with-sparkling-glassware-candleholders-stands-beach_1304-3243.jpg", alt: "Long white dinner table with sparkling glassware and candleholders stands on the beach"},
{
src: "http://img.b2bpic.net/free-photo/table-setting-with-decorated-newlyweds-chairs-wedding-reception-hall_637285-989.jpg", alt: "Table setting with decorated newlyweds chairs in wedding reception hall"},
{
src: "http://img.b2bpic.net/free-photo/table-setting-with-floral-centerpiece-wedding-reception-venue_637285-5627.jpg", alt: "Table setting with floral centerpiece at wedding reception venue."},
{
src: "http://img.b2bpic.net/free-photo/floral-compositions-made-greenery-outdoors-wedding-ceremony_8353-9788.jpg", alt: "Floral compositions made of greenery at the outdoors wedding ceremony"},
]}
marqueeItems={[
{
type: "text", text: "Luxury Restroom Trailers"},
{
type: "text", text: "Northeast Wisconsin"},
{
type: "text", text: "Event Perfection"},
{
type: "text", text: "Seamless Logistics"},
{
type: "text", text: "Premium Hospitality"},
]}
/> />
</div> </div>
@@ -96,8 +62,10 @@ export default function LandingPage() {
<TextSplitAbout <TextSplitAbout
useInvertedBackground={false} useInvertedBackground={false}
title="The CleanScene Difference" title="The CleanScene Difference"
titleClassName="text-[#0a7039]"
description={[ description={[
"We believe restrooms shouldn't just be functional—they should be part of the event design.", "Our trailers offer the comfort of an interior space with the luxury of modern hospitality."]} "We believe restrooms shouldn't just be functional—they should be part of the event design.", "Our trailers offer the comfort of an interior space with the luxury of modern hospitality."
]}
/> />
</div> </div>
@@ -108,14 +76,11 @@ export default function LandingPage() {
gridVariant="asymmetric-60-wide-40-narrow" gridVariant="asymmetric-60-wide-40-narrow"
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ { id: "p1", brand: "CleanScene", name: "3-Station Private Suite", price: "Quote on Request", rating: 5, reviewCount: "", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-modern-wood-stone-white-bathroom_105762-2136.jpg" },
id: "p1", brand: "CleanScene", name: "3-Station Private Suite", price: "Quote on Request", rating: 5, { id: "p2", brand: "CleanScene", name: "Executive Comfort Series", price: "Quote on Request", rating: 5, reviewCount: "", imageSrc: "http://img.b2bpic.net/modern-bathroom-with-big-mirror_1203-1497.jpg" },
reviewCount: "24", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-modern-wood-stone-white-bathroom_105762-2136.jpg"},
{
id: "p2", brand: "CleanScene", name: "Executive Comfort Series", price: "Quote on Request", rating: 5,
reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-big-mirror_1203-1497.jpg"},
]} ]}
title="Our Curated Fleet" title="Our Curated Fleet"
textBoxTitleClassName="text-[#0a7039]"
description="Made-in-USA trailers designed for peak comfort." description="Made-in-USA trailers designed for peak comfort."
/> />
</div> </div>
@@ -127,14 +92,12 @@ export default function LandingPage() {
gridVariant="uniform-all-items-equal" gridVariant="uniform-all-items-equal"
useInvertedBackground={false} useInvertedBackground={false}
title="Modern Hospitality Standards" title="Modern Hospitality Standards"
cardTitleClassName="text-[#0a7039]"
description="Every detail of our rental fleet is meticulously maintained to ensure your event leaves a lasting impression." description="Every detail of our rental fleet is meticulously maintained to ensure your event leaves a lasting impression."
features={[ features={[
{ { title: "Advanced Climate Control", description: "Fully adjustable heating and cooling systems to keep guests comfortable regardless of the season.", imageSrc: "http://img.b2bpic.net/free-photo/view-beautiful-modern-hotel-interior_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/view-beautiful-modern-hotel-interior_23-2148777121.jpg", buttonText: "Learn More" },
title: "Advanced Climate Control", description: "Fully adjustable heating and cooling systems to keep guests comfortable regardless of the season.", imageSrc: "http://img.b2bpic.net/free-photo/view-beautiful-modern-hotel-interior_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/view-beautiful-modern-hotel-interior_23-2148777121.jpg", buttonText: "Learn More"}, { title: "Luxury Finishes", description: "Designer lighting, high-end vanity surfaces, and elegant trim throughout our trailers.", imageSrc: "http://img.b2bpic.net/free-photo/interior-design-concept-with-details_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/interior-design-concept-with-details_23-2148777121.jpg", buttonText: "Learn More" },
{ { title: "White-Glove Setup", description: "Our professional team handles every step from delivery to onsite staging to ensure perfection.", imageSrc: "http://img.b2bpic.net/free-photo/professional-team-working-together_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/professional-team-working-together_23-2148777121.jpg", buttonText: "Learn More" },
title: "Luxury Finishes", description: "Designer lighting, high-end vanity surfaces, and elegant trim throughout our trailers.", imageSrc: "http://img.b2bpic.net/free-photo/interior-design-concept-with-details_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/interior-design-concept-with-details_23-2148777121.jpg", buttonText: "Learn More"},
{
title: "White-Glove Setup", description: "Our professional team handles every step from delivery to onsite staging to ensure perfection.", imageSrc: "http://img.b2bpic.net/free-photo/professional-team-working-together_23-2148777121.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/professional-team-working-together_23-2148777121.jpg", buttonText: "Learn More"},
]} ]}
/> />
</div> </div>
@@ -142,12 +105,11 @@ export default function LandingPage() {
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{ variant: "plain" }}
variant: "plain"}}
text="Ready to elevate your event experience? Get in touch with our team today to secure your dates and discover our premium rental options." text="Ready to elevate your event experience? Get in touch with our team today to secure your dates and discover our premium rental options."
textClassName="text-[#0a7039]"
buttons={[ buttons={[
{ { text: "Request My Free Quote", href: "/contact" },
text: "Request My Free Quote", href: "/contact"},
]} ]}
/> />
</div> </div>
@@ -155,22 +117,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoEmphasis <FooterLogoEmphasis
columns={[ columns={[
{ { items: [{ label: "Home", href: "/" }, { label: "Fleet", href: "/fleet" }] },
items: [ { items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms", href: "#" }] },
{
label: "Home", href: "/"},
{
label: "Fleet", href: "/fleet"},
],
},
{
items: [
{
label: "Privacy Policy", href: "#"},
{
label: "Terms", href: "#"},
],
},
]} ]}
logoText="CleanScene Restroom Rentals" logoText="CleanScene Restroom Rentals"
/> />
@@ -178,4 +126,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-inter), sans-serif; font-family: var(--font-open-sans), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-public-sans), sans-serif; font-family: var(--font-open-sans), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #F7F4EF; --background: #ffffff;
--card: #ECE6DC; --card: #f9f9f9;
--foreground: #1C2A2F; --foreground: #000f06e6;
--primary-cta: #2F4F4F; --primary-cta: #0a7039;
--primary-cta-text: #ffffff; --primary-cta-text: #ffffff;
--secondary-cta: #ffffff; --secondary-cta: #f9f9f9;
--secondary-cta-text: #1C2A2F; --secondary-cta-text: #000f06e6;
--accent: #D9CFC0; --accent: #e2e2e2;
--background-accent: #D9CFC0; --background-accent: #c4c4c4;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);