Premium

Fine Dining Restaurant Website

Bootstrap’s default muted-text colour went nearly invisible the moment the whole site went dark — caught by looking at a screenshot, not by any passing automated number.

  • Bootstrap 5
  • HTML
  • CSS
  • JavaScript

About this project

A five-page site for a fictional restaurant, "Marrow & Vine." Like the other Bootstrap design templates in this catalogue, this is a pure visual-design product — no backend, no database. The register is dark, moody and elegant across every page, not just the navbar and footer: a near-black warm charcoal base, Bodoni Moda (display serif) paired with Jost (geometric sans), and a four-role gold accent system. Zero photography anywhere — the hero is a hand-built inline-SVG abstract plated-dish-and-wine-glass composition, team and testimonials use colour-circle initials avatars, and the contact page’s "map" is stylised inline-SVG line art with a pin, not a real embed. The menu page is the one deliberately light surface in the template — its a la carte tabs sit on a warm "parchment" card so it reads like an actual printed menu against the otherwise all-dark site.

The most instructive bug here wasn’t caught by any automated metric: because the whole site is dark by design without using Bootstrap’s own `data-bs-theme="dark"` attribute, `.text-body-secondary` (used for most body copy site-wide) was still silently resolving to Bootstrap’s light-theme default colour — a very dark, low-opacity grey that is nearly invisible against the `#0e0b09` background. Every automated contrast check that only tested the template’s OWN declared colour tokens would have passed, because the bug was in a Bootstrap default nobody had overridden. It was caught only by actually looking at a rendered screenshot, not by a passing number, and fixed by remapping the real underlying Bootstrap CSS variables (`--bs-secondary-color`, `--bs-border-color`, `--bs-link-color`, and others) to the template’s own palette.

What you will learn

  • Build a dark, moody, all-pages fine-dining restaurant site on Bootstrap 5 without hand-editing the framework itself
  • Understand why Bootstrap’s light-theme CSS variables need remapping, not just a few overridden classes, when a whole site goes dark
  • Build a tabbed menu page (Bootstrap nav-pills) with real keyboard activation and hash-based deep-linking into a specific tab
  • Build a reservation form that echoes the submitted details back in its own confirmation panel, verified with real form fills
  • Run a real WCAG contrast check and a real multi-breakpoint overflow check instead of eyeballing either

Before you start

  • HTML and CSS fundamentals — this is a design product, not a framework tutorial
  • Any modern browser. No Node, no build step, no server required to use it
  • Comfortable editing raw HTML/CSS directly, since there is no CMS or config file

New to Bootstrap 5? The free Bootstrap 5 course covers everything this project assumes.

Academic integrity notice

These projects are provided for learning, experimentation and reference. Understand the code, modify it for your own requirements, and acknowledge external work according to your institution’s academic policies. Priodemy does not supply work to be submitted as your own.