Overview
An HTML template for one fashion creator’s own site: friendly, commercial and built to be booked. Trendia ships three home pages, a light and a dark theme, right-to-left support, a dollar / euro / pound switch, and logic that is worked out rather than typed in: a media kit with the audience by platform, age, gender and country; a collab rate card that turns platforms, post types, paid usage and exclusivity into a quote; a six-step collab request; shop my looks with each look’s pieces and its total; brand partners with their campaign results; the weekly lives and the letter from the clock; and the creator’s own label shop with sizes, a size finder, a bag, a coupon, shipping zones and sales tax.
What’s included
- 3 home pages, each with its own scroll moment: The Creator (the feed scrolls inside a phone as the page travels), Journal & Growth (the follower growth line draws across three years and lights its milestones) and Shop & Collabs (platform tiles fly onto a quote card and snap into its lines, the total stepping up with each)
- A white 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 pixel hearts drifting up through the blush bands, the page titles and the footer, and the footer’s TRENDIA logo with a living reaction-diffusion pattern growing inside its letters
- The media kit: 6 platforms, 1.8M across them all (1.64M on social), 81% women, the audience by age, gender and country for each platform, the growth line and the content mix
- The rate card: 17 post types by platform with quantities, paid usage, exclusivity, add-ons and bundle savings; the quote with the views, the cost per thousand views, the 50% deposit and the dates
- The collab request in six steps with the quote or a package carried through, a review and a reference on screen
- Shop my looks: 8 looks with occasion tabs, a budget for the whole look and search; each look with its hotspots on the photograph, its pieces, the pieces you already own and what the rest costs
- The label shop: 12 pieces with categories, colours, price, sort and search, quick add by size, the product page with the size finder and the size chart, bag, coupon, shipping zones, sales tax, checkout with an order number, wishlist
- Brand partners and a partner’s campaign, services and packages, the portfolio with filters and a lightbox, the journal, the letter, events with seats, FAQ with search, account pages, coming soon, 404
- Story Bars preloader, Swipe Up photo reveals, soft-rise copy, a double-tap heart on photographs, Swiper sliders and Fancybox video popups
- Fully responsive, valid HTML5, no console errors
Getting Started
Thank you for choosing Trendia. Follow the steps below to get your site live.
1. Open locally
Unzip the downloaded package and open trendia/index.html in any modern browser (Chrome, Firefox, Edge,
Safari). No build tools or server are required — the media kit, the quote, the looks, the live line, the shop and
the size finder all work straight from the files.
2. Deploy to a server
Upload the contents of the trendia/ 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 platforms and their audience, the growth, the rates, the looks, the
partners, the lives, the events, the label and the shop rules live in one place — see
Creator Logic.
assets/img/ with your own photography at the
same dimensions for the best result. The posts in img/feed/, the pieces in img/pieces/ and the
portraits in img/faces/ are square; the looks in img/looks/ carry hotspots, so keep their shape.
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 Creator (the feed in a phone), Journal & Growth (the follower growth line), Shop & Collabs (the rate-card snap) |
media-kit.html | The media kit: the creator card, the headline figures, platform tabs with the audience by age, gender and country, each platform’s share, the platform table, the growth line and the content mix |
rate-card.html | The rate card: post types by platform with quantities, paid usage, exclusivity and add-ons; the live quote with views, cost per thousand views, the deposit and the dates |
collab-request.html | The collab request in six steps: the brand, the campaign, the deliverables (the quote or a package), the timeline, the contact, the review |
brand-partners.html / partner-details.html | Ten brand partners with their campaign results and a filter; one partner’s campaign with its frames and the brand’s words |
services.html / service-details.html | Work with me: six services priced up front, the process, the three packages and the whole rate card; sponsored content in detail |
looks.html / look-details.html | Shop my looks with occasion tabs, a budget for the whole look and search; one look with its hotspots, its pieces and the total |
portfolio.html / portfolio-details.html | Campaigns and shoots in a Pinterest grid with filters and a lightbox; one shoot with its frames |
shop.html / product-details.html / cart.html / checkout.html / wishlist.html | The label: categories, colours, price, sort and search, quick add by size, the product page with the size finder, bag, checkout, wishlist |
blog.html / blog-details.html / newsletter.html | The journal with search; a post with reading time, share and comments; the letter with its sign-up and archive |
about.html | The creator’s story, the milestones, the team and a contact form |
events.html | The weekly lives with the one on air, the next events with their dates and seats |
faq.html | Questions by topic with search |
contact.html | Contact cards with the live line, the contact form and the map |
account.html / login.html / register.html / forgot-password.html | The account (orders, saved looks, collab briefs, details) and the login pages |
coming-soon.html / 404.html | Countdown to the label’s next drop, 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 (16 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 (36 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 trendia/, the template.
Every page sits in the template’s root; everything the pages load sits under assets/:
trendia/
├── *.html the 32 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 (36 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/ 16 files
├── blog/ 12 files
├── campaign/ 16 files
├── events/ 5 files
├── faces/ 11 files
├── feed/ 9 files
├── flags/ 6 files
├── hero/ 6 files
├── label/ 22 files
├── logo/ 3 files
├── looks/ 8 files
├── me/ 7 files
├── menu/ 3 files
├── pieces/ 17 files
└── team/ 4 files
To publish the site, upload the contents of trendia/ 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
--td-pink-rgb) — change both together.
--td-pink--td-rose--td-ink--td-blush--td-bg--td-panel--td-line--td-heading--td-text--td-star--td-c-youtube--td-c-pinterest--td-c-newsletter--td-c-blogWhite is the ground; the soft grey panel and the blush take turns behind the bands. Pink is the brand colour — the
hearts, the story bars under the titles, the price tags and the splashes behind the photographs — and rose is the
same family deepened so that small text in pink stays readable. Ink sets the headings, the black top bar, the footer
and the primary buttons. Each platform keeps its own colour in the charts (--td-c-instagram,
--td-c-tiktok and so on). --td-bg, --td-surface, --td-panel,
--td-heading and --td-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: Poppins (every heading in capitals, the buttons,
the prices and the figures) and Raleway (body text, the menu and the italic eyebrows above the titles).
Swap them by editing the Google Fonts link and the --td-ff-head / --td-ff-body variables.
Logo
The logo is the word TRENDIA in Poppins capitals with a small pink heart over the I, the way a like lands on a
post. It ships as ready-made PNG files in assets/img/logo/:
logo.png— ink lettering, for white grounds (every header in the light theme, the mobile menu)logo-light.png— light lettering, for the headers over the hero photographs, the footer and the dark themefavicon.png— a white T under the pink heart on an ink square, the browser tab icon
The logo’s lettering appears only inside the images. 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. The footer’s pattern logo draws the letters itself (see WebGL & Pattern).
Light & Dark Mode
Trendia opens white: the light theme is the default and needs no attribute. Every header (and the mobile menu) has a
theme switch. The choice is saved in the browser under the key trendia-theme and applied by a one-line
script in the <head> before the page paints, so a dark visitor never sees the white page first. The
switch sets data-theme="dark" on the <html> tag.
--td-bg--td-surface--td-panel--td-heading--td-text--td-accent-text- Tokens — the dark values sit in one block,
[data-theme="dark"] { … }, right after:rootinstyle.css. Change a dark colour there. - Charts and canvases — the growth line, the audience bars and the pattern logo read their colours
from the tokens, and the hearts read
--gl-1to--gl-3, which the dark block swaps. - Logo — the light logo shows on photographs and in the dark theme.
- 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.
Creator Logic
The figures on every page come from one data block, JS block 09 Trendia Data near the
top of main.js (var TRENDIA). Edit it once and the media kit, the rates, the looks, the dates and
the totals follow. Prices are in US dollars; the currency switch shows them in USD 1, EUR 0.92, GBP 0.79 (key trendia-currency),
and prices written in the pages carry a data-usd attribute so the switch can repaint them. Times are minutes
after midnight (1140 = 7:00 pm); weekdays run 0 = Sunday to 6 = Saturday.
creator | The creator’s name, handle, city and the lines the media kit and the footer print. |
platforms | 6 platforms, each with its followers, average views, engagement rate, monthly growth, posts a month, the share of women, the audience by age band (ageBands: each platform’s shares add up to 100) and its top countries. |
growth | The followers across the platforms month by month and the milestones the growth line lights. |
pillars | The content mix the media kit draws as bars. |
rateTypes | 17 post types, each with its platform, fee, production days and the share of the platform’s views it reaches. |
usage / exclusivity / addons | Paid usage on top of the content fee: Organic Only included, Paid Usage, 30 Days +25%, Paid Usage, 90 Days +45%, Paid Usage, 6 Months +70%, Paid Usage, 12 Months +100%, Perpetual Usage +200%. Exclusivity: No Exclusivity , Category, 30 Days +15%, Category, 60 Days +25%, Category, 90 Days +35%. Add-ons: Raw Footage $600, Link In Bio, 7 Days $350, Whitelisting Access, 30 Days $900, Rush, Drafts Inside 5 Days +25%. |
bundles / deposit / review / rushDays | Bundle savings on the content fee: 8% from 3, 12% from 6, 15% from 10 deliverables. A 50% deposit to book; 3 days for the brand’s review; rush drafts inside 5 days. |
packages | The three ready-made packages, each a set of post types with its usage and exclusivity; their prices are worked out from the rates. |
looks / occasions | 8 looks, each with its photograph, occasion, likes and pieces: a label piece (product) takes its price from the shop; a partner piece carries its own name, brand and price; x / y place its hotspot in per cent of the photograph. |
partners / partnerGroups | 10 brand partners with their category, the campaign, its results and the brand manager’s words. |
lives / events / letter | The weekly lives: Tuesday 7 pm–8 pm Try-On Tuesday (Instagram); Thursday 12:30 pm–1:15 pm Lunch-Break Haul (TikTok); Saturday 11 am–12 pm Saturday Styling Clinic (YouTube); Sunday 6 pm–6:45 pm Sunday Letter Q&A (Instagram). 5 events, each so many days from today with its seats taken. The letter goes out every Sunday since its first issue. |
sizes / sizeChart / shopCats / colours / products / shop | The label: 12 pieces with their sizes, colours, price and sold-out sizes; the size chart in centimetres; shipping zones (United States $6.00, free from $100, express $14.00; Canada; Europe; the rest of the world), sales tax 8.875% on top of the goods in the United States, coupon TRENDIA15 for 15% off, same-day dispatch before 2 pm on weekdays, 30 days to return. |
The media kit
Each headline figure is worked out from the platforms: the audience is the sum of the followers; the share of women and the age mix are each platform’s figure weighted by its followers; the engagement rate is weighted the same way over the social platforms. Today: 1.8M across 6 platforms, 81% women, 37% aged 18–24 and 37% aged 25–34, and an engagement rate of 6.1%. Change a platform’s followers and every figure, bar and share follows (block 24).
The rate card
The content fee is each post type’s fee times its quantity. Paid usage, exclusivity and rush are each a share of the content fee; the flat add-ons are added as they are; the bundle saving comes off the content fee once there are enough deliverables. The views are each type’s share of its platform’s average views; the cost per thousand views is the total over the views. Drafts arrive after the longest production time plus a day for each further deliverable (at most ten), live dates 3 days later.
Shop my looks
A look’s total is the sum of its pieces. On a look’s page, tick the pieces you already own and the page shows what the rest costs and how many label pieces are left to add to the bag. The looks page filters by occasion, by a budget for the whole look and by search (block 27).
The size finder
Each measurement is matched to the first size whose range it stays under; dresses go by the largest of the three, pieces
cut by the bust go by the bust alone (data-fit). Inches are turned into centimetres first (block 28).
| Size | Bust (cm) | Waist (cm) | Hips (cm) |
| XS | 78–83 | 60–65 | 86–91 |
| S | 83–88 | 65–70 | 91–96 |
| M | 88–94 | 70–76 | 96–102 |
| L | 94–100 | 76–82 | 102–108 |
| XL | 100–107 | 82–89 | 108–115 |
How the shop totals
The coupon comes off the goods first; shipping is free once the goods reach the zone’s threshold; sales tax is the zone’s rate on the goods, rounded to the cent.
TRENDIA15: goods $175.10, shipping
free, tax $15.54 — $190.64.The clock
The top bar and the events page read the visitor’s clock: during a live it says Live Now with its platform, otherwise when the next one starts. Events are dated so many days from today, so they never go out of date; the letter’s latest issue is the last Sunday, numbered from the first (block 10). The coming-soon page counts down to 10:00 am on the first day of the month after next.
The bag, the wishlist, the applied coupon, the rate-card picks, the collab briefs and the orders 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 shop page has something to show; to start empty, set the two demo lists in doShop() (block
30 The Label Shop) to []. Checkout and the collab request confirm on
screen with a reference — connect them to your own systems to take real orders and briefs.
WebGL & Pattern
One small WebGL shader draws the pixel hearts — tiny 8-bit hearts drifting slowly up the edges of the blush bands, the plain page titles and the footer, the way hearts float up a live stream: each sways a little as it rises, fades in at the foot and out at the top. Each field is one canvas:
<canvas class="td-gl" data-gl="hearts" data-gl-n="46" aria-hidden="true"></canvas>
- Count —
data-gl-nsets how many hearts the field holds. - Colours — pink, rose and a pale blush:
--gl-1,--gl-2,--gl-3and the strength--gl-alpha. The theme switch repaints them. - Performance — a field 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.
The footer’s logo is a living pattern: a reaction-diffusion simulation (two chemicals feeding and consuming each other,
the maths behind spots and stripes in nature) grows across the footer and shows through the letters of TRENDIA and its
heart. It runs on a plain 2D canvas (data-rd-logo, block 20): a few drops seed in the first letters and
in the heart, the pattern grows into a pink labyrinth so the word fills in, and moving the pointer over the word drops
more of it. It only runs while the footer is on screen, its colours follow the theme tokens and it shows grown for
reduced motion. The three scroll moments — the feed in a phone (data-feed-moment, block 21), the growth
line (data-growth, block 22) and the rate-card snap (data-rate-snap, block 23)
— are scrubbed against their own section’s travel, never pin the page and rest finished for reduced motion.
RTL (Right To Left)
Trendia 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) beside the light / dark
switch lists the languages that read left to right and right to left. Choosing Arabic or Hebrew stores the language and the
direction (keys trendia-lang and trendia-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, handles, figures and the charts keep reading left to right inside their rows.
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 36 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 Story Bars preloader, the header, the Swipe Up and soft-rise reveals with the double-tap heart, the theme and direction switch and the WebGL pixel hearts.
- 09–12 — Trendia Data, Live Clock, Custom Select, Currency. Trendia Data holds every figure; the live clock repaints the live line, the events and the letter from the visitor’s time; the custom selects; the dollar / euro / pound switch repaints every price.
- 13–19 — Hero Sliders, Card Sliders, Accordion, Filter Tabs, Grid Search, Newsletter, Choice Cards. Shared components: sliders, accordions, filters, search, the newsletter, choice cards.
- 20–23 — Pattern Logo, Feed In A Phone, Follower Growth, Rate-Card Snap. The footer’s pattern logo (every page) and the scroll moments: the feed in a phone (Home 1), the follower growth line (Home 2) and the rate-card snap (Home 3).
- 24–36 — Media Kit, Rate Card, Collab Request, Shop My Looks, Size Finder, Contact Form, The Label Shop, Account Forms, Account Page, Article Tools, Demo Forms, Launch Countdown, FAQ Search. The feature pages: the media kit, the rate card, the collab request, shop my looks, the size finder, contact, the label shop, accounts, the journal, demo forms, the countdown, 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 in place.
td-swipe to a photograph so it swipes up into its frame the way the
next story slides in (Swipe Up), td-rise to a title and td-fade to copy so they rise softly into
place, and td-bars for the three story bars under a title, filling one after another.
data-delay="0.2" staggers any of them. Add td-heart to a photograph’s frame so a double click
(or a double tap) drops a pink heart on it and likes it, the way a post is liked.trendia-intro in the session); every later page opens at once.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/ | Page-title banners and photo bands — 16 files: 2809×1609, 2809×805, 2809×1390, 2809×1756, 2809×898 |
img/blog/ | The journal’s photographs — 12 files: 1100×1385, 1476×825, 1100×615, 1920×1200, 1399×937 |
img/campaign/ | Campaigns and shoots: the portfolio, the brand partners, the banners — 16 files: 1100×1386, 1920×1200, 600×450, 1100×1100, 1920×1100, 1100×850, … |
img/events/ | The events’ photographs — 5 files: 1100×615, 1920×1200, 1920×1100, 600×450, 1100×1100 |
img/faces/ | Round portraits for brand managers, comments and avatar groups — 11 files: 240×240 |
img/feed/ | Square posts for the phone feed, the Instagram band and the story frames — 9 files: 1100×1100, 615×615 |
img/flags/ | The language picker’s flags (SVG, included) — 6 files: SVG |
img/hero/ | The home sliders’ full-width photographs — 6 files: 2819×1576, 2809×1609 |
img/label/ | The label’s pieces, two photographs a piece (the second shows on hover) — 22 files: 800×1023, 1100×1407, 1100×1100, 1404×1795 |
img/logo/ | Logo, light logo and the favicon (included) — 3 files: 353×76, 64×64 |
img/looks/ | The looks’ photographs, at their own shape (the hotspots are measured on them) — 8 files: 1100×1407, 1100×1385, 800×1023 |
img/me/ | The creator’s portraits — 7 files: 1100×1385, 1100×615, 1404×1767, 660×615 |
img/menu/ | Home previews in the mega menu — 3 files: 560×350 |
img/pieces/ | Square crops of the partner pieces in each look — 17 files: 330×330, 240×240 |
img/team/ | The team behind the account — 4 files: 600×666 |
The logo files 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, collab request, checkout, 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: Poppins, Raleway
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.