Instructions

A concise guide to help you understand, configure, and use the product smoothly.

1. What you have

Every page is a standalone HTML file at the top level of the folder, so you can open any of them straight from disk. Shared assets live in assets/: one stylesheet at assets/css/styles.css, one script at assets/js/main.js, the self-hosted webfont in assets/fonts/ and every image in assets/images/. There is no build step and no package manager — edit a file, refresh the browser.

2. Colours, type and spacing

The design's variables are declared once, in the :root block at the top of assets/css/styles.css. Changing --_colors---primary-colors--primary restyles every page that uses it, and the same is true of the type scale, the line heights and the section padding. Search the stylesheet for --_typography and --_colors to see the full set — those two groups are where almost every visual change you will want to make belongs.

3. Type

The template sets its type in Inter Tight, served from assets/fonts/ rather than from Google's CDN, so a page makes no third-party request. To change it, replace the .woff2 file and the @font-face block in assets/fonts/fonts.css, then point --_typography---font-family--global-font at the new family name. Headings level 3 and 4 use a system stack and download nothing.

4. Motion

All of the motion is CSS, driven by a small amount of plain JavaScript in assets/js/main.js. Scroll reveals are the .reveal classes with a data-reveal-delay in milliseconds; scroll-linked sections carry data-scrub and are animated by @keyframes in the components section of the stylesheet. Every animation is disabled under prefers-reduced-motion, so there is nothing to switch off for accessibility. To remove a reveal, delete its reveal reveal-* classes from the element.

5. The cart and the forms

The shop is a working demonstration: the basket, the quantity controls, the subtotal and the checkout run on localStorage, under the key formix:cart. Nothing is sent anywhere and no payment is taken — connect your own provider at the .place-order handler in main.js when you are ready. The contact and newsletter forms validate and show the design's own success message; point their action at your form service to make them live.

6. Still stuck?

If anything here is unclear, or you would like a hand adapting the template, email us at contact@kaziehsan.com. We are happy to help.