{"id":28957,"date":"2026-05-06T19:53:00","date_gmt":"2026-05-06T19:53:00","guid":{"rendered":"https:\/\/www.visitvirginiabeach.com\/stationnement-et-transports-a-virginia-beach-le-guide-complet\/"},"modified":"2026-09-12T01:52:49","modified_gmt":"2026-09-12T01:52:49","slug":"stationnement-et-transports-a-virginia-beach-le-guide-complet","status":"publish","type":"page","link":"https:\/\/www.visitvirginiabeach.com\/fr\/stationnement-et-transports-a-virginia-beach-le-guide-complet\/","title":{"rendered":"Stationnement et transports \u00e0 Virginia Beach \u2013 Le guide complet"},"content":{"rendered":"\n<section class=\"image-heading\" arialabelledby=\"Image Header\"><div class=\"fold-wrap xl video-wrap\"><div class=\"image-container\"><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/07\/PH_LSR21_Oceanfront-Aerial-compressed-14-scaled.jpg\" alt=\"Aerial view of a coastal city with sandy beaches, high-rise buildings, and a clear blue ocean under a bright sky.\" width=\"1920\" height=\"1080\" fetchpriority=\"high\"\/><div class=\"overlay-content\"><h1 class=\"extra\">Stationnement et transports \u00e0 Virginia Beach \u2013 Le guide complet<\/h1><\/div><\/div><\/div><div class=\"after-overlay-content page-content-wrap fold-wrap md padded\"><p>                                                                                                                             <em>Derni\u00e8re mise \u00e0 jour pour l\u2019\u00e9t\u00e9 2026<br\/> <br\/><\/em>Tu pr\u00e9vois une journ\u00e9e \u00e0 la plage dans l\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/plages-et-regions\/oceanfront\/\" data-type=\"page\" data-id=\"15000\">Oceanfront<\/a> ou tu explores les <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/\" data-type=\"page\" data-id=\"14329\">attractions<\/a> \u00e0 proximit\u00e9 ? N\u2019oublie pas de passer au <a href=\"https:\/\/www.visitvirginiabeach.com\/plan\/know-before-you-go\/visitors-center\/\">Virginia Beach Visitor Center<\/a> pour obtenir des conseils locaux, des avis d\u2019initi\u00e9s et un accueil chaleureux \u2014 y compris des informations sur <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/sejour\/\">o\u00f9 loger<\/a>, <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/savourer\/\">o\u00f9 manger<\/a>, les <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/evenements\/?gad_source=1&amp;gad_campaignid=1419532556&amp;gbraid=0AAAAAC_RjLw4pgWOxUGmNVtr5QbsXyTob&amp;gclid=Cj0KCQjw4PPNBhD8ARIsAMo-icwKCIf4lYfKgUAaP_e62M6lB0jcPYVagXmiEIqoXIjYjHszPFaII5caAlgMEALw_wcB&amp;utm_content=Simpleview&amp;utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=Beaches\">\u00e9v\u00e9nements les plus cool de Virginia Beach<\/a> et les meilleures <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/\">choses \u00e0 faire<\/a> au <a href=\"https:\/\/www.visitvirginiabeach.com\/plan\/seasons\/spring\/\">printemps<\/a>, en <a href=\"https:\/\/www.visitvirginiabeach.com\/plan\/seasons\/summer\/\">\u00e9t\u00e9<\/a>, en <a href=\"https:\/\/www.visitvirginiabeach.com\/plan\/seasons\/fall\/\">automne<\/a> et en <a href=\"https:\/\/www.visitvirginiabeach.com\/plan\/seasons\/winter\/\">hiver<\/a>. Ci-dessous, tu trouveras tout ce qu\u2019il faut savoir pour te d\u00e9placer et te garer afin que ton escapade reste simple et sans stress.   <\/p><\/div><\/section>\n\n<section class=\"text-block\"><div class=\"fold-wrap md padded\">\n<h2 class=\"wp-block-heading\"><strong>Services de navettes saisonniers<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De la mi-mai \u00e0 la f\u00eate du Travail (Labor Day), le VB Wave Trolley et la Bayfront Shuttle de Hampton Roads Transit facilitent tes d\u00e9placements dans l\u2019Oceanfront de Virginia Beach, \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/attractions\/rudee-inlet\/\" data-type=\"page\" data-id=\"15190\">Rudee Inlet<\/a> et au <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/first-landing-state-park\/\" data-type=\"page\" data-id=\"15078\">First Landing State Park<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le Trolley de la route 30 (Atlantic Avenue Trolley) circule toutes les 15 minutes de 8h00 \u00e0 2h00 du matin, parcourant l\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/atlantic-avenue\/557\/\" data-type=\"mdb_listing\" data-id=\"12306\">Atlantic Avenue<\/a>, de la 2<sup>e<\/sup> Rue \u00e0 la 40<sup>e<\/sup> Rue.<\/li>\n\n\n\n<li>La route 31 (Aquarium and Campground Trolley) circule toutes les 20 minutes de 9h30 \u00e0 23h10, entre le <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/virginia-beach-koa\/2893\/\" data-type=\"mdb_listing\" data-id=\"10631\">Virginia Beach KOA<\/a> et Atlantic Avenue au niveau de la 18<sup>e<\/sup> Rue.<\/li>\n\n\n\n<li>La route 35 (Bayfront Shuttle) circule toutes les 30 minutes de 8h00 \u00e0 0h30, assurant le service entre le <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/beaches-districts\/vibe-creative-district\/\" data-type=\"page\" data-id=\"14769\">ViBe Creative District<\/a> et le First Landing State Park.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Consulte le site web pour conna\u00eetre les <a href=\"https:\/\/gohrt.com\/fares\/\">tarifs actuels<\/a> et la <a href=\"https:\/\/gohrt.com\/fares\/\">position en temps r\u00e9el<\/a> de la prochaine navette. Paie \u00e0 bord en esp\u00e8ces, ou ach\u00e8te tes billets ou forfaits journaliers \u00e0 l\u2019avance dans <a href=\"https:\/\/gohrt.com\/fares\/where-to-buy\/\">certains points de vente<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hampton Roads Transit OnDemand<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/gohrt.com\/ondemand\/\">Hampton Roads Transit OnDemand<\/a> t\u2019aide \u00e0 te rendre l\u00e0 o\u00f9 tu en as besoin, quand cela te convient. R\u00e9serve des trajets \u00e0 la demande vers des lieux s\u00e9lectionn\u00e9s dans une zone de 38 km\u00b2 au nord-ouest de Virginia Beach, incluant le <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/beaches-districts\/town-center-district\/\" data-type=\"page\" data-id=\"15038\">Town Center of Virginia Beach<\/a> et le <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/pembroke-mall\/324\/\" data-type=\"mdb_listing\" data-id=\"10793\">Pembroke Mall<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les trajets ne co\u00fbtent que 2 $ et sont gratuits pour les usagers du paratransit et les \u00e9tudiants (avec un Student Freedom Pass). R\u00e9serve une course via l\u2019<a href=\"https:\/\/city.ridewithvia.com\/hrt-ondemand\">application mobile<\/a> ou en appelant le (757) 979-2955. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Le stationnement simplifi\u00e9<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tu trouveras de nombreuses places de stationnement dans toute la ville, que tu te rendes \u00e0 l\u2019Oceanfront, \u00e0 Croatan Beach ou \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/plages-et-regions\/sandbridge\/\" data-type=\"page\" data-id=\"14753\">Sandbridge<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les parcm\u00e8tres acceptent les pi\u00e8ces, les cartes de cr\u00e9dit ou de d\u00e9bit, le paiement par SMS et les applications de paiement mobile, telles que <a href=\"https:\/\/www.passportparking.com\/\">PassportParking<\/a> et <a href=\"https:\/\/parkmobile.io\/\">ParkMobile<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stationnement \u00e0 l\u2019Oceanfront<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le stationnement payant est saisonnier, d\u2019avril \u00e0 octobre (de 8h00 \u00e0 2h30 du matin)<\/li>\n\n\n\n<li>Des parkings municipaux de plus de 300 places sont situ\u00e9s le long d\u2019Atlantic Avenue \u00e0 la 2<sup>e<\/sup> Rue, \u00e0 Rudee Loop et \u00e0 la 4<sup>e<\/sup> Rue.<\/li>\n\n\n\n<li>Des garages municipaux de plus de 1 670 places sont situ\u00e9s le long de Pacific Avenue aux 9<sup>e<\/sup>, 25<sup>e<\/sup> et 31<sup>e<\/sup> Rues.<\/li>\n\n\n\n<li>Tarif : 2 $\/heure (24 $ max)<\/li>\n\n\n\n<li>Stationnement sur rue avec parcm\u00e8tre : 2 $\/heure<\/li>\n\n\n\n<li>Stationnement avec parcm\u00e8tre gratuit de 5h00 \u00e0 10h00 entre la 5<sup>e<\/sup> Rue et Rudee Loop.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stationnement \u00e0 Croatan<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le stationnement payant est saisonnier, d\u2019avril \u00e0 septembre (de 10h00 \u00e0 20h00)<\/li>\n\n\n\n<li>Un parking municipal de plus de 500 places est situ\u00e9 sur Vanderbilt Avenue.<\/li>\n\n\n\n<li>Tarif : 5 $\/jour<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stationnement \u00e0 Sandbridge<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le stationnement payant est saisonnier, de mai \u00e0 septembre (de 8h00 \u00e0 18h00)<\/li>\n\n\n\n<li>Des parkings municipaux de plus de 900 places sont situ\u00e9s pr\u00e8s du Sandbridge Market et au Little Island Park.<\/li>\n\n\n\n<li>Tarif : 4 $\/jour ; 10 $\/nuit (exclut le parking du Sandbridge Market)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stationnement de nuit<\/strong> <strong>(Pour tous les garages municipaux)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tarif : 15 $\/jour ; 25 $\/nuit ; les tarifs sont renouvel\u00e9s \u00e0 5h00 du matin.<\/li>\n\n\n\n<li>Les tarifs et les heures d\u2019ouverture peuvent varier lors d\u2019\u00e9v\u00e9nements sp\u00e9ciaux. Heures d\u2019ouverture : de 7h00 \u00e0 0h30. <\/li>\n\n\n\n<li>Stationnement de nuit et mensuel disponible<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stationnement accessible<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Des places de stationnement r\u00e9serv\u00e9es aux personnes \u00e0 mobilit\u00e9 <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/accessible-offerings-in-virginia-beach\/\" data-type=\"link\" data-id=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/accessible-offerings-in-virginia-beach\/\">accessible<\/a> se trouvent dans tous les parkings et garages municipaux. Le stationnement sur rue est disponible le long d\u2019Arctic Avenue, Atlantic Avenue, Rudee Loop et les rues transversales d\u2019Atlantic Avenue de la 2<sup>e<\/sup> \u00e0 la 37<sup>e<\/sup> Rue. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les v\u00e9hicules affichant un macaron ou une plaque d\u2019immatriculation pour personnes handicap\u00e9es peuvent stationner gratuitement \u00e0 n\u2019importe quel emplacement avec parcm\u00e8tre sur rue pendant une dur\u00e9e maximale de quatre heures. Tous les points d\u2019acc\u00e8s \u00e0 la plage disposent de rampes universellement accessibles. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pour les bus, les camping-cars et les remorques<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les v\u00e9hicules surdimensionn\u00e9s sont invit\u00e9s \u00e0 se garer sur les places d\u00e9sign\u00e9es dans les parkings municipaux de la 4<sup>e<\/sup> Rue, de Croatan et du Little Island Park.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tarif : 15 $\/jour ; 25 $\/nuit<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note : Il est interdit de dormir dans les v\u00e9hicules pour les stationnements de nuit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant que tu sais comment te d\u00e9placer, explore les meilleures choses \u00e0 faire le long du <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/virginia-beach-boardwalk\/\" data-type=\"link\" data-id=\"https:\/\/www.visitvirginiabeach.com\/experiences\/attractions\/boardwalk\/\">Virginia Beach Boardwalk<\/a> ou trouve <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/sejour\/\">l\u2019endroit id\u00e9al o\u00f9 loger<\/a> \u00e0 proximit\u00e9.<\/p>\n<\/div><\/section>\n<style data-miles-ai=\"loading-css\">.miles-ai-mfe:not(.loaded) { position: relative; min-height: 100px; display: flex; align-items: center; justify-content: center; }.miles-ai-mfe:not(.loaded)::after { content: \"\"; position: relative; width: 20px; height: 20px; border: 2px solid #ccc; border-top: 2px solid #333; border-radius: 50%; animation: ai-spin 1s linear infinite; z-index: 1; }@keyframes ai-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }.miles-ai-mfe.loaded::before, .miles-ai-mfe.loaded::after { display: none; }<\/style><script data-miles-ai=\"global-js\">window.addEventListener('aisearch_unifyFilterKeys', function (event) {\r\n  const filterKeyMappings = {\r\n  '_to_delete': [       \r\n      'Hours of Operation',\r\n      'Happy Hour Times',   \r\n      'Admission Fee Cost',\r\n      'Live Music',\r\n      'Operating Hours'                                                                                                                                                                                                   \r\n    ], \r\n  'Tags': ['post_tag'],\r\n  'Categories': ['category']\r\n};\r\n\r\n  event.detail.mappings = filterKeyMappings;\r\n});<\/script><style data-miles-ai=\"template-css\" data-template=\"listings-with-map\">.miles-ai-template--listings {\r\n  .miles-ai-search {\r\n    --drawer-direction: right;\r\n    --drawer-size: 100%;\r\n    --font-family: var(--font-family-base);\r\n    --background-page: var(--color-white);\r\n    --primary-color: var(--color-fuchsia);\r\n    --primary-hover: var(--color-fuchsia-200);\r\n    --text-primary: var(--color-cyan-900);\r\n    --text-secondary: var(--color-black);\r\n    --border-radius: 0;\r\n\r\n    --input-border: var(--color-cyan-900);\r\n    --input-focus: var(--color-cyan-900);\r\n\r\n    \/* helpful base tuning *\/\r\n    --card-padding: 20px;\r\n    --grid-gap: 24px;\r\n    --desktop-grid-gap: 24px;\r\n    --list-item-gap: 20px;\r\n    --list-item-padding: 20px;\r\n    --results-grid-card-size: 260px;\r\n    --results-grid-card-size-desktop: 320px;\r\n\r\n    \/* button system *\/\r\n    --button-bg: var(--color-fuchsia);\r\n    --button-border: var(--color-fuchsia);\r\n    --button-color: var(--color-white);\r\n\r\n    --button-bg-hover: var(--color-fuchsia-200);\r\n    --button-border-hover: var(--color-fuchsia-200);\r\n    --button-color-hover: var(--color-black);\r\n\r\n    --button-bg-active: var(--color-fuchsia);\r\n    --button-border-active: var(--color-fuchsia);\r\n    --button-color-active: var(--color-white);\r\n\r\n    --button-bg-active-hover: var(--color-fuchsia-200);\r\n    --button-border-active-hover: var(--color-fuchsia-200);\r\n    --button-color-active-hover: var(--color-black);\r\n\r\n    max-width: 1680px;\r\n    padding-left: calc(var(--grid-gap)*2);\r\n    padding-right: calc(var(--grid-gap)*2);\r\n    font-size: 16px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  .miles-ai-search-show-more-button {\r\n    border: none;\r\n    border-bottom: 2px solid rgba(0, 0, 0, 0);\r\n    border-radius: 0;\r\n    justify-content: flex-start;\r\n    background: none;\r\n    padding: 0 0 .3rem 0;\r\n    font-family: var(--head-font-family);\r\n    font-size: 14px;\r\n    font-weight: 400;\r\n    color: var(--primary-color);\r\n    display: inline-flex;\r\n    width: fit-content;\r\n    align-self: flex-start;\r\n    align-items: center;\r\n    gap: 6px;\r\n    cursor: pointer;\r\n\r\n    span {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      color: var(--primary-color);\r\n    }\r\n\r\n    .miles-ai-search-show-more-chevron {\r\n      color: var(--primary-color);\r\n      transition: transform 0.2s ease;\r\n    }\r\n\r\n    &:hover,\r\n    &:focus {\r\n      border-color: var(--primary-hover);\r\n    }\r\n\r\n    &[aria-expanded=\"true\"] .miles-ai-search-show-more-chevron {\r\n      transform: rotate(180deg);\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-component-title {\r\n    h2,\r\n    a {\r\n      color: var(--color-cyan-900);\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-result-card-title {\r\n    font-size: 20px;\r\n    line-height: 1.2;\r\n    font-weight: 700;\r\n  }\r\n\r\n  .miles-ai-search-result-card,\r\n  .miles-ai-search-filter-group {\r\n    font-size: 14px;\r\n    line-height: 1.4;\r\n  }\r\n\r\n  .miles-ai-search__filters-sidebar {\r\n    border: none;\r\n    padding: 16px 26px 16px 16px;\r\n  }\r\n\r\n  .miles-ai-search-drawer-overlay {\r\n    z-index: 1001; \/\/ to be over leaflet map pane which has 1000 z-index\r\n  }\r\n\r\n  .miles-ai-search__filter-section {\r\n    .miles-ai-search-date-range-filter__inputs {\r\n      display: none;\r\n    }\r\n    .miles-ai-search__filter-section-title {\r\n      font-size: 20px;\r\n    }\r\n    .miles-ai-search-filter-title {\r\n      font-size: 16px;\r\n    }\r\n    .miles-ai-search-filter-label {\r\n      font-size: 14px;\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-result-card {\r\n    border: none;\r\n  }\r\n\r\n  .miles-ai-search__content-type--event {\r\n    .miles-ai-search-result-card-time,\r\n    .miles-ai-search-result-card-teaser {\r\n      display: none;\r\n    }\r\n  }\r\n  \/* result card images *\/\r\n  .miles-ai-search-result-card-image,\r\n  .miles-ai-search-result-card-image img {\r\n    aspect-ratio: 4 \/ 3;\r\n    object-fit: cover;\r\n  }\r\n\r\n  \/* image hover corner arrow (match site pattern) *\/\r\n  .miles-ai-search-result-card {\r\n    .card-detail-row {\r\n      color: var(--text-secondary);\r\n    }\r\n    .miles-ai-search-result-card-image {\r\n      position: relative;\r\n      overflow: hidden;\r\n\r\n      &::selection {\r\n        background: transparent;\r\n      }\r\n\r\n      img {\r\n        display: block;\r\n        border-bottom: 4px solid var(--color-cyan);\r\n      }\r\n\r\n      .miles-ai-search-result-card-image--clickable {\r\n        position: relative;\r\n        display: block;\r\n\r\n        &::before,\r\n        &::after {\r\n          content: \"\";\r\n          position: absolute;\r\n          bottom: 0;\r\n          width: 16px;\r\n          height: 4px;\r\n          background: var(--background-page);\r\n          z-index: 2;\r\n        }\r\n\r\n        &::before {\r\n          left: 0;\r\n        }\r\n\r\n        &::after {\r\n          right: 0;\r\n        }\r\n      }\r\n\r\n      &::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        bottom: -20%;\r\n        right: -20%;\r\n        width: 60px;\r\n        height: 60px;\r\n        background-color: var(--color-cyan);\r\n        clip-path: polygon(100% 0, 0% 100%, 100% 100%);\r\n        transition: bottom 0.3s ease, right 0.3s ease;\r\n        z-index: 2;\r\n      }\r\n\r\n      &::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        bottom: -20%;\r\n        right: -20%;\r\n        width: 60px;\r\n        height: 60px;\r\n        background: url(\"data:image\/svg+xml,%0A%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M18.2063 12.2063L18.9156 11.5001L18.2094 10.7938L13.7094 6.29385L13 5.58447L11.5875 7.0001L12.2937 7.70635L15.0875 10.5001H6H5V12.5001H6H15.0844L12.2906 15.2938L11.5875 16.0001L13 17.4157L13.7063 16.7095L18.2063 12.2095V12.2063Z' fill='black'\/%3E%3C\/svg%3E%0A\") no-repeat 90% 90%\/50%;\r\n        z-index: 3;\r\n        transition: bottom 0.3s ease, right 0.3s ease;\r\n      }\r\n\r\n      &:hover::after,\r\n      &:hover::before {\r\n        bottom: 0;\r\n        right: 0;\r\n      }\r\n    }\r\n    .miles-ai-search-result-card-date-wrapper {\r\n      .card-detail-row {\r\n        font-size: 14px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-pagination-page-button {\r\n    border: none;\r\n    border-radius: 0;\r\n    background-color: var(--background-page);\r\n    font-family: var(--head-font-family);\r\n    font-size: 16px;\r\n    font-weight: 400;\r\n    color: var(--text-secondary);\r\n    &:hover, &:focus {\r\n      background-color: var(--button-bg-hover);\r\n    }\r\n    &.active:disabled {\r\n      background-color: var(--button-bg-active);\r\n      color: var(--button-color-active);\r\n      opacity: 1;\r\n    }\r\n  }\r\n  .miles-ai-search-pagination-button {\r\n    border-radius: 0;\r\n    border: none;\r\n    background-color: var(--background-page);\r\n    color: var(--text-secondary);\r\n    span {\r\n      color: var(--text-secondary);\r\n    }\r\n    &:disabled {\r\n      display: none;\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-input-wrapper {\r\n    .miles-ai-search-icon {\r\n      display: none !important;\r\n    }\r\n    .miles-ai-search-input {\r\n      border-radius: 32px;\r\n      padding-left: var(--search-input-padding);\r\n      font-size: 13.333px;\r\n      font-weight: normal;\r\n      &:focus-visible {\r\n        border: 2px solid var(--input-focus);\r\n      }\r\n    }\r\n    .miles-ai-search-button--inline {\r\n      background: var(--color-cyan-100);\r\n      border-radius: 32px;\r\n      border-color: var(--color-cyan-100);\r\n      right: .7rem;\r\n      &:hover, &:focus {\r\n        background: var(--color-cyan-900);\r\n        border-color: var(--color-cyan-900);\r\n        .miles-ai-search-button-icon {\r\n          color: var(--color-white);\r\n        }\r\n      }\r\n      .miles-ai-search-button-icon {\r\n        width: 18px !important;\r\n        height: 18px !important;\r\n        scale: .65;\r\n        color: var(--color-default);\r\n\r\n        &:hover, &:focus {\r\n          background: var(--color-cyan-900);\r\n          border-color: var(--color-cyan-900);\r\n          color: var(--color-white);\r\n        }\r\n\r\n        svg {\r\n          overflow: visible;\r\n        }\r\n\r\n        path {\r\n          stroke: currentColor;\r\n          stroke-width: .6;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  \/* display switcher (segmented pill - match live site) *\/\r\n  .miles-ai-search-display-switcher {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    flex-wrap: nowrap;\r\n    justify-content: center;\r\n    gap: 2px;\r\n    padding: 5px;\r\n    border-radius: 20px;\r\n    background-color: var(--color-fuchsia-100);\r\n  }\r\n\r\n  .miles-ai-search-display-switcher__btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    padding: .4rem 1.5rem .4rem 1.2rem;\r\n\r\n    font-family: var(--head-font-family);\r\n    font-size: 14px;\r\n    font-weight: 500;\r\n\r\n    border: none;\r\n    border-radius: 9999px;\r\n    background-color: transparent;\r\n\r\n    color: var(--text-secondary);\r\n    cursor: pointer;\r\n\r\n    transition: background-color 0.2s ease, color 0.2s ease;\r\n    &:hover, :focus {\r\n      background-color: var(--color-fuchsia-200);\r\n      .miles-ai-search-display-switcher__label, .miles-icon {\r\n        color: var(--text-secondary);\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  .miles-ai-search-display-switcher__btn--active {\r\n    &:hover, :focus {\r\n      .miles-icon {\r\n        color: var(--text-secondary);\r\n      }\r\n      .miles-ai-search-display-switcher__label {\r\n        color: var(--color-white);\r\n      }\r\n    }\r\n  }\r\n\r\n  .miles-ai-search-display-switcher__btn[aria-pressed=\"true\"] {\r\n    background-color: var(--button-bg);\r\n    color: var(--button-color);\r\n  }\r\n\r\n  .miles-ai-search-display-switcher__btn:not([aria-pressed=\"true\"]):hover {\r\n    color: var(--primary-color);\r\n  }\r\n\r\n  @media screen and (max-width: 450px) {\r\n    .miles-ai-search-results-header:has(.miles-ai-search-results-header__text):has(.miles-ai-search-sort-container):has(.miles-ai-search-display-switcher):not(:has(.miles-ai-search-filter-pills)) {\r\n        grid-template-columns: auto;\r\n        grid-template-rows: 1fr 1fr;\r\n        grid-template-areas: \"sorting switcher\"\r\n                             \"text text\";\r\n    }\r\n}\r\n\r\n  \/* datepicker (air-datepicker) theming *\/\r\n  \/* (existing air-datepicker theming block would be here) *\/\r\n\r\n  \/* react-datepicker theming (actual component in use) *\/\r\n  .react-datepicker {\r\n    border: none;\r\n    border-radius: var(--border-radius);\r\n    background: var(--background-page);\r\n    font-family: var(--head-font-family);\r\n  }\r\n\r\n  .react-datepicker__header {\r\n    background: transparent;\r\n    border-bottom: 1px solid var(--color-cyan-900);\r\n  }\r\n\r\n  .react-datepicker__current-month {\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    color: var(--text-primary);\r\n  }\r\n\r\n  .react-datepicker__day-name {\r\n    color: var(--text-secondary);\r\n    font-size: 12px;\r\n  }\r\n\r\n  .react-datepicker__day {\r\n    color: var(--text-primary);\r\n    border-radius: 0;\r\n  }\r\n\r\n  .react-datepicker__day:hover {\r\n    background: var(--color-fuchsia-100);\r\n  }\r\n\r\n  .react-datepicker__day--selected,\r\n  .react-datepicker__day--keyboard-selected {\r\n    background: var(--button-bg);\r\n    color: var(--button-color);\r\n  }\r\n\r\n  .react-datepicker__day,\r\n  .react-datepicker__day--selected,\r\n  .react-datepicker__day--keyboard-selected {\r\n    border-radius: 50px;\r\n    padding: 3px 15px;\r\n  }\r\n\r\n  .react-datepicker__day--in-range {\r\n    background: var(--color-fuchsia-100);\r\n  }\r\n\r\n  .react-datepicker__day--disabled {\r\n    color: #ccc;\r\n  }\r\n\r\n  .react-datepicker__navigation-icon::before {\r\n    border-color: var(--text-secondary);\r\n  }\r\n\r\n  \/* make date inputs full width *\/\r\n  .miles-ai-search-date-range-filter__inputs {\r\n    display: block;\r\n    .miles-ai-search-date-range-filter__start-date,\r\n    .miles-ai-search-date-range-filter__end-date {\r\n      margin-bottom: 12px;\r\n    }\r\n    .react-datepicker__input-container {\r\n      border-radius: var(--gap-2);\r\n      border: 0 none;\r\n      padding: var(--gap) var(--gap) var(--gap) 2.5rem;\r\n      width: 100%;\r\n      background: var(--color-cyan-100) url(\"data:image\/svg+xml,%0A%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M4.3125 0.5625V0H3.1875V0.5625V1.5H0.75V3.375V4.5V10.875V12H1.875H10.125H11.25V10.875V4.5V3.375V1.5H8.8125V0.5625V0H7.6875V0.5625V1.5H4.3125V0.5625ZM1.875 4.5H3.75V5.8125H1.875V4.5ZM1.875 6.9375H3.75V8.4375H1.875V6.9375ZM4.875 6.9375H7.125V8.4375H4.875V6.9375ZM8.25 6.9375H10.125V8.4375H8.25V6.9375ZM10.125 5.8125H8.25V4.5H10.125V5.8125ZM10.125 9.5625V10.875H8.25V9.5625H10.125ZM7.125 9.5625V10.875H4.875V9.5625H7.125ZM3.75 9.5625V10.875H1.875V9.5625H3.75ZM7.125 5.8125H4.875V4.5H7.125V5.8125Z' fill='%230A7FAA'\/%3E%3C\/svg%3E%0A\") no-repeat 16px 16px\/14px;\r\n      font-size: 12px;\r\n      color: var(--color-neo-700);\r\n\r\n      textarea {\r\n        border: none;\r\n        padding: 0;\r\n        background-color: var(--color-cyan-100);\r\n        font-family: var(--head-font-family);\r\n      }\r\n    }\r\n  }\r\n\r\n  .leaflet-popup-content-wrapper {\r\n    border-radius: 0;\r\n  }\r\n\r\n  .leaflet-popup-content {\r\n    min-width: 180px;\r\n    margin: 0;\r\n    \r\n    @media screen and (min-width: 400px) {\r\n      min-width: 250px;\r\n    }\r\n  }\r\n\r\n  .leaflet-popup-content {\r\n    .miles-ai-search-result-card {\r\n      width: 100%;\r\n      min-width: 100%;\r\n      border: none;\r\n    }\r\n  }\r\n}\n\n\/* Child template styles *\/\n.miles-ai-mfe[data-template=\"listings-with-map\"] {\r\n  .miles-ai-search {\r\n    @media screen and (min-width: 768px) {\r\n      .miles-ai-search-display-switcher__label {\r\n        position: relative;\r\n        height: auto;\r\n        width: auto;\r\n        margin: unset;\r\n      }\r\n    }\r\n  }\r\n}<\/style><script data-miles-ai=\"template-js\" data-template=\"listings-with-map\">\/\/ ============================================================\r\n  \/\/ Find the instance element and config by selector or template.\r\n  \/\/ ============================================================\r\n  function findInstance(selector) {\r\n    var el = document.querySelector(selector);\r\n    if (!el) return null;\r\n    try {\r\n      return {\r\n        el: el,\r\n        config: JSON.parse(el.getAttribute('data-config')),\r\n        template: el.getAttribute('data-template'),\r\n      };\r\n    } catch (e) {\r\n      return null;\r\n    }\r\n  }\r\n\r\n  \/\/ ============================================================\r\n  \/\/ Mount handler \u2014 fires once per instance\r\n  \/\/ ============================================================\r\n  window.addEventListener('aisearch_onMount', function (event) {\r\n    var selector = event.detail && event.detail.selector;\r\n    if (!selector) return;\r\n\r\n    var instance = findInstance(selector);\r\n    if (!instance) return;\r\n\r\n    var config = {};\r\n\r\n    \/\/ Event type\r\n    if (instance.config.type === 'event') {\r\n      config.searchBehavior = { placeholder: 'Search for events by interest, topic, or idea...' };\r\n      config.filters = Object.assign(config.filters || {}, { showDatePicker: true });\r\n      config.results = Object.assign(config.results || {}, { resultLayout: \"list\" });\r\n      config.sorting = {\r\n        initialSort: 'next_occurrence:asc',\r\n        sortOptions: []\r\n      };\r\n    }\r\n\r\n    if (Object.keys(config).length > 0) {\r\n      config.selector = selector;\r\n      window.dispatchEvent(new CustomEvent('aisearch_updateConfig', { detail: config }));\r\n    }\r\n  });\r\n\r\n\r\nwindow.addEventListener('aisearch_onTransformResults', function(event) {\r\n  event.detail.results.forEach(function(result) {\r\n    var extras = result.json.extras;\r\n    extras.rankSort = (extras.rank || '').toLowerCase() === 'yes' ? 1 : 0;\r\n  });\r\n});\n\n\/\/ Child template scripts\n\/**\r\n * Custom Display Multi-Layout Template\r\n *\/\r\n\r\n\/\/ ========================================================================\r\n\/\/ CONFIG\r\n\/\/ ========================================================================\r\n\r\nvar LEAFLET_CSS = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css';\r\nvar LEAFLET_JS = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js';\r\n\r\n\/\/ Default map center and zoom (Virginia Beach)\r\nvar DEFAULT_CENTER = [36.85, -75.98];\r\nvar DEFAULT_ZOOM = 11;\r\n\r\n\/\/ Map container height\r\nvar MAP_HEIGHT = '600px';\r\n\r\n\/\/ Max distance in degrees from DEFAULT_CENTER to include a marker (~1 degree \u2248 69 miles).\r\n\/\/ Skips results with bad\/erroneous lat\/lon outside the Virginia Beach area.\r\nvar MAX_DISTANCE = 1;\r\n\r\n\/\/ Only render for a specific selector (or null for all instances)\r\nvar SELECTOR_FILTER = null;\r\n\r\n\/\/ ========================================================================\r\n\/\/ STATE\r\n\/\/ ========================================================================\r\n\r\nvar map = null;\r\nvar markersLayer = null;\r\nvar leafletReady = false;\r\nvar pendingDetail = null;\r\nvar popupCleanups = [];\r\n\r\n\/\/ ========================================================================\r\n\/\/ MAP INITIALIZATION\r\n\/\/ ========================================================================\r\n\r\nfunction injectTileFix() {\r\n    if (document.getElementById('leaflet-tile-fix')) return;\r\n    var style = document.createElement('style');\r\n    style.id = 'leaflet-tile-fix';\r\n    \/\/ Override any site CSS that constrains img dimensions (e.g. max-width: 100%).\r\n    \/\/ Leaflet tiles are <img> elements with absolute positioning and must not be constrained.\r\n    style.textContent = '.leaflet-container img { max-width: none !important; max-height: none !important; width: auto !important; min-width: unset !important; }';\r\n    document.head.appendChild(style);\r\n}\r\n\r\nfunction initMap(container, onReady) {\r\n    var L = window.L;\r\n    injectTileFix();\r\n    container.style.height = MAP_HEIGHT;\r\n    container.style.width = '100%';\r\n    \/\/ tap: false fixes iOS Safari touch handling conflicts in Leaflet\r\n    map = L.map(container, { tap: false }).setView(DEFAULT_CENTER, DEFAULT_ZOOM);\r\n    L.tileLayer('https:\/\/tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\r\n        attribution: '&copy; <a href=\"http:\/\/www.openstreetmap.org\/copyright\">OpenStreetMap<\/a>',\r\n        maxZoom: 19,\r\n        detectRetina: false\r\n    }).addTo(map);\r\n    markersLayer = L.layerGroup().addTo(map);\r\n    map.invalidateSize();\r\n    onReady();\r\n}\r\n\r\n\/\/ ========================================================================\r\n\/\/ LAYOUT RENDER FUNCTIONS\r\n\/\/ ========================================================================\r\n\r\nfunction placeMarkers(detail) {\r\n    var L = window.L;\r\n    markersLayer.clearLayers();\r\n\r\n    popupCleanups.forEach(function (cleanup) { cleanup(); });\r\n    popupCleanups.length = 0;\r\n\r\n    var results = detail.filteredResults || [];\r\n    var bounds = [];\r\n\r\n    results.forEach(function (result) {\r\n        var lat = result && result.json && result.json.extras && result.json.extras.lat;\r\n        var lon = result && result.json && result.json.extras && result.json.extras.lon;\r\n        if (!lat || !lon) return;\r\n\r\n        if (MAX_DISTANCE) {\r\n            var dLat = Math.abs(lat - DEFAULT_CENTER[0]);\r\n            var dLon = Math.abs(lon - DEFAULT_CENTER[1]);\r\n            if (dLat > MAX_DISTANCE || dLon > MAX_DISTANCE) return;\r\n        }\r\n\r\n        var id = result.content_identifier || result.id || String((result.json || {}).id);\r\n        var marker = L.marker([lat, lon]).addTo(markersLayer);\r\n\r\n        var popupEl = document.createElement('div');\r\n\r\n        try {\r\n            var cleanup = detail.renderCard(id, popupEl);\r\n            if (cleanup) popupCleanups.push(cleanup);\r\n        } catch (e) {\r\n            popupEl.innerHTML = '<div style=\"padding:8px\">' + (result.json && result.json.title ? result.json.title : 'View') + '<\/div>';\r\n        }\r\n\r\n        marker.bindPopup(popupEl);\r\n        bounds.push([lat, lon]);\r\n    });\r\n\r\n    if (bounds.length) {\r\n        map.fitBounds(bounds, { padding: [40, 40], maxZoom: 16 });\r\n    }\r\n}\r\n\r\nfunction renderMapLayout(container, detail) {\r\n    if (!map) {\r\n        initMap(container, function () { placeMarkers(detail); });\r\n    } else {\r\n        map.invalidateSize();\r\n        placeMarkers(detail);\r\n    }\r\n}\r\n\r\n\/\/ ========================================================================\r\n\/\/ LAYOUT REGISTRY\r\n\/\/ Map layout keys to their render functions.\r\n\/\/ Container convention: #aisearch-custom-display-{key}\r\n\/\/ To add a layout: define a render function and add an entry here.\r\n\/\/ ========================================================================\r\n\r\nvar layouts = {\r\n    'map': renderMapLayout,\r\n    \/\/ 'otherDisplayKey': renderCustomLayout\r\n};\r\n\r\n\/\/ ========================================================================\r\n\/\/ LEAFLET LOADING\r\n\/\/ ========================================================================\r\n\r\nfunction loadLeaflet(callback) {\r\n    var cssReady = false;\r\n    var jsReady = false;\r\n\r\n    function onBothReady() {\r\n        \/\/ One rAF ensures the CSS has been applied to the DOM before Leaflet\r\n        \/\/ reads any computed styles during map initialization.\r\n        requestAnimationFrame(function () { callback(); });\r\n    }\r\n\r\n    function check() {\r\n        if (cssReady && jsReady) onBothReady();\r\n    }\r\n\r\n    var link = document.createElement('link');\r\n    link.rel = 'stylesheet';\r\n    link.href = LEAFLET_CSS;\r\n    link.onload = function () { cssReady = true; check(); };\r\n    link.onerror = function () { cssReady = true; check(); }; \/\/ don't block on CSS failure\r\n    document.head.appendChild(link);\r\n\r\n    var script = document.createElement('script');\r\n    script.src = LEAFLET_JS;\r\n    script.onload = function () { leafletReady = true; jsReady = true; check(); };\r\n    script.onerror = function () {\r\n        console.error('[vvb-map] Failed to load Leaflet from:', LEAFLET_JS);\r\n    };\r\n    document.head.appendChild(script);\r\n}\r\n\r\n\/\/ ========================================================================\r\n\/\/ DISPLAY HANDLER\r\n\/\/ ========================================================================\r\n\r\nfunction handleDisplayResults(detail) {\r\n    var handler = layouts[detail.activeLayout];\r\n    if (!handler) return;\r\n\r\n    var containerId = 'aisearch-custom-display-' + detail.activeLayout;\r\n    var root = detail.selector ? document.querySelector(detail.selector) : document;\r\n    var container = (root || document).querySelector('#' + containerId);\r\n    if (!container) return;\r\n\r\n    handler(container, detail);\r\n}\r\n\r\n\/\/ ========================================================================\r\n\/\/ EVENT LISTENER\r\n\/\/ ========================================================================\r\n\r\nwindow.addEventListener('aisearch_onDisplayResults', function (event) {\r\n    var detail = event.detail;\r\n    if (!detail) return;\r\n\r\n    if (!layouts[detail.activeLayout]) return;\r\n\r\n    if (SELECTOR_FILTER && detail.selector !== SELECTOR_FILTER) return;\r\n\r\n    if (typeof window.L !== 'undefined') {\r\n        leafletReady = true;\r\n    }\r\n\r\n    if (!leafletReady) {\r\n        pendingDetail = detail;\r\n        if (!document.querySelector('script[src=\"' + LEAFLET_JS + '\"]')) {\r\n            loadLeaflet(function () {\r\n                if (pendingDetail) {\r\n                    handleDisplayResults(pendingDetail);\r\n                    pendingDetail = null;\r\n                }\r\n            });\r\n        }\r\n        return;\r\n    }\r\n\r\n    handleDisplayResults(detail);\r\n});\r\n<\/script><div class=\"miles-ai-mfe miles-ai-template--listings-with-map miles-ai-template--listings\" id=\"miles-ai-1\" data-template=\"listings-with-map\" data-config='{&quot;apiEndpoint&quot;:&quot;listings&quot;,&quot;modules&quot;:[&quot;pagination&quot;,&quot;filtering&quot;,&quot;sorting&quot;,&quot;ai-search&quot;,&quot;analytics&quot;],&quot;ui&quot;:{&quot;showAiLogos&quot;:true,&quot;componentTitle&quot;:&quot;Search Transportation in Virginia Beach&quot;},&quot;searchBehavior&quot;:{&quot;placeholder&quot;:&quot;Search&quot;,&quot;mode&quot;:&quot;manual&quot;,&quot;minQueryLength&quot;:4,&quot;showButton&quot;:true,&quot;hideExpiredContent&quot;:true,&quot;buttonText&quot;:&quot;&quot;,&quot;buttonIcon&quot;:&quot;magnifying-glass&quot;,&quot;showQueryAsPill&quot;:true,&quot;showAISummary&quot;:true,&quot;useStreamingSummary&quot;:true},&quot;results&quot;:{&quot;resultLayout&quot;:&quot;Grid&quot;,&quot;showResultsHeader&quot;:true,&quot;customImageFallback&quot;:&quot;\/wp-content\/themes\/virginia-beach\/assets\/images\/profile_default.webp?v=1&quot;,&quot;resultsHeaderText&quot;:&quot;Showing {firstResult} - {lastResult} of {totalResults} {:totalResults}&quot;,&quot;cardClickable&quot;:false,&quot;linkTarget&quot;:&quot;_self&quot;,&quot;showImages&quot;:true,&quot;imageClickable&quot;:true,&quot;showTeasers&quot;:true,&quot;lineClamp&quot;:4,&quot;showRegion&quot;:true,&quot;showScores&quot;:false,&quot;showContentType&quot;:false,&quot;showFeatured&quot;:false,&quot;showCTALink&quot;:false,&quot;listingWebsites&quot;:{&quot;business&quot;:&quot;&quot;,&quot;booking&quot;:&quot;&quot;,&quot;mobile&quot;:&quot;&quot;,&quot;meetings&quot;:&quot;&quot;},&quot;displayOptions&quot;:[{&quot;key&quot;:&quot;list&quot;,&quot;label&quot;:&quot;List View&quot;,&quot;icon&quot;:&quot;list&quot;},{&quot;key&quot;:&quot;map&quot;,&quot;label&quot;:&quot;Map View&quot;,&quot;icon&quot;:&quot;location-dot&quot;,&quot;showPager&quot;:false,&quot;showSorting&quot;:false}]},&quot;filters&quot;:{&quot;dynamicFilters&quot;:true,&quot;collapsibleGroups&quot;:false,&quot;mainFilterLabel&quot;:&quot;Filter Results&quot;,&quot;datesFilterLabel&quot;:&quot;Select your dates&quot;,&quot;filterLogic&quot;:&quot;AND&quot;,&quot;separateRangeSelector&quot;:true,&quot;showInputAndCal&quot;:true,&quot;showFilterResultCount&quot;:false,&quot;showMoreText&quot;:&quot;View All&quot;,&quot;showLessText&quot;:&quot;View Less&quot;,&quot;maxFilterValues&quot;:4,&quot;datePickerOptions&quot;:{&quot;monthsShown&quot;:1},&quot;filtersToShow&quot;:[&quot;Transportation&quot;]},&quot;sorting&quot;:{&quot;initialSort&quot;:&quot;rankSort:desc:shuffle&quot;,&quot;sortOptions&quot;:[{&quot;key&quot;:&quot;rankSort&quot;,&quot;label&quot;:&quot;Ranked&quot;,&quot;direction&quot;:&quot;desc&quot;,&quot;nestedSort&quot;:&quot;shuffle&quot;},{&quot;key&quot;:&quot;random&quot;,&quot;label&quot;:&quot;Random&quot;,&quot;direction&quot;:&quot;asc&quot;},{&quot;key&quot;:&quot;title&quot;,&quot;label&quot;:&quot;A to Z&quot;,&quot;direction&quot;:&quot;asc&quot;},{&quot;key&quot;:&quot;title&quot;,&quot;label&quot;:&quot;Z to A&quot;,&quot;direction&quot;:&quot;desc&quot;}]},&quot;pagination&quot;:{&quot;paginationStyle&quot;:&quot;prevNext&quot;,&quot;limit&quot;:2000,&quot;showPageButtons&quot;:true,&quot;showFirstLastButtons&quot;:false,&quot;prevNextIcon&quot;:&quot;arrow&quot;,&quot;nextButtonText&quot;:&quot;&quot;,&quot;prevButtonText&quot;:&quot;&quot;,&quot;visiblePageLinks&quot;:9,&quot;allowResultsPerPageChange&quot;:false,&quot;paginationInfoText&quot;:&quot;&quot;},&quot;responsive&quot;:{&quot;mobile&quot;:{&quot;results&quot;:{&quot;resultLayout&quot;:&quot;list&quot;},&quot;filters&quot;:{&quot;filterLayout&quot;:&quot;drawer&quot;}},&quot;desktop&quot;:{&quot;results&quot;:{&quot;resultLayout&quot;:&quot;grid&quot;},&quot;filters&quot;:{&quot;filterLayout&quot;:&quot;sidebar&quot;}}},&quot;preFilters&quot;:&quot;\\&quot;Transportation\\&quot;&quot;,&quot;type&quot;:&quot;listing&quot;,&quot;client&quot;:&quot;visit-virginia-beach&quot;,&quot;apiUrl&quot;:&quot;https:\/\/api-search.milesai.net\/api&quot;,&quot;timezone&quot;:&quot;America\/New_York&quot;}'><\/div>\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":28958,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"enable_ai_generated_excerpts":true,"ai_model_name":"","ai_prompt_id":"","footnotes":""},"class_list":["post-28957","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2026-09-19 05:08:44","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"translation_priority","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/comments?post=28957"}],"version-history":[{"count":2,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28957\/revisions"}],"predecessor-version":[{"id":28960,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28957\/revisions\/28960"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/media\/28958"}],"wp:attachment":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/media?parent=28957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}