Overview
A soft, pastel HTML template for a fashion design and styling academy that teaches four schools — fashion design, styling, fashion photography, makeup & hair — through diplomas and short courses, full-time, part-time or online. The pages keep the studio-photography look (spaced Dosis capitals, blush rules, pastel backdrops) and the logic is worked out rather than typed in: every course’s intakes from the visitor’s date with the deadline, the days left, the places left and the early-application saving; a tuition calculator with payment plans and every payment’s date; a five-step application with a portfolio upload; open days from their repeat rules; the graduate show with a countdown and a live running order; a timetable that lights the class on now; and a currency switch.
What’s included
- 3 home pages, each with its own scroll moment: Sketch To Photograph (a croquis becomes the flat, the toile and the photographed dress), Semester Grid (the diploma’s modules drop into four semesters) and Portfolios Fan Out (the graduates’ portfolios open like a hand of cards)
- A white theme by default and a dark theme on one switch, remembered between visits and applied before the page paints
- Right-to-left stylesheets and a flag language picker; a currency switch (euros, pounds, dollars) that repaints every fee
- 8 courses in 4 schools with school tabs, level and study-mode filters and search; a diploma layout and a short-course layout; intakes & dates; the tuition page; how to apply; the application; open days; a weekly timetable; student work
- The graduate show with a countdown and a running order, 8 graduates by school, a portfolio page, past shows and a seat booking
- WebGL: Pastel Clouds drifting through the page titles and plain bands, and the academy crest shattering into Voronoi cells and re-forming in the footer
- Pin Cushion preloader, Swatch Flip photo reveals, soft-rise copy, the intake-badge hover on course cards, Swiper sliders and Fancybox
- About, the studios, faculty and a tutor profile, journal, FAQ with search, contact with a map and the PHP form, the student area and account pages, coming soon with a countdown, 404
- Fully responsive from 390 px to wide screens
Getting Started
Thank you for choosing Modara. Follow the steps below to get your site live.
1. Open locally
Unzip the downloaded package and open modara/index.html in any modern browser (Chrome, Firefox, Edge,
Safari). No build tools or server are required — the intakes, the tuition calculator, the application, the open
days, the show’s countdown, the timetable and the filters all work straight from the files.
2. Deploy to a server
Upload the contents of the modara/ folder to your hosting provider using an FTP client (such as FileZilla)
or your hosting control panel. Once uploaded, navigate to your domain and the template will load immediately.
3. Customise
All custom styling lives in assets/css/style.css (with a numbered Table of CSS at the top) and
assets/css/responsive.css. Colours and fonts are controlled by CSS variables — see
Colors & Fonts. The schools, the courses and their fees, the intakes, the payment plans,
the open days, the show, the timetable, the faculty and the graduates live in one place — see
Courses, Intakes & Tuition.
assets/img/ with your own photography at the
same file names; the Swatch Flip reveal works on any photo.
File Structure
Below is an overview of the key files and folders included in this template.
index.html / homepage-2.html / homepage-3.html | Three home pages: The Academy (sketch to photograph), Courses & Intakes (the semester grid fills), Graduate Show (the portfolios fan out) |
courses.html | Every course with school tabs, level and study-mode selects, search and a count |
course-details.html / course-details-2.html | Two course layouts: the diploma (story, study modes, semesters, intakes, tutors, entry) and the short course (a studio slider, the weeks, a priced place) |
intakes.html | Every course’s next three intakes from today, with deadlines, days left, places and the early saving |
timetable.html | The week’s classes by day and studio, the class on now lit |
student-work.html | A masonry gallery of student work in a lightbox, by school |
admissions.html / apply.html | How to apply (steps, the portfolio, entry by level, questions); the five-step application with the portfolio upload |
tuition.html | The tuition calculator with the payment plan and its dates, every fee by study mode, the ways to pay |
open-days.html | The next campus days and online evenings from their rules, a booking form, the studios on the tour |
graduate-show.html / graduates.html / graduate-details.html | The show (countdown, running order, award winners, past shows, seats), every graduate by school, one portfolio |
about.html / studios.html / faculty.html / faculty-details.html | The academy, the studios with the campus map, the faculty and one tutor’s profile |
blog.html / blog-details.html | The journal with search; a post with reading time, share and comments |
faq.html | Questions by topic with search |
contact.html | Contact cards with the live line, the form, campus hours, the next open day and a map |
account.html / login.html / register.html / forgot-password.html | The student area (the application, the payment plan, the week, details) and the login pages |
coming-soon.html / 404.html | Countdown to the Knitwear Lab, error page |
sendmail.php | AJAX mail handler for the contact and comment forms (see Contact Form) |
assets/css/style.css | All custom styles, numbered Table of CSS (17 sections) |
assets/css/responsive.css | Desktop-first breakpoints 1399 / 1199 / 991 / 767 / 575, plus wide screens from 1600 and 1960 |
assets/css/style.rtl.css / responsive.rtl.css | The right-to-left twins (see RTL) |
assets/css/plugins/ | Bootstrap (LTR and RTL), Swiper, Fancybox (vendor CSS) |
assets/js/main.js | All custom scripts, numbered JS INDEX (32 blocks) |
assets/js/plugins/ | jQuery, Bootstrap, Swiper, Fancybox, GSAP, ScrollTrigger |
assets/img/ | Images, one folder per section (see Images) |
assets/fonts/theme-icons/ | The sun and moon of the theme switch, loaded locally |
assets/webfonts/ + assets/css/fontawesome-all.css | Font Awesome Free, loaded locally |
Folder Structure
The package unzips to two folders: Documentation/ (this guide) and modara/, the template.
Every page sits in the template’s root; everything the pages load sits under assets/:
modara/
├── *.html the 30 pages, all in the root (see File Structure)
├── sendmail.php the AJAX mail handler for the forms
└── assets/
├── css/
│ ├── style.css all custom styles, numbered Table of CSS
│ ├── style.rtl.css the right-to-left twin of style.css
│ ├── responsive.css breakpoints 1399 / 1199 / 991 / 767 / 575
│ ├── responsive.rtl.css the right-to-left twin of responsive.css
│ ├── fontawesome-all.css Font Awesome Free, loaded locally
│ └── plugins/ vendor stylesheets
├── js/
│ ├── main.js all custom scripts, numbered JS INDEX (32 blocks)
│ └── plugins/ jQuery, Bootstrap, GSAP, ScrollTrigger, Swiper, Fancybox
├── fonts/
│ └── theme-icons/ the sun and moon of the theme switch
├── webfonts/ Font Awesome Free font files
└── img/ images, one folder per section
├── client/ 5 files
├── course/ 9 files
├── decor/ 3 files
├── flags/ 6 files
├── garment/ 1 files
├── grad/ 36 files
├── hero/ 9 files
├── icons/ 30 files
├── logo/ 4 files
├── menu/ 3 files
├── photo/ 20 files
├── team/ 8 files
└── work/ 16 files
To publish the site, upload the contents of modara/ to your web root. Photos keep their folder,
file name and size when you replace them, so no page needs editing.
Colors & Fonts
The whole design is driven by CSS variables declared at the top of style.css. Change a token once and every
section, button and card updates. Colours used with transparency have an -rgb twin (for example
--ma-blush-rgb) — change both together.
--ma-ink--ma-blush--ma-lavender--ma-powder--ma-peach--ma-mint--ma-accent-text--ma-bg--ma-band--ma-heading--ma-text--ma-line--ma-nightThe site is white with ink and a soft mist band, and the colour comes from the photographs’ pastel backdrops.
Ink is the headings, the square buttons and the footer. Blush is the short rule under every title, the
tonal buttons, the bars and the selection; ink text sits on it. The four course colours — blush
(design), lavender (styling), powder (photography) and peach (makeup & hair), with mint for theory — colour the
school tags, the timetable and the semester grid through the classes t-blush, t-lavender,
t-powder, t-peach and t-mint. --ma-accent-text is the deeper rose for
small accent text on white. --ma-bg, --ma-band, --ma-surface,
--ma-heading and --ma-text are the semantic names the components use — the dark theme swaps
those (see Dark & Light Mode).
Fonts
Two Google Fonts are loaded in the head of each page: Dosis (headings in tracked capitals, navigation,
eyebrows, buttons and figures) and Commissioner (the body, the leads, the forms). Swap them by editing the
Google Fonts link and the --ma-ff-head / --ma-ff-body variables.
Logo
The logo is MODARA in tracked Dosis capitals whose O is a ring of ten pin heads in the four course colours. It ships as
ready-made PNG files in assets/img/logo/:
logo.png— ink, for white barslogo-light.png— white, in the dark theme and the footermark.png— the ring of pins alone (the about band, the account, coming-soon and error pages)favicon.png— the browser tab icon
To use your own logo, replace these files; the header sizes the logo by its height.
Dark & Light Mode
Modara opens white. Every header (and the mobile menu) has a theme switch that turns the dark pages on. The choice is
saved in the browser under the key modara-theme and applied by a one-line script in the
<head> before the page paints. The switch sets data-theme="dark" on the
<html> tag.
--ma-bg--ma-band--ma-surface--ma-heading--ma-text--ma-accent-text- Tokens — the dark values sit in one block,
[data-theme="dark"] { … }, right after:rootinstyle.css. - Bands that stay dark — sections with the class
is-night(the footer, the mobile menu’s foot) are dark in both themes; photo bands keep their own wash. - Icons and drawings — each line icon ships in an ink and a white version; the croquis keeps its white sketchbook page in both themes.
- Start dark — add
data-theme="dark"to the<html>tag of each page; the switch still works.
Courses, Intakes & Tuition
The figures on every page come from one data block, JS block 09 Modara Data near the
top of main.js (var MODARA). Edit it once and the course cards, the course pages, the intakes,
the tuition calculator, the application, the open days, the show, the timetable and the student area follow. Fees are in
euros (the currency switch converts them); times are minutes after midnight (540 = 9:00); weekdays run 0 = Sunday to
6 = Saturday; months run 1 = January to 12 = December.
currency | Euros, pounds and dollars with their symbols and rates to the euro. |
hours | The campus hours for each weekday (the live line and the hours tables). |
schools / modes | The 4 schools with their colour and line icon; the three study modes. |
courses | Each course’s school, level and credits; for each study mode its length and tuition; its intake months (it starts on the first Monday of each); the places per intake and the places left on the next three; its tutors and its page. |
plans / early / deposit / deadline | The payment plans (in full 4%, termly, monthly 5% and only on courses of ten months or longer); 6% off when you apply 90 days or more before the start; a €500 deposit with the offer; applications close 21 days before the start. |
kits | The starter kit of each school and its price (optional in the calculator). |
semesters | The Fashion Design Diploma’s modules by semester, with their credits and colour (Home 02’s grid and the course page). |
openDays / show | The open days by their rule (the n-th weekday of every month) with times, sessions and places; the graduate show on the third Thursday of June with its venue, seats and running order. |
timetable / rooms | The week’s classes: day, start, end, course, studio and tutor. |
team / graduates / pastShows / voices / student | The faculty; the graduates and the frames of each portfolio; the last three shows; what graduates say; the student area’s demo student. |
The fees
| Fashion Design Diploma | Diploma · 120 credits · full-time €14,800 over 20 months · part-time €15,900 over 32 months · online €9,600 over 24 months |
| Pattern Cutting & Construction | Certificate · 30 credits · full-time €3,900 over 12 weeks · part-time €4,200 over 20 weeks · online €2,600 over 16 weeks |
| Fashion Styling Diploma | Diploma · 60 credits · full-time €8,600 over 10 months · part-time €9,200 over 16 months · online €5,900 over 12 months |
| Personal Styling Certificate | Short Course · 15 credits · full-time €1,650 over 6 weeks · part-time €1,790 over 10 weeks · online €990 over 8 weeks |
| Fashion Photography Diploma | Diploma · 60 credits · full-time €9,400 over 10 months · part-time €9,900 over 16 months · online €6,400 over 12 months |
| Studio Lighting | Short Course · 10 credits · full-time €1,250 over 4 weeks · part-time €1,390 over 8 weeks · online €790 over 6 weeks |
| Makeup Artistry Diploma | Diploma · 60 credits · full-time €7,900 over 9 months · part-time €8,400 over 14 months · online €5,200 over 12 months |
| Editorial Hair & Makeup | Short Course · 10 credits · full-time €1,490 over 5 weeks · part-time €1,590 over 8 weeks · online €890 over 6 weeks |
How the tuition adds up
The course’s tuition for the study mode, less 6% when the intake starts 90 days or more from today; then the payment plan: paying in full takes 4% off, ten monthly payments add 5%; then the school’s starter kit if wanted. The €500 deposit is due with the offer and comes off the first payment, which falls two weeks before the start; termly payments follow at a third and two thirds of the course, monthly payments every month.
Intakes, open days and the live line
Every date is worked out in the visitor’s browser from today: the next intakes of each course and their deadlines, the days left and the early-application window; the next open days; the graduate show and its countdown; the class in the studios now. The header’s live line says whether the studios are open, whether an open day or the show is on, and names the next open day (block 10). The pages print the same values for one day as their no-script text.
Applications and the chosen tuition plan are kept in the browser (localStorage) so they follow the visitor
from page to page and show in the student area; the application confirms on screen with a reference — connect it to
your own admissions system to take real applications. The tuition engine is block 21.
WebGL & Motion
A small WebGL shader draws Pastel Clouds: soft cloud forms in blush, lavender and powder drifting slowly sideways through the page titles and plain bands, quieter in the middle where the copy sits. It is one canvas:
<canvas class="ma-gl" data-gl="clouds" aria-hidden="true"></canvas>
- Colours — the layer reads its colours and strength from CSS variables on its canvas or section:
--gl-1,--gl-2,--gl-3and--gl-alpha. The theme switch repaints them. - The footer’s crest — a canvas drawing: the academy’s pin-ring crest cut into Voronoi cells that drift apart every few seconds and glide back together.
- Performance — each layer only runs while it is on screen and the tab is visible. Visitors who prefer reduced motion get one still frame.
- Remove one — delete the canvas; nothing else depends on it.
Reveals and hover
Add ma-swatch to a photo’s frame and it uncovers under a board of small pastel squares that flip over
one by one along the diagonal, like a swatch board (block 04). ma-fade lifts
text and titles into place; data-delay="0.2" staggers either. On a course card the next intake slides up
into the photograph on hover.
RTL (Right To Left)
Modara is RTL-ready: the layout with its paddings and margins, the sliders and the animations all mirror, while the
drawings keep their own left and right. Right to left comes from the stylesheets, not from separate pages: the language
picker (a flag and a code) lists the languages that read left to right and right to left. Choosing Arabic stores the
language and the direction (keys modara-lang and modara-dir) and reloads; the script in
<head> then sets dir="rtl" and swaps the three stylesheets for the files named in their
data-rtl attribute. Nothing is translated — you bring your own right-to-left 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. A few hand-made rules at the end of style.rtl.css (after
RTL fixes) keep what must not mirror. If you change style.css, regenerate the twin with
npx rtlcss style.css style.rtl.css and copy the RTL fixes block back to its end.JavaScript Guide
All custom behaviour lives in assets/js/main.js, wrapped in a jQuery IIFE and organised into 32 numbered
blocks (see the JS INDEX comment at the top of the file):
- 01–08 — Preloader, Sticky Header, Offcanvas Menu, Scroll Reveals, Back To Top, Anchor Scroll, Light & Dark Mode, Direction, WebGL Layers. The core every page shares: the Pin Cushion preloader, the header, the Swatch Flip reveals and soft rise, the theme and direction switch and the WebGL layer.
- 09–10 — Modara Data, Academy Live & The Dates. Modara Data holds every figure; Academy Live works out the intakes, deadlines, open days, the show, the class on now and the live line from the visitor’s own date and time.
- 11–19 — Custom Select, Currency, Hero Sliders, Card Sliders, Accordion, Filter Tabs, Grid Search, Newsletter, Choice Cards. Shared components: selects, the currency switch, sliders, accordions, filters, search, forms.
- 20 — Scroll Moments. The three home pages’ scroll moments: Sketch To Photograph, Semester Grid, Portfolios Fan Out.
- 21–32 — Tuition Calculator, Application Wizard, Work Filters, Tab Sets, Contact Form, Account Forms, Student Area, Article Tools, Demo Forms, Launch Countdown, Footer Crest, FAQ Search. The feature pages: the tuition calculator, the application wizard, the listing filters, tabs, contact, accounts and the student area, the journal, demo forms, the countdown, the footer crest, FAQ.
Each block is a self-contained doSomething() function that safely skips pages where its section is not
present — you can delete any block you do not need. Every animation respects prefers-reduced-motion.
doLaunchCountdown() and in
the data block’s show.Images
The download package ships with neutral placeholder images so you can see every layout at the correct dimensions.
Replace them with your own photos using the same file names, or update the src attributes. Images are
grouped inside assets/img/:
img/client/ | Graduates’ faces beside their words, and the student area’s student (square crops) — 5 files: 480×480, 512×512 |
img/course/ | The course covers (and a wide frame for the diploma’s title) — 9 files: 2817×1734, 550×660, 800×802, 1300×875, 682×859, 1021×1021, … |
img/decor/ | The pastel brush daubs (PNG, included) — 3 files: 900×1000, 620×360, 1000×420 |
img/flags/ | The language picker’s flags (SVG, included) — 6 files: SVG |
img/garment/ | The finished dress of Home 01’s Sketch To Photograph — 1 file: 1285×1275 |
img/grad/ | The graduates’ portfolios, frame by frame (name-1.jpg is the cover) — 36 files: 800×589, 875×900, 528×900, 600×495, 400×600, 1386×1763, … |
img/hero/ | The home pages’ hero slides — 9 files: 1920×1100, 2809×1624, 2809×1609, 2809×1652, 1920×860, 550×1012, … |
img/icons/ | The line icons, each in an ink and a white version (included) — 30 files: 128×128 |
img/logo/ | Logo, light logo, the pin-ring mark and the favicon (included) — 4 files: 969×157, 64×64, 320×332 |
img/menu/ | Home previews in the mega menu — 3 files: 960×600 |
img/photo/ | The studios, the campus and the days behind the work — 20 files: 1300×792, 2817×1716, 1049×763, 2816×1964, 800×558, 1346×981, … |
img/team/ | The faculty, portraits — 8 files: 600×618, 937×965 |
img/work/ | Student work for the gallery — 16 files: 800×625, 800×802, 800×800, 550×1100, 800×794, 800×792, … |
The logo files, the line icons, the brush daubs and the language flags are included and ready to use. All demo photography shown on the live preview is for preview purposes only and is not included in the download.
Contact Form
The contact form and the comment form post to sendmail.php, a lightweight AJAX mail handler. The success
or error message appears under the button without reloading the page. The newsletter, application, open-day, seat, account,
login, register and forgot-password forms are demo forms: they confirm on screen and are ready to connect to your own systems.
To activate the mail handler on your server:
1. Set your email address
Open sendmail.php and replace the placeholder recipient at the top of the file with your own 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
local computer or from a static-only host — there the form shows a friendly “upload to a PHP-enabled
host” notice instead.
3. Optional: enable Google reCAPTCHA v3
Invisible reCAPTCHA v3 spam protection is already built into the handler. It stays dormant until the form submits a token — that is why no badge or checkbox appears out of the box. To switch it on:
- Create v3 keys (a site key and a secret key) for your domain in the Google reCAPTCHA admin console
- In
sendmail.php, replaceYOUR_RECAPTCHA_V3_SECRET_KEYwith your secret key - In
contact.html, add a hidden token field inside the form and load the reCAPTCHA script with your site key just before</body>:
<!-- inside the form -->
<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response">
<!-- before the closing </body> tag -->
<script src="https://www.google.com/recaptcha/api.js?render=YOUR_SITE_KEY"></script>
<script>
grecaptcha.ready(function () {
grecaptcha.execute('YOUR_SITE_KEY', { action: 'contact' }).then(function (token) {
document.getElementById('g-recaptcha-response').value = token;
});
});
</script>
Once the token field is present, sendmail.php verifies every submission with Google and rejects low-score
(bot) requests.
Credits
This template is built using 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: Dosis, Commissioner
All plugin files and icon fonts are loaded locally. The only external requests are the Google Fonts stylesheet, the Google Maps embed and the video popups.
Support
If you have any questions or need help with the template, please reach out through the marketplace where you purchased the template: open the item there and send us your question from its support page. We aim to respond within 24–48 hours.