Overview

Sunvera template home pages

A clean, engineered HTML template for a solar and wind installer: a savings calculator that sizes a system from the roof and the bill, a five-step site-survey booking with real time slots, projects for homes, solar farms and wind, and the ways to pay. Sunvera ships three home pages, a light and a dark theme, right-to-left support, and logic that is worked out rather than typed in: the system, the saving and the payback from one engine, loans amortised month by month, a turbine’s year through its power curve, and a Bristol roof’s live output from the sun’s real height.

What’s included

  • 3 home pages, each with its own scroll moment: the energy flow (a house lights from its modules to its battery, its rooms and the grid), the bill bars (twelve monthly bills shrink from before solar to modules to a battery) and the turbines (the wind rises and the rotors speed up, the output following the power curve)
  • The savings calculator: region, roof facing, roof area, the monthly bill and a battery; the modules, kWp, roof used, the year’s kWh, the share used at home, the bill after, the installed price, payback and 25 years, carbon, the month-by-month chart and the ways to pay
  • The site survey: five steps, Continue never blocks, a month calendar with the survey days, four slots with the crews still free, the postcode checked against the areas covered, the calculator’s figures carried in
  • Financing: pay outright, a green loan (APR, term, deposit, amortised), 0% over 12 months, or pay per kWh, each against the system’s saving
  • Projects with type tabs, search and sort; packages priced by the engine; a wind yield estimator over a Rayleigh spread of wind speeds
  • Phones open now (and when they open) in every header and the live output of a 4 kWp Bristol roof, repainted every minute
  • The Energy Store: categories, price filter, sort and search, the product, bag, customer saving, a code, the free-delivery meter, VAT inside the price, the dispatch date, checkout with an order number, wishlist
  • A white light theme by default and a dark theme on one switch in every header, remembered between visits and applied before the page paints
  • Right-to-left stylesheets and a flag language picker in every header: a right-to-left language turns any page around
  • WebGL layers — Wind Field, soft streaks bending along the band edges, and the footer’s modules set out on a golden-angle spiral — tinted by the theme colours
  • Panel Tilt preloader, Charge Up reveals (photos uncover bottom to top in five cells, like a battery charging), soft rises and a charge bar that fills on the cards on hover
  • Team and profile, journal with post formats, FAQ with search, account pages, coming soon, 404
  • Fully responsive, valid HTML5, no console errors
📄 30 HTML files

Getting Started

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

1. Open locally

Unzip the downloaded package and open sunvera/index.html in any modern browser (Chrome, Firefox, Edge, Safari). No build tools or server are required — the calculator, the survey, financing, the projects and the store all work straight from the files.

2. Deploy to a server

Upload the contents of the sunvera/ 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 tariff, the module, prices, regions, packages, projects, turbines and store rules live in one place — see Energy Logic.

Tip: Replace the neutral placeholder images in assets/img/ with your own photography at the same dimensions for the best result. The team portraits in img/team/ are 4:5.

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: Solar & Wind (the energy flow), Home Solar (the bill bars) and Wind & Solar Farms (the turbines)
savings-calculator.htmlThe savings calculator: region, roof facing, roof area, the bill and a battery in; the system, the saving, the payback, the year month by month and the ways to pay out
site-survey.htmlThe site survey in five steps: what, the property, a day and a time with crews free, the details, confirm
financing.htmlWays to pay: a package, a loan term and a deposit, the monthly payment against the saving, four options
pricing.htmlThree packages priced by the engine, a side-by-side table and questions
services.html / service-details.htmlSix services in hairline cells, self-use rings, packages; one service with its sidebar, figures, steps and questions
process.htmlSurvey, design, install, monitor: the steps and each in detail
projects.html / project-details.htmlProjects with type tabs, search and sort; one project with its figures, its year by month and its build
about.htmlThe company, the services band, installs by year in tabs, the steps, the team and voices
team.html / team-details.htmlThe team with figures and careers; one member’s profile with their projects
faq.htmlQuestions by topic with search
blog.html / blog-details.htmlThe journal with its post formats and search; a post with reading time, share and comments
contact.htmlPhones open now, the contact form and the map
shop.html / product-single.html / cart.html / checkout.html / wishlist.htmlThe Energy Store: filters, sort and search, the product, bag, checkout, wishlist
account.html / login.html / register.html / forgot-password.htmlThe account (the system live, the install, orders, documents, details) and the login pages
coming-soon.html / 404.htmlCountdown to the community solar share, error page
sendmail.phpAJAX mail handler for the contact and comment forms (see Contact Form)
assets/css/style.cssAll custom styles, numbered Table of CSS (16 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 (33 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 sunvera/, the template. Every page sits in the template’s root; everything the pages load sits under assets/:

sunvera/
├── *.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
    │       ├── 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 (33 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/                      15 files
        ├── energy/                      21 files
        ├── faces/                       6 files
        ├── flags/                       6 files
        ├── icons/                       36 files
        ├── logo/                        3 files
        ├── menu/                        3 files
        ├── shop/                        8 files
        └── team/                        8 files

To publish the site, upload the contents of sunvera/ 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 --su-yellow-rgb) — change both together.

White Ground--su-white
Pale Band--su-cream
Sunvera Yellow--su-yellow
Deep Yellow--su-yellow-deep
Amber Ink--su-accent-text
Ink--su-ink
Night--su-night
Cell Blue--su-cell
Cell Blue Light--su-cell-2
Body--su-text
Hairline--su-line

White is the ground and the pale band the quieter sections. Sunvera yellow is the button face (with ink text), the underline of every “find out more”, the tabs, the charts and the charge bar; amber ink is the yellow made dark enough for small text on white. Night sets the footer, the heroes’ washes and the dark bands; the two cell blues draw the modules in the preloader, the diagrams and the footer’s spiral. --su-bg, --su-surface, --su-cream, --su-heading and --su-text are the semantic names the components use — the dark theme swaps those (see Light & Dark Mode).

Fonts

Two Google Fonts are loaded in the head of each page: Space Grotesk (headings and every figure: kWp, kWh, prices, years) and Roboto (body, navigation, buttons and the tracked caps). Swap them by editing the Google Fonts link and the --su-ff-display / --su-ff-body variables.

Logo

The logo is the word Sunvera in Space Grotesk ending in a small yellow solar module for its full stop. It ships as ready-made PNG files in assets/img/logo/:

  • logo.png — for light grounds: the white header and the light theme
  • logo-light.png — for dark grounds: the header over the heroes, the footer, the preloader and the dark theme
  • favicon.png — the browser tab icon

To use your own logo, replace these files; the header sizes the logo by its height, so a wider or narrower file needs no CSS change.

Light & Dark Mode

Sunvera opens light and needs no attribute for it. Every header (and the side panel) has a theme switch. The choice is saved in the browser under the key sunvera-theme and applied by a one-line script in the <head> before the page paints, so a dark visitor never sees a white flash. The switch sets data-theme="dark" on the <html> tag.

Dark Ground--su-bg
Dark Surface--su-surface
Dark Band--su-cream
Dark Heading--su-heading
Dark Body--su-text
Yellow On Dark--su-accent-text
  • Tokens — the dark values sit in one block, [data-theme="dark"] { … }, right after :root in style.css. Change a dark colour there.
  • Bands that stay dark — sections with the class is-night (the energy flow, the bill bars, the turbines, the footer) are night in both themes; is-yellow is the yellow call-to-action band with ink copy in both.
  • Icons — each line icon ships in an ink and a light version, and the right one shows by theme and ground.
  • Start dark — to open the site dark for first-time visitors, add data-theme="dark" to the <html> tag of each page; the switch still works and is still remembered.

Energy Logic

The figures on every page come from one data block and its engines, JS block 09 Sunvera Data & Engines near the top of main.js (var SUNVERA, then solarQuote(), monthlyBills(), financeOptions(), windPower(), windYear(), liveOutput() and surveyPlaces()). Edit the data once and the calculator, the packages, the project cards, the charts and the totals follow. Money is in pounds sterling, energy in kWh, times in minutes after midnight (1080 = 6:00 pm), weekdays 0 = Sunday to 6 = Saturday.

tariffThe unit rate (24.5p a kWh), the daily standing charge (53p), the export payment (15p a kWh), a yearly price rise (3%), module ageing (0.5% a year) and the grid’s carbon (0.207 kg a kWh).
module / cost / batteriesA 440 W module covers 1.95 m²; 70% of a roof can take modules, 6 to 30 on a home. Installed price £1,150 per kWp plus £1,600 for scaffold, inverter and commissioning, 0% VAT. Batteries: none, 5 kWh (£2,900) and 10 kWh (£4,600), with the share of the roof’s power each lets the home use (45%, 70%, 82%).
regions / orientationsWhat a kWp makes in a year in each region (South West 1,010, London & South East 990, Wales 940, Midlands 920, North Of England 870, Scotland 820) and how the roof’s facing changes it.
genShare / useShare / clearShareEach month’s share of a year’s generation and of a home’s use, and of clear sky (the live output).
packagesStarter, Family and Max: a number of modules, a battery and the bill they suit; price, yield, saving and payback come from the engine.
financeThe green loan (6.9% APR over 5, 10, 15 years), 0% over 12 months with a 25% deposit up to £12,000, pay per kWh at 14p for 20 years.
surveySurvey days (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday), the slots (9 am, 11 am, 1 pm, 3 pm), 3 crews a slot, 2 to 28 days ahead, the postcode areas covered.
wind / turbines / windRateAir density, the power coefficient, cut-in and cut-out speeds and the tip-speed ratio; the three turbines (rated kW, rotor, tower, price); what a farm turbine’s power sells for (12p a kWh).
projects / typesHomes, solar farms, wind and commercial roofs: modules or turbines, place, year, the site’s mean wind; capacity, the year’s kWh, carbon and homes powered are worked out.
hours / sitePhones open each weekday (null = closed) and the place the live output is worked out for.
cats / products / shopThe store: 8 products in 4 categories; customers save 10%, the code SUNNY10 takes 10% off first, delivery is free from £150 (otherwise £6.95, express £14.95), prices include 20% VAT and orders before 2 pm on a working day leave the same day.

How a quote is worked out

Worked example (the typical home): a 32 m² south-facing roof in the South West and a £140 monthly bill. The bill less the standing charge (£16.12 a month) buys 6,068 kWh a year at the unit rate. The roof takes 11 modules, the home needs about 6,674 kWh of generation; the system is the smaller: 11 modules, 4.84 kWp, making 4,888 kWh a year. With no battery the home uses 45% of it; the rest is exported. Saving: £942 a year; installed price £7,166; it pays for itself in 7.1 years (prices rising 3% a year, modules ageing), and is £24,956 ahead after 25 years.
Ways to pay for it: outright for £7,166; a green loan with no deposit over 10 years at 6.9% APR is £83 a month (the amortised payment), against a saving of £79 a month.
The Family package: 12 modules and a 5 kWh battery for £10,572, saving £1,155 a year on a £150 bill.

Wind

A turbine’s output at a wind speed is ½ρAv³Cp, capped at its rated power, nothing below the cut-in speed; the rotor turns at the speed its tip-speed ratio gives. A year’s energy adds the output over a Rayleigh spread of wind speeds around the site’s mean: the 50 kW turbine makes 26.7 kW at 8 m/s and about 170 MWh a year at a 6.6 m/s site.

Phones open now and the live output

Every element with data-open-status shows Phones open now, until 6 pm or Closed now, phones open tomorrow at 8 am from the visitor’s own clock. Every element with data-live-output="4" shows what a 4 kWp roof in Bristol is making now: the sun’s height from the solar position equations, the light through the air mass, the month’s share of clear sky, less the system’s losses.

The site survey

The calendar offers the survey days from 2 to 28 days ahead; each slot shows the crews still free (worked out from the date, so the same day always shows the same places). A quote saved from the calculator fills the roof, the bill and the facing. The booking confirms on screen with a reference — connect it to your own diary to take real bookings.

How the store totals

Worked example: the EV charger and two packs of cells = £587.00; the code takes £58.70, the customer saving £52.83; delivery free; total £475.47, of which £79.25 is VAT.

The bag, the wishlist, the code, the customer tick and a saved quote are kept in the browser (localStorage), so they follow the visitor from page to page. The first visit starts with a small demo bag and wishlist so every store page has something to show; to start empty, set the two demo lists in doShop() (block 28 Energy Store) to []. The survey and checkout confirm on screen with a reference — connect them to your own systems to take real bookings and payments.

WebGL Layers

Two small WebGL scenes draw the moving layers: Wind Field — soft streaks of wind running along a band’s top and bottom edges, each lane at its own speed, bending over a slow swell, the copy in the middle left clear — and the Phyllotaxis Panels — modules set out on a golden-angle spiral in the footer, growing out from the centre, then turning while the light glints across their cells. Each is one canvas:

<canvas class="su-gl" data-gl="wind" aria-hidden="true"></canvas>
  • Colours — each layer reads three colours and an opacity from CSS variables on its canvas or section: --gl-1, --gl-2, --gl-3 and --gl-alpha. The theme switch repaints them.
  • Performance — a layer only runs while its section is on screen and the tab is visible. Visitors who prefer reduced motion get one still frame. Without WebGL, the section’s own background shows.
  • Remove one — delete the canvas; nothing else depends on it.

RTL (Right To Left)

Sunvera is RTL-ready: the layout with its paddings and margins, the sliders and the animations all mirror. Right to left comes from the stylesheets, not from separate pages: the language picker (a flag and a code) in the top bar and the side panel lists the languages that read left to right and right to left. Choosing Arabic or Hebrew stores the language and the direction (keys sunvera-lang and sunvera-dir) and reloads; the one-line script in <head> then sets dir="rtl" and swaps the three stylesheets for the files named in their data-rtl attribute before the page paints. Nothing is translated — you bring your own right-to-left copy. To make a page right to left for good:

1. Set The Direction

Add dir="rtl" to the page’s <html> tag (and set lang to your language):

<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

The scripts read the direction from the dir attribute: sliders and every move that must mirror follow it on their own. Prices, figures and the drawings of the scroll moments keep reading left to right.

Editing the styles: 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 33 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 Panel Tilt preloader, the header, the Charge Up reveals, the theme and direction switch and the WebGL layers.
  • 09–10 — Sunvera Data & Engines, Energy Clock. The data block and its engines hold every figure; the energy clock works out phones open now and the live output of a Bristol roof from the visitor’s clock.
  • 11–18 — Custom Select, Hero Sliders, Card Sliders, Accordion, Filter Tabs, Grid Search, Newsletter, Choice Cards. Shared components: selects, sliders, accordions, filters, search, forms and choice cards.
  • 19–22 — Energy Flow, Quick Estimate, Bill Bars, Turbines. The three home pages’ scroll moments and the quick estimates.
  • 23–33 — Savings Calculator, Site Survey, Financing, Project Sort, Contact Form, Energy Store, Account Forms, Article Tools, Demo Forms, Launch Countdown, FAQ Search. The feature pages: the savings calculator, the site survey, financing, the projects sort, the contact form, the Energy Store, accounts, the journal, demo forms, the coming-soon countdown and the 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 automatically: content appears in its final state and the scrubbed scenes rest at their end.

Reveals: add su-charge-up to a picture’s wrapper so it uncovers bottom to top in five cells, like a battery charging, and su-fade to text so it rises softly into place. data-delay="0.2" staggers either. Add su-hover to a card holding a su-charge battery so it fills on hover.
Scroll moments: the energy flow, the bill bars and the turbines are scrubbed against their own section’s travel and run one way (a lit part stays lit); none of them pins the page.
Countdown: the coming-soon page counts down to 10:00 am on the next 20 March — no date to update. Change it in doLaunchCountdown().

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/banner/Heroes, page titles and photo bands — 15 files: 2809×944, 2893×1361, 2809×1580, 2560×1204, 2901×1364, 2812×1322
img/energy/The work: arrays, roofs, turbines, farms, the lab — 21 files: 1300×897, 1300×903, 1300×887, 960×651, 1100×765, 1300×861, …
img/faces/Round portraits for voices, comments and avatar groups — 6 files: 240×240
img/flags/The language picker’s flags (SVG, included) — 6 files: SVG
img/icons/Line icons, each in an ink and a light version (included) — 36 files: 128×128
img/logo/Logo, light logo and favicon (included) — 3 files: 821×159, 64×64
img/menu/Home previews in the mega menu — 3 files: 560×350
img/shop/The Energy Store’s products (the drawn kit, battery, charger and monitor are included) — 8 files: 800×800, 800×799
img/team/The team, portrait 4:5 — 8 files: 800×957, 800×958

The logo files, the line icons, the language flags and the drawn store products 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, the site survey, checkout, the 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: Space Grotesk, Roboto

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.