Loan is a small-business lending website template built on Bootstrap 5. It is made for lenders, loan brokers and funding advisers: a home page with a hero banner, loan products, an example repayment calculator, a team and a testimonial, an about page, a services page with eight loan products, a full online application form, a blog with a sidebar and a single article page, a contact page with a map that loads on click, and an elements page with the type styles, buttons, tables, form controls and a lightbox gallery. There are eight pages, and the layout is responsive and mobile-ready.
The application, contact, newsletter and comment forms send through a small PHP script, and the contact page map is an OpenStreetMap map that needs no API key. The calculator on the home page is for illustration only and uses made-up figures, so replace it with your own before you publish.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used Bootstrap 4.1.3 and jQuery 1.12), compiled from Sass together with the theme and the Bootstrap 4 proportions the design was drawn with, and plain JavaScript with no jQuery. The plugins the old build loaded (Slick, SlickNav, Nice Select, Magnific Popup, ajaxChimp, jQuery Validate and others) are gone; PhotoSwipe powers the lightbox. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: the home page went from 5.1 MB and 59 requests to 0.8 MB and 32 requests, and the contact page from 2.0 MB and 68 requests to 0.4 MB and 19 requests. Every photo has an AVIF version with the JPEG as the fallback, real dimensions and lazy loading below the first screen, and the full-page preloader is gone.
No third-party requests: Rubik and Rufina are self-hosted, the Flaticon, Themify and Font Awesome icon fonts are replaced by Lucide SVG icons and a small social-logo subset, and the contact page map loads only when a visitor clicks “Show map”. Before, every page loaded its web fonts from Google Fonts and the contact page loaded the Google Maps script with an API key. A Google Analytics 4 snippet stays commented out until you add your own ID.
Working forms: the application form, contact form, newsletter box and blog comment form have visible labels, validate in the browser and send through php/send-email.php with a spam trap and an in-page message. Before, the application form had no field names and its “Apply now” button was a link to the contact page.
Accessibility: a skip link and a main landmark on every page, one h1 per page, a real menu button and a menu that works from the keyboard, names on icon links and photos, visible focus rings, reduced-motion support and WCAG AA text contrast, with a darker brand blue for buttons with white labels and darker greys for small text.
Fixed: the Apply page is in the main menu (it was hidden in the Blog submenu, and the Blog item was marked current on the Apply page), the blog search box filters the posts, and the footer links go to real pages.
Demo content: all photos are new Unsplash photos, the copy is rewritten for a fictional small-business lender with fictional names, phone and address, and the old documentation folder is replaced by a Doc page generated from the README.