Skip to content

Plumber and Home Services Homepage Template

Bold navy and orange Bootstrap 6 plumber homepage with a 24/7 emergency bar, call-back form, service area map with ZIP checker, flat-rate price table, review carousel and FAQ.

Live preview

Open in new tab

Code

A bold, conversion-focused homepage for a plumbing and home services company, built with Bootstrap 6 for a fictional business called Rapidflow. It keeps the emergency number in sight, collects call-back requests in the hero and answers: do you cover my area, and what will it cost?

How it works

The page lives in .rf-page (data-bs-theme="light") with dark scopes on the navbar, hero and footer. The Bootstrap 6 primary role is remapped to safety orange with navy text through --bs-primary-bg and --bs-primary-contrast.

  • Top bar and navbar: .rf-topbar shows a pulsing 24/7 status and the phone number. The navbar lg:navbar-expand collapses into <dialog class="drawer drawer-end"> below 1024px. "Services" opens a grouped .menu; "Emergency?" opens the #rf-emergency Dialog.
  • Hero: a photo with a navy gradient, a large call button and three stats. The .rf-quote card holds a btn-check urgency group, a searchable Combobox (data-bs-search="true") and ZIP and phone fields in a <form data-bs-validate novalidate>.
  • Services: .rf-card tiles plus a full-width .rf-card-wide row.
  • Service areas: an inline SVG map whose .rf-zone shapes light up. The ZIP checker looks codes up in RF_ZONES and writes an alert theme-success, theme-info or theme-warning into a live region. Neighborhood .chip buttons fill in the ZIP.
  • Pricing: a table-card with sm:table-stacked, so rows turn into labelled cards on narrow screens using data-cell. "Book" links preselect the Combobox option via data-rf-issue.
  • Reviews and FAQ: a carousel and an exclusive <details name="rf-faq"> accordion.
  • Submit: the script checks the Combobox's hidden issue input, shows a spinner, then a Toast. When "Now" is chosen it also opens the emergency Dialog with shut-off steps.

Customization

  • Change --rf-orange and --rf-navy on .rf-page in style.css; update the --bs-primary-* overrides beside them so buttons follow.
  • Edit RF_ZONES in script.js to list your ZIP codes, zone names and arrival times, and rename the data-rf-zone shapes in the SVG map to match.
  • Edit RF_URGENCY to change the confirmation text for each urgency option.
  • Add or remove rows in .rf-table, keeping a data-cell label on every cell.
  • Replace the setTimeout in the quote form submit handler with fetch() to your CRM or dispatch endpoint.
  • The photos come from Unsplash; replace them with pictures of your own team and vans.

Accessibility

A skip link jumps to #rf-main. The map is a single role="img" with a text label, ZIP results are announced through role="status", the urgency group has an accessible label, and invalid fields get visible messages and focus. Carousel buttons have hidden text labels, the Dialog has aria-labelledby, and animations stop under prefers-reduced-motion.

Bootstrap 6 notes

Built on Bootstrap 6.0.0-alpha.1 (alpha APIs can still change). Coming from Bootstrap 5: btn-solid theme-primary replaces btn-primary, the mobile menu is a Drawer instead of navbar-collapse, Dropdown is now Menu, Modal is now Dialog, alerts use alert theme-*, and responsive tables use sm:table-stacked. New components used: Combobox, Chips and Dialog. The script imports Drawer, Dialog and Toast as an ES module.

Requirements

Add these to your page (already included in the download):

  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/css/bootstrap.min.css">
  • <script type="module" src="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha.1/dist/js/bootstrap.bundle.min.js"></script>
  • <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
  • <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800&family=Barlow:wght@400;500;600;700&display=swap">

Built for Bootstrap 6.0.0-alpha.1. Bootstrap 6 ships as an ES module, so its script and this component's JavaScript load with type="module". Alpha releases can still change before the stable version.

Plumber and Home Services Homepage Template – Bootstrap 6 home pages component screenshot
Plumber and Home Services Homepage Template · Bootstrap 6 Home Pages

More Home Pages

Fitness Gym Homepage Template – Bootstrap 6 home pages preview

Fitness Gym Homepage Template

Dark Bootstrap 6 gym homepage with drawer navbar, photo hero, programs, a weekly class timetable, membership plans with a range-based recommender, coaches and a free-pass form.

Bakery Homepage Template – Bootstrap 6 home pages preview

Bakery Homepage Template

Warm Bootstrap 6 bakery homepage template with an arched photo hero, tabbed product menu with tray, story stepper, cake order form with datepicker, reviews and a Bread Club dialog.

Nonprofit Charity Homepage Template – Bootstrap 6 home pages preview

Nonprofit Charity Homepage Template

Warm Bootstrap 6 charity homepage with arch photo hero, impact stats, filterable causes with progress bars, an impact slider, a donation form, story carousel, FAQ and footer.

Barbershop Homepage Template – Bootstrap 6 home pages preview

Barbershop Homepage Template

Dark Bootstrap 6 barbershop homepage with a drawer navbar, price-list tabs, barber cards, a booking form with Combobox and Datepicker, reviews, live opening hours and a footer.

Beauty Salon Homepage Template – Bootstrap 6 home pages preview

Beauty Salon Homepage Template

Dark plum Bootstrap 6 beauty salon homepage with arched photo hero, tabbed price list with a service basket, artists, review carousel, online booking calendar and gift cards.

Pet Care and Vet Homepage Template – Bootstrap 6 home pages preview

Pet Care and Vet Homepage Template

Warm Bootstrap 6 veterinary clinic homepage with live open status, filterable services and prices, first-visit stepper, vet team, pet reviews and an appointment form.