{"id":347,"date":"2025-06-11T11:17:21","date_gmt":"2025-06-11T11:17:21","guid":{"rendered":"https:\/\/bonjourrouvres.nl\/?page_id=347"},"modified":"2026-04-03T12:33:59","modified_gmt":"2026-04-03T12:33:59","slug":"ons-dorp","status":"publish","type":"page","link":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/","title":{"rendered":"Ons dorp"},"content":{"rendered":"\n<!-- BLOCK: HERO \u2014 Ons dorp -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Aboreto&#038;family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&#038;family=Jost:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n.st-hero{position:relative;height:75vh;min-height:460px;width:100%;overflow:hidden;display:flex;align-items:flex-end;padding-bottom:6rem}\n.st-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:0}\n.st-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 50%,transparent 100%);z-index:1}\n.st-hero-content{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}\n.st-hero-h1{font-family:'Aboreto',serif;font-size:clamp(2.2rem,6vw,4.5rem);letter-spacing:.15em;margin-bottom:1rem;font-weight:400;color:#ffffff !important}\n.st-hero-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:300;max-width:42rem;color:rgba(255,255,255,.9) !important}\n\n@media(max-width:640px){.st-hero{padding-bottom:4rem;height:70vh}.st-hero-content{padding:0 1.25rem}}\n<\/style>\n<section class=\"st-hero\">\n  <img decoding=\"async\" class=\"st-hero-img\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg\" alt=\"Het dorp Rouvres-sur-Aube in de Bourgogne\">\n  <div class=\"st-hero-overlay\"><\/div>\n  <div class=\"st-hero-content\">\n    <h1 class=\"st-hero-h1\">Ons dorp<\/h1>\n    <p class=\"st-hero-sub\">Een kleine gemeenschap met grote charme, verscholen tussen de bossen van de Bourgogne.<\/p>\n\n  <\/div>\n<\/section>\n\n\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Aboreto&#038;family=Cormorant+Garamond:ital,wght@1,300;1,400&#038;family=DM+Sans:wght@300;400;500&#038;display=swap\" rel=\"stylesheet\">\n<div style=\"background-color:#fbf4ee; padding:5rem 2rem;\">\n  <div style=\"max-width:720px; margin:0 auto;\">\n\n    <!-- Eyebrow -->\n    <div style=\"display:flex; align-items:center; gap:12px; margin-bottom:1.4rem;\">\n      <div style=\"width:32px; height:1px; background:#7A8C6E; opacity:0.5;\"><\/div>\n      <span style=\"font-family:'DM Sans',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.35em; text-transform:uppercase; color:#7A8C6E;\">De vallei<\/span>\n      <div style=\"width:32px; height:1px; background:#7A8C6E; opacity:0.5;\"><\/div>\n    <\/div>\n\n    <!-- Heading -->\n    <h2 style=\"font-family:'Aboreto',serif; font-size:clamp(1.4rem,3vw,2rem); letter-spacing:.12em; text-transform:uppercase; color:#1a1208; font-weight:600; margin:0 0 1.8rem;\">Rouvres-sur-Aube<\/h2>\n\n    <!-- Pull quote \u2014 first sentence set apart -->\n    <p style=\"font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-style:italic; font-weight:400; line-height:1.75; color:#5C1515; margin:0 0 1.6rem; border-left:2px solid #7D2020; padding-left:1.2rem;\">Rouvres-sur-Aube, waar wij zelf wonen, ligt in het rustige dal van het riviertje de Aube. Deze prachtige en goed bewaarde vallei is goed te verkennen te voet, op de fiets of per motor.<\/p>\n\n    <!-- Body -->\n    <p style=\"font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:400; line-height:1.85; color:#2e2218; margin:0 0 1.2rem;\">Vooral via de D20 tussen Auberive en Dancevoir kom je langs de verborgen geheimen van moeder natuur. De bovenste vallei van de Aube en haar zijrivieren vormen een uitgestrekt en goed behouden gebied, rijk aan bossen, waterlandschappen en graslanden.<\/p>\n\n    <p style=\"font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:400; line-height:1.85; color:#2e2218; margin:0 0 1.8rem;\">Dit mooie natuurgebied biedt een thuis aan bijzondere dieren, zoals de zwarte ooievaar en de vuursalamander. Tijdens het opkomen en ondergaan van de zon zou je zo maar eens oog in oog kunnen komen te staan met een vosje, wilde zwijnen en ree\u00ebn.<\/p>\n\n    <!-- Location note -->\n    <p style=\"font-family:'DM Sans',sans-serif; font-size:0.9rem; font-weight:400; line-height:1.75; color:#5a4a3a; margin:0 0 1.8rem; padding:1rem 1.2rem; background-color:#f0e8df; border-left:2px solid #B85C38;\">Onze vakantieboerderij ligt een paar kilometer verderop in <em>La Chaume<\/em>, in de C\u00f4te-d&#8217;Or \u2014 op een steenworp afstand van al dit natuurschoon.<\/p>\n\n    <!-- Closing line \u2014 set apart -->\n    <p style=\"font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:500; line-height:1.6; color:#7D2020; margin:0; letter-spacing:0.02em;\">Een geweldige plek om te genieten van rust en natuur!<\/p>\n\n  <\/div>\n<\/div>\n\n\n\n<!-- Bonjour Rouvres \u2013 Auto-Scrolling Photo Gallery Divider -->\n<style>\n  .br-gallery-wrap {\n    width: 100%;\n    padding: 56px 0;\n    font-family: Georgia, 'Times New Roman', serif;\n    border-top: 1px solid #d9cfc3;\n    border-bottom: 1px solid #d9cfc3;\n  }\n\n  .br-gallery {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    padding: 8px 4px 20px;\n    scroll-behavior: auto;\n    -webkit-overflow-scrolling: touch;\n    cursor: grab;\n    user-select: none;\n    \/* Prevent native scroll from fighting our auto-scroll *\/\n    overscroll-behavior-x: contain;\n  }\n\n  .br-gallery:active {\n    cursor: grabbing;\n  }\n\n  .br-gallery::-webkit-scrollbar {\n    height: 6px;\n  }\n  .br-gallery::-webkit-scrollbar-track {\n    background: #f0ebe3;\n    border-radius: 10px;\n  }\n  .br-gallery::-webkit-scrollbar-thumb {\n    background: #b5956a;\n    border-radius: 10px;\n  }\n\n  .br-gallery img {\n    height: 280px;\n    width: auto;\n    flex-shrink: 0;\n    border-radius: 0;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n    cursor: pointer;\n    \/* Prevent long-press saving on iOS *\/\n    -webkit-touch-callout: none;\n    pointer-events: auto;\n  }\n\n  .br-gallery img:hover {\n    transform: scale(1.03);\n    box-shadow: 0 6px 20px rgba(90, 60, 30, 0.2);\n  }\n\n  \/* \u2500\u2500 Mobile sizing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  @media (max-width: 768px) {\n    .br-gallery-wrap {\n      padding: 32px 0;\n    }\n    .br-gallery {\n      gap: 8px;\n      padding: 6px 4px 14px;\n    }\n    .br-gallery img {\n      height: 180px;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .br-gallery img {\n      height: 140px;\n    }\n    .br-gallery {\n      gap: 6px;\n    }\n  }\n\n  \/* \u2500\u2500 Lightbox \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  .br-lightbox {\n    display: none;\n    position: fixed;\n    inset: 0;\n    background: rgba(40, 30, 20, 0.92);\n    z-index: 99999;\n    justify-content: center;\n    align-items: center;\n    padding: 24px;\n    touch-action: none;\n  }\n\n  .br-lightbox.active {\n    display: flex;\n  }\n\n  .br-lightbox img {\n    max-width: 90vw;\n    max-height: 88vh;\n    border-radius: 0;\n    box-shadow: 0 12px 48px rgba(0,0,0,0.5);\n    object-fit: contain;\n    \/* Smooth swipe transition *\/\n    transition: transform 0.25s ease, opacity 0.25s ease;\n    -webkit-touch-callout: none;\n  }\n\n  .br-lb-close {\n    position: fixed;\n    top: 16px;\n    right: 24px;\n    color: #f0ebe3;\n    font-size: 36px;\n    cursor: pointer;\n    line-height: 1;\n    font-family: Georgia, serif;\n    opacity: 0.85;\n    transition: opacity 0.2s;\n    \/* Larger tap target on mobile *\/\n    padding: 8px;\n    z-index: 100000;\n  }\n  .br-lb-close:hover { opacity: 1; }\n\n  .br-lb-prev, .br-lb-next {\n    position: fixed;\n    top: 50%;\n    transform: translateY(-50%);\n    color: #f0ebe3;\n    font-size: 40px;\n    cursor: pointer;\n    opacity: 0.75;\n    transition: opacity 0.2s;\n    font-family: Georgia, serif;\n    \/* Larger tap target *\/\n    padding: 16px 20px;\n    line-height: 1;\n    z-index: 100000;\n  }\n  .br-lb-prev { left: 0; }\n  .br-lb-next { right: 0; }\n  .br-lb-prev:hover, .br-lb-next:hover { opacity: 1; }\n\n  \/* Hide prev\/next arrows on small screens (use swipe instead) *\/\n  @media (max-width: 600px) {\n    .br-lb-prev, .br-lb-next {\n      display: none;\n    }\n    \/* Swipe hint dots *\/\n    .br-lb-dots {\n      display: flex !important;\n    }\n  }\n\n  .br-lb-dots {\n    display: none;\n    position: fixed;\n    bottom: 20px;\n    left: 50%;\n    transform: translateX(-50%);\n    gap: 6px;\n    z-index: 100000;\n  }\n  .br-lb-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: rgba(240, 235, 227, 0.4);\n    transition: background 0.2s;\n  }\n  .br-lb-dot.active {\n    background: #f0ebe3;\n  }\n<\/style>\n\n<div class=\"br-gallery-wrap\">\n  <div class=\"br-gallery\" id=\"brGallery\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20230423-WA0021.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20230423-WA0017.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20260216-WA0014.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20260216-WA0013.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20260216-WA0012.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20260216-WA0011.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0028.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0027.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0025.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0024.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0023.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0022.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0020.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0018.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0006.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0005.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0001.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20230620-WA0001.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n    <img decoding=\"async\" src=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20230423-WA0018.jpg\" alt=\"Bonjour Rouvres\" loading=\"lazy\">\n  <\/div>\n<\/div>\n\n<!-- Lightbox -->\n<div class=\"br-lightbox\" id=\"brLightbox\">\n  <span class=\"br-lb-close\" id=\"brClose\">&times;<\/span>\n  <span class=\"br-lb-prev\" id=\"brPrev\">&#8249;<\/span>\n  <img decoding=\"async\" id=\"brLbImg\" src=\"\" alt=\"\">\n  <span class=\"br-lb-next\" id=\"brNext\">&#8250;<\/span>\n  <div class=\"br-lb-dots\" id=\"brDots\"><\/div>\n<\/div>\n\n<script>\n(function () {\n  const gallery   = document.getElementById('brGallery');\n  const lightbox  = document.getElementById('brLightbox');\n  const lbImg     = document.getElementById('brLbImg');\n  const dotsWrap  = document.getElementById('brDots');\n  const imgs      = Array.from(gallery.querySelectorAll('img'));\n  let current     = 0;\n\n  \/\/ \u2500\u2500 Dots (mobile lightbox indicator) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  const MAX_DOTS = 7; \/\/ show a sliding window of dots\n  function buildDots() {\n    dotsWrap.innerHTML = '';\n    const total = Math.min(imgs.length, MAX_DOTS);\n    for (let i = 0; i < total; i++) {\n      const d = document.createElement('span');\n      d.className = 'br-lb-dot';\n      dotsWrap.appendChild(d);\n    }\n  }\n  function updateDots() {\n    const dotEls = dotsWrap.querySelectorAll('.br-lb-dot');\n    const half   = Math.floor(MAX_DOTS \/ 2);\n    const start  = Math.max(0, Math.min(current - half, imgs.length - MAX_DOTS));\n    dotEls.forEach((d, i) => {\n      d.classList.toggle('active', start + i === current);\n    });\n  }\n  buildDots();\n\n  \/\/ \u2500\u2500 Lightbox open \/ close \/ navigate \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function lbShow(index, dir = 0) {\n    current = (index + imgs.length) % imgs.length;\n    if (dir !== 0) {\n      lbImg.style.transition = 'none';\n      lbImg.style.transform  = `translateX(${dir * 40}px)`;\n      lbImg.style.opacity    = '0';\n      requestAnimationFrame(() => {\n        lbImg.src = imgs[current].src;\n        requestAnimationFrame(() => {\n          lbImg.style.transition = 'transform 0.25s ease, opacity 0.25s ease';\n          lbImg.style.transform  = 'translateX(0)';\n          lbImg.style.opacity    = '1';\n        });\n      });\n    } else {\n      lbImg.src = imgs[current].src;\n      lbImg.style.transform = 'translateX(0)';\n      lbImg.style.opacity   = '1';\n    }\n    updateDots();\n  }\n\n  function open(index) {\n    lbShow(index);\n    lightbox.classList.add('active');\n    document.body.style.overflow = 'hidden';\n    stopAuto();\n  }\n  function close() {\n    lightbox.classList.remove('active');\n    document.body.style.overflow = '';\n    startAuto();\n  }\n  function lbPrev() { lbShow(current - 1, -1); }\n  function lbNext() { lbShow(current + 1,  1); }\n\n  imgs.forEach((img, i) => img.addEventListener('click', () => open(i)));\n  document.getElementById('brClose').addEventListener('click', close);\n  document.getElementById('brPrev').addEventListener('click', lbPrev);\n  document.getElementById('brNext').addEventListener('click', lbNext);\n  lightbox.addEventListener('click', e => { if (e.target === lightbox) close(); });\n\n  document.addEventListener('keydown', e => {\n    if (!lightbox.classList.contains('active')) return;\n    if (e.key === 'Escape')      close();\n    if (e.key === 'ArrowLeft')   lbPrev();\n    if (e.key === 'ArrowRight')  lbNext();\n  });\n\n  \/\/ \u2500\u2500 Lightbox swipe (mobile) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  let lbTouchStartX = null;\n  let lbTouchStartY = null;\n\n  lightbox.addEventListener('touchstart', e => {\n    lbTouchStartX = e.touches[0].clientX;\n    lbTouchStartY = e.touches[0].clientY;\n  }, { passive: true });\n\n  lightbox.addEventListener('touchend', e => {\n    if (lbTouchStartX === null) return;\n    const dx = e.changedTouches[0].clientX - lbTouchStartX;\n    const dy = e.changedTouches[0].clientY - lbTouchStartY;\n    \/\/ Only treat as horizontal swipe if clearly more horizontal than vertical\n    if (Math.abs(dx) > Math.abs(dy) && Math.abs(dx) > 40) {\n      dx < 0 ? lbNext() : lbPrev();\n    } else if (Math.abs(dy) > 80 && Math.abs(dy) > Math.abs(dx)) {\n      \/\/ Swipe down to close\n      close();\n    }\n    lbTouchStartX = null;\n    lbTouchStartY = null;\n  }, { passive: true });\n\n  \/\/ \u2500\u2500 Auto-scroll \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  let autoTimer   = null;\n  const speed     = 0.5; \/\/ px per frame\n\n  function autoScroll() {\n    if (gallery.scrollLeft >= gallery.scrollWidth - gallery.clientWidth - 1) {\n      gallery.scrollLeft = 0;\n    } else {\n      gallery.scrollLeft += speed;\n    }\n    autoTimer = requestAnimationFrame(autoScroll);\n  }\n\n  function startAuto() {\n    if (!autoTimer) autoTimer = requestAnimationFrame(autoScroll);\n  }\n  function stopAuto() {\n    if (autoTimer) { cancelAnimationFrame(autoTimer); autoTimer = null; }\n  }\n\n  \/\/ Desktop: pause on hover\n  gallery.addEventListener('mouseenter', stopAuto);\n  gallery.addEventListener('mouseleave', startAuto);\n\n  \/\/ \u2500\u2500 Gallery touch drag (mobile) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/ Distinguishes a tap (opens lightbox) from a swipe (scrolls gallery).\n  let touchStartX   = 0;\n  let touchStartY   = 0;\n  let touchStartScroll = 0;\n  let isTouchDrag   = false;\n  let touchMoved    = false;\n  const DRAG_THRESHOLD = 8; \/\/ px before we consider it a drag\n\n  gallery.addEventListener('touchstart', e => {\n    touchStartX      = e.touches[0].clientX;\n    touchStartY      = e.touches[0].clientY;\n    touchStartScroll = gallery.scrollLeft;\n    isTouchDrag      = false;\n    touchMoved       = false;\n    stopAuto();\n  }, { passive: true });\n\n  gallery.addEventListener('touchmove', e => {\n    const dx = e.touches[0].clientX - touchStartX;\n    const dy = e.touches[0].clientY - touchStartY;\n\n    \/\/ Only hijack clearly horizontal swipes\n    if (!isTouchDrag && Math.abs(dx) > DRAG_THRESHOLD && Math.abs(dx) > Math.abs(dy)) {\n      isTouchDrag = true;\n    }\n    if (isTouchDrag) {\n      gallery.scrollLeft = touchStartScroll - dx;\n      touchMoved = true;\n    }\n  }, { passive: true });\n\n  gallery.addEventListener('touchend', e => {\n    \/\/ Resume auto-scroll after a short delay so momentum settles\n    setTimeout(startAuto, 600);\n    \/\/ If the finger barely moved, treat as a tap \u2192 let the click event fire\n    \/\/ (no need to do anything here; click will fire naturally)\n  }, { passive: true });\n\n  \/\/ \u2500\u2500 Desktop mouse drag \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  let isDown = false, startX, scrollLeft;\n  gallery.addEventListener('mousedown', e => {\n    isDown     = true;\n    startX     = e.pageX - gallery.offsetLeft;\n    scrollLeft = gallery.scrollLeft;\n    stopAuto();\n  });\n  gallery.addEventListener('mouseleave', () => { if (isDown) { isDown = false; startAuto(); } });\n  gallery.addEventListener('mouseup',    () => { if (isDown) { isDown = false; startAuto(); } });\n  gallery.addEventListener('mousemove',  e => {\n    if (!isDown) return;\n    e.preventDefault();\n    gallery.scrollLeft = scrollLeft - (e.pageX - gallery.offsetLeft - startX) * 1.5;\n  });\n\n  startAuto();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Ons dorp Een kleine gemeenschap met grote charme, verscholen tussen de bossen van de Bourgogne. De vallei Rouvres-sur-Aube Rouvres-sur-Aube, waar [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-347","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ons dorp - Bonjour Rouvres<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ons dorp - Bonjour Rouvres\" \/>\n<meta property=\"og:description\" content=\"Ons dorp Een kleine gemeenschap met grote charme, verscholen tussen de bossen van de Bourgogne. De vallei Rouvres-sur-Aube Rouvres-sur-Aube, waar [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/\" \/>\n<meta property=\"og:site_name\" content=\"Bonjour Rouvres\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-03T12:33:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/\",\"url\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/\",\"name\":\"Ons dorp - Bonjour Rouvres\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bonjourrouvres.nl\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/IMG-20240602-WA0034.jpg\",\"datePublished\":\"2025-06-11T11:17:21+00:00\",\"dateModified\":\"2026-04-03T12:33:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bonjourrouvres.nl\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/IMG-20240602-WA0034.jpg\",\"contentUrl\":\"https:\\\/\\\/bonjourrouvres.nl\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/IMG-20240602-WA0034.jpg\",\"width\":1600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/index.php\\\/ons-dorp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bonjourrouvres.nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ons dorp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#website\",\"url\":\"https:\\\/\\\/bonjourrouvres.nl\\\/\",\"name\":\"Bonjour Rouvres\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bonjourrouvres.nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#organization\",\"name\":\"Bonjour Rouvres\",\"url\":\"https:\\\/\\\/bonjourrouvres.nl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bonjourrouvres.nl\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-cropped-Logo-Brown-1.png\",\"contentUrl\":\"https:\\\/\\\/bonjourrouvres.nl\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-cropped-Logo-Brown-1.png\",\"width\":631,\"height\":70,\"caption\":\"Bonjour Rouvres\"},\"image\":{\"@id\":\"https:\\\/\\\/bonjourrouvres.nl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ons dorp - Bonjour Rouvres","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/","og_locale":"en_US","og_type":"article","og_title":"Ons dorp - Bonjour Rouvres","og_description":"Ons dorp Een kleine gemeenschap met grote charme, verscholen tussen de bossen van de Bourgogne. De vallei Rouvres-sur-Aube Rouvres-sur-Aube, waar [&hellip;]","og_url":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/","og_site_name":"Bonjour Rouvres","article_modified_time":"2026-04-03T12:33:59+00:00","og_image":[{"url":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/","url":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/","name":"Ons dorp - Bonjour Rouvres","isPartOf":{"@id":"https:\/\/bonjourrouvres.nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/#primaryimage"},"image":{"@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/#primaryimage"},"thumbnailUrl":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg","datePublished":"2025-06-11T11:17:21+00:00","dateModified":"2026-04-03T12:33:59+00:00","breadcrumb":{"@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/#primaryimage","url":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg","contentUrl":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2026\/04\/IMG-20240602-WA0034.jpg","width":1600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/bonjourrouvres.nl\/index.php\/ons-dorp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bonjourrouvres.nl\/"},{"@type":"ListItem","position":2,"name":"Ons dorp"}]},{"@type":"WebSite","@id":"https:\/\/bonjourrouvres.nl\/#website","url":"https:\/\/bonjourrouvres.nl\/","name":"Bonjour Rouvres","description":"","publisher":{"@id":"https:\/\/bonjourrouvres.nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bonjourrouvres.nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bonjourrouvres.nl\/#organization","name":"Bonjour Rouvres","url":"https:\/\/bonjourrouvres.nl\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bonjourrouvres.nl\/#\/schema\/logo\/image\/","url":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2025\/06\/cropped-cropped-Logo-Brown-1.png","contentUrl":"https:\/\/bonjourrouvres.nl\/wp-content\/uploads\/2025\/06\/cropped-cropped-Logo-Brown-1.png","width":631,"height":70,"caption":"Bonjour Rouvres"},"image":{"@id":"https:\/\/bonjourrouvres.nl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/pages\/347","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/comments?post=347"}],"version-history":[{"count":18,"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/pages\/347\/revisions"}],"predecessor-version":[{"id":800,"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/pages\/347\/revisions\/800"}],"wp:attachment":[{"href":"https:\/\/bonjourrouvres.nl\/index.php\/wp-json\/wp\/v2\/media?parent=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}