Tralive is a travel agency and tour operator template built on Bootstrap 5. The home page opens with an illustrated hero of a camper van on a coastal road, followed by an upcoming-tours carousel with prices and dates, an about section, a guest testimonial, a FAQ next to a travel-services diagram, a video and a photo strip. The layout is responsive and mobile-ready. There are eight pages: home, events, event details, about, blog, blog details, contact and elements.
The events page lists six tours as cards, and the event details page shows a tour banner with dates and price and a day-by-day itinerary with a booking button. You will also find a blog with a sidebar (search, categories, recent posts, tags and a newsletter), a blog post with an author box, comments and a comment form, and a contact page with 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.1.3 and jQuery), compiled from Sass with the theme and the Bootstrap 4 proportions the design was drawn with, and plain JavaScript with no jQuery. Swiper 14 replaces Slick and Owl Carousel, PhotoSwipe 5 replaces Magnific Popup on the elements gallery, a video dialog, a mobile menu and native selects replace the other plugins, and Lucide SVG icons replace the Font Awesome and Themify icon fonts. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: the nine pages went from 14.2 MB and 452 requests to 8.6 MB and 231 requests, the home page from 1.8 MB to 1.2 MB and the contact page from 1.9 MB and 68 requests to 0.6 MB and 17 requests. Every photo has an AVIF version with the JPEG as the fallback, and the page banners come in standard, high-density and phone sizes, so they stay sharp on Retina and 4K screens.
New artwork and photos: the hero scene, the camper van and the about and services illustrations are redrawn as SVG for this template, and the tour cards, banners, video panel and blog use new full-resolution travel photos.
No third-party requests: Josefin Sans and Roboto are self-hosted, the contact map is an OpenStreetMap map (no API key) that loads only when a visitor clicks “Show map”, the video loads from YouTube’s privacy-enhanced player only after a click, 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 send through PHP handlers with validation, a spam trap and an in-page message, and the blog search lists matching posts. Before, they posted nowhere.
Accessibility: a skip link and a main landmark on every page, one h1 per page, a keyboard-operable mobile menu and submenu, FAQ toggles as real buttons, visible focus rings and WCAG AA text contrast, with a deeper blue for links and labels, navy labels on the yellow buttons and a darker testimonial band.
Demo content: six distinct tours with their own names, dates, prices and photos (the earlier release repeated the same three), a five-day safari itinerary, real FAQ answers, travel blog posts and a fictional address and phone number.