Skip to content

Yoga Studio Homepage Template

Light Bootstrap 6 yoga studio homepage with arched photo hero, class styles, a filterable 7-day schedule with booking dialog, teachers, intro pricing, testimonials and FAQ.

Live preview

Open in new tab

Code

A warm, light yoga studio homepage built with Bootstrap 6 for a fictional studio called Stillwater Yoga. It has an arched photo hero, a filterable 7-day class schedule with a booking dialog, teacher profiles, intro pricing and a newsletter signup.

How it works

The page root .sy-page has data-bs-theme="light" and maps the Bootstrap 6 primary role to sage green and the accent role to terracotta. All btn-solid theme-primary buttons, chips and the switch use the studio palette.

  • Navbar: navbar lg:navbar-expand with a <dialog class="drawer drawer-start"> for mobile. The drawer closes after an in-page link is chosen.
  • Hero: headline, an intro offer .chip, an avatar-stack rating, and .sy-hero-art, which combines an arched photo (.sy-arch) with a circular inset (.sy-circle). The .sy-next card shows the next class still to come, worked out from the schedule data.
  • Class styles: four arch-topped cards (.sy-style) with badge-subtle mood labels.
  • Schedule: the script builds day buttons for the next seven days from today, so dates never go stale. It lists classes from the SY_WEEK object and hides classes that have already started today. Style .chip buttons with aria-pressed filter the list.
  • Booking: each "Book" button opens #sy-book, a native <dialog class="dialog">, through data-bs-toggle="dialog". A click listener first copies the class name and time into the dialog. The form validates, fakes the request, closes with Dialog.getOrCreateInstance().hide() and shows #sy-toast.
  • Teachers, pricing, quotes: arched portraits with Collapse bios, three price cards with a highlighted .sy-price-featured intro offer, and quotes.
  • Newsletter, FAQ, visit: an input-group email form, an accordion-flush of <details name="sy-faq">, and an inline SVG map placeholder (.sy-map).

Customization

  • Change --sy-sage, --sy-clay and --sy-cream in .sy-page (style.css) to rebrand. Update the --bs-primary-* overrides next to them.
  • Edit SY_WEEK in script.js to set your timetable. Each entry is time, name, style key, teacher, minutes and mats left.
  • Add a style key to SY_WEEK and a matching data-sy-filter chip to create a new filter.
  • Replace the setTimeout in the booking submit handler, and the newsletter handler, with fetch() calls to your backend.
  • Replace .sy-map with your own map image or a static map embed.
  • All photos come from Unsplash. Replace them with photos of your own studio and teachers.

Accessibility

The page has a skip link and a labelled drawer and dialog. Day and filter buttons expose aria-pressed, and the schedule list is an aria-live region. Visually hidden text names the class on each "Book" button. After booking, focus returns to the button that opened the dialog. Bio toggles use aria-expanded/aria-controls. Hover motion stops under prefers-reduced-motion.

Bootstrap 6 notes

Built on Bootstrap 6.0.0-alpha.1, so alpha APIs may still change. Here is how Bootstrap 5 patterns map:

  • <dialog class="dialog"> replaces Modal.
  • Drawer replaces Offcanvas and navbar-collapse.
  • .chip gives selectable pills.
  • .switch replaces form-switch.
  • data-bs-validate replaces needs-validation.

The script imports Dialog, Drawer and Toast from the bundle 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=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&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.

Yoga Studio Homepage Template – Bootstrap 6 home pages component screenshot
Yoga Studio Homepage Template · Bootstrap 6 Home Pages

More Home Pages

Kindergarten Homepage Template – Bootstrap 6 home pages preview

Kindergarten Homepage Template

Playful Bootstrap 6 kindergarten homepage with a drawer navbar, photo collage hero, program tabs, daily rhythm stepper, teacher cards, parent reviews and a visit booking form.

University Homepage Template – Bootstrap 6 home pages preview

University Homepage Template

Classic Bootstrap 6 university homepage with a campus photo hero, visit datepicker, program finder tabs, news, upcoming events, student testimonials carousel and admissions form.

Online Course Homepage Template – Bootstrap 6 home pages preview

Online Course Homepage Template

Bootstrap 6 online course platform homepage with a topic combobox search, filterable course catalog, preview dialog, instructors, learner reviews, pricing switch and signup form.

Accounting Firm Homepage Template – Bootstrap 6 home pages preview

Accounting Firm Homepage Template

Bootstrap 6 accounting firm homepage template with a savings estimator, services grid, onboarding steps, client testimonials, FAQ and a consultation booking form with datepicker.

Law Firm Homepage Template – Bootstrap 6 home pages preview

Law Firm Homepage Template

Bootstrap 6 law firm homepage template with a drawer navbar, practice area tabs, case results, attorney profiles, client reviews, FAQ and a free consultation form.

Dental Clinic Homepage Template – Bootstrap 6 home pages preview

Dental Clinic Homepage Template

Warm Bootstrap 6 dental clinic homepage with pill navbar, arched photo hero, treatment tabs, before/after Range slider, team, membership plans, reviews carousel and inline-calendar booking.