{"id":28703,"date":"2026-05-30T18:45:00","date_gmt":"2026-05-30T18:45:00","guid":{"rendered":"https:\/\/www.visitvirginiabeach.com\/experiences\/activites-a-faire-avec-les-enfants-a-virginia-beach\/"},"modified":"2026-09-21T22:33:01","modified_gmt":"2026-09-21T22:33:01","slug":"activites-a-faire-avec-les-enfants-a-virginia-beach","status":"publish","type":"page","link":"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/activites-a-faire-avec-les-enfants-a-virginia-beach\/","title":{"rendered":"Activit\u00e9s \u00e0 faire avec les enfants \u00e0 Virginia Beach"},"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_LSR23_Apex-Entertainment-compressed-3.jpg\" alt=\"Child and parents navigate a complex indoor ropes course, demonstrating excitement and balance while wearing safety harnesses at Apex Entertainment.\" width=\"1920\" height=\"1080\" fetchpriority=\"high\"\/><div class=\"overlay-content\"><h1 class=\"extra\">Activit\u00e9s \u00e0 faire avec les enfants \u00e0 Virginia Beach<\/h1><\/div><\/div><\/div><div class=\"after-overlay-content page-content-wrap fold-wrap md padded\"><p>Avec un grand soleil, deux littoraux bien distincts (oc\u00e9an et baie) et une foule d\u2019activit\u00e9s pour tous les \u00e2ges, Virginia Beach est l\u2019une des destinations de vacances en famille les plus populaires des \u00c9tats-Unis. De nos <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/the-ultimate-beach-lovers-guide-to-virginia-beach\/\" data-type=\"post\" data-id=\"986\">plages de sable dor\u00e9<\/a> et nos <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/on-the-water\/\" data-type=\"page\" data-id=\"14332\">activit\u00e9s sur l\u2019eau<\/a> \u00e0 nos <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/discover-the-state-parks-of-virginia-beach\/\" data-type=\"post\" data-id=\"997\">parcs d\u2019\u00c9tat<\/a> et nos <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\" data-type=\"page\" data-id=\"14777\">r\u00e9serves naturelles<\/a> \u2014 sans oublier un large choix d\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/attractions\/museum-and-history\/\" data-type=\"page\" data-id=\"15089\">activit\u00e9s ludiques et \u00e9ducatives<\/a> \u2014 il est facile de cr\u00e9er un itin\u00e9raire captivant, adapt\u00e9 \u00e0 ta famille et qui ravira tes enfants. Voici nos fa\u00e7ons pr\u00e9f\u00e9r\u00e9es de cr\u00e9er ensemble de beaux souvenirs en famille. <\/p><\/div><\/section>\n\n<section class=\"single-promo-block with-elements mg-top-x2\"><div class=\"elements-wrap fold-wrap xl\"><div class=\"fold pd-top-x2 pd-bottom-x2 align-items-center\"><div class=\"image-wrap col-sm-3\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/04\/042523_Apex_0256-lowres-1024x683.jpg\" alt=\"Four people wearing helmets drive go-karts on an indoor track at Apex Entertainment, each in their own vehicle, with barriers and orange cones visible in the background.\" width=\"700\" height=\"525\"\/><\/div><div class=\"content-wrap col-sm-3\"><p class=\"alt-font-family size-32 mg-bottom-small eyebrow\">Tu voyages avec des ados ?<\/p><h2 class=\"mg-bottom color-default\">Activit\u00e9s \u00e0 faire \u00e0 Virginia Beach avec des ados<\/h2><p>Qu\u2019ils chassent les vagues, partent \u00e0 la recherche d\u2019art urbain ou cherchent leur prochaine mont\u00e9e d\u2019adr\u00e9naline, il y a de quoi occuper les ados et les faire explorer.<\/p><a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/beyond-the-boardwalk-the-ultimate-guide-to-virginia-beach-with-teenagers\/\" target=\"_self\" aria-label=\"See the Teen-Approved Itinerary  - Things to Do in Virginia Beach With Teenagers\" class=\"button has-icon has-icon--after has-icon--tailarrow-right mg-top\">D\u00e9couvre l\u2019itin\u00e9raire approuv\u00e9 par les ados <\/a><\/div><\/div><\/div><\/section>\n\n<section class=\"common-slider pd-bottom-x2 pd-top-x2\"><div class=\"splide slide_boxes hide_pagination fold-wrap xl\"><div class=\"fold-wrap padded common-boxes\"><div class=\"title-wrap fold flex-nowrap gapped fold-wrap xl mg-bottom-x2\"><div class=\"title-content\"><p class=\"alt-font-family size-32 color-neo-700 mg-bottom-small eyebrow\">En savoir plus<\/p><h2 class=\"color-default\" id=\"related-articles-heading\">Les meilleures attractions kid-friendly \u00e0 Virginia Beach<\/h2><p>Voici o\u00f9 trouver tout le fun avec tes tout-petits.<\/p><\/div><\/div><div class=\"splide__track\"><div class=\"splide__list\">\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/virginia-aquarium-marine-science-center\/559\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/05\/Virginia-Aquarium-Family-Friends-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">Virginia Aquarium &amp; Marine Science Center<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/virginia-aquarium-marine-science-center\/559\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about Virginia Aquarium &amp; Marine Science Center, opens in a new tab\">Virginia Aquarium &amp; Marine Science Center<\/a><\/h3><p class=\"size-14\">Avec plus d\u2019une douzaine d\u2019esp\u00e8ces de requins, raies, anguilles et reptiles, sans oublier de charmants phoques communs et des loutres de rivi\u00e8re nord-am\u00e9ricaines, l\u2019\u00e9merveillement et la d\u00e9couverte t\u2019attendent \u00e0 chaque tournant.<\/p><\/div>\n\n\n\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/first-landing-state-park\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/05\/WS1_4926-lowres-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">First Landing State Park<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/first-landing-state-park\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about First Landing State Park, opens in a new tab\">First Landing State Park<\/a><\/h3><p class=\"size-14\">M\u00eame si c\u2019est le parc le plus visit\u00e9 de Virginie, ce havre de paix de 2\u202f888 acres sur la baie de Chesapeake ne donne jamais l\u2019impression d\u2019\u00eatre bond\u00e9. Plus de 19 miles de sentiers pour tous les \u00e2ges et 1,25 mile de littoral t\u2019appellent. <\/p><\/div>\n\n\n\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/military-aviation-museum\/33\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/05\/Military-Aviation-Museum-1-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">Military Aviation Museum<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/military-aviation-museum\/33\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about Military Aviation Museum, opens in a new tab\">Military Aviation Museum<\/a><\/h3><p class=\"size-14\">Cette attraction tr\u00e8s appr\u00e9ci\u00e9e abrite l\u2019une des plus grandes collections priv\u00e9es au monde d\u2019avions militaires de la Premi\u00e8re et de la Seconde Guerre mondiale \u2014 avec 70 appareils restaur\u00e9s en \u00e9tat de vol.<\/p><\/div>\n\n\n\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/hunt-club-farm\/7\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/02\/Arts_Culture_Hunt_Club_Farm_Hunt_Club_Farm_1_jpg_a3693d03-e091-48e4-8e65-8087b16576ce-2-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">Hunt Club Farm<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/hunt-club-farm\/7\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about Hunt Club Farm, opens in a new tab\">Hunt Club Farm<\/a><\/h3><p class=\"size-14\">Ce refuge familial propose 50 acres de fun pour tous les \u00e2ges, dont une ferme p\u00e9dagogique et TreeWalk Adventure \u2014 un \u00ab terrain de jeu a\u00e9rien \u00bb reliant une s\u00e9rie de cabanes dans les arbres.<\/p><\/div>\n\n\n\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/attractions\/cape-henry-lighthouse\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/02\/Cape-Henry-Lighthouse-3-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">Cape Henry Lighthouse<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/attractions\/cape-henry-lighthouse\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about Cape Henry Lighthouse, opens in a new tab\">Cape Henry Lighthouse<\/a><\/h3><p class=\"size-14\">S\u2019il y a un passionn\u00e9 d\u2019histoire dans ton groupe, pr\u00e9vois quelques heures pour visiter cet impressionnant \u00e9difice de 1792, d\u00e9couvrir son histoire \u2014 et gravir ses 191 marches \u00e9troites et en colima\u00e7on. <\/p><\/div>\n\n\n\n<div class=\"splide__slide box\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/ocean-breeze-waterpark\/336\/\" target=\"_self\" class=\"thumb-link active-hover active-hover--fuchsia\" aria-hidden=\"true\" tabindex=\"-1\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/04\/230623_Ocean-Front_0165-lowres-388x258.jpg\" alt=\"\" width=\"388\" height=\"258\" loading=\"lazy\"\/><figcaption class=\"visually-hidden\">Ocean Breeze Waterpark<\/figcaption><\/figure><\/a><h3 class=\"h5 mg-top\"><a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/ocean-breeze-waterpark\/336\/\" target=\"_self\" class=\"read-more\" aria-label=\"Read more about Ocean Breeze Waterpark, opens in a new tab\">Ocean Breeze Waterpark<\/a><\/h3><p class=\"size-14\">Lance-toi avec plus de 30 attractions diff\u00e9rentes, dont une vari\u00e9t\u00e9 de toboggans aquatiques \u00e0 sensations et d\u2019aires de jeux aquatiques \u2014 sans oublier une piscine \u00e0 vagues et l\u2019Adventure River.<\/p><\/div>\n<\/div><\/div><div class=\"splide__arrows fold align-items-center gapped flex-shrink-0 flex-grow-0 to-the-right align-self-end\"><button class=\"splide__arrow splide__arrow--prev\">Pr\u00e9c.<\/button><div class=\"fraction-indicator\"><\/div><button class=\"splide__arrow splide__arrow--next\">Suivant<\/button><\/div><\/div><\/div><\/section>\n\n<section class=\"faq-section mg-top-x2 mg-bottom-x2\" aria-label=\"Explore Virginia Beach with the Whole Family\"><div class=\"elements-wrap padded fold-wrap xl fold pd-top-x2 pd-bottom-x2 gapped\"><div class=\"title-wrap col-sm-3\"><p class=\"alt-font-family size-24 mg-bottom-small\">Les aventures en famille commencent ici<\/p><h2 class=\"color-default\">D\u00e9couvre Virginia Beach avec toute la famille<\/h2><p>Tu cherches des activit\u00e9s kid-friendly \u00e0 Virginia Beach ? Entre journ\u00e9es \u00e0 la plage et aires de jeux, rencontres avec les animaux et mus\u00e9es interactifs, d\u00e9couvre des activit\u00e9s en famille pour les enfants de tous \u00e2ges. <\/p><\/div><div class=\"content-wrap col-sm-3 accordion accordion--multi\">\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Quelles sont les meilleures activit\u00e9s \u00e0 faire \u00e0 Virginia Beach avec des enfants ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Virginia Beach regorge d\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/trip-ideas\/meilleures-idees-de-vacances-en-famille-a-virginia-beach\/\">aventures en famille<\/a> pour les enfants de tous \u00e2ges. Passe la journ\u00e9e \u00e0 construire des ch\u00e2teaux de sable \u00e0 la plage, \u00e0 explorer la cime des arbres \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/adventure-park-at-virginia-beach\/\">Adventure Park<\/a> ou \u00e0 observer les dauphins lors d\u2019une sortie en bateau guid\u00e9e. Les familles peuvent aussi faire du v\u00e9lo sur la promenade, faire du kayak sur des voies d\u2019eau paisibles, visiter les attractions locales de <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/hunt-club-farm\/7\/\">Hunt Club Farm<\/a> ou profiter d\u2019activit\u00e9s en int\u00e9rieur dans des lieux comme <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/apex-entertainment\/3303\/\">Apex Entertainment<\/a>. Des tout-petits aux ados, il y a de quoi s\u2019amuser pour toute la famille.   <\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Y a-t-il des restaurants adapt\u00e9s aux familles \u00e0 Virginia Beach ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Bien s\u00fbr. Virginia Beach regorge de restaurants adapt\u00e9s aux familles, qui rendent les sorties au resto faciles et agr\u00e9ables pour tous les \u00e2ges. Prends des <a href=\"https:\/\/www.visitvirginiabeach.com\/meetings\/trip-ideas\/7-spots-for-breakfast-and-brunch-in-virginia-beach\/\">pancakes et des incontournables du petit-d\u00e9jeuner<\/a> dans des adresses comme <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/doc-taylors\/528\/\">Doc Taylor\u2019s<\/a>, profite de spots de fruits de mer d\u00e9contract\u00e9s le long du front de mer ou installe-toi pour un repas au bord de l\u2019eau \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/watermans-surfside-grille\/1513\/\">Waterman\u2019s Surfside Grille<\/a>. Les familles adorent aussi des favoris locaux comme <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/chix-on-the-beach\/609\/\">Chix on the Beach<\/a>, <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/shorebreak-pizza-taphouse-pungo\/4396\/\">ShoreBreak Pizza &amp; Taphouse <\/a>et <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/the-pink-dinghy\/3293\/\">The Pink Dinghy<\/a> pour des bouch\u00e9es sans chichis aux bonnes saveurs du littoral. Et bien s\u00fbr, aucune journ\u00e9e \u00e0 la plage en famille n\u2019est compl\u00e8te sans <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/the-best-places-in-virginia-beach-for-ice-cream\/\">une glace ou une petite douceur<\/a> avant de retourner sur le sable.    <br\/><\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Y a-t-il des activit\u00e9s \u00e9ducatives pour les enfants \u00e0 Virginia Beach ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Oui. \u00c0 Virginia Beach, apprendre fait partie de l\u2019aventure. Les enfants peuvent approcher la vie marine de pr\u00e8s au <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/virginia-aquarium-and-marine-science-center\/\">Virginia Aquarium &amp; Marine Science Center<\/a>, explorer l\u2019histoire locale et l\u2019aviation militaire au <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/explore-the-military-aviation-museum\/\">Military Aviation Museum<\/a> ou participer \u00e0 des <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/tours\/\">sorties nature guid\u00e9es<\/a> dans les parcs et sur les voies d\u2019eau de la r\u00e9gion. Les familles peuvent aussi visiter des fermes en activit\u00e9, observer la faune \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\">Back Bay National Wildlife Refuge<\/a> ou d\u00e9couvrir les \u00e9cosyst\u00e8mes c\u00f4tiers de la r\u00e9gion gr\u00e2ce \u00e0 des exp\u00e9riences en plein air, pratiques et immersives. C\u2019est le m\u00e9lange parfait de fun, d\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/fun-learning-opportunities-for-the-whole-family\/\">air frais et d\u2019apprentissage<\/a> au fil de la journ\u00e9e.    <br\/><\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Y a-t-il des plages calmes ou peu profondes \u00e0 Virginia Beach, adapt\u00e9es aux tout-petits ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Oui ! Virginia Beach compte plusieurs plages adapt\u00e9es aux familles, avec des <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/the-ultimate-beach-lovers-guide-to-virginia-beach\/\">eaux plus calmes<\/a> id\u00e9ales pour les plus jeunes. Les plages de <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/beaches-districts\/chesapeake-bay\/\">la baie de Chesapeake<\/a> sont particuli\u00e8rement appr\u00e9ci\u00e9es des familles gr\u00e2ce \u00e0 leurs vagues plus douces, leurs zones de rivage peu profondes et leur ambiance d\u00e9tendue. Elles sont parfaites pour barboter, nager et construire des ch\u00e2teaux de sable, sans la houle plus forte qu\u2019on trouve souvent le long du front de mer atlantique. <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/plages-et-regions\/sandbridge\/\">Sandbridge<\/a> est une autre excellente option pour les familles qui recherchent une ambiance de plage plus tranquille et des <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/sejour\/locations-de-maisons-de-vacances\/\">locations de vacances spacieuses.<\/a>  <br\/><\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Quelles sont les meilleures activit\u00e9s gratuites \u00e0 faire avec des enfants \u00e0 Virginia Beach ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Certains des meilleurs souvenirs en famille \u00e0 Virginia Beach sont totalement gratuits. Passe la journ\u00e9e \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/the-amazing-sand-sculptures-of-virginia-beach\/\">construire des ch\u00e2teaux de sable<\/a> \u00e0 la plage, \u00e0 faire du v\u00e9lo ou \u00e0 <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/virginia-beach-boardwalk\/\">te promener sur la promenade<\/a>, \u00e0 explorer les aires de jeux locales ou \u00e0 observer la faune le long de sentiers nature panoramiques. Les familles peuvent aussi profiter d\u2019\u00e9v\u00e9nements saisonniers, de <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/evenements\/festivals-et-concerts\/\">concerts en plein air<\/a> et d\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/3-day-virginia-beach-art-itinerary\/\">\u0153uvres d\u2019art public color\u00e9es<\/a> dans toute la ville. Les <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/farmers-and-seafood-markets\/\">march\u00e9s fermiers et march\u00e9s de fruits de mer<\/a> locaux sont aussi une super id\u00e9e pour toute la famille.    <br\/><\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Y a-t-il des activit\u00e9s en int\u00e9rieur pour les enfants \u00e0 Virginia Beach ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Oui. Virginia Beach propose plein d\u2019<a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/attractions-en-interieur\/\">activit\u00e9s en int\u00e9rieur g\u00e9niales<\/a> pour occuper les enfants quand tu veux faire une pause \u00e0 l\u2019abri du soleil. Le <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/attractions\/virginia-aquarium-and-marine-science-center\/\">Virginia Aquarium &amp; Marine Science Center<\/a> est l\u2019incontournable, avec des expositions interactives et des rencontres avec des animaux que les enfants de tous \u00e2ges adorent. En plus, tu trouveras des escape rooms, des bowlings, des salles d\u2019arcade et des <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/indoor-adventures-in-virginia-beach\/\">parcs d\u2019aventure en int\u00e9rieur<\/a> un peu partout dans la ville. <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/beaches-districts\/vibe-creative-district\/\">The ViBe Creative District<\/a> propose aussi des galeries et des espaces cr\u00e9atifs \u00e0 d\u00e9couvrir les jours de pluie.    <br\/><\/p><\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"accordion-item\"><button class=\"accordion-trigger\" aria-expanded=\"false\"><span class=\"trigger-title size-20 weight-700\"><strong>Y a-t-il des aires de jeux ou des parcs pr\u00e8s du front de mer ?<\/strong><\/span><span class=\"trigger-icon\" aria-hidden=\"true\"><\/span><\/button><div class=\"accordion-panel\" role=\"region\"><div class=\"panel-inner\"><div class=\"panel-content\"><p>Bien s\u00fbr. Virginia Beach compte de nombreuses <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/beach-playgrounds\/796\/\">aires de jeux<\/a> o\u00f9 les enfants peuvent grimper, glisser et se d\u00e9penser entre les journ\u00e9es \u00e0 la plage et les visites. Les familles adorent <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/grommet-island-park\/663\/\">Grommet Island Park<\/a> au front de mer : une aire de jeux sur le th\u00e8me de l\u2019oc\u00e9an, con\u00e7ue pour les enfants de toutes capacit\u00e9s et situ\u00e9e \u00e0 quelques pas de la plage. Beaucoup d\u2019aires de jeux se trouvent pr\u00e8s de sentiers de promenade, d\u2019aires de pique-nique et de grands espaces verts, tandis que les <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/activites-de-plein-air\/parcs-et-nature\/\">parcs d\u2019\u00c9tat<\/a> \u00e0 proximit\u00e9 offrent encore plus de place pour que toute la famille puisse <a href=\"https:\/\/www.visitvirginiabeach.com\/fr\/experiences\/activites-de-plein-air\/\">explorer en plein air<\/a>.   <\/p><\/div><\/div><\/div><\/div>\n<\/div><\/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><style data-miles-ai=\"global-css\">.miles-ai-mfe {\r\n  .miles-ai-search {\r\n    .miles-ai-search-filter-option[data-term=\"VBCC Newsletter\"] { display: none; }\r\n  }\r\n}<\/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-900);\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-footer--drawer {\r\n    margin-bottom: 3rem; \/* to put footer higher than cookie button on mobile *\/\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\">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 config = window.milesAI.utils.getConfig(selector);\r\n  if (!config) return;\r\n\r\n  if (window.milesAI.utils.hasType(config, 'event')) {\r\n    window.dispatchEvent(\r\n      new CustomEvent('aisearch_updateConfig', {\r\n        detail: {\r\n          selector: selector,\r\n          searchBehavior: { placeholder: 'Search for events by interest, topic, or idea...' },\r\n          filters: { showDatePicker: true },\r\n          results: { resultLayout: 'list' },\r\n          sorting: { initialSort: 'next_occurrence:asc', sortOptions: [] },\r\n        },\r\n      }),\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\nwindow.addEventListener(\"aisearch_onMount\", function (event) {\r\n  if (window.location.pathname !== \"\/events\/events-this-weekend\/\") return;\r\n  if (event.detail.selector !== \"#miles-ai-100113\") return;\r\n\r\n  window.dispatchEvent(\r\n    new CustomEvent(\"aisearch_updateConfig\", {\r\n      detail: {\r\n        selector: \"#miles-ai-100113\",\r\n        filters: { dateQuickFilters: [\"thisWeekend\"] },\r\n      },\r\n    })\r\n  );\r\n\r\n  window.dispatchEvent(\r\n    new CustomEvent(\"aisearch_setDateQuickFilter\", {\r\n      detail: { quickFilter: \"thisWeekend\", selector: \"#miles-ai-100113\" },\r\n    })\r\n  );\r\n});\r\n\r\n\/**\r\n * Custom map layout\r\n *\r\n * Renders a Leaflet map with markers for each result that has lat\/lon data.\r\n * Listens for aisearch_onDisplayResults and renders into #aisearch-custom-display-map.\r\n * Uses renderCard() from the event detail to mount real ResultCard components\r\n * inside map popups (with full analytics + click tracking). Cards mount when a\r\n * popup opens, not per marker, and markers are only rebuilt when the plotted\r\n * results change - eager per-marker cards made every date click slow (INP).\r\n *\r\n * DEPENDENCIES:\r\n * - Leaflet (loaded from CDN automatically)\r\n *   https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\r\n *\/\r\n\r\n\/\/ No ampersand characters anywhere in this file, on purpose: WordPress can save a pasted Custom\r\n\/\/ JS field through wptexturize\/kses, which HTML-encodes every ampersand and turns a logical AND\r\n\/\/ into a syntax error. Use `(a || {}).b`, ternaries or nested ifs, and `u00a9` instead.\r\n(function () {\r\n  'use strict';\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ CONFIG\r\n  \/\/ ========================================================================\r\n\r\n  var LEAFLET_CSS = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css';\r\n  var LEAFLET_JS = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js';\r\n\r\n  \/\/ Default map center and zoom (Virginia Beach)\r\n  var DEFAULT_CENTER = [36.85, -75.98];\r\n  var DEFAULT_ZOOM = 11;\r\n\r\n  \/\/ Map container height\r\n  var MAP_HEIGHT = '600px';\r\n\r\n  \/\/ Only render when this layout is active (from aisearch_onDisplayResults)\r\n  var ACTIVE_LAYOUT = 'map';\r\n\r\n  \/\/ Only render for a specific selector (or null for all instances)\r\n  var SELECTOR_FILTER = null;\r\n\r\n  function isOtherInstance(selector) {\r\n    return SELECTOR_FILTER ? selector !== SELECTOR_FILTER : false;\r\n  }\r\n\r\n  \/\/ Max distance (in degrees) from DEFAULT_CENTER to include a marker.\r\n  \/\/ Filters out results with bad or unrelated lat\/lon data.\r\n  \/\/ ~1 degree \u2248 69 miles. Set to null to disable filtering.\r\n  var MAX_DISTANCE = 1;\r\n\r\n  \/\/ Add a \"Map\" toggle to the results layout switcher on mount, so this file works on its own.\r\n  \/\/ aisearch_updateConfig replaces displayOptions wholesale - set this to false on a site whose\r\n  \/\/ CMS config already lists a 'map' display option, or this list will override it.\r\n  var REGISTER_DISPLAY_OPTIONS = false;\r\n  var DISPLAY_OPTIONS = [\r\n    { key: 'grid', label: 'Grid', icon: 'grid' },\r\n    \/\/ The map plots every filtered result, so paging and sorting don't apply to it.\r\n    {\r\n      key: ACTIVE_LAYOUT,\r\n      label: 'Map',\r\n      icon: 'location-dot',\r\n      showPager: false,\r\n      showSorting: false,\r\n    },\r\n  ];\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ STATE\r\n  \/\/ ========================================================================\r\n\r\n  var map = null;\r\n  var markersLayer = null;\r\n  var leafletReady = false;\r\n  var leafletLoading = false;\r\n  var pendingDetail = null;\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ STYLES\r\n  \/\/ ========================================================================\r\n\r\n  function injectStyles() {\r\n    if (document.getElementById('map-demo-styles')) return;\r\n    var style = document.createElement('style');\r\n    style.id = 'map-demo-styles';\r\n    style.textContent =\r\n      '\/* Leaflet popup overrides for ResultCard *\/n' +\r\n      '.leaflet-popup-content-wrapper { padding: 0; border-radius: 12px; overflow: hidden; }n' +\r\n      '.leaflet-popup-content { margin: 0; width: 300px !important; line-height: inherit; }n' +\r\n      '.leaflet-popup-content p { margin: 0; }n' +\r\n      '\/* ResultCard adjustments inside map popup *\/n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-wrap { margin: 0; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card { border: none; border-radius: 0; box-shadow: none; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-content { display: flex; flex-direction: column; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-image { width: 100%; max-height: 160px; overflow: hidden; aspect-ratio: auto; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-image img { width: 100%; height: 160px; object-fit: cover; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-content-wrapper { padding: 12px 14px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-title { font-size: 0.95rem; line-height: 1.3; margin: 0; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-tags { margin-top: 6px; gap: 4px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-tag { font-size: 0.7rem; padding: 2px 8px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-teaser { font-size: 0.8rem; -webkit-line-clamp: 2 !important; margin-top: 6px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-date-wrapper { margin-top: 6px; font-size: 0.8rem; }n' +\r\n      '.miles-ai-search-map-popup-card .card-detail-row { font-size: 0.8rem; margin-top: 2px; }n' +\r\n      '.miles-ai-search-map-popup-card .card-detail-row svg { width: 12px; height: 12px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-badges { margin-bottom: 4px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-featured { font-size: 0.7rem; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-buttons { margin-top: 8px; gap: 6px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-button { font-size: 0.8rem; padding: 6px 12px; }n' +\r\n      '.miles-ai-search-map-popup-card .miles-ai-search-result-card-metadata { padding: 4px 14px 8px; font-size: 0.75rem; }';\r\n    document.head.appendChild(style);\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ LEAFLET LOADING\r\n  \/\/ ========================================================================\r\n\r\n  function loadLeaflet(callback) {\r\n    var link = document.createElement('link');\r\n    link.rel = 'stylesheet';\r\n    link.href = LEAFLET_CSS;\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 () {\r\n      leafletReady = true;\r\n      callback();\r\n    };\r\n    script.onerror = function () {\r\n      console.error('[custom-map] Failed to load Leaflet from:', LEAFLET_JS);\r\n    };\r\n    document.head.appendChild(script);\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ MAP INITIALIZATION\r\n  \/\/ ========================================================================\r\n\r\n  function initMap(container) {\r\n    injectStyles();\r\n    var L = window.L;\r\n    map = L.map(container).setView(DEFAULT_CENTER, DEFAULT_ZOOM);\r\n    L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\r\n      attribution: 'u00a9 OpenStreetMap contributors',\r\n      maxZoom: 18,\r\n    }).addTo(map);\r\n    markersLayer = L.layerGroup().addTo(map);\r\n\r\n    container.style.height = MAP_HEIGHT;\r\n    container.style.width = '100%';\r\n    container.style.borderRadius = '12px';\r\n    container.style.marginTop = '1rem';\r\n    map.invalidateSize();\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ RESULT IDS\r\n  \/\/ ========================================================================\r\n\r\n  var warnedNoUtils = false;\r\n\r\n  \/\/ The id renderCard() looks a result up by. window.milesAI.utils.getResultId is the\r\n  \/\/ component's own answer, but the utils are only there once the host page has loaded the\r\n  \/\/ remote's '.\/publicApi' expose - an older CMS loader, or a page that renders the component\r\n  \/\/ some other way, may not have them. renderCard() strips the `_N` chunk suffix from a raw\r\n  \/\/ content_identifier itself, so that is a working fallback rather than a guess.\r\n  function resultIdFor(result) {\r\n    var utils = (window.milesAI || {}).utils || {};\r\n    if (typeof utils.getResultId === 'function') return utils.getResultId(result);\r\n\r\n    if (!warnedNoUtils) {\r\n      warnedNoUtils = true;\r\n      console.warn(\r\n        '[custom-map] window.milesAI.utils is not available - falling back to each ' +\r\n          \"result's content_identifier. Load the remote's '.\/publicApi' to get getResultId().\",\r\n      );\r\n    }\r\n    if (result.content_identifier) return result.content_identifier;\r\n    var json = result.json || {};\r\n    if (!json.type || json.id == null) return null;\r\n    return json.type + ':' + json.id;\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ MARKER RENDERING\r\n  \/\/ ========================================================================\r\n\r\n  \/\/ Popup cards are mounted lazily, on popupopen, and unmounted on popupclose. Each renderCard()\r\n  \/\/ is a live React ResultCard that re-renders on date and filter changes, so mounting one per\r\n  \/\/ marker up front costs every result's card on every display event, for popups nobody opened.\r\n  var lastSignature = null;\r\n  var latestRenderCard = null;\r\n  var openCard = null; \/\/ { container, cleanup } for the one mounted popup card\r\n\r\n  function unmountOpenCard() {\r\n    if (openCard) {\r\n      openCard.cleanup();\r\n      openCard = null;\r\n    }\r\n  }\r\n\r\n  function addMarker(point) {\r\n    var L = window.L;\r\n    var marker = L.marker([point.lat, point.lon]).addTo(markersLayer);\r\n\r\n    var cardContainer = document.createElement('div');\r\n    cardContainer.className = 'miles-ai-search-map-popup-card';\r\n    marker.bindPopup(cardContainer, { maxWidth: 320, minWidth: 280 });\r\n\r\n    marker.on('popupopen', function (e) {\r\n      unmountOpenCard();\r\n      \/\/ latestRenderCard, not the one from when the marker was made: the newest closure\r\n      \/\/ carries the component's current click\/analytics context.\r\n      openCard = { container: cardContainer, cleanup: latestRenderCard(point.id, cardContainer) };\r\n      \/\/ The card renders after Leaflet measured the empty popup; re-measure once it's in.\r\n      requestAnimationFrame(function () {\r\n        if (e.popup.isOpen()) e.popup.update();\r\n      });\r\n    });\r\n    marker.on('popupclose', function () {\r\n      if ((openCard || {}).container === cardContainer) unmountOpenCard();\r\n    });\r\n  }\r\n\r\n  function renderMarkers(results, renderCard) {\r\n    if (!map || !markersLayer) return;\r\n    latestRenderCard = renderCard;\r\n\r\n    var points = [];\r\n    for (var r = 0; r < results.length; r++) {\r\n      var result = results[r];\r\n      var extras = (result.json || {}).extras || {};\r\n      var lat = extras.lat;\r\n      var lon = extras.lon;\r\n      if (!lat || !lon) continue;\r\n\r\n      \/\/ Skip markers too far from the configured center (bad\/unrelated data)\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) continue;\r\n      }\r\n\r\n      \/\/ The component's own key for this result - the same one renderCard looks up.\r\n      var id = resultIdFor(result);\r\n      if (!id) continue;\r\n      points.push({ id: id, lat: lat, lon: lon });\r\n    }\r\n\r\n    \/\/ The event re-fires for changes the map doesn't show (pagination, a half-picked date\r\n    \/\/ range, a layout switch). Same markers in the same places: leave the map alone.\r\n    var signature = points\r\n      .map(function (p) {\r\n        return p.id + '@' + p.lat + ',' + p.lon;\r\n      })\r\n      .join('|');\r\n    if (signature === lastSignature) return;\r\n    lastSignature = signature;\r\n\r\n    unmountOpenCard();\r\n    markersLayer.clearLayers();\r\n\r\n    var bounds = [];\r\n    for (var i = 0; i < points.length; i++) {\r\n      addMarker(points[i]);\r\n      bounds.push([points[i].lat, points[i].lon]);\r\n    }\r\n\r\n    if (bounds.length > 0) {\r\n      map.fitBounds(bounds, { padding: [40, 40], maxZoom: 14 });\r\n    }\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ DISPLAY HANDLER\r\n  \/\/ ========================================================================\r\n\r\n  function handleDisplayResults(detail) {\r\n    var container = document.getElementById('aisearch-custom-display-map');\r\n    if (!container) return;\r\n\r\n    \/\/ Without displayOptions the component only renders the mount div while the map layout is\r\n    \/\/ active, so switching away and back hands us a new div. Leaflet can't move maps between\r\n    \/\/ containers: drop the old one and start over on the new div.\r\n    if (map ? map.getContainer() !== container : false) {\r\n      unmountOpenCard();\r\n      map.remove();\r\n      map = null;\r\n      markersLayer = null;\r\n      lastSignature = null;\r\n    }\r\n\r\n    if (!map) {\r\n      initMap(container);\r\n    } else {\r\n      \/\/ The container may have been display:none while another layout was active.\r\n      map.invalidateSize();\r\n    }\r\n\r\n    var results = detail.filteredResults || [];\r\n    renderMarkers(results, detail.renderCard);\r\n  }\r\n\r\n  \/\/ ========================================================================\r\n  \/\/ EVENT LISTENER\r\n  \/\/ ========================================================================\r\n\r\n  window.addEventListener('aisearch_onDisplayResults', function (event) {\r\n    var detail = event.detail;\r\n    if (!detail) return;\r\n\r\n    \/\/ Only render for the map layout\r\n    if (detail.activeLayout !== ACTIVE_LAYOUT) return;\r\n\r\n    \/\/ Optional: only render for specific instance\r\n    if (isOtherInstance(detail.selector)) return;\r\n\r\n    \/\/ Leaflet may already be on the page (the site, or another demo loaded it).\r\n    if (window.L) leafletReady = true;\r\n\r\n    if (!leafletReady) {\r\n      \/\/ Keep only the newest event; load Leaflet once even if more arrive while it loads.\r\n      pendingDetail = detail;\r\n      if (leafletLoading) return;\r\n      leafletLoading = true;\r\n      loadLeaflet(function () {\r\n        if (pendingDetail) {\r\n          handleDisplayResults(pendingDetail);\r\n          pendingDetail = null;\r\n        }\r\n      });\r\n      return;\r\n    }\r\n\r\n    handleDisplayResults(detail);\r\n  });\r\n\r\n  if (REGISTER_DISPLAY_OPTIONS) {\r\n    window.addEventListener('aisearch_onMount', function (event) {\r\n      var selector = (event.detail || {}).selector;\r\n      if (isOtherInstance(selector)) return;\r\n      window.dispatchEvent(\r\n        new CustomEvent('aisearch_updateConfig', {\r\n          detail: { selector: selector, results: { displayOptions: DISPLAY_OPTIONS } },\r\n        }),\r\n      );\r\n    });\r\n  }\r\n})();\r\n\r\n<\/script><div class=\"miles-ai-mfe miles-ai-template--listings-with-map miles-ai-template--listings\" id=\"miles-ai-100141\" data-template=\"listings-with-map\" data-mount-type=\".\/searchMount\" 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;Explore Family Activities&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;Categories&quot;,&quot;Region&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;:2001,&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;tokenUrl&quot;:&quot;https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/miles-ai-mfe\/v1\/guided-discovery\/token&quot;,&quot;preFilters&quot;:&quot;\\&quot;Kids\\&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;}' data-meta='{&quot;mountType&quot;:&quot;.\/searchMount&quot;,&quot;instanceKey&quot;:&quot;miles-ai-100141&quot;,&quot;siteEnvironment&quot;:&quot;live&quot;}'><\/div>\n<section class=\"single-promo-block with-elements mg-top-x2\"><div class=\"elements-wrap fold-wrap xl\"><div class=\"fold pd-top-x2 pd-bottom-x2 align-items-center\"><div class=\"image-wrap col-sm-3\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/04\/WS1_7017_Edt-lowres.jpg\" alt=\"A group of children run on a boardwalk through sand dunes while adults walk behind them, smiling under a partly cloudy sky.\" width=\"700\" height=\"525\"\/><\/div><div class=\"content-wrap col-sm-3\"><p class=\"alt-font-family size-32 mg-bottom-small eyebrow\">Trouve plus d\u2019inspiration<\/p><h2 class=\"mg-bottom color-default\">Livre de coloriage de Virginia Beach<\/h2><p>Donne envie aux enfants de partir en voyage avec cette activit\u00e9 imprimable gratuite.<\/p><a href=\"https:\/\/drive.google.com\/file\/d\/1cHxS195hAzIhmg0Gg47gLR0p4Q1GpDu3\/view\" target=\"_self\" aria-label=\"Download Now - Virginia Beach Coloring Book\" class=\"button has-icon has-icon--after has-icon--tailarrow-right mg-top\">T\u00e9l\u00e9charger maintenant<\/a><\/div><\/div><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":28706,"parent":28078,"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-28703","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28703","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=28703"}],"version-history":[{"count":8,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28703\/revisions"}],"predecessor-version":[{"id":29885,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28703\/revisions\/29885"}],"up":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/pages\/28078"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/media\/28706"}],"wp:attachment":[{"href":"https:\/\/www.visitvirginiabeach.com\/fr\/wp-json\/wp\/v2\/media?parent=28703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}