“I surprised my husband with the three-Hour Tour for his 40th birthday, and he’s still talking about it. Driving three different supercars across Florida’s coast was surreal. The lunch after driving through Clearwater Beach was perfect, and the instructors made us feel like pros.
We’ll definitely be back!”
(function () {
function resolveWithin(sliderEl, selector) {
// First check within the slider element
var el = sliderEl.querySelector(selector);
if (el) return el;
// Check parent
var parent = sliderEl.parentElement;
if (parent) {
el = parent.querySelector(selector);
if (el) return el;
}
// Check for wrapper with data attribute
var wrapper = typeof sliderEl.closest === 'function'
? sliderEl.closest('[data-swiper-root]')
: null;
if (wrapper) {
el = wrapper.querySelector(selector);
if (el) return el;
}
// Check grandparent
var grandParent = parent ? parent.parentElement : null;
if (grandParent) {
el = grandParent.querySelector(selector);
if (el) return el;
}
return null;
}
function initAll() {
var sliders = document.querySelectorAll('.swiper.is-testimonial');
sliders.forEach(function (sliderEl) {
// Prevent double initialization
if (sliderEl.__swiperInited) return;
sliderEl.__swiperInited = true;
var slides = sliderEl.querySelectorAll('.swiper-slide.is-testimonial');
var slideCount = slides ? slides.length : 0;
// Find navigation elements
var nextEl = resolveWithin(sliderEl, '[data-swiper-arrow="next"]');
var prevEl = resolveWithin(sliderEl, '[data-swiper-arrow="prev"]');
// Find pagination element - try both selectors
var paginationEl = resolveWithin(sliderEl, '.swiper-pagination.is-testimonial')
|| resolveWithin(sliderEl, '.swiper-pagination')
|| resolveWithin(sliderEl, '.swiper_bullets');
console.log('Swiper Init:', {
slideCount: slideCount,
nextEl: nextEl,
prevEl: prevEl,
paginationEl: paginationEl
});
// Hide controls if only 0 or 1 slide
if (slideCount === 0 || slideCount === 1) {
if (nextEl) nextEl.style.display = 'none';
if (prevEl) prevEl.style.display = 'none';
if (paginationEl) paginationEl.style.display = 'none';
return;
}
// Initialize Swiper
var swiperInstance = new Swiper(sliderEl, {
speed: 1000,
effect: 'fade',
fadeEffect: { crossFade: true },
slidesPerView: 1,
spaceBetween: 0,
navigation: nextEl && prevEl ? {
nextEl: nextEl,
prevEl: prevEl,
disabledClass: 'is-disabled'
} : false,
pagination: paginationEl ? {
el: paginationEl,
clickable: true,
dynamicBullets: true,
dynamicMainBullets: 5
} : false
});
console.log('Swiper initialized:', swiperInstance);
});
}
// Multiple init strategies to ensure it runs
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initAll);
} else {
initAll();
}
// Also hook into Webflow if available
if (window.Webflow) {
window.Webflow.push(initAll);
}
})();