{"id":12825,"date":"2025-07-12T02:43:07","date_gmt":"2025-07-12T02:43:07","guid":{"rendered":"https:\/\/myaboatcharters.com\/?page_id=12825"},"modified":"2026-07-13T12:24:11","modified_gmt":"2026-07-13T16:24:11","slug":"home-2","status":"publish","type":"page","link":"https:\/\/myaboatcharters.com\/de\/","title":{"rendered":"Startseite"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12825\" class=\"elementor elementor-12825\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5df6e6 e-con-full e-flex e-con e-parent\" data-id=\"a5df6e6\" data-element_type=\"container\" data-e-type=\"container\" id=\"content-wrapper\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1acdb45 elementor-widget elementor-widget-heading\" data-id=\"1acdb45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Explore Miami by water<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-636e5bb elementor-widget elementor-widget-text-editor\" data-id=\"636e5bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Book a private boat experience tailored to you.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba26794 elementor-widget elementor-widget-html\" data-id=\"ba26794\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n\r\n\/* =========================\r\nLIST\r\n========================= *\/\r\n.mya-list{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:20px;\r\n  padding:0 0px;\r\n  opacity:0;\r\n}\r\n\r\n.mya-list.is-ready{\r\n  opacity:1;\r\n}\r\n\r\n\/* =========================\r\nCARD\r\n========================= *\/\r\n.mya-item{\r\n  position:relative;\r\n  display:flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  background:#FFFFFF;\r\n  border-radius:18px;\r\n  padding:12px 14px 12px 6px;\r\n  cursor:pointer;\r\n  -webkit-touch-callout:none;\r\n  -webkit-tap-highlight-color:transparent;\r\n  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;\r\n  box-shadow:\r\n  0 -1px 3px rgba(15,23,42,0.03),\r\n  0 3px 8px rgba(15,23,42,0.022),\r\n  0 14px 32px rgba(15,23,42,0.04),\r\n  0 26px 52px rgba(15,23,42,0.045);\r\n  will-change:transform;\r\n  transform:translateZ(0);\r\n}\r\n\r\n\/* =========================\r\nIMAGE\r\n========================= *\/\r\n.mya-item__left{\r\n  width:142px;\r\n  min-width:142px;\r\n  display:flex;\r\n}\r\n\r\n.mya-item__img-wrap{\r\n  width:142px;\r\n  height:136px;\r\n  border-radius:14px;\r\n  overflow:hidden;\r\n  margin-top:-6px;\r\n  margin-bottom:-6px;\r\n  position:relative;\r\n}\r\n\r\n.mya-item__img-wrap img{\r\n  width:100%;\r\n  height:100%;\r\n  object-fit:cover;\r\n  object-position:center;\r\n}\r\n\r\n\/* raccoon fix *\/\r\n.mya-item[data-mya-open=\"5h-raccoon\"] .mya-item__img-wrap img{\r\n  object-position:50% 25%;\r\n}\r\n\r\n\/* =========================\r\nBADGE\r\n========================= *\/\r\n.mya-floating-badge{\r\n  position:absolute;\r\n  top:10px;\r\n  left:10px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:5px;\r\n  background:#F3FAF9;\r\n  color:#1F4D4F;\r\n  font-size:11px;\r\n  font-family:\"Poppins\",sans-serif;\r\n  font-weight:600;\r\n  line-height:1;\r\n  padding:6px 12px;\r\n  border-radius:999px;\r\n  border:none;\r\n  z-index:2;\r\n}\r\n\r\n.mya-floating-badge svg{\r\n  width:12px;\r\n  height:12px;\r\n  flex-shrink:0;\r\n  stroke:currentColor;\r\n}\r\n\r\n\/* =========================\r\nCONTENT\r\n========================= *\/\r\n.mya-item__content{\r\n  flex:1;\r\n  display:flex;\r\n  flex-direction:column;\r\n}\r\n\r\n.mya-item__top{\r\n  display:flex;\r\n  flex-direction:column;\r\n  gap:6px;\r\n  min-height:68px;\r\n}\r\n\r\n.mya-item__title{\r\n  font-family:\"Poppins\",sans-serif;\r\n  font-size:16.2px;\r\n  font-weight:600;\r\n  line-height:1.25;\r\n  letter-spacing:-0.2px;\r\n  color:#0F172A;\r\n  display:-webkit-box;\r\n  -webkit-line-clamp:2;\r\n  -webkit-box-orient:vertical;\r\n  overflow:hidden;\r\n}\r\n\r\n.mya-item__desc{\r\n  font-family:\"Poppins\",sans-serif;\r\n  font-size:13.5px;\r\n  line-height:1.45;\r\n  color:#8A94A6;\r\n  display:-webkit-box;\r\n  -webkit-line-clamp:2;\r\n  -webkit-box-orient:vertical;\r\n  overflow:hidden;\r\n  margin-bottom:0;\r\n}\r\n\r\n.mya-item.has-two-line-title .mya-item__desc{\r\n  margin-bottom:10px;\r\n}\r\n\r\n.mya-item__bottom{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  margin-top:auto;\r\n  padding-top:8px;\r\n}\r\n\r\n.mya-item__meta{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:5px;\r\n  font-size:13.5px;\r\n  color:#8A94A6;\r\n  font-family:\"Poppins\",sans-serif;\r\n}\r\n\r\n.mya-item__meta img{\r\n  width:13px;\r\n  height:13px;\r\n  opacity:.6;\r\n  transform:translateY(-1px);\r\n}\r\n\r\n.mya-item__right{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:8px;\r\n}\r\n\r\n.mya-item__price{\r\n  font-family:\"Poppins\",sans-serif;\r\n  font-size:22px;\r\n  font-weight:600;\r\n  color:#0B1220;\r\n}\r\n\r\n.mya-item__chevron{\r\n  font-size:18px;\r\n  color:#CBD5E1;\r\n}\r\n\r\n@media (hover:hover){\r\n  .mya-item:hover{\r\n    transform:translateY(-2px);\r\n    box-shadow:\r\n      0 2px 4px rgba(15,23,42,0.03),\r\n      0 10px 22px rgba(15,23,42,0.06),\r\n      0 20px 42px rgba(15,23,42,0.07);\r\n  }\r\n}\r\n\r\n.mya-item.is-pressed{\r\n  transform:scale(0.978);\r\n  box-shadow:\r\n    0 1px 3px rgba(15,23,42,0.03),\r\n    0 4px 10px rgba(15,23,42,0.04);\r\n  transition:transform .08s ease, box-shadow .08s ease;\r\n}\r\n\r\n.mya-item::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  border-radius:18px;\r\n  background:rgba(15,23,42,0);\r\n  transition:background .12s ease;\r\n  pointer-events:none;\r\n}\r\n\r\n.mya-item.is-pressed::after{\r\n  background:rgba(15,23,42,0.035);\r\n}\r\n\r\n.mya-item,\r\n.mya-item *{\r\n  -webkit-user-select:none;\r\n  user-select:none;\r\n}\r\n\r\n.mya-item img{\r\n  -webkit-user-drag:none;\r\n  user-drag:none;\r\n  pointer-events:none;\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n\/* KEEP YOUR EXISTING JS EXACTLY AS IS *\/\r\n<\/script>\r\n\r\n<div class=\"mya-list\">\r\n\r\n  <!-- 2 HOURS -->\r\n  <div class=\"mya-item\" data-mya-open=\"2h\">\r\n    <div class=\"mya-item__left\">\r\n      <div class=\"mya-item__img-wrap\">\r\n        <div class=\"mya-floating-badge\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\r\n            <path d=\"M12 3.5l2.55 5.2 5.75.84-4.15 4.05.98 5.72L12 16.6l-5.13 2.71.98-5.72L3.7 9.54l5.75-.84L12 3.5z\" stroke-width=\"1.7\" stroke-linejoin=\"round\"\/>\r\n          <\/svg>\r\n          Top pick\r\n        <\/div>\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" class=\"mya-item__img\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7956.webp?ssl=1\" alt=\"Private Sightseeing Cruise\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mya-item__content\">\r\n      <div class=\"mya-item__top\">\r\n        <div class=\"mya-item__title\">Sightseeing Cruise<\/div>\r\n        <div class=\"mya-item__desc\">Cruise through Miami\u2019s beautiful waterways on a fully private experience tailored to your preference. Enjoy a relaxing sightseeing cruise with skyline views and luxury waterfront homes, or choose to anchor in a calm, scenic spot for a refreshing swim.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mya-item__bottom\">\r\n        <div class=\"mya-item__meta\">\r\n          <div class=\"mya-item__meta-primary\">\r\n            <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/07\/Duration-Icon1.svg\" alt=\"\">\r\n            <span>2 hours<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mya-item__right\">\r\n          <div class=\"mya-item__price\">$229<\/div>\r\n          <div class=\"mya-item__chevron\">\u203a<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- 3 HOURS -->\r\n  <div class=\"mya-item\" data-mya-open=\"3h\">\r\n    <div class=\"mya-item__left\">\r\n      <div class=\"mya-item__img-wrap\">\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" class=\"mya-item__img\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2026\/05\/CDBDB7F5-4517-40DB-8361-EE4DFFAB7F05.jpeg?ssl=1\" alt=\"Private Cruise with Island Stop\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mya-item__content\">\r\n      <div class=\"mya-item__top\">\r\n        <div class=\"mya-item__title\">Cruise with Swim Stop<\/div>\r\n        <div class=\"mya-item__desc\">Cruise through Miami\u2019s skyline and Millionaire Row, then anchor to swim, relax, and enjoy the water with your group. The perfect mix of sightseeing and fun, just enough time to experience Miami from the water without committing to a full half day.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mya-item__bottom\">\r\n        <div class=\"mya-item__meta\">\r\n          <div class=\"mya-item__meta-primary\">\r\n            <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/07\/Duration-Icon1.svg\" alt=\"\">\r\n            <span>3 hours<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mya-item__right\">\r\n          <div class=\"mya-item__price\">$349<\/div>\r\n          <div class=\"mya-item__chevron\">\u203a<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- 4 HOURS -->\r\n  <div class=\"mya-item\" data-mya-open=\"4h\">\r\n    <div class=\"mya-item__left\">\r\n      <div class=\"mya-item__img-wrap\">\r\n        <div class=\"mya-floating-badge\">Best value<\/div>\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" class=\"mya-item__img\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2026\/04\/4-Hour.webp?ssl=1\" alt=\"Private Half Day Boat Charter\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mya-item__content\">\r\n      <div class=\"mya-item__top\">\r\n        <div class=\"mya-item__title\">Miami Half Day Charter<\/div>\r\n        <div class=\"mya-item__desc\">Enjoy a longer, more immersive experience on Miami\u2019s waters. Cruise the skyline and waterfront homes, then anchor longer to swim, relax, and enjoy the floating mat. Four hours gives you a complete Miami experience on the water.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mya-item__bottom\">\r\n        <div class=\"mya-item__meta\">\r\n          <div class=\"mya-item__meta-primary\">\r\n            <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/07\/Duration-Icon1.svg\" alt=\"\">\r\n            <span>4 hours<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mya-item__right\">\r\n          <div class=\"mya-item__price\">$499<\/div>\r\n          <div class=\"mya-item__chevron\">\u203a<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- 5 HOURS - HAULOVER -->\r\n  <div class=\"mya-item\" data-mya-open=\"5h-haulover\">\r\n    <div class=\"mya-item__left\">\r\n      <div class=\"mya-item__img-wrap\">\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" class=\"mya-item__img\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2026\/05\/BB15D324-E3B2-4105-8039-B8B6A9118EEFW.png?ssl=1\" alt=\"Haulover Sandbar Experience\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mya-item__content\">\r\n      <div class=\"mya-item__top\">\r\n        <div class=\"mya-item__title\">Haulover Sandbar Escape<\/div>\r\n        <div class=\"mya-item__desc\">Experience the famous Haulover Sandbar, where clear shallow waters, floating boats, and the laid-back Miami atmosphere create the perfect day on the water. Relax under the sun, jump in for a swim, and enjoy the fun energy and beautiful views that make Haulover one of Miami\u2019s most iconic boating destinations.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mya-item__bottom\">\r\n        <div class=\"mya-item__meta\">\r\n          <div class=\"mya-item__meta-primary\">\r\n            <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/07\/Duration-Icon1.svg\" alt=\"\">\r\n            <span>5 hours<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mya-item__right\">\r\n          <div class=\"mya-item__price\">$599<\/div>\r\n          <div class=\"mya-item__chevron\">\u203a<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- 5 HOURS - RACCOON ISLAND -->\r\n  <div class=\"mya-item\" data-mya-open=\"5h-raccoon\">\r\n    <div class=\"mya-item__left\">\r\n      <div class=\"mya-item__img-wrap\">\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" class=\"mya-item__img\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2026\/05\/A188413B-2680-4F19-90F6-73C1B219710A.png?ssl=1\" alt=\"Raccoon Island Experience\">\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mya-item__content\">\r\n      <div class=\"mya-item__top\">\r\n        <div class=\"mya-item__title\">Raccoon Island Adventure<\/div>\r\n        <div class=\"mya-item__desc\">Explore Raccoon Island, where curious raccoons wander through peaceful mangroves and calm scenic waters create one of Miami\u2019s most unforgettable experiences on the water. Cruise past the stunning waterfront mansions of Indian Creek, feel the ocean breeze, and arrive at a hidden natural escape where you can relax, take in the views, and get surprisingly close to the island\u2019s famous raccoons in a way that feels completely different from the usual Miami experience.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mya-item__bottom\">\r\n        <div class=\"mya-item__meta\">\r\n          <div class=\"mya-item__meta-primary\">\r\n            <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/07\/Duration-Icon1.svg\" alt=\"\">\r\n            <span>5 hours<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"mya-item__right\">\r\n          <div class=\"mya-item__price\">$649<\/div>\r\n          <div class=\"mya-item__chevron\">\u203a<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n\r\n  function clampDescriptions() {\r\n  document.querySelectorAll('.mya-list').forEach(list => {\r\n    list.querySelectorAll('.mya-item').forEach(card => {\r\n      const desc = card.querySelector('.mya-item__desc');\r\n      const title = card.querySelector('.mya-item__title');\r\n      if (!desc || !title) return;\r\n\r\n      const titleLineHeight = parseFloat(getComputedStyle(title).lineHeight);\r\n      const titleHeight = title.getBoundingClientRect().height;\r\n      const titleLines = Math.max(1, Math.round(titleHeight \/ titleLineHeight));\r\n\r\n      if (titleLines >= 2) {\r\n        card.classList.add('has-two-line-title');\r\n      } else {\r\n        card.classList.remove('has-two-line-title');\r\n      }\r\n\r\n      if (!desc.dataset.fullText) {\r\n        desc.dataset.fullText = desc.textContent.replace(\/\\s+\/g, ' ').trim();\r\n      }\r\n\r\n      const clean = desc.dataset.fullText;\r\n      const words = clean.split(' ').filter(Boolean);\r\n\r\n      if (!words.length) {\r\n        desc.textContent = '';\r\n        return;\r\n      }\r\n\r\n      desc.textContent = clean;\r\n\r\n      const lineHeight = parseFloat(getComputedStyle(desc).lineHeight);\r\n      const maxHeight = lineHeight * 3;\r\n\r\n      if (desc.scrollHeight <= maxHeight) {\r\n        return;\r\n      }\r\n\r\n      let low = 1;\r\n      let high = words.length;\r\n      let best = words[0] + '...';\r\n\r\n      while (low <= high) {\r\n        const mid = Math.floor((low + high) \/ 2);\r\n        const candidate = words.slice(0, mid).join(' ').trim() + '...';\r\n        desc.textContent = candidate;\r\n\r\n        if (desc.scrollHeight <= maxHeight) {\r\n          best = candidate;\r\n          low = mid + 1;\r\n        } else {\r\n          high = mid - 1;\r\n        }\r\n      }\r\n\r\n      desc.textContent = best;\r\n    });\r\n\r\n    list.classList.add('is-ready');\r\n  });\r\n}\r\n\r\n  let resizeTimer;\r\n\r\n  function reflowCards() {\r\n    clampDescriptions();\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded', function () {\r\n    reflowCards();\r\n  });\r\n\r\n  window.addEventListener('load', reflowCards);\r\n\r\n  window.addEventListener('resize', function () {\r\n    clearTimeout(resizeTimer);\r\n    resizeTimer = setTimeout(reflowCards, 120);\r\n  });\r\n\r\n  \/* =========================\r\nPREMIUM TAP FEEDBACK\r\n========================= *\/\r\ndocument.querySelectorAll('.mya-item').forEach(card => {\r\n\r\n  let releaseTimer;\r\n\r\n  card.addEventListener('contextmenu', function(e){\r\n    e.preventDefault();\r\n  });\r\n\r\n  function pressCard(){\r\n    clearTimeout(releaseTimer);\r\n    card.classList.add('is-pressed');\r\n  }\r\n\r\n  function releaseCard(){\r\n    clearTimeout(releaseTimer);\r\n\r\n    releaseTimer = setTimeout(() => {\r\n      card.classList.remove('is-pressed');\r\n    }, 90);\r\n  }\r\n\r\n  card.addEventListener('touchstart', pressCard, { passive:true });\r\n  card.addEventListener('touchend', releaseCard);\r\n  card.addEventListener('touchcancel', releaseCard);\r\n\r\n  card.addEventListener('mousedown', pressCard);\r\n  card.addEventListener('mouseup', releaseCard);\r\n  card.addEventListener('mouseleave', releaseCard);\r\n\r\n});\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a37c268 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"a37c268\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================\nTRUST SECTION\nFree cancellation + Protected payment\n========================= -->\n<div class=\"mya-trust-box\">\n\n  <!-- FREE CANCELLATION -->\n  <div class=\"mya-trust-row\" data-mya-trust-open=\"cancellation-policy\" tabindex=\"0\" role=\"button\" aria-label=\"Open free cancellation policy\">\n    <div class=\"mya-trust-icon\">\n      <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/05\/Cancellation-Policy-Bullet-Icon8.svg\" alt=\"\">\n    <\/div>\n\n    <div class=\"mya-trust-text\">\n      <div class=\"mya-trust-title\">Free cancellation<\/div>\n      <div class=\"mya-trust-desc\">Full refund if cancelled up to 24 hours before the experience starts (local time).<\/div>\n    <\/div>\n  <\/div>\n\n  <!-- PROTECTED PAYMENT -->\n  <div class=\"mya-trust-row\" data-mya-trust-open=\"protected-payment\" tabindex=\"0\" role=\"button\" aria-label=\"Open protected payment information\">\n    <div class=\"mya-trust-icon\">\n      <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/05\/Protected-Paymet-Bullet-Icon8.svg\" alt=\"\">\n    <\/div>\n\n    <div class=\"mya-trust-text\">\n      <div class=\"mya-trust-title\">Protected payment<\/div>\n      <div class=\"mya-trust-desc\">Your payment is protected every step of the way.<\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<style>\n\/* =========================\nTRUST SECTION\n========================= *\/\n.mya-trust-box{\n  background:#FFFFFF;\n  border-radius:18px;\n  overflow:hidden;\n\n  box-shadow:\n    0 -1px 3px rgba(15,23,42,0.026),\n    0 3px 7px rgba(15,23,42,0.020),\n    0 10px 24px rgba(15,23,42,0.030),\n    0 20px 40px rgba(15,23,42,0.034);\n}\n\n.mya-trust-row{\n  display:flex;\n  align-items:center;\n  gap:14px;\n  padding:16px 20px;\n  cursor:pointer;\n\n  -webkit-tap-highlight-color:transparent;\n  user-select:none;\n  -webkit-user-select:none;\n  touch-action:pan-y;\n\n  transition:\n    transform .12s ease,\n    background .12s ease;\n}\n\n.mya-trust-row + .mya-trust-row{\n  border-top:1px solid rgba(15,23,42,0.06);\n}\n\n\/* =========================\nPRESS EFFECT\n========================= *\/\n.mya-trust-row.is-pressed{\n  background:rgba(15,23,42,0.030);\n  transform:scale(0.995);\n\n  transition:\n    transform .08s ease,\n    background .08s ease;\n}\n\n\/* =========================\nDESKTOP HOVER\n========================= *\/\n@media(hover:hover){\n  .mya-trust-row:hover{\n    background:rgba(15,23,42,0.012);\n  }\n\n  .mya-trust-row:hover .mya-trust-icon{\n    background:rgba(204,241,237,0.32);\n  }\n\n  .mya-trust-icon{\n    transition:background .18s ease;\n  }\n}\n\n\/* =========================\nICON\n========================= *\/\n.mya-trust-icon{\n  width:44px;\n  height:44px;\n  min-width:44px;\n  border-radius:50%;\n  background:rgba(204,241,237,0.25);\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  transition:background .18s ease;\n}\n\n.mya-trust-icon img{\n  width:26px;\n  height:26px;\n  display:block;\n}\n\n\/* =========================\nTEXT\n========================= *\/\n.mya-trust-text{\n  flex:1;\n}\n\n.mya-trust-title{\n  font-family:\"Poppins\",sans-serif;\n  font-size:15px;\n  line-height:1.22;\n  font-weight:600;\n  color:#0F172A;\n  margin-bottom:4px;\n  letter-spacing:-0.12px;\n}\n\n.mya-trust-desc{\n  font-family:\"Poppins\",sans-serif;\n  font-size:13.2px;\n  line-height:1.38;\n  font-weight:400;\n  color:#6F7787;\n}\n\n\/* =========================\nMOBILE TIGHTENING\n========================= *\/\n@media(max-width:380px){\n  .mya-trust-row{\n    padding:15px 18px;\n    gap:13px;\n  }\n\n  .mya-trust-icon{\n    width:42px;\n    height:42px;\n    min-width:42px;\n  }\n\n  .mya-trust-icon img{\n    width:25px;\n    height:25px;\n  }\n\n  .mya-trust-title{\n    font-size:14.8px;\n  }\n\n  .mya-trust-desc{\n    font-size:13px;\n    line-height:1.36;\n  }\n}\n<\/style>\n\n<script>\n(() => {\n  const TAP_PX = 14;\n\n  function openTrustPopup(key){\n    if (!key) return false;\n\n    if (window.MYA_POP?.open){\n      window.MYA_POP.open(key);\n      return true;\n    }\n\n    const openPop = window.openPop || window.openPopUp || window.myaOpenPop;\n\n    if (typeof openPop === \"function\"){\n      openPop(key);\n      return true;\n    }\n\n    return false;\n  }\n\n  function openWithRetry(key){\n    const lockKey = \"__myaLock__trust_\" + key;\n    if (window[lockKey]) return;\n\n    window[lockKey] = true;\n\n    if (openTrustPopup(key)){\n      setTimeout(() => { window[lockKey] = false; }, 250);\n      return;\n    }\n\n    let tries = 0;\n    const t = setInterval(() => {\n      tries++;\n\n      if (openTrustPopup(key) || tries >= 20){\n        clearInterval(t);\n        window[lockKey] = false;\n      }\n    }, 120);\n  }\n\n  let startX = 0;\n  let startY = 0;\n  let tracking = false;\n  let activeRow = null;\n\n  function getTrustRow(el){\n    return el?.closest?.('.mya-trust-row[data-mya-trust-open]') || null;\n  }\n\n  function pressRow(row){\n    if (!row) return;\n    row.classList.add('is-pressed');\n  }\n\n  function releaseRow(row){\n    if (!row) return;\n\n    setTimeout(() => {\n      row.classList.remove('is-pressed');\n    }, 110);\n  }\n\n  function onTouchStart(e){\n    const row = getTrustRow(e.target);\n    if (!row) return;\n\n    tracking = true;\n    activeRow = row;\n\n    const p = e.touches[0];\n    startX = p.clientX;\n    startY = p.clientY;\n\n    pressRow(row);\n  }\n\n  function onTouchEnd(e){\n    if (!tracking || !activeRow) return;\n\n    const row = activeRow;\n    const p = e.changedTouches[0];\n    const dx = Math.abs(p.clientX - startX);\n    const dy = Math.abs(p.clientY - startY);\n    const key = row.getAttribute('data-mya-trust-open');\n\n    tracking = false;\n    activeRow = null;\n\n    releaseRow(row);\n\n    if (dx <= TAP_PX && dy <= TAP_PX){\n      e.preventDefault();\n      e.stopPropagation();\n      if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n      openWithRetry(key);\n    }\n  }\n\n  function onMouseDown(e){\n    const row = getTrustRow(e.target);\n    if (!row) return;\n\n    tracking = true;\n    activeRow = row;\n\n    startX = e.clientX;\n    startY = e.clientY;\n\n    pressRow(row);\n  }\n\n  function onMouseUp(e){\n    if (!tracking || !activeRow) return;\n\n    const row = activeRow;\n    const dx = Math.abs(e.clientX - startX);\n    const dy = Math.abs(e.clientY - startY);\n    const key = row.getAttribute('data-mya-trust-open');\n\n    tracking = false;\n    activeRow = null;\n\n    releaseRow(row);\n\n    if (dx <= TAP_PX && dy <= TAP_PX){\n      e.preventDefault();\n      e.stopPropagation();\n      if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n      openWithRetry(key);\n    }\n  }\n\n  document.addEventListener('touchstart', onTouchStart, { passive:true, capture:true });\n  document.addEventListener('touchend', onTouchEnd, { passive:false, capture:true });\n\n  document.addEventListener('mousedown', onMouseDown, true);\n  document.addEventListener('mouseup', onMouseUp, true);\n\n  document.addEventListener('click', (e) => {\n    const row = getTrustRow(e.target);\n    if (!row) return;\n\n    e.preventDefault();\n    e.stopPropagation();\n    if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n  }, true);\n\n  document.addEventListener('keydown', (e) => {\n    const row = getTrustRow(e.target);\n    if (!row) return;\n\n    if (e.key === 'Enter' || e.key === ' '){\n      e.preventDefault();\n\n      pressRow(row);\n\n      setTimeout(() => {\n        releaseRow(row);\n        openWithRetry(row.getAttribute('data-mya-trust-open'));\n      }, 110);\n    }\n  }, true);\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb060ad elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"cb060ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================\nHELP SECTION\n========================= -->\n<div class=\"mya-help-box\">\n\n  <div class=\"mya-help-title\">\n    Need help with your booking?\n  <\/div>\n\n  <div class=\"mya-help-subtitle\">\n    Our team is here to help.\n  <\/div>\n\n  <div class=\"mya-help-actions\">\n\n    <!-- EMAIL -->\n    <a href=\"mailto:reservations@myaboatcharters.com?subject=Private%20Boat%20Charter%20Inquiry\"\n       class=\"mya-help-action\">\n\n      <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/03\/Email-us2.svg\"\n           alt=\"Email us\">\n\n      <span>Email us<\/span>\n    <\/a>\n\n    <div class=\"mya-help-divider\"><\/div>\n\n    <!-- CHAT -->\n    <a href=\"#\"\n       onclick=\"window.$crisp.push(['do', 'chat:open']); return false;\"\n       class=\"mya-help-action\">\n\n      <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/Chat-with-us7.svg\"\n           alt=\"Chat now\">\n\n      <span>Chat now<\/span>\n    <\/a>\n\n  <\/div>\n\n<\/div>\n\n<style>\n\/* =========================\nHELP SECTION\n========================= *\/\n.mya-help-box{\n  padding:20px 20px 18px;\n\n  background:#FFFFFF;\n  border-radius:18px;\n\n  box-shadow:\n    0 -1px 3px rgba(15,23,42,0.026),\n    0 3px 7px rgba(15,23,42,0.020),\n    0 10px 24px rgba(15,23,42,0.030),\n    0 20px 40px rgba(15,23,42,0.034);\n}\n\n\/* =========================\nTITLE\n========================= *\/\n.mya-help-title{\n  font-family:\"Poppins\",sans-serif;\n  font-size:16px;\n  line-height:1.22;\n  font-weight:700;\n  color:#0F172A;\n  margin-bottom:5px;\n  letter-spacing:-0.12px;\n}\n\n.mya-help-subtitle{\n  font-family:\"Poppins\",sans-serif;\n  font-size:13.2px;\n  line-height:1.38;\n  font-weight:400;\n  color:#6F7787;\n  margin-bottom:16px;\n}\n\n\/* =========================\nACTIONS\n========================= *\/\n.mya-help-actions{\n  display:flex;\n  align-items:center;\n}\n\n\/* =========================\nACTION LINKS\n========================= *\/\n.mya-help-action{\n  display:flex;\n  align-items:center;\n  gap:8px;\n\n  font-family:\"Poppins\",sans-serif;\n  font-size:14.2px;\n  line-height:1.2;\n  font-weight:600;\n\n  -webkit-tap-highlight-color:transparent;\n  user-select:none;\n  -webkit-user-select:none;\n\n  transition:\n    opacity .18s ease,\n    transform .12s ease;\n}\n\n.mya-help-action img{\n  width:22px;\n  height:22px;\n  display:block;\n\n  transition:opacity .18s ease;\n}\n\n\/* =========================\nREMOVE DEFAULT LINK COLORS\n========================= *\/\n.mya-help-action,\n.mya-help-action:visited,\n.mya-help-action:hover,\n.mya-help-action:focus,\n.mya-help-action:active{\n  color:#0F172A;\n  text-decoration:none;\n  background:transparent;\n  outline:none;\n  box-shadow:none;\n}\n\n\/* =========================\nDIVIDER\n========================= *\/\n.mya-help-divider{\n  width:1px;\n  height:30px;\n  background:rgba(15,23,42,0.10);\n  margin:0 22px;\n}\n\n\/* =========================\nAPPLE-LIKE DESKTOP HOVER\n========================= *\/\n@media(hover:hover){\n  .mya-help-action:hover{\n    opacity:.68;\n    transform:translateY(-1px);\n  }\n\n  .mya-help-action:hover img{\n    opacity:.82;\n  }\n}\n\n\/* =========================\nPHONE PRESS ONLY\n========================= *\/\n.mya-help-action:active{\n  opacity:.62;\n  transform:scale(0.98);\n}\n\n\/* =========================\nMOBILE\n========================= *\/\n@media(max-width:380px){\n\n  .mya-help-box{\n    padding:18px 18px 17px;\n  }\n\n  .mya-help-title{\n    font-size:15.8px;\n  }\n\n  .mya-help-subtitle{\n    font-size:13px;\n    margin-bottom:15px;\n  }\n\n  .mya-help-divider{\n    height:28px;\n    margin:0 20px;\n  }\n\n  .mya-help-action{\n    font-size:14px;\n    gap:7px;\n  }\n\n  .mya-help-action img{\n    width:21px;\n    height:21px;\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fbfaad9 elementor-widget elementor-widget-menu-anchor\" data-id=\"fbfaad9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"gallery\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-138515d elementor-widget elementor-widget-html\" data-id=\"138515d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================\nBLOCK 1\/3 \u2014 SCRIPT\n(UPDATED: pill placeholder set to total-only)\n========================= -->\n\n<div class=\"mya-gallery-root\" aria-label=\"Gallery\">\n  <!-- OUTSIDE HERO -->\n  <div class=\"mya-hero\" aria-label=\"Hero gallery\">\n   <img data-recalc-dims=\"1\" \n  class=\"mya-hero-img\"\n  src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_9401.webp?ssl=1\"\n  alt=\"Gallery hero\"\n  decoding=\"async\"\n  fetchpriority=\"high\"\n  loading=\"eager\"\n\/>\n\n    <button class=\"mya-hero-arrow mya-hero-left\" type=\"button\" aria-label=\"Previous\">\n      <img class=\"mya-arrow-img mya-left-img\" alt=\"\" aria-hidden=\"true\" \/>\n    <\/button>\n\n    <button class=\"mya-hero-arrow mya-hero-right\" type=\"button\" aria-label=\"Next\">\n      <img class=\"mya-arrow-img mya-right-img\" alt=\"\" aria-hidden=\"true\" \/>\n    <\/button>\n\n    <!-- PILL opens GRID gallery (ONLY element with background @ 70%) -->\n    <button class=\"mya-pill mya-pill-btn\" type=\"button\" aria-label=\"Open photo gallery\">\n      <img class=\"mya-pill-icon\" alt=\"\" aria-hidden=\"true\" \/>\n      <span class=\"mya-pill-text\">0<\/span>\n    <\/button>\n  <\/div>\n\n  <!-- GRID OVERLAY (moved to BODY at runtime) -->\n  <div class=\"mya-overlay mya-overview\" aria-hidden=\"true\">\n    <div class=\"mya-overlay-inner\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Gallery overview\">\n\n      <!-- \u2705 NEW: SOLID HEADER SLAB (Topbar + Tabs) -->\n      <div class=\"mya-header\" aria-label=\"Gallery header\">\n        <div class=\"mya-topbar\">\n          <button class=\"mya-back-to-page\" type=\"button\" aria-label=\"Back to exploring\">\n            <img class=\"mya-back-icon\" alt=\"\" aria-hidden=\"true\" \/>\n            <span class=\"mya-back-text\">Back to exploring<\/span>\n          <\/button>\n        <\/div>\n\n        <!-- TripAdvisor-style tab previews -->\n        <div class=\"mya-tabrow\" role=\"tablist\" aria-label=\"Gallery tabs\">\n          <button class=\"mya-tabcard is-active\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-tab=\"all\">\n            <span class=\"mya-tabthumb\"><img class=\"mya-tabimg mya-tabimg-all\" alt=\"\" aria-hidden=\"true\" \/><\/span>\n            <span class=\"mya-tablabel\">All photos<\/span>\n          <\/button>\n\n          <button class=\"mya-tabcard\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-tab=\"our\">\n            <span class=\"mya-tabthumb\"><img class=\"mya-tabimg mya-tabimg-our\" alt=\"\" aria-hidden=\"true\" \/><\/span>\n            <span class=\"mya-tablabel\">By MYA<\/span>\n          <\/button>\n\n          <button class=\"mya-tabcard\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-tab=\"guests\">\n            <span class=\"mya-tabthumb\"><img class=\"mya-tabimg mya-tabimg-guests\" alt=\"\" aria-hidden=\"true\" \/><\/span>\n            <span class=\"mya-tablabel\">Guests<\/span>\n          <\/button>\n        <\/div>\n      <\/div>\n      <!-- \u2705 END header slab -->\n\n      <div class=\"mya-grid-wrap\">\n        <div class=\"mya-grid\" aria-label=\"Photo grid\"><\/div>\n        <div class=\"mya-grid-loading\" aria-live=\"polite\" hidden>Loading photos\u2026<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- VIEWER OVERLAY (moved to BODY at runtime) -->\n  <div class=\"mya-overlay mya-viewer\" aria-hidden=\"true\">\n    <div class=\"mya-viewer-inner\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Fullscreen viewer\">\n      <div class=\"mya-viewer-top\">\n        <!-- Top-left chevron -> GRID -->\n        <button class=\"mya-viewer-to-grid\" type=\"button\" aria-label=\"Back to grid\">\n          <img class=\"mya-chevron-img\" alt=\"\" aria-hidden=\"true\" \/>\n        <\/button>\n\n        <div class=\"mya-viewer-count\" aria-label=\"Viewer counter\">1 of 1<\/div>\n\n        <!-- Top-right close -> PAGE (REMOVED) -->\n      <\/div>\n\n      <div class=\"mya-viewer-stage\">\n        <img class=\"mya-viewer-img\" alt=\"Gallery image\" decoding=\"async\" \/>\n        <div class=\"mya-viewer-loading\" aria-live=\"polite\" hidden>Loading\u2026<\/div>\n\n        <button class=\"mya-viewer-arrow mya-viewer-left\" type=\"button\" aria-label=\"Previous image\">\n          <img class=\"mya-arrow-img mya-left-img\" alt=\"\" aria-hidden=\"true\" \/>\n        <\/button>\n\n        <button class=\"mya-viewer-arrow mya-viewer-right\" type=\"button\" aria-label=\"Next image\">\n          <img class=\"mya-arrow-img mya-right-img\" alt=\"\" aria-hidden=\"true\" \/>\n        <\/button>\n      <\/div>\n\n      <!-- \u2705 NEW: TripAdvisor \u201cManagement\u201d position label -->\n      <div class=\"mya-viewer-meta\" aria-label=\"Photo label\">\n        <div class=\"mya-viewer-source\">By MYA<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<!-- =========================\nBLOCK 2\/3 \u2014 STYLE\n(UPDATED: desktop \u201cwindow\u201d + FIX: grid scroll works on desktop)\n========================= -->\n\n<style>\n  \/* \u2705 POPPINS (force everywhere in this widget, including overlays moved to body) *\/\n  .mya-gallery-root,\n  .mya-gallery-root *,\n  body .mya-overlay,\n  body .mya-overlay *{\n    font-family: \"Poppins\", system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif !important;\n    font-synthesis: none !important;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n\n  \/* ==========================================================\n     GLOBAL RESET (IMPORTANT):\n     Overlays are moved to <body>, so styles MUST target:\n     .mya-gallery-root + .mya-overlay (NOT only descendants)\n     ========================================================== *\/\n\n  .mya-gallery-root,\n  .mya-gallery-root *,\n  .mya-overlay,\n  .mya-overlay *{\n    -webkit-tap-highlight-color: transparent !important;\n    outline: none !important;\n  }\n\n  \/* \u2705 IMPORTANT: keep pill background intact (exclude .mya-pill from \"transparent\" reset) *\/\n  .mya-gallery-root button:not(.mya-pill),\n  .mya-overlay button{\n    appearance:none !important;\n    -webkit-appearance:none !important;\n    border:0 !important;\n    background:transparent !important;\n    padding:0 !important;\n    margin:0 !important;\n    cursor:pointer;\n    box-shadow:none !important;\n    -webkit-box-shadow:none !important;\n    border-radius:0 !important;\n  }\n\n  .mya-gallery-root button:focus,\n  .mya-gallery-root button:focus-visible,\n  .mya-overlay button:focus,\n  .mya-overlay button:focus-visible{\n    outline:none !important;\n    box-shadow:none !important;\n  }\n\n  \/* \u2705 IMPORTANT: do NOT apply \"transparent active\" to the pill *\/\n  .mya-gallery-root button:not(.mya-pill):active,\n  .mya-overlay button:active{\n    background:transparent !important;\n    opacity:1 !important;\n    filter:none !important;\n    box-shadow:none !important;\n  }\n\n  \/* \u2705 FIX: NO iOS blue\/yellow ring, NO blink, NO pressed overlay on pill *\/\n  .mya-pill,\n  .mya-pill *{\n    -webkit-tap-highlight-color: transparent !important;\n    outline: none !important;\n    box-shadow: none !important;\n    -webkit-box-shadow: none !important;\n  }\n  .mya-pill{\n    -webkit-appearance:none !important;\n    appearance:none !important;\n    border:0 !important;\n\n    background:rgba(0,0,0,.70) !important; \/* force always *\/\n    opacity:1 !important;\n    filter:none !important;\n\n    -webkit-focus-ring-color: transparent !important;\n\n    pointer-events:auto !important;\n    touch-action: manipulation !important;\n    -webkit-user-select:none !important;\n    user-select:none !important;\n    -webkit-touch-callout:none !important;\n\n    -webkit-text-size-adjust: 100%;\n  }\n  .mya-pill:focus,\n  .mya-pill:focus-visible,\n  .mya-pill:active{\n    outline:none !important;\n    box-shadow:none !important;\n    -webkit-box-shadow:none !important;\n\n    background:rgba(0,0,0,.70) !important;\n    opacity:1 !important;\n    filter:none !important;\n  }\n\n  .mya-pill,\n  .mya-pill:active,\n  .mya-pill:focus,\n  .mya-pill:focus-visible{\n    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;\n  }\n\n  \/* \u2705 FIX #7: arrows NEVER move down on press\/hold *\/\n  .mya-hero-arrow,\n  .mya-viewer-arrow{\n    transform: translate3d(0,-50%,0) !important;\n    -webkit-transform: translate3d(0,-50%,0) !important;\n    will-change: transform;\n  }\n  .mya-hero-arrow:active,\n  .mya-viewer-arrow:active{\n    transform: translate3d(0,-50%,0) !important;\n    -webkit-transform: translate3d(0,-50%,0) !important;\n  }\n\n  \/* Prevent selection\/drag; keep vertical scroll allowed *\/\n  .mya-gallery-root,\n  .mya-gallery-root .mya-hero,\n  .mya-overlay .mya-grid,\n  .mya-overlay .mya-viewer-stage{\n    user-select:none;\n    -webkit-user-select:none;\n    -webkit-touch-callout:none;\n    touch-action: pan-y;\n  }\n  .mya-gallery-root img,\n  .mya-overlay img{\n    -webkit-user-drag:none;\n    user-select:none;\n  }\n\n  \/* ===== HERO ===== *\/\n  .mya-gallery-root{ width:100%; }\n  .mya-hero{\n    position:relative;\n    width:100%;\n    overflow:hidden;\n    background:#000;\n    aspect-ratio:16\/9;\n    border-radius:16px;\n  }\n  @media (max-width:767px){\n    .mya-hero{ border-radius:16px !important; }\n  }\n  .mya-hero-img{\n    width:100% !important;\n    height:100% !important;\n    object-fit:cover !important;\n    object-position: 50% 58% !important;\n    display:block;\n    pointer-events:auto;\n  }\n\n  .mya-hero-arrow{\n    position:absolute;\n    top:50%;\n    width:56px; height:56px;\n    z-index:50;\n    pointer-events:auto;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    background:transparent !important;\n    border:0 !important;\n    box-shadow:none !important;\n    border-radius:0 !important;\n  }\n  .mya-hero-left{ left:6px; }\n  .mya-hero-right{ right:6px; }\n  .mya-hero-arrow[hidden]{ display:none !important; }\n\n  .mya-viewer-arrow{\n    position:absolute;\n    top:50%;\n    width:56px; height:56px;\n    background:transparent !important;\n    border:0 !important;\n    box-shadow:none !important;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    z-index:60;\n    pointer-events:auto;\n    border-radius:0 !important;\n  }\n  .mya-viewer-left{ left:6px; }\n  .mya-viewer-right{ right:6px; }\n  .mya-viewer-arrow[hidden]{ display:none !important; }\n\n  .mya-arrow-img{\n    width:43px; height:43px;\n    object-fit:contain;\n    display:block;\n    pointer-events:none;\n  }\n\n  \/* \u2705 PILL *\/\n  .mya-pill{\n    position:absolute !important;\n    left:7px !important;\n    bottom:7px !important;\n\n    display:inline-flex !important;\n    align-items:center !important;\n    gap:8px !important;\n\n    padding:6px 12px !important;\n    border-radius:999px !important;\n\n    background:rgba(0,0,0,.8) !important;\n    color:#fff !important;\n\n    font-size:17px !important;\n    line-height:1 !important;\n\n    z-index:999 !important;\n\n    opacity:1 !important;\n    visibility:visible !important;\n\n    box-shadow:none !important;\n    -webkit-box-shadow:none !important;\n  }\n  .mya-pill-icon{\n    width:17px; height:17px;\n    object-fit:contain;\n    display:block;\n    pointer-events:none;\n  }\n  .mya-pill-text{\n    pointer-events:none;\n    font-variant-numeric: tabular-nums;\n    letter-spacing:0;\n    font-family: 'Poppins', sans-serif;\n    font-weight: 500;\n  }\n\n  \/* ===== OVERLAYS (MOBILE = FULLSCREEN) ===== *\/\n  .mya-overlay{\n    position:fixed;\n    inset:0;\n    z-index:9999999;\n    display:none;\n    height:100dvh;\n    overscroll-behavior:contain;\n    touch-action: pan-y;\n    background:#000;\n  }\n  .mya-overlay.is-open{ display:block; }\n\n  \/* GRID overlay *\/\n  .mya-overview .mya-overlay-inner{\n    position:absolute;\n    inset:0;\n    background:#fff;\n    display:flex;\n    flex-direction:column;\n    overflow-y:auto;\n    overflow-x:hidden;\n    -webkit-overflow-scrolling:touch;\n  }\n\n  .mya-header{\n    position:sticky;\n    top:0;\n    z-index:1000;\n    background:#fff;\n    isolation:isolate;\n    transform: translateZ(0);\n    -webkit-transform: translateZ(0);\n    backface-visibility:hidden;\n    -webkit-backface-visibility:hidden;\n    box-shadow: 0 1px 0 rgba(0,0,0,.10);\n  }\n\n  .mya-topbar{\n    display:flex;\n    align-items:center;\n    gap:8px;\n    padding:16px 11.5px 8px;\n    background:#fff;\n    border-bottom:0 !important;\n  }\n\n  .mya-back-to-page{\n    display:inline-flex;\n    align-items:center;\n    gap:4.5px;\n    font-size:16px;\n    font-weight:500;\n    color:#000 !important;\n    padding:6px 4px;\n    background:transparent !important;\n    border:0 !important;\n    box-shadow:none !important;\n  }\n\n  .mya-back-icon{\n    width:19px; height:15.5px;\n    object-fit:contain;\n    display:block;\n  }\n\n  .mya-tabrow{\n    display:flex;\n    gap:8px;\n    padding:9px 16px 14px 16px;\n    overflow-x:auto;\n    overflow-y:hidden !important;\n    -webkit-overflow-scrolling:touch;\n    background:#fff;\n    align-items:flex-start;\n    height:139px !important;\n    border-top:1px solid #e5e5e5;\n  }\n\n  .mya-tabcard{\n    flex:0 0 auto;\n    text-align:left;\n    display:flex;\n    flex-direction:column;\n    gap:8px;\n    padding:0;\n    background:transparent !important;\n    border:0 !important;\n    box-shadow:none !important;\n    overflow:visible;\n    align-items:flex-start;\n  }\n\n  .mya-tabthumb{\n    width:110px;\n    height:80px;\n    border-radius:8px;\n    overflow:hidden;\n    background:#f2f2f2;\n    display:block;\n    box-sizing:border-box;\n    position:relative;\n    transform-origin: top center;\n    transform: translateZ(0) scaleY(1);\n    -webkit-transform: translateZ(0) scaleY(1);\n    transition: transform .16s ease !important;\n    will-change: transform;\n  }\n\n  .mya-tabthumb::after{\n    content:\"\";\n    position:absolute;\n    inset:0;\n    border:0 solid transparent;\n    border-radius:inherit;\n    box-sizing:border-box;\n    pointer-events:none;\n    transition: border-color .12s ease, border-width .12s ease;\n  }\n  .mya-tabcard.is-active .mya-tabthumb::after{\n    border-width:2px;\n    border-color:#444;\n  }\n  .mya-tabcard:focus-within .mya-tabthumb::after{\n    border-width:2px;\n    border-color:#444;\n  }\n\n  .mya-tabcard.is-active .mya-tabthumb{\n    transform: translateZ(0) scaleY(1.08);\n    -webkit-transform: translateZ(0) scaleY(1.08);\n  }\n\n  .mya-tabimg{\n    width:100%;\n    height:100%;\n    object-fit:cover;\n    display:block;\n    transform:none !important;\n    transition:opacity .12s ease !important;\n    opacity:1 !important;\n  }\n\n  .mya-tabcard.is-active .mya-tabimg{\n    opacity:.65 !important;\n  }\n\n  .mya-overlay .mya-tablabel{\n    display:block !important;\n    min-height:18px !important;\n    line-height:18px !important;\n    font-size:14px;\n    font-weight:400 !important;\n    opacity:1 !important;\n    color:#000 !important;\n    margin-bottom:4px !important;\n    transform: translateZ(0) translateY(0);\n    -webkit-transform: translateZ(0) translateY(0);\n    transition: transform .16s ease !important;\n    will-change: transform;\n  }\n  .mya-overlay .mya-tabcard.is-active .mya-tablabel{\n    font-weight:600 !important;\n    opacity:1 !important;\n    color:#000 !important;\n    transform: translateZ(0) translateY(6px);\n    -webkit-transform: translateZ(0) translateY(6px);\n  }\n\n  .mya-grid-wrap{\n    position:relative;\n    flex:none !important;\n    overflow:visible !important;\n    margin-top:0 !important;\n    padding:0px 16px 16px;\n    background:#fff;\n    touch-action: pan-y;\n  }\n\n  .mya-grid{\n    display:grid;\n    grid-template-columns:repeat(3, minmax(0, 1fr));\n    gap:4px;\n    grid-auto-rows:8px;\n  }\n\n  .mya-tile{\n    margin:0;\n    border-radius:14px !important;\n    overflow:hidden;\n    cursor:pointer;\n    background:#f2f2f2;\n    position:relative;\n    box-sizing:border-box;\n    border:0;\n  }\n\n  .mya-tile img{\n    width:100%;\n    height:100%;\n    display:block;\n    object-fit:cover;\n  }\n\n  .mya-grid-loading{\n    position:sticky;\n    bottom:10px;\n    margin-top:10px;\n    padding:10px 12px;\n    border-radius:4px;\n    background:rgba(0,0,0,.06);\n    color:#111;\n    font-size:13px;\n    width:max-content;\n  }\n\n  \/* VIEWER overlay *\/\n  .mya-viewer .mya-viewer-inner{\n    position:absolute;\n    inset:0;\n    background:#000;\n    display:flex;\n    flex-direction:column;\n    border-radius:16px;\n    overflow:hidden;\n  }\n\n  .mya-viewer-top{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:10px;\n    padding:14px 34px 10px 12px;\n  }\n\n  .mya-viewer-to-grid{\n    width:44px; height:44px;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    background:transparent !important;\n    border:0 !important;\n    box-shadow:none !important;\n    border-radius:0 !important;\n    flex:0 0 auto;\n  }\n\n  .mya-chevron-img{\n    width:20px; height:20px;\n    object-fit:contain;\n    display:block;\n    pointer-events:none;\n    filter:none !important;\n  }\n\n  .mya-viewer-count{\n    color:#fff;\n    font-size:17px;\n    font-weight:400 !important;\n    white-space:nowrap;\n    text-align:right;\n    flex:0 0 auto;\n  }\n\n  .mya-viewer-stage{\n    position:relative;\n    flex:1 1 auto;\n    min-height:0;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    padding:0;\n    touch-action: pan-y;\n  }\n\n  .mya-viewer-img{\n    width:100%;\n    height:100%;\n    object-fit:contain;\n    display:block;\n    user-select:none;\n    -webkit-user-drag:none;\n    pointer-events:none;\n  }\n\n  .mya-viewer-loading{\n    position:absolute;\n    left:50%;\n    top:50%;\n    transform:translate(-50%,-50%);\n    padding:10px 12px;\n    border-radius:4px;\n    background:rgba(255,255,255,.10);\n    color:#fff;\n    font-size:13px;\n  }\n\n  .mya-viewer-meta{\n    flex:0 0 auto;\n    background:transparent !important;\n    display:flex;\n    align-items:center;\n    padding:12px 14px 16px;\n    box-sizing:border-box;\n  }\n\n  .mya-viewer-source{\n    color:#fff;\n    font-size:16px;\n    font-weight:400;\n    line-height:1.2;\n    white-space:nowrap;\n  }\n\n  @media (hover:hover) and (pointer:fine){\n    .mya-hero-arrow:hover,\n    .mya-viewer-arrow:hover,\n    .mya-viewer-to-grid:hover,\n    .mya-pill:hover{ opacity:.90; }\n    .mya-tile:hover{ filter:brightness(.985); }\n    .mya-tabcard:hover{ opacity:.92; }\n  }\n\n  html.mya-locked,\n  body.mya-locked{\n    height:100% !important;\n    overflow:hidden !important;\n    overscroll-behavior: none !important;\n  }\n\n  .mya-overview .mya-overlay-inner::before,\n  .mya-overview .mya-overlay-inner::after{\n    content:\"\";\n    display:block;\n    height:1px;\n  }\n\n  .mya-overlay.is-open{\n    overscroll-behavior: none;\n  }\n  .mya-overview .mya-overlay-inner{\n    overscroll-behavior: contain;\n  }\n\n  \/* ==========================================================\n     \u2705 DESKTOP ONLY: \u201cWINDOW\u201d MODAL (backdrop + centered panels)\n     \u2705 FIX: keep GRID scrolling by NOT using overflow:hidden\n     ========================================================== *\/\n  @media (min-width: 1024px){\n    .mya-overlay{\n      background: rgba(0,0,0,.55);\n    }\n\n    .mya-overlay.is-open{\n      display:flex;\n      align-items:center;\n      justify-content:center;\n      padding:18px;\n    }\n\n    \/* GRID window (SCROLLER) *\/\n    .mya-overview .mya-overlay-inner{\n      position:relative;\n      inset:auto;\n\n      width:min(1120px, calc(100vw - 36px));\n      height:min(820px,  calc(100dvh - 36px));\n\n      border-radius:16px;\n\n      overflow-y:auto !important;   \/* \u2705 scroll works *\/\n      overflow-x:hidden !important; \/* \u2705 clips rounded corners horizontally *\/\n\n      box-shadow:0 18px 60px rgba(0,0,0,.35);\n    }\n\n    \/* VIEWER window *\/\n    .mya-viewer .mya-viewer-inner{\n      position:relative;\n      inset:auto;\n\n      width:min(1120px, calc(100vw - 36px));\n      height:min(820px,  calc(100dvh - 36px));\n\n      border-radius:16px;\n      overflow:hidden;\n\n      box-shadow:0 18px 60px rgba(0,0,0,.35);\n    }\n  }\n<\/style>\n\n<!-- =========rr================\nBLOCK 3\/3 \u2014 SCRIPT\n========================= -->\n\n<script>\n  (() => {\n    const root = document.currentScript.closest('.mya-gallery-root');\n    if (!root) return;\n\n    const OUR_PHOTOS = [\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_9401.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7956.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_9394.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_9456.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/04\/IMG_6041.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_5860.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/MG_9419.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/40.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7955.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/88.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_3512.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/06\/IMG_5613.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7950.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7949.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/IMG_7946.webp\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/06\/XC_5665b.webp\"\n    ];\n\n    const GUEST_PHOTOS = [\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Customer_01.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-3.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-7.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-37.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-1.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-8.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-44.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-4.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-5.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-2.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-9.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-11.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-12.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-13.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-14.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-15.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-16.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-17.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-18.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-19.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-20.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-21.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-22.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-23.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-24.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-25.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-26.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-27.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-28.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-30.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-31.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-32.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-33.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-34.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-35.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-43.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-36.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-38.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-39.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-41.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-42.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-45.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-44.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-1-1.jpg\",\n      \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/caption-2-1.jpg\"\n    ];\n\n    const ICONS = {\n      leftArrowUrl: \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Left-Arrow1.svg\",\n      rightArrowUrl: \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Right-Arrow1.svg\",\n      pillIconUrl: \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Picture-Icon-1.svg\",\n      viewerChevronToGridUrl: \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Gallery-Chevron3.svg\",\n      gridBackIconUrl: \"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2026\/01\/Gallery-Back-Chevron8.svg\"\n    };\n\n    const HERO_AHEAD = 2;\n    const HERO_BEHIND = 1;\n\n    const IDLE_PRELOAD_TARGET = { our: 20, guests: 20 };\n    const IDLE_BATCH_SIZE = 4;\n    const IDLE_BATCH_DELAY_MS = 160;\n\n    const APPEND_CHUNK = 20;\n\n    \/\/ Skeleton target ~6 screens (clamped)\n    const INITIAL_SKELETON_MIN = 72;\n    const INITIAL_SKELETON_MAX = 110;\n\n    \/\/ Grid image loading window (kept)\n    const LOAD_AHEAD_SCREENS = 5;\n    const LOAD_BEHIND_SCREENS = 1;\n\n    \/\/ Warm preload + immediate grid load targets\n    const WARM_PRELOAD_SCREENS = 4;\n    const GRID_FORCE_LOAD_SCREENS = 4;\n\n    const hero = root.querySelector('.mya-hero');\n    const heroImg = root.querySelector('.mya-hero-img');\n    const heroLeft = root.querySelector('.mya-hero-left');\n    const heroRight = root.querySelector('.mya-hero-right');\n    const pillBtn = root.querySelector('.mya-pill-btn');\n    const pillText = root.querySelector('.mya-pill-text');\n    const pillIcon = root.querySelector('.mya-pill-icon');\n\n    let overviewOverlay = root.querySelector('.mya-overview');\n    let viewerOverlay   = root.querySelector('.mya-viewer');\n\n    const backToPageBtn = overviewOverlay.querySelector('.mya-back-to-page');\n    const tabCards = Array.from(overviewOverlay.querySelectorAll('.mya-tabcard'));\n    const gridWrap = overviewOverlay.querySelector('.mya-grid-wrap');\n    const grid = overviewOverlay.querySelector('.mya-grid');\n    const gridLoading = overviewOverlay.querySelector('.mya-grid-loading');\n\n    const tabImgAll = overviewOverlay.querySelector('.mya-tabimg-all');\n    const tabImgOur = overviewOverlay.querySelector('.mya-tabimg-our');\n    const tabImgGuests = overviewOverlay.querySelector('.mya-tabimg-guests');\n\n    const viewerToGrid = viewerOverlay.querySelector('.mya-viewer-to-grid');\n    const viewerImg = viewerOverlay.querySelector('.mya-viewer-img');\n    const viewerCount = viewerOverlay.querySelector('.mya-viewer-count');\n    const viewerLoading = viewerOverlay.querySelector('.mya-viewer-loading');\n    const viewerLeft = viewerOverlay.querySelector('.mya-viewer-left');\n    const viewerRight = viewerOverlay.querySelector('.mya-viewer-right');\n\n    root.querySelectorAll('.mya-left-img').forEach(img => img.src = ICONS.leftArrowUrl);\n    root.querySelectorAll('.mya-right-img').forEach(img => img.src = ICONS.rightArrowUrl);\n    pillIcon.src = ICONS.pillIconUrl;\n\n    viewerOverlay.querySelector('.mya-chevron-img').src = ICONS.viewerChevronToGridUrl;\n    overviewOverlay.querySelector('.mya-back-icon').src = ICONS.gridBackIconUrl;\n\n    const firstOur = OUR_PHOTOS[0] || \"\";\n    tabImgAll.src = firstOur;\n    tabImgOur.src = firstOur;\n    tabImgGuests.src = GUEST_PHOTOS[0] || firstOur;\n\n    function moveToBody(el){\n      const placeholder = document.createComment('mya-overlay-placeholder');\n      el.parentNode.insertBefore(placeholder, el);\n      document.body.appendChild(el);\n      return el;\n    }\n    overviewOverlay = moveToBody(overviewOverlay);\n    viewerOverlay   = moveToBody(viewerOverlay);\n\n    const overviewInner = overviewOverlay.querySelector('.mya-overlay-inner');\n\n    const viewerInner = viewerOverlay.querySelector('.mya-viewer-inner');\n    const viewerStage = viewerOverlay.querySelector('.mya-viewer-stage');\n\n    let viewerMeta = viewerOverlay.querySelector('.mya-viewer-meta');\n    let viewerSource = viewerOverlay.querySelector('.mya-viewer-source');\n\n    if (!viewerMeta){\n      viewerMeta = document.createElement('div');\n      viewerMeta.className = 'mya-viewer-meta';\n\n      viewerSource = document.createElement('div');\n      viewerSource.className = 'mya-viewer-source';\n      viewerSource.textContent = '';\n\n      viewerMeta.appendChild(viewerSource);\n\n      if (viewerStage && viewerStage.parentNode){\n        viewerStage.parentNode.insertBefore(viewerMeta, viewerStage.nextSibling);\n      } else if (viewerInner){\n        viewerInner.appendChild(viewerMeta);\n      }\n    } else {\n      viewerSource = viewerOverlay.querySelector('.mya-viewer-source');\n    }\n\n    let lockCount = 0;\n    let lockedScrollY = 0;\n\n    function isInside(el, sel){\n  return !!(el && el.closest && el.closest(sel));\n}\n\n\/\/ Only allow native scrolling inside the ONE real scroller we choose.\n\/\/ Everything else gets hard-blocked so the page behind never moves.\nfunction getActiveScroller(){\n  \/\/ Overview open: the actual scroller is overviewInner (you set overflow-y:auto there)\n  if (overviewOverlay.classList.contains('is-open')) return overviewInner;\n  return null;\n}\n\nfunction touchmoveGuard(e){\n  if (!lockCount) return;\n  if (!e.cancelable) return;\n\n  \/\/ Viewer overlay: hard block ALL movement (you already do viewerHardBlock too)\n  if (viewerOverlay.classList.contains('is-open')){\n    e.preventDefault();\n    return;\n  }\n\n  \/\/ Overview overlay: allow ONLY inside the overview scroller\n  if (overviewOverlay.classList.contains('is-open')){\n    const sc = getActiveScroller();\n    const insideScroller = sc ? (sc === e.target || (e.target && sc.contains(e.target))) : false;\n\n    if (insideScroller){\n      \/\/ allow native scroll\/bounce inside overlay scroller\n      return;\n    }\n\n    \/\/ block everything else (prevents background\/page scroll)\n    e.preventDefault();\n    return;\n  }\n\n  \/\/ Safety: if locked for any reason, block background\n  e.preventDefault();\n}\n\n    function scrollFreeze(){\n      if (!lockCount) return;\n      const y = window.scrollY || document.documentElement.scrollTop || 0;\n      if (y !== lockedScrollY) window.scrollTo(0, lockedScrollY);\n    }\n\n    function lockScroll(){\n      if (lockCount === 0){\n        lockedScrollY = window.scrollY || document.documentElement.scrollTop || 0;\n\n        document.documentElement.classList.add('mya-locked');\n        document.body.classList.add('mya-locked');\n\n        document.addEventListener('touchmove', touchmoveGuard, { passive:false, capture:true });\n        window.addEventListener('scroll', scrollFreeze, { passive:true });\n\n        window.scrollTo(0, lockedScrollY);\n      }\n      lockCount++;\n    }\n\n    function unlockScroll(){\n      lockCount = Math.max(0, lockCount - 1);\n      if (lockCount !== 0) return;\n\n      document.removeEventListener('touchmove', touchmoveGuard, { capture:true });\n      window.removeEventListener('scroll', scrollFreeze);\n\n      document.documentElement.classList.remove('mya-locked');\n      document.body.classList.remove('mya-locked');\n\n      window.scrollTo(0, lockedScrollY);\n    }\n\n    function forceUnlockEverything(){\n      lockCount = 0;\n      document.removeEventListener('touchmove', touchmoveGuard, { capture:true });\n      window.removeEventListener('scroll', scrollFreeze);\n      document.documentElement.classList.remove('mya-locked');\n      document.body.classList.remove('mya-locked');\n    }\n\n    window.addEventListener('pageshow', () => {\n      forceUnlockEverything();\n      overviewOverlay.classList.remove('is-open');\n      viewerOverlay.classList.remove('is-open');\n      overviewOverlay.setAttribute('aria-hidden','true');\n      viewerOverlay.setAttribute('aria-hidden','true');\n    });\n\n    function openOverlay(overlayEl){\n      if (overlayEl.classList.contains('is-open')){\n        overlayEl.setAttribute('aria-hidden', 'false');\n        return;\n      }\n      overlayEl.classList.add('is-open');\n      overlayEl.setAttribute('aria-hidden', 'false');\n      lockScroll();\n    }\n\n    function closeOverlay(overlayEl){\n      if (!overlayEl.classList.contains('is-open')) return;\n      overlayEl.classList.remove('is-open');\n      overlayEl.setAttribute('aria-hidden', 'true');\n      unlockScroll();\n    }\n\n    function postCloseSafety(){\n      requestAnimationFrame(() => {\n        if (!overviewOverlay.classList.contains('is-open') && !viewerOverlay.classList.contains('is-open')){\n          forceUnlockEverything();\n        }\n      });\n    }\n\n    function viewerHardBlock(e){\n      if (!viewerOverlay.classList.contains('is-open')) return;\n      if (!e.cancelable) return;\n      e.preventDefault();\n    }\n    viewerOverlay.addEventListener('touchmove', viewerHardBlock, { passive:false });\n    viewerOverlay.addEventListener('wheel', viewerHardBlock, { passive:false });\n\n    function attachOverscrollManager(overlayEl){\n  if (!overlayEl) return;\n\n  const TOP = 1;     \/\/ keep scrollTop >= 1\n  const BOT = 1;     \/\/ keep scrollTop <= max-1\n  const REFRESH_BLOCK_PX = 55;\n\n  let tracking = false;\n  let startY = 0;\n  let startX = 0;\n  let sc = null;\n\n  function isScrollableY(el){\n    if (!el || el === document.body || el === document.documentElement) return false;\n    const cs = getComputedStyle(el);\n    const oy = cs.overflowY;\n    if (oy !== 'auto' && oy !== 'scroll') return false;\n    return el.scrollHeight > el.clientHeight + 1;\n  }\n\n  function pickScroller(fromTarget){\n    let el = fromTarget;\n    while (el && el !== overlayEl){\n      if (isScrollableY(el)) return el;\n      el = el.parentElement;\n    }\n\n    if (gridWrap && isScrollableY(gridWrap)) return gridWrap;\n    if (overviewInner && isScrollableY(overviewInner)) return overviewInner;\n\n    const all = overlayEl.querySelectorAll('*');\n    for (let i=0; i<all.length; i++){\n      if (isScrollableY(all[i])) return all[i];\n    }\n    return null;\n  }\n\n  function maxScroll(){\n    if (!sc) return 0;\n    return Math.max(0, sc.scrollHeight - sc.clientHeight);\n  }\n\n   function snapInside(){\n    if (!sc) return;\n\n    const max = maxScroll();\n    if (max <= 0) return;\n\n    const bot = Math.max(0, max - BOT);\n\n    \/\/ ONLY correct when we hit TRUE edges (prevents the visible \u201csnap\u201d)\n    if (sc.scrollTop === 0) sc.scrollTop = TOP;\n    else if (sc.scrollTop === max) sc.scrollTop = bot;\n  }\n\n  function ensureTinyOverflow(){\n    if (!sc) return;\n\n    const max = maxScroll();\n    if (max <= 0){\n      sc.style.setProperty('padding-top', '1px');\n      sc.style.setProperty('padding-bottom', '1px');\n    }\n    requestAnimationFrame(snapInside);\n  }\n\n  overlayEl.addEventListener('touchstart', (e) => {\n    if (!e.touches || e.touches.length !== 1) return;\n\n    tracking = true;\n    startY = e.touches[0].clientY;\n    startX = e.touches[0].clientX;\n\n    sc = pickScroller(e.target);\n    if (!sc) return;\n\n    ensureTinyOverflow();\n    snapInside();\n  }, { passive:true, capture:true });\n\n  overlayEl.addEventListener('touchmove', (e) => {\n    if (!tracking || !sc || !e.touches || e.touches.length !== 1) return;\n    if (!e.cancelable) return;\n\n    const y = e.touches[0].clientY;\n    const x = e.touches[0].clientX;\n    const dy = y - startY;\n    const dx = x - startX;\n\n    if (Math.abs(dy) <= Math.abs(dx)) return;\n\n    const max = maxScroll();\n    const bot = Math.max(0, max - BOT);\n\n    const atFakeTop = sc.scrollTop <= TOP;\n    const atFakeBot = sc.scrollTop >= bot;\n\nif (atFakeTop && dy > REFRESH_BLOCK_PX){\n  e.preventDefault();\n  return;\n}\n\n\/\/ Do NOT force scrollTop during the drag (prevents snap)\nif (atFakeTop && dy > 0) return;\nif (atFakeBot && dy < 0) return;\n}, { passive:false, capture:true });\n\n  overlayEl.addEventListener('touchend', () => {\n    tracking = false;\n\n    \/\/ Let the rubber-band settle, THEN snap off true edges (removes the \u201csnap\u201d on repeated pulls)\n    if (sc){\n      requestAnimationFrame(() => {\n        requestAnimationFrame(() => {\n          snapInside();\n        });\n      });\n    }\n\n    sc = null;\n  }, { passive:true, capture:true });\n\n  overlayEl.addEventListener('touchcancel', () => {\n    tracking = false;\n\n    if (sc){\n      requestAnimationFrame(() => {\n        requestAnimationFrame(() => {\n          snapInside();\n        });\n      });\n    }\n\n    sc = null;\n  }, { passive:true, capture:true });\n}\n\n\/\/ CALL IT ON THE OVERVIEW OVERLAY (NOT overviewInner)\nattachOverscrollManager(overviewOverlay);\n\n    const totalOur = OUR_PHOTOS.length;\n    const totalGuests = GUEST_PHOTOS.length;\n    const totalAll = totalOur + totalGuests;\n\n    const HERO_LIST = [...OUR_PHOTOS, ...GUEST_PHOTOS];\n    const totalHero = HERO_LIST.length;\n\n    const preloadedSrc = new Set();\n\n    function preloadSrc(src){\n      if (!src || preloadedSrc.has(src)) return;\n      const im = new Image();\n      im.decoding = 'async';\n      im.src = src;\n      preloadedSrc.add(src);\n    }\n\n    function idle(cb){\n      if ('requestIdleCallback' in window) return window.requestIdleCallback(cb, { timeout: 1200 });\n      return setTimeout(cb, 120);\n    }\n\n    let userInteracted = false;\n    function markInteracted(){ userInteracted = true; }\n\n    ['pointerdown','touchstart','keydown','wheel'].forEach(evt => {\n      window.addEventListener(evt, markInteracted, { passive:true, capture:true });\n    });\n\n    function startIdleBackgroundPreload(){\n      const targetOur = Math.min(IDLE_PRELOAD_TARGET.our, totalOur);\n      const targetGuests = Math.min(IDLE_PRELOAD_TARGET.guests, totalGuests);\n\n      let idxOur = 0;\n      let idxGuests = 0;\n\n      function pump(){\n        if (userInteracted) return;\n        let did = false;\n\n        for (let k=0; k<IDLE_BATCH_SIZE; k++){\n          if (idxOur < targetOur){\n            preloadSrc(OUR_PHOTOS[idxOur]);\n            idxOur++;\n            did = true;\n          }\n          if (idxGuests < targetGuests){\n            preloadSrc(GUEST_PHOTOS[idxGuests]);\n            idxGuests++;\n            did = true;\n          }\n        }\n\n        if (overviewOverlay.classList.contains('is-open')){\n          fillPreloadedTiles(activeTab);\n        }\n\n        if (!did) return;\n        setTimeout(() => idle(pump), IDLE_BATCH_DELAY_MS);\n      }\n\n      requestAnimationFrame(() => { idle(pump); });\n    }\n\n    const clamp = (n, min, max) => Math.max(min, Math.min(max, n));\n    function scrollerEl(){ return overviewInner || gridWrap; }\n\n    function getTabTotal(tab){\n      if (tab === 'our') return totalOur;\n      if (tab === 'guests') return totalGuests;\n      return totalAll;\n    }\n\n    function getTabSrc(tab, i){\n      if (tab === 'our') return OUR_PHOTOS[i] || \"\";\n      if (tab === 'guests') return GUEST_PHOTOS[i] || \"\";\n      if (i < totalOur) return OUR_PHOTOS[i] || \"\";\n      return GUEST_PHOTOS[i - totalOur] || \"\";\n    }\n\n    function getTabKind(tab, i){\n      if (tab === 'our') return 'our';\n      if (tab === 'guests') return 'guests';\n      return (i < totalOur) ? 'our' : 'guests';\n    }\n\n    function getTabKindIndex(tab, i){\n      if (tab === 'our') return i;\n      if (tab === 'guests') return i;\n      return (i < totalOur) ? i : (i - totalOur);\n    }\n\n    function updatePillTotal(){\n      pillText.textContent = String(totalHero || 0);\n    }\n\n    \/\/ ---- Warm preload (4 screens) on banner interaction (no grid open needed)\n    function tilesPerScreenForWarm(){\n      const vh = window.innerHeight || 760;\n      return Math.max(10, Math.min(16, Math.round(vh \/ 55)));\n    }\n\n    let warmStarted = false;\n    function startWarmPreload(){\n      if (warmStarted) return;\n      warmStarted = true;\n\n      const tps = tilesPerScreenForWarm();\n      const warmCount = tps * WARM_PRELOAD_SCREENS;\n\n      const maxAll = Math.min(warmCount, totalAll);\n      const maxOur = Math.min(warmCount, totalOur);\n      const maxGuests = Math.min(warmCount, totalGuests);\n\n      let iAll = 0, iOur = 0, iGuests = 0;\n\n      const PER_TICK = 10;\n\n      function tick(){\n        let did = false;\n\n        for (let k=0; k<PER_TICK; k++){\n          if (iAll < maxAll){\n            preloadSrc(getTabSrc('all', iAll));\n            iAll++;\n            did = true;\n          }\n          if (iOur < maxOur){\n            preloadSrc(getTabSrc('our', iOur));\n            iOur++;\n            did = true;\n          }\n          if (iGuests < maxGuests){\n            preloadSrc(getTabSrc('guests', iGuests));\n            iGuests++;\n            did = true;\n          }\n        }\n\n        if (did && (iAll < maxAll || iOur < maxOur || iGuests < maxGuests)){\n          requestAnimationFrame(tick);\n        }\n      }\n\n      requestAnimationFrame(tick);\n    }\n\n    \/\/ Trigger warm preload as soon as the banner is interacted with (tap\/click)\n    ['pointerdown','touchstart','click'].forEach(evt => {\n      hero.addEventListener(evt, startWarmPreload, { passive:true, capture:true });\n      pillBtn.addEventListener(evt, startWarmPreload, { passive:true, capture:true });\n      heroLeft.addEventListener(evt, startWarmPreload, { passive:true, capture:true });\n      heroRight.addEventListener(evt, startWarmPreload, { passive:true, capture:true });\n    });\n\n    \/\/ ---- HERO\n    let heroIndex = 0;\n\n    function ensureHeroPreloads(){\n      if (!totalHero) return;\n\n      const cur = heroIndex;\n      preloadSrc(HERO_LIST[cur]);\n\n      for (let a=1; a<=HERO_AHEAD; a++){\n        const idx = cur + a;\n        if (idx <= totalHero - 1) preloadSrc(HERO_LIST[idx]);\n      }\n\n      for (let b=1; b<=HERO_BEHIND; b++){\n        const idx = cur - b;\n        if (idx >= 0) preloadSrc(HERO_LIST[idx]);\n      }\n    }\n\n    \/* =========================\n       HERO CROP (ratio buckets)\n       - CSS fallback remains: object-position: 50% 58% !important\n       - JS sets INLINE objectPosition after hero image load\n       ========================= *\/\n\n    function heroObjectPosForRatio(r){\n      \/\/ ratio = naturalWidth \/ naturalHeight\n      if (!isFinite(r) || r <= 0) return '50% 58%';\n\n      \/\/ Super wide (\u2265 2.2): 50% 65%\n      if (r >= 2.2) return '50% 65%';\n\n      \/\/ Wide (1.8\u20132.2): 50% 60%\n      if (r >= 1.8) return '50% 60%';\n\n      \/\/ Normal landscape (1.3\u20131.8): 50% 58%\n      if (r >= 1.3) return '50% 58%';\n\n      \/\/ Slight landscape (1.05\u20131.3): 50% 55%\n      if (r >= 1.05) return '50% 55%';\n\n      \/\/ Square-ish (0.9\u20131.05): 50% 50%\n      if (r >= 0.9) return '50% 50%';\n\n      \/\/ Portrait (0.75\u20130.9): 50% 45%\n      if (r >= 0.75) return '50% 60%';\n\n      \/\/ Tall portrait (< 0.75): 50% 40%\n      return '50% 40%';\n    }\n\n    function applyHeroCropForCurrentImage(){\n      if (!heroImg) return;\n\n      \/\/ Ensure cover stays consistent even if Elementor injects weirdness;\n      \/\/ CSS already forces !important; inline only sets position.\n      const nw = heroImg.naturalWidth || 0;\n      const nh = heroImg.naturalHeight || 0;\n      if (!nw || !nh) return;\n\n      const ratio = nw \/ nh;\n      heroImg.style.setProperty('object-position', heroObjectPosForRatio(ratio), 'important');\n    }\n\n    function bindHeroCropOnce(){\n      if (!heroImg) return;\n\n      \/\/ When src changes, load fires again; keep a single handler.\n      heroImg.addEventListener('load', () => {\n        applyHeroCropForCurrentImage();\n      }, { passive:true });\n\n      \/\/ If already cached\/complete\n      if (heroImg.complete && heroImg.naturalWidth && heroImg.naturalHeight){\n        applyHeroCropForCurrentImage();\n      }\n    }\n\n    bindHeroCropOnce();\n\n    function updateHero(){\n      if (!totalHero){\n        heroImg.src = '';\n        heroLeft.hidden = true;\n        heroRight.hidden = true;\n        pillText.textContent = '0';\n        return;\n      }\n      heroIndex = clamp(heroIndex, 0, totalHero - 1);\n      heroImg.src = HERO_LIST[heroIndex];\n\n      updatePillTotal();\n\n      heroLeft.hidden = (heroIndex === 0);\n      heroRight.hidden = (heroIndex === totalHero - 1);\n\n      ensureHeroPreloads();\n      \/\/ If the image is cached, apply immediately; otherwise load handler will.\n      applyHeroCropForCurrentImage();\n    }\n\n    function heroPrev(){ if (totalHero && heroIndex > 0){ heroIndex--; updateHero(); } }\n    function heroNext(){ if (totalHero && heroIndex < totalHero - 1){ heroIndex++; updateHero(); } }\n\n    const TA = { firstRowSpan: 20, bigRowSpan: 24, smallRowSpan: 12 };\n\n    function applyTripAdvisorPattern(){\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      if (!tiles.length) return;\n\n      for (let i = 0; i < tiles.length; i++){\n        const t = tiles[i];\n        t.style.gridColumn = '';\n        t.style.gridRow = '';\n        t.style.gridRowEnd = '';\n        t.style.gridColumnEnd = '';\n      }\n\n      const first = tiles[0];\n      first.style.gridColumn = '1 \/ -1';\n      first.style.gridRow = `1 \/ span ${TA.firstRowSpan}`;\n\n      const rest = tiles.slice(1);\n      if (!rest.length) return;\n\n      const groups = Math.floor(rest.length \/ 3);\n      const fullCount = groups * 3;\n      const leftover = rest.length - fullCount;\n\n      \/\/ Bottom-row mirroring, stop at Pattern 4\n      const mirrorGroup = new Set();\n      if (leftover > 0 && groups > 0){\n        for (let g = groups - 1; g >= 0; g--){\n          let p = (g % 5) + 1;\n\n          \/\/ swap early pattern order: 1<->2\n          if (p === 1) p = 2;\n          else if (p === 2) p = 1;\n\n          if (p === 4) break; \/\/ reset anchor (never mirror)\n          mirrorGroup.add(g);\n        }\n      }\n\n      function maybeMirrorPattern(p, g){\n        if (!mirrorGroup.has(g)) return p;\n        \/\/ mirror pairs: 1<->2, 3<->5 (4 never mirrors)\n        if (p === 1) return 2;\n        if (p === 2) return 1;\n        if (p === 3) return 5;\n        if (p === 5) return 3;\n        return p;\n      }\n\n      for (let r = 0; r < rest.length; r++){\n        const tile = rest[r];\n\n        if (r >= fullCount){\n          tile.style.gridRowEnd = `span ${TA.smallRowSpan}`;\n          continue;\n        }\n\n        const group = Math.floor(r \/ 3);\n        const pos = r % 3;\n\n        const rowStart = (TA.firstRowSpan + 1) + (group * TA.bigRowSpan);\n\n        let pattern = (group % 5) + 1;\n\n        \/\/ swap early pattern order: 1<->2\n        if (pattern === 1) pattern = 2;\n        else if (pattern === 2) pattern = 1;\n\n        \/\/ apply mirroring decision (includes Pattern 5 via 3<->5)\n        pattern = maybeMirrorPattern(pattern, group);\n\n        if (pattern === 1){\n          if (pos === 0){\n            tile.style.gridColumn = '1 \/ span 2';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else if (pos === 1){\n            tile.style.gridColumn = '3 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.smallRowSpan}`;\n          } else {\n            tile.style.gridColumn = '3 \/ span 1';\n            tile.style.gridRow = `${rowStart + TA.smallRowSpan} \/ span ${TA.smallRowSpan}`;\n          }\n        } else if (pattern === 2){\n          if (pos === 0){\n            tile.style.gridColumn = '2 \/ span 2';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else if (pos === 1){\n            tile.style.gridColumn = '1 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.smallRowSpan}`;\n          } else {\n            tile.style.gridColumn = '1 \/ span 1';\n            tile.style.gridRow = `${rowStart + TA.smallRowSpan} \/ span ${TA.smallRowSpan}`;\n          }\n        } else if (pattern === 3){\n          if (pos === 0){\n            tile.style.gridColumn = '3 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else if (pos === 1){\n            tile.style.gridColumn = '1 \/ span 2';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.smallRowSpan}`;\n          } else {\n            tile.style.gridColumn = '1 \/ span 2';\n            tile.style.gridRow = `${rowStart + TA.smallRowSpan} \/ span ${TA.smallRowSpan}`;\n          }\n        } else if (pattern === 4){\n          if (pos === 0){\n            tile.style.gridColumn = '1 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else if (pos === 1){\n            tile.style.gridColumn = '2 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else {\n            tile.style.gridColumn = '3 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          }\n        } else {\n          \/\/ Pattern 5\n          if (pos === 0){\n            tile.style.gridColumn = '1 \/ span 1';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.bigRowSpan}`;\n          } else if (pos === 1){\n            tile.style.gridColumn = '2 \/ span 2';\n            tile.style.gridRow = `${rowStart} \/ span ${TA.smallRowSpan}`;\n          } else {\n            tile.style.gridColumn = '2 \/ span 2';\n            tile.style.gridRow = `${rowStart + TA.smallRowSpan} \/ span ${TA.smallRowSpan}`;\n          }\n        }\n      }\n    }\n\n    let activeTab = 'all';\n    let viewerTab = 'all';\n    let viewerIndex = 0;\n\n    let selectedKey = '';\n    const lastGridScrollTop = { all: 0, our: 0, guests: 0 };\n    let viewerOpenedFromGrid = false;\n\n    const gridState = {\n      rendered: { all: 0, our: 0, guests: 0 },\n      midIndex: { all: -1, our: -1, guests: -1 }\n    };\n\n    function showGridLoading(show){ gridLoading.hidden = !show; }\n\n    function estimateTilesPerScreenForGrid(){\n      const sc = scrollerEl();\n      const vh = sc ? sc.clientHeight : window.innerHeight;\n      return Math.max(10, Math.min(16, Math.round(vh \/ 55)));\n    }\n\n    function estimateInitialSkeletonCount(){\n      const tps = estimateTilesPerScreenForGrid();\n      const approxSixScreens = tps * 6;\n      return clamp(approxSixScreens, INITIAL_SKELETON_MIN, INITIAL_SKELETON_MAX);\n    }\n\n    function getMidIndexForRendered(rendered){\n      if (!rendered) return -1;\n      return Math.max(0, Math.floor(rendered \/ 2));\n    }\n\n    function setMidpointSentinel(tab){\n      const rendered = gridState.rendered[tab] || 0;\n      const mid = getMidIndexForRendered(rendered);\n      gridState.midIndex[tab] = mid;\n\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      for (let i=0; i<tiles.length; i++){\n        if (tiles[i].dataset.mid === '1') tiles[i].dataset.mid = '0';\n      }\n      if (tiles[mid]) tiles[mid].dataset.mid = '1';\n    }\n\n    function buildSkeletonTile(tab, i){\n      const tile = document.createElement('div');\n      tile.className = 'mya-tile';\n      tile.setAttribute('role','button');\n      tile.setAttribute('tabindex','0');\n\n      const kind = getTabKind(tab, i);\n      const kindIndex = getTabKindIndex(tab, i);\n\n      tile.dataset.kind = kind;\n      tile.dataset.kindIndex = String(kindIndex);\n      tile.dataset.tabIndex = String(i);\n      tile.dataset.src = getTabSrc(tab, i);\n      tile.dataset.loaded = '0';\n      tile.dataset.mid = '0';\n\n      const key = `${tab}:${kind}:${kindIndex}`;\n      if (key === selectedKey) tile.classList.add('is-selected');\n\n      return tile;\n    }\n\n    function loadTileImage(tile){\n      if (!tile) return;\n      if (tile.dataset.loaded === '1') return;\n\n      const src = tile.dataset.src || '';\n      if (!src) return;\n\n      let img = tile.querySelector('img');\n      if (!img){\n        img = document.createElement('img');\n        img.alt = 'Photo';\n        img.decoding = 'async';\n        img.style.opacity = '0';\n        img.onload = () => { img.style.opacity = '1'; tile.dataset.loaded = '1'; };\n        img.onerror = () => { img.style.opacity = '1'; tile.dataset.loaded = '1'; };\n        tile.appendChild(img);\n      }\n\n      img.src = src;\n      preloadSrc(src);\n    }\n\n    function fillPreloadedTiles(tab){\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      for (const t of tiles){\n        const src = t.dataset.src || '';\n        if (!src) continue;\n        if (t.dataset.loaded === '1') continue;\n        if (preloadedSrc.has(src)) loadTileImage(t);\n      }\n    }\n\n    function atomicReplaceGrid(nodes){\n      const frag = document.createDocumentFragment();\n      for (const n of nodes) frag.appendChild(n);\n      grid.replaceChildren(frag);\n    }\n\n    function renderSkeletonGrid(tab, count){\n      const total = getTabTotal(tab);\n      const safeCount = clamp(count, 0, total);\n\n      const nodes = [];\n      for (let i=0; i<safeCount; i++){\n        nodes.push(buildSkeletonTile(tab, i));\n      }\n\n      atomicReplaceGrid(nodes);\n      gridState.rendered[tab] = safeCount;\n\n      showGridLoading(safeCount === 0);\n\n      requestAnimationFrame(() => {\n        applyTripAdvisorPattern();\n        requestAnimationFrame(() => {\n          applyTripAdvisorPattern();\n          setMidpointSentinel(tab);\n        });\n      });\n    }\n\n    function appendSkeletons(tab, addCount){\n      const total = getTabTotal(tab);\n      const cur = gridState.rendered[tab] || 0;\n      if (cur >= total) return;\n\n      const next = clamp(cur + addCount, 0, total);\n      gridState.rendered[tab] = next;\n\n      const frag = document.createDocumentFragment();\n      for (let i=cur; i<next; i++){\n        frag.appendChild(buildSkeletonTile(tab, i));\n      }\n      grid.appendChild(frag);\n\n      requestAnimationFrame(() => {\n        applyTripAdvisorPattern();\n        requestAnimationFrame(() => {\n          applyTripAdvisorPattern();\n          setMidpointSentinel(tab);\n        });\n      });\n    }\n\n    function setTabsActive(tab){\n      activeTab = tab;\n      tabCards.forEach(b => {\n        const isActive = b.dataset.tab === tab;\n        b.classList.toggle('is-active', isActive);\n        b.setAttribute('aria-selected', isActive ? 'true' : 'false');\n      });\n    }\n\n    function resetGalleryStateHard(){\n      selectedKey = '';\n      viewerOpenedFromGrid = false;\n\n      lastGridScrollTop.all = 0;\n      lastGridScrollTop.our = 0;\n      lastGridScrollTop.guests = 0;\n\n      gridState.rendered.all = 0;\n      gridState.rendered.our = 0;\n      gridState.rendered.guests = 0;\n\n      gridState.midIndex.all = -1;\n      gridState.midIndex.our = -1;\n      gridState.midIndex.guests = -1;\n\n      grid.replaceChildren();\n      showGridLoading(false);\n    }\n\n    let scrollTicking = false;\n    let scrollIdleTimer = null;\n    let lastScrollTopSeen = 0;\n\n    function loadTilesInActiveWindow(){\n      const sc = scrollerEl();\n      if (!sc) return;\n\n      const st = sc.scrollTop || 0;\n      const vh = sc.clientHeight || window.innerHeight;\n\n      const loadTop = st - (vh * LOAD_BEHIND_SCREENS);\n      const loadBottom = st + (vh * (1 + LOAD_AHEAD_SCREENS));\n\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      for (let i=0; i<tiles.length; i++){\n        const t = tiles[i];\n        const top = t.offsetTop;\n        const bottom = top + (t.offsetHeight || 1);\n\n        if (bottom < loadTop) continue;\n        if (top > loadBottom) break;\n\n        loadTileImage(t);\n      }\n    }\n\n    function forceLoadFirstScreens(){\n      const tps = estimateTilesPerScreenForGrid();\n      const need = tps * GRID_FORCE_LOAD_SCREENS;\n\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      const max = Math.min(need, tiles.length);\n\n      for (let i=0; i<max; i++){\n        loadTileImage(tiles[i]);\n      }\n    }\n\n    function midpointSentinelPassed(){\n      const sc = scrollerEl();\n      if (!sc) return false;\n\n      const mid = gridState.midIndex[activeTab];\n      if (mid == null || mid < 0) return false;\n\n      const tiles = Array.from(grid.querySelectorAll('.mya-tile'));\n      const midTile = tiles[mid];\n      if (!midTile) return false;\n\n      const viewBottom = (sc.scrollTop || 0) + (sc.clientHeight || window.innerHeight);\n      const triggerLine = viewBottom + (sc.clientHeight * 0.25);\n      return midTile.offsetTop <= triggerLine;\n    }\n\n    function keepSixScreensAhead(){\n      const sc = scrollerEl();\n      if (!sc) return false;\n      const st = sc.scrollTop || 0;\n      const vh = sc.clientHeight || window.innerHeight;\n      return (st + (vh * 6)) >= (sc.scrollHeight - (vh * 2));\n    }\n\n    function maybeAppend(){\n      const total = getTabTotal(activeTab);\n      const rendered = gridState.rendered[activeTab] || 0;\n      if (rendered >= total) return;\n\n      if (midpointSentinelPassed() || keepSixScreensAhead()){\n        appendSkeletons(activeTab, APPEND_CHUNK);\n      }\n    }\n\n    function onOverviewScroll(){\n      const sc = scrollerEl();\n      if (!sc) return;\n\n      const st = sc.scrollTop || 0;\n      lastGridScrollTop[activeTab] = st;\n\n      if (scrollIdleTimer) clearTimeout(scrollIdleTimer);\n      scrollIdleTimer = setTimeout(() => {\n        loadTilesInActiveWindow();\n        scrollIdleTimer = null;\n      }, 120);\n\n      if (scrollTicking) return;\n      scrollTicking = true;\n\n      requestAnimationFrame(() => {\n        scrollTicking = false;\n\n        const nowTop = sc.scrollTop || 0;\n        if (nowTop === lastScrollTopSeen && scrollIdleTimer) return;\n        lastScrollTopSeen = nowTop;\n\n        maybeAppend();\n        loadTilesInActiveWindow();\n      });\n    }\n\n    function attachGridScrollTracker(){\n      const sc = scrollerEl();\n      if (!sc) return;\n      sc.addEventListener('scroll', onOverviewScroll, { passive:true });\n    }\n    attachGridScrollTracker();\n\n    function openGridFromPill(e){\n      if (e){ e.preventDefault(); e.stopPropagation(); }\n      if (!totalAll) return;\n\n      lastGridScrollTop.all = 0;\n      lastGridScrollTop.our = 0;\n      lastGridScrollTop.guests = 0;\n\n      openOverlay(overviewOverlay);\n\nrequestAnimationFrame(() => {\n  const sc = scrollerEl();\n  if (sc) sc.scrollTop = 1;\n});\n\n      setTabsActive('all');\n\n      const initial = Math.min(estimateInitialSkeletonCount(), getTabTotal('all'));\n      renderSkeletonGrid('all', initial);\n\n      const sc = scrollerEl();\n      if (sc){\n  requestAnimationFrame(() => { sc.scrollTop = 1; });\n}\n      lastGridScrollTop.all = 0;\n\n      \/\/ Force-load immediately (no scroll needed)\n      forceLoadFirstScreens();\n      loadTilesInActiveWindow();\n      fillPreloadedTiles('all');\n    }\n\n    pillBtn.addEventListener('click', openGridFromPill, { passive:false });\n    pillBtn.addEventListener('pointerup', openGridFromPill, { passive:false });\n    pillBtn.addEventListener('touchend', openGridFromPill, { passive:false });\n\n    backToPageBtn.addEventListener('click', () => {\n      closeOverlay(overviewOverlay);\n      resetGalleryStateHard();\n      postCloseSafety();\n    });\n\n    tabCards.forEach(btn => {\n      btn.addEventListener('click', () => {\n        const tab = btn.dataset.tab;\n        lastGridScrollTop[tab] = 0;\n\n        setTabsActive(tab);\n\n        const total = getTabTotal(tab);\n        const initial = Math.min(estimateInitialSkeletonCount(), total);\n        renderSkeletonGrid(tab, initial);\n\n        const sc = scrollerEl();\n        if (sc){\n          requestAnimationFrame(() => { sc.scrollTop = 0; });\n        }\n\n        \/\/ Force-load immediately on tab switch\n        forceLoadFirstScreens();\n        loadTilesInActiveWindow();\n        fillPreloadedTiles(tab);\n      });\n    });\n\n    function getTabListLen(tab){\n      return getTabTotal(tab);\n    }\n\n    function getTabItem(tab, idx){\n      const src = getTabSrc(tab, idx);\n      const kind = getTabKind(tab, idx);\n      return { src, kind };\n    }\n\n    function updateViewerArrows(len){\n      viewerLeft.hidden = (viewerIndex === 0);\n      viewerRight.hidden = (viewerIndex === len - 1);\n    }\n\n    function setViewerSourceLabel(kind){\n      if (!viewerSource) return;\n      viewerSource.textContent = (kind === 'our') ? 'By MYA' : 'Guests';\n    }\n\n    function ensureViewerPreloads(tab, idx){\n      const len = getTabListLen(tab);\n      if (!len) return;\n\n      const cur = clamp(idx, 0, len - 1);\n      preloadSrc(getTabSrc(tab, cur));\n\n      for (let a=1; a<=2; a++){\n        const i = cur + a;\n        if (i <= len - 1) preloadSrc(getTabSrc(tab, i));\n      }\n      const b = cur - 1;\n      if (b >= 0) preloadSrc(getTabSrc(tab, b));\n    }\n\n    function setViewerImage(tab, idx){\n      const len = getTabListLen(tab);\n      if (!len) return;\n\n      viewerTab = tab;\n      viewerIndex = clamp(idx, 0, len - 1);\n\n      const item = getTabItem(tab, viewerIndex);\n\n      viewerLoading.hidden = false;\n      viewerImg.onload = () => viewerLoading.hidden = true;\n      viewerImg.onerror = () => viewerLoading.hidden = true;\n      viewerImg.src = item.src;\n\n      preloadSrc(item.src);\n      ensureViewerPreloads(tab, viewerIndex);\n\n      viewerCount.textContent = `${viewerIndex + 1} of ${len}`;\n      updateViewerArrows(len);\n      setViewerSourceLabel(item.kind);\n    }\n\n    function openViewer(tab, idx){\n      if (document.activeElement && document.activeElement.blur) document.activeElement.blur();\n      openOverlay(viewerOverlay);\n      setViewerImage(tab, idx);\n    }\n\n    function closeViewerOnly(){\n      closeOverlay(viewerOverlay);\n    }\n\n    function preventZoomWithin(el){\n      if (!el) return;\n\n      ['gesturestart','gesturechange','gestureend'].forEach(type => {\n        el.addEventListener(type, (e) => { e.preventDefault(); }, { passive:false });\n      });\n\n      el.addEventListener('touchstart', (e) => {\n        if (e.touches && e.touches.length > 1) e.preventDefault();\n      }, { passive:false });\n\n      let lastTap = 0;\n      el.addEventListener('touchend', (e) => {\n        const now = Date.now();\n        if (now - lastTap < 300) e.preventDefault();\n        lastTap = now;\n      }, { passive:false });\n\n      el.addEventListener('wheel', (e) => {\n        if (e.ctrlKey) e.preventDefault();\n      }, { passive:false });\n    }\n\n    preventZoomWithin(hero);\n    preventZoomWithin(overviewOverlay);\n    preventZoomWithin(viewerOverlay);\n\n    function addHorizontalSwipe(el, onLeft, onRight){\n      let startX = 0, startY = 0, tracking = false;\n\n      el.addEventListener('touchstart', (e) => {\n        if (!e.touches || e.touches.length !== 1) return;\n        tracking = true;\n        startX = e.touches[0].clientX;\n        startY = e.touches[0].clientY;\n      }, { passive:true });\n\n      el.addEventListener('touchmove', (e) => {\n        if (!tracking || !e.touches || e.touches.length !== 1) return;\n        const dx = e.touches[0].clientX - startX;\n        const dy = e.touches[0].clientY - startY;\n\n        if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 10){\n          e.preventDefault();\n        }\n      }, { passive:false });\n\n      el.addEventListener('touchend', (e) => {\n        if (!tracking) return;\n        tracking = false;\n\n        const changed = e.changedTouches && e.changedTouches[0];\n        if (!changed) return;\n\n        const dx = changed.clientX - startX;\n        const dy = changed.clientY - startY;\n\n        if (Math.abs(dx) > 45 && Math.abs(dx) > Math.abs(dy)){\n          if (dx < 0) onLeft && onLeft();\n          else onRight && onRight();\n        }\n      }, { passive:true });\n    }\n\n    function makeFastTap(fn){\n      let last = 0;\n      return (e) => {\n        if (e){ e.preventDefault(); e.stopPropagation(); }\n        const now = Date.now();\n        if (now - last < 60) return;\n        last = now;\n        fn();\n      };\n    }\n\n    function stopHeroOpenTouch(e){ e.stopPropagation(); }\n    function stopHeroOpenClick(e){ e.preventDefault(); e.stopPropagation(); }\n\n    ['pointerdown','touchstart'].forEach(evt => {\n      heroLeft.addEventListener(evt, stopHeroOpenTouch, { passive:true });\n      heroRight.addEventListener(evt, stopHeroOpenTouch, { passive:true });\n    });\n    ['click'].forEach(evt => {\n      heroLeft.addEventListener(evt, stopHeroOpenClick, { passive:false });\n      heroRight.addEventListener(evt, stopHeroOpenClick, { passive:false });\n    });\n\n    const heroPrevFast = makeFastTap(heroPrev);\n    const heroNextFast = makeFastTap(heroNext);\n\n    heroLeft.addEventListener('click', heroPrevFast, { passive:false });\n    heroRight.addEventListener('click', heroNextFast, { passive:false });\n    heroLeft.addEventListener('touchend', heroPrevFast, { passive:false });\n    heroRight.addEventListener('touchend', heroNextFast, { passive:false });\n\n    addHorizontalSwipe(hero, heroNext, heroPrev);\n\n    heroImg.addEventListener('click', () => {\n      if (!totalAll) return;\n      viewerOpenedFromGrid = false;\n      openViewer('all', heroIndex);\n    });\n\n    const OPEN_DRAG_PX = 10;\n\n    let gridDown = null;\n    function onGridPointerDown(e){\n      if (e.button != null && e.button !== 0) return;\n      const tile = e.target.closest('.mya-tile');\n      gridDown = {\n        id: e.pointerId != null ? e.pointerId : null,\n        x: e.clientX != null ? e.clientX : 0,\n        y: e.clientY != null ? e.clientY : 0,\n        scTop: scrollerEl() ? (scrollerEl().scrollTop || 0) : 0,\n        targetTile: tile || null\n      };\n    }\n\n    function shouldOpenFromGesture(e){\n      if (!gridDown || !gridDown.targetTile) return false;\n\n      const sc = scrollerEl();\n      const scNow = sc ? (sc.scrollTop || 0) : 0;\n\n      const dx = (e.clientX != null ? e.clientX : 0) - gridDown.x;\n      const dy = (e.clientY != null ? e.clientY : 0) - gridDown.y;\n\n      const movedFinger = (Math.abs(dx) > OPEN_DRAG_PX) || (Math.abs(dy) > OPEN_DRAG_PX);\n      const movedScroll  = Math.abs(scNow - gridDown.scTop) > 2;\n\n      if (movedFinger || movedScroll) return false;\n      return true;\n    }\n\n    function openViewerFromTile(tile){\n      const sc = scrollerEl();\n      lastGridScrollTop[activeTab] = sc ? (sc.scrollTop || 0) : 0;\n\n      if (document.activeElement && document.activeElement.blur) document.activeElement.blur();\n\n      const kind = tile.dataset.kind;\n      const kindIndex = parseInt(tile.dataset.kindIndex, 10);\n\n      selectedKey = `${activeTab}:${kind}:${kindIndex}`;\n      viewerOpenedFromGrid = true;\n\n      if (activeTab === 'our'){\n        openViewer('our', kindIndex);\n      } else if (activeTab === 'guests'){\n        openViewer('guests', kindIndex);\n      } else {\n        const allIndex = (kind === 'our') ? kindIndex : (totalOur + kindIndex);\n        openViewer('all', allIndex);\n      }\n    }\n\n    grid.addEventListener('pointerdown', onGridPointerDown, { passive:true });\n\n    grid.addEventListener('pointerup', (e) => {\n      const tile = gridDown && gridDown.targetTile ? gridDown.targetTile : e.target.closest('.mya-tile');\n      const ok = shouldOpenFromGesture(e);\n      gridDown = null;\n\n      if (!tile || !ok) return;\n\n      e.preventDefault();\n      e.stopPropagation();\n      openViewerFromTile(tile);\n    }, { passive:false });\n\n    grid.addEventListener('pointercancel', () => { gridDown = null; }, { passive:true });\n\n    let touchDown = null;\n    grid.addEventListener('touchstart', (e) => {\n      if (!e.touches || e.touches.length !== 1) return;\n      const t = e.touches[0];\n      const tile = e.target.closest('.mya-tile');\n      touchDown = {\n        x: t.clientX,\n        y: t.clientY,\n        scTop: scrollerEl() ? (scrollerEl().scrollTop || 0) : 0,\n        tile: tile || null\n      };\n    }, { passive:true });\n\n    grid.addEventListener('touchend', (e) => {\n      if (!touchDown || !touchDown.tile) { touchDown = null; return; }\n      const t = e.changedTouches && e.changedTouches[0];\n      if (!t) { touchDown = null; return; }\n\n      const sc = scrollerEl();\n      const scNow = sc ? (sc.scrollTop || 0) : 0;\n\n      const dx = t.clientX - touchDown.x;\n      const dy = t.clientY - touchDown.y;\n\n      const movedFinger = (Math.abs(dx) > OPEN_DRAG_PX) || (Math.abs(dy) > OPEN_DRAG_PX);\n      const movedScroll = Math.abs(scNow - touchDown.scTop) > 2;\n\n      if (movedFinger || movedScroll){\n        touchDown = null;\n        return;\n      }\n\n      e.preventDefault();\n      e.stopPropagation();\n      openViewerFromTile(touchDown.tile);\n      touchDown = null;\n    }, { passive:false });\n\n    function viewerPrev(){\n      const len = getTabListLen(viewerTab);\n      if (len && viewerIndex > 0) setViewerImage(viewerTab, viewerIndex - 1);\n    }\n    function viewerNext(){\n      const len = getTabListLen(viewerTab);\n      if (len && viewerIndex < len - 1) setViewerImage(viewerTab, viewerIndex + 1);\n    }\n\n    const viewerPrevFast = makeFastTap(viewerPrev);\n    const viewerNextFast = makeFastTap(viewerNext);\n\n    viewerLeft.addEventListener('click', viewerPrevFast, { passive:false });\n    viewerRight.addEventListener('click', viewerNextFast, { passive:false });\n    viewerLeft.addEventListener('touchend', viewerPrevFast, { passive:false });\n    viewerRight.addEventListener('touchend', viewerNextFast, { passive:false });\n\n    addHorizontalSwipe(viewerOverlay.querySelector('.mya-viewer-stage'), viewerNext, viewerPrev);\n\n    function restoreGridExact(tab){\n      const sc = scrollerEl();\n      if (!sc) return;\n\n      const target = lastGridScrollTop[tab] || 0;\n\n      const setNow = () => { sc.scrollTop = target; };\n      setNow();\n      requestAnimationFrame(() => {\n        setNow();\n        requestAnimationFrame(() => {\n          setNow();\n          setTimeout(setNow, 40);\n          setTimeout(setNow, 90);\n          setTimeout(setNow, 160);\n        });\n      });\n    }\n\n    viewerToGrid.addEventListener('click', (e) => {\n      if (e){ e.preventDefault(); e.stopPropagation(); }\n      if (document.activeElement && document.activeElement.blur) document.activeElement.blur();\n\n      if (!viewerOpenedFromGrid){\n        closeViewerOnly();\n\n        openOverlay(overviewOverlay);\n        setTabsActive('all');\n\n        const initial = Math.min(estimateInitialSkeletonCount(), getTabTotal('all'));\n        renderSkeletonGrid('all', initial);\n\n        const sc = scrollerEl();\n        if (sc){\n          requestAnimationFrame(() => { sc.scrollTop = 0; });\n        }\n        lastGridScrollTop.all = 0;\n\n        \/\/ Force-load immediately\n        forceLoadFirstScreens();\n        loadTilesInActiveWindow();\n        fillPreloadedTiles('all');\n        return;\n      }\n\n      viewerOverlay.style.pointerEvents = 'none';\n\n      requestAnimationFrame(() => {\n        restoreGridExact(activeTab);\n        requestAnimationFrame(() => {\n          closeViewerOnly();\n          viewerOverlay.style.pointerEvents = '';\n        });\n      });\n    });\n\n    document.addEventListener('keydown', (e) => {\n      if (e.key !== 'Escape') return;\n      if (viewerOverlay.classList.contains('is-open')){\n        closeViewerOnly();\n        postCloseSafety();\n      } else if (overviewOverlay.classList.contains('is-open')){\n        closeOverlay(overviewOverlay);\n        resetGalleryStateHard();\n        postCloseSafety();\n      }\n    });\n\n    overviewOverlay.addEventListener('click', (e) => {\n      if (e.target === overviewOverlay){\n        closeOverlay(overviewOverlay);\n        resetGalleryStateHard();\n        postCloseSafety();\n      }\n    });\n    viewerOverlay.addEventListener('click', (e) => {\n      if (e.target === viewerOverlay){\n        closeViewerOnly();\n        postCloseSafety();\n      }\n    });\n\n    function stopHoldOnTabImg(img){\n      if (!img) return;\n      img.setAttribute('draggable','false');\n      img.style.webkitUserDrag = 'none';\n      img.style.userSelect = 'none';\n      img.style.webkitTouchCallout = 'none';\n      img.style.webkitTapHighlightColor = 'transparent';\n\n      img.addEventListener('contextmenu', (e) => { e.preventDefault(); }, { passive:false });\n      img.addEventListener('dragstart', (e) => { e.preventDefault(); }, { passive:false });\n    }\n    stopHoldOnTabImg(tabImgAll);\n    stopHoldOnTabImg(tabImgOur);\n    stopHoldOnTabImg(tabImgGuests);\n\n    updateHero();\n    startIdleBackgroundPreload();\n  })();\n<\/script>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4f1917f e-con-full e-flex e-con e-child\" data-id=\"4f1917f\" data-element_type=\"container\" data-e-type=\"container\" id=\"tabs-trigger\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72675cb elementor-widget elementor-widget-html\" data-id=\"72675cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .simple-tabs,\n  .simple-tabs *{\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .simple-tabs{\n    display:flex;\n    gap:32px;\n    background:#fff;\n  }\n\n  .simple-tab{\n    font-family:Poppins, Arial, sans-serif;\n    font-weight:600;\n    font-size:15px;\n    color:#111 !important;\n    text-decoration:none !important;\n    padding-bottom:8px;\n    border-bottom:2px solid transparent;\n    outline:none;\n  }\n\n  .simple-tab:hover,\n  .simple-tab:active,\n  .simple-tab:focus,\n  .simple-tab:visited{\n    color:#111 !important;\n  }\n\n  \/* ALWAYS underline OVERVIEW *\/\n  .simple-tab[data-id=\"gallery\"]{\n    border-bottom-color:#111;\n  }\n\n  @media (max-width:767px){\n    .simple-tab{ font-size:15px; }\n  }\n<\/style>\n\n<nav class=\"simple-tabs\">\n  <a href=\"#overview\" class=\"simple-tab\" data-id=\"gallery\">Overview<\/a>\n  <a href=\"#details\"  class=\"simple-tab\" data-id=\"details\">Details<\/a>\n  <a href=\"#reviews\"  class=\"simple-tab\" data-id=\"reviews\">Reviews<\/a>\n<\/nav>\n\n<script>\n(function(){\n  const tabs = document.querySelectorAll('.simple-tab');\n\n  \/\/ Scroll only. Underline NEVER changes.\n  tabs.forEach(tab=>{\n    tab.addEventListener('click', e=>{\n      const id = tab.dataset.id;\n      const section = document.getElementById(id);\n      if(!section) return;\n      e.preventDefault();\n      section.scrollIntoView({ behavior:'smooth', block:'start' });\n    });\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d0a0a91 e-con-full e-flex e-con e-child\" data-id=\"d0a0a91\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25a4325 elementor-widget elementor-widget-html\" data-id=\"25a4325\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ta-about\">\n  <input type=\"checkbox\" id=\"ta-toggle\" class=\"ta-toggle\">\n\n  <div class=\"ta-text\">\n    Discover Miami from the water on a private boat experience designed just for you and your group aboard a spacious 29-foot Sea Ray. Cruise past the city\u2019s iconic skyline and islands, stop at scenic sandbars, and enjoy a relaxed day on the water with music, swimming, and unforgettable views. Whether you\u2019re celebrating a special occasion or simply looking to unwind, this private charter offers the perfect balance of comfort, flexibility, and fun.\n  <\/div>\n\n  <label for=\"ta-toggle\" class=\"ta-tail\">\n    <span class=\"ta-dots\"><span>.<\/span><span>.<\/span><span>.<\/span><\/span>\n    <span class=\"ta-link\">Read more<\/span>\n  <\/label>\n\n  <label for=\"ta-toggle\" class=\"ta-less\">Read less<\/label>\n<\/div>\n\n<style>\n\/* CONFIG *\/\n.ta-about{ --lines: 4; }\n.ta-toggle{ display:none; }\n\n.ta-text{\n  line-height:1.6em;\n  font-weight:400;\n  font-family:\"Poppins\", sans-serif;\n  font-size:15px;\n  color:#000;\n}\n\n\/* MOBILE *\/\n@media (max-width: 767px){\n  .ta-about{ position:relative; }\n\n  .ta-text{\n    display:-webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: var(--lines);\n    overflow:hidden;\n    position:relative;\n  }\n\n  .ta-text::after{\n    content:\"\";\n    position:absolute;\n    left:11em; right:0; bottom:0;\n    height:1.6em;\n    background:linear-gradient(to right, rgba(255,255,255,0), #fff);\n    pointer-events:none;\n  }\n\n  .ta-tail{\n    position:absolute;\n    right:0;\n    bottom:0;\n    display:inline-flex;\n    align-items:flex-end;\n    background:#fff;\n    padding-left:8px;\n    cursor:pointer;\n    white-space:nowrap;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .ta-dots{\n    display:inline-flex;\n    gap:2px;\n    margin-right:2px;\n    --dot-size:1.7px;\n    --dot-y:-4px;\n  }\n\n  .ta-dots span{\n    position:relative;\n    width:var(--dot-size);\n    height:var(--dot-size);\n    display:inline-block;\n    color:transparent;\n  }\n\n  .ta-dots span::before{\n    content:\"\";\n    position:absolute;\n    width:100%;\n    height:100%;\n    background:#111;\n    border-radius:50%;\n    transform:translateY(var(--dot-y));\n  }\n\n  .ta-link{\n    font-weight:600;\n    text-decoration:underline;\n    color:#000;\n    font-size:14px;\n  }\n\n  .ta-less{\n    display:none;\n    font-weight:600;\n    text-decoration:underline;\n    color:#000;\n    font-size:14px;\n    cursor:pointer;\n  }\n\n  .ta-toggle:checked ~ .ta-text{\n    -webkit-line-clamp:unset;\n    overflow:visible;\n  }\n\n  .ta-toggle:checked ~ .ta-text::after{ display:none; }\n  .ta-toggle:checked ~ .ta-tail{ display:none; }\n\n  .ta-toggle:checked ~ .ta-less{\n    display:block;\n    margin-top:17px;\n  }\n\n  \/* \ud83d\udd25 HIDE EVERYTHING IF NOT NEEDED *\/\n  .ta-about.no-toggle .ta-text{\n    display:block !important;\n    overflow:visible !important;\n    -webkit-line-clamp:unset !important;\n  }\n\n  .ta-about.no-toggle .ta-text::after{\n    display:none !important;\n  }\n\n  .ta-about.no-toggle .ta-tail,\n  .ta-about.no-toggle .ta-less{\n    display:none !important;\n  }\n}\n\n\/* DESKTOP *\/\n@media (min-width:768px){\n  .ta-tail,\n  .ta-less{\n    display:none !important;\n  }\n}\n<\/style>\n\n<script>\n(function(){\n\n  const block = document.querySelector('.ta-about');\n  const text = block.querySelector('.ta-text');\n\n  function check(){\n    const style = getComputedStyle(text);\n    const lineHeight = parseFloat(style.lineHeight);\n    const lines = parseInt(getComputedStyle(block).getPropertyValue('--lines')) || 4;\n    const maxHeight = lineHeight * lines;\n\n    if(text.scrollHeight <= maxHeight + 1){\n      block.classList.add('no-toggle');\n    } else {\n      block.classList.remove('no-toggle');\n    }\n  }\n\n  window.addEventListener('load', check);\n  window.addEventListener('resize', check);\n\n  \/\/ reset toggle on page restore\n  const t = document.getElementById('ta-toggle');\n  if(t){\n    function collapse(){ t.checked = false; }\n    window.addEventListener('pageshow', collapse);\n    document.addEventListener('visibilitychange', () => {\n      if(!document.hidden) collapse();\n    });\n  }\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f1934c5 e-con-full e-flex e-con e-child\" data-id=\"f1934c5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-093ec61 elementor-widget elementor-widget-html\" data-id=\"093ec61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- GUEST LOVERS (CLASS: mya-guest-lovers) -->\n<!-- FULL ADAPTABLE CODE (Icon stays glued to the LAST WORD of the FIRST LINE) -->\n<div class=\"mya-guest-lovers\" data-gap=\"6\" data-y=\"-3\">\n  <span class=\"mya-text\">Why guests love us<\/span>\n  <button type=\"button\" class=\"mya-info\" aria-label=\"More info\">\n    <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/Info-Link-Icon4.svg\" alt=\"Info\" \/>\n  <\/button>\n<\/div>\n\n<style>\n  .mya-guest-lovers{\n    position: relative;\n    display: block;\n    max-width: 100%;\n\n    \/* Your Elementor typography *\/\n    font-family: Poppins, system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\n    font-size: 19px;\n    font-weight: 700;\n    line-height: 1.6;\n    letter-spacing: 0;\n    color: #000;\n\n    \/* Reserve space for icon so it never overlaps text *\/\n    padding-right: 26px;\n  }\n\n  .mya-guest-lovers .mya-text{\n    display: inline;\n    white-space: normal;\n  }\n\n  .mya-guest-lovers .mya-info{\n    position: absolute;\n    width: 14px;\n    height: 14px;\n    border: 0px solid #111;\n    background: #fff;\n    color: #000;\n    opacity: 1;\n\n    font-size: 12px;\n    line-height: 16px;\n    padding: 0;\n    cursor: pointer;\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n\n    \/* set by JS *\/\n    left: 0;\n    top: 0;\n\n    -webkit-tap-highlight-color: transparent;\n    touch-action: manipulation;\n  }\n\n  \/* BIG TRANSPARENT TAP AREA (does NOT change layout or spacing) *\/\n  .mya-guest-lovers .mya-info::before{\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    top: 50%;\n    width: 40px;\n    height: 40px;\n    transform: translate(-50%, -50%);\n    background: transparent;\n  }\n\n  .mya-guest-lovers .mya-info img{\n    width: 14px;\n    height: 14px;\n    display: block;\n    pointer-events: none;\n  }\n<\/style>\n\n<script>\n(() => {\n  const POPUP_SLUG = \"trustindex-reviews\";\n\n  function showPopup(){\n    \/\/ \u2705 Open your custom MYA popup (data-mya-popup=\"trustindex-reviews\")\n    if (window.MYA_POP && typeof window.MYA_POP.open === \"function\"){\n      window.MYA_POP.open(POPUP_SLUG);\n      return true;\n    }\n\n    \/\/ Fallback (if you ever switch this trigger to an Elementor Pro popup)\n    const api = window.elementorProFrontend?.modules?.popup;\n    if (api?.showPopup && \/^\\d+$\/.test(String(POPUP_SLUG))){\n      api.showPopup({ id: Number(POPUP_SLUG) });\n      return true;\n    }\n\n    return false;\n  }\n\n  function openPopup(){\n    if (window.__myaPopupLock__guest_lovers) return;\n    window.__myaPopupLock__guest_lovers = true;\n\n    if (showPopup()) {\n      setTimeout(() => { window.__myaPopupLock__guest_lovers = false; }, 300);\n      return;\n    }\n\n    let tries = 0;\n    const t = setInterval(() => {\n      tries++;\n      if (showPopup() || tries >= 20) clearInterval(t);\n      if (tries >= 2) window.__myaPopupLock__guest_lovers = false;\n    }, 150);\n  }\n\n  function placeIcon(wrapper){\n    const textEl = wrapper.querySelector('.mya-text');\n    const iconEl = wrapper.querySelector('.mya-info');\n    if (!textEl || !iconEl) return;\n\n    const tn = textEl.firstChild;\n    if (!tn || tn.nodeType !== Node.TEXT_NODE) return;\n\n    const full = tn.textContent || '';\n    if (!full.trim()) return;\n\n    const gap = Number(wrapper.dataset.gap || 6);\n    const yOffset = Number(wrapper.dataset.y || 0);\n    const wRect = wrapper.getBoundingClientRect();\n\n    const iconW = iconEl.offsetWidth || 18;\n    wrapper.style.paddingRight = (iconW + gap + 2) + 'px';\n\n    const range = document.createRange();\n\n    range.setStart(tn, 0);\n    range.setEnd(tn, Math.min(1, full.length));\n    const r0 = range.getClientRects()[0];\n    if (!r0) return;\n    const firstLineBottom = r0.bottom;\n\n    let lo = 1, hi = full.length, best = 1;\n\n    while (lo <= hi){\n      const mid = (lo + hi) >> 1;\n      range.setStart(tn, 0);\n      range.setEnd(tn, mid);\n      const rects = range.getClientRects();\n      const last = rects[rects.length - 1];\n      if (!last){ hi = mid - 1; continue; }\n\n      const sameLine = Math.abs(last.bottom - firstLineBottom) < 1;\n      if (sameLine){\n        best = mid;\n        lo = mid + 1;\n      } else {\n        hi = mid - 1;\n      }\n    }\n\n    range.setStart(tn, 0);\n    range.setEnd(tn, best);\n    const rects = range.getClientRects();\n    const last = rects[rects.length - 1];\n    if (!last) return;\n\n    let left = (last.right - wRect.left) + gap;\n    let top  = (last.top  - wRect.top);\n\n    const maxLeft = wrapper.clientWidth - iconW;\n    left = Math.max(0, Math.min(left, maxLeft));\n\n    const lineH = (last.bottom - last.top) || (14 * 1.6);\n    top = top + (lineH - iconEl.offsetHeight) \/ 2 + yOffset;\n\n    iconEl.style.left = left + 'px';\n    iconEl.style.top  = top + 'px';\n  }\n\n  function init(){\n    document.querySelectorAll('.mya-guest-lovers').forEach(w => {\n      placeIcon(w);\n\n      const ro = new ResizeObserver(() => placeIcon(w));\n      ro.observe(w);\n\n      if (document.fonts && document.fonts.ready){\n        document.fonts.ready.then(() => placeIcon(w));\n      }\n\n      window.addEventListener('resize', () => placeIcon(w), { passive: true });\n    });\n\n    if (window.__myaTapGuard__guest_lovers) return;\n    window.__myaTapGuard__guest_lovers = true;\n\n    const TAP_PX = 10;\n\n    let startX = 0, startY = 0, tracking = false, targetBtn = null, lastPointerType = \"\";\n\n    const onDown = (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-guest-lovers .mya-info');\n      if (!btn) return;\n\n      tracking = true;\n      targetBtn = btn;\n      lastPointerType = e.pointerType || \"\";\n\n      const p = e.touches ? e.touches[0] : e;\n      startX = p.clientX;\n      startY = p.clientY;\n    };\n\n    const onUp = (e) => {\n      if (!tracking || !targetBtn) return;\n\n      const p = e.changedTouches ? e.changedTouches[0] : e;\n      const dx = Math.abs(p.clientX - startX);\n      const dy = Math.abs(p.clientY - startY);\n\n      tracking = false;\n\n      if (dx <= TAP_PX && dy <= TAP_PX){\n        e.preventDefault();\n        e.stopPropagation();\n\n        if ((e.pointerType || lastPointerType) === \"mouse\"){\n          setTimeout(openPopup, 0);\n        } else {\n          openPopup();\n        }\n      }\n\n      targetBtn = null;\n      lastPointerType = \"\";\n    };\n\n    document.addEventListener('pointerdown', onDown, true);\n    document.addEventListener('pointerup', onUp, true);\n\n    document.addEventListener('touchstart', onDown, { passive: true, capture: true });\n    document.addEventListener('touchend', onUp, { passive: false, capture: true });\n\n    document.addEventListener('click', (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-guest-lovers .mya-info');\n      if (!btn) return;\n      e.preventDefault();\n      e.stopPropagation();\n      if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n    }, true);\n\n    document.addEventListener('keydown', (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-guest-lovers .mya-info');\n      if (!btn) return;\n      if (e.key === 'Enter' || e.key === ' '){\n        e.preventDefault();\n        openPopup();\n      }\n    }, true);\n  }\n\n  if (document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1042426 elementor-widget elementor-widget-html\" data-id=\"1042426\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- TOP TRUSTINDEX WIDGET -->\n<section id=\"ti-top\">\n  <script defer async src=\"https:\/\/cdn.trustindex.io\/loader.js?999e32e544bf21294606159e35d\"><\/script>\n<\/section>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n  \/\/ Watch for the review count link inside the top widget\n  const observer = new MutationObserver(() => {\n    const reviewLink = document.querySelector(\"#ti-top .ti-mob-row span.nowrap\");\n    if (reviewLink && !reviewLink.dataset.bound) {\n      reviewLink.dataset.bound = \"true\"; \/\/ prevent double-binding\n      reviewLink.style.cursor = \"pointer\";\n\n      reviewLink.addEventListener(\"click\", function(e) {\n        e.preventDefault();\n        const target = document.getElementById(\"reviews\");\n        if (target) {\n          target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        }\n      });\n    }\n  });\n\n  \/\/ observe the top widget for injected content\n  const tiTop = document.getElementById(\"ti-top\");\n  if (tiTop) {\n    observer.observe(tiTop, { childList: true, subtree: true });\n  }\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31a017a elementor-widget elementor-widget-html\" data-id=\"31a017a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script defer async src=\"https:\/\/cdn.trustindex.io\/loader.js?0aa6e9b5456c317a9c56bd44953\"><\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cbe5685 e-con-full e-flex e-con e-child\" data-id=\"cbe5685\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59075d5 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"59075d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ae3439a e-con-full e-flex e-con e-child\" data-id=\"ae3439a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0ab695b e-con-full e-flex e-con e-child\" data-id=\"0ab695b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-1795eea e-con-full e-flex e-con e-child\" data-id=\"1795eea\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f128ea elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-image\" data-id=\"4f128ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"20022\" data-permalink=\"https:\/\/myaboatcharters.com\/de\/home-2\/viator-award5\/\" data-orig-file=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?fit=500%2C500&amp;ssl=1\" data-orig-size=\"500,500\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Viator Award5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?fit=500%2C500&amp;ssl=1\" width=\"500\" height=\"500\" src=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?fit=500%2C500&amp;ssl=1\" class=\"attachment-full size-full wp-image-20022\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?resize=12%2C12&amp;ssl=1 12w, https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?resize=100%2C100&amp;ssl=1 100w\" sizes=\"(max-width: 500px) 100vw, 500px\" data-attachment-id=\"20022\" data-permalink=\"https:\/\/myaboatcharters.com\/de\/home-2\/viator-award5\/\" data-orig-file=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?fit=500%2C500&amp;ssl=1\" data-orig-size=\"500,500\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Viator Award5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/myaboatcharters.com\/wp-content\/uploads\/2025\/08\/Viator-Award5.webp?fit=500%2C500&amp;ssl=1\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-22e3f2f e-con-full e-flex e-con e-child\" data-id=\"22e3f2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-9e31869 e-con-full e-flex e-con e-child\" data-id=\"9e31869\" data-element_type=\"container\" data-e-type=\"container\" id=\"award-row\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd5f8d9 elementor-widget elementor-widget-html\" data-id=\"dd5f8d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- VIATOR AWARD (CLASS: mya-viator-award) -->\n<!-- FULL ADAPTABLE CODE (Icon stays glued to the LAST WORD of the FIRST LINE) -->\n<div class=\"mya-viator-award\" data-gap=\"6\" data-y=\"-3\">\n  <span class=\"mya-text\">Award-winning experience<\/span>\n  <button type=\"button\" class=\"mya-info\" aria-label=\"More info\">\n    <img decoding=\"async\" src=\"https:\/\/myaboatcharters.com\/wp-content\/uploads\/2025\/09\/Info-Link-Icon4.svg\" alt=\"Info\" \/>\n  <\/button>\n<\/div>\n\n<style>\n  .mya-viator-award{\n    position: relative;\n    display: block;\n    max-width: 100%;\n\n    \/* Your Elementor typography *\/\n    font-family: Poppins, system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\n    font-size: 18px;\n    font-weight: 600;\n    line-height: 1.6;\n    letter-spacing: 0;\n    color: #000;\n\n    \/* Reserve space for icon so it never overlaps text *\/\n    padding-right: 26px;\n  }\n\n  .mya-viator-award .mya-text{\n    display: inline;\n    white-space: normal;\n  }\n\n  .mya-viator-award .mya-info{\n    position: absolute;\n    width: 14px;\n    height: 14px;\n    border: 0px solid #111;\n    background: #fff;\n    color: #000;\n    opacity: 1;\n\n    font-size: 12px;\n    line-height: 16px;\n    padding: 0;\n    cursor: pointer;\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n\n    \/* set by JS *\/\n    left: 0;\n    top: 0;\n\n    -webkit-tap-highlight-color: transparent;\n    touch-action: manipulation;\n  }\n\n  \/* BIG TRANSPARENT TAP AREA (does NOT change layout or spacing) *\/\n  .mya-viator-award .mya-info::before{\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    top: 50%;\n    width: 40px;\n    height: 40px;\n    transform: translate(-50%, -50%);\n    background: transparent;\n  }\n\n  .mya-viator-award .mya-info img{\n    width: 14px;\n    height: 14px;\n    display: block;\n    pointer-events: none;\n  }\n<\/style>\n\n<script>\n(() => {\n  const MYA_POPUP_KEY = \"viator-experience-award\";\n\n  function showPopup(){\n    const api = window.MYA_POP;\n    if (api?.open){\n      api.open(MYA_POPUP_KEY);\n      return true;\n    }\n\n    \/\/ fallback if engine exposes openPop globally\n    const openPop = window.openPop || window.openPopUp || window.myaOpenPop;\n    if (typeof openPop === \"function\"){\n      openPop(MYA_POPUP_KEY);\n      return true;\n    }\n\n    return false;\n  }\n\n  function openPopup(){\n    if (window.__myaPopupLock__viator_award) return;\n    window.__myaPopupLock__viator_award = true;\n\n    if (showPopup()) {\n      setTimeout(() => { window.__myaPopupLock__viator_award = false; }, 300);\n      return;\n    }\n\n    let tries = 0;\n    const t = setInterval(() => {\n      tries++;\n      if (showPopup() || tries >= 20) clearInterval(t);\n      if (tries >= 2) window.__myaPopupLock__viator_award = false;\n    }, 150);\n  }\n\n  function placeIcon(wrapper){\n    const textEl = wrapper.querySelector('.mya-text');\n    const iconEl = wrapper.querySelector('.mya-info');\n    if (!textEl || !iconEl) return;\n\n    const tn = textEl.firstChild;\n    if (!tn || tn.nodeType !== Node.TEXT_NODE) return;\n\n    const full = tn.textContent || '';\n    if (!full.trim()) return;\n\n    const gap = Number(wrapper.dataset.gap || 6);\n    const yOffset = Number(wrapper.dataset.y || 0); \/\/ \u2190 ADDED\n    const wRect = wrapper.getBoundingClientRect();\n\n    const iconW = iconEl.offsetWidth || 18;\n    wrapper.style.paddingRight = (iconW + gap + 2) + 'px';\n\n    const range = document.createRange();\n\n    range.setStart(tn, 0);\n    range.setEnd(tn, Math.min(1, full.length));\n    const r0 = range.getClientRects()[0];\n    if (!r0) return;\n    const firstLineBottom = r0.bottom;\n\n    let lo = 1, hi = full.length, best = 1;\n\n    while (lo <= hi){\n      const mid = (lo + hi) >> 1;\n      range.setStart(tn, 0);\n      range.setEnd(tn, mid);\n      const rects = range.getClientRects();\n      const last = rects[rects.length - 1];\n      if (!last){ hi = mid - 1; continue; }\n\n      const sameLine = Math.abs(last.bottom - firstLineBottom) < 1;\n      if (sameLine){\n        best = mid;\n        lo = mid + 1;\n      } else {\n        hi = mid - 1;\n      }\n    }\n\n    range.setStart(tn, 0);\n    range.setEnd(tn, best);\n    const rects = range.getClientRects();\n    const last = rects[rects.length - 1];\n    if (!last) return;\n\n    let left = (last.right - wRect.left) + gap;\n    let top  = (last.top  - wRect.top);\n\n    const maxLeft = wrapper.clientWidth - iconW;\n    left = Math.max(0, Math.min(left, maxLeft));\n\n    const lineH = (last.bottom - last.top) || (14 * 1.6);\n    top = top + (lineH - iconEl.offsetHeight) \/ 2 + yOffset; \/\/ \u2190 ADDED\n\n    iconEl.style.left = left + 'px';\n    iconEl.style.top  = top + 'px';\n  }\n\n  function init(){\n    document.querySelectorAll('.mya-viator-award').forEach(w => {\n      placeIcon(w);\n\n      const ro = new ResizeObserver(() => placeIcon(w));\n      ro.observe(w);\n\n      if (document.fonts && document.fonts.ready){\n        document.fonts.ready.then(() => placeIcon(w));\n      }\n\n      window.addEventListener('resize', () => placeIcon(w), { passive: true });\n    });\n\n    if (window.__myaTapGuard__viator_award) return;\n    window.__myaTapGuard__viator_award = true;\n\n    const TAP_PX = 10;\n\n    let startX = 0, startY = 0, tracking = false, targetBtn = null, lastPointerType = \"\";\n\n    const onDown = (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-viator-award .mya-info');\n      if (!btn) return;\n\n      tracking = true;\n      targetBtn = btn;\n      lastPointerType = e.pointerType || \"\";\n\n      const p = e.touches ? e.touches[0] : e;\n      startX = p.clientX;\n      startY = p.clientY;\n    };\n\n    const onUp = (e) => {\n      if (!tracking || !targetBtn) return;\n\n      const p = e.changedTouches ? e.changedTouches[0] : e;\n      const dx = Math.abs(p.clientX - startX);\n      const dy = Math.abs(p.clientY - startY);\n\n      tracking = false;\n\n      if (dx <= TAP_PX && dy <= TAP_PX){\n        e.preventDefault();\n        e.stopPropagation();\n\n        if ((e.pointerType || lastPointerType) === \"mouse\"){\n          setTimeout(openPopup, 0);\n        } else {\n          openPopup();\n        }\n      }\n\n      targetBtn = null;\n      lastPointerType = \"\";\n    };\n\n    document.addEventListener('pointerdown', onDown, true);\n    document.addEventListener('pointerup', onUp, true);\n\n    document.addEventListener('touchstart', onDown, { passive: true, capture: true });\n    document.addEventListener('touchend', onUp, { passive: false, capture: true });\n\n    document.addEventListener('click', (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-viator-award .mya-info');\n      if (!btn) return;\n      e.preventDefault();\n      e.stopPropagation();\n      if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n    }, true);\n\n    document.addEventListener('keydown', (e) => {\n      const btn = e.target.closest && e.target.closest('.mya-viator-award .mya-info');\n      if (!btn) return;\n      if (e.key === 'Enter' || e.key === ' '){\n        e.preventDefault();\n        openPopup();\n      }\n    }, true);\n  }\n\n  if (document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be86170 elementor-widget elementor-widget-text-editor\" data-id=\"be86170\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Viator 2025<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d2beeb e-con-full e-flex e-con e-child\" data-id=\"4d2beeb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-56558d4 elementor-widget elementor-widget-heading\" data-id=\"56558d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Highlights<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-35f2c3e elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"35f2c3e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Cruise past Miami\u2019s skyline &amp; islands<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Drop anchor at a scenic sandbar<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Play your own music on a premium sound system<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Enjoy a spacious layout with shaded seating, restroom, and room for up to 10 guests<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Bring your favorite drinks and snacks (coolers, ice, and water provided)<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fefcc59 e-con-full e-flex e-con e-child\" data-id=\"fefcc59\" data-element_type=\"container\" data-e-type=\"container\" id=\"details\">\n\t\t\t\t<div class=\"elementor-element elementor-element-05fb59b elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"05fb59b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47cb35c acc-sync-1 elementor-widget elementor-widget-n-accordion\" data-id=\"47cb35c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;max_items_expended&quot;:&quot;multiple&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;all_collapsed&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-7520\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-7520\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What's included <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-7520\" class=\"elementor-element elementor-element-3bfd983 e-con-full e-flex e-con e-child\" data-id=\"3bfd983\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cafb6f6 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"cafb6f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Cooler with ice, bottled water &amp; cups<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Towels<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Floating water mat\u2028<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Premium Bluetooth sound system<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Onboard restroom<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M47 281.593L193.732 454.565C196.403 457.713 201.38 457.286 203.477 453.73L445 44\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">BYOB: bring your own drinks and snacks onboard<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1345280 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1345280\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc41895 elementor-widget elementor-widget-heading\" data-id=\"dc41895\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What's not included<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5838aa elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"f5838aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"452\" height=\"500\" viewBox=\"0 0 452 500\" fill=\"none\"><path d=\"M42.4878 48L408.608 451.721\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><path d=\"M408.608 48L42.4881 451.721\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Captain surcharge - USD 50 per hour<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"452\" height=\"500\" viewBox=\"0 0 452 500\" fill=\"none\"><path d=\"M42.4878 48L408.608 451.721\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><path d=\"M408.608 48L42.4881 451.721\" stroke=\"black\" stroke-width=\"65\" stroke-linecap=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Fuel surcharge - USD 50 per booking<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b292617 elementor-widget elementor-widget-html\" data-id=\"b292617\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a href=\"#\"\n   data-mya-open=\"captain-fuel-info\"\n   class=\"mya-popup-trigger\">\n  See details\n<\/a>\n\n<style>\n.mya-popup-trigger{\n  font-family: Poppins, system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\n  font-weight:600;\n  font-size:14.5px;           \/* desktop *\/\n  color:#000;\n  text-decoration:underline;\n  cursor:pointer;\n}\n\n\/* keep color black in all states *\/\n.mya-popup-trigger:hover,\n.mya-popup-trigger:active,\n.mya-popup-trigger:focus{\n  color:#000;\n}\n\n@media (max-width:1024px){\n  .mya-popup-trigger{\n    font-size:15.1px;         \/* phone *\/\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-00adda0 e-con-full e-flex e-con e-child\" data-id=\"00adda0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aaafe3d elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"aaafe3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19864f4 elementor-widget elementor-widget-menu-anchor\" data-id=\"19864f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"how-it-works\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f0bcca acc-sync-1 elementor-widget elementor-widget-n-accordion\" data-id=\"8f0bcca\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"howItWorksAccordion\" data-settings=\"{&quot;max_items_expended&quot;:&quot;multiple&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;all_collapsed&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1490\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1490\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How it works <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-60ffd49 e-con-full e-flex e-con e-child\" data-id=\"60ffd49\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-7387287 e-con-full e-flex e-con e-child\" data-id=\"7387287\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ef61fe elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"3ef61fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"242.5\" stroke=\"black\" stroke-width=\"15\"><\/circle><path d=\"M255.132 319C249.915 319 247.306 316.088 247.306 310.264V211.438L230.562 221.994C225.587 225.27 221.826 224.663 219.278 220.174C216.366 215.685 217.397 211.923 222.372 208.89L246.032 194.33C249.308 192.267 252.827 191.236 256.588 191.236C260.713 191.236 262.776 194.148 262.776 199.972V310.264C262.776 316.088 260.228 319 255.132 319Z\" fill=\"black\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Reserve your boat<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-dfcc1b2 e-con-full e-flex e-con e-child\" data-id=\"dfcc1b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3f8485b elementor-widget elementor-widget-text-editor\" data-id=\"3f8485b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">Booking your private boat charter is quick and easy. Just choose your preferred time and experience, and you\u2019ll receive a confirmation <\/span><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">email with all the main details. The meeting point will be provided once your captain is confirmed in Step 2.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-858cd68 e-con-full e-flex e-con e-child\" data-id=\"858cd68\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9630141 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"9630141\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"242.5\" stroke=\"black\" stroke-width=\"15\"><\/circle><path d=\"M223.56 319C217.736 319 214.824 317.301 214.824 313.904C214.824 304.925 217.372 296.311 222.468 288.06C227.685 279.809 235.208 271.013 245.036 261.67C249.161 257.666 252.983 253.723 256.502 249.84C260.142 245.836 263.115 241.893 265.42 238.01C267.725 234.127 268.939 230.366 269.06 226.726C269.303 219.567 267.665 214.229 264.146 210.71C260.627 207.191 255.653 205.432 249.222 205.432C244.733 205.432 240.971 206.767 237.938 209.436C234.905 211.984 232.903 215.685 231.932 220.538C231.204 223.207 230.233 225.27 229.02 226.726C227.807 228.182 225.926 228.91 223.378 228.91C220.951 228.91 219.01 228.121 217.554 226.544C216.219 224.845 215.795 222.54 216.28 219.628C217.857 210.649 221.558 203.551 227.382 198.334C233.327 193.117 240.607 190.508 249.222 190.508C256.259 190.508 262.447 191.964 267.786 194.876C273.246 197.667 277.432 201.792 280.344 207.252C283.377 212.712 284.773 219.325 284.53 227.09C284.409 232.793 283.013 238.131 280.344 243.106C277.675 247.959 274.217 252.691 269.97 257.302C265.723 261.913 260.991 266.766 255.774 271.862C249.95 277.807 244.611 283.571 239.758 289.152C235.026 294.612 232.235 299.769 231.386 304.622H273.974C279.798 304.622 282.71 306.988 282.71 311.72C282.71 316.573 279.798 319 273.974 319H223.56Z\" fill=\"black\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\"> Choose your captain<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-54a8de8 e-con-full e-flex e-con e-child\" data-id=\"54a8de8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e6b24c4 elementor-widget elementor-widget-text-editor\" data-id=\"e6b24c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<!-- TEXT EDITOR COPY (same look; now opens the popup) -->\nThe day before your trip, we\u2019ll share a list of experienced, independent <a style=\"color: #000; text-decoration: underline; font-weight: 500; cursor: pointer;\" href=\"#\" data-mya-open=\"uscg-captain\">\nUSCG-licensed captains\n<\/a> who know our boats inside and out. Pick the one you\u2019d like to hire, and we\u2019ll connect you both by sharing contact information.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-f37573f e-con-full e-flex e-con e-child\" data-id=\"f37573f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9afb4f0 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"9afb4f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"242.5\" stroke=\"black\" stroke-width=\"15\"><\/circle><path d=\"M245.676 321.002C238.517 321.002 232.208 319.364 226.748 316.088C221.409 312.691 217.163 308.08 214.008 302.256C212.431 299.587 212.067 297.342 212.916 295.522C213.765 293.581 215.343 292.185 217.648 291.336C220.075 290.608 222.077 290.669 223.654 291.518C225.231 292.367 226.809 293.823 228.386 295.886C230.085 298.798 232.329 301.225 235.12 303.166C238.032 305.107 241.429 306.078 245.312 306.078C252.592 306.078 258.295 304.258 262.42 300.618C266.545 296.857 268.608 291.033 268.608 283.146C268.608 275.987 266.363 270.224 261.874 265.856C257.506 261.488 251.621 259.304 244.22 259.304C239.245 259.304 236.758 256.877 236.758 252.024C236.758 247.292 239.245 244.926 244.22 244.926C251.136 244.926 256.353 242.924 259.872 238.92C263.512 234.916 265.332 229.82 265.332 223.632C265.332 216.716 263.269 211.802 259.144 208.89C255.14 205.978 250.529 204.522 245.312 204.522C241.793 204.522 238.76 205.493 236.212 207.434C233.664 209.375 231.541 211.741 229.842 214.532C228.265 216.595 226.627 218.051 224.928 218.9C223.351 219.628 221.349 219.507 218.922 218.536C216.617 217.565 215.161 216.109 214.554 214.168C213.947 212.227 214.433 210.043 216.01 207.616C219.529 201.671 223.836 197.181 228.932 194.148C234.149 191.115 239.731 189.598 245.676 189.598C256.353 189.598 264.968 192.631 271.52 198.698C278.193 204.643 281.53 212.773 281.53 223.086C281.53 229.638 279.831 235.462 276.434 240.558C273.037 245.654 268.547 249.415 262.966 251.842C269.397 254.147 274.614 258.151 278.618 263.854C282.622 269.557 284.624 276.169 284.624 283.692C284.624 294.733 281.287 303.712 274.614 310.628C268.062 317.544 258.416 321.002 245.676 321.002Z\" fill=\"black\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Arrive and get ready to go<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-67a22e1 e-con-full e-flex e-con e-child\" data-id=\"67a22e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a39ab2 elementor-widget elementor-widget-text-editor\" data-id=\"6a39ab2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tArrive 15 minutes early so there\u2019s plenty of time to check in and meet your captain. You\u2019ll take care of the <a style=\"color: #000; text-decoration: underline; font-weight: 500; cursor: pointer;\" href=\"#\" data-mya-open=\"captain-fuel-info\">captain\u2019s payment<\/a> at the dock before departure \u2014 then all that\u2019s left is to step aboard and enjoy your time on the water.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-7e68294 e-con-full e-flex e-con e-child\" data-id=\"7e68294\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-db8e9e2 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"db8e9e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"242.5\" stroke=\"black\" stroke-width=\"15\"><\/circle><path d=\"M266.334 319C261.481 319 259.054 316.088 259.054 310.264V289.334H216.284C210.46 289.334 207.548 287.271 207.548 283.146C207.548 280.962 207.791 279.081 208.276 277.504C208.761 275.805 209.489 274.046 210.46 272.226L255.96 196.696C258.144 192.813 261.541 190.872 266.152 190.872C271.127 190.872 273.614 193.784 273.614 199.608V275.32H283.624C289.327 275.32 292.178 277.625 292.178 282.236C292.178 286.968 289.933 289.334 285.444 289.334H273.614V310.264C273.614 316.088 271.187 319 266.334 319ZM223.746 275.32H259.054V216.534L223.746 275.32Z\" fill=\"black\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\"> Relax and enjoy the experience<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1490\" class=\"elementor-element elementor-element-c3f8a0c e-con-full e-flex e-con e-child\" data-id=\"c3f8a0c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cce355a elementor-widget elementor-widget-text-editor\" data-id=\"cce355a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">Relax, soak in the views, and make the most of your private boating experience. From your first click to your last wave goodbye, we\u2019re here to make it smooth, fun, and unforgettable.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d15418 e-con-full e-flex e-con e-child\" data-id=\"7d15418\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8fa0420 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8fa0420\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d33b26b acc-sync-1 elementor-widget elementor-widget-n-accordion\" data-id=\"d33b26b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;max_items_expended&quot;:&quot;multiple&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;all_collapsed&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2210\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2210\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Meeting point <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2210\" class=\"elementor-element elementor-element-782e0dd e-con-full e-flex e-con e-child\" data-id=\"782e0dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69743dd elementor-widget elementor-widget-heading\" data-id=\"69743dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Start<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d90ef8 elementor-mobile-position-inline-start elementor-position-inline-start elementor-view-default elementor-widget elementor-widget-icon-box\" data-id=\"1d90ef8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"452\" height=\"500\" viewBox=\"0 0 452 500\" fill=\"none\"><path d=\"M408 201.665C403.055 307.032 261.015 480 226 480C190.986 480 48.9461 302.117 44.0002 201.665C39.0543 101.213 125.484 20 226 20C326.516 20 412.945 96.2982 408 201.665Z\" stroke=\"black\" stroke-width=\"36\"><\/path><path d=\"M225.5 129C267.107 129 301 162.936 301 205C301 247.064 267.107 281 225.5 281C183.893 281 150 247.064 150 205C150 162.936 183.893 129 225.5 129Z\" stroke=\"black\" stroke-width=\"36\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tMiami River, Miami, FL, USA\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tOur Private Charters depart from the Miami River, just minutes from Downtown Miami and South Beach. The exact marina address will be provided once your Captain is coordinated.<br>\n<br>\nPlease check your email and phone notifications after booking your charter; Our team will guide you every step of the way.\u2028\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba8b47d elementor-widget elementor-widget-heading\" data-id=\"ba8b47d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><!-- Meeting End Line -->\n<div class=\"meeting-end\">\n  <span class=\"label\">End:<\/span>\n  <span class=\"desc\">This charter ends back at the meeting point.<\/span>\n<\/div><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-373529f e-con-full e-flex e-con e-child\" data-id=\"373529f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26f6f83 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"26f6f83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81c0c36 e-con-full e-flex e-con e-child\" data-id=\"81c0c36\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f739bf0 elementor-widget elementor-widget-heading\" data-id=\"f739bf0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Know before you go<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a0fdd25 e-con-full e-flex e-con e-child\" data-id=\"a0fdd25\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8ff08f elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"e8ff08f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"239.5\" stroke=\"black\" stroke-width=\"21\"><\/circle><path d=\"M221 206.5C259.5 172.942 291.234 206.5 291.234 206.5L251.388 244.5M294.306 334.446L312.784 277.02C313.629 274.65 311.872 272.158 309.356 272.158L271.5 269.072\" stroke=\"black\" stroke-width=\"17\" stroke-linecap=\"round\"><\/path><circle cx=\"222.066\" cy=\"285.934\" r=\"48.5657\" stroke=\"black\" stroke-width=\"17\"><\/circle><path d=\"M321 162C330.389 162 338 169.611 338 179C338 188.389 330.389 196 321 196C311.611 196 304 188.389 304 179C304 169.611 311.611 162 321 162Z\" stroke=\"black\" stroke-width=\"16\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Accesibility<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-146da83 e-con-full e-flex e-con e-child\" data-id=\"146da83\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-95ab518 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"95ab518\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Not wheelchair accessible<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Stroller accessible<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Children and infants welcome<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Service animals and pets allowed<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\"><!-- TRIGGER (Icon List HTML item \u2013 visual stays the same) --> Pregnant guests <span class=\"bullet-line\">   <span class=\"lead\" data-mya-open=\"pregnant-guests\" style=\"margin-left:3px;font-weight:600;font-size:15.1px;color:#000;text-decoration:underline;cursor:pointer\">     more info   <\/span> <\/span><\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ac26c97 e-con-full e-flex e-con e-child\" data-id=\"ac26c97\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d819c6b elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"d819c6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"239.5\" stroke=\"black\" stroke-width=\"21\"><\/circle><path d=\"M250.5 204V270.5L226 289\" stroke=\"black\" stroke-width=\"18\" stroke-linecap=\"round\"><\/path><path d=\"M258.984 139.38C315.993 143.732 359.704 190.227 361.915 246M190.476 156.583C161.981 174.813 142.094 205.742 139.321 242.07C134.985 298.876 174.012 348.984 228.5 359.877M190.476 156.583L144.029 160.692M190.476 156.583L185.859 197.254\" stroke=\"black\" stroke-width=\"18\" stroke-linecap=\"round\"><\/path><path d=\"M272 332.5L286.5 354L353 295.5\" stroke=\"black\" stroke-width=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Cancellation policy<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-64ca0a2 e-con-full e-flex e-con e-child\" data-id=\"64ca0a2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-afe25a0 elementor-widget elementor-widget-text-editor\" data-id=\"afe25a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">You may cancel up to 24 hours before your charter\u2019s start time for a full refund.\u00a0<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c26b76 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"0c26b76\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Cancellations made at least 24 hours in advance, or in cases of bad weather or verified emergencies, are fully refundable.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dab6f7a elementor-widget elementor-widget-html\" data-id=\"dab6f7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a href=\"#\"\n   data-mya-open=\"cancellation-policy\"\n   class=\"mya-popup-trigger\">\n  Read more\n<\/a>\n\n<style>\n.mya-popup-trigger{\n  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n  font-weight:600;\n  font-size:14.5px;           \/* desktop *\/\n  color:#000;\n  text-decoration:underline;\n  cursor:pointer;\n}\n\n\/* keep color black in all states *\/\n.mya-popup-trigger:hover,\n.mya-popup-trigger:active,\n.mya-popup-trigger:focus{\n  color:#000;\n}\n\n@media (max-width:1024px){\n  .mya-popup-trigger{\n    font-size:15.1px;         \/* phone *\/\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4a7566 elementor-widget elementor-widget-menu-anchor\" data-id=\"e4a7566\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"help\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a99fa1 e-con-full e-flex e-con e-child\" data-id=\"8a99fa1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ae988e elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"4ae988e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"239.5\" stroke=\"black\" stroke-width=\"21\"><\/circle><circle cx=\"250.5\" cy=\"250.5\" r=\"110.5\" stroke=\"black\" stroke-width=\"18\"><\/circle><path d=\"M216 221C216 202.222 231.222 187 250 187C268.778 187 284 202.222 284 221C284 238.085 271.399 252.226 254.984 254.637C252.252 255.039 250 257.239 250 260V287\" stroke=\"black\" stroke-width=\"18\" stroke-linecap=\"round\"><\/path><circle cx=\"250\" cy=\"312\" r=\"9\" fill=\"black\"><\/circle><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Help<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3341a7e e-con-full e-flex e-con e-child\" data-id=\"3341a7e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cca6976 elementor-widget elementor-widget-text-editor\" data-id=\"cca6976\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">Need assistance with your booking or have questions about your private boat charter? <\/span><\/p><p><span data-tt=\"{&quot;paragraphStyle&quot;:{&quot;alignment&quot;:4,&quot;writingDirection&quot;:1}}\">Our team is here to guide you every step of the way.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3feecb5 e-con-full e-flex e-con e-child\" data-id=\"3feecb5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd6657a elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"bd6657a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"554\" height=\"525\" viewBox=\"0 0 554 525\" fill=\"none\"><path d=\"M92.3333 87.5H461.667C487.058 87.5 507.833 107.187 507.833 131.25V393.75C507.833 417.813 487.058 437.5 461.667 437.5H92.3333C66.9416 437.5 46.1666 417.813 46.1666 393.75V131.25C46.1666 107.187 66.9416 87.5 92.3333 87.5Z\" stroke=\"black\" stroke-width=\"36\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><path d=\"M507.833 131.25L290.82 275.208C282.444 280.764 271.556 280.764 263.18 275.208L46.1666 131.25\" stroke=\"black\" stroke-width=\"36\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\"><a href=\"mailto:reservations@myaboatcharters.com?subject=Private%20Boat%20Charter%20Inquiry\" style=\"color:#0d2136;text-decoration:underline;font-weight:600\">   Email us <\/a><\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b83d767 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"b83d767\" data-element_type=\"widget\" data-e-type=\"widget\" data-open-crisp=\"\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"500\" viewBox=\"0 0 500 500\" fill=\"none\"><path d=\"M42.8877 75H456.112C469.305 75.0002 480 85.695 480 98.8877V313.27C480 326.462 469.305 337.157 456.112 337.157H396.085L395.967 355.039L395.561 416.821L192.343 338.365L189.214 337.157H42.8877C29.6949 337.157 19 326.462 19 313.27V98.8877C19.0002 85.695 29.695 75.0002 42.8877 75Z\" stroke=\"black\" stroke-width=\"36\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Chat now<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2f0d0b8 e-con-full e-flex e-con e-child\" data-id=\"2f0d0b8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3c027c1 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"3c027c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"500\" height=\"505\" viewBox=\"0 0 500 505\" fill=\"none\"><circle cx=\"250\" cy=\"250\" r=\"239.5\" stroke=\"black\" stroke-width=\"21\"><\/circle><circle cx=\"250.5\" cy=\"250.5\" r=\"110.5\" stroke=\"black\" stroke-width=\"18\"><\/circle><path d=\"M250 249V307\" stroke=\"black\" stroke-width=\"20\" stroke-linecap=\"round\"><\/path><circle cx=\"10\" cy=\"10\" r=\"10\" transform=\"matrix(1 0 0 -1 240 213)\" fill=\"black\"><\/circle><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Important information<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6faea4f e-con-full e-flex e-con e-child\" data-id=\"6faea4f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1bc3989 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"1bc3989\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Confirmation will be received at time of booking<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Maximum amount of Passengers is 10, including Toddlers and Kids.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">At least one traveler must be 18 years or older.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">The Primary Guest listed on the reservation must present a valid government-issued photo ID at check-in.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21520d3 elementor-widget elementor-widget-html\" data-id=\"21520d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a href=\"#\"\n   data-mya-open=\"important-info\"\n   class=\"mya-popup-trigger\">\n  Read more\n<\/a>\n\n<style>\n.mya-popup-trigger{\n  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n  font-weight:600;\n  font-size:14.5px;           \/* desktop *\/\n  color:#000;\n  text-decoration:underline;\n  cursor:pointer;\n}\n\n\/* keep color black in all states *\/\n.mya-popup-trigger:hover,\n.mya-popup-trigger:active,\n.mya-popup-trigger:focus{\n  color:#000;\n}\n\n@media (max-width:1024px){\n  .mya-popup-trigger{\n    font-size:15.1px;         \/* phone *\/\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e41f9e e-con-full e-flex e-con e-child\" data-id=\"3e41f9e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec22844 elementor-widget elementor-widget-menu-anchor\" data-id=\"ec22844\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"reviews\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-002d6b5 elementor-widget elementor-widget-html\" data-id=\"002d6b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script defer async src='https:\/\/cdn.trustindex.io\/loader.js?c249b56685e1871f530694d9229'><\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Explore Miami by water Book a private boat experience tailored to you. Top pick Sightseeing Cruise Cruise through Miami\u2019s beautiful [&hellip;]<\/p>\n","protected":false},"author":246602135,"featured_media":47520,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"enabled","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"advanced_seo_description":"Private Miami boat charters tailored to you. Cruise the skyline, stop at scenic sandbars, and enjoy a premium, fully private experience with flexible options and top-rated captains.","jetpack_seo_html_title":"Seaside Miami Boat Charters","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"footnotes":""},"class_list":["post-12825","page","type-page","status-publish","has-post-thumbnail","hentry"],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/Pfwl5g-3kR","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/pages\/12825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/users\/246602135"}],"replies":[{"embeddable":true,"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/comments?post=12825"}],"version-history":[{"count":100,"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/pages\/12825\/revisions"}],"predecessor-version":[{"id":49040,"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/pages\/12825\/revisions\/49040"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/media\/47520"}],"wp:attachment":[{"href":"https:\/\/myaboatcharters.com\/de\/wp-json\/wp\/v2\/media?parent=12825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}