"Living in Orlando and attending events weekly, I needed a consistent, professional driver I could count on. My chauffeur knows my routes, anticipates traffic, and helps keep my day running like clockwork."
(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);
}
})();