TheInterior is a website template for interior designers, architects and design studios, built on Bootstrap 5 with a dark design and red accents. The layout is responsive and works on phones, tablets and desktops. It comes with ten pages: home, about, services, our approach, portfolio, blog, blog post, contact, elements and a thank-you page.
The home page has a hero with a video button, a studio introduction, service cards, a six-tile portfolio grid, a team section, a testimonial slider, a client row and recent posts, with a sticky menu, a drop-down submenu and a back-to-top button. The portfolio page opens each tile in a lightbox, the blog has a sidebar with search, categories, recent posts, tags and a newsletter form, and the contact page has a contact form and a map that loads on click. Use TheInterior as it is or adapt it to your own studio’s brand.
What’s new in 3.0
Bootstrap 5.3.8 compiled from Sass, plain JavaScript with no jQuery, Swiper for the sliders, PhotoSwipe for the lightbox, an accessible menu panel and Lucide SVG icons. The Sass sources and build scripts (npm run build) are included.
Lighter pages: the home page went from 8.81 MB and 76 requests to 1.25 MB and 54 requests, and all ten pages together from 35.1 MB to 7.5 MB. Photos have AVIF versions with JPG fallbacks, and the download is 4.1 MB.
No third-party requests: Barlow and Barlow Condensed are self-hosted, the contact map is OpenStreetMap and loads only when a visitor clicks Show map, and a Google Analytics 4 snippet stays commented out until you add your own ID.
Working forms: the contact form, the blog comment form and the newsletter form send through their own PHP handlers with validation and a spam trap, and the blog search and pagination work without a server.
Accessibility: a skip link and landmarks on every page, one h1 per page, labelled form fields, names on icon-only links, a visible focus ring, and text that meets WCAG AA contrast.
New photographs, copy, team names and contact details throughout, and the old documentation folder replaced by a regenerated Doc page.