Overview

Illustra template home pages

A bright, storybook HTML template for an illustration and concept-art studio of several artists working for game studios and publishers. Every piece sits on its own flat pastel plate; Lato titles, EB Garamond artwork titles, ink pills and one plum accent keep the page calm around the art. Illustra ships three home pages, a light and a dark theme, right-to-left support and logic that is worked out rather than typed in: an estimate builder with a delivery date from the artists’ own queues, the roster filtered by style, licensing by use with a licence library, bag and checkout, projects by client, a five-step brief and a five-step artist application, the studio’s hours on the visitor’s own clock, and a currency switch.

What’s included

  • 3 home pages, each with its own scroll moment: a grey blockout painted over layer by layer, a valley coming apart into its depth planes, and a colour script filling beat by beat
  • A light theme by default and a dark theme on the switch, remembered between visits and applied before the page paints
  • Right-to-left stylesheets and a flag language picker; a currency switch (dollars, pounds, euros) that repaints every price
  • WebGL Perspective Guides drifting behind the bands; a creature bust in a clay render turning in the footer
  • The Layer Stack preloader, the Quadrant Gather reveal, words rising in titles and palette-chip hovers that show each piece’s key colours
  • The estimate builder, the five-step project brief, rates and complexity, how the studio works
  • The artists filtered by style with an artist profile; licensing by use with the terms table and a calculator; the licence library, licence page, bag, checkout and wishlist
  • All the work with category tabs and search; projects by client; two project layouts
  • About, what we make, concept art for games, join the studio, the journal, FAQ with search, contact with a map and the PHP form, account pages, coming soon with a countdown, 404
  • Fully responsive from 390 px to wide screens
📄 33 HTML files

Getting Started

Thank you for choosing Illustra. Follow the steps below to get your site live.

1. Open locally

Unzip the downloaded package and open illustra/index.html in any modern browser (Chrome, Firefox, Edge, Safari). No build tools or server are required — the estimate, the roster, licensing, the bag and checkout all work straight from the files.

2. Deploy to a server

Upload the contents of the illustra/ 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 artists, the pieces, the rates, the licence terms and the studio hours live in one place — see Estimates & Licensing.

Tip: Replace the neutral placeholder images in assets/img/ with your own artwork at the same dimensions. Each piece sits on a flat plate whose colour, and its three palette chips, are classes in the Art Plates section at the end of style.css: set them to your art’s own colours.

File Structure

Below is an overview of the key files and folders included in this template.

index.html / homepage-2.html / homepage-3.htmlThree home pages: The Studio (the paint-over), Games & Concept Art (the depth planes, beside the side panel) and Books & Covers (the colour script)
work.html / projects.htmlEvery piece with category tabs and search; projects by client with client tabs
project-details.html / project-details-2.htmlTwo project layouts: big plates with an info box; a split screen with the paintings in passes
about.html / artists.html / artist-details.htmlAbout the studio; the roster filtered by style, searched and sorted; an artist profile
services.html / service-details.html / process.htmlWhat we make; concept art for games; how a project runs
join.htmlOpen calls and the five-step artist application
estimate.html / request.html / pricing.htmlThe estimate builder; the five-step project brief opened with the estimate; rates and complexity
licensing.html / library.html / licence-details.htmlLicensing by use with the terms table and a calculator; the licence library; a licence page
cart.html / checkout.html / wishlist.htmlThe licence bag (terms, coupon, tax by region), checkout with an order number, the wishlist
blog.html / blog-details.htmlThe journal with search; an article with reading time, share and comments
faq.htmlQuestions by topic with search
contact.htmlThe studio, the hours, the map and the contact form
account.html / login.html / register.html / forgot-password.htmlThe account (projects, licence orders, details) and the login pages
coming-soon.html / 404.htmlCountdown to the studio art book, error page
sendmail.phpAJAX mail handler for the contact form (see Contact Form)
assets/css/style.cssAll custom styles, numbered Table of CSS (21 sections)
assets/css/responsive.cssDesktop-first breakpoints 1399 / 1199 / 991 / 767 / 575, plus wide screens from 1600 and 1960
assets/css/style.rtl.css / responsive.rtl.cssThe right-to-left twins (see RTL)
assets/css/plugins/Bootstrap (LTR and RTL), Swiper, Fancybox (vendor CSS)
assets/js/main.jsAll custom scripts, numbered JS INDEX (35 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.cssFont Awesome Free, loaded locally

Folder Structure

The package unzips to two folders: Documentation/ (this guide) and illustra/, the template. Every page sits in the template’s root; everything the pages load sits under assets/:

illustra/
├── *.html                              the 33 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
    │       ├── bootstrap.min.css
    │       ├── bootstrap.rtl.min.css   Bootstrap for right-to-left pages
    │       ├── jquery.fancybox.min.css
    │       └── swiper-bundle.min.css
    ├── js/
    │   ├── main.js                     all custom scripts, numbered JS INDEX (35 blocks)
    │   └── plugins/                    vendor scripts
    │       ├── bootstrap.bundle.min.js
    │       ├── gsap.min.js
    │       ├── jquery-3.7.1.min.js
    │       ├── jquery.fancybox.min.js
    │       ├── ScrollTrigger.min.js
    │       └── swiper-bundle.min.js
    ├── fonts/
    │   └── theme-icons/                the sun and moon of the theme switch
    ├── webfonts/                       Font Awesome Free font files
    └── img/                            images, one folder per section
        ├── banner/                      2 files
        ├── blog/                        6 files
        ├── clients/                     6 files
        ├── cut/                         20 files
        ├── depth/                       6 files
        ├── flags/                       7 files
        ├── icons/                       6 files
        ├── logo/                        9 files
        ├── menu/                        3 files
        ├── paint/                       5 files
        ├── script/                      1 files
        ├── team/                        7 files
        └── work/                        66 files

To publish the site, upload the contents of illustra/ to your web root. Images 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 --il-pop-rgb) — change both together.

White Ground--il-bg
Paper Band--il-paper
Story Cream--il-cream
Plate Cream--il-cream-2
Ink--il-ink
Body Text--il-text
Plum--il-plum
Coral--il-coral
Sun--il-sun
Teal--il-teal

White is the ground, with grey paper bands for page titles and info boxes and the storybook cream for the story bands. Ink is the colour of the titles and of the pill button; plum is the one interface accent: links, the current page, the live marks and the button’s hover. Coral, sun and teal are the logo’s three paint dabs, used for the eyebrows, the icons and the colour columns. The art brings every other colour.

Fonts

Two Google Fonts are loaded in the head of each page: Lato (titles in 900, the body, the menu, the labels and the buttons) and EB Garamond (artwork titles, quotes, figures and the book home’s display — add the class il-serif). Swap them by editing the Google Fonts link and the --il-ff-body / --il-ff-serif variables.

Logo

The logo is the studio’s palette beside Illustra in Lato 900. It ships as ready-made PNG files in assets/img/logo/:

  • logo.png — the ink wordmark, for the light theme
  • logo-light.png — the white wordmark, for the dark theme and the footer
  • mark.png — the palette alone (the account rows)
  • layer-1.png to layer-5.png — the palette’s sketch, flats, shadows, light and effects, stacked by the preloader
  • favicon.png — the browser tab icon

To use your own logo, replace these files; the header sizes the logo by its height.

Light & Dark Mode

Illustra opens light. Every header (and the mobile menu) has the moon switch that turns the dark theme on. The choice is saved in the browser under the key illustra-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.

Dark Ground--il-bg
Dark Paper--il-paper
Dark Ink--il-heading
Plum, Lifted--il-pop
  • Tokens — the dark values sit in one block, [data-theme="dark"] { … }, right after :root in style.css.
  • Bands that stay put — is-night stays dark in both themes (the footer, the depth band) and is-plum is the plum band; the art plates keep their own colours.
  • Start dark — add data-theme="dark" to the <html> tag of each page; the switch still works.

Estimates & Licensing

The figures on every page come from one data block, JS block 09 Illustra Data near the top of main.js (var ILLUSTRA). Edit it once and the estimate, the roster, the licence fees, the bag and the clocks follow. Prices are in dollars (the currency switch converts them); times are minutes after midnight (540 = 9am); weekdays run 0 = Sunday to 6 = Saturday.

currencyDollars, pounds and euros with their symbols and rates to the dollar.
hoursThe studio’s hours (null = closed); Saturday is the portfolio-review morning.
styles / artists5 styles and 7 artists, each with styles, a day rate and a queue in weeks: the Monday after the queue is the day they are free.
clients / projects / works6 clients, 10 projects and 67 pieces, each with its project, artist, category, style, plate colour and three key colours.
estimateThe asset types’ rates and days, the complexity factors, turnaround, extras, the volume discount, the 40% deposit and the crew size.
licensingEach category’s base value and the factors for the use, the territory, the term and the print run, with exclusivity.
shop / calls / quotes / awardsBilling regions with their tax and the coupon ILLUSTRA10 (10% off); the open calls with the days until they close; client quotes; awards.

The estimate

Each piece is its type’s rate times the complexity. From 10 pieces 6% comes off, from 20 10%. Priority and rush add their share of the pieces; extras are priced per character, environment, prop or once per order. The style picks the artists who paint it; the first of them to be free sets the start (rush starts the next working day), and the artist-days spread over the crew give the delivery date in working days.

CharactersSketch $189 · Clean Concept $420 · Final Render $798
EnvironmentsSketch $306 · Clean Concept $680 · Final Render $1,292
PropsSketch $72 · Clean Concept $160 · Final Render $304
Worked example: six characters at final render, two environments at clean concept and four props as sketches, $6,436; 6% off for 12 pieces; priority +25%; six character turnarounds $1,080 — $8,643, a deposit of $3,457, 11 working days of work once the artists start.

Licensing

Personal PrintOne print or a wallpaper for your own wall · × 0.15
EditorialAn article in a magazine, newspaper or blog · × 0.5
Book InteriorA spread or a chapter opener inside a book · × 0.8
In-Game AssetInside a game: a level, a card, a loading screen · × 1.4
Book CoverThe front cover, the spine and the ads that show it · × 1.6
Key Art & MarketingStore pages, trailers, posters and ads · × 2
MerchandisePrints, apparel and products for sale · × 2.4
Territory / Term / RunOne Country × 1 · One Region × 1.6 · Worldwide × 2.4 · One Year × 1 · Three Years × 1.8 · Perpetual × 3 · Up To 5,000 × 1 · Up To 50,000 × 1.5 · Unlimited × 2.2
Worked example: Star Whale as a book cover, worldwide, for three years and up to 50,000 copies: $520 base × 1.6 × 2.4 × 1.8 × 1.5, rounded to $5 — $5,390.

The licence bag, the wishlist, the coupon, the last estimate, the sent briefs and the placed orders are kept in the browser (localStorage), so the demo works without a server; connect checkout and the forms to your own systems to take real orders.

Motion & WebGL

  • Layer Stack (block 01) — the palette’s five layers fall onto a tilted stack, the stack flattens into the logo, the word rises and the panel lifts; once a session.
  • Quadrant Gather and the word rise (block 04) — artworks arrive as four quarters sliding in from their corners; title words rise from behind padded masks; cut-outs float.
  • Palette chips — on hover, a piece’s three key colours slide out as round dabs with their hex; the colours are classes in the Art Plates section of style.css.
  • Perspective Guides (block 08) — a WebGL layer on <canvas data-gl="guides">; its inks come from --gl-1, --gl-2 and --gl-alpha, so each theme repaints it.
  • The clay bust (block 10) — the footer’s creature, built from spheres and swept tubes and lit by a matcap painted on a canvas.
  • The scroll moments (blocks 20–22) — the paint-over, the depth planes and the colour script follow their section’s own travel through the window; nothing is pinned.

Every animation respects prefers-reduced-motion: the page renders as authored, the moments show their finished state.

RTL

Pick a right-to-left language in the flag picker and the page turns round: the choice is saved (illustra-dir), and the head script sets dir="rtl" and swaps the three stylesheets for their twins (bootstrap.rtl.min.css, style.rtl.css, responsive.rtl.css) before the page paints. The demo copy stays in English. To ship a right-to-left site, set dir="rtl" on <html> and point the three <link> tags at the twins.

JavaScript Guide

main.js is one file of 35 numbered blocks, each a self-contained function that returns early when its section is not on the page, so every page loads the same file. The JS INDEX at the top lists them:

  • 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 Layers
  • 09 — Illustra Data
  • 10 — Clay Bust
  • 11 — Custom Select
  • 12 — Currency
  • 13 — Hero Sliders
  • 14 — Card Sliders
  • 15 — Accordion
  • 16 — Filter Tabs
  • 17 — Grid Search
  • 18 — Newsletter
  • 19 — Choice Cards
  • 20 — The Paint-Over
  • 21 — Depth Planes
  • 22 — Colour Script
  • 23 — The Roster
  • 24 — Tabs
  • 25 — Studio Clock
  • 26 — Estimate Builder
  • 27 — Wizards
  • 28 — Contact Form
  • 29 — Licence Shop
  • 30 — Account Forms
  • 31 — Account Page
  • 32 — Article Tools
  • 33 — Demo Forms
  • 34 — Launch Countdown
  • 35 — FAQ Search

Images

img/banner/Wide pictures for bands and the about page — 2 files: 2809×1609, 871×585
img/blog/Journal pictures — 6 files: 1920×1200, 1300×1300, 1300×1720, 1920×1214, 1300×1628, …
img/clients/The client marks (included) — 6 files: 745×93, 816×81, 683×80, 671×81, 797×93, …
img/cut/Cut-outs for the heroes, the page titles and the floating objects (transparent PNG) — 20 files: 251×488, 294×338, 378×296, 266×319, 826×1180, …
img/depth/The drawn dusk valley in five planes and flattened (included) — 6 files: 1600×1000
img/flags/The language picker’s flags (SVG, included) — 7 files: SVG
img/icons/Line-art service icons (included) — 6 files: 160×160
img/logo/Logo, light logo, the mark, its five layers and favicon (included) — 9 files: 680×546, 785×175, 64×64, 441×358
img/menu/Home previews in the mega menu — 3 files: 560×350
img/paint/The paint-over’s five passes (Home 01) — 5 files: 1600×917
img/script/The colour script’s keys sheet (Home 03) — 1 file: 1920×800
img/team/The artists’ portraits (shown round) — 7 files: 300×300, 460×460, 1000×1000, 416×416, 760×760
img/work/The pieces, each on its own flat plate (characters, creatures, environments, props, covers) — 66 files: 1300×1300, 1000×1354, 592×700, 900×700, 960×1100, …

The logo files, the drawn valley planes, the illustrated icons, the client marks and the language flags are included and ready to use. All demo artwork and photography shown on the live preview is for preview purposes only and is not included in the download.

Contact Form

The contact form posts to sendmail.php, a lightweight AJAX mail handler. The success or error message appears under the button without reloading the page. The newsletter, brief, application, checkout, comment, 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, replace YOUR_RECAPTCHA_V3_SECRET_KEY with 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: Lato, EB Garamond

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.