Overview
Aurelle is an elegant, animated HTML5 template for fine dining restaurants, tasting-menu kitchens and chef's tables. Playfair Display headings and calm Heebo text give it the hush of a dining room at eight. Underneath, it runs real restaurant logic. A service clock knows whether the dining room is open and when the next sitting starts. The tasting menu is priced for your table, with the wine pairing only for the guests who take it. It ships with light and dark mode, right-to-left support and WebGL layers - an ink wash under chosen bands and a candle flame in the footer.
What’s included
- 33 HTML pages, 3 unique home page designs
- Light and dark mode on one switch, remembered between visits, with no flash on load
- Right-to-left stylesheets and a language picker that turns any page around
- WebGL layers tinted by the theme colours: an ink wash and a candle flame
- Real restaurant logic from one data block: service clock, availability, table price, reservations and vouchers
- Three scroll moments that never pin the page
- prefers-reduced-motion support for accessibility
- CSS-variable design tokens for both themes
- Working PHP form handler with optional invisible reCAPTCHA v3
- Font Awesome Free loaded locally
- Fully responsive, zero console errors
- Well-commented code with a numbered JS index
- Documentation included
Getting Started
Thank you for choosing Aurelle. Follow the steps below to get your site live.
1. Open locally
Unzip the package and open aurelle/index.html in any modern browser (Chrome, Firefox, Edge, Safari). No build tools or server are required — every engine on the site works straight from the files.
2. Deploy to a server
Upload the contents of the aurelle/ folder to your hosting with an FTP client (such as FileZilla) or your hosting control panel. Open your domain and the template loads at once.
3. Customise
Custom styles live in assets/css/style.css and assets/css/responsive.css. Colours and fonts are CSS variables — see Colors & Fonts. Prices, hours and items live in one data block in assets/js/main.js (module 09, Dine Data) — see JavaScript Guide.
File Structure
404.html | Page Not Found |
about.html | Our Story |
accolades.html | Accolades |
blog-details.html | Journal Details |
blog.html | Journal |
cart.html | Cart |
checkout.html | Checkout |
chef-details.html | Chef Profile |
chefs-table.html | Chef's Table |
coming-soon.html | Coming Soon |
contact.html | Contact Us |
dish-details.html | Signature Dish |
event-details.html | Event Details |
events.html | Events |
faq.html | FAQ |
forgot-password.html | Forgot Password |
gallery.html | Gallery |
gift-vouchers.html | Gift Vouchers |
homepage-2.html | Home 02 |
homepage-3.html | Home 03 |
index.html | Home 01 |
login.html | Login |
menu.html | The Menu |
opening-hours.html | Opening Hours |
our-kitchen.html | Our Kitchen |
private-dining.html | Private Dining |
product-single.html | Product Details |
register.html | Register |
reservations.html | Reservations |
shop.html | At Home Shop |
tasting-menu.html | Tasting Menu |
wine-list.html | Wine List |
wishlist.html | Wishlist |
Folder Structure
aurelle/
├── *.html (the pages)
├── sendmail.php
├── documentation/
└── assets/
├── css/ fontawesome-all.css, plugins, responsive.css, responsive.rtl.css, style.css, style.rtl.css
├── fonts/ theme-icons
├── img/ blog, dishes, drinks, flags, garnish, icons, kitchen, logo, menu, place, shop, team, textures
├── js/ main.js, plugins
└── webfonts/ fa-brands-400.ttf, fa-brands-400.woff2, fa-regular-400.ttf, fa-regular-400.woff2, fa-solid-900.ttf, fa-solid-9
Colors & Fonts
The design is driven by CSS variables declared at the top of style.css. Change a token once and every section, button and card updates.
--au-ink-0--au-ivory--au-gilt--au-gilt-light--au-product--au-bg--au-surface--au-blush--au-sand--au-stone--au-mauve--au-mist--au-cream--au-heading--au-text--au-mutedFonts
Heebo and Playfair Display are loaded from Google Fonts in the <head> of every page. To change a font, replace the Google Fonts link and the font variables in style.css.
Light & Dark Mode
Every header (and the mobile menu) has a theme switch. The choice is saved in the browser under the key aurelle-theme and applied by a one-line script in the <head> before the page paints, so a visitor never sees a flash. The switch sets data-theme on the <html> tag.
- Tokens — the other theme’s colours sit in their own
[data-theme]block right after:rootinstyle.css. Change a colour there. - WebGL layers — the layers read their colours from CSS custom properties (
--gl-1to--gl-3,--gl-alpha), so a theme change repaints them. - Start in the other theme — add
data-theme="dark"to a page’s<html>tag; the switch still works and is still remembered.
RTL (Right To Left)
Aurelle is RTL-ready: the layout, the sliders and the animations mirror. The language picker beside the theme switch lists left-to-right and right-to-left languages. Choosing a right-to-left one stores the language and the direction (keys aurelle-lang and aurelle-dir) and reloads; the script in <head> then sets dir="rtl" and swaps three stylesheets for the files in their data-rtl attribute. Nothing is translated — you bring your own copy. To make a page right to left for good:
1. Set The Direction
<html lang="en" class="no-js" dir="rtl">
2. Swap Three Stylesheets
assets/css/plugins/bootstrap.min.css | → assets/css/plugins/bootstrap.rtl.min.css |
assets/css/style.css | → assets/css/style.rtl.css |
assets/css/responsive.css | → assets/css/responsive.rtl.css |
style.rtl.css and responsive.rtl.css are mirrored twins of the LTR files, made with RTLCSS. If you change style.css, regenerate the twin with npx rtlcss style.css style.rtl.css.JavaScript Guide
All custom behaviour lives in assets/js/main.js, split into numbered modules listed in the index at the top of the file. Plugins are in assets/js/plugins/ and load before it. Module 09 (Dine Data) is the one data block the pages and engines read: change a price, an hour or an item there and every page that shows it follows.
01 | Preloader |
02 | Sticky Header |
03 | Offcanvas Menu |
04 | Scroll Reveals |
05 | Back To Top |
06 | Anchor Scroll |
07 | Light & Dark Mode, Direction |
08 | WebGL Textures |
09 | Dine Data |
10 | Service Clock |
11 | Custom Select |
12 | Counters & Rings |
13 | Hero Sliders |
14 | Card Sliders |
15 | Accordion |
16 | Filter Tabs |
17 | Grid Search |
18 | Newsletter |
19 | Choice Cards |
20 | Signature Plate |
21 | The Courses |
22 | Garnish Depths |
23 | Tables & Seats |
24 | Tasting Price |
25 | Reservation Wizard |
26 | Chef's Table |
27 | Menu Filters & Tabs |
28 | Wine List |
29 | Private Dining Enquiry |
30 | Contact Form |
31 | Care Shop |
32 | Account Forms |
33 | Gift Vouchers |
34 | Article Tools |
35 | Demo Forms |
36 | Launch Countdown |
37 | Event Seats |
38 | FAQ Search |
Images
The package ships with placeholder images at their real dimensions. Replace them with your own photos using the same file names, or update the src attributes. Images are grouped inside assets/img/:
img/blog/ | 8 files: 1300×645, 1300×1580, 1300×1230, 1300×1785, 1300×1000 |
img/dishes/ | 42 files: 1478×648, 1201×1201, 756×1257, 1034×708, 1021×1573, 1065×1650 |
img/drinks/ | 2 files: 1745×845, 642×1192 |
img/flags/ | 6 files: SVG |
img/garnish/ | 7 files: 440×560, 600×600, 520×600, 480×360, 480×600, 440×600 |
img/icons/ | 28 files: 128×128, 200×460 |
img/kitchen/ | 6 files: 621×931, 2812×1620, 2816×1584, 2817×1322, 650×1300, 1300×1300 |
img/logo/ | 5 files: 64×64, 603×104, 602×104, 240×240 |
img/menu/ | 3 files: 1200×820 |
img/place/ | 1 files: 714×714 |
img/shop/ | 11 files: 800×673, 1030×866 |
img/team/ | 9 files: 1100×1415, 320×320, 850×850, 680×1387, 681×901 |
img/textures/ | 1 files: 1920×920 |
Contact Form
The contact form posts to sendmail.php, a lightweight AJAX mail handler; the success or error message appears under the button without a reload. The other forms on the site are demo forms: they confirm on screen and are ready to connect to your own systems.
1. Set your email address
$email = 'example@example.com';
2. Upload to a PHP host
The form needs a server with PHP mail() support (virtually every shared host). It will not send from your own computer.
3. Optional: enable Google reCAPTCHA v3
Invisible reCAPTCHA v3 is built into the handler and stays dormant until the form sends a token. Create v3 keys in the reCAPTCHA admin console, replace YOUR_RECAPTCHA_V3_SECRET_KEY in sendmail.php, and load the reCAPTCHA script with your site key on the contact page.
Credits
This template is built with the following open-source libraries and resources.
- Bootstrap 5.3.3
- jQuery 3.7.1
- Swiper 11
- GSAP 3 + ScrollTrigger
- Fancybox 3.5
- Font Awesome Free
- RTLCSS
- Google Fonts: Heebo, Playfair Display
All plugin files and icon fonts are loaded locally. The only external requests are the Google Fonts stylesheet, map embeds and video popups.
Support
Questions or help with the template? Contact us at metropolitanhost.com. We answer the same business day, 9am–6pm ET.