#dtjt-front{–ink:#061e50;–pink:#ed006b;color:var(–ink);font:16px/1.45 Arial,Helvetica,sans-serif;background:white;width:100%;max-width:1280px;margin:auto}
#dtjt-front *,#dtjt-front *::before,#dtjt-front *::after{box-sizing:border-box}#dtjt-front a{color:inherit;text-decoration:none}#dtjt-front img{display:block;width:100%;object-fit:cover}#dtjt-front h1,#dtjt-front h2,#dtjt-front h3,#dtjt-front p{margin:0}#dtjt-front h1,#dtjt-front h2,#dtjt-front h3{color:var(–ink);font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.035em}#dtjt-front a:focus-visible,#dtjt-front button:focus-visible,#dtjt-front input:focus-visible{outline:3px solid #005ac4;outline-offset:4px}#dtjt-front .df-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 42px;min-height:88px;background:white}#dtjt-front .df-logo{font-size:25px;font-weight:900;line-height:.86;letter-spacing:-1.4px;flex-shrink:0}#dtjt-front .df-nav{display:flex;gap:30px;align-items:center;font-size:15px;font-weight:600}#dtjt-front .df-nav a:hover{text-decoration:underline;text-underline-offset:5px}#dtjt-front .df-search-link{font-size:27px}
#dtjt-front .df-hero{position:relative;background:linear-gradient(90deg,rgba(2,25,45,.63),rgba(0,30,45,.12)),url(‘https://donttalkjusttravel.com/wp-content/uploads/2025/11/st-lucia-travel-guide-pitons-coast-hero.png’) center 54%/cover;min-height:468px;display:flex;align-items:center;padding:58px 9% 38px}#dtjt-front .df-hero h1{font-size:clamp(38px,5.4vw,68px);color:white;line-height:1.02;text-shadow:0 2px 6px #001e3544;max-width:900px}#dtjt-front .df-hero h1 span{color:#ffdc37}#dtjt-front .df-hero p{color:#fff;font-size:clamp(17px,2vw,24px);font-weight:700;line-height:1.3;margin:18px 0 32px;max-width:680px}#dtjt-front .df-search{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:6px 6px 6px 19px;max-width:770px;box-shadow:0 4px 16px #0002}#dtjt-front .df-search input{min-width:0;flex:1;border:0;background:white;color:var(–ink);font:16px Arial;padding:12px 0;box-shadow:none;height:auto}#dtjt-front button,#dtjt-front .df-button{background:var(–pink);color:#fff;border:0;border-radius:7px;padding:13px 22px;font:700 15px Arial;cursor:pointer;display:inline-block}#dtjt-front button:hover,#dtjt-front .df-button:hover{background:#be0056}
#dtjt-front .df-body{padding:22px}#dtjt-front .df-grid{display:grid;gap:18px}#dtjt-front .df-categories{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}#dtjt-front .df-card{background:#fff;border:1px solid #e9ebef;border-radius:9px;overflow:hidden;box-shadow:0 2px 6px #061e500a;min-width:0;position:relative}#dtjt-front .df-card:hover{box-shadow:0 4px 16px #061e501c}#dtjt-front .df-categories img{height:145px}#dtjt-front .df-card-copy{padding:13px 15px}#dtjt-front .df-card h3{font-size:20px;line-height:1.15;margin-bottom:5px}#dtjt-front .df-card p{font-size:14px;line-height:1.45}#dtjt-front .df-categories h3{padding-right:20px}#dtjt-front .df-arrow{position:absolute;right:14px;bottom:30px;font-size:23px}
#dtjt-front .df-section{padding:19px 16px;margin-bottom:18px;border-radius:11px;background:#eaf6ff}#dtjt-front .df-section.df-popular{background:linear-gradient(120deg,#fff3f8,#fceff9)}#dtjt-front .df-section.df-latest{background:linear-gradient(120deg,#eff9ee,#f0faf4)}#dtjt-front .df-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}#dtjt-front .df-section-head h2{font-size:29px;line-height:1.2}#dtjt-front .df-section-head>a{font-size:14px;white-space:nowrap}#dtjt-front .df-six{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}#dtjt-front .df-popular .df-card img{height:145px}#dtjt-front .df-popular .df-card h3{font-size:15px;line-height:1.25}#dtjt-front .df-popular .df-card-copy{padding:11px 9px}#dtjt-front .df-rank{position:absolute;left:7px;top:7px;width:33px;height:33px;background:var(–pink);color:white;display:grid;place-items:center;border-radius:50%;font-size:21px;font-weight:800}#dtjt-front .df-popular .df-card p{font-size:12px}#dtjt-front .df-preview-note{font-size:12px;margin:-7px 0 12px;color:#6d4760}
#dtjt-front .df-island{position:relative;overflow:hidden;border-radius:7px;min-height:170px;display:flex;align-items:flex-end;justify-content:center;padding:18px 8px;color:white;font-weight:800;font-size:19px;text-align:center}#dtjt-front .df-island img{position:absolute;inset:0;height:100%}#dtjt-front .df-island:after{content:”;position:absolute;inset:0;background:linear-gradient(transparent 25%,#002642c9)}#dtjt-front .df-island span{position:relative;z-index:1}#dtjt-front .df-latest-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#dtjt-front .df-latest img{height:150px}#dtjt-front .df-latest h3{font-size:18px}#dtjt-front time{display:block;font-size:13px;margin:8px 0;color:#465578}#dtjt-front .df-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#dtjt-front .df-features img{height:120px}#dtjt-front .df-feature-copy{position:relative;padding:18px 16px 18px 72px}#dtjt-front .df-feature-icon{position:absolute;left:16px;top:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#007de1;color:#fff;font-size:24px}#dtjt-front .df-feature-copy h3{font-size:21px}#dtjt-front .df-feature-copy .df-button{font-size:12px;padding:10px 14px;margin-top:13px}
#dtjt-front .df-newsletter{background:linear-gradient(90deg,#001c3bbf,#001c3b26),url(‘https://donttalkjusttravel.com/wp-content/uploads/2025/11/sunset-291021_640.jpg’) center/cover;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;color:white;min-height:220px}#dtjt-front .df-newsletter h2{color:white;font-size:34px;line-height:1.05;margin-bottom:9px}#dtjt-front .df-newsletter p{font-size:16px}#dtjt-front .df-newsletter .df-search{border:1px solid white}#dtjt-front .df-newsletter .df-search input{font-size:14px}#dtjt-front .df-newsletter small{display:block;font-size:12px;margin-top:9px}#dtjt-front .df-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:24px 32px;font-size:13px}#dtjt-front .df-footer nav{display:flex;flex-wrap:wrap;gap:20px}
@media(max-width:1000px){#dtjt-front .df-header{padding:20px 25px;gap:20px}#dtjt-front .df-nav{gap:17px;font-size:13px}#dtjt-front .df-six{grid-template-columns:repeat(3,minmax(0,1fr))}#dtjt-front .df-feature-copy{padding:16px}#dtjt-front .df-feature-icon{display:none}#dtjt-front .df-hero{min-height:420px}#dtjt-front .df-categories img{height:120px}}
@media(max-width:650px){#dtjt-front .df-header{display:block;padding:20px}#dtjt-front .df-logo{display:block;font-size:23px;margin-bottom:20px}#dtjt-front .df-nav{display:flex;gap:12px 17px;flex-wrap:wrap;font-size:13px}#dtjt-front .df-search-link{display:none}#dtjt-front .df-hero{padding:40px 22px;min-height:400px;background-position:62% center}#dtjt-front .df-hero h1{font-size:40px}#dtjt-front .df-hero p{font-size:18px}#dtjt-front .df-search{gap:6px;padding-left:10px}#dtjt-front .df-search input{font-size:13px;width:100%}#dtjt-front .df-search button{padding:13px 12px;font-size:13px}#dtjt-front .df-search>span{display:none}#dtjt-front .df-body{padding:14px}#dtjt-front .df-grid{gap:12px}#dtjt-front .df-categories,#dtjt-front .df-six,#dtjt-front .df-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#dtjt-front .df-categories img{height:105px}#dtjt-front .df-card-copy{padding:12px}#dtjt-front .df-card h3{font-size:17px}#dtjt-front .df-card p{font-size:13px}#dtjt-front .df-arrow{display:none}#dtjt-front .df-categories h3{padding-right:0}#dtjt-front .df-section{padding:16px 12px}#dtjt-front .df-section-head{align-items:flex-start;flex-direction:column;gap:9px}#dtjt-front .df-section-head h2{font-size:25px}#dtjt-front .df-island{min-height:150px;font-size:18px}#dtjt-front .df-latest img,#dtjt-front .df-popular .df-card img{height:125px}#dtjt-front .df-features{grid-template-columns:1fr}#dtjt-front .df-feature-copy{padding:18px 20px}#dtjt-front .df-features img{height:150px}#dtjt-front .df-newsletter{grid-template-columns:1fr;padding:32px 22px;gap:22px}#dtjt-front .df-newsletter h2{font-size:31px}#dtjt-front .df-footer{padding:22px}}
body.home:has(#dtjt-front) #header,body.home:has(#dtjt-front) #footer,body.home:has(#dtjt-front) .hero-section,body.home:has(#dtjt-front) .entry-header,body.home:has(#dtjt-front) .addtoany_share_save_container,body.home:has(#dtjt-front) .sharedaddy{display:none!important}
body.home:has(#dtjt-front) #main,body.home:has(#dtjt-front) #main>.ct-container,body.home:has(#dtjt-front) article.page,body.home:has(#dtjt-front) .entry-content{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
#dtjt-front .df-popular{counter-reset:rank}#dtjt-front .df-popular .df-card{counter-increment:rank}#dtjt-front .df-popular .df-rank:before{content:counter(rank)}#dtjt-front .df-popular img{width:100%;height:145px;object-fit:cover;float:none;margin:0}
#dtjt-front .df-newsletter .jetpack_subscription_widget{margin:0}#dtjt-front .df-newsletter form{margin:0}#dtjt-front .df-newsletter input[type=email]{width:100%;background:#fff;border-radius:7px;padding:14px;color:#061e50}#dtjt-front .df-newsletter button,#dtjt-front .df-newsletter input[type=submit]{background:#ed006b;color:white;border:0;border-radius:7px;padding:13px 22px}#dtjt-front .df-newsletter form p{margin-bottom:10px}#dtjt-front .df-newsletter label{color:white}
body.home:has(#dtjt-front){border:0!important}
body.home:has(#dtjt-front) #main>.ct-container-full{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
#dtjt-front .df-popular .df-card h3,#dtjt-front .df-latest .df-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
@media(max-width:650px){#dtjt-front #dtjt-live-map .leaflet-popup-content{width:180px!important;max-width:180px;overflow-wrap:anywhere}}
/* Weekly destination uses the existing popularity plugin. */
#dtjt-front .df-destination-spotlight .dtjt-popular-destination{position:relative;overflow:hidden;display:flex;align-items:center;min-height:210px;padding:28px 32px;background:#fff;border:1px solid #d7e6f2;border-radius:10px;box-shadow:0 2px 8px #061e5006}
#dtjt-front .df-destination-spotlight .dtjt-popular-destination>div{position:relative;z-index:1;max-width:780px}
#dtjt-front .df-destination-spotlight .dtjt-kicker{display:none}
#dtjt-front .df-destination-spotlight .dtjt-popular-destination h2{font-size:clamp(28px,3.2vw,38px);line-height:1.15;margin:0 0 12px}
#dtjt-front .df-destination-spotlight .dtjt-popular-destination p{font-size:17px;line-height:1.6;color:#33465f;margin:0 0 20px}
#dtjt-front .df-destination-spotlight .dtjt-popular-destination a.dtjt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:7px;background:#ed006b;color:#fff;font-size:15px;font-weight:700;text-decoration:none}
#dtjt-front .df-destination-spotlight .dtjt-popular-destination a.dtjt-btn:hover{background:#be0056}
@media(max-width:650px){#dtjt-front .df-destination-spotlight .dtjt-popular-destination{padding:22px 18px;min-height:0}#dtjt-front .df-destination-spotlight .dtjt-popular-destination p{font-size:16px}}
#dtjt-front .df-island-period{font-size:14px;color:#48617a;margin:-5px 0 16px}
#dtjt-front .df-ranked-islands .df-island{background:linear-gradient(150deg,#0785bd,#061e50);min-height:180px}
#dtjt-front .df-ranked-islands .df-island img{height:100%;width:100%;object-fit:cover}
#dtjt-front .df-ranked-islands .df-island-rank{position:absolute;top:9px;left:9px;bottom:auto;z-index:2;width:29px;height:29px;border-radius:50%;background:#ed006b;color:white;display:grid;place-items:center;font-size:17px;font-weight:800}
#dtjt-front .df-ranked-islands .df-island-name{position:relative;z-index:1;font-size:18px;line-height:1.2}
@media(max-width:650px){#dtjt-front .df-ranked-islands .df-island{min-height:155px}#dtjt-front .df-ranked-islands .df-island-name{font-size:17px}}
#dtjt-front .dtjt-finder,#dtjt-front .dtjt-route-finder{box-sizing:border-box;padding:26px;border:1px solid #d5e6f4;border-radius:11px;background:#fff;color:#061e50;font:16px/1.5 Arial,Helvetica,sans-serif;margin:22px 0}
#dtjt-front .dtjt-finder[hidden]{display:none}
#dtjt-front .dtjt-route-finder{background:#eaf6ff;margin:18px 22px}
#dtjt-front .dtjt-finder h3{font-size:24px;margin:0 0 8px}
#dtjt-front .dtjt-route-finder h2{font-size:29px;line-height:1.2;margin:8px 0 12px}
#dtjt-front .dtjt-finder p,#dtjt-front .dtjt-route-finder p{color:#384d6c;margin:0 0 16px}
#dtjt-front .dtjt-filter-buttons{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
#dtjt-front .dtjt-filter-buttons button,#dtjt-front #dtjt-filter-results button{box-sizing:border-box;min-height:44px;cursor:pointer;font:700 14px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;border:1px solid #bdd5e9;box-shadow:none;background:#eaf6ff;color:#061e50;padding:10px 15px;border-radius:24px}
#dtjt-front .dtjt-filter-buttons button[aria-pressed=true],#dtjt-front .dtjt-filter-buttons button:hover{background:#ed006b;border-color:#ed006b;color:#fff}
#dtjt-front .dtjt-finder label,#dtjt-front .dtjt-route-finder label{display:block;font-weight:700;margin:16px 0 8px}
#dtjt-front #dtjt-place-search,#dtjt-front #dtjt-route-origin{box-sizing:border-box;display:block;width:100%;max-width:460px;min-height:48px;padding:10px 12px;border:1px solid #bdd5e9;border-radius:7px;color:#061e50;background:white;font:16px Arial,sans-serif}
#dtjt-front #dtjt-filter-results{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
#dtjt-front #dtjt-filter-results button{background:white;border-radius:7px;color:#075a89;font-weight:600}
#dtjt-front #dtjt-filter-results button:hover{background:#eaf6ff;border-color:#075a89}
#dtjt-front #dtjt-finder-count{font-size:14px;margin:12px 0 0}
#dtjt-front #dtjt-finder-more{background:#eaf6ff;color:#075a89;border:1px solid #bdd5e9;border-radius:7px;padding:10px 14px;min-height:44px;cursor:pointer;margin:0 0 16px;font:700 14px Arial,sans-serif}
#dtjt-front #dtjt-finder-more[hidden]{display:none}
#dtjt-front .dtjt-finder summary{cursor:pointer;color:#075a89;font-size:14px}
#dtjt-front .dtjt-finder details p{font-size:14px;margin:10px 0 0}
#dtjt-front .dtjt-route-kicker{color:#065a93;font-size:12px;font-weight:800;letter-spacing:.12em}
#dtjt-front #dtjt-route-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
#dtjt-front #dtjt-route-results:has(>.dtjt-route-card:only-child){grid-template-columns:1fr}
#dtjt-front .dtjt-route-card{padding:20px;border:1px solid #d5e6f4;border-radius:9px;background:#fff}
#dtjt-front .dtjt-route-card h3{font-size:21px;margin:0 0 10px}
#dtjt-front .dtjt-route-card a{color:#075a89;font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:7px 0}
#dtjt-front .dtjt-route-card .dtjt-route-links{display:flex;gap:10px 24px;flex-wrap:wrap}
#dtjt-front .dtjt-route-note{margin:20px 0 0;font-size:13px}
#dtjt-front .dtjt-finder :is(button,input):focus-visible,#dtjt-front .dtjt-route-finder :is(select,a):focus-visible{outline:3px solid #005ac4;outline-offset:3px}
@media(max-width:650px){#dtjt-front .dtjt-finder,#dtjt-front .dtjt-route-finder{padding:18px 12px}#dtjt-front .dtjt-route-finder{margin:14px}#dtjt-front .dtjt-route-finder h2{font-size:25px}#dtjt-front #dtjt-route-results{grid-template-columns:1fr}#dtjt-front .dtjt-filter-buttons{gap:7px}#dtjt-front .dtjt-filter-buttons button{padding:9px 12px}}
#dtjt-front #dtjt-explore-map{padding:24px;margin:0 0 18px;border-radius:11px;background:#eaf6ff}
#dtjt-front #dtjt-explore-map h2{font-size:29px;margin:5px 0 10px}
#dtjt-front #dtjt-explore-map p{margin:10px 0 16px}
#dtjt-front .dtjt-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;color:#065a93}
#dtjt-front .dtjt-map-wrap{margin:20px 0;max-width:none}
#dtjt-front #dtjt-live-map img.leaflet-tile{max-width:none!important;width:256px;height:256px}
#dtjt-front #dtjt-live-map img.leaflet-marker-icon,#dtjt-front #dtjt-live-map img.leaflet-marker-shadow{width:auto;object-fit:contain}
#dtjt-front #dtjt-live-map a{color:#0759a0}
#dtjt-front #dtjt-live-map .leaflet-control-zoom a{display:block;color:#061e50}
#dtjt-front .leaflet-control-attribution{font-size:11px}
#dtjt-front .marker-cluster div{color:#061e50;font-weight:700}
#dtjt-front #dtjt-map-island{display:block;width:100%;max-width:500px;padding:12px;border:1px solid #b1d1eb;border-radius:7px;background:white;color:#061e50;font-size:16px;margin:8px 0 14px;min-height:46px}
#dtjt-front .dtjt-feature-note{font-size:12px}
#dtjt-front .dtjt-map-directory summary{cursor:pointer;padding:12px 0;font-weight:700}
#dtjt-front .dtjt-feature-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
#dtjt-front .dtjt-feature-links a{display:inline-block;padding:8px 13px;background:white;border:1px solid #c0d8eb;border-radius:20px;font-size:14px}
#dtjt-front .dtjt-expedia-widget{margin:0 0 18px;padding:26px;background:#eaf6ff;border-radius:11px}
#dtjt-front .dtjt-expedia-inner{width:100%;padding:0;border:0;box-shadow:none;background:transparent}
#dtjt-front .dtjt-expedia-copy{text-align:left;color:#061e50;margin-bottom:18px}
#dtjt-front .dtjt-expedia-kicker{color:#065a93}
#dtjt-front .dtjt-expedia-copy h2{color:#061e50;font-size:29px}
#dtjt-front .dtjt-expedia-copy p{color:#243e65;font-size:16px;margin-top:10px}
#dtjt-front .dtjt-expedia-box{border:1px solid #d5e6f4;border-radius:9px}
#dtjt-front .dtjt-expedia-disclosure{color:#384d6c;font-size:13px;margin:14px 0 0}
@media(max-width:650px){#dtjt-front #dtjt-explore-map,#dtjt-front .dtjt-expedia-widget{padding:18px 12px}#dtjt-front #dtjt-live-map{height:350px!important}#dtjt-front #dtjt-explore-map h2,#dtjt-front .dtjt-expedia-copy h2{font-size:25px}}
Real Travel Guides for Island Hoppers Ferry guides, airport tips, island destinations and the Caribbean’s biggest events.
⌕ Search travel guides Search
Most-visited destinations over the last 7 days
POPULAR DESTINATION THIS WEEK
Dominican Republic Welcome to our Dominican Republic travel guide — your gateway to exploring one of the Caribbean’s most vibrant and diverse destinations. From world-class beaches and lush mountain landscapes…
Explore Dominican Republic
.dtjt-expedia-widget {
padding: 38px 20px;
background:
linear-gradient(
135deg,
#062747 0%,
#075a89 52%,
#13b9c5 100%
);
}
.dtjt-expedia-inner {
width: min(1180px, 100%);
margin: 0 auto;
padding: 30px;
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 18px;
background: rgba(255, 255, 255, 0.08);
box-shadow: 0 14px 35px rgba(6, 39, 71, 0.22);
}
.dtjt-expedia-copy {
margin-bottom: 22px;
text-align: center;
color: #ffffff;
}
.dtjt-expedia-kicker {
display: block;
margin-bottom: 7px;
color: #fdbb25;
font-size: 12px;
font-weight: 900;
letter-spacing: 0.14em;
}
.dtjt-expedia-copy h2 {
margin: 0 0 8px;
color: #ffffff;
font-size: clamp(27px, 4vw, 38px);
line-height: 1.15;
}
.dtjt-expedia-copy p {
max-width: 650px;
margin: 0 auto;
color: rgba(255, 255, 255, 0.88);
font-size: 16px;
}
.dtjt-expedia-box {
padding: 18px;
border-radius: 14px;
background: #ffffff;
box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16);
}
.dtjt-expedia-box .eg-widget {
width: 100%;
min-height: 90px;
}
.dtjt-expedia-disclosure {
margin: 14px 0 0;
color: rgba(255, 255, 255, 0.72);
font-size: 11px;
text-align: center;
}
@media (max-width: 600px) {
.dtjt-expedia-widget {
padding: 24px 14px;
}
.dtjt-expedia-inner {
padding: 22px 14px;
border-radius: 14px;
}
.dtjt-expedia-box {
padding: 10px;
}
}
document.addEventListener(“DOMContentLoaded”, function () {
const widgets = document.querySelectorAll(“.dtjt-expedia-widget .eg-widget”);
widgets.forEach(function (widget) {
const pageReference =
window.location.pathname
.replace(/^\/|\/$/g, “”)
.replace(/\//g, “-“) || “homepage”;
widget.setAttribute(“data-pubref”, pageReference);
});
});
EXPLORE THE REGION Where Will You Go? Explore 64 destinations. Tap a numbered group to zoom in, then select a pin for its guide. Or choose a destination from the list.
Find Your Caribbean Place
Choose an interest, then select a destination to explore on the map.
All
Beaches
Ferry Access
Nature
Culture
Budget
Search destinations
Show all destinations
About these suggestions Interest lists are editorial suggestions. Budget destinations are places to research for value; total trip costs vary. Choosing a destination moves the map without hiding other markers.
Open larger map ↗
Find a destination on the map
All 64 destinationsAnegadaAnguillaAntiguaAreciboArubaBarbadosBarbudaBay Islands, HondurasBelizeBermudaBocas del ToroBonaireCaribbean ColombiaCaribbean Costa RicaCaribbean PanamaCaribbean VenezuelaCartagenaCayman IslandsCubaCulebraCuraçaoDominicaDominican RepublicEleutheraExumaGrenadaGuadeloupeGuyanaHaitiHarbour IslandHavanaJamaicaJost Van DykeMartiniqueMedellínMexican CaribbeanMexico CityNassauNevisPlymouth, MontserratPuerto RicoPuerto Rico North CoastPunta CanaSabaSamanáSan Blas / Guna YalaSan JuanSanto DomingoSt. BartsSt. CroixSt. JohnSt. KittsSt. LuciaSt. Martin / St. MaartenSt. ThomasSt. Vincent & the GrenadinesThe BahamasTobagoTortolaTrinidadTurks & CaicosViequesVirgin GordaWillemstad
Map © OpenStreetMap contributors. Pins show representative destination locations; guide links do not imply a travel recommendation.
Browse all 64 destination guides
PLAN YOUR CONNECTION
Caribbean Island-Hopping Finder
Select your starting point to explore ferry connections and detailed planning guides.
Departing from
Choose a departure location
Ceiba, Puerto Rico
St. Thomas
Trinidad
St. Martin
Choose a departure location to see routes.
Browse all ferry guides
Planning links, not live availability. Confirm sailings, terminals and entry requirements with the ferry operator before booking.
Get the Latest Caribbean Travel Guides New articles, travel tips and island updates.
(function(){function init(){var grid=document.getElementById(‘df-latest’);if(!grid)return;fetch(‘/wp-json/wp/v2/posts?per_page=4&orderby=date&order=desc&_embed=wp:featuredmedia’).then(function(r){if(!r.ok)throw Error(‘Posts unavailable’);return r.json()}).then(function(posts){if(!Array.isArray(posts)||!posts.length)return;var fragment=document.createDocumentFragment();posts.forEach(function(p){var a=document.createElement(‘a’);a.href=p.link;var article=document.createElement(‘article’);article.className=’df-card’;var media=p._embedded&&p._embedded[‘wp:featuredmedia’]&&p._embedded[‘wp:featuredmedia’][0];if(media&&media.source_url){var img=document.createElement(‘img’);img.src=(media.media_details&&media.media_details.sizes&&media.media_details.sizes.medium_large&&media.media_details.sizes.medium_large.source_url)||media.source_url;img.alt=media.alt_text||”;img.loading=’lazy’;a.appendChild(img)}var box=document.createElement(‘div’);box.className=’df-card-copy’;var h=document.createElement(‘h3′);var parsed=new DOMParser().parseFromString(p.title.rendered,’text/html’);h.textContent=parsed.body.textContent;var time=document.createElement(‘time’);time.dateTime=p.date;var parts=p.date.slice(0,10).split(‘-‘);time.textContent=new Date(Number(parts[0]),Number(parts[1])-1,Number(parts[2])).toLocaleDateString(‘en-US’,{month:’short’,day:’numeric’,year:’numeric’});box.append(h,time);a.appendChild(box);article.appendChild(a);fragment.appendChild(article)});grid.replaceChildren(fragment)}).catch(function(){/* Keep the saved published-guide cards when the API is unavailable. */})}if(document.readyState===’loading’)document.addEventListener(‘DOMContentLoaded’,init);else init()})();
(function(){function initMap(){
if (window.L) {
const destinations=[{“id”:3688,”name”:”Anegada”,”lat”:18.73,”lon”:-64.33,”url”:”https://donttalkjusttravel.com/anegada-travel-guide/”},{“id”:351,”name”:”Anguilla”,”lat”:18.22,”lon”:-63.06,”url”:”https://donttalkjusttravel.com/anguilla-travel-guide-2025-best-beaches-shoal-bay-where-to-stay-how-to-get-there/”},{“id”:360,”name”:”Antigua”,”lat”:17.07,”lon”:-61.8,”url”:”https://donttalkjusttravel.com/antigua-travel-guide-2025-365-beaches-barbuda-day-trip-where-to-stay/”},{“id”:2067,”name”:”Arecibo”,”lat”:18.47,”lon”:-66.72,”url”:”https://donttalkjusttravel.com/arecibo-puerto-rico-travel-guide-2026-beaches-caves-views-best-things-to-do/”},{“id”:422,”name”:”Aruba”,”lat”:12.52,”lon”:-69.97,”url”:”https://donttalkjusttravel.com/aruba-travel-guide-2025-eagle-beach-flamingos-palm-beach-best-things-to-do/”},{“id”:411,”name”:”Barbados”,”lat”:13.18,”lon”:-59.55,”url”:”https://donttalkjusttravel.com/barbados-travel-guide-2025-best-beaches-oistins-carlisle-bay-turtles-itinerary/”},{“id”:360,”name”:”Barbuda”,”lat”:17.63,”lon”:-61.8,”url”:”https://donttalkjusttravel.com/antigua-travel-guide-2025-365-beaches-barbuda-day-trip-where-to-stay/”},{“id”:480,”name”:”Bay Islands, Honduras”,”lat”:16.33,”lon”:-86.53,”url”:”https://donttalkjusttravel.com/bay-islands-honduras-travel-guide-2025-roatan-utila-diving-best-beaches/”},{“id”:475,”name”:”Belize”,”lat”:17.25,”lon”:-88.77,”url”:”https://donttalkjusttravel.com/belize-travel-guide-2025-barrier-reef-caye-caulker-blue-hole-itinerary/”},{“id”:461,”name”:”Bermuda”,”lat”:32.3,”lon”:-64.76,”url”:”https://donttalkjusttravel.com/bermuda-travel-guide-2025-horseshoe-bay-pink-sand-beaches-best-things-to-do/”},{“id”:757,”name”:”Bocas del Toro”,”lat”:9.34,”lon”:-82.24,”url”:”https://donttalkjusttravel.com/bocas-del-toro-travel-guide-islands-surf-nightlife-overwater-stays/”},{“id”:339,”name”:”Bonaire”,”lat”:12.2,”lon”:-68.26,”url”:”https://donttalkjusttravel.com/bonaire-travel-guide-2025-snorkeling-shore-diving-beaches-where-to-stay/”},{“id”:491,”name”:”Caribbean Colombia”,”lat”:10.4,”lon”:-75.51,”url”:”https://donttalkjusttravel.com/colombia-caribbean-travel-guide-2025-cartagena-rosario-islands-tayrona/”},{“id”:484,”name”:”Caribbean Costa Rica”,”lat”:9.66,”lon”:-82.75,”url”:”https://donttalkjusttravel.com/costa-rica-caribbean-travel-guide-2025-puerto-viejo-sloths-best-beaches/”},{“id”:740,”name”:”Caribbean Panama”,”lat”:9.37,”lon”:-79.9,”url”:”https://donttalkjusttravel.com/panama-caribbean-travel-guide-bocas-del-toro-san-blas-beaches-island-hopping/”},{“id”:498,”name”:”Caribbean Venezuela”,”lat”:11.85,”lon”:-66.75,”url”:”https://donttalkjusttravel.com/venezuela-caribbean-travel-guide-2025-los-roques-margarita-island-best-beaches/”},{“id”:1331,”name”:”Cartagena”,”lat”:10.42,”lon”:-75.55,”url”:”https://donttalkjusttravel.com/is-cartagena-safe-at-night/”},{“id”:457,”name”:”Cayman Islands”,”lat”:19.32,”lon”:-81.24,”url”:”https://donttalkjusttravel.com/cayman-islands-travel-guide-2025-seven-mile-beach-stingray-city-best-things-to-do/”},{“id”:454,”name”:”Cuba”,”lat”:21.52,”lon”:-77.78,”url”:”https://donttalkjusttravel.com/cuba-travel-guide-2025-havana-varadero-vinales-best-things-to-do/”},{“id”:290,”name”:”Culebra”,”lat”:18.31,”lon”:-65.3,”url”:”https://donttalkjusttravel.com/culebra-travel-guide-2025-ferries-flamenco-beach-snorkeling-where-to-stay/”},{“id”:320,”name”:”Curaçao”,”lat”:12.2,”lon”:-68.99,”url”:”https://donttalkjusttravel.com/curacao-travel-guide-2025-beaches-snorkeling-klein-curacao-where-to-stay/”},{“id”:401,”name”:”Dominica”,”lat”:15.42,”lon”:-61.35,”url”:”https://donttalkjusttravel.com/dominica-travel-guide-2025-waterfalls-hot-springs-boiling-lake-hike/”},{“id”:444,”name”:”Dominican Republic”,”lat”:18.9,”lon”:-70.16,”url”:”https://donttalkjusttravel.com/dominican-republic-travel-guide-2025-punta-cana-samana-waterfalls-itineraries/”},{“id”:382,”name”:”Eleuthera”,”lat”:25.14,”lon”:-76.15,”url”:”https://donttalkjusttravel.com/eleuthera-travel-guide-2025-glass-window-bridge-queens-bath-best-beaches/”},{“id”:378,”name”:”Exuma”,”lat”:23.62,”lon”:-75.92,”url”:”https://donttalkjusttravel.com/exuma-travel-guide-2025-swimming-pigs-sharks-sandbars-island-hopping/”},{“id”:357,”name”:”Grenada”,”lat”:12.12,”lon”:-61.68,”url”:”https://donttalkjusttravel.com/grenada-travel-guide-2025-grand-anse-beach-waterfalls-where-to-stay-things-to-do/”},{“id”:398,”name”:”Guadeloupe”,”lat”:16.22,”lon”:-61.55,”url”:”https://donttalkjusttravel.com/guadeloupe-travel-guide-2025-best-beaches-waterfalls-volcano-hikes-where-to-stay/”},{“id”:1054,”name”:”Guyana”,”lat”:6.8,”lon”:-58.16,”url”:”https://donttalkjusttravel.com/guyana-travel-guide-2026-kaieteur-falls-georgetown-rainforest-lodges-itinerary/”},{“id”:447,”name”:”Haiti”,”lat”:18.97,”lon”:-72.29,”url”:”https://donttalkjusttravel.com/haiti-travel-guide-2025-update-beaches-culture-safety-status/”},{“id”:386,”name”:”Harbour Island”,”lat”:25.5,”lon”:-76.63,”url”:”https://donttalkjusttravel.com/harbour-island-travel-guide-2025-pink-sand-beach-golf-carts-where-to-stay/”},{“id”:1312,”name”:”Havana”,”lat”:23.11,”lon”:-82.37,”url”:”https://donttalkjusttravel.com/is-havana-safe-at-night/”},{“id”:451,”name”:”Jamaica”,”lat”:18.11,”lon”:-77.3,”url”:”https://donttalkjusttravel.com/jamaica-travel-guide-2025-best-beaches-dunns-river-falls-blue-hole-itinerary/”},{“id”:3686,”name”:”Jost Van Dyke”,”lat”:18.44,”lon”:-64.75,”url”:”https://donttalkjusttravel.com/jost-van-dyke-travel-guide/”},{“id”:395,”name”:”Martinique”,”lat”:14.64,”lon”:-61.02,”url”:”https://donttalkjusttravel.com/martinique-travel-guide-2025-best-beaches-volcano-hikes-things-to-do/”},{“id”:1241,”name”:”Medellín”,”lat”:6.24,”lon”:-75.58,”url”:”https://donttalkjusttravel.com/medellin-nightlife-for-first-timers-where-to-go-what-to-avoid-safety-tips/”},{“id”:472,”name”:”Mexican Caribbean”,”lat”:20.21,”lon”:-87.46,”url”:”https://donttalkjusttravel.com/mexico-caribbean-travel-guide-2025-cancun-tulum-cenotes-best-things-to-do/”},{“id”:1227,”name”:”Mexico City”,”lat”:19.43,”lon”:-99.13,”url”:”https://donttalkjusttravel.com/is-mexico-city-safe-at-night-neighborhood-guide-tips-what-to-avoid/”},{“id”:368,”name”:”Nassau”,”lat”:25.05,”lon”:-77.35,”url”:”https://donttalkjusttravel.com/nassau-travel-guide-2025-beaches-atlantis-cable-beach-things-to-do/”},{“id”:354,”name”:”Nevis”,”lat”:17.15,”lon”:-62.58,”url”:”https://donttalkjusttravel.com/st-kitts-nevis-travel-guide-2025-beaches-ferry-tips-things-to-do-where-to-stay/”},{“id”:3403,”name”:”Plymouth, Montserrat”,”lat”:16.71,”lon”:-62.22,”url”:”https://donttalkjusttravel.com/plymouth-montserrat-buried-city-guide/”},{“id”:427,”name”:”Puerto Rico”,”lat”:18.22,”lon”:-66.43,”url”:”https://donttalkjusttravel.com/puerto-rico-travel-guide-2025-best-beaches-old-san-juan-el-yunque-bioluminescent-bays/”},{“id”:2058,”name”:”Puerto Rico North Coast”,”lat”:18.47,”lon”:-66.55,”url”:”https://donttalkjusttravel.com/puerto-rico-north-coast-travel-guide-2026-hidden-beaches-scenic-drives-local-spots/”},{“id”:300,”name”:”Punta Cana”,”lat”:18.58,”lon”:-68.4,”url”:”https://donttalkjusttravel.com/punta-cana-travel-guide-2025-best-beaches-all-inclusive-resorts-things-to-do/”},{“id”:1045,”name”:”Saba”,”lat”:17.63,”lon”:-63.24,”url”:”https://donttalkjusttravel.com/saba-travel-guide-2026-best-hikes-diving-where-to-stay-how-to-get-there/”},{“id”:303,”name”:”Samaná”,”lat”:19.2,”lon”:-69.33,”url”:”https://donttalkjusttravel.com/samana-travel-guide-2025-beaches-waterfalls-whales-where-to-stay/”},{“id”:763,”name”:”San Blas / Guna Yala”,”lat”:9.56,”lon”:-78.95,”url”:”https://donttalkjusttravel.com/san-blas-islands-guna-yala-travel-guide-how-to-visit-panamas-island-paradise/”},{“id”:1307,”name”:”San Juan”,”lat”:18.47,”lon”:-66.12,”url”:”https://donttalkjusttravel.com/is-san-juan-safe-at-night/”},{“id”:1159,”name”:”Santo Domingo”,”lat”:18.47,”lon”:-69.9,”url”:”https://donttalkjusttravel.com/santo-domingo-nightlife-guide-2026-best-areas-bars-clubs-safety-tips/”},{“id”:1036,”name”:”St. Barts”,”lat”:17.9,”lon”:-62.83,”url”:”https://donttalkjusttravel.com/st-barthelemy-travel-guide-2026-best-beaches-where-to-stay-and-how-to-get-there/”},{“id”:282,”name”:”St. Croix”,”lat”:17.73,”lon”:-64.75,”url”:”https://donttalkjusttravel.com/st-croix-usvi-travel-guide-2025-best-beaches-snorkeling-where-to-stay/”},{“id”:279,”name”:”St. John”,”lat”:18.34,”lon”:-64.73,”url”:”https://donttalkjusttravel.com/st-john-usvi-travel-guide-2025-beaches-hikes-ferries-itinerary/”},{“id”:354,”name”:”St. Kitts”,”lat”:17.32,”lon”:-62.75,”url”:”https://donttalkjusttravel.com/st-kitts-nevis-travel-guide-2025-beaches-ferry-tips-things-to-do-where-to-stay/”},{“id”:403,”name”:”St. Lucia”,”lat”:13.91,”lon”:-60.98,”url”:”https://donttalkjusttravel.com/st-lucia-travel-guide-2025-pitons-volcano-baths-best-beaches-itineraries/”},{“id”:348,”name”:”St. Martin / St. Maarten”,”lat”:18.06,”lon”:-63.06,”url”:”https://donttalkjusttravel.com/st-maarten-travel-guide-2025-best-beaches-maho-plane-spotting-where-to-stay/”},{“id”:275,”name”:”St. Thomas”,”lat”:18.34,”lon”:-64.93,”url”:”https://donttalkjusttravel.com/st-thomas-travel-guide-2025-beaches-where-to-stay-things-to-do/”},{“id”:406,”name”:”St. Vincent & the Grenadines”,”lat”:13.16,”lon”:-61.23,”url”:”https://donttalkjusttravel.com/st-vincent-the-grenadines-travel-guide-2025-tobago-cays-bequia-island-hopping/”},{“id”:502,”name”:”The Bahamas”,”lat”:24.7,”lon”:-77.6,”url”:”https://donttalkjusttravel.com/bahamas-travel-guide-2025-exuma-pigs-nassau-paradise-island-best-beaches/”},{“id”:419,”name”:”Tobago”,”lat”:11.25,”lon”:-60.67,”url”:”https://donttalkjusttravel.com/trinidad-tobago-travel-guide-2025-carnival-pigeon-point-beaches-nature/”},{“id”:899,”name”:”Tortola”,”lat”:18.43,”lon”:-64.62,”url”:”https://donttalkjusttravel.com/st-thomas-to-tortola-ferry-guide-schedules-ports-prices-customs-tips/”},{“id”:419,”name”:”Trinidad”,”lat”:10.44,”lon”:-61.26,”url”:”https://donttalkjusttravel.com/trinidad-tobago-travel-guide-2025-carnival-pigeon-point-beaches-nature/”},{“id”:363,”name”:”Turks & Caicos”,”lat”:21.79,”lon”:-72.2,”url”:”https://donttalkjusttravel.com/turks-caicos-travel-guide-2025-grace-bay-snorkeling-where-to-stay-best-beaches/”},{“id”:296,”name”:”Vieques”,”lat”:18.13,”lon”:-65.43,”url”:”https://donttalkjusttravel.com/vieques-travel-guide-2025-bioluminescent-bay-beaches-ferries-where-to-stay/”},{“id”:3684,”name”:”Virgin Gorda”,”lat”:18.48,”lon”:-64.39,”url”:”https://donttalkjusttravel.com/virgin-gorda-travel-guide/”},{“id”:1340,”name”:”Willemstad”,”lat”:12.11,”lon”:-68.93,”url”:”https://donttalkjusttravel.com/is-willemstad-safe-at-night/”}];
const map=L.map(‘dtjt-live-map’,{scrollWheelZoom:false});
L.tileLayer(‘https://tile.openstreetmap.org/{z}/{x}/{y}.png’,{maxZoom:18,attribution:’©
OpenStreetMap contributors’}).addTo(map);
const markers={};
const groups=L.markerClusterGroup ? L.markerClusterGroup({maxClusterRadius:45,showCoverageOnHover:false}) : L.layerGroup();
groups.addTo(map);
const bounds=L.latLngBounds(destinations.map(d=>[d.lat,d.lon]));
destinations.forEach(function(d){
const popup=document.createElement(‘div’);
const title=document.createElement(‘strong’);title.textContent=d.name;
const link=document.createElement(‘a’);link.href=d.url;link.textContent=’Read ‘+d.name+’ travel guide →’;link.style.cssText=’display:block;margin-top:10px;padding:8px 0;font-size:15px’;
popup.append(title,link);
const marker=L.marker([d.lat,d.lon],{title:d.name+’ travel guide’,alt:d.name+’ travel guide’}).bindPopup(popup);
groups.addLayer(marker);
markers[d.lat+’,’+d.lon]=marker;
});
map.fitBounds(bounds,{padding:[35,35]});
document.getElementById(‘dtjt-map-island’).addEventListener(‘change’,function(){
if(!this.value){map.fitBounds(bounds,{padding:[35,35]});map.closePopup();return;}
const marker=markers[this.value];
if(marker){ if(groups.zoomToShowLayer){groups.zoomToShowLayer(marker,function(){map.setView(marker.getLatLng(),9);marker.openPopup();});}else{map.setView(marker.getLatLng(),9);marker.openPopup();}}
});
} else {
document.getElementById(‘dtjt-live-map’).innerHTML=’
The interactive map could not load. Use the destination guide links below.
‘;
}
}if(document.readyState===”loading”)document.addEventListener(“DOMContentLoaded”,initMap);else initMap();})();
(function () {
‘use strict’;
const interests = {
beaches: [‘Anguilla’,’Aruba’,’Barbados’,’Culebra’,’Exuma’,’St. John’,’Tobago’,’Turks & Caicos’],
ferries: [‘Culebra’,’Vieques’,’St. Thomas’,’St. John’,’Tortola’,’Anguilla’,’Trinidad’,’Tobago’],
nature: [‘Dominica’,’St. Lucia’,’Saba’,’Grenada’,’Guadeloupe’,’Guyana’,’Vieques’],
culture: [‘Trinidad’,’Jamaica’,’Cuba’,’Puerto Rico’,’Martinique’,’Barbados’],
budget: [‘Puerto Rico’,’Dominican Republic’,’Jamaica’,’Grenada’,’Trinidad’]
};
const routes = {
ceiba: [
[‘Vieques’,’Ceiba, Puerto Rico → Vieques’,’puerto-rico-to-vieques-ferry-tickets-schedules-prices-travel-tips/’,’https://www.puertoricoferry.com/en/’],
[‘Culebra’,’Ceiba, Puerto Rico → Culebra’,’puerto-rico-to-culebra-ferry-tickets-schedules-prices-tips/’,’https://www.puertoricoferry.com/en/’]
],
stthomas: [
[‘St. John’,’Red Hook, St. Thomas → Cruz Bay, St. John’,’st-thomas-to-st-john-ferry-times-tickets-prices-travel-tips/’,’https://transportationservicesusvi.com/schedule’],
[‘Tortola’,’St. Thomas → Tortola. International crossing: check passport and entry requirements.’,’st-thomas-to-tortola-ferry-guide-schedules-ports-prices-customs-tips/’,’https://www.roadtownfastferry.com/’]
],
trinidad: [[‘Tobago’,’Port of Spain, Trinidad → Scarborough, Tobago’,’trinidad-to-tobago-ferry-guide/’,’https://www.ttitferry.com/’]],
stmartin: [[‘Anguilla’,’Marigot, St. Martin → Blowing Point, Anguilla. International crossing: check entry requirements.’,’st-martin-to-anguilla-ferry-schedules-prices-marigot-public-ferry/’,’https://anguillaports.com/bpft/’]]
};
function node(tag, text, cls) {
const el = document.createElement(tag);
if (text) el.textContent = text;
if (cls) el.className = cls;
return el;
}
function init() {
const root = document.getElementById(‘dtjt-interest-finder’);
const select = document.getElementById(‘dtjt-map-island’);
if (root && select && !root.dataset.ready) {
root.dataset.ready = ‘true’;
const options = Array.from(select.options).filter(o => o.value);
const results = root.querySelector(‘#dtjt-filter-results’);
const search = root.querySelector(‘#dtjt-place-search’);
const count = root.querySelector(‘#dtjt-finder-count’);
const more = root.querySelector(‘#dtjt-finder-more’);
const buttons = root.querySelectorAll(‘[data-interest]’);
let interest = ‘all’;
let expanded = false;
function render() {
const term = search.value.trim().toLocaleLowerCase();
const matches = options.filter(o => (interest === ‘all’ || interests[interest].includes(o.textContent.trim())) && o.textContent.toLocaleLowerCase().includes(term));
results.replaceChildren();
const visible = expanded ? matches : matches.slice(0,12);
count.textContent = matches.length ? matches.length + ‘ destination’ + (matches.length === 1 ? ” : ‘s’) + ‘ to explore’ + (visible.length < matches.length ? ' · showing '+visible.length : '') : 'No matching destinations. Try another interest or name.';
more.hidden = matches.length {
const button = node(‘button’,o.textContent.trim());
button.type = ‘button’;
button.addEventListener(‘click’,() => {
select.value = o.value;
select.dispatchEvent(new Event(‘change’,{bubbles:true}));
select.focus({preventScroll:true});
const map = document.getElementById(‘dtjt-live-map’);
if (map) map.scrollIntoView({behavior:window.matchMedia(‘(prefers-reduced-motion: reduce)’).matches?’auto’:’smooth’,block:’center’});
});
results.appendChild(button);
});
}
buttons.forEach(button => button.addEventListener(‘click’,() => {
interest = button.dataset.interest;
expanded = false;
buttons.forEach(b => b.setAttribute(‘aria-pressed’,String(b === button)));
render();
}));
search.addEventListener(‘input’,() => {expanded=false;render();});
more.addEventListener(‘click’,() => {expanded=!expanded;render();});
root.hidden = false;
render();
}
const origin = document.getElementById(‘dtjt-route-origin’);
const results = document.getElementById(‘dtjt-route-results’);
if (origin && results && !origin.dataset.ready) {
origin.dataset.ready = ‘true’;
function renderRoutes() {
results.replaceChildren();
if (!origin.value) {results.textContent = ‘Choose a departure location to see routes.’;return;}
(routes[origin.value] || []).forEach(route => {
const card = node(‘article’,null,’dtjt-route-card’);
const links = node(‘div’,null,’dtjt-route-links’);
const guide = node(‘a’,’Read planning guide →’);
guide.href = ‘https://donttalkjusttravel.com/’ + route[2];
guide.setAttribute(‘aria-label’,’Read the ferry planning guide to ‘+route[0]);
const operator = node(‘a’,’Check official service →’);
operator.href = route[3];
operator.setAttribute(‘aria-label’,’Check official ferry service to ‘+route[0]);
links.append(guide,operator);
card.append(node(‘h3’,route[0]),node(‘p’,route[1]),links);
results.appendChild(card);
});
}
origin.addEventListener(‘change’,renderRoutes);
renderRoutes();
}
}
if (document.readyState === ‘loading’) document.addEventListener(‘DOMContentLoaded’,init); else init();
})();