Leeuwen2Wielers | Dé Fietsenspecialist van Rozenburg & Rotterdam — Sinds 1962
  Familiebedrijf · Rozenburg · Sinds 1962

Dé Fiets­specialist
van Rozenburg
& Rotterdam

Van e-bike reparatie tot custom racefiets build.
Eigen gecertificeerde werkplaats · Officieel dealer van
Specialized, Trek, Giant & Scott.

0+
Jaar vakmanschap
4.8★
Google rating
0+
Reviews
Leeuwen2Wielers werkplaats — gecertificeerde monteurs
★★★★★
127 Google Reviews
4.8
E-Bike service Rozenburg E-Bike Service
Custom race builds Custom Builds 🔥
Bosch Service Center
·
Shimano gecertificeerd
·
Retül 3D Bikefitting Partner
·
Lease a Bike Partner
·
BikeExchange aangesloten

Eigen Werkplaats

Gecertificeerde monteurs voor alle merken en types fietsen.

Bosch & Shimano Service

Officieel gecertificeerd e-bike service center.

Eerlijk Advies

Proefrijden altijd mogelijk. Geen druk, gewoon vakmanschap.

Sinds 1962 in Rozenburg

Familiebedrijf. Generaties vertrouwen al op ons.

Ons Assortiment

Jouw fiets,
onze expertise

Van high-end racefiets tot dagelijkse e-bike — voor elk gebruik en budget de perfecte fiets bij ons in de winkel.

E-Bikes en Stadsfietsen
🔥 Populairste keuze

E-Bikes &
Stadsfietsen

Grootste keuze e-bikes in regio Rotterdam. Bosch, Shimano Steps & Yamaha systemen.

Bekijk collectie
Race Gravel MTB
Performance

Race · Gravel
· MTB

Sportfietsen van wereldklasse.

Bekijk modellen
Custom Builds op maat
Op Maat

Custom
Builds 🔥

Jouw droomfiets tot in detail.

Start een build
Onze Diensten

Alles onder één dak

Van aankoop tot onderhoud, van bikefitting tot inruil — wij begeleiden u door het hele fietsavontuur.

E-Bike Verkoop & Service

Officieel Bosch & Shimano Service Center. Diagnose, accu-check, software updates en reparaties voor alle merken.

Meer info

Werkplaats & Onderhoud

Van kleine reparatie tot complete revisie. Vakkundige monteurs voor alle merken, service binnen 24–48 uur.

Plan afspraak

3D Bikefitting

Retül Motion Capture technologie. Optimaliseer uw zithouding, voorkom blessures en verbeter prestaties.

Boek fitting

Inruil & Occasions

Eerlijk inruilbeleid zonder gedoe. Transparante waardering, wisselend aanbod occasions.

Vraag inruilprijs

Bedrijfsfietsen & Lease

Lease a Bike partner. Fiscaal voordelige leaseplannen en vlootbeheer voor Botlek & Europoort.

Meer info

Custom Builds 🔥

Jouw droomfiets tot in het kleinste detail. Van framekeuze tot componentenopbouw — volledig op maat.

Start een build

Onderdelen & Accessoires

Wielsets, banden, kleding, schoenen en sportvoeding. Topmerken altijd op voorraad.

Bekijk assortiment

Proefrit & Advies

Nooit een fiets kopen zonder te rijden. Proefrijden altijd welkom — eerlijk persoonlijk advies voorop.

Plan proefrit
Onze werkplaats
Onze Werkplaats
E-bike specialist
E-Bike Specialist
Race Gravel MTB
Race · Gravel · MTB
Leeuwen2Wielers vakmanschap
60+
Jaar vakmanschap
Over Ons

Echt vakmanschap,
al meer dan 60 jaar

Leeuwen2Wielers is een echte fietsenzaak zoals het bedoeld is. Van vader op zoon, van staal naar carbon, van stadsfiets tot high-end racefiets.

We combineren ouderwets vakmanschap met moderne techniek. Klanten uit Rozenburg, Rotterdam, Spijkenisse en Maassluis vertrouwen al generaties lang op onze expertise.

Gecertificeerde monteurs voor alle merken
Officieel Bosch & Shimano service center
Proefrijden altijd mogelijk
Eerlijk inruilbeleid — geen gedoe
3D bikefitting met Retül technologie
Wat klanten zeggen

127+ tevreden klanten

4.8
★★★★★
127 Google Reviews
★★★★★

"Mijn custom racefiets perfect afgesteld — nooit meer terug naar een andere fietsenmaker! Super vakmanschap en eerlijk advies."

J
Jan de Vries
Rozenburg
Verified Google Review
★★★★★

"Snelle service en eerlijke prijzen. Mijn e-bike rijdt weer als nieuw. Vriendelijk, deskundig en altijd eerlijk."

M
Maria Jansen
Rotterdam
Verified Google Review
★★★★★

"Professionele bikefitting heeft mijn knieklachten volledig verholpen. Top service — echt een aanrader voor iedere fietser."

P
Peter Bakker
Voorne-Putten
Verified Google Review
Veelgestelde vragen

FAQ

Antwoorden op de meest gestelde vragen. Staat uw vraag er niet bij? Bel ons of stuur een WhatsApp.

Kan ik mijn e-bike laten repareren?
Ja! Wij zijn e-bike specialist voor alle merken — inclusief accu-diagnose, motor-diagnose en software updates. Officieel Bosch & Shimano Service Center. Kom langs aan de Emmastraat 37 in Rozenburg.
Doen jullie ook custom racefiets builds?
Ja! Wij bouwen custom racefietsen volledig op maat — van framekeuze tot componentenopbouw. Inclusief professionele 3D bikefitting met Retül Motion Capture voor de perfecte houding.
Kan ik mijn oude fiets inruilen?
Absoluut. Eerlijk inruilbeleid zonder gedoe. Transparante waardering gegarandeerd — vraag uw inruilprijs aan via ons contactformulier of kom gewoon langs in de winkel.
Welke merken verkopen jullie?
Wij zijn officieel dealer van Specialized, Trek, Scott, Giant, Batavus en Sparta. Voor elk type fiets — e-bike, race, gravel, MTB of stadsfiets — het juiste merk. Proefrijden altijd welkom!
Hoe snel is mijn reparatie klaar?
Spoedreparaties vaak dezelfde dag of binnen 24 uur. Standaard reparaties gemiddeld 2–3 werkdagen. Voor grote beurten plannen we altijd een duidelijke opleverdatum met u af.
Wat kost een 3D bikefitting?
Een professionele 3D bikefitting via Gelderblom Performance Lab start vanaf €150. U krijgt een uitgebreide analyse van uw houding, drukpunten en trapbeweging — ideaal voor sportieve fietsers en ter preventie van blessures.
Doen jullie ook bedrijfsfietsen?
Ja! Wij bieden complete bedrijfsfiets-oplossingen inclusief Lease a Bike. Voor bedrijven in de Botlek, Europoort en regio Rotterdam verzorgen wij ook reparaties op locatie.
Kan ik een proefrit maken?
Ja, proefrijden is altijd mogelijk en wij raden het sterk aan! Maak een afspraak via telefoon of WhatsApp en test de fiets uitgebreid. Zo weet u zeker dat de fiets bij u past.
  Di–Vr 08:30–17:30 · Za 08:30–16:00 ·   Emmastraat 37, Rozenburg

Klaar om langs te komen?

Bel ons, stuur een WhatsApp of kom gewoon langs. Wij helpen u graag verder.

Leeuwen Tweewielers - Specialist in sportieve fietsen sinds 1962 | Rozenburg
Emmastraat 37, 3181 GC Rozenburg Di–Vr 08:30–17:30 · Za 08:30–16:00
Rozenburg · Familiebedrijf sinds 1962

Dé Fiets­specialist
van Rozenburg

Van e-bike reparatie tot custom racefiets build. Eigen gecertificeerde werkplaats · Officieel dealer van Specialized, Trek, Giant & Scott.

60+
Jaar vakmanschap
4.8★
Google rating
127+
Reviews
Werkplaats Leeuwen2Wielers
★★★★★
4.8
127 reviews
E-Bikes
Custom Builds
E-Bike Service Custom Builds 🔥 Race · Gravel · MTB Bosch Gecertificeerd 3D Bikefitting Bedrijfsfietsen Inruil & Occasions

Eigen Werkplaats

Gecertificeerde monteurs voor alle merken

Bosch & Shimano Service

Officieel gecertificeerd e-bike service center

Eerlijk Advies

Proefrijden altijd mogelijk. Geen druk

Sinds 1962

Familiebedrijf in Rozenburg

Officieel dealer van topmerken

Specialized Trek Giant Scott Batavus Sparta Lease a Bike

Wat klanten zeggen

4.8
★★★★★
127 Google Reviews
★★★★★

"Mijn custom racefiets perfect afgesteld — nooit meer terug naar een andere fietsenmaker! Super vakmanschap en eerlijk advies."

J
Jan de Vries
Rozenburg
★★★★★

"Snelle service en eerlijke prijzen. Mijn e-bike rijdt weer als nieuw. Vriendelijk, deskundig en altijd eerlijk."

M
Maria Jansen
Rotterdam
★★★★★

"Professionele bikefitting heeft mijn knieklachten volledig verholpen. Top service — echt een aanrader voor iedere fietser."

P
Peter Bakker
Voorne-Putten

Klaar om langs te komen?

Bel ons, stuur een WhatsApp of kom gewoon langs. Wij helpen u graag verder.

Bel 0181-212417
Race · Gravel · MTB | Leeuwen Tweewielers Rozenburg
...
...

Racefietsen

Voor snelheid en prestaties op de weg. Wij zijn officieel dealer van de beste racefietsmerken:

Specialized

Tarmac, Roubaix, Aethos — de nieuwste modellen op voorraad.

Trek

Madone, Domane, Émonda — voor elke renner de juiste keuze.

Scott

Addict, Foil — lichtgewicht en aerodynamisch.

Giant

TCR, Defy, Propel — betrouwbaar en innovatief.

Gravelbikes

De veelzijdige fiets voor weg en onverhard. Perfect voor avonturiers die overal willen rijden.

Mountainbikes

Voor technische trails en off-road plezier. Van cross-country tot enduro.

Klaar voor een proefrit?

Maak een afspraak en test de fiets uitgebreid.

Plan proefrit
...
...
E-Bikes | Leeuwen Tweewielers Rozenburg
Bosch gecertificeerd
Shimano Steps
Accu service
Software updates

Onze e-bike merken

Batavus

Batavus

Nederlands kwaliteitsmerk voor comfortabele e-bikes.

Sparta

Sparta

Betrouwbare e-bikes voor dagelijks gebruik.

Specialized

Specialized Turbo

Sportieve e-bikes met hoogwaardige componenten.

Giant

Giant

Innovatieve e-bikes voor elke rijder.

E-Bike service center

Wij zijn officieel gecertificeerd door Bosch en Shimano. Dat betekent:

  • Diagnose en uitlezen van foutcodes
  • Accu analyse en kalibratie
  • Software updates voor alle systemen
  • Reparatie aan motor en display
Maak afspraak voor service
Stadsfietsen | Leeuwen Tweewielers Rozenburg

Onze stadsfietsen

Bij Leeuwen Tweewielers vind je een ruim assortiment stadsfietsen voor elke rijder. Of je nu korte ritjes maakt of dagelijks naar werk fietst, wij hebben de juiste fiets.

Batavus stadsfietsen

Het Nederlandse kwaliteitsmerk bij uitstek. Comfortabel, duurzaam en met oog voor detail.

Sparta stadsfietsen

Betrouwbare fietsen voor dagelijks gebruik. Sparta staat voor degelijkheid en comfort.

Giant stadsfietsen

Innovatieve designs en hoogwaardige afwerking voor de veeleisende stadsfietser.

Custom Builds 🔥 | Leeuwen Tweewielers Rozenburg
01

Adviesgesprek

We bespreken jouw wensen, rijstijl en budget. Welk frame, welke componenten, welk type fiets?

02

Bikefitting

Voordat we bouwen, meten we je op met Retül 3D technologie. Zo weten we exact de juiste maat.

03

Montage

Onze specialisten bouwen de fiets met de grootste zorg, tot in het kleinste detail.

04

Aflevering

Je komt de fiets passen, we stellen alles perfect af en je rijdt weg op jouw droomfiets.

Start jouw build

Neem contact op voor een vrijblijvend adviesgesprek.

Plan gesprek
Werkplaats & Onderhoud | Leeuwen Tweewielers Rozenburg
Spoed binnen 24u
Alle merken
Bosch service
Shimano service

Onze werkplaats diensten

Kleine beurt

Remmen & versnellingen afstellen, ketting smeren, banden controleren.

v.a. €29

Grote beurt (APK)

Complete fietscheck, alle onderdelen nagekeken en bijgesteld.

v.a. €59

E-bike diagnose

Uitlezen foutcodes, accu-analyse, systeemcheck.

v.a. €25

Lekke band

Voor of achter, inclusief binnenband.

v.a. €12
Maak afspraak
Bedrijfsfietsen & Lease | Leeuwen Tweewielers Rozenburg

Lease a Bike

Als Lease a Bike partner bieden we:

  • All-in lease: fiets, verzekering, onderhoud
  • Fiscaal voordelig voor werkgever
  • Aantrekkelijk voor werknemers
  • Eenvoudige administratie

Vlootbeheer

Voor bedrijven in de Botlek en Europoort verzorgen wij ook reparaties op locatie. Vraag naar de mogelijkheden.

Vraag offerte aan
Occasions & Inruil | Leeuwen Tweewielers Rozenburg

Bekijk onze actuele occasions in de winkel. Neem contact op voor meer informatie.

Wil je je fiets inruilen?

Vraag vrijblijvend een inruilprijs aan.

Vraag inruilprijs
Over Ons | Leeuwen Tweewielers Rozenburg sinds 1962
Werkplaats

Echt vakmanschap, al meer dan 60 jaar

Leeuwen2Wielers begon in 1962 als een kleine fietsenmaker in het hart van Rozenburg. Wat ooit begon als een eenmanszaak met een paar fietsen in de stalling, is uitgegroeid tot dé fietsspecialist van Rozenburg en regio Rotterdam.

Drie generaties lang combineren wij ouderwets vakmanschap met moderne techniek. Van de eerste simpele stadsfietsen tot high-end carbon racefietsen en geavanceerde e-bikes — de passie voor fietsen loopt door ons bloed.

1962

Oprichting

Leeuwen2Wielers opent de deuren aan de Emmastraat in Rozenburg.

1980

Tweede generatie

De winkel groeit en het assortiment breidt uit met sportfietsen.

2008

Officieel dealer

Specialized, Trek en Giant worden aan het assortiment toegevoegd.

2015

E-Bike specialist

Bosch en Shimano certificeringen. Eerste e-bike service center.

Nu

Derde generatie

Janwillem van Leeuwen combineert traditie met innovatie: custom builds, 3D bikefitting, e-bike service.

:root { --primary: #D42029; --primary-dark: #B71C1C; --primary-light: #FEF2F2; --primary-glow: rgba(212, 32, 41, 0.3); --secondary: #1C1C1E; --secondary-light: #2C2C2E; --accent: #F5A623; --text: #1C1C1E; --text-light: #5C5C63; --text-muted: #9A9AA2; --bg: #FFFFFF; --bg-alt: #F8F7F5; --bg-dark: #0F0F11; --border: #E4E3E0; --border-light: #F0F0F0; --shadow-sm: 0 4px 6px -1px rgba(0,0,0,0.1); --shadow-md: 0 20px 25px -5px rgba(0,0,0,0.1); --shadow-lg: 0 25px 50px -12px rgba(0,0,0,0.25); --shadow-xl: 0 35px 60px -15px rgba(0,0,0,0.3); --gradient: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --font-heading: 'Space Grotesk', sans-serif; --font-body: 'Plus Jakarta Sans', sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-body); color: var(--text); line-height: 1.6; overflow-x: hidden; } .container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; } /* TOPBAR */ .topbar { background: var(--secondary); color: var(--text-muted); font-size: 0.85rem; padding: 0.75rem 2rem; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.1); } .topbar-left { display: flex; gap: 2rem; flex-wrap: wrap; } .topbar-left a { color: var(--text-muted); transition: var(--transition); display: flex; align-items: center; gap: 0.5rem; } .topbar-left a:hover { color: white; } .topbar-left i { color: var(--primary); } .topbar-right { display: flex; gap: 1.5rem; align-items: center; } .topbar-phone { color: white !important; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; } .topbar-phone i { color: var(--primary); } .topbar-social { display: flex; gap: 1rem; } .topbar-social a { color: var(--text-muted); transition: var(--transition); font-size: 1rem; } .topbar-social a:hover { color: var(--primary); transform: translateY(-2px); } /* NAVIGATION */ nav { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-light); padding: 0 2rem; transition: var(--transition); } nav.scrolled { padding: 0.5rem 2rem; box-shadow: var(--shadow-md); } .nav-container { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; height: 80px; } .nav-logo img { height: 50px; transition: var(--transition); } .nav-logo img:hover { transform: scale(1.05); } .nav-menu { display: flex; align-items: center; gap: 0.5rem; } .nav-link { padding: 0.75rem 1.25rem; font-weight: 600; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text); border-radius: 50px; transition: var(--transition); text-decoration: none; } .nav-link:hover { color: var(--primary); background: var(--primary-light); } .nav-link.active { color: var(--primary); background: var(--primary-light); } .nav-cta { background: var(--gradient); color: white !important; padding: 0.75rem 1.5rem; border-radius: 50px; box-shadow: 0 4px 15px var(--primary-glow); margin-left: 1rem; } .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 25px var(--primary-glow); color: white !important; } /* HAMBURGER */ .hamburger { display: none; flex-direction: column; justify-content: center; align-items: center; width: 48px; height: 48px; background: var(--bg-alt); border-radius: 12px; cursor: pointer; border: 1px solid var(--border); } .hamburger span { display: block; width: 24px; height: 2px; background: var(--text); margin: 3px 0; transition: var(--transition); border-radius: 2px; } .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); } .hamburger.active span:nth-child(2) { opacity: 0; } .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(6px, -6px); } /* MOBILE MENU */ .mobile-menu { position: fixed; top: 80px; left: 0; right: 0; background: white; padding: 2rem; transform: translateY(-100%); opacity: 0; visibility: hidden; transition: var(--transition); box-shadow: var(--shadow-lg); border-bottom: 2px solid var(--primary); z-index: 999; } .mobile-menu.active { transform: translateY(0); opacity: 1; visibility: visible; } .mobile-menu a { display: block; padding: 1rem; font-weight: 600; border-radius: 12px; transition: var(--transition); border: 1px solid transparent; text-decoration: none; color: var(--text); } .mobile-menu a:hover { background: var(--primary-light); border-color: var(--primary); transform: translateX(5px); } .mobile-menu .mobile-cta { background: var(--gradient); color: white; text-align: center; margin-top: 1rem; } /* BUTTONS */ .btn-primary { background: var(--gradient); color: white; padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; display: inline-flex; align-items: center; gap: 0.75rem; transition: var(--transition); border: none; cursor: pointer; box-shadow: 0 4px 15px var(--primary-glow); text-decoration: none; } .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 25px var(--primary-glow); } .btn-outline { background: transparent; color: var(--text); padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; display: inline-flex; align-items: center; gap: 0.75rem; transition: var(--transition); border: 2px solid var(--border); text-decoration: none; } .btn-outline:hover { border-color: var(--primary); background: var(--primary-light); transform: translateY(-2px); } .btn-light { background: white; color: var(--primary); padding: 1.2rem 3rem; border-radius: 50px; font-weight: 700; font-size: 1.1rem; display: inline-flex; align-items: center; gap: 1rem; transition: var(--transition); box-shadow: 0 10px 30px rgba(0,0,0,0.2); text-decoration: none; } .btn-light:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(0,0,0,0.3); } /* PAGE HEADER */ .page-header { background: var(--secondary); padding: 4rem 0; color: white; } .breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--text-muted); margin-bottom: 2rem; } .breadcrumb a { color: var(--text-muted); text-decoration: none; } .breadcrumb a:hover { color: white; } .page-title { font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; line-height: 1.1; margin-bottom: 1rem; } .page-title em { color: var(--primary); font-style: normal; } .page-subtitle { font-size: 1.1rem; color: var(--text-muted); max-width: 600px; } /* SECTIONS */ .section { padding: 6rem 0; } .section-title { font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.1; margin-bottom: 1.5rem; } .section-title span { color: var(--primary); position: relative; } .bg-alt { background: var(--bg-alt); } /* HERO (homepage) */ .hero { min-height: 90vh; display: grid; grid-template-columns: 1fr 1fr; background: var(--bg); position: relative; overflow: hidden; } .hero-left { display: flex; flex-direction: column; justify-content: center; padding: 4rem 4rem 4rem 6rem; position: relative; z-index: 1; } .hero-badge { display: inline-flex; align-items: center; gap: 0.75rem; background: var(--primary-light); color: var(--primary); padding: 0.5rem 1rem; border-radius: 50px; font-weight: 600; font-size: 0.85rem; margin-bottom: 2rem; width: fit-content; border: 1px solid var(--primary); } .hero-title { font-family: var(--font-heading); font-size: clamp(3rem, 5vw, 5rem); font-weight: 700; line-height: 1; margin-bottom: 1.5rem; } .hero-title em { color: var(--primary); font-style: normal; } .hero-subtitle { font-size: 1.1rem; color: var(--text-light); max-width: 500px; margin-bottom: 2.5rem; line-height: 1.8; } .hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; } .hero-stats { display: flex; gap: 3rem; padding-top: 2rem; border-top: 2px solid var(--border); } .stat-number { font-family: var(--font-heading); font-size: 2.5rem; font-weight: 700; color: var(--primary); line-height: 1; margin-bottom: 0.25rem; } .stat-label { font-size: 0.8rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; } .hero-right { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 1rem; padding: 4rem 4rem 4rem 2rem; } .hero-image { border-radius: 20px; overflow: hidden; position: relative; box-shadow: var(--shadow-xl); } .hero-image img { width: 100%; height: 100%; object-fit: cover; } .hero-image-main { grid-column: 1; grid-row: 1 / 3; } .hero-badge-card { position: absolute; bottom: 1.5rem; left: 1.5rem; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); padding: 1rem 1.5rem; border-radius: 50px; display: flex; align-items: center; gap: 1rem; box-shadow: var(--shadow-lg); } .hero-badge-stars { color: var(--accent); font-size: 0.9rem; } .hero-badge-number { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: var(--primary); } /* TICKER */ .ticker { background: var(--secondary); padding: 1rem 0; overflow: hidden; white-space: nowrap; } .ticker-track { display: inline-flex; gap: 4rem; animation: ticker 30s linear infinite; } .ticker-item { font-family: var(--font-heading); font-size: 1rem; font-weight: 600; color: white; letter-spacing: 1px; } .ticker-item i { color: var(--primary); margin-right: 0.5rem; } .ticker-divider { color: var(--primary); opacity: 0.5; } @keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } } /* USP BAR */ .usp-bar { background: var(--bg-alt); padding: 3rem 0; } .usp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; } .usp-item { display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem; background: white; border-radius: 20px; box-shadow: var(--shadow-sm); transition: var(--transition); } .usp-item:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-left: 3px solid var(--primary); } .usp-icon { width: 60px; height: 60px; background: var(--primary-light); border-radius: 15px; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1.5rem; transition: var(--transition); } .usp-item:hover .usp-icon { background: var(--primary); color: white; transform: rotate(360deg); } .usp-content h4 { font-weight: 700; margin-bottom: 0.25rem; } .usp-content p { font-size: 0.9rem; color: var(--text-muted); } /* CATEGORY GRID */ .category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } .category-card { position: relative; border-radius: 20px; overflow: hidden; height: 300px; text-decoration: none; color: white; } .category-card img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .category-card:hover img { transform: scale(1.1); } .category-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); } .category-overlay h3 { font-family: var(--font-heading); font-size: 1.5rem; margin-bottom: 0.5rem; } /* SERVICES GRID */ .services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } .service-card { background: white; border-radius: 20px; padding: 2rem; box-shadow: var(--shadow-sm); transition: var(--transition); border: 1px solid var(--border); text-decoration: none; color: var(--text); display: block; } .service-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-xl); border-color: var(--primary); } .service-icon { width: 70px; height: 70px; background: var(--primary-light); border-radius: 15px; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1.8rem; margin-bottom: 1.5rem; transition: var(--transition); } .service-card:hover .service-icon { background: var(--primary); color: white; transform: scale(1.1) rotate(5deg); } .service-card h3 { font-family: var(--font-heading); font-size: 1.3rem; font-weight: 700; margin-bottom: 0.75rem; } .service-card p { font-size: 0.9rem; color: var(--text-light); line-height: 1.7; margin-bottom: 1.5rem; } .service-link { color: var(--primary); font-weight: 600; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem; } .service-link i { transition: var(--transition); } .service-card:hover .service-link i { transform: translateX(5px); } /* BRANDS SECTION */ .brands-section { background: var(--bg-alt); padding: 4rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); } .brands-label { text-align: center; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 3px; color: var(--text-muted); margin-bottom: 2rem; } .brands-grid { display: flex; justify-content: center; align-items: center; gap: 4rem; flex-wrap: wrap; } .brand-item { filter: grayscale(100%); opacity: 0.5; transition: var(--transition); } .brand-item:hover { filter: grayscale(0); opacity: 1; transform: scale(1.1); } .brand-item img { height: 40px; width: auto; } /* REVIEWS */ .reviews-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 3rem; flex-wrap: wrap; gap: 2rem; } .score-card { display: flex; align-items: center; gap: 2rem; background: var(--bg-alt); padding: 1.5rem 2rem; border-radius: 20px; border: 1px solid var(--border); } .score-big { font-family: var(--font-heading); font-size: 4rem; font-weight: 700; color: var(--primary); line-height: 1; } .score-stars { color: var(--accent); font-size: 1.2rem; margin-bottom: 0.25rem; } .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } .review-card { background: var(--bg-alt); border-radius: 20px; padding: 2rem; border: 1px solid var(--border); transition: var(--transition); } .review-card:hover { transform: translateY(-5px); border-color: var(--primary); box-shadow: var(--shadow-md); background: white; } .review-stars { color: var(--accent); font-size: 1rem; margin-bottom: 1rem; } .review-text { font-size: 1rem; line-height: 1.8; margin-bottom: 1.5rem; font-style: italic; } .review-author { display: flex; align-items: center; gap: 1rem; } .review-avatar { width: 50px; height: 50px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--primary); } .review-name { font-weight: 700; } .review-location { font-size: 0.85rem; color: var(--text-muted); } /* CONTACT */ .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; background: var(--bg-alt); border-radius: 30px; padding: 3rem; border: 1px solid var(--border); } .contact-form { background: white; padding: 3rem; border-radius: 20px; box-shadow: var(--shadow-md); } .contact-form h3 { font-family: var(--font-heading); font-size: 2rem; margin-bottom: 2rem; } .contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 1rem 1.5rem; margin-bottom: 1rem; border: 2px solid var(--border); border-radius: 12px; font-family: var(--font-body); font-size: 1rem; transition: var(--transition); } .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px var(--primary-glow); } .contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .contact-info { background: var(--secondary); color: white; padding: 3rem; border-radius: 20px; } .info-item { display: flex; gap: 1.5rem; margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,0.1); } .info-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .info-item i { width: 50px; height: 50px; background: rgba(212,32,41,0.2); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1.2rem; flex-shrink: 0; } .info-item strong { display: block; font-size: 0.9rem; color: var(--text-muted); margin-bottom: 0.25rem; font-weight: 400; } .info-item p { font-size: 1.1rem; font-weight: 600; } .info-item a { color: white; text-decoration: none; } .info-item a:hover { color: var(--primary); } .hours { width: 100%; } .hours td { padding: 0.25rem 0; } .hours td:last-child { text-align: right; font-weight: 600; } .map-container { margin-top: 3rem; border-radius: 20px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-md); } .map-container iframe { width: 100%; height: 400px; border: none; display: block; } /* CTA SECTION */ .cta-section { background: var(--gradient); padding: 5rem 2rem; text-align: center; position: relative; overflow: hidden; } .cta-section::before { content: ''; position: absolute; top: -50%; left: -20%; width: 140%; height: 200%; background: repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(255,255,255,0.03) 30px, rgba(255,255,255,0.03) 31px); animation: rotate 60s linear infinite; } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .cta-content { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; } .cta-title { font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; color: white; margin-bottom: 1rem; } .cta-text { color: rgba(255,255,255,0.9); font-size: 1.2rem; margin-bottom: 2.5rem; } /* FOOTER */ .footer { background: var(--bg-dark); color: #999; padding: 4rem 2rem 2rem; } .footer-grid { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; } .footer-logo { height: 40px; filter: brightness(0) invert(1); opacity: 0.7; margin-bottom: 1.5rem; transition: var(--transition); } .footer-logo:hover { opacity: 1; } .footer-about { font-size: 0.9rem; line-height: 1.8; margin-bottom: 1.5rem; } .footer-social { display: flex; gap: 1rem; } .footer-social a { width: 40px; height: 40px; background: rgba(255,255,255,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: var(--transition); color: #999; text-decoration: none; } .footer-social a:hover { background: var(--primary); color: white; transform: translateY(-3px); } .footer-col h4 { color: white; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 1.5rem; } .footer-col a { display: block; color: #999; margin-bottom: 0.75rem; transition: var(--transition); text-decoration: none; } .footer-col a:hover { color: white; transform: translateX(5px); } .footer-bottom { max-width: 1400px; margin: 0 auto; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; align-items: center; font-size: 0.85rem; color: #666; flex-wrap: wrap; gap: 1rem; } /* FLOATING BUTTONS */ .floating-buttons { position: fixed; bottom: 2rem; right: 2rem; display: flex; flex-direction: column; gap: 1rem; z-index: 999; } .float-btn { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: white; box-shadow: var(--shadow-xl); transition: var(--transition); text-decoration: none; } .float-btn:hover { transform: scale(1.1) translateY(-5px); } .float-wa { background: #25D366; } .float-ph { background: var(--gradient); } /* RESPONSIVE */ @media (max-width: 1200px) { .services-grid { grid-template-columns: repeat(2, 1fr); } .footer-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 992px) { .hero { grid-template-columns: 1fr; } .hero-left { padding: 4rem 2rem; } .hero-right { padding: 2rem; height: 400px; } .usp-grid { grid-template-columns: repeat(2, 1fr); } .reviews-grid { grid-template-columns: repeat(2, 1fr); } .contact-grid { grid-template-columns: 1fr; } .category-grid { grid-template-columns: 1fr; } } @media (max-width: 768px) { .topbar { display: none; } .nav-menu { display: none; } .hamburger { display: flex; } .services-grid { grid-template-columns: 1fr; } .usp-grid { grid-template-columns: 1fr; } .reviews-grid { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr; } }
// Mobile menu toggle function toggleMobileMenu() { const menu = document.getElementById('mobileMenu'); const hamburger = document.querySelector('.hamburger'); menu.classList.toggle('active'); hamburger.classList.toggle('active'); } function closeMobileMenu() { const menu = document.getElementById('mobileMenu'); const hamburger = document.querySelector('.hamburger'); menu.classList.remove('active'); hamburger.classList.remove('active'); } // Navbar scroll effect window.addEventListener('scroll', function() { const navbar = document.getElementById('navbar'); if (window.scrollY > 50) { navbar.classList.add('scrolled'); } else { navbar.classList.remove('scrolled'); } }); // Form submit handler function handleFormSubmit(e) { e.preventDefault(); const btn = e.target.querySelector('button[type="submit"]'); const originalText = btn.innerHTML; btn.innerHTML = ' Verzonden! Wij nemen contact op.'; btn.style.background = 'linear-gradient(135deg, #10b981, #059669)'; btn.disabled = true; setTimeout(() => { btn.innerHTML = originalText; btn.style.background = ''; btn.disabled = false; }, 5000); return false; } // Close mobile menu when clicking outside document.addEventListener('click', function(e) { const menu = document.getElementById('mobileMenu'); const hamburger = document.querySelector('.hamburger'); if (menu && menu.classList.contains('active') && !menu.contains(e.target) && !hamburger.contains(e.target)) { closeMobileMenu(); } }); // Set active navigation based on current page document.addEventListener('DOMContentLoaded', function() { const currentPage = window.location.pathname.split('/').pop() || 'index.html'; const navLinks = document.querySelectorAll('.nav-link'); navLinks.forEach(link => { const href = link.getAttribute('href'); if (href === currentPage) { link.classList.add('active'); } }); });

Buitengewoon

Dit is waar onze reis begint. Maak kennis met ons bedrijf en wat we doen. Wij staan voor kwaliteit en goede service. Sluit je aan, terwijl we samen groeien en succesvol worden. We zijn blij dat je hier bent om deel uit te maken van ons verhaal.

Verhalen verteld in pixels

We zijn trots op ons aanpassingsvermogen en ons streven naar uitmuntendheid in elk aspect van onze service. Ontdek wat wij te bieden hebben en zie hoe wij kunnen bijdragen aan jouw succes.

Verhalen verteld in pixels

We zijn trots op ons aanpassingsvermogen en ons streven naar uitmuntendheid in elk aspect van onze service. Ontdek wat wij te bieden hebben en zie hoe wij kunnen bijdragen aan jouw succes.

Verhalen verteld in pixels

We zijn trots op ons aanpassingsvermogen en ons streven naar uitmuntendheid in elk aspect van onze service. Ontdek wat wij te bieden hebben en zie hoe wij kunnen bijdragen aan jouw succes.