Eventure is a website template for conferences and business events, built on Bootstrap 5. It has ten pages: home, about, speakers, schedule, tickets, venue, blog, a single blog post, contact and an elements page with the styled buttons, typography, tables, form fields and gallery.
The home page opens with the event title and a countdown to the opening day, followed by a welcome section, the speakers, a three-day schedule with a tab for each day, the venue with a map and four ticket passes. Each pass links to the contact form with the chosen pass filled in. The blog has a sidebar with search, popular posts, categories, tags and a newsletter form, and the single post page has comments and a comment form. The layout is responsive and works in all modern browsers.
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 design’s original proportions and colours, and plain JavaScript with no jQuery. PhotoSwipe opens the elements gallery, native selects replace the select plugin, the page banners are static, and Lucide SVG icons and a Font Awesome 7 Brands subset replace the Linearicons and Font Awesome 4.7 icon fonts. Owl Carousel, CounterUp, jQuery UI and other plugins that were loaded on every page but never used are gone. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: the home page went from 3.66 MB and 83 requests to 0.48 MB and 31 requests, the about page from 3.40 MB to 0.45 MB, the blog from 5.20 MB to 0.82 MB and the contact page from 2.96 MB to 0.40 MB. Every photo has an AVIF version with the JPEG or PNG as the fallback, real dimensions and lazy loading below the fold. The download went from 8.35 MB to 3.80 MB, and now includes the AVIF copies, the Sass sources and the build tools.
No third-party requests: Heebo and Roboto are self-hosted, 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. The maps on the home, about, venue and contact pages are OpenStreetMap maps that need no setup and load only when a visitor clicks “Show map”. Before, every page loaded its fonts from Google Fonts and the Google Maps script.
Event content that fits the layout: the schedule tabs show three different days (all three showed the same session), each speaker has their own name (every card had the same one), the countdown counts to the event date in June 2027 (it always showed ten days), and the ticket plans are four passes from $39 to $99 whose “Get Started” buttons open the contact form for that pass (they listed hosting specs). The speakers, sessions and contact details are fictional.
Working forms: the contact and comment forms send through php/send-email.php, and the footer and blog sidebar newsletter forms through php/subscribe.php, each with validation, a spam trap, a recipient you set and an in-page message. Before, the contact form’s mailer used a fixed recipient and put visitor input into the mail headers, the footer newsletter posted to an outside mailing list, and the comment and sidebar newsletter forms sent nothing.
Accessibility: a skip link and a main landmark on every page, one h1 per page, visible labels on the contact and comment forms, named icon links, submenus that open from the keyboard (they opened on hover only), visible focus rings and WCAG AA text contrast, with a darker body grey, dark labels on the bright buttons of the elements page and readable footer, price and blog sidebar text.
Fixed: the blog titles and “Read more” links pointed to a page that did not exist and now open the post; dozens of empty # links now lead somewhere; an address card lay over the maps on the home, about and venue pages so they could not be clicked; on screens wider than 1920 px the banners left dark bars at the sides; and missing images, duplicate IDs and typos are corrected. Every page has its own title and description.