Nitro is a one-page website template for business and consulting agencies, built on Bootstrap 5. It has two pages: the one-page home and a blog post page. The layout is responsive and works in all modern browsers.
The home page opens with a full-screen hero, followed by an about section, a feature slider whose photos and text change together, the team, a portfolio with Web, Design and Brand filters and a lightbox, six services, a testimonials slider, pricing plans with a monthly and yearly switch, FAQ, a “why us” block, three blog posts and a contact section with a form. The header stays in view as you scroll, and the footer has a newsletter form. The blog post page has comments, a comment form and a sidebar with search, categories and an author box.
What’s new in 3.0
Bootstrap 5.3.8, compiled from Sass with only the parts the pages use, and plain JavaScript with no jQuery and no Bootstrap JavaScript (the earlier release already used Bootstrap 5.3 without jQuery, with Swiper 11, GLightbox and AOS). Swiper 14 runs the feature and testimonial sliders, PhotoSwipe opens the portfolio lightbox with zoom, small built-in modules replace the old portfolio filter and scroll animation plugins, and Lucide SVG icons and a Font Awesome 7 Brands subset replace the Icomoon and Flaticon icon fonts. The unused Bootstrap 4 and jQuery-era plugin files are gone. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: the home page went from 2.85 MB and 47 requests to 1.06 MB and 37 requests, and the blog post page from 1.26 MB and 14 requests to 0.41 MB and 9. Every photo has an AVIF version with the JPEG as the fallback, real dimensions and lazy loading below the fold, and the hero photo is preloaded. The download went from 5.10 MB to 3.48 MB, and now includes the Sass sources (the earlier download left them out), the AVIF copies and the build tools.
No third-party requests: the design uses the system font, so the Google Fonts link (it loaded Open Sans, which the pages never used) is gone; the social logos are a small Font Awesome subset (the Twitter bird is now the X logo); and a Google Analytics 4 snippet stays commented out until you add your own ID.
Working forms: the contact form, the footer newsletter form and the blog comment form send through php/send-email.php, with validation, a spam trap, a recipient you set and an in-page message, and the mailer keeps visitor input out of the mail headers. Before, the forms had no field names and posted nowhere. The blog sidebar search and category links now find the matching posts on the home page.
Accessibility: a skip link and a main landmark, one h1 per page, labelled form fields and icon links, a mobile menu that keeps keyboard focus inside and closes with Esc, submenus and team social links that work from the keyboard, a visible focus ring, reduced-motion support and WCAG AA text contrast, with darker greys and a deeper shade of the brand blue for links and buttons.
Fixed: the portfolio filter shows and hides items on the normal grid (the old filter placed the items before their photos had loaded, so they could pile on top of each other); the page no longer scrolls sideways on phones and tablets; the feature slider arrows sit on the photo again (they were at the edge of the screen), and on phones the testimonial arrows sit beside the dots instead of over the quote; the blog post header is readable over a full-size hero photo; the one-second preloader is gone; and dead # links, typos and a duplicate ID are corrected.
Demo content: each team member has their own name, matching the portrait, and a distinct role (names were repeated), the testimonial photos match the names, and the blog shows three different posts dated 2026 (it showed one post three times, dated 2035). The text stays placeholder copy.