Miami Sailboat Rentals & Charters | By Feeling Yachty
Cart List Your Yacht
Find a Yacht

Sailboat Rentals in Miami

Our current Miami sailboat fleet — message us for availability.

Same live Miami list. Showing the boats you picked only.

💳 How Miami Yacht Rental Pricing Works

Each card shows the boat price for the shortest charter. Open Hours & Pricing to see every duration.

Only crew + fuel are charged online now to confirm your booking. This reserves both the boat and your crew. If you cancel, the fuel charge is taken as a deposit. Remaining balance is due at the dock by cash or Zelle only.

Free-hour offers show the total time received—for example, pay for 4 hours and receive 5 hours total.

Popular filters

From prices are the boat price. Crew + fuel are added at checkout — if you cancel, fuel is taken as a deposit.

2 out of 2 yachts

Get An Extra Hour Free

Free extra hour on charters of 4 hours and up.

View All
Catamaran

Catamaran

60 ft · PowerCat · 440 Power Catamaran

From $675 for 3 hours
👥 Max capacity13 guests
View Hours & Pricing Hide Hours & Pricing Exact durations — boat price. Crew + fuel added at checkout. Click to close pricing
3 Hours
$675Boat price
4 Hours
$900Boat price
5 Hours
$1,125Boat price
6 Hours
$1,350Boat price
7 Hours
$1,575Boat price
8 Hours
$1,800Boat price
Sail La Vie

Sail La Vie

50 ft · Sea Ray · sedan bridge

From $900 for 3 hours
👥 Max capacity13 guests
View Hours & Pricing Hide Hours & Pricing Exact durations — boat price. Crew + fuel added at checkout. Click to close pricing
3 Hours
$900Boat price
4 Hours
$1,200Boat price
5 Hours
$1,500Boat price
6 Hours
$1,800Boat price
7 Hours
$2,100Boat price
8 Hours
$2,400Boat price

Saved Boats

Heart a yacht to keep it here while you compare boats and prices.

    Tap the ♡ on a boat to save it. Your list will show here.

    More Yachts Like This

    Similar length, guest count, and city to the boat you are viewing.

    View All

    Miami extras

    Miami yacht extras

    Add extras such as Decorations & balloons package, Videography, Private chef, Transportation, Bartender, Book a DJ, Open bar, Jet ski · main, Jet boat · main, Jetcar · std and Pink Jetcar · pink to a Miami yacht charter. Pay in full today. No boat booking needed.

    • City: Miami
    • Pay in full today
    • 11 extras

    Decorations & balloons package

    Decorations & Balloons Package $350

    We'll contact you to discuss colors and occasion More Info

    Videography

    Videography $500

    More Info

    Private chef

    Private Chef Custom quote

    Custom menu, quoted to your party More Info

    Transportation

    Transportation Custom quote

    Door-to-dock pickup — tell us your party size and we'll quote it More Info

    Bartender

    Bartender $75 / hour

    More Info

    Book a DJ

    Book a DJ $150 / hour

    Live DJ for the charter More Info

    Open bar

    Open Bar $650

    Bartender not included More Info

    Jet ski

    Jet ski

    $150

    Jet boat

    Jet boat

    $399

    Jetcar

    Jetcar

    $299.99

    Pink jetcar

    Pink Jetcar

    Pink

    $299.99

    Sushi menu

    Sushi boat (120 pieces + 2 crab salads)

    Sushi Boat (120 pieces + 2 crab salads) $195

    Includes service for 10 people: a full boat of assorted rolls with two crab salads on the side.

    Sashimi boat (100 pieces)

    Sashimi Boat (100 pieces) $325

    Fifty pieces of tuna sashimi and fifty of salmon, sliced fresh for the trip.

    Sushi combo 2 (80 pieces + crab salad)

    Sushi Combo 2 (80 pieces + crab salad) $124

    Eighty assorted pieces with a crab salad, an easy pick for a mid-size group.

    Nigiri boat (60 pieces)

    Nigiri Boat (60 pieces) $364

    Twenty pieces each of tuna toro, salmon, and hamachi nigiri.

    See all sushi Add 27 more sushi rolls and platters

    Sushi boats & combos

    Sushi combo 1 (50 pieces + crab salad)

    Sushi Combo 1 (50 pieces + crab salad) $85

    Includes service for 5 people: fifty assorted pieces plus a crab salad.

    Sashimi & nigiri

    Salmon sashimi (7 pieces)

    Salmon Sashimi (7 pieces) $16

    Seven slices of fresh salmon, served plain to let the fish shine.

    Tuna sashimi (7 pieces)

    Tuna Sashimi (7 pieces) $19

    Seven slices of fresh tuna, clean and simple.

    Salmon nigiri (2 pieces)

    Salmon Nigiri (2 pieces) $11

    Two pieces of salmon over hand-pressed sushi rice.

    Tuna nigiri (2 pieces)

    Tuna Nigiri (2 pieces) $13

    Two pieces of tuna over hand-pressed sushi rice.

    Classic rolls

    Bagel roll

    Bagel Roll $19

    Smoked salmon and cream cheese rolled with cucumber, a classic combination.

    California roll

    California Roll $17

    Crab, avocado, and cucumber in a light, crowd-pleasing roll.

    Dynamite roll

    Dynamite Roll $17

    A spicy roll with a crunchy topping and a kick of chili mayo.

    Salmon roll

    Salmon Roll $13

    A simple roll of fresh salmon and sushi rice.

    Tuna roll

    Tuna Roll $15

    A simple roll of fresh tuna and sushi rice.

    Veggie roll

    Veggie Roll $21

    Avocado, cucumber, and crisp vegetables, fully plant-based.

    Special rolls

    Dragon roll

    Dragon Roll $23

    Shrimp tempura inside, avocado layered on top, finished with eel sauce.

    Heat roll

    Heat Roll $24

    A hot and spicy roll for guests who like some fire.

    Martina's roll

    Martina's Roll $23

    The house signature roll, Martina's own mix of fish and crunch.

    Miami roll

    Miami Roll $21

    A bright, tropical roll made for a day on the water.

    Shrimp tempura roll

    Shrimp Tempura Roll $26

    Crispy shrimp tempura with avocado and cucumber, drizzled with eel sauce.

    Sunset roll

    Sunset Roll $23

    Layers of salmon and avocado over a crab roll, colored like a Miami sunset.

    Tropical roll

    Tropical Roll $24

    Fresh fish and mango for a sweet, tropical bite.

    Sushi appetizers

    Chicken gyozas

    Chicken Gyozas $13

    Pan-fried dumplings filled with seasoned chicken, served with dipping sauce.

    Crab salad

    Crab Salad $17

    Crab stick with red tobiko, scallions, sesame, kimchee mayo, and eel sauce.

    Edamame

    Edamame $10

    Steamed soybeans with sea salt, the classic starter.

    Chicken fried rice

    Chicken Fried Rice $16

    Wok-fried rice with chicken, egg, and vegetables.

    Shrimp fried rice

    Shrimp Fried Rice $19

    Wok-fried rice with shrimp, egg, and vegetables.

    Salmon tiradito

    Salmon Tiradito $30

    Thin slices of salmon in a citrus and chili dressing, Peruvian style.

    Shrimp tiradito

    Shrimp Tiradito $20

    Thin-cut shrimp in a bright citrus and chili dressing.

    Spring rolls

    Spring Rolls $13

    Crispy rolls filled with vegetables, served with sweet chili sauce.

    Wakame salad

    Wakame Salad $19

    Marinated seaweed salad with sesame, light and refreshing.

    Catering menu

    Medium charcuterie platter (6–8 guests)

    Medium Charcuterie Platter (6–8 guests) $300

    Cured meats, artisan cheeses, nuts, and fruit arranged for 6–8 guests to graze on deck. More Info

    Large charcuterie platter (10–13 guests)

    Large Charcuterie Platter (10–13 guests) $425

    The same cured meats, cheeses, nuts, and fruit, sized for a party of 10–13. More Info

    Medium fruit platter (6–8 guests)

    Medium Fruit Platter (6–8 guests) $140

    Fresh-cut seasonal fruit, ready to share between 6–8 guests. More Info

    Large fruit platter (10–13 guests)

    Large Fruit Platter (10–13 guests) $195

    A generous spread of fresh-cut seasonal fruit for 10–13 guests. More Info

    See all catering Add 34 more platters, bites, and desserts

    Gourmet selection

    Beef carpaccio

    Beef Carpaccio $185

    Thinly sliced beef with olive oil, parmesan, and arugula, served chilled. More Info

    Eggplant carpaccio

    Eggplant Carpaccio $135

    Roasted eggplant sliced paper-thin and dressed with herbs and olive oil. More Info

    Zucchini carpaccio

    Zucchini Carpaccio $135

    Ribbons of raw zucchini with lemon, olive oil, and shaved parmesan. More Info

    Sea selection

    Ceviche cups (13 cups)

    Ceviche Cups (13 cups) $165

    Thirteen cups of citrus-cured fish with onion, cilantro, and lime. More Info

    Shrimp cocktail (13 units)

    Shrimp Cocktail (13 units) $175

    Thirteen chilled shrimp cocktails with a zesty cocktail sauce. More Info

    Gourmet bites

    Beef & chicken skewers (13 units)

    Beef & Chicken Skewers (13 units) $145

    Thirteen grilled skewers, a mix of marinated beef and chicken. More Info

    Caprese skewers (13 units)

    Caprese Skewers (13 units) $125

    Thirteen skewers of mozzarella, cherry tomato, and basil with balsamic glaze. More Info

    Salmon canapés (13 units)

    Salmon Canapés (13 units) $165

    Thirteen bites of smoked salmon and cream cheese on crisp bases. More Info

    Shrimp skewers (13 units)

    Shrimp Skewers (13 units) $165

    Thirteen grilled shrimp skewers with garlic and lime. More Info

    Hot appetizers

    Tequeños (25 units)

    Tequeños (25 units) $115

    Twenty-five golden Venezuelan cheese sticks, served warm. More Info

    Ham & cheese croquettes (25 units)

    Ham & Cheese Croquettes (25 units) $115

    Twenty-five crispy ham and cheese croquettes, fried to order. More Info

    Stuffed arepas (13 units)

    Stuffed Arepas (13 units) $140

    Thirteen grilled corn arepas stuffed with cheese and shredded meat. More Info

    Empanadas (13 units)

    Empanadas (13 units) $125

    Thirteen baked empanadas with savory meat and cheese fillings. More Info

    Mini corn cakes with cheese (13 units)

    Mini Corn Cakes with Cheese (13 units) $125

    Thirteen sweet mini corn cakes topped with melted cheese. More Info

    Mini meatballs (24 units)

    Mini Meatballs (24 units) $145

    Twenty-four mini meatballs simmered in a rich tomato sauce. More Info

    Gourmet sliders & wraps

    Mini sliders (13 units)

    Mini Sliders (13 units) $165

    Thirteen mini burgers with cheese, lettuce, and house sauce. More Info

    Gourmet hot dogs (13 units)

    Gourmet Hot Dogs (13 units) $155

    Thirteen gourmet hot dogs loaded with crispy toppings and sauces. More Info

    Stuffed gourmet subs (13 units)

    Stuffed Gourmet Subs (13 units) $175

    Thirteen stuffed gourmet subs with meats, cheese, and fresh vegetables. More Info

    Mini wraps (13 units)

    Mini Wraps (13 units) $155

    Thirteen mini wraps filled with chicken, vegetables, and creamy dressing. More Info

    Mexican tacos (13 units)

    Mexican Tacos (13 units) $165

    Thirteen Mexican tacos with seasoned meat, salsa, and fresh toppings. More Info

    Signature dishes

    Seafood paella (13 guests)

    Seafood Paella (13 guests) $495

    A pan of saffron rice with shrimp, mussels, and calamari for 13 guests. More Info

    Traditional paella (13 guests)

    Traditional Paella (13 guests) $425

    Classic Spanish paella with chicken and chorizo for 13 guests. More Info

    Breakfast options

    Ham, cheese & bacon omelet with pancakes

    Ham, Cheese & Bacon Omelet with Pancakes $225

    A hearty ham, cheese, and bacon omelet served with fluffy pancakes. More Info

    Ham & cheese mini croissants

    Ham & Cheese Mini Croissants $145

    Warm mini croissants filled with ham and melted cheese. More Info

    Premium extras

    Artisan hummus trio

    Artisan Hummus Trio $125

    Three artisan hummus flavors with pita and fresh vegetables for dipping. More Info

    Mini dessert collection

    Tres leches

    Tres Leches $115

    Mini tres leches cakes soaked in sweet milk and topped with cream. More Info

    Passion fruit mousse

    Passion Fruit Mousse $125

    Light, tangy passion fruit mousse in individual cups. More Info

    Strawberry mousse

    Strawberry Mousse $125

    Silky strawberry mousse in individual cups. More Info

    Lemon pie

    Lemon Pie $125

    Mini lemon pies with a buttery crust and tart citrus filling. More Info

    Strawberries & cream

    Strawberries & Cream $135

    Fresh strawberries with sweet whipped cream in individual cups. More Info

    Chocolate cake with nutella

    Chocolate Cake with Nutella $135

    Mini chocolate cakes layered with Nutella. More Info

    Arequipe churros

    Arequipe Churros $125

    Crispy churros filled with arequipe caramel. More Info

    Nutella & strawberry mini pancakes

    Nutella & Strawberry Mini Pancakes $145

    Mini pancakes topped with Nutella and fresh strawberries. More Info

    Tiramisu

    Tiramisu $135

    Mini tiramisu cups with espresso-soaked layers and mascarpone cream. More Info

    Setup and delivery on request. Every menu can be customised for your day.

    When and where

    Date, start time, guests, and delivery. Pick any Miami marina, or type a street address.

    Delivery location

    Tap extras to add them.

    About Miami yacht extras

    Can I add extras without a Miami yacht booking?

    Yes. Pick the extras you want, then a Miami marina or a typed address. You pay in full today.

    Can I add only one extra?

    Yes. Tap just that extra. Staff can also place a widget with only that service so the add to cart is unique.

    #fy-irwin45-neon{ --ink:#0f172a; --muted:#475569; --bg:#fff7fb; --tile:#ffffff; --accent:#E45C9C; --accent2:#d34c8b; --cyan:#00FFFF; --magenta:#FF00FF; --green:#39FF14; --sun:#FFC857; --wa:#25D366; --blue:#1fb6ff; --border:#f4d9e8; --ring:rgba(228,92,156,.28); --shadow:0 18px 42px rgba(15,23,42,.12); max-width:1220px; margin:32px auto; padding:clamp(18px,3vw,34px); position:relative; isolation:isolate; overflow:hidden; border-radius:28px; color:var(--ink); background: radial-gradient(circle at 14% 10%,rgba(0,255,255,.12),transparent 28%), radial-gradient(circle at 88% 18%,rgba(255,0,255,.12),transparent 30%), radial-gradient(circle at 50% 104%,rgba(57,255,20,.10),transparent 32%), linear-gradient(180deg,#fff 0%,#fff7fb 48%,#fffdf9 100%); border:1px solid rgba(228,92,156,.22); box-shadow:var(--shadow); } #fy-irwin45-neon *{ box-sizing:border-box; } #fy-irwin45-neon:before{ content:""; position:absolute; inset:0; padding:3px; border-radius:28px; background:linear-gradient(135deg,var(--cyan),var(--accent),var(--magenta),var(--green),var(--cyan)); background-size:320% 320%; animation:fyNeonBorder 9s ease infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:0; } #fy-irwin45-neon:after{ content:""; position:absolute; inset:-35%; background: radial-gradient(38% 38% at 25% 20%,rgba(228,92,156,.16),transparent 70%), radial-gradient(42% 42% at 80% 30%,rgba(0,255,255,.12),transparent 70%), radial-gradient(46% 46% at 48% 94%,rgba(57,255,20,.10),transparent 68%); filter:blur(28px); animation:fyNeonAmbient 18s linear infinite; z-index:-1; } @keyframes fyNeonBorder{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} } @keyframes fyNeonAmbient{ from{transform:rotate(0deg)} to{transform:rotate(360deg)} } #fy-irwin45-neon a{ color:var(--accent2); text-decoration:none; font-weight:900; } #fy-irwin45-neon a:hover{ color:var(--accent); text-decoration:underline; } #fy-irwin45-neon a:focus-visible, #fy-irwin45-neon button:focus-visible, #fy-irwin45-neon summary:focus-visible{ outline:3px solid var(--ring); outline-offset:3px; } #fy-irwin45-neon p, #fy-irwin45-neon h1, #fy-irwin45-neon h2, #fy-irwin45-neon h3, #fy-irwin45-neon figure{ margin-top:0; } .fy-shell{ position:relative; z-index:2; display:grid; grid-template-columns:1fr; gap:24px; align-items:start; } @media (min-width:980px){ .fy-shell{ grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr); gap:34px; } } .fy-copy{ display:grid; gap:16px; } .fy-kicker{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0; } .fy-kicker span{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:999px; color:#fff; background:#0a0a0a; border:2px solid transparent; background-image: linear-gradient(#0a0a0a,#0a0a0a), linear-gradient(135deg,var(--cyan),var(--magenta),var(--green)); background-origin:border-box; background-clip:padding-box,border-box; box-shadow: 0 0 10px rgba(0,255,255,.28), 0 0 18px rgba(255,0,255,.18); font-weight:950; font-size:.88rem; line-height:1.2; } #fy-irwin45-title{ margin:0; font-size:clamp(2rem,1.15rem + 3.6vw,4.15rem); line-height:.98; letter-spacing:-.05em; font-weight:950; color:var(--ink); } .fy-gradient{ display:inline; background:linear-gradient(90deg,var(--accent),var(--accent2),var(--sun),var(--accent)); background-size:240% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:fyTextFlow 12s linear infinite; } @keyframes fyTextFlow{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} } #fy-irwin45-desc{ margin:0; color:var(--muted); font-size:clamp(1rem,.95rem + .35vw,1.18rem); line-height:1.72; } .fy-trust{ display:grid; gap:10px; padding:14px; border-radius:20px; background:rgba(255,255,255,.86); border:1px solid var(--border); box-shadow:0 8px 22px rgba(15,23,42,.055); } .fy-trust-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; } .fy-proof{ display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:999px; background:#fff; border:1px dashed var(--border); color:var(--ink); font-weight:900; line-height:1.25; } .fy-proof strong{ color:var(--ink); } .fy-note{ margin:0; color:var(--muted); line-height:1.58; font-size:.96rem; } .fy-chips{ display:flex; flex-wrap:wrap; gap:8px; } .fy-chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; background:#fff; border:1px solid var(--border); color:var(--ink); font-weight:850; font-size:.92rem; } .fy-seo-card, .fy-captain, .fy-pickup, .fy-mini-card{ background:#fff; border:1px solid var(--border); border-radius:20px; padding:16px; box-shadow:0 8px 20px rgba(15,23,42,.055); } .fy-seo-card h2{ margin:0 0 8px; color:var(--ink); font-size:clamp(1.2rem,1rem + .75vw,1.65rem); letter-spacing:-.025em; font-weight:950; } .fy-seo-card p{ margin:0; color:var(--muted); line-height:1.66; } .fy-bullets{ list-style:none; padding:0; margin:0; display:grid; gap:9px; } .fy-bullets li{ display:flex; gap:8px; align-items:flex-start; color:var(--ink); line-height:1.45; font-weight:750; } .fy-bullets li span{ flex:0 0 auto; } .fy-captain{ display:flex; gap:14px; align-items:flex-start; } .fy-cap-avatar{ width:56px; height:56px; border-radius:999px; flex:0 0 56px; background: radial-gradient(circle at 34% 24%,#fff 0 17%,transparent 18%), linear-gradient(135deg,var(--accent),var(--cyan),var(--green)); border:2px solid #fff; box-shadow: 0 0 0 1px var(--border), 0 0 18px rgba(0,255,255,.22), 0 8px 16px rgba(228,92,156,.18); } .fy-cap-copy{ color:var(--muted); line-height:1.58; font-size:.98rem; } .fy-cap-copy strong{ display:block; color:var(--ink); font-size:1.03rem; margin-bottom:2px; font-weight:950; } .fy-cta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; } .fy-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:12px 18px; border-radius:999px; color:#fff !important; border:0; font-weight:950; line-height:1.2; box-shadow:0 8px 18px rgba(15,23,42,.14); transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; text-decoration:none !important; white-space:nowrap; } .fy-btn:hover{ transform:translateY(-1px); filter:saturate(1.06); box-shadow:0 11px 24px rgba(15,23,42,.18); text-decoration:none !important; } .btn-wa{background:var(--wa)} .btn-pink{background:linear-gradient(135deg,var(--accent),var(--accent2))} .btn-dark{background:#0f172a} .btn-blue{background:var(--blue)} .fy-media{ display:grid; gap:14px; } .fy-slider-card{ position:relative; overflow:hidden; border-radius:26px; background:#0a0a0a; border:2px solid transparent; background-image: linear-gradient(#0a0a0a,#0a0a0a), linear-gradient(135deg,var(--cyan),var(--magenta),var(--green)); background-origin:border-box; background-clip:padding-box,border-box; box-shadow: 0 0 14px rgba(0,255,255,.32), 0 0 26px rgba(255,0,255,.22), 0 18px 38px rgba(15,23,42,.20); } .fy-slider{ display:flex; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; } .fy-slider::-webkit-scrollbar{ display:none; } .fy-slide{ flex:0 0 100%; width:100%; min-width:100%; position:relative; scroll-snap-align:center; margin:0; background:#0a0a0a; aspect-ratio:9/12; } @media (min-width:720px){ .fy-slide{ aspect-ratio:9/11; } } @media (min-width:980px){ .fy-slide{ aspect-ratio:9/12; } } .fy-slide img{ display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; opacity:1 !important; visibility:visible !important; filter:saturate(1.08) contrast(1.04); } .fy-slide figcaption{ position:absolute; left:12px; right:12px; bottom:12px; z-index:2; padding:11px 12px; border-radius:18px; color:#fff; background:linear-gradient(180deg,rgba(15,23,42,.60),rgba(15,23,42,.88)); font-weight:850; font-size:.92rem; line-height:1.35; backdrop-filter:blur(8px); } .fy-slider-top{ position:absolute; top:12px; left:12px; right:12px; z-index:4; display:flex; justify-content:space-between; gap:10px; pointer-events:none; } .fy-slider-badge{ display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; padding:8px 11px; border-radius:999px; color:#fff; background:rgba(10,10,10,.76); border:1px solid rgba(255,255,255,.26); box-shadow:0 0 12px rgba(0,255,255,.20); font-size:.82rem; font-weight:950; line-height:1.2; backdrop-filter:blur(8px); } .fy-slider-controls{ position:absolute; inset:auto 12px 14px 12px; z-index:5; display:flex; justify-content:space-between; align-items:center; pointer-events:none; } .fy-arrow{ width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.38); background:rgba(10,10,10,.78); color:#fff; cursor:pointer; font-size:26px; line-height:1; font-weight:950; box-shadow: 0 8px 16px rgba(15,23,42,.22), 0 0 12px rgba(0,255,255,.24); pointer-events:auto; } .fy-dots{ display:flex; gap:7px; justify-content:center; align-items:center; pointer-events:auto; background:rgba(10,10,10,.58); border:1px solid rgba(255,255,255,.20); border-radius:999px; padding:8px 10px; backdrop-filter:blur(8px); } .fy-dot{ width:8px; height:8px; border-radius:999px; border:0; padding:0; background:rgba(255,255,255,.44); cursor:pointer; } .fy-dot.is-active{ width:22px; background:linear-gradient(90deg,var(--cyan),var(--magenta)); box-shadow:0 0 10px rgba(0,255,255,.45); } .fy-swipe-note{ margin:0; text-align:center; color:var(--muted); font-size:.92rem; line-height:1.35; font-weight:700; } .fy-video-wrap{ position:relative; overflow:hidden; border-radius:24px; background:#000; border:2px solid transparent; background-image: linear-gradient(#000,#000), linear-gradient(135deg,var(--accent),var(--cyan),var(--green)); background-origin:border-box; background-clip:padding-box,border-box; box-shadow:0 0 18px rgba(228,92,156,.20),0 14px 28px rgba(15,23,42,.12); } .fy-video{ display:block; width:100%; aspect-ratio:16/9; border:0; } .fy-pickup h3{ margin:0 0 5px; color:var(--ink); font-size:1.18rem; letter-spacing:-.015em; font-weight:950; } .fy-pickup p{ margin:0 0 10px; color:var(--muted); line-height:1.55; } .fy-pickup details{ border:1px dashed var(--border); border-radius:16px; overflow:hidden; background:#fff7fb; } .fy-pickup summary{ list-style:none; cursor:pointer; padding:12px 14px; color:#fff; font-weight:950; background:linear-gradient(135deg,var(--accent),var(--accent2)); display:flex; gap:9px; align-items:center; user-select:none; } .fy-pickup summary::-webkit-details-marker{ display:none; } .fy-chev{ transition:transform .18s ease; } .fy-pickup details[open] .fy-chev{ transform:rotate(90deg); } .fy-map-wrap{ position:relative; width:100%; aspect-ratio:16/10; background:#fff; } .fy-map{ position:absolute; inset:0; width:100%; height:100%; border:0; } .fy-pu-cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; } .fy-mini-grid{ display:grid; gap:10px; grid-template-columns:1fr; } @media (min-width:760px){ .fy-mini-grid{ grid-template-columns:repeat(3,1fr); } } .fy-mini-card strong{ display:block; margin-bottom:4px; color:var(--ink); font-weight:950; } .fy-mini-card span{ color:var(--muted); line-height:1.5; font-size:.94rem; } @media (max-width:560px){ #fy-irwin45-neon{ margin:18px auto; border-radius:22px; } .fy-kicker, .fy-trust-row, .fy-chips, .fy-cta, .fy-pu-cta{ display:grid; grid-template-columns:1fr; } .fy-kicker span, .fy-proof, .fy-chip, .fy-btn{ width:100%; } .fy-btn{ white-space:normal; text-align:center; } .fy-slide{ aspect-ratio:9/13; } .fy-slider-controls{ inset:auto 10px 12px 10px; } .fy-arrow{ width:42px; height:42px; } .fy-slide figcaption{ font-size:.86rem; padding:10px; } } @media (prefers-reduced-motion:reduce){ #fy-irwin45-neon:before, #fy-irwin45-neon:after, .fy-gradient{ animation:none !important; } .fy-slider{ scroll-behavior:auto; } .fy-btn{ transition:none; } }

    ⛵ Official Feeling Yachty Tour 👨‍✈️ Owner-Operated ⭐ 2,400+ Verified Reviews

    Miami Sailboat Charter on the Official Feeling Yachty Irwin 45

    Sail Biscayne Bay aboard our Feeling Yachty Official Irwin 45, a classic 45-ft monohull operated by our family and captained by Licensed Captain Alberto Yemail. This is an official Feeling Yachty tour — not a random reseller listing — with private sailing routes from Coconut Grove, Dinner Key Marina, Key Biscayne, Virginia Key, Nixon Sandbar, and Miami skyline waters.

    ⭐ 2,400+ Verified Reviews 🏷️ All Fees Included 👨‍✈️ Licensed Captain 🏆 Official Operator

    Book directly with Feeling Yachty for a private Miami sailing experience with transparent pricing, real local operators, captain-led routes, and clear communication before your trip.

    ⛵ Irwin 45-ft Monohull 📍 Coconut Grove / Dinner Key Pickup 🌅 Sunrise, Daytime & Sunset Sails 🥂 BYO Snacks & Bubbly Welcome 🧊 Ice, Soft Drinks & Float Mats on Most Trips 🧭 Biscayne Bay, Key Biscayne & Sandbar Routes 🧾 Transparent Pricing — All Fees Included

    Private Miami Sailing Tours, Sailboat Rentals, Lessons & Special Occasions

    Choose the Irwin 45 for romantic sunset sails, proposals, birthdays, family outings, photoshoots, relaxed sandbar days, or sailing lessons by request. Your route can include Coconut Grove, Biscayne Bay, Virginia Key, Key Biscayne, Stiltsville views, Nixon Sandbar, and Miami skyline photo moments, depending on weather, tide, timing, and captain safety judgment.

    • ✔️Official Feeling Yachty-operated tour — book with the actual operator behind the experience.
    • ✔️Captain Alberto Yemail leads Irwin 45 tours with safety, comfort, and Miami local knowledge.
    • ✔️All Fees Included — transparent charter pricing with tip optional.
    • ✔️Flexible private routes based on weather, tide, guest preference, and captain approval.
    • ✔️Great for proposals, photoshoots, birthdays, sunset cruises, family sails, and sailing lessons.
    📸 Official Irwin 45 Photos Swipe Gallery
    Sailboat at anchor in clear turquoise water with snorkelers
    Official Feeling Yachty Irwin 45 sailing experience on Biscayne Bay.
    Cockpit seating and helm with ocean view
    Comfortable cockpit seating and classic sailboat layout for private Miami charters.
    Irwin 45 under sail on calm water
    Irwin 45 under sail with captain-led Biscayne Bay routing.
    Forward deck and bow view under way
    Forward deck and bow views for photos, proposals, and golden-hour memories.
    Wide cockpit view looking forward to the bow
    Wide cockpit view aboard the official Feeling Yachty Irwin 45.
    Colorful sail close-up with ocean horizon
    Classic sailing atmosphere with Miami water, breeze, and skyline moments.

    Swipe one photo at a time on mobile or use the arrows on desktop.

    Pickup Location: Coconut Grove Marina / Dinner Key Marina

    Tap below to preview the exact pickup area or open directions in Google Maps.

    Show GPS Map
    Is this official? Yes. This is an official Feeling Yachty-operated Irwin 45 sailing tour.
    Are fees included? Yes. Pricing is transparent and all fees are included. Tip is optional.
    Who is the captain? Licensed Captain Alberto Yemail leads the official Irwin 45 experience.
    (function(){ const root = document.querySelector('#fy-irwin45-neon'); if(!root) return; const slider = root.querySelector('[data-fy-slider]'); const prev = root.querySelector('[data-fy-prev]'); const next = root.querySelector('[data-fy-next]'); const dots = Array.from(root.querySelectorAll('[data-fy-dot]')); const slides = Array.from(root.querySelectorAll('.fy-slide')); if(!slider || !slides.length) return; function goTo(index){ const safeIndex = Math.max(0, Math.min(index, slides.length - 1)); slider.scrollTo({ left: slider.clientWidth * safeIndex, behavior: 'smooth' }); setActiveDot(safeIndex); } function currentIndex(){ return Math.round(slider.scrollLeft / slider.clientWidth); } function setActiveDot(index){ dots.forEach(function(dot, i){ dot.classList.toggle('is-active', i === index); }); } if(prev){ prev.addEventListener('click', function(){ goTo(currentIndex() - 1); }); } if(next){ next.addEventListener('click', function(){ goTo(currentIndex() + 1); }); } dots.forEach(function(dot){ dot.addEventListener('click', function(){ goTo(parseInt(dot.getAttribute('data-fy-dot'), 10)); }); }); let raf = null; slider.addEventListener('scroll', function(){ if(raf) cancelAnimationFrame(raf); raf = requestAnimationFrame(function(){ setActiveDot(currentIndex()); }); }, { passive:true }); window.addEventListener('resize', function(){ goTo(currentIndex()); }); const details = root.querySelector('.fy-pickup details'); if(details){ const summary = details.querySelector('summary'); if(summary){ summary.setAttribute('role','button'); summary.setAttribute('tabindex','0'); summary.setAttribute('aria-expanded', details.hasAttribute('open') ? 'true' : 'false'); details.addEventListener('toggle', function(){ summary.setAttribute('aria-expanded', details.hasAttribute('open') ? 'true' : 'false'); }); } } })(); { "@context": "https://schema.org", "@type": "TouristTrip", "name": "Official Feeling Yachty Irwin 45 Miami Sailboat Charter", "description": "Official Feeling Yachty-operated private Miami sailboat charter aboard the Irwin 45, captained by Licensed Captain Alberto Yemail, with Biscayne Bay, Coconut Grove, Key Biscayne, Virginia Key, Nixon Sandbar, and Miami skyline route options.", "touristType": [ "Couples", "Families", "Birthday Groups", "Proposal Guests", "Photoshoot Guests", "Private Charter Guests", "Sailing Lesson Guests" ], "provider": { "@type": "LocalBusiness", "name": "Feeling Yachty", "telephone": "+1-954-246-3636", "url": "https://web.feelingyachty.com/" }, "areaServed": [ { "@type": "Place", "name": "Biscayne Bay" }, { "@type": "Place", "name": "Coconut Grove" }, { "@type": "Place", "name": "Dinner Key Marina" }, { "@type": "Place", "name": "Key Biscayne" }, { "@type": "Place", "name": "Virginia Key" }, { "@type": "Place", "name": "Nixon Sandbar" } ], "location": { "@type": "Place", "name": "Dinner Key Marina / Coconut Grove Marina", "geo": { "@type": "GeoCoordinates", "latitude": 25.727010509942236, "longitude": -80.23798228842195 } }, "offers": { "@type": "Offer", "availability": "https://schema.org/InStock", "priceSpecification": { "@type": "PriceSpecification", "description": "All fees included. Tip optional." } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "2650" }, "image": [ "https://web.feelingyachty.com/wp-content/uploads/2025/11/4-2.png", "https://web.feelingyachty.com/wp-content/uploads/2025/11/9-1.png", "https://web.feelingyachty.com/wp-content/uploads/2025/11/11-1.png", "https://web.feelingyachty.com/wp-content/uploads/2025/11/16-1.png", "https://web.feelingyachty.com/wp-content/uploads/2025/11/12-1.png", "https://web.feelingyachty.com/wp-content/uploads/2025/11/14-1.png" ] }
    /* Unique animation name so it can't be overridden elsewhere */ @keyframes fyGlowSunrise__sail { 0% { filter:hue-rotate(0) } 100% { filter:hue-rotate(360deg) } } #fy-callout-sunrise{ --ink:#0f172a; --muted:#475569; /* Sunrise neon palette */ --accent:#FF8A00; /* warm orange */ --accent2:#FF3D00; /* red-orange */ --accent3:#FFD257; /* golden */ --tile:#FFF9F2; /* warm off-white */ margin:28px auto; max-width:1000px; padding:3px; border-radius:18px; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--accent),var(--accent2),var(--accent3)); animation:fyGlowSunrise__sail 6s linear infinite; } #fy-callout-sunrise .inner{ background:var(--tile); border-radius:16px; padding:24px 20px; text-align:center; box-shadow:0 8px 28px rgba(0,0,0,.06); } #fy-callout-sunrise #fy-callout-sunrise-title{ margin:0 0 12px; font-weight:900; letter-spacing:-.015em; font-size:clamp(1.35rem,1rem + 1.2vw,1.9rem); background:linear-gradient(180deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; } #fy-callout-sunrise p{ margin:0 0 16px; font-size:clamp(.95rem,.9rem + .35vw,1.15rem); color:var(--ink); line-height:1.55; } #fy-callout-sunrise .sub{ margin-top:6px; color:var(--muted); font-size:clamp(.9rem,.85rem + .3vw,1.02rem); } #fy-callout-sunrise strong{ color:var(--accent2) } #fy-callout-sunrise .btn-wrap{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:18px; } /* Scoped button */ #fy-callout-sunrise .fy-btn{ display:inline-block; padding:12px 28px; border-radius:999px; font-weight:800; font-size:clamp(.9rem,.9rem + .25vw,1rem); color:#fff; text-decoration:none; background:linear-gradient(135deg,var(--accent),var(--accent2)); box-shadow:0 4px 14px rgba(255, 122, 0, .55); transition:all .28s ease; } #fy-callout-sunrise .fy-btn:hover{ transform:translateY(-2px) scale(1.02); box-shadow:0 6px 22px rgba(255, 122, 0, .65); } #fy-callout-sunrise .fy-btn:focus-visible{ outline:3px solid var(--accent); outline-offset:3px }

    Sail Miami | Click For More Pics & Pricing ⛵🌅

    Catch golden-hour winds aboard our sailboat — perfect for proposals, photoshoots, and serene bay cruising. Licensed captain available.

    All Fees Included — everything’s covered except tip.

    /* --- Tokens & easy sizing controls --- */ #fy-h1-unique{ --ink:#0f172a; --muted:#475569; --tile:#fff7fb; --accent:#E45C9C; --accent2:#d34c8b; --glow1:rgba(228,92,156,.55); --glow2:rgba(228,92,156,.35); --glow3:rgba(211,76,139,.28); --whatsapp:#25D366; --fy-blue: var(--fyBlue, #2563eb); --ring:rgba(228,92,156,.22); --border:#eef2f7; /* <<>> */ --finance-logo-size-mobile: 40px; /* mobile/tablet */ --finance-logo-size-desktop: 64px; /* desktop */ max-width:1200px; margin:32px auto; padding:28px; position:relative; background:var(--tile); border-radius:18px; border:4px solid transparent; overflow:hidden; box-shadow:0 10px 24px rgba(2,6,23,.06); background-clip:padding-box; text-align:center; will-change:transform, box-shadow; isolation:isolate; } /* Never block clicks from decorative layers */ #fy-h1-unique:before, #fy-h1-unique:after, .fy-glow { pointer-events:none !important; } /* Neon frame + ambient */ #fy-h1-unique:before{ content:""; position:absolute; inset:0; padding:4px; border-radius:18px; background:linear-gradient(135deg,var(--accent),var(--accent2),#ff89c0,var(--accent)); background-size:300% 300%; animation:borderGlow 9s ease infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; z-index:0; } @keyframes borderGlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} #fy-h1-unique:after{ content:""; position:absolute; inset:-40%; background: radial-gradient(40% 40% at 30% 20%,rgba(228,92,156,.18),transparent 70%), radial-gradient(45% 45% at 70% 70%,rgba(211,76,139,.14),transparent 65%); animation:shine 14s linear infinite; filter:blur(20px); z-index:0; } @keyframes shine{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} .fy-glow{ position:absolute; inset:-10px; border-radius:22px; z-index:0; box-shadow:0 0 26px var(--glow1), 0 0 64px var(--glow2), 0 0 120px var(--glow3); animation:pulse 5.5s ease-in-out infinite; filter:saturate(115%); } @keyframes pulse{0%,100%{opacity:.75; transform:scale(1)}50%{opacity:1; transform:scale(1.01)}} /* --- Theme typography --- */ #fy-h1-unique h1, #fy-h1-unique h2, #fy-h1-unique p {margin-top:0; color:var(--ink)} #fy-h1-unique p{color:var(--muted)} #fy-h1-unique *{text-align:center} #fy-h1-unique h1{ position:relative; z-index:2; background:linear-gradient(90deg,var(--accent),var(--accent2),#ff9dcb,var(--accent)); background-size:220% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; animation:h1Flow 14s linear infinite; text-shadow:0 0 22px rgba(228,92,156,.45); letter-spacing:-.02em; font-weight:900; font-size:clamp(2rem, 1.6rem + 2.2vw, 3rem); } @keyframes h1Flow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} /* Links */ #fy-h1-unique a{color:var(--accent2); text-decoration:none; border-bottom:2px dotted var(--accent2); outline:0; font-weight:inherit} #fy-h1-unique a:hover{color:var(--accent); border-bottom-style:solid} #fy-h1-unique a:focus-visible{outline:3px solid var(--ring); outline-offset:3px; border-bottom-style:solid} /* CTA pills */ .fy-cta{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:16px 0; position:relative; z-index:3} .fy-btn{ display:inline-block; padding:8px 18px; border-radius:9999px; font:inherit; line-height:1.3; text-decoration:none; white-space:nowrap; box-shadow:0 3px 10px rgba(2,6,23,.08); transition:all .15s ease; color:#fff !important; position:relative; z-index:3; pointer-events:auto; font-weight:900; } .fy-btn:hover{transform:translateY(-1px); box-shadow:0 6px 14px rgba(2,6,23,.12)} .btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent2))} .btn-wa{background:var(--whatsapp)} .btn-blue{background:var(--fy-blue)} .btn-black{background:#0f172a} .btn-black:hover{background:#fff; color:#0f172a !important; border:2px solid #0f172a} /* Promise pill (reviews) */ .fy-promise{ display:inline-flex; align-items:center; gap:6px; background:var(--tile); color:var(--ink); border:1.5px dashed var(--border); padding:8px 14px; border-radius:9999px; margin:14px auto 10px; position:relative; z-index:2; line-height:1; font-weight:700; } /* Kill intrusive overlays from plugins */ .eael-cursor, .eael-cursor-pointer, .eael-cursor-inner, .elementor-popup-modal, .elementor-sticky__spacer { pointer-events:none !important; } /* --- Finance logo pill (under reviews) --- */ #fy-h1-unique .fy-logo-bar{ display:flex;align-items:center;justify-content:center;flex-wrap:wrap; gap:16px; margin:10px auto 8px; padding:12px 16px; background:#fff; border:1.5px solid var(--border); border-radius:9999px; max-width:980px; box-shadow:0 10px 24px var(--ring); } #fy-h1-unique .fy-badge{ display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:9999px; background:#fff;border:1.5px dashed var(--border);color:var(--ink);text-decoration:none; transition:border .2s ease, transform .12s ease, box-shadow .2s ease; font-weight:900; } #fy-h1-unique .fy-badge:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 18px var(--ring)} #fy-h1-unique .fy-logo{ display:inline-flex;align-items:center;justify-content:center; padding:10px 14px;border-radius:14px;background:#fff;border:1.5px solid var(--border); text-decoration:none;color:var(--ink); transition:transform .15s ease, box-shadow .15s ease, border-color .2s ease; box-shadow:0 6px 16px rgba(2,6,23,.08); overflow:visible; min-height:calc(var(--finance-logo-size-mobile) + 10px); } #fy-h1-unique .fy-logo:hover{transform:translateY(-1px) scale(1.03); border-color:var(--accent); box-shadow:0 14px 30px var(--ring)} /* Make logos obey the size vars, never crop */ #fy-h1-unique .fy-logo img{ display:block; height:var(--finance-logo-size-mobile); width:auto; object-fit:contain; max-width:none; } @media (min-width:768px){ #fy-h1-unique .fy-logo{ min-height:calc(var(--finance-logo-size-desktop) + 10px); } #fy-h1-unique .fy-logo img{ height:var(--finance-logo-size-desktop); } } /* Specials bullets */ .fy-bullets{list-style:none; padding:0; margin:8px 0 12px; position:relative; z-index:2} .fy-bullets li{margin:6px 0} @media (prefers-reduced-motion: reduce){ #fy-h1-unique:before, #fy-h1-unique:after, .fy-glow, #fy-h1-unique h1{animation:none} } /* ===== Finance overrides so the pill/labels remain visible as headings ===== */ #fy-h1-unique .fy-logo-bar h2.fy-badge, #fy-h1-unique .fy-logo-bar h2.fy-badge *{ color: var(--ink) !important; -webkit-text-fill-color: var(--ink) !important; /* defeats any transparent/gradient rules */ background: none !important; } #fy-h1-unique .fy-logo-bar h2.fy-badge{ display:inline-flex; margin:0; line-height:1; font-size:1rem; font-weight:900; border:1.5px dashed var(--border); border-radius:9999px; padding:8px 12px; } #fy-h1-unique .fy-logo h3{ display:inline; margin:0 8px 0 0; line-height:1; font-size:1rem; font-weight:900; color: var(--ink) !important; -webkit-text-fill-color: var(--ink) !important; } /* Crypto offers row */ #fy-h1-unique .fy-offers{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px auto 4px} #fy-h1-unique .fy-offer{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9999px;background:#fff;border:1.5px solid var(--border);box-shadow:0 6px 16px rgba(2,6,23,.08);font-weight:900;text-decoration:none;color:var(--ink);transition:transform .15s ease, box-shadow .15s ease, border-color .2s ease} #fy-h1-unique .fy-offer:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 14px 30px var(--ring);border-color:var(--accent)} #fy-h1-unique .fy-offer small{font-weight:700;color:var(--muted)} #fy-h1-unique .fy-offer svg{height:20px;width:20px} #fy-h1-unique .fy-crypto-note{margin:4px 0 0;color:var(--muted);font-size:.9rem}

    Book Now, Finance or Pay with Crypto

    🏷️ Finance Your Miami Experience

    <p class="fy-crypto-note" role="note"

    We accept Visa, Mastercard, American Express, and Discover. Financing available with Klarna, PayPal Pay Later, and Affirm. Crypto accepted: Bitcoin & Ethereum. Learn more

    { "@context": "https://schema.org", "@type": "Offer", "name": "Miami Yacht Rental", "url": "https://web.feelingyachty.com/", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "acceptedPaymentMethod": [ "Credit Card", "PayPal", "PayPal Pay Later", "Affirm", "Klarna", "Bitcoin", "Ethereum" ] }

    Upgrade Your Miami Yacht Charter with Add-On Services & Event Planning

    Personalize this yacht rental with private dining, catering, décor, bartenders, DJs, photography, videography, drone coverage, and black car transfers. These services help guests turn a standard Miami yacht charter into a smoother, better-planned experience for birthdays, bachelorettes, proposals, corporate events, and private celebrations.

    ⭐ 2,650+ Reviews | ⛴️ 400+ Fleet Options | Feeling Yachty — Events, Catering & Venues

    Guests book Feeling Yachty for more than just the boat. We help coordinate yacht-friendly extras like event planning, catering, décor, and venue-style experiences, all built around Miami charter routes, marina timing, and real guest expectations.

    See why Out.Miami ranks Feeling Yachty among the top Miami yacht rental companies

    Why Guests Choose Feeling Yachty

    Guests consistently mention smooth booking help, responsive service, friendly crews, scenic routes, and the ability to add extras like catering, décor, and event-style planning around their yacht charter.

    TripAdvisor • 1,500+ Total • 2,400+
    Read 3 recent guest reviews ▾
    “Flawless Miami yacht rental experience. Fernando helped plan our surprise proposal and arranged beautiful catering on board. The route was smooth, safe, and unforgettable.”

    — Ashley M.,

    “Best Miami yacht rental we’ve done. The crew knew great swim spots, and the whole setup—from music to décor and catering—felt easy and well organized.”

    — Danielle R.,

    “From booking to docking, everything felt simple. The food was excellent, communication was fast, and the trip felt family-friendly without losing the luxury feel.”

    — Marco L.,

    /* ===== Neon container (unchanged) ===== */ #fy-cta-planner.fy-cta-neon{ --ink:#0f172a; --muted:#475569; --accent:#E45C9C; --accent2:#d34c8b; --ring:rgba(228,92,156,.22); --bg:#ffffff; --bg2:#fff7fb; --border:#eef2f7; --chip:#fff7fb; --chipBorder:#f8d9e8; --whatsapp:#25D366; position:relative; overflow:hidden; margin:28px auto; max-width:1120px; padding:22px 16px; background:linear-gradient(180deg,var(--bg),var(--bg2) 55%,var(--bg)); border-radius:18px; border:4px solid transparent; background-clip:padding-box; box-shadow:0 0 28px rgba(228,92,156,.16),0 10px 28px rgba(2,6,23,.06); } #fy-cta-planner.fy-cta-neon:before{ content:""; position:absolute; inset:0; padding:4px; border-radius:18px; background:linear-gradient(135deg,var(--accent),var(--accent2),#ff89c9,var(--accent2),var(--accent)); background-size:380% 380%; animation:fyflow 12s ease-in-out infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; } @keyframes fyflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} @media (prefers-reduced-motion:reduce){ #fy-cta-planner.fy-cta-neon:before{animation:none} } .fycta-shell{position:relative; z-index:1; max-width:1000px; margin:0 auto} .fycta-layout{display:grid; gap:14px} @media (min-width:900px){ .fycta-layout{grid-template-columns:1.1fr .9fr; align-items:center} } #fyctah-title{ margin:0 0 6px; font-weight:900; letter-spacing:-.02em; font-size:clamp(1.35rem,1.05rem + 1.6vw,2.1rem); background:linear-gradient(180deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; } .fyctah-sub{margin:0; color:var(--muted); font-size:clamp(.98rem,.92rem + .35vw,1.08rem); line-height:1.55} /* ===== NEW BUTTON SYSTEM (scoped to section to override old styles) ===== */ #fy-cta-planner .fycta-actions{display:grid; gap:10px; grid-template-columns:1fr} @media (min-width:640px){ #fy-cta-planner .fycta-actions{grid-template-columns:repeat(3,1fr)} } /* Base */ #fy-cta-planner .fycta-btn{ appearance:none; -webkit-appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:10px; height:auto; min-height:46px; padding:12px 16px; border-radius:12px; border:1px solid transparent; font-weight:900; font-size:1rem; letter-spacing:-.01em; text-decoration:none; white-space:nowrap; text-align:center; cursor:pointer; background:#fff; color:var(--ink); box-shadow:0 8px 22px rgba(2,6,23,.08); transition:transform .06s ease, box-shadow .15s ease, filter .15s ease, border-color .15s ease; } #fy-cta-planner .fycta-btn:active{transform:translateY(1px)} #fy-cta-planner .fycta-btn:focus-visible{outline:none; box-shadow:0 0 0 3px var(--ring), 0 10px 22px rgba(2,6,23,.08)} /* Icon chip */ #fy-cta-planner .fycta-btn i{ display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:#fff; border:1px solid var(--chipBorder); font-style:normal; } /* Variants */ #fy-cta-planner .fycta-btn--whatsapp{ background:var(--whatsapp); color:#fff; border-color:var(--whatsapp); box-shadow:0 12px 26px rgba(37,211,102,.35); } #fy-cta-planner .fycta-btn--whatsapp:hover{filter:saturate(1.05)} #fy-cta-planner .fycta-btn--accent{ background:linear-gradient(180deg,#E86AA6 0%,#E45C9C 100%); color:#fff; border-color:#E45C9C; box-shadow:0 12px 28px var(--ring); } #fy-cta-planner .fycta-btn--accent:hover{filter:brightness(.98)} #fy-cta-planner .fycta-btn--dark{ background:var(--ink); color:#fff; border-color:var(--ink); box-shadow:0 10px 24px rgba(2,6,23,.24); } #fy-cta-planner .fycta-btn--dark:hover{opacity:.92} /* Split menu */ #fy-cta-planner .fycta-split{position:relative} #fy-cta-planner .fycta-caret{font-size:1.05rem; opacity:.9} #fy-cta-planner .fycta-menu{ position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow:0 14px 34px rgba(2,6,23,.16); padding:8px; min-width:220px; z-index:40; } #fy-cta-planner .fycta-menu[hidden]{display:none} #fy-cta-planner .fycta-menu a{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:10px; text-decoration:none; color:#6b214d; border:1px solid transparent; background:#fff; font-weight:800; transition:border-color .15s ease, background .15s ease; } #fy-cta-planner .fycta-menu a:hover{border-color:var(--accent); background:#fff8fb}

    Feeling Yachty? Plan Your Miami Yacht Event With Experts 🎉

    Get a quick quote via WhatsApp, schedule a planning call, or reach us by call/SMS — whatever’s easiest for you.

    (function(){ const t = document.getElementById('fycta-callmenu-toggle'); const m = document.getElementById('fycta-callmenu'); if(!t || !m) return; function close(){ m.hidden = true; t.setAttribute('aria-expanded','false'); } function toggle(){ const open = m.hidden === false; m.hidden = open; t.setAttribute('aria-expanded', String(!open)); if(!open){ const first = m.querySelector('[role="menuitem"]'); first && first.focus && first.focus(); } } t.addEventListener('click', (e)=>{ e.preventDefault(); toggle(); }); document.addEventListener('click', (e)=>{ if(!m.contains(e.target) && e.target !== t) close(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') close(); }); m.addEventListener('keydown', (e)=>{ if(e.key !== 'Tab') return; const f=[...m.querySelectorAll('[role="menuitem"]')]; if(!f.length) return; const i=f.indexOf(document.activeElement); if(e.shiftKey && (i===0 || !m.contains(document.activeElement))){ e.preventDefault(); f.at(-1).focus(); } else if(!e.shiftKey && (i===f.length-1)){ e.preventDefault(); f[0].focus(); } }); })();
    /* ===== Compact tokens ===== */ #fy-sail-faq.fy-faq-neon{ --ink:#0f172a; --muted:#475569; --accent:#E45C9C; --accent2:#d34c8b; --ring:rgba(228,92,156,.18); --bg:#fff; --bg2:#fff7fb; --border:#eef2f7; --chip:#fff; --chipBorder:#f3d5e6; --radius:14px; --shadow:0 6px 16px rgba(2,6,23,.06); position:relative; margin:24px auto; max-width:1120px; padding:14px 12px; background:linear-gradient(180deg,var(--bg),var(--bg2) 55%,var(--bg)); border-radius:var(--radius); border:3px solid transparent; background-clip:padding-box; box-shadow:var(--shadow); font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Helvetica Neue"; } /* Subtle neon border */ #fy-sail-faq.fy-faq-neon:before{ content:""; position:absolute; inset:0; padding:3px; border-radius:var(--radius); background:linear-gradient(135deg,var(--accent),var(--accent2),#ff89c9,var(--accent2),var(--accent)); background-size:360% 360%; animation:fyflow 16s ease-in-out infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; opacity:.85; } @keyframes fyflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} /* Head */ .fy-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 2px 8px} #fy-sail-faq-title{margin:0; font-weight:900; letter-spacing:-.02em; font-size:clamp(1.25rem,.9rem + 1.5vw,1.8rem); background:linear-gradient(180deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent} .fy-actions{display:flex; gap:8px; flex-wrap:wrap} .fy-mini-btn{padding:6px 10px; border-radius:999px; border:1px solid var(--border); background:#fff; color:var(--ink); font-size:.85rem; line-height:1; text-decoration:none; cursor:pointer} /* Chips row (inline index) */ .fy-chips{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 8px} .chip{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:var(--chip); border:1px solid var(--border); color:#5e2441; font-weight:800; font-size:.88rem; text-decoration:none; white-space:nowrap} /* Compact accordion grid */ .fy-grid{display:grid; gap:10px; grid-template-columns:1fr} @media (min-width:980px){.fy-grid{grid-template-columns:1fr 1fr}} details.fy-qa{border:1px solid var(--border); border-radius:12px; background:#fff; overflow:hidden; transition:border .2s ease} details.fy-qa[open]{border-color:var(--accent2)} .fy-qa summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; padding:10px 12px; color:var(--ink)} .fy-qa summary::-webkit-details-marker{display:none} .q-ico{width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#fff7fb; border:1px solid var(--chipBorder); font-size:16px} .q-text{margin:0; font-weight:800; font-size:clamp(.98rem,.92rem + .2vw,1.02rem); line-height:1.25} .q-caret{font-weight:900} .fy-qa[open] .q-caret{transform:rotate(180deg)} .fy-ans{padding:8px 12px 12px; color:var(--muted); line-height:1.55; font-size:.98rem; border-top:1px dashed var(--border); background:linear-gradient(180deg,#fff,#fff 60%,#fff9fc)} .fy-ans p{margin:8px 0} .fy-ans a{color:var(--accent2); text-decoration:none; border-bottom:1.5px dotted var(--accent2)} .fy-ans a:hover{color:var(--accent); border-bottom-style:solid} @media (prefers-reduced-motion:reduce){ #fy-sail-faq.fy-faq-neon:before{animation:none} }

    Miami Sailboat Rentals — Quick Answers (FAQ)

    $1 ⛵ Irwin 45ft — Feeling Yachty
    ⛵

    Miami sailboat rental vs motor yacht — what’s the difference?

    ⌄

    Sailboats use wind power for a quieter, more relaxed experience on Biscayne Bay; motor yachts cruise faster and fit larger groups. Sailboats are usually more budget‑friendly per hour and perfect for sightseeing, sunset sails, and hands‑on sailing.

    🧭

    Bareboat charter or with captain — what’s allowed in Miami?

    ⌄

    Both exist. A bareboat charter means you hire the vessel and select your own licensed captain from an approved roster; the owner cannot assign them. Many guests choose captain‑included for ease and local knowledge.

    💵

    Miami sailboat rental prices — how much does sailing cost?

    ⌄

    Typical all‑in sailboat rates (Biscayne Bay):

    • 30–35ft sloops: $500–$900 (3–4h) · $900–$1,400 (6–8h)
    • 36–45ft: $700–$1,200 (3–4h) · $1,200–$1,900 (6–8h)

    We quote All Fees Included totals (tax, fuel/engine time, dock). Only tip is separate. Weekdays and off‑peak months price best.

    🌬️

    When is the best time to sail in Miami for good wind?

    ⌄

    November–April brings steadier tradewinds and cooler temps. Sunset slots are popular year‑round, with lighter breezes in summer and thermal winds late afternoon.

    🗺️

    Popular Miami sailing routes — where do we go?

    ⌄

    Typical itineraries: Biscayne Bay city skyline loop, Key Biscayne lighthouse views, Stiltsville flats, and Virginia Key coves. Weather, tide, and wind set the plan on the day.

    🏝️

    Can a sailboat stop at a Miami sandbar?

    ⌄

    Yes, many sailboats anchor at protected Biscayne Bay sandbars for a swim break when wind and depth cooperate. Expect a chill vibe compared to party powerboats.

    👥

    What is the 12‑person rule for Miami sailboats?

    ⌄

    Most private sailboat charters are limited to 12 guests. For 13+ passengers, you’ll need a USCG‑inspected passenger vessel or a two‑boat raft‑up.

    🎒

    What should I bring on a Miami sailboat rental?

    ⌄

    Non‑spray sunscreen, hat, light layers, soft‑soled shoes, towel, ID, and any BYOB snacks/drinks (most boats provide cooler & ice). Pack in soft bags; hard coolers are bulky on deck.

    🤢

    Will I get seasick when sailing on Biscayne Bay?

    ⌄

    Biscayne Bay is protected water with calmer chop than open ocean. If you’re motion‑sensitive, choose shorter bay loops, eat light, and consider non‑drowsy remedies.

    ⛅

    What happens if wind or weather is bad?

    ⌄

    If conditions are unsafe, your captain will reschedule or credit per our fair‑weather policy. Light rain sails often proceed; strong storms or high winds may delay or reroute.

    🌇

    Miami sunset sail — how long and what’s included?

    ⌄

    Most sunset sails run 2–3 hours with captain, soft drinks/water, Bluetooth audio, and a skyline cruise timed for golden hour through twilight.

    $1
    ⛵

    Irwin 45ft Feeling Yachty sail boat — availability & pricing

    ⌄

    Specs: 45‑ft Irwin sloop · up to 12 guests · shaded cockpit & foredeck lounge · Bluetooth audio · cooler & ice. Ideal for sunset sails, sandbar swims, skyline cruising.

    Typical all‑in rates (guidance): $700–$1,200 (3–4h) · $1,200–$1,900 (6–8h). All Fees Included (tax, fuel/engine time, standard dock). Tip separate.

    Pickup: central Biscayne Bay marinas (exact dock in confirmation). BYOB snacks/drinks welcome.

    Check Irwin 45 availability → or WhatsApp/call +1‑954‑246‑3636.

    Explore Miami Sailboat Rentals →

    (function(){ const root = document.getElementById('fy-sail-faq'); const details = Array.from(root.querySelectorAll('details.fy-qa')); root.querySelector('[data-expand]')?.addEventListener('click', ()=> details.forEach(d => d.open = true)); root.querySelector('[data-collapse]')?.addEventListener('click', ()=> details.forEach(d => d.open = false)); function openFromHash(){ const id = (location.hash||'').slice(1); const el = id && root.querySelector('#'+CSS.escape(id)); if(el && el.tagName.toLowerCase()==='details'){ el.open = true; el.scrollIntoView({behavior:'smooth',block:'start'}); } } window.addEventListener('hashchange', openFromHash); setTimeout(openFromHash, 0); })();
    { "@context":"https://schema.org", "@type":"FAQPage", $1 {"@type":"Question","name":"Irwin 45ft Feeling Yachty sail boat — availability & pricing","acceptedAnswer":{"@type":"Answer","text":"Specs: 45-ft Irwin sloop for up to 12 guests with shaded cockpit, lounge space, Bluetooth audio, and cooler/ice. Typical all-in guidance: $700–$1,200 (3–4h) or $1,200–$1,900 (6–8h). All Fees Included totals (tax, fuel/engine time, standard dock). Tip separate. Pickup from central Biscayne Bay marinas. BYOB welcome."}}, {"@type":"Question","name":"Miami sailboat rental vs motor yacht — what’s the difference?","acceptedAnswer":{"@type":"Answer","text":"Sailboats use wind power for a quieter, relaxed Biscayne Bay experience while motor yachts cruise faster and fit larger groups. Sailboats are often more budget-friendly and ideal for sightseeing, sunset sails, and hands-on sailing."}}, {"@type":"Question","name":"Bareboat charter or with captain — what’s allowed in Miami?","acceptedAnswer":{"@type":"Answer","text":"Both exist. A bareboat charter means you hire the vessel and select your own licensed captain from an approved roster; the owner cannot assign them. Many guests choose captain-included for ease and local knowledge."}}, {"@type":"Question","name":"Miami sailboat rental prices — how much does sailing cost?","acceptedAnswer":{"@type":"Answer","text":"Typical all-in sailboat rates: 30–35ft $500–$900 (3–4h) or $900–$1,400 (6–8h); 36–45ft $700–$1,200 (3–4h) or $1,200–$1,900 (6–8h). Quotes show All Fees Included totals; only tip is separate."}}, {"@type":"Question","name":"When is the best time to sail in Miami for good wind?","acceptedAnswer":{"@type":"Answer","text":"November–April brings steadier tradewinds and cooler temperatures. Sunset sails are popular year-round, with lighter breezes in summer and thermal winds late afternoon."}}, {"@type":"Question","name":"Popular Miami sailing routes — where do we go?","acceptedAnswer":{"@type":"Answer","text":"Common routes include Biscayne Bay skyline loops, Key Biscayne lighthouse views, Stiltsville flats, and Virginia Key coves. Weather, tide, and wind determine the plan on the day."}}, {"@type":"Question","name":"Can a sailboat stop at a Miami sandbar?","acceptedAnswer":{"@type":"Answer","text":"Yes, many sailboats anchor at protected Biscayne Bay sandbars for a swim break when wind and depth cooperate. Expect a more relaxed vibe than party powerboats."}}, {"@type":"Question","name":"What is the 12-person rule for Miami sailboats?","acceptedAnswer":{"@type":"Answer","text":"Most private sailboat charters are limited to 12 guests. For 13+ passengers, a USCG-inspected passenger vessel or a two-boat raft-up is required."}}, {"@type":"Question","name":"What should I bring on a Miami sailboat rental?","acceptedAnswer":{"@type":"Answer","text":"Bring non-spray sunscreen, hat, light layers, soft-soled shoes, towel, ID, and BYOB snacks/drinks. Most boats provide cooler and ice. Pack in soft bags."}}, {"@type":"Question","name":"Will I get seasick when sailing on Biscayne Bay?","acceptedAnswer":{"@type":"Answer","text":"Biscayne Bay is protected water with calmer chop than open ocean. If motion-sensitive, choose shorter bay loops, eat light, and consider non-drowsy remedies."}}, {"@type":"Question","name":"What happens if wind or weather is bad?","acceptedAnswer":{"@type":"Answer","text":"If conditions are unsafe, the captain will reschedule or credit per fair-weather policy. Light rain sails often proceed; strong storms or high winds may delay or reroute."}}, {"@type":"Question","name":"Miami sunset sail — how long and what’s included?","acceptedAnswer":{"@type":"Answer","text":"Most sunset sails run 2–3 hours with captain, soft drinks/water, Bluetooth audio, and a skyline cruise timed for golden hour through twilight."}}, {"@type":"Question","name":"Irwin 45 Miami sailboat rental — what makes it special?","acceptedAnswer":{"@type":"Answer","text":"The Irwin 45 is a classic 45-ft sloop with a spacious cockpit and stable hull, ideal for sunset sails, sandbar stops, and skyline sightseeing. Good value for groups up to 12."}} ] }
    .fy-btn{ display:inline-block;padding:12px 30px;border-radius:999px; font-weight:800;font-size:clamp(.95rem,.9rem + .3vw,1.05rem); color:#fff;text-decoration:none; background:linear-gradient(135deg,#E45C9C,#d34c8b); box-shadow: 0 0 8px rgba(228,92,156,.65), 0 0 18px rgba(211,76,139,.55), 0 0 28px rgba(255,137,201,.45); transition:all .28s ease; animation:fyBtnGlow 4s linear infinite; } .fy-btn:hover{ transform:translateY(-2px) scale(1.02); box-shadow: 0 0 10px rgba(228,92,156,.75), 0 0 22px rgba(211,76,139,.65), 0 0 32px rgba(255,137,201,.55); } .fy-btn:focus-visible{ outline:3px solid #E45C9C;outline-offset:3px } @keyframes fyBtnGlow{ 0%{filter:hue-rotate(0deg)} 100%{filter:hue-rotate(360deg)} } Explore Our Miami Yacht Rental FAQ's
    /* Scoped theme tokens */ .fyx-neon{ --ink:#0f172a; --muted:#475569; --accent:#E45C9C; --accent2:#d34c8b; --bg:#ffffff; --bg-2:#fff7fb; --border:#f1e6f0; --ring:rgba(228,92,156,.22); --chip:#fff7fb; --chipBorder:#f8d9e8; position:relative; margin:26px auto; padding:20px 14px; max-width:1120px; background:linear-gradient(180deg,var(--bg),var(--bg-2) 55%,var(--bg)); border-radius:16px; border:4px solid transparent; background-clip:padding-box; box-shadow:0 0 24px rgba(228,92,156,.22), 0 10px 28px rgba(2,6,23,.06); overflow:hidden; } .fyx-neon:before{ content:""; position:absolute; inset:0; padding:4px; border-radius:16px; pointer-events:none; background:linear-gradient(135deg,var(--accent),var(--accent2),#ff89c9,var(--accent2),var(--accent)); background-size:400% 400%; animation:fyxflow 12s ease-in-out infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; } @keyframes fyxflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} .fyx-neon:after{ content:""; position:absolute; inset:-35%; background: radial-gradient(48% 30% at 18% 22%, rgba(228,92,156,.12), transparent 70%), radial-gradient(42% 28% at 82% 74%, rgba(211,76,139,.10), transparent 72%); filter:blur(22px); animation:glowspin 24s linear infinite; pointer-events:none; } @keyframes glowspin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} /* Layout */ .fyx-shell{max-width:1080px; margin:0 auto; position:relative; z-index:1} #fyx-title{ margin:0 0 4px; font-weight:900; letter-spacing:-.02em; color:var(--ink); font-size:clamp(1.4rem,1.05rem + 1.2vw,2.05rem); text-align:center; } .fyx-sub{margin:0 0 12px; color:var(--muted); font-size:.98rem; text-align:center} /* ===== Sticky single-select filter ===== */ .fyx-bar-wrap{position:sticky; top:8px; z-index:5; margin:10px 0 12px} .fyx-bar{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; background:#fff; border:1px solid var(--border); border-radius:999px; padding:6px; box-shadow:0 8px 20px rgba(2,6,23,.06); position:relative; overflow:auto; scrollbar-width:none; } .fyx-bar::-webkit-scrollbar{display:none} .fyx-active-indicator{display:none} .fyx-chipbtn{ display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; border:1px solid transparent; background:transparent; color:#5e2441; font-weight:800; cursor:pointer; white-space:nowrap; transition:transform .12s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; } .fyx-chipbtn:hover{color:var(--accent)} .fyx-chipbtn[aria-checked="true"]{color:var(--accent); border-color:var(--chipBorder); box-shadow:0 6px 14px rgba(2,6,23,.04)} .fyx-chipbtn i{ display:grid; place-items:center; width:20px; height:20px; border-radius:6px; font-style:normal; background:#fff1f7; border:1px solid var(--chipBorder) } .fyx-chipbtn[aria-checked="true"] i{background:#fff; border-color:var(--accent)} .fyx-clear{margin-left:auto; display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; border:1px dashed var(--border); background:#fff; color:#6b7280; font-weight:800; cursor:pointer} .fyx-clear:hover{border-color:var(--accent); color:var(--accent)} /* ===== Grid & compact cards ===== */ .fyx-grid{display:grid; grid-template-columns:1fr; gap:10px} @media(min-width:740px){.fyx-grid{grid-template-columns:1fr 1fr}} @media(min-width:1080px){.fyx-grid{grid-template-columns:1fr 1fr 1fr}} details.fyx-card{ position:relative; background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 6px 16px rgba(2,6,23,.06); transition:border .2s ease, box-shadow .2s ease, transform .12s ease, opacity .45s ease, translate .45s ease, scale .45s ease; padding:0; overflow:hidden; opacity:0; translate:0 8px; scale:.995; } details.fyx-card.is-visible{opacity:1; translate:0 0; scale:1} details.fyx-card:hover{border-color:var(--accent); box-shadow:0 14px 30px var(--ring); transform:translateY(-1px)} details.fyx-card[open]{border-color:var(--accent)} summary.fyx-sum{list-style:none; display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:10px 12px; cursor:pointer} details.fyx-card summary::-webkit-details-marker{display:none} .fyx-emoji{display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--chip); border:1px solid var(--chipBorder); font-size:1.15rem; user-select:none} .fyx-title{margin:0; font-weight:900; font-size:.98rem; line-height:1.2; display:flex; align-items:center; gap:8px} .fyx-title a{color:#111827; text-decoration:none} .fyx-title a:hover{text-decoration:underline; color:var(--accent)} .fyx-chip-mini{margin-left:auto; display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; background:#fff; border:1px solid var(--border); font-size:.8rem; color:#5e2441; font-weight:800} .fyx-caret{font-size:1rem; opacity:.85; transition:transform .18s ease} details[open] .fyx-caret{transform:rotate(180deg)} .fyx-drop{padding:0 12px 12px; border-top:1px dashed var(--border); background:linear-gradient(180deg,#fff,#fff9fc)} .fyx-desc{margin:10px 0 6px; color:var(--muted); font-size:.92rem; line-height:1.5} .fyx-links{display:flex; flex-wrap:wrap; gap:6px} .fyx-linkchip,.fyx-singlecta{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid var(--border); text-decoration:none; color:#5e2441; font-weight:800; font-size:.9rem; transition:border .2s ease, color .2s ease, transform .12s ease, box-shadow .2s ease; } .fyx-linkchip i,.fyx-singlecta i{display:grid; place-items:center; width:20px; height:20px; border-radius:6px; background:#fff1f7; border:1px solid var(--chipBorder); font-style:normal} .fyx-linkchip:hover,.fyx-singlecta:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-1px); box-shadow:0 8px 22px var(--ring)} .hide{display:none !important} .reveal{opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease} .reveal.in{opacity:1; transform:none} @media (prefers-reduced-motion:reduce){ .reveal,.fyx-emoji,details.fyx-card{transition:none !important; animation:none !important} }

    Miami Yacht Experiences By: Feeling Yachty

    Tap a row to expand details. Use the single-select filter to jump between vibes.

    Celebrations & Parties

    Party

    Signature party routes, premium sound, and room for your crew — from low-key luxe to full send.

    Weddings & Romance

    Romance

    Sunset vows, proposal set-ups, and intimate anniversary cruises with champagne service.

    Corporate & Groups

    Corporate

    Client dinners, launches, team offsites — hospitality that feels high-touch and effortless.

    Signature Tours & Cruises

    Tours

    Skyline runs, golden-hour cruising, fireworks nights — tailored routes for peak Miami views.

    On-Water Sports

    Water Sports

    Clear water, sandbar time, and adventure — fun for families and friend groups.

    Dining, Bar & Services

    Dining

    Private chef pairings, premium bar, decor, and content capture — seamless hospitality.

    Venues & Special Occasions

    Venues

    From intimate proposals to large-format celebrations — match the right yacht and layout.

    Tribute at Sea

    Tribute

    Compassionate planning for ash scattering and memorials in calm waters.

    75ft+ Luxury / Superyachts

    75ft+ Super

    Large-format hosting with wide decks, cabins, chef, and concierge-level service.

    // Defensive scope guard so this can live anywhere (Elementor, Gutenberg, inside a , etc.) (function(){ var root = document.getElementById('miami-yacht-experiences'); if(!root) return; // Reveal on scroll try{ var items = root.querySelectorAll('.fyx-card.reveal'); if(!('IntersectionObserver' in window)){ items.forEach(function(el){ el.classList.add('is-visible'); }); } else { var obs = new IntersectionObserver(function(entries,io){ entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in','is-visible'); io.unobserve(e.target);} }); },{threshold:0.14}); items.forEach(function(el,i){ el.style.transitionDelay=(i*60)+'ms'; obs.observe(el); }); } }catch(_){ /* no-op */ } // Single-select filter (robust, works without Array.prototype.at, guards hash) try{ var bar = root.querySelector('.fyx-bar'); if(!bar) return; var radios = Array.prototype.slice.call(bar.querySelectorAll('.fyx-chipbtn[role="radio"]')); var clearBtn = bar.querySelector('.fyx-clear'); var cards = Array.prototype.slice.call(root.querySelectorAll('#fyx-grid .fyx-card')); var valid = new Set(['all','party','romance','corporate','tours','watersports','services','dining','bar','catering','venue','tribute','super']); function setChecked(tag, focusEl){ // update aria state radios.forEach(function(r){ r.setAttribute('aria-checked', r.dataset.filter===tag ? 'true' : 'false'); }); // filter if(tag==='all'){ cards.forEach(function(c){ c.classList.remove('hide'); }); } else { cards.forEach(function(card){ var tags=(card.getAttribute('data-tags')||'').split(/\s+/); card.classList.toggle('hide', tags.indexOf(tag)===-1); }); } // update hash (safe) try{ var u=new URL(location.href); if(tag==='all'){ u.hash=''; } else { u.hash='filter-'+tag; } history.replaceState(null,'',u); }catch(_){ /* no-op */ } if(focusEl && focusEl.focus) focusEl.focus({preventScroll:true}); } function initFromHash(){ var h=''; try{ h=(location.hash||'').replace('#',''); }catch(_){ h=''; } // If hash links to a card, open it var idMatch=h && h.match(/(exp-[a-z0-9-]+)/i); if(idMatch){ var el=document.getElementById(idMatch[1]); if(el){ el.open=true; setTimeout(function(){ try{ el.scrollIntoView({behavior:'smooth',block:'start'});}catch(_){el.scrollIntoView();} }, 40); } } // If hash encodes a filter if(h && h.indexOf('filter-')===0){ var t=h.slice(7); if(valid.has(t)){ setChecked(t); return; } } setChecked('all'); } // Mouse/touch bar.addEventListener('click',function(e){ var btn=e.target && e.target.closest ? e.target.closest('.fyx-chipbtn[role="radio"]') : null; if(!btn) return; // prevent any unintended form submission in hostile parents if(typeof e.preventDefault==="function") e.preventDefault(); setChecked(btn.dataset.filter, btn); }); // Keyboard navigation bar.addEventListener('keydown',function(e){ var curr=document.activeElement && document.activeElement.closest ? document.activeElement.closest('.fyx-chipbtn[role="radio"]') : null; if(!curr) return; var i=radios.indexOf(curr); if(e.key==='ArrowRight'||e.key==='ArrowDown'){ e.preventDefault(); var nxt=radios[(i+1)%radios.length]; setChecked(nxt.dataset.filter,nxt); nxt.focus(); } else if(e.key==='ArrowLeft'||e.key==='ArrowUp'){ e.preventDefault(); var prv=radios[(i-1+radios.length)%radios.length]; setChecked(prv.dataset.filter,prv); prv.focus(); } else if(e.key==='Home'){ e.preventDefault(); setChecked(radios[0].dataset.filter, radios[0]); radios[0].focus(); } else if(e.key==='End'){ e.preventDefault(); var last=radios[radios.length-1]; setChecked(last.dataset.filter,last); last.focus(); } else if(e.key===' '||e.key==='Enter'){ e.preventDefault(); setChecked(curr.dataset.filter, curr); } }); if(clearBtn) clearBtn.addEventListener('click',function(e){ if(e && e.preventDefault) e.preventDefault(); setChecked('all', radios[0]); }); initFromHash(); window.addEventListener('hashchange', initFromHash); }catch(_){ /* no-op */ } })(); { "@context":"https://schema.org", "@type":"ItemList", "name":"Miami Yacht Experiences", "itemListElement":[ {"@type":"ListItem","position":1, "url":"https://web.feelingyachty.com/miami-yacht-party/birthday-yacht-rentals/"}, {"@type":"ListItem","position":2, "url":"https://web.feelingyachty.com/miami-yacht-party/bachelor-bachelorette/"}, {"@type":"ListItem","position":3, "url":"https://web.feelingyachty.com/miami-yacht-party/party-yacht-rentals/"}, {"@type":"ListItem","position":4, "url":"https://web.feelingyachty.com/miami-yacht-venue/theme-yacht-rentals/"}, {"@type":"ListItem","position":5, "url":"https://web.feelingyachty.com/miami-yacht-party/party-packages/"}, {"@type":"ListItem","position":6, "url":"https://web.feelingyachty.com/miami-yacht-venue/wedding-yacht-rentals/"}, {"@type":"ListItem","position":7, "url":"https://web.feelingyachty.com/miami-yacht-venue/proposal-yacht-rentals/"}, {"@type":"ListItem","position":8, "url":"https://web.feelingyachty.com/miami-yacht-venue/anniversary-yacht-rentals/"}, {"@type":"ListItem","position":9, "url":"https://web.feelingyachty.com/miami-yacht-party/sightseeing-yacht-tours/"}, {"@type":"ListItem","position":10, "url":"https://web.feelingyachty.com/miami-yacht-party/sunset-yacht-cruises/"}, {"@type":"ListItem","position":11, "url":"https://web.feelingyachty.com/miami-yacht-party/fireworks-cruises/"}, {"@type":"ListItem","position":12, "url":"https://web.feelingyachty.com/miami-yacht-party/wine-dine-yacht-cruises/"}, {"@type":"ListItem","position":13, "url":"https://web.feelingyachty.com/miami-yacht-party/yacht-events-miami-wakeboarding-water-skiing/"}, {"@type":"ListItem","position":14, "url":"https://web.feelingyachty.com/miami-yacht-party/yacht-events-miami-scuba-diving-yacht-tours/"}, {"@type":"ListItem","position":15, "url":"https://web.feelingyachty.com/miami-yacht-party/snorkeling-tours/"}, {"@type":"ListItem","position":16, "url":"https://web.feelingyachty.com/miami-yacht-venue/snorkeling-yacht-rentals/"}, {"@type":"ListItem","position":17, "url":"https://web.feelingyachty.com/miami-yacht-party/chef-fine-dining/"}, {"@type":"ListItem","position":18, "url":"https://web.feelingyachty.com/miami-yacht-party/bar-service/"}, {"@type":"ListItem","position":19, "url":"https://web.feelingyachty.com/miami-yacht-party/catering/"}, {"@type":"ListItem","position":20, "url":"https://web.feelingyachty.com/miami-yacht-party/decorations-balloons/"}, {"@type":"ListItem","position":21, "url":"https://web.feelingyachty.com/miami-yacht-party/photo-video-drone/"}, {"@type":"ListItem","position":22, "url":"https://web.feelingyachty.com/miami-yacht-venue/holiday-yacht-cruises-yacht-rentals/"}, {"@type":"ListItem","position":23, "url":"https://web.feelingyachty.com/miami-yacht-venue/ash-scattering-yacht-rentals/"}, {"@type":"ListItem","position":24, "url":"https://web.feelingyachty.com/miami-yacht-venue/vip-celebrity-yacht-rentals/"}, {"@type":"ListItem","position":25, "url":"https://web.feelingyachty.com/miami-yacht-venue/family-yacht-rentals/"}, {"@type":"ListItem","position":26, "url":"https://web.feelingyachty.com/miami-yacht-venue/corporate-yacht-rentals/"}, {"@type":"ListItem","position":27, "url":"https://web.feelingyachty.com/miami-yacht-venue/wedding-yacht-rentals/"}, {"@type":"ListItem","position":28, "url":"https://web.feelingyachty.com/miami-yacht-venue/house-boat-20-plus-people/"} ] }
    .fy-btn{ display:inline-block;padding:12px 30px;border-radius:999px; font-weight:800;font-size:clamp(.95rem,.9rem + .3vw,1.05rem); color:#fff;text-decoration:none; background:linear-gradient(135deg,#E45C9C,#d34c8b); box-shadow: 0 0 8px rgba(228,92,156,.65), 0 0 18px rgba(211,76,139,.55), 0 0 28px rgba(255,137,201,.45); transition:all .28s ease; animation:fyBtnGlow 4s linear infinite; } .fy-btn:hover{ transform:translateY(-2px) scale(1.02); box-shadow: 0 0 10px rgba(228,92,156,.75), 0 0 22px rgba(211,76,139,.65), 0 0 32px rgba(255,137,201,.55); } .fy-btn:focus-visible{ outline:3px solid #E45C9C;outline-offset:3px } @keyframes fyBtnGlow{ 0%{filter:hue-rotate(0deg)} 100%{filter:hue-rotate(360deg)} } Browse All Miami Yacht Services
    /* === Sunrise Neon Theme (shared) === */ .fy-neon{ --ink:#0f172a; --muted:#475569; /* Sunrise Neon (warm oranges/corals) */ --accent:#FFB200; /* sunrise gold */ --accent2:#FF5E62; /* coral sunrise */ --bg:#ffffff; --bg2:#fffaf2; --border:#ffe6bf; --ring:rgba(255,178,0,.22); --chip:#fff7ea; --chipBorder:#ffd9a3; position:relative; margin:26px auto; padding:20px 14px; max-width:1120px; background:linear-gradient(180deg,var(--bg),var(--bg2) 55%,var(--bg)); border-radius:16px; border:4px solid transparent; background-clip:padding-box; box-shadow:0 0 24px var(--ring), 0 10px 28px rgba(2,6,23,.06); overflow:visible; } .fy-neon:before{ content:""; position:absolute; inset:0; padding:4px; border-radius:16px; pointer-events:none; background:linear-gradient(135deg,var(--accent),var(--accent2),#FFD166,var(--accent2),var(--accent)); background-size:400% 400%; animation:fyflow 12s ease-in-out infinite; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; } @keyframes fyflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}} .fyd-shell{max-width:1080px;margin:0 auto;position:relative;z-index:1} #fy-map-title{margin:0 0 6px;color:var(--ink);font-weight:900;letter-spacing:-.02em;font-size:clamp(1.35rem,1.05rem + 1.2vw,2rem);text-align:center} .fy-destinations-intro{margin:0 0 12px;color:var(--muted);text-align:center;font-size:.98rem} /* Filters */ .fyd-filters-wrap{position:sticky;top:8px;z-index:5;margin:10px 0 12px} .fyd-filters{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--border); border-radius:999px;padding:6px;box-shadow:0 8px 20px rgba(2,6,23,.06);position:relative;overflow:auto;scrollbar-width:none} .fyd-filters::-webkit-scrollbar{display:none} .fyd-active-indicator{position:absolute;top:5px;height:calc(100% - 10px);border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));opacity:.12;box-shadow:0 8px 22px var(--ring);transition:transform .25s ease,width .25s ease} .fyd-filter{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid transparent;background:transparent;color:#5c3a16;font-weight:800;cursor:pointer;font-size:.95rem} .fyd-filter:hover{color:var(--accent)} .fyd-filter[aria-pressed="true"]{color:#fff} .fyd-filter i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#fff7ea;border:1px solid var(--chipBorder);font-style:normal} /* Layout: Map + Cards */ .fy-layout{display:grid;grid-template-columns:1fr;gap:12px} @media(min-width:900px){.fy-layout{grid-template-columns:1.2fr .8fr}} /* Map */ #fy-map{width:100%;height:420px;border-radius:14px;border:1px solid var(--border);overflow:hidden;box-shadow:0 6px 16px rgba(2,6,23,.06)} @media(min-width:900px){#fy-map{height:520px}} @media(max-width:480px){#fy-map{height:360px}} .leaflet-popup-content{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto;} .fy-popup h3{margin:.1rem 0 .3rem;font-size:1rem;font-weight:900} .fy-popup p{margin:0 0 .4rem;color:var(--muted);font-size:.9rem;line-height:1.35} .fy-popup a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:.82rem;color:#5c3a16;text-decoration:none} .fy-popup a:hover{border-color:var(--accent);color:#b85b00;box-shadow:0 8px 18px var(--ring)} /* Cards */ .fy-grid{display:grid;grid-template-columns:1fr;gap:10px} @media(min-width:740px){.fy-grid{grid-template-columns:1fr 1fr}} @media(min-width:1080px){.fy-grid{grid-template-columns:1fr}} details.fy-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 16px rgba(2,6,23,.06);transition:border .2s ease, box-shadow .2s ease, transform .12s ease} details.fy-card:hover{border-color:var(--accent);box-shadow:0 14px 30px var(--ring);transform:translateY(-1px)} .fy-sum{list-style:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;cursor:pointer} details.fy-card summary::-webkit-details-marker{display:none} .fy-emoji{font-size:1.15rem;width:38px;height:38px;border-radius:10px;background:var(--chip);border:1px solid var(--chipBorder);display:grid;place-items:center;user-select:none} .fy-title{margin:0;display:flex;align-items:center;gap:8px;font-weight:900;font-size:.98rem;line-height:1.2} .fy-chip-mini{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:.8rem;color:#5c3a16;font-weight:800} .fy-caret{font-size:1rem;opacity:.85;transition:transform .18s ease} details[open] .fy-caret{transform:rotate(180deg)} .fy-drop{padding:0 12px 12px;border-top:1px dashed var(--border);background:linear-gradient(180deg,#fff,#fff7f0)} .fy-text{margin:10px 0 6px;color:var(--muted);font-size:.92rem;line-height:1.5} .fy-badges{display:flex;flex-wrap:wrap;gap:6px} .fy-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:.82rem;color:#5c3a16;text-decoration:none} .fy-badge:hover{border-color:var(--accent);color:#b85b00;box-shadow:0 8px 18px var(--ring)} /* Mini legend */ .fy-legend{position:absolute;right:12px;bottom:12px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:0 8px 20px rgba(2,6,23,.06);font-size:.85rem;color:#5c3a16} .fy-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;border:2px solid var(--accent2);box-shadow:0 0 12px rgba(255,178,0,.45)} .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

    Miami & Bahamas Sailboat Destinations — Interactive Map

    Pan around, tap a pin, or use the filters. The cards stay in sync with the map.

    Sunrise Neon Sail Pins
    // ---- Data (coords are approximations suitable for consumer maps) ---- const FY_DESTINATIONS = [ { id:"fisher", name:"Fisher Island", emoji:"⛵", duration:"half", position:[25.7544,-80.1426], desc:"Exclusive enclave just south of Miami Beach — scenic sail-by with protected waters.", guide:"https://www.out.miami/destinations/fisher-island/" }, { id:"nixon", name:"Nixon Sandbar (Key Biscayne)", emoji:"🌊", duration:"half", position:[25.6737,-80.1818], desc:"Shallow sandbar off Key Biscayne — anchor, swim, and relax after a breezy reach.", guide:"https://www.out.miami/destinations/nixon-sandbar/" }, { id:"star", name:"Star Island", emoji:"🌴", duration:"half", position:[25.7803,-80.1460], desc:"Celebrity enclave with light-air sailing and skyline backdrops.", guide:"https://www.out.miami/destinations/star-island/" }, { id:"monument", name:"Monument Island", emoji:"⛵", duration:"half", position:[25.7900,-80.1516], desc:"Sheltered anchorage near the 96-ft monument — great for paddleboarding & photos.", guide:"https://www.out.miami/destinations/monument-island/" }, { id:"stadium", name:"Miami Marine Stadium (Virginia Key)", emoji:"🐠", duration:"half", position:[25.7419,-80.1706], desc:"Calm basin with steady breezes and skyline views beside the graffiti-covered stands.", guide:"https://www.out.miami/destinations/miami-marine-stadium/" }, { id:"brickell", name:"Downtown Miami / Brickell Bay", emoji:"🌅", duration:"half", position:[25.7685,-80.1900], desc:"Sunset sail through the city’s heart — golden-hour reflections and gentle chop.", guide:"https://www.out.miami/destinations/down-town-miami-brickell/" }, { id:"hobie", name:"Hobie Beach (Windsurfer Beach)", emoji:"🏖️", duration:"half", position:[25.7440,-80.1927], desc:"Breezy spot known for wind sports — quick swims and beachy sandbars.", guide:"https://www.out.miami/destinations/hobie-beach/" }, { id:"biscayne", name:"Biscayne National Park", emoji:"🐬", duration:"full", position:[25.5162,-80.1062], desc:"Reefs, keys, and lighthouses — plan a full-day sail with snorkeling stops.", guide:"https://www.out.miami/destinations/biscayne-bay-national-park/" }, { id:"haulover", name:"Haulover Sandbar", emoji:"🌴", duration:"both", position:[25.9016,-80.1231], desc:"Classic North Miami anchorage with shallow water and lively weekends.", guide:"https://www.out.miami/destinations/haulover/" }, /* New Bahamas additions */ { id:"bimini", name:"Bimini, Bahamas", emoji:"🪸", duration:"full", position:[25.7280,-79.2950], desc:"Clear waters & reefs ~50 NM from Miami (weather window + customs required).", guide:"https://www.out.miami/destinations/bimini-bahamas/" }, { id:"nassau", name:"Nassau, Bahamas", emoji:"🏝️", duration:"full", position:[25.0443,-77.3504], desc:"Capital of The Bahamas — marinas, provisioning, and island-hopping hub (multi-day).", guide:"https://www.out.miami/destinations/nassau-bahamas/" } ]; // ---- Map ---- const map = L.map('fy-map', { zoomControl: true, scrollWheelZoom: true }); // Wider view to include Miami + Bahamas map.setView([25.6, -79.2], 7); setTimeout(()=> map.invalidateSize(), 60); window.addEventListener('resize', ()=> map.invalidateSize()); // OSM base (no API key required) L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '© OpenStreetMap contributors' }).addTo(map); // Sunrise neon marker function neonPin() { return L.divIcon({ className: 'fy-pin', html: ``, iconSize: [14,14], iconAnchor: [7,7] }); } // Layers & refs const markers = new Map(); const layerGroup = L.layerGroup().addTo(map); function popupHTML(item){ return `

    ${item.name}

    ${item.desc}

    Out.Miami Guide →
    `; } // Add markers FY_DESTINATIONS.forEach(d => { const m = L.marker(d.position, { icon: neonPin(), title: d.name }); m.bindPopup(popupHTML(d)); m.on('click',()=> focusCard(d.id)); m.addTo(layerGroup); markers.set(d.id, m); }); // ---- Cards (render + sync) ---- const grid = document.getElementById('fy-cards'); function cardHTML(d){ const chip = d.duration === 'full' ? 'Best: Full-day' : (d.duration === 'half' ? 'Best: Half-day' : 'Best: Half / Full'); return `

    ${d.name}

    ${chip} ⌄

    ${d.desc}

    ` } grid.innerHTML = FY_DESTINATIONS.map(cardHTML).join(''); function focusCard(id){ const el = document.getElementById(`card-${id}`); if(!el) return; el.open = true; el.scrollIntoView({behavior:'smooth',block:'center'}); } // Card interactions → map grid.addEventListener('click', (e)=>{ const card = e.target.closest('.fy-card'); if(!card) return; const id = card.id.replace('card-',''); const m = markers.get(id); if(m){ // Zoom out a touch for Bahamas hops const z = (id==='bimini'||id==='nassau') ? 10 : (id==='biscayne' ? 11 : 14); map.flyTo(m.getLatLng(), z, {duration:.6}); m.openPopup(); map.invalidateSize(); } }); // ---- Filters (map + cards in sync, with deep-link) ---- (function(){ const root=document.getElementById('miami-sail-map'); const bar=root.querySelector('.fyd-filters'); const indicator=bar.querySelector('.fyd-active-indicator'); const btns=[...bar.querySelectorAll('.fyd-filter')]; function moveIndicator(el){ const r=el.getBoundingClientRect(), br=bar.getBoundingClientRect(); const x=r.left-br.left+bar.scrollLeft; indicator.style.transform=`translateX(${x-6}px)`; indicator.style.width=(r.width+12)+'px'; } function showByFilter(val){ // Cards document.querySelectorAll('.fy-card').forEach(c=>{ const d=c.dataset.duration; const show=(val==='all')||(val==='half'&&(d==='half'||d==='both'))||(val==='full'&&(d==='full'||d==='both')); c.style.display=show?'':'none'; }); // Markers markers.forEach((m,id)=>{ const d = FY_DESTINATIONS.find(x=>x.id===id).duration; const show=(val==='all')||(val==='half'&&(d==='half'||d==='both'))||(val==='full'&&(d==='full'||d==='both')); if(show){ layerGroup.addLayer(m); } else { layerGroup.removeLayer(m); } }); btns.forEach(b=>b.setAttribute('aria-pressed', b.dataset.filter===val?'true':'false')); moveIndicator(btns.find(b=>b.dataset.filter===val)||btns[0]); try{ const u=new URL(location.href); const p=new URLSearchParams((u.hash||'').slice(1)); p.set('duration',val); u.hash=p.toString(); history.replaceState(null,'',u); }catch(_){ } map.invalidateSize(); } bar.addEventListener('click',e=>{const b=e.target.closest('.fyd-filter'); if(!b) return; showByFilter(b.dataset.filter);}); window.addEventListener('resize',()=>moveIndicator(bar.querySelector('[aria-pressed="true"]'))); const initParam=new URLSearchParams((location.hash||'').slice(1)).get('duration')||'all'; showByFilter(initParam); moveIndicator(bar.querySelector('[aria-pressed="true"]')); })(); // ---- Deep-link to a destination (#id) ---- (function(){ const hash = location.hash.replace('#',''); const target = FY_DESTINATIONS.find(d=>d.id===hash || hash.includes(`id=${d.id}`)); if(target){ const m = markers.get(target.id); if(m){ map.flyTo(m.getLatLng(), (target.id==='bimini'||target.id==='nassau') ? 10 : 14); m.openPopup(); focusCard(target.id); } } })();
    .fy-btn{ display:inline-block;padding:12px 30px;border-radius:999px; font-weight:800;font-size:clamp(.95rem,.9rem + .3vw,1.05rem); color:#fff;text-decoration:none; background:linear-gradient(135deg,#E45C9C,#d34c8b); box-shadow: 0 0 8px rgba(228,92,156,.65), 0 0 18px rgba(211,76,139,.55), 0 0 28px rgba(255,137,201,.45); transition:all .28s ease; animation:fyBtnGlow 4s linear infinite; } .fy-btn:hover{ transform:translateY(-2px) scale(1.02); box-shadow: 0 0 10px rgba(228,92,156,.75), 0 0 22px rgba(211,76,139,.65), 0 0 32px rgba(255,137,201,.55); } .fy-btn:focus-visible{ outline:3px solid #E45C9C;outline-offset:3px } @keyframes fyBtnGlow{ 0%{filter:hue-rotate(0deg)} 100%{filter:hue-rotate(360deg)} } Browse All Miami Destinations
    Call / SMS +1 954-246-3636 WhatsApp +1 954-246-3636