
Perfect for
Every Occasion
(function () {
function resolveWithin(sliderEl, sel) {
// 1) inside the slider
let el = sliderEl.querySelector(sel);
if (el) return el;
// 2) inside the immediate parent (common Webflow pattern: controls as siblings)
const parent = sliderEl.parentElement;
if (parent) {
el = parent.querySelector(sel);
if (el) return el;
}
// 3) optional higher wrapper if you use one (totally optional)
const wrapper = sliderEl.closest('[data-swiper-root]');
if (wrapper) {
el = wrapper.querySelector(sel);
if (el) return el;
}
return null; // let Swiper handle nulls gracefully
}
function initAll() {
document.querySelectorAll('.swiper.service-slider').forEach(function (sliderEl) {
if (sliderEl.__swiperInited) return; // avoid double init on Webflow redraws
sliderEl.__swiperInited = true;
const nextEl = resolveWithin(sliderEl, '[data-swiper-arrow="next"]');
const prevEl = resolveWithin(sliderEl, '[data-swiper-arrow="prev"]');
const paginationEl = resolveWithin(sliderEl, '.swiper-pagination'); // no extra class — per-instance element
const scrollbarEl = resolveWithin(sliderEl, '.swiper-progressbar');
new Swiper(sliderEl, {
speed: 400,
slidesPerView: 'auto',
spaceBetween: 0,
loop: true,
autoplay: {
delay: 3000,
disableOnInteraction: false,
pauseOnMouseEnter: true
},
navigation: {
nextEl: nextEl,
prevEl: prevEl,
disabledClass: 'is-disabled',
},
pagination: {
el: paginationEl,
clickable: true,
dynamicBullets: true,
dynamicMainBullets: 5,
},
scrollbar: {
el: scrollbarEl,
draggable: true,
},
});
});
}
// Run after Webflow and on DOM ready (covers Designer/Interactions redraws too)
window.Webflow = window.Webflow || [];
window.Webflow.push(initAll);
document.addEventListener('DOMContentLoaded', initAll);
})();
"Used Energetic Exotics for a private client outing, and it set the tone immediately. Clean presentation, high-end service, and zero friction in the process. It’s rare to find a company that actually delivers on a luxury promise—these guys do. We’ll be using them again."
Christopher L.
West Palm Beach, FL.
"I’ve worked with a few charter companies before, but Energetic Exotics operates at a different level. Communication was sharp, no delays, no surprises. The yacht matched the photos exactly, and the captain knew all the right spots. This is a premium service done right."
Marcus R.
Clearwater, FL.
"We celebrated my birthday on one of their yachts, and I’m still getting calls about it. Everything was curated perfectly—from the setup to the route. It felt private, elevated, and exclusive without being complicated. If you’re thinking about it, just do it. Worth every dollar."
Danielle C.
St. Petersburg, FL
"Booked a yacht charter for a small group of friends visiting from out of town, Seattle, WA, and Energetic Exotics delivered exactly what they promised—and then some. The yacht was spotless, the crew was professional without being stiff, and the whole experience felt effortless. Sunset over the Gulf was unreal. This is hands-down one of the best ways to experience Tampa."
Jason M. – Tampa, FL
Tampa, FL,
“Our wedding reception aboard ‘Emerald Horizon’ was beyond magical. Energetic Exotics handled everything seamlessly—from docking permits to the live band we requested. Our guests are still talking about the panoramic bay views and stellar service!”
Sophia & Mark
June 2024
(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);
}
})();
Book Your Crewed
Yacht Today
Transform any occasion into a high-octane, luxury waterfront experience. From heartwarming proposals at high tide to full-scale gala fundraisers under the moonlight, we’ve got you covered—whether docked or sailing.
Thank you! Your message has been received!
Oops! Something went wrong while submitting the form.
.webp)



























