Builder is a website template for construction companies, builders and contractors, built on Bootstrap 5, with a yellow-and-charcoal palette and Oswald headings. The layout is responsive and mobile-ready and works in all popular web browsers. It comes with seven pages: home, about, services, projects, blog, blog post and contact, plus an elements page.
The home page has a full-width hero with a parallax photo, service cards, a grid of recent projects with hover captions, team members, an animated counter band, feature cards, a testimonial slider and a client logo carousel. The blog has a sidebar with search, an author card, popular posts, categories, a newsletter box and tags, and the post page adds comments and a comment form. The contact page has contact details, a working contact form and a map that loads on click.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used Bootstrap 4 and jQuery), compiled from Sass together with the theme and the original Bootstrap 4 proportions, and plain JavaScript with no jQuery. Swiper 14 replaces Owl Carousel on the testimonial and client sliders, a small built-in counter replaces CounterUp, PhotoSwipe opens the Elements gallery, and styled native selects replace Nice Select. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: all eight pages together went from 19.7 MB and 388 requests to 5.7 MB and 227 requests, and the download from 12.8 MB to 5.2 MB. Every photo has an AVIF version with the original as the fallback, real dimensions and lazy loading below the first section, and the banners fill screens wider than 1920 px.
No third-party requests: Oswald, Poppins and Roboto are self-hosted, Lucide SVG icons and a small social-logo subset replace the Linearicons and Font Awesome 4 icon fonts (the Twitter bird is now the X logo), the contact map is an OpenStreetMap that loads only after a click, and a Google Analytics 4 snippet stays commented out until you add your own ID. Before, every page loaded web fonts from Google Fonts and the contact page the Google Maps script.
Working forms: the contact form, the blog comment form and the newsletter boxes send through php/send-email.php, with validation, a spam trap and an in-page message, and the sidebar search goes to the blog. Before, the comment form, the sidebar newsletter and the search could not be sent.
Accessibility: a skip link and a main landmark on every page, one h1 per page, visible labels on the contact and comment forms, names on icon-only and image links, submenus that open from the keyboard, a menu button that is visible on phones, visible focus rings and WCAG AA text contrast, with a darker brand colour for yellow text, dark labels on the yellow buttons and darker body greys.
SEO and fixes: a title and description for every page, Open Graph and Twitter tags, GeneralContractor and BlogPosting structured data, broken links to a missing blog page fixed, new construction-site photos for the projects, and fictional names, contact details and sample copy in the demo. The documentation page is generated from the README.