{"id":28929,"date":"2025-04-24T18:36:11","date_gmt":"2025-04-24T18:36:11","guid":{"rendered":"https:\/\/www.visitvirginiabeach.com\/aufenthalt\/camping-und-huetten\/"},"modified":"2026-09-12T01:38:26","modified_gmt":"2026-09-12T01:38:26","slug":"camping-und-huetten","status":"publish","type":"page","link":"https:\/\/www.visitvirginiabeach.com\/de\/aufenthalt\/camping-und-huetten\/","title":{"rendered":"Camping und H\u00fctten"},"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\/04\/WS1_4972-lowres.jpg\" alt=\"A family of four sits around a campfire at a wooded campsite, roasting marshmallows. A yellow tent and a hammock are visible in the background.\" width=\"1920\" height=\"1080\" fetchpriority=\"high\"\/><div class=\"overlay-content\"><h1 class=\"extra\">Campingpl\u00e4tze und Cabins in Virginia Beach<\/h1><\/div><\/div><\/div><div class=\"after-overlay-content page-content-wrap fold-wrap md padded\"><p>Camping in Virginia Beach ist pures, unbeschwertes Abschalten. Ob Sie ein Zelt nur wenige Schritte vom Sand entfernt aufschlagen, Ihr Wohnmobil in eine schattige Kiefernlichtung man\u00f6vrieren oder es sich in einer Cabin gem\u00fctlich machen \u2013 es gibt keinen besseren Weg, die salzige Meeresluft, den Sternenhimmel und die entspannten K\u00fcsten-Vibes aufzusaugen. Virginia Beach liebt die <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/camping-in-virginia-beach\/\" data-type=\"link\" data-id=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/camping-in-virginia-beach\/\">camping season<\/a> \u2013 und sobald Sie hier sind, werden Sie verstehen, warum.  <br\/><br\/>Der <a href=\"https:\/\/www.visitvirginiabeach.com\/trip-ideas\/first-landing-state-park-explore-virginias-most-visited-state-park\/\" data-type=\"post\" data-id=\"1130\">First Landing State Park<\/a> ist einer der besten Orte zum Campen in Virginia \u2013 nur wenige Schritte vom Strand entfernt, durchzogen von Wanderwegen und reich an K\u00fcstengeschichte. F\u00fcr einen Aufenthalt voller Aktivit\u00e4ten bietet <a href=\"https:\/\/www.visitvirginiabeach.com\/listing\/virginia-beach-koa\/740\/\" data-type=\"mdb_listing\" data-id=\"13223\">Virginia Beach KOA Holiday<\/a> einfach alles \u2013 von Poolzeit bis Fahrradverleih, nur wenige Minuten vom Oceanfront entfernt. Sie m\u00f6chten noch unabh\u00e4ngiger unterwegs sein? Das <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\" data-type=\"link\" data-id=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\">Back Bay National Wildlife Refuge<\/a> f\u00fchrt Sie zum <a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/false-cape-state-park\/\" data-type=\"page\" data-id=\"14776\">False Cape State Park<\/a>, einem der wenigen Orte in Virginia, an denen Sie an unber\u00fchrten D\u00fcnen entlang wandern oder radeln und direkt am Strand campen k\u00f6nnen.  <br\/><br\/>Wenn der Tag ausklingt und das Feuer knistert, wissen Sie es \u2013 das ist die gute Art von M\u00fcdigkeit. Finden Sie Ihren Campingplatz und beginnen Sie mit der Planung Ihres perfekten Natururlaubs \u2013 vom Sonnenaufgang bis zu S\u2019mores. <br\/><br\/><strong>Reservieren Sie noch heute Ihren Platz unter den Sternen.<\/strong><\/p><\/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 Camping and Cabins 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;Region&quot;,&quot;Services&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;Camping &amp; Cabins\\&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<section class=\"cardstack pd-bottom-x2 pd-top-x2\"><span class=\"sticky-waves waves-after waves-after--cyan\"><\/span><div class=\"title-wrap fold flex-nowrap gapped fold-wrap md padded mg-bottom-x2\"><div class=\"title-content color-white\"><p class=\"alt-font-family size-32 mg-bottom-small eyebrow\">Outdoor-Abenteuer<\/p><h2 id=\"related-articles-heading\">Campen unter dem K\u00fcstenhimmel<\/h2><p>Tauschen Sie Hotelw\u00e4nde gegen frische Luft und sternenklare N\u00e4chte. Von Campingpl\u00e4tzen am Wasser bis zu R\u00fcckzugsorten im Wald \u2013 Camping ist eine einzigartige Art, Virginia Beach zu erleben. <\/p><\/div><\/div><div class=\"cardstack-wrap fold-wrap md padded\"><div class=\"stack-cards\" id=\"sticky-list\">\n<div class=\"a-card\"><div class=\"fold-sm-up fold-wrap flex-nowrap\"><div class=\"card-video video-container\"><button type=\"button\" class=\"youtube-play-link\" data-youtube-id=\"i6mjzaqd_Bw\" data-video-title=\"Explore First Landing with the Family\" aria-label=\"Play video: Explore First Landing with the Family\"><img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/i6mjzaqd_Bw\/maxresdefault.jpg\" alt=\"Explore First Landing with the Family video thumbnail\" width=\"640\" height=\"360\" loading=\"lazy\" class=\"youtube-thumbnail\"\/><span class=\"play-pause-button button button--circle has-icon has-icon--after has-icon--play\" aria-hidden=\"true\">Erleben<\/span><\/button><\/div><div class=\"card-content bg-white fold align-items-center\"><div><h3 class=\"h5\">First Landing mit der Familie entdecken<\/h3><p class=\"color-neo-800 size-14\">Eingebettet zwischen K\u00fcstenwald und Uferlinie bietet First Landing gro\u00dfz\u00fcgige Stellpl\u00e4tze, eine malerische Umgebung und einfachen Zugang zu Outdoor-Aktivit\u00e4ten f\u00fcr jedes Alter.<\/p><a href=\"https:\/\/youtube.com\/shorts\/i6mjzaqd_Bw?si=W46TkSB7LrfmJhZ6\" class=\"read-more color-fuchsia-900 has-icon has-icon--after has-icon--tailarrow-right has-icon--bg-fuchsia-900 mg-top\">Raus in die Natur<\/a><\/div><\/div><\/div><\/div>\n<\/div><\/div><\/section>\n\n<section class=\"mosaic-section mg-top-x2\"><div class=\"title-wrap title-wrap--plus fold flex-nowrap gapped fold-wrap xl padded mg-bottom-x2\"><div class=\"title-content\"><p class=\"alt-font-family size-32 mg-bottom-small\" id=\"related-articles-eyebrow\">Entdecken Sie <\/p><h2 class=\"color-default\">Parks in Virginia Beach<\/h2><p>Von ruhigen Trails bis zu sonnenverw\u00f6hnten Str\u00e4nden \u2013 die Parks in Virginia Beach sind wie gemacht f\u00fcr frische Luft und Wohlf\u00fchlmomente. <\/p><\/div><\/div><div class=\"fold-wrap xl mosaic-wrap padded boxes\">\n<div class=\"box box--hover\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/first-landing-state-park\/\" class=\"image-border image-border--bottom active-hover active-hover--lemon mg-bottom image-border--lemon\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/07\/PH_LSR22_First-Landing-State-Park-Family-compressed-10-800x600.jpg\" alt=\"Eine Familie geht Hand in Hand auf einem bewaldeten Pfad im First Landing State Park, mit einer Frau in einem flie&#xDF;enden Rock, einem Mann in einem hellen Hemd und einem M&#xE4;dchen in einem wei&#xDF;en Kleid.\" width=\"400\" height=\"300\" loading=\"lazy\"\/><\/figure><\/a><div class=\"box-info\"><p class=\"box-title size-24 head-font-family font-weight-700\">First Landing State Park<\/p><p class=\"size-14\">Wo Geschichte tief verwurzelt ist, Sumpfzypressen aus dem Sumpf emporragen und Abenteuer hinter jeder Ecke wartet.<\/p><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/first-landing-state-park\/\" class=\"button has-icon has-icon--after has-icon--tailarrow-right has-icon--bg-lemon-900 mg-top\" aria-label=\"Read more - First Landing State Park\">Mehr erfahren<\/a><\/div><\/div>\n\n\n\n<div class=\"box box--hover\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/false-cape-state-park\/\" class=\"image-border image-border--bottom active-hover active-hover--lemon mg-bottom image-border--lemon\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/07\/PH_LSR18_Camping-False-Cape_9-800x600.jpg\" alt=\"Ein Paar steht am Strand im False Cape State Park, eingerahmt von einem Campingzelt, w&#xE4;hrend die Sonne &#xFC;ber dem Meer aufgeht.\" width=\"400\" height=\"300\" loading=\"lazy\"\/><\/figure><\/a><div class=\"box-info\"><p class=\"box-title size-24 head-font-family font-weight-700\">False Cape State Park<\/p><p class=\"size-14\">Erkunden Sie unber\u00fchrte Str\u00e4nde, einheimische Wildtiere und unverf\u00e4lschte K\u00fcstensch\u00f6nheit.<\/p><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/false-cape-state-park\/\" class=\"button has-icon has-icon--after has-icon--tailarrow-right has-icon--bg-lemon-900 mg-top\" aria-label=\"Read more - False Cape State Park\">Mehr erfahren<\/a><\/div><\/div>\n\n\n\n<div class=\"box box--hover\"><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\" class=\"image-border image-border--bottom active-hover active-hover--lemon mg-bottom image-border--lemon\"><figure><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/07\/PHT_LSR23_Back-Bay-Wildlife-2-800x600.jpg\" alt=\"Ein Paar geht Hand in Hand einen sandigen Weg entlang, der zum Strand im Back Bay Wildlife Refuge f&#xFC;hrt, umgeben von Gras und unter einem klaren blauen Himmel.\" width=\"400\" height=\"300\" loading=\"lazy\"\/><\/figure><\/a><div class=\"box-info\"><p class=\"box-title size-24 head-font-family font-weight-700\">Back Bay National Wildlife Refuge<\/p><p class=\"size-14\">Entdecken Sie vielf\u00e4ltige Lebensr\u00e4ume, malerische Wanderwege und ein Paradies f\u00fcr Zugv\u00f6gel.<\/p><a href=\"https:\/\/www.visitvirginiabeach.com\/experiences\/outdoor-activities\/parks-nature\/back-bay-national-wildlife-refuge\/\" class=\"button has-icon has-icon--after has-icon--tailarrow-right has-icon--bg-lemon-900 mg-top\" aria-label=\"Read more - Back Bay National Wildlife Refuge\">Mehr erfahren<\/a><\/div><\/div>\n<\/div><\/section>\n<div class=\"accordion inline green\" style=\"padding-top:10rem\">\n    \n<div><\/div>\n\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":28931,"parent":28470,"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-28929","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2026-09-19 04:26:55","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"translation_priority","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/comments?post=28929"}],"version-history":[{"count":2,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28929\/revisions"}],"predecessor-version":[{"id":28933,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28929\/revisions\/28933"}],"up":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28470"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/media\/28931"}],"wp:attachment":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/media?parent=28929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}