Restaurant Website HTML Template — Free CSS & JS Snippet

Restaurant Website template · 10 website sections · Plain HTML, CSS & JS · Customise it in the Website Builder

What's included

Features

10 ready-made website sections assembled into one finished restaurant website page: Simple Sticky Navbar, Image Background Hero, Restaurant Menu, Filterable Image Gallery, Pricing List Rows, Testimonial Wall, Booking Request Form, Contact With Map, Popup & Promo Modal, Minimal Footer
Every section links to its own page in the Website Section Templates library, where you can edit it on its own
One theme drives the whole page (colours, fonts, corner radius, width), so changing the brand takes a minute
Container-query responsive: each section adapts to the width it is placed in, from phone to desktop
GSAP entrance animations and scroll effects load from a CDN, and switch off for visitors who prefer reduced motion
Also available as a 6-page website in the builder, sharing one navbar, footer and theme
Plain HTML, CSS and JavaScript: copy the code here or export it to React, Vue, Angular or Tailwind

About this UI Snippet

A Restaurant Website That Fills Tables: Menu, Booking and Directions in One Page

Screenshot of the Restaurant Website Template snippet rendered live

People search for a restaurant to answer four questions: what do you serve, what does it cost, can I get a table, and where are you? This layout answers them in that order. A moody photo hero with a "Book a table" button, then the menu itself on the page rather than behind a PDF link (readable by search engines and by customers on slow phones), then a filterable gallery that sells the atmosphere, set menus with prices, and reviews that confirm the experience.

The bottom of the page is where bookings happen. A booking request form collects the date, party size and any dietary notes, and the contact section pairs a map with your opening hours so there is no reason to leave the page to find either. A promo modal can announce a seasonal menu or a special evening without redesigning anything.

Swap in your dishes, hours and photographs. It is the layout of the Restaurant Website template, which also comes as a multi-page site with Menu, About and Visit pages; open it in the Website Builder to edit and export.

Built from website section templates

The 10 Sections Behind This Restaurant Website Page

This page is not one big block of code: it is stacked from ready-made sections in the free Website Section Templates library, in this order. Open any of them to edit it on its own, or start with the whole page.

  1. Simple Sticky Navbara sticky bar that keeps "Book a table" within reach while visitors read the menu
  2. Image Background Heroa moody photograph with your best dish and a Book a table button
  3. Restaurant Menuthe menu itself on the page, as text, instead of a PDF that search engines and slow phones skip
  4. Filterable Image Gallerya filterable gallery that sells the room, the food and the people
  5. Pricing List Rowsset menus as price rows, so the cost of an evening is clear before anyone enquires
  6. Testimonial Wallguest reviews in a wall, the proof a stranger looks for before reserving
  7. Booking Request Forma booking request form with date, party size and dietary notes
  8. Contact With Mapa map beside your address and opening hours, so nobody has to leave the page for directions
  9. Popup & Promo Modalan optional promo modal for a seasonal menu or a special evening
  10. Minimal Footera minimal footer with socials and legal links

Step by step

How to Use

  1. 1
    Open the template in the Website BuilderPress "Start using this template" to open the Restaurant Website in the Website Builder. Everything is edited with forms in a side panel; no code is needed.
  2. 2
    Type your real menu into the pageReplace the sample dishes with your menu as text, with prices and allergen notes, and keep it updated here instead of in a PDF.
  3. 3
    Set your booking and opening hoursPoint the booking form at your email or booking tool, and edit the opening hours and map to your address, including holiday closures.
  4. 4
    Use the promo modal for the week's newsUse the popup for a seasonal menu, a tasting evening or a closure, and switch it off when it is no longer relevant.
  5. 5
    Export and publishDownload one HTML file or a ZIP (or one HTML file per page for the multi-page version) and upload it to Netlify, Vercel, Cloudflare Pages, GitHub Pages or your own host. Or copy the code from this page and export it to React, Vue, Angular or Tailwind with the buttons above the editor.

Real-world uses

Common Use Cases

A website for a restaurant, café or bistro
Show the menu, take booking requests and give directions without paying for a platform.
A pop-up or supper club page
Use the hero, set menu and booking form to sell tickets for a short-run event.
Learn a menu layout and a map embed
See how menu sections, filterable galleries and an embedded map fit into one responsive page.

Got questions?

Frequently Asked Questions

On the page. Text is readable on any phone, indexable by search engines and easy to update, while a PDF is slow to open and often unreadable on mobile.

The booking form sends a request to your email or booking service. For live availability, link the button to your booking provider instead.

An accurate address, opening hours, a menu in text and consistent business details across your site and listings.

It is assembled from 10 templates in the free Website Section Templates library: Simple Sticky Navbar, Image Background Hero, Restaurant Menu, Filterable Image Gallery, Pricing List Rows, Testimonial Wall, Booking Request Form, Contact With Map, Popup & Promo Modal, Minimal Footer. Each one has its own page where you can edit it separately.

It is the same page. Here you read and edit the HTML, CSS and JavaScript directly with a live preview; in the Website Builder you edit it with forms, change the theme once for the whole page, add pages and export a finished site.

Source Code


    <section class="st st-navbar-simple" data-uid="smvnkxd937ynx">
      <header class="st-wrap nb">
        <a class="st-brand" href="#">
          <span class="st-brand-mark"><span class="st-brand-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 2v2" /><path d="M14 2v2" /><path d="M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1" /><path d="M6 2v2" /></svg></span><span>Olive &amp; Ember</span></span>
        </a>
        <nav class="nb-nav" data-menu aria-label="Main">
          <ul class="nb-links">
            <li data-menu-item><a class="nb-link" href="#menu"><span>Menu</span></a></li>
            <li data-menu-item><a class="nb-link" href="#pricing"><span>Set menus</span></a></li>
            <li data-menu-item><a class="nb-link" href="#customers"><span>Reviews</span></a></li>
            <li data-menu-item><a class="nb-link" href="#contact"><span>Visit</span></a></li>
          </ul>
          <div class="nb-actions" data-menu-item>
            <a class="st-btn nb-cta" href="#contact"><span>Book a table</span></a>
          </div>
        </nav>
        <button type="button" class="st-burger" data-menu-toggle aria-expanded="false" aria-label="Open menu"><span></span><span></span><span></span></button>
      </header>
      <i hidden data-sticky-flag></i>
    </section>
    <section class="st st-image-background-hero" data-uid="smvnkxd93olps">
      <div class="ib-bg" role="img" aria-label="Background photo" style="background-image:url('https://webdevpuneet.com/images/section-templates/tpl-restaurant.jpg')"></div>
      <div class="ib-shade" aria-hidden="true"></div>
      <div class="ib st-wrap">
        <div class="ib-copy">
          <span class="st-eyebrow ib-eyebrow" data-anim="item">Wood-fired kitchen · Lisbon</span>
          <h1 class="ib-title" data-anim="item" data-anim-text>Seasonal plates, <span class="hl">slow evenings</span></h1>
          <p class="st-lead ib-lead" data-anim="item">Small plates, wood-fired mains and natural wines in the heart of Alfama. Open for dinner, Tuesday to Sunday.</p>
          <div class="st-btns" data-anim="item">
            <a class="st-btn" href="#contact"><span>Book a table</span></a>
            <a class="st-btn st-btn--ghost ib-ghost" href="#menu"><span>See the menu</span></a>
          </div>
        </div>
        <div class="ib-stats" data-anim="media">
          <div><strong>4.8★</strong><span>Google reviews</span></div>
          <div><strong>120</strong><span>natural wines</span></div>
          <div><strong>Since 2014</strong><span>family run</span></div>
        </div>
      </div>
    </section>
    <section id="menu" class="st st-restaurant-menu" data-uid="smvnkxd93o8gz">
      <div class="st-wrap">
        <header class="st-head">
          <p class="st-eyebrow" data-anim="item">From the kitchen</p>
          <h2 class="st-h2" data-anim="item" data-anim-text>Dishes guests <span class="hl">come back for</span></h2>
          <p class="st-lead" data-anim="item">Our menu follows the market. A few favourites are always on it.</p>
        </header>
        <ul class="rm-list">
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Charred greens</span>
              <span class="rm-tag">V</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">€12</span>
            </div>
            <p class="rm-desc">Market vegetables over oak embers, whipped feta and lemon.</p>
          </li>
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Slow-cooked octopus</span>
              <span class="rm-tag">Chef’s pick</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">€24</span>
            </div>
            <p class="rm-desc">Twelve-hour octopus, smoked paprika potatoes, salsa verde.</p>
          </li>
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Ember-roasted chicken</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">€21</span>
            </div>
            <p class="rm-desc">Free-range chicken, garlic confit and our house piri-piri.</p>
          </li>
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Whole sea bream</span>
              <span class="rm-tag">GF</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">€26</span>
            </div>
            <p class="rm-desc">Grilled over oak, fennel salad, brown butter capers.</p>
          </li>
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Pastel de nata</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">€4</span>
            </div>
            <p class="rm-desc">Baked every afternoon, served warm with cinnamon.</p>
          </li>
          <li class="rm-dish" data-anim="item">
            <div class="rm-line">
              <span class="rm-name">Natural wine by the glass</span>
              <span class="rm-dots" aria-hidden="true"></span>
              <span class="rm-price">from €7</span>
            </div>
            <p class="rm-desc">120 bottles from small Portuguese producers.</p>
          </li>
        </ul>
        <div class="rm-foot" data-anim="item">
          <p class="rm-note">V vegetarian · GF gluten free. Tell us about any allergies when you book.</p>
          <a class="st-btn" href="#contact"><span>Book a table</span></a>
        </div>
      </div>
    </section>
    <section id="gallery" class="st st-gallery-grid" data-uid="smvnkxd93xiuh">
      <div class="st-wrap">
        <header class="st-head">
          <p class="st-eyebrow" data-anim="item">Gallery</p>
          <h2 class="st-h2" data-anim="item" data-anim-text>From <span class="hl">the kitchen and the room</span></h2>
          <p class="st-lead" data-anim="item">Plates from the wood-fired oven and the dining room in the evening. Tap a photo to see it larger.</p>
        </header>
        <div class="gg-filters" data-gallery-filters role="group" aria-label="Filter photos" hidden data-all="All"></div>
        <ul class="gg-grid" data-gallery>
          <li class="gg-item" data-anim="item" data-tag="Dishes">
            <img class="gg-img" width="1200" height="900" loading="lazy" src="https://webdevpuneet.com/images/section-templates/tpl-restaurant.jpg" alt="Plates of food on a wooden table">
            <p class="gg-cap"><strong class="gg-title">Wood-fired octopus</strong><span class="gg-text">With smoked paprika and lemon</span></p>
          </li>
          <li class="gg-item" data-anim="item" data-tag="The room">
            <img class="gg-img" width="1200" height="900" loading="lazy" src="https://webdevpuneet.com/images/section-templates/wed-dinner.jpg" alt="A long candlelit table">
            <p class="gg-cap"><strong class="gg-title">The long table</strong><span class="gg-text">Shared dinners for up to twelve</span></p>
          </li>
          <li class="gg-item" data-anim="item" data-tag="The room">
            <img class="gg-img" width="1200" height="900" loading="lazy" src="https://webdevpuneet.com/images/section-templates/tpl-salon.jpg" alt="Arched mirrors in a warm room">
            <p class="gg-cap"><strong class="gg-title">The front room</strong><span class="gg-text">Arched mirrors and warm light</span></p>
          </li>
          <li class="gg-item" data-anim="item" data-tag="The room">
            <img class="gg-img" width="1200" height="900" loading="lazy" src="https://webdevpuneet.com/images/section-templates/tpl-hotel.jpg" alt="A building lit at dusk beside a pool">
            <p class="gg-cap"><strong class="gg-title">The terrace at dusk</strong><span class="gg-text">Drinks outside from May</span></p>
          </li>
          <li class="gg-item" data-anim="item" data-tag="The room">
            <img class="gg-img" width="1200" height="900" loading="lazy" src="https://webdevpuneet.com/images/section-templates/tpl-nature.jpg" alt="Green hills at sunrise">
            <p class="gg-cap"><strong class="gg-title">Views from the terrace</strong><span class="gg-text">Open for lunch in summer</span></p>
          </li>
        </ul>
      </div>
    </section>
    <section id="pricing" class="st st-pricing-rows" data-uid="smvnkxd93lz23">
      <div class="st-wrap">
        <div class="pl-top">
          <header class="st-head st-head--left pl-head">
            <p class="st-eyebrow" data-anim="item">Set menus</p>
            <h2 class="st-h2" data-anim="item" data-anim-text>Let the kitchen <span class="hl">choose for you</span></h2>
            <p class="st-lead" data-anim="item">Available every evening for the whole table. Dietary needs welcome.</p>
          </header>
        </div>
        <div class="pl-rows">
          <article class="pl-row" data-anim="item">
            <div class="pl-info">
              <h3 class="pl-name"><span>Tasting menu</span></h3>
              <p class="pl-desc">Five courses of the season’s best.</p>
            </div>
            <ul class="pl-chips"><li>5 courses</li><li>Vegetarian option</li></ul>
            <p class="pl-price">
              <span class="st-pm"><b class="pl-amt">€55</b><span class="pl-per">per guest</span></span>
              <span class="st-py"><b class="pl-amt">$790</b><span class="pl-per">per guest</span></span>
            </p>
            <a class="st-btn" href="https://webdevpuneet.com/contact"><span>Book</span></a>
          </article>
          <article class="pl-row" data-anim="item">
            <div class="pl-info">
              <h3 class="pl-name"><span>Tasting + wine</span><span class="pl-badge">Most loved</span></h3>
              <p class="pl-desc">Five courses with natural wine pairings.</p>
            </div>
            <ul class="pl-chips"><li>5 courses</li><li>4 wines</li><li>Sommelier notes</li></ul>
            <p class="pl-price">
              <span class="st-pm"><b class="pl-amt">€85</b><span class="pl-per">per guest</span></span>
              <span class="st-py"><b class="pl-amt">$790</b><span class="pl-per">per guest</span></span>
            </p>
            <a class="st-btn" href="https://webdevpuneet.com/contact"><span>Book</span></a>
          </article>
          <article class="pl-row" data-anim="item">
            <div class="pl-info">
              <h3 class="pl-name"><span>Private table</span></h3>
              <p class="pl-desc">The long table for groups of 10–18.</p>
            </div>
            <ul class="pl-chips"><li>Up to 18 guests</li><li>Custom menu</li></ul>
            <p class="pl-price">
              <span class="st-pm"><b class="pl-amt">€70</b><span class="pl-per">per guest</span></span>
              <span class="st-py"><b class="pl-amt">$790</b><span class="pl-per">per guest</span></span>
            </p>
            <a class="st-btn" href="https://webdevpuneet.com/contact"><span>Enquire</span></a>
          </article>
        </div>
      </div>
    </section>
    <section id="customers" class="st st-testimonials-grid" data-uid="smvnkxd946ri9">
      <div class="st-wrap">
        <header class="st-head">
          <p class="st-eyebrow" data-anim="item">Guest reviews</p>
          <h2 class="st-h2" data-anim="item" data-anim-text>Loved by <span class="hl">locals and travellers</span></h2>
          <p class="tg-summary" data-anim="item">★ 4.8 from 1,900+ Google reviews</p>
        </header>
        <div class="tg-wall">
          <figure class="tg-card" data-anim="item">
            <p class="st-stars" role="img" aria-label="Rated 5 out of 5"><span aria-hidden="true">★★★★★</span></p>
            <blockquote class="tg-quote"><p>The octopus alone is worth the trip. Warm service and a wine list full of surprises.</p></blockquote>
            <figcaption><div class="st-person">
                <img class="st-avatar" width="96" height="96" loading="lazy" src="https://webdevpuneet.com/images/section-templates/avatar-5.jpg" alt="">
                <div><p class="st-person-name">Sophie L.</p><p class="st-person-role">Visited in September</p></div>
              </div></figcaption>
          </figure>
          <figure class="tg-card" data-anim="item">
            <p class="st-stars" role="img" aria-label="Rated 5 out of 5"><span aria-hidden="true">★★★★★</span></p>
            <blockquote class="tg-quote"><p>Our favourite dinner in Lisbon.</p></blockquote>
            <figcaption><div class="st-person">
                <img class="st-avatar" width="96" height="96" loading="lazy" src="https://webdevpuneet.com/images/section-templates/avatar-4.jpg" alt="">
                <div><p class="st-person-name">Marco D.</p><p class="st-person-role">Visited in July</p></div>
              </div></figcaption>
          </figure>
          <figure class="tg-card" data-anim="item">
            <p class="st-stars" role="img" aria-label="Rated 5 out of 5"><span aria-hidden="true">★★★★★</span></p>
            <blockquote class="tg-quote"><p>We booked the long table for a birthday and the team made the night unforgettable. Every course was a highlight.</p></blockquote>
            <figcaption><div class="st-person">
                <img class="st-avatar" width="96" height="96" loading="lazy" src="https://webdevpuneet.com/images/section-templates/avatar-2.jpg" alt="">
                <div><p class="st-person-name">Inês R.</p><p class="st-person-role">Private dining</p></div>
              </div></figcaption>
          </figure>
        </div>
      </div>
    </section>
    <section id="contact" class="st st-booking-form" data-uid="smvnkxd94u1mi">
      <div class="st-wrap bk">
        <div class="bk-info">
          <header class="st-head st-head--left bk-head">
            <p class="st-eyebrow" data-anim="item">Reserve</p>
            <h2 class="st-h2" data-anim="item" data-anim-text>Request <span class="hl">a table</span></h2>
            <p class="st-lead" data-anim="item">Choose lunch or dinner, the day and a time. We confirm every request by email.</p>
          </header>
          <div class="bk-block" data-anim="item">
            <h3 class="bk-sub">Opening hours</h3>
            <dl class="bk-hours">
              <div class="bk-row"><dt>Tuesday – Thursday</dt><dd>6:00 pm – 11:00 pm</dd></div>
              <div class="bk-row"><dt>Friday – Saturday</dt><dd>12:30 pm – 3:00 pm, 6:00 pm – 11:30 pm</dd></div>
              <div class="bk-row"><dt>Sunday</dt><dd>12:30 pm – 4:00 pm</dd></div>
              <div class="bk-row"><dt>Monday</dt><dd>Closed</dd></div>
            </dl>
          </div>
          <div class="bk-block" data-anim="item">
            <h3 class="bk-sub">Good to know</h3>
            <ul class="st-checks"><li>Tables are held for 15 minutes</li><li>Parties of 8 or more: please ask about our set menu</li><li>Tell us about any allergies in the notes</li></ul>
          </div>
        </div>
        <div class="bk-card" data-anim="media">
          <form class="st-form" method="post" data-form action="https://formspree.io/f/your-form-id">
            <div class="st-form-fields" data-form-fields>
              <div class="st-form-row">
                <label class="st-field"><span>Your name</span><input name="name" type="text" required autocomplete="name"></label>
                <label class="st-field"><span>Email</span><input name="email" type="email" required autocomplete="email"></label>
              </div>
              <label class="st-field"><span>Phone</span><input name="phone" type="tel" autocomplete="tel"></label>
              <label class="st-field"><span>Service</span><select name="service" required>
                  <option value="Dinner">Dinner</option>
                  <option value="Lunch">Lunch</option>
                  <option value="Private dining">Private dining</option>
                  <option value="Wine tasting">Wine tasting</option>
                </select></label>
              <div class="st-form-row">
                <label class="st-field"><span>Day</span><input name="date" type="date" required data-booking-date></label>
                <label class="st-field"><span>Time</span><select name="time" required>
                    <option value="12:30 pm">12:30 pm</option>
                    <option value="2:00 pm">2:00 pm</option>
                    <option value="6:30 pm">6:30 pm</option>
                    <option value="8:00 pm">8:00 pm</option>
                    <option value="9:30 pm">9:30 pm</option>
                  </select></label>
              </div>
              <label class="st-field"><span>Party size and allergies</span><textarea name="notes" rows="3"></textarea></label>
              <input class="st-hp" type="text" name="_gotcha" tabindex="-1" autocomplete="off" aria-hidden="true">
              <button class="st-btn st-form-btn" type="submit"><span>Request a table</span></button>
              <p class="st-form-note">We reply within a few hours to confirm your table.</p>
              <p class="st-form-error" data-form-error hidden role="alert">Sorry, something went wrong. Please try again or call us directly.</p>
            </div>
            <div class="st-form-success" data-form-success hidden tabindex="-1" role="status">
              <span class="st-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg></span>
              <h3>Request received</h3>
              <p>Thank you. We will email you to confirm your table.</p>
            </div>
          </form>
        </div>
      </div>
    </section>
    <section id="contact-2" class="st st-contact-map" data-uid="smvnkxd949ink">
      <div class="st-wrap cm">
        <div class="cm-info">
          <header class="st-head st-head--left cm-head">
            <p class="st-eyebrow" data-anim="item">Visit us</p>
            <h2 class="st-h2" data-anim="item" data-anim-text>Find <span class="hl">our table</span></h2>
            <p class="st-lead" data-anim="item">Walk-ins welcome at the bar. For dinner, booking is recommended.</p>
          </header>
          <ul class="cm-offices">
            <li class="cm-office" data-anim="item">
              <h3 class="cm-city">Olive &amp; Ember</h3>
              <address class="cm-address">Rua de São Miguel 24<br>1100-544 Lisbon</address>
              <p class="cm-hours">Tue–Sun, 6pm–11pm</p>
              <p class="cm-contact">
                <a href="tel:+351210001234"><span>+351 21 000 1234</span></a>
                <a href="mailto:hello@oliveandember.pt"><span>hello@oliveandember.pt</span></a>
              </p>
            </li>
          </ul>
        </div>
        <div class="cm-map" data-anim="media">
          <iframe class="cm-frame" loading="lazy" referrerpolicy="no-referrer-when-downgrade" src="https://www.openstreetmap.org/export/embed.html?bbox=-0.1135%2C51.5185%2C-0.0955%2C51.5265&amp;layer=mapnik&amp;marker=51.5225%2C-0.1045" title="Map showing Olive &amp; Ember in Lisbon"></iframe>
        </div>
      </div>
    </section>
    <section class="st st-popup-modal" data-uid="smvnkxd94n7bm">
      <div class="pu" data-pu data-trigger="delay" data-delay="12" data-scroll="50" data-days="7" data-pos="bottom-left" data-layout="left" data-autoplay="0" data-pu-id="1ingh17">
        <div class="pu-backdrop" data-pu-close hidden></div>
        <div class="pu-dialog" role="dialog" aria-modal="true" aria-labelledby="pu-heading" tabindex="-1" hidden>
          <button type="button" class="pu-x" data-pu-close aria-label="Close popup"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg></button>
          <div class="pu-media">
            <img class="pu-img" loading="lazy" src="https://webdevpuneet.com/images/section-templates/tpl-restaurant.jpg" alt="A table set for Sunday lunch">
          </div>
          <div class="pu-body">
            <p class="st-eyebrow">This week</p>
            <h2 class="pu-h" id="pu-heading">Sunday <span class="hl">roast &amp; wine</span> for two</h2>
            <p class="pu-lead">Three courses and a bottle for £60, every Sunday until the end of the month.</p>
            <div class="pu-ctas">
              <a class="st-btn pu-cta" href="#contact"><span>Book a table</span></a>
            </div>
            <button type="button" class="pu-no" data-pu-close><span>No thanks</span></button>
          </div>
        </div>
      </div>
    </section>
    <section class="st st-footer-minimal" data-uid="smvnkxd94xu2h">
      <footer class="st-wrap fm">
        <div class="fm-row" data-anim="item">
          <a class="st-brand" href="#">
            <span class="st-brand-mark"><span class="st-brand-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 2v2" /><path d="M14 2v2" /><path d="M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1" /><path d="M6 2v2" /></svg></span><span>Olive &amp; Ember</span></span>
          </a>
          <nav aria-label="Footer"><ul class="fm-links"><li><a href="#menu">Menu</a></li><li><a href="#pricing">Set menus</a></li><li><a href="#customers">Reviews</a></li><li><a href="#contact">Visit</a></li></ul></nav>
          <div><ul class="st-socials">
              <li><a class="st-social" href="https://x.com/" aria-label="X (Twitter)"><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z" /></svg></span></a></li>
              <li><a class="st-social" href="https://www.linkedin.com/" aria-label="LinkedIn"><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></span></a></li>
              <li><a class="st-social" href="https://github.com/" aria-label="GitHub"><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" /><path d="M9 18c-4.51 2-5-2-7-2" /></svg></span></a></li>
            </ul></div>
        </div>
        <p class="fm-copy">© 2026 Olive &amp; Ember</p>
      </footer>
    </section>
Design your website