{"id":94512,"date":"2026-08-04T00:13:15","date_gmt":"2026-08-03T22:13:15","guid":{"rendered":"https:\/\/bno-travel.com\/overnatting-ved-rice-lake\/"},"modified":"2026-09-20T13:07:42","modified_gmt":"2026-09-20T11:07:42","slug":"overnatting-ved-rice-lake","status":"publish","type":"page","link":"https:\/\/bno-travel.com\/nl\/overnatting-ved-rice-lake\/","title":{"rendered":"Accommodatie aan Rice Lake"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"94512\" class=\"elementor elementor-94512 elementor-93694\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-436edd89 e-flex e-con-boxed e-con e-parent\" data-id=\"436edd89\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-451be5b7 elementor-widget elementor-widget-html\" data-id=\"451be5b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bno-rice bno-area-hero bno-area-hero--premium\" style=\"background-color: #0c1a38;background-image: linear-gradient( rgba(7, 17, 31, 0.42), rgba(7, 17, 31, 0.66) ), url(&apos;https:\/\/elmhirst.ca\/wp-content\/uploads\/2024\/12\/website-image-1512x1628-waterfront.jpg&apos;);background-position: center 58%;background-size: cover;background-repeat: no-repeat\">\r\n  <div class=\"bno-shell\">\r\n    <div class=\"bno-area-hero__content\">\r\n\r\n      <span class=\"bno-eyebrow\">\r\n        Rice Lake \u00b7 Ontario \u00b7 Canada\r\n      <\/span>\r\n\r\n      <h1>\r\n        Accommodatie aan Rice Lake \u2013 vind de cottage die bij je verblijf past\r\n      <\/h1>\r\n\r\n      <p class=\"bno-lead\">\r\n        Ontdek de cottages van Elmhirst\u2019s Resort aan de noordelijke oever van Rice Lake. Vind een comfortabele uitvalsbasis voor tijd met het gezin, activiteiten op het water, natuur, spa en rustige dagen in Ontario.\r\n      <\/p>\r\n\r\n      <div class=\"bno-actions\">\r\n        <a href=\"#enheter\" class=\"bno-btn bno-btn--primary\">\r\n          Bekijk cottages\r\n        <\/a>\r\n\r\n        <a href=\"#oppdag-elmhirst\" class=\"bno-btn bno-btn--secondary\">\r\n          Ontdek Elmhirst\u2019s Resort\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7f4367a8 e-flex e-con-boxed e-con e-parent\" data-id=\"7f4367a8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4149143b elementor-widget elementor-widget-html\" data-id=\"4149143b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"rice-lake\" class=\"bno-rice bno-section bno-section--light bno-area-intro\">\r\n  <div class=\"bno-shell bno-narrow\">\r\n\r\n    <div class=\"bno-section-heading\">\r\n      <span class=\"bno-eyebrow\">\r\n        Accommodatie aan Rice Lake\r\n      <\/span>\r\n\r\n      <h2>\r\n        Een verblijf aan het meer in Ontario, dicht bij natuur en activiteiten\r\n      <\/h2>\r\n\r\n      <p>\r\n        Rice Lake ligt in de Kawarthas-regio van Ontario en biedt een rustige omgeving voor een vakantie aan het water. Je combineert een verblijf in je eigen cottage met varen, peddelen, vissen, wandelen en ontspannen dagen aan het meer.\r\n      <\/p>\r\n\r\n      <p>\r\n        Elmhirst\u2019s Resort ligt aan de noordelijke oever van Rice Lake, vlak bij Keene en Peterborough. Het resort is geschikt voor gezinnen, stellen en groepen die een compleet verblijf zoeken met accommodatie, horeca, wellness en activiteiten op \u00e9\u00e9n locatie.\r\n      <\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-edfc671 e-flex e-con-boxed e-con e-parent\" data-id=\"edfc671\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10884b13 elementor-widget elementor-widget-html\" data-id=\"10884b13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\r\nBULK 3 \u2013 ELMHIRST'S RESORT \/ RICE LAKE\r\nSelvstendig versjon: korrekt katalogseksjon + BNO Direct-motor\r\n========================================================= -->\r\n\r\n<section id=\"enheter\" class=\"bno-section bno-section--soft bno-direct-catalog\" data-bno-direct-catalog data-api-base=\"https:\/\/bno-api-staging.onrender.com\" data-booking-base=\"https:\/\/booking.bno-travel.com\/booking\/complete\" data-catalog-creds-key=\"ELMHIRST\" data-booking-partner-key=\"ELMHIRST\" data-service-id=\"e263f6f4-651a-4ed8-b3c2-b26700598970\" data-area-key=\"elmhirst-resort\" data-destination-label=\"Rice Lake\" data-location-label=\"Elmhirst\u2019s Resort \u00b7 Rice Lake \u00b7 Ontario, Canada\" data-booking-open-until=\"2027-05-01\" data-minimum-stay-nights=\"1\" data-initial-count=\"12\">\r\n  <div class=\"bno-shell\">\r\n    <div class=\"bno-section-heading\">\r\n      <span class=\"bno-eyebrow\">\r\n        Cottages aan Rice Lake\r\n      <\/span>\r\n\r\n      <h2>\r\n        Vind de cottage die bij je verblijf in Elmhirst\u2019s Resort past\r\n      <\/h2>\r\n\r\n      <p>\r\n        Ontdek de cottages van Elmhirst\u2019s Resort aan de noordelijke oever van Rice Lake. Bekijk foto's, capaciteit en beschrijvingen voordat je prijs en beschikbaarheid controleert.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"bno-direct-catalog__status\" data-bno-status role=\"status\" aria-live=\"polite\">\r\n      Cottages laden \u2026\r\n    <\/div>\r\n\r\n    <div class=\"bno-direct-catalog__grid\" data-bno-grid aria-live=\"polite\"><\/div>\r\n\r\n    <div class=\"bno-direct-more-wrap\" data-bno-more-wrap hidden>\r\n      <button type=\"button\" class=\"bno-direct-more\" data-bno-more>\r\n        Meer cottages tonen\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n\/* =========================================================\r\n   BNO TRAVEL \u2013 FELLES BULK 3 \/ DESTINASJONSKATALOG V2\r\n   Samme kort, modal, mobilvisning og prissjekk p\u00e5 alle sider\r\n   ========================================================= *\/\r\n\r\n.bno-direct-catalog,\r\n.bno-direct-modal {\r\n  --bno-navy: #0c1a38;\r\n  --bno-navy-hover: #162b55;\r\n  --bno-text: #3f4a5e;\r\n  --bno-muted: #5b667b;\r\n  --bno-border: rgba(12, 26, 56, 0.14);\r\n  --bno-soft: #eef3f8;\r\n  --bno-white: #ffffff;\r\n  --bno-success-bg: #edf8f1;\r\n  --bno-success: #176b35;\r\n  --bno-error-bg: #fff1f1;\r\n  --bno-error: #8f1d1d;\r\n}\r\n\r\n.bno-direct-catalog,\r\n.bno-direct-catalog *,\r\n.bno-direct-modal,\r\n.bno-direct-modal * {\r\n  box-sizing: border-box;\r\n}\r\n\r\n.bno-direct-catalog__status {\r\n  margin: 28px 0 0;\r\n  padding: 15px 17px;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 14px;\r\n  background: var(--bno-white) !important;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 15px;\r\n  line-height: 1.5;\r\n}\r\n\r\n.bno-direct-catalog__status.is-error {\r\n  border-color: rgba(143, 29, 29, 0.24);\r\n  background: var(--bno-error-bg) !important;\r\n  color: var(--bno-error) !important;\r\n}\r\n\r\n.bno-direct-catalog__grid {\r\n  display: grid !important;\r\n  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\r\n  gap: 24px !important;\r\n  align-items: stretch;\r\n  margin-top: 28px;\r\n}\r\n\r\n.bno-direct-card {\r\n  display: flex;\r\n  min-width: 0;\r\n  height: 100%;\r\n  overflow: hidden;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 20px;\r\n  background: #ffffff !important;\r\n  box-shadow: 0 12px 34px rgba(12, 26, 56, 0.08);\r\n  transition: transform 0.2s ease, box-shadow 0.2s ease;\r\n}\r\n\r\n.bno-direct-card:hover {\r\n  transform: translateY(-4px);\r\n  box-shadow: 0 18px 42px rgba(12, 26, 56, 0.14);\r\n}\r\n\r\n.bno-direct-card__button,\r\n.bno-direct-card__button:hover,\r\n.bno-direct-card__button:focus,\r\n.bno-direct-card__button:focus-visible,\r\n.bno-direct-card__button:active {\r\n  display: flex !important;\r\n  flex: 1 1 auto;\r\n  flex-direction: column;\r\n  width: 100% !important;\r\n  min-width: 0 !important;\r\n  height: 100% !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  overflow: hidden;\r\n  border: 0 !important;\r\n  border-radius: inherit !important;\r\n  background: transparent !important;\r\n  background-color: transparent !important;\r\n  background-image: none !important;\r\n  color: inherit !important;\r\n  box-shadow: none !important;\r\n  text-align: left !important;\r\n  text-decoration: none !important;\r\n  cursor: pointer;\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-card__media {\r\n  position: relative;\r\n  flex: 0 0 auto;\r\n  width: 100%;\r\n  min-width: 0;\r\n  aspect-ratio: 4 \/ 3;\r\n  overflow: hidden;\r\n  background: var(--bno-navy);\r\n}\r\n\r\n.bno-direct-card__media img {\r\n  display: block;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  object-fit: cover;\r\n  object-position: center;\r\n  border: 0;\r\n  border-radius: 0;\r\n  transition: transform 0.35s ease;\r\n}\r\n\r\n.bno-direct-card:hover .bno-direct-card__media img {\r\n  transform: scale(1.035);\r\n}\r\n\r\n.bno-direct-card__count {\r\n  position: absolute;\r\n  right: 12px;\r\n  bottom: 12px;\r\n  z-index: 2;\r\n  padding: 7px 10px;\r\n  border: 1px solid rgba(255, 255, 255, 0.2);\r\n  border-radius: 999px;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  line-height: 1;\r\n  white-space: nowrap;\r\n}\r\n\r\n.bno-direct-card__body {\r\n  display: flex !important;\r\n  flex: 1 1 auto;\r\n  flex-direction: column;\r\n  width: 100%;\r\n  min-width: 0;\r\n  min-height: 238px;\r\n  padding: 20px;\r\n  overflow: hidden;\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n}\r\n\r\n.bno-direct-card__body h3 {\r\n  display: -webkit-box;\r\n  width: 100%;\r\n  min-width: 0;\r\n  max-width: 100%;\r\n  margin: 0;\r\n  overflow: hidden;\r\n  color: var(--bno-navy) !important;\r\n  font-size: clamp(18px, 1.45vw, 22px);\r\n  font-weight: 800;\r\n  line-height: 1.2;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  word-break: normal;\r\n  hyphens: auto;\r\n  -webkit-box-orient: vertical;\r\n  -webkit-line-clamp: 3;\r\n}\r\n\r\n.bno-direct-card__meta {\r\n  margin: 8px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  line-height: 1.4;\r\n}\r\n\r\n.bno-direct-card__description {\r\n  display: -webkit-box;\r\n  width: 100%;\r\n  min-width: 0;\r\n  margin: 14px 0 0;\r\n  overflow: hidden;\r\n  color: var(--bno-text) !important;\r\n  font-size: 14px;\r\n  line-height: 1.6;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  -webkit-box-orient: vertical;\r\n  -webkit-line-clamp: 4;\r\n}\r\n\r\n.bno-direct-card__link {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  align-self: flex-start;\r\n  margin-top: auto;\r\n  padding-top: 18px;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-more-wrap {\r\n  display: flex;\r\n  justify-content: center;\r\n  margin-top: 34px;\r\n}\r\n\r\n.bno-direct-more-wrap[hidden],\r\n.bno-direct-modal[hidden],\r\n.bno-direct-message[hidden],\r\n.bno-direct-price[hidden],\r\n.bno-direct-continue[hidden] {\r\n  display: none !important;\r\n}\r\n\r\n.bno-direct-more,\r\n.bno-direct-more:hover,\r\n.bno-direct-more:focus,\r\n.bno-direct-more:active,\r\n.bno-direct-check-button,\r\n.bno-direct-check-button:hover,\r\n.bno-direct-check-button:focus,\r\n.bno-direct-check-button:active,\r\n.bno-direct-book-button,\r\n.bno-direct-book-button:hover,\r\n.bno-direct-book-button:focus,\r\n.bno-direct-book-button:active {\r\n  display: inline-flex !important;\r\n  align-items: center;\r\n  justify-content: center;\r\n  min-height: 50px !important;\r\n  margin: 0 !important;\r\n  padding: 12px 20px !important;\r\n  border: 1px solid var(--bno-navy) !important;\r\n  border-radius: 11px !important;\r\n  background: var(--bno-navy) !important;\r\n  background-image: none !important;\r\n  color: #ffffff !important;\r\n  box-shadow: none !important;\r\n  font: inherit;\r\n  font-size: 14px !important;\r\n  font-weight: 800 !important;\r\n  line-height: 1.3;\r\n  text-align: center;\r\n  text-decoration: none !important;\r\n  cursor: pointer;\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-more:hover,\r\n.bno-direct-check-button:hover,\r\n.bno-direct-book-button:hover {\r\n  background: var(--bno-navy-hover) !important;\r\n}\r\n\r\n.bno-direct-check-button:disabled,\r\n.bno-direct-book-button:disabled {\r\n  border-color: #778195 !important;\r\n  background: #778195 !important;\r\n  cursor: wait;\r\n}\r\n\r\n.bno-direct-modal {\r\n  position: fixed;\r\n  z-index: 999999;\r\n  inset: 0;\r\n  display: grid;\r\n  place-items: center;\r\n  width: 100%;\r\n  max-width: 100%;\r\n  padding: 24px;\r\n  overflow: hidden;\r\n  -webkit-text-size-adjust: 100%;\r\n  text-size-adjust: 100%;\r\n}\r\n\r\n.bno-direct-modal__backdrop,\r\n.bno-direct-modal__backdrop:hover,\r\n.bno-direct-modal__backdrop:focus,\r\n.bno-direct-modal__backdrop:active {\r\n  position: absolute;\r\n  z-index: 0;\r\n  inset: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  border: 0 !important;\r\n  border-radius: 0 !important;\r\n  background: rgba(4, 12, 28, 0.82) !important;\r\n  box-shadow: none !important;\r\n  cursor: zoom-out;\r\n  backdrop-filter: blur(3px);\r\n  appearance: none !important;\r\n  -webkit-appearance: none !important;\r\n}\r\n\r\n.bno-direct-modal__dialog {\r\n  position: relative;\r\n  z-index: 1;\r\n  display: grid;\r\n  grid-template-columns: minmax(0, 1.16fr) minmax(390px, 0.84fr);\r\n  width: min(1180px, calc(100vw - 48px));\r\n  max-width: 100%;\r\n  height: min(760px, calc(100dvh - 48px));\r\n  max-height: calc(100dvh - 48px);\r\n  overflow: hidden;\r\n  border: 1px solid rgba(255, 255, 255, 0.18);\r\n  border-radius: 22px;\r\n  background: #ffffff;\r\n  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.4);\r\n}\r\n\r\n.bno-direct-modal__gallery {\r\n  position: relative;\r\n  width: 100%;\r\n  height: 100%;\r\n  min-width: 0;\r\n  min-height: 0;\r\n  overflow: hidden;\r\n  background: var(--bno-navy);\r\n}\r\n\r\n.bno-direct-modal__image {\r\n  display: block;\r\n  width: 100% !important;\r\n  height: 100% !important;\r\n  min-width: 0 !important;\r\n  min-height: 0 !important;\r\n  max-width: none !important;\r\n  max-height: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  object-fit: cover;\r\n  object-position: center;\r\n  border: 0;\r\n  border-radius: 0;\r\n}\r\n\r\n.bno-direct-modal__content {\r\n  width: 100%;\r\n  height: 100%;\r\n  min-width: 0;\r\n  min-height: 0;\r\n  padding: 40px 34px 36px;\r\n  overflow-x: hidden;\r\n  overflow-y: auto;\r\n  background: #ffffff !important;\r\n  color: var(--bno-text) !important;\r\n  scrollbar-color: rgba(12, 26, 56, 0.32) transparent;\r\n  scrollbar-width: thin;\r\n}\r\n\r\n.bno-direct-modal__content * {\r\n  min-width: 0;\r\n}\r\n\r\n.bno-direct-eyebrow {\r\n  display: inline-block;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  letter-spacing: 0.04em;\r\n  line-height: 1.4;\r\n  text-transform: uppercase;\r\n}\r\n\r\n.bno-direct-modal__content h3 {\r\n  width: 100%;\r\n  max-width: 100%;\r\n  margin: 10px 0 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: clamp(28px, 3vw, 40px);\r\n  font-weight: 800;\r\n  line-height: 1.08;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n  hyphens: auto;\r\n}\r\n\r\n.bno-direct-modal__capacity {\r\n  margin: 12px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-modal__description {\r\n  width: 100%;\r\n  max-height: 245px;\r\n  margin-top: 20px;\r\n  padding-right: 8px;\r\n  overflow-x: hidden;\r\n  overflow-y: auto;\r\n  color: var(--bno-text) !important;\r\n  font-size: 15px;\r\n  line-height: 1.72;\r\n  white-space: pre-line;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-modal__close,\r\n.bno-direct-modal__close:hover,\r\n.bno-direct-modal__close:focus,\r\n.bno-direct-modal__close:active {\r\n  position: absolute;\r\n  z-index: 12;\r\n  top: 14px;\r\n  right: 14px;\r\n  display: grid !important;\r\n  width: 44px !important;\r\n  min-width: 44px !important;\r\n  height: 44px !important;\r\n  min-height: 44px !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  place-items: center !important;\r\n  border: 1px solid rgba(255, 255, 255, 0.25) !important;\r\n  border-radius: 999px !important;\r\n  background: var(--bno-navy) !important;\r\n  color: #ffffff !important;\r\n  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.24) !important;\r\n  font-family: Arial, sans-serif !important;\r\n  font-size: 28px !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1 !important;\r\n  cursor: pointer;\r\n}\r\n\r\n.bno-direct-modal__arrow,\r\n.bno-direct-modal__arrow:hover,\r\n.bno-direct-modal__arrow:focus,\r\n.bno-direct-modal__arrow:active {\r\n  position: absolute;\r\n  z-index: 8;\r\n  top: 50%;\r\n  display: grid !important;\r\n  width: 48px !important;\r\n  min-width: 48px !important;\r\n  height: 48px !important;\r\n  min-height: 48px !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  place-items: center !important;\r\n  border: 1px solid rgba(255, 255, 255, 0.25) !important;\r\n  border-radius: 999px !important;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  box-shadow: 0 7px 22px rgba(0, 0, 0, 0.24) !important;\r\n  font-family: Arial, sans-serif !important;\r\n  font-size: 35px !important;\r\n  font-weight: 400 !important;\r\n  line-height: 1 !important;\r\n  cursor: pointer;\r\n  transform: translateY(-50%);\r\n}\r\n\r\n.bno-direct-modal__arrow--prev { left: 18px; }\r\n.bno-direct-modal__arrow--next { right: 18px; }\r\n.bno-direct-modal__arrow[hidden] { display: none !important; }\r\n\r\n.bno-direct-modal__counter {\r\n  position: absolute;\r\n  z-index: 8;\r\n  right: 18px;\r\n  bottom: 18px;\r\n  padding: 8px 12px;\r\n  border: 1px solid rgba(255, 255, 255, 0.2);\r\n  border-radius: 999px;\r\n  background: rgba(12, 26, 56, 0.92) !important;\r\n  color: #ffffff !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  line-height: 1;\r\n  white-space: nowrap;\r\n}\r\n\r\n.bno-direct-booking {\r\n  margin-top: 30px;\r\n  padding-top: 28px;\r\n  border-top: 1px solid var(--bno-border);\r\n}\r\n\r\n.bno-direct-booking__heading h4 {\r\n  width: 100%;\r\n  margin: 6px 0 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 22px;\r\n  font-weight: 800;\r\n  line-height: 1.25;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-form {\r\n  display: grid;\r\n  grid-template-columns: repeat(2, minmax(0, 1fr));\r\n  gap: 14px;\r\n  width: 100%;\r\n  margin-top: 20px;\r\n}\r\n\r\n.bno-direct-form label {\r\n  display: grid;\r\n  gap: 7px;\r\n  width: 100%;\r\n  min-width: 0;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n}\r\n\r\n.bno-direct-form input {\r\n  display: block;\r\n  width: 100% !important;\r\n  max-width: 100% !important;\r\n  min-width: 0 !important;\r\n  min-height: 48px;\r\n  margin: 0 !important;\r\n  padding: 10px 12px !important;\r\n  border: 1px solid rgba(12, 26, 56, 0.22) !important;\r\n  border-radius: 10px !important;\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n  box-shadow: none !important;\r\n  font: inherit;\r\n  font-size: 16px !important;\r\n}\r\n\r\n.bno-direct-form input:focus {\r\n  border-color: var(--bno-navy) !important;\r\n  outline: 2px solid rgba(12, 26, 56, 0.14) !important;\r\n  outline-offset: 1px;\r\n}\r\n\r\n.bno-direct-check-button {\r\n  grid-column: 1 \/ -1;\r\n  width: 100% !important;\r\n}\r\n\r\n.bno-direct-message {\r\n  width: 100%;\r\n  margin-top: 15px;\r\n  padding: 14px 15px;\r\n  border-radius: 11px;\r\n  background: var(--bno-soft) !important;\r\n  color: var(--bno-navy) !important;\r\n  font-size: 14px;\r\n  line-height: 1.5;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-message.is-success {\r\n  background: var(--bno-success-bg) !important;\r\n  color: var(--bno-success) !important;\r\n}\r\n\r\n.bno-direct-message.is-error {\r\n  background: var(--bno-error-bg) !important;\r\n  color: var(--bno-error) !important;\r\n}\r\n\r\n.bno-direct-price {\r\n  width: 100%;\r\n  margin-top: 18px;\r\n  overflow: hidden;\r\n  border: 1px solid var(--bno-border);\r\n  border-radius: 14px;\r\n  background: #ffffff !important;\r\n}\r\n\r\n.bno-direct-price__row {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 20px;\r\n  width: 100%;\r\n  padding: 13px 15px;\r\n  border-top: 1px solid rgba(12, 26, 56, 0.1);\r\n  background: #ffffff !important;\r\n  color: var(--bno-navy) !important;\r\n}\r\n\r\n.bno-direct-price__row:first-child { border-top: 0; }\r\n\r\n.bno-direct-price__row span,\r\n.bno-direct-price__row strong {\r\n  min-width: 0;\r\n  max-width: 100%;\r\n  color: inherit !important;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n.bno-direct-price__row strong {\r\n  flex: 0 0 auto;\r\n  text-align: right;\r\n}\r\n\r\n.bno-direct-price__row--total {\r\n  background: var(--bno-navy) !important;\r\n  color: #ffffff !important;\r\n}\r\n\r\n.bno-direct-continue {\r\n  width: 100%;\r\n  margin-top: 18px;\r\n}\r\n\r\n.bno-direct-book-button {\r\n  width: 100% !important;\r\n  min-height: 54px !important;\r\n  font-size: 15px !important;\r\n}\r\n\r\n.bno-direct-continue p {\r\n  width: 100%;\r\n  margin: 10px 0 0;\r\n  color: var(--bno-muted) !important;\r\n  font-size: 12px;\r\n  line-height: 1.5;\r\n  text-align: center;\r\n  white-space: normal !important;\r\n  overflow-wrap: anywhere;\r\n}\r\n\r\n@media (max-width: 980px) {\r\n  .bno-direct-catalog__grid {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n  }\r\n}\r\n\r\n@media (max-width: 900px) {\r\n  .bno-direct-modal {\r\n    display: block !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    padding: 0 !important;\r\n    overflow-x: hidden !important;\r\n    overflow-y: auto !important;\r\n    background: #ffffff !important;\r\n    overscroll-behavior: contain;\r\n    -webkit-overflow-scrolling: touch;\r\n  }\r\n\r\n  .bno-direct-modal__backdrop {\r\n    position: fixed !important;\r\n  }\r\n\r\n  .bno-direct-modal__dialog {\r\n    display: block !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    min-width: 0 !important;\r\n    height: auto !important;\r\n    min-height: 100vh !important;\r\n    min-height: 100dvh !important;\r\n    max-height: none !important;\r\n    margin: 0 !important;\r\n    overflow: visible !important;\r\n    border: 0 !important;\r\n    border-radius: 0 !important;\r\n    box-shadow: none !important;\r\n  }\r\n\r\n  .bno-direct-modal__gallery {\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    height: clamp(320px, 60vw, 520px) !important;\r\n    min-height: 320px !important;\r\n  }\r\n\r\n  .bno-direct-modal__content {\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    min-width: 0 !important;\r\n    height: auto !important;\r\n    max-height: none !important;\r\n    margin: 0 !important;\r\n    padding: 34px clamp(20px, 5vw, 44px) 52px !important;\r\n    overflow: visible !important;\r\n  }\r\n\r\n  .bno-direct-modal__description {\r\n    max-height: none !important;\r\n    padding-right: 0 !important;\r\n    overflow: visible !important;\r\n  }\r\n\r\n  .bno-direct-modal__close {\r\n    position: fixed !important;\r\n    top: max(12px, env(safe-area-inset-top)) !important;\r\n    right: max(12px, env(safe-area-inset-right)) !important;\r\n  }\r\n\r\n  .bno-direct-price__row {\r\n    display: grid !important;\r\n    grid-template-columns: minmax(0, 1fr) !important;\r\n    gap: 7px !important;\r\n    padding: 17px 18px !important;\r\n  }\r\n\r\n  .bno-direct-price__row strong {\r\n    text-align: left !important;\r\n    font-size: 20px;\r\n  }\r\n}\r\n\r\n@media (max-width: 620px) {\r\n  .bno-direct-catalog__grid {\r\n    grid-template-columns: 1fr !important;\r\n  }\r\n\r\n  .bno-direct-card__body {\r\n    min-height: 220px;\r\n  }\r\n\r\n  .bno-direct-modal__gallery {\r\n    height: 66vw !important;\r\n    min-height: 270px !important;\r\n    max-height: 370px !important;\r\n  }\r\n\r\n  .bno-direct-modal__content {\r\n    padding:\r\n      28px\r\n      max(18px, env(safe-area-inset-right))\r\n      calc(48px + env(safe-area-inset-bottom))\r\n      max(18px, env(safe-area-inset-left)) !important;\r\n  }\r\n\r\n  .bno-direct-modal__content h3 {\r\n    font-size: 28px !important;\r\n    line-height: 1.12 !important;\r\n  }\r\n\r\n  .bno-direct-booking__heading h4 {\r\n    font-size: 24px !important;\r\n    line-height: 1.18 !important;\r\n  }\r\n\r\n  .bno-direct-form {\r\n    grid-template-columns: minmax(0, 1fr) !important;\r\n  }\r\n\r\n  .bno-direct-check-button {\r\n    grid-column: 1 !important;\r\n  }\r\n\r\n  .bno-direct-modal__arrow {\r\n    width: 44px !important;\r\n    min-width: 44px !important;\r\n    height: 44px !important;\r\n    min-height: 44px !important;\r\n  }\r\n\r\n  .bno-direct-modal__arrow--prev { left: 12px; }\r\n  .bno-direct-modal__arrow--next { right: 12px; }\r\n  .bno-direct-modal__counter { right: 12px; bottom: 12px; }\r\n}\r\n\r\n\r\n\r\n\r\n(function () {\r\n  \"use strict\";\r\n\r\n  const ROOT_SELECTOR = \"[data-bno-direct-catalog]\";\r\n\r\n  function cleanBase(value) {\r\n    return String(value || \"\").trim().replace(\/\\\/+$\/, \"\");\r\n  }\r\n\r\n  function apiUrl(base, path) {\r\n    const clean = cleanBase(base);\r\n    const route = String(path || \"\");\r\n\r\n    if (clean.endsWith(\"\/api\") &amp;&amp; route.startsWith(\"\/api\/\")) {\r\n      return clean + route.slice(4);\r\n    }\r\n\r\n    return clean + route;\r\n  }\r\n\r\n  function escapeHtml(value) {\r\n    return String(value == null ? \"\" : value)\r\n      .replace(\/&amp;\/g, \"&amp;\")\r\n      .replace(\/\/g, \"&gt;\")\r\n      .replace(\/\"\/g, \"&quot;\")\r\n      .replace(\/'\/g, \"&#039;\");\r\n  }\r\n\r\n  function stripHtml(value) {\r\n    const node = document.createElement(\"div\");\r\n    node.innerHTML = String(value || \"\");\r\n    return String(node.textContent || node.innerText || \"\")\r\n      .replace(\/\\s+\/g, \" \")\r\n      .trim();\r\n  }\r\n\r\n  function firstValue(object, keys) {\r\n    for (const key of keys) {\r\n      if (object &amp;&amp; object[key] != null &amp;&amp; object[key] !== \"\") {\r\n        return object[key];\r\n      }\r\n    }\r\n\r\n    return \"\";\r\n  }\r\n\r\n  function parseIdSet(value) {\r\n    return new Set(\r\n      String(value || \"\")\r\n        .split(\",\")\r\n        .map(function (item) {\r\n          return item.trim();\r\n        })\r\n        .filter(Boolean)\r\n    );\r\n  }\r\n\r\n  function languageCode() {\r\n    return \"nl\";\r\n  }\r\n\r\n  function localYmd(date) {\r\n    const year = date.getFullYear();\r\n    const month = String(date.getMonth() + 1).padStart(2, \"0\");\r\n    const day = String(date.getDate()).padStart(2, \"0\");\r\n    return year + \"-\" + month + \"-\" + day;\r\n  }\r\n\r\n  function addDays(date, days) {\r\n    const next = new Date(date.getTime());\r\n    next.setDate(next.getDate() + Number(days || 0));\r\n    return next;\r\n  }\r\n\r\n  function nightsBetween(from, to) {\r\n    const start = new Date(from + \"T12:00:00\");\r\n    const end = new Date(to + \"T12:00:00\");\r\n    return Math.round((end.getTime() - start.getTime()) \/ 86400000);\r\n  }\r\n\r\n  function formatDate(value) {\r\n    try {\r\n      return new Intl.DateTimeFormat(\"nl-NL\", {\r\n        day: \"numeric\",\r\n        month: \"short\",\r\n        year: \"numeric\"\r\n      }).format(new Date(value + \"T12:00:00\"));\r\n    } catch (_error) {\r\n      return value;\r\n    }\r\n  }\r\n\r\n  function formatMoney(amount, currency) {\r\n    try {\r\n      return new Intl.NumberFormat(\"nl-NL\", {\r\n        style: \"currency\",\r\n        currency: String(currency || \"EUR\").toUpperCase(),\r\n        minimumFractionDigits: 2,\r\n        maximumFractionDigits: 2\r\n      }).format(Number(amount || 0));\r\n    } catch (_error) {\r\n      return Number(amount || 0).toFixed(2) + \" \" + String(currency || \"EUR\");\r\n    }\r\n  }\r\n\r\n  function uniqueImages(row) {\r\n    const images = [];\r\n\r\n    function add(value) {\r\n      if (!value) return;\r\n\r\n      if (typeof value === \"string\") {\r\n        const url = value.trim();\r\n        if (\/^https?:\\\/\\\/\/i.test(url)) images.push(url);\r\n        return;\r\n      }\r\n\r\n      if (typeof value === \"object\") {\r\n        add(\r\n          value.url ||\r\n          value.Url ||\r\n          value.imageUrl ||\r\n          value.ImageUrl ||\r\n          value.source ||\r\n          value.Source ||\r\n          value.original ||\r\n          value.Original\r\n        );\r\n      }\r\n    }\r\n\r\n    [\r\n      row.images,\r\n      row.Images,\r\n      row.gallery,\r\n      row.Gallery,\r\n      row.imageUrls,\r\n      row.ImageUrls,\r\n      row.photos,\r\n      row.Photos\r\n    ].forEach(function (items) {\r\n      if (Array.isArray(items)) items.forEach(add);\r\n    });\r\n\r\n    [\r\n      row.image,\r\n      row.Image,\r\n      row.coverImageUrl,\r\n      row.CoverImageUrl,\r\n      row.imageUrl,\r\n      row.ImageUrl,\r\n      row.thumbnailUrl,\r\n      row.ThumbnailUrl\r\n    ].forEach(add);\r\n\r\n    return Array.from(new Set(images));\r\n  }\r\n\r\n  function extractRows(payload) {\r\n    const candidates = [\r\n      payload &amp;&amp; payload.data &amp;&amp; payload.data.resourceCategories,\r\n      payload &amp;&amp; payload.data &amp;&amp; payload.data.categories,\r\n      payload &amp;&amp; payload.data &amp;&amp; payload.data.items,\r\n      payload &amp;&amp; payload.data,\r\n      payload &amp;&amp; payload.resourceCategories,\r\n      payload &amp;&amp; payload.categories,\r\n      payload &amp;&amp; payload.items\r\n    ];\r\n\r\n    for (const candidate of candidates) {\r\n      if (Array.isArray(candidate)) return candidate;\r\n    }\r\n\r\n    return [];\r\n  }\r\n\r\n  function normaliseUnit(row) {\r\n    const categoryId = String(\r\n      firstValue(row, [\r\n        \"resourceCategoryId\",\r\n        \"ResourceCategoryId\",\r\n        \"categoryId\",\r\n        \"CategoryId\",\r\n        \"id\",\r\n        \"Id\"\r\n      ])\r\n    ).trim();\r\n\r\n    return {\r\n      categoryId: categoryId,\r\n      name: String(\r\n        firstValue(row, [\r\n          \"localizedName\",\r\n          \"LocalizedName\",\r\n          \"categoryName\",\r\n          \"CategoryName\",\r\n          \"name\",\r\n          \"Name\",\r\n          \"title\",\r\n          \"Title\"\r\n        ]) || \"Vakantiehuis\"\r\n      ).trim(),\r\n      description: stripHtml(\r\n        firstValue(row, [\r\n          \"localizedDescription\",\r\n          \"LocalizedDescription\",\r\n          \"description\",\r\n          \"Description\",\r\n          \"longDescription\",\r\n          \"LongDescription\",\r\n          \"shortDescription\",\r\n          \"ShortDescription\"\r\n        ])\r\n      ),\r\n      capacity: Number(\r\n        firstValue(row, [\r\n          \"capacity\",\r\n          \"Capacity\",\r\n          \"maxOccupancy\",\r\n          \"MaxOccupancy\",\r\n          \"maximumOccupancy\",\r\n          \"MaximumOccupancy\"\r\n        ])\r\n      ) || 0,\r\n      images: uniqueImages(row),\r\n      published: firstValue(row, [\r\n        \"isPublished\",\r\n        \"IsPublished\",\r\n        \"is_published\",\r\n        \"publishStatus\",\r\n        \"PublishStatus\",\r\n        \"publish_status\",\r\n        \"status\",\r\n        \"Status\"\r\n      ])\r\n    };\r\n  }\r\n\r\n  function isPublished(unit, hasPublicationFields) {\r\n    if (!hasPublicationFields) return true;\r\n    if (typeof unit.published === \"boolean\") return unit.published;\r\n\r\n    return [\r\n      \"published\",\r\n      \"approved\",\r\n      \"reviewed\",\r\n      \"active\",\r\n      \"true\",\r\n      \"1\"\r\n    ].includes(String(unit.published || \"\").trim().toLowerCase());\r\n  }\r\n\r\n  function buildModal(destinationLabel, locationLabel) {\r\n    const modal = document.createElement(\"div\");\r\n    modal.className = \"bno-direct-modal\";\r\n    modal.hidden = true;\r\n    modal.setAttribute(\"role\", \"dialog\");\r\n    modal.setAttribute(\"aria-modal\", \"true\");\r\n    modal.setAttribute(\"aria-label\", \"Vakantiehuis in \" + destinationLabel);\r\n\r\n    modal.innerHTML = `\r\n      <button type=\"button\" class=\"bno-direct-modal__backdrop\" data-bno-close aria-label=\"Sluiten\"><\/button>\r\n      <div class=\"bno-direct-modal__dialog\">\r\n        <button type=\"button\" class=\"bno-direct-modal__close\" data-bno-close aria-label=\"Sluiten\">\u00d7<\/button>\r\n        <div class=\"bno-direct-modal__gallery\">\r\n          <button type=\"button\" class=\"bno-direct-modal__arrow bno-direct-modal__arrow--prev\" data-bno-prev aria-label=\"Vorige afbeelding\">\u2039<\/button>\r\n          <img decoding=\"async\" class=\"bno-direct-modal__image\" data-bno-modal-image src=\"\" alt=\"\" \/>\r\n          <button type=\"button\" class=\"bno-direct-modal__arrow bno-direct-modal__arrow--next\" data-bno-next aria-label=\"Volgende afbeelding\">\u203a<\/button>\r\n          <span class=\"bno-direct-modal__counter\" data-bno-counter><\/span>\r\n        <\/div>\r\n        <div class=\"bno-direct-modal__content\">\r\n          <span class=\"bno-direct-eyebrow\">${escapeHtml(locationLabel || destinationLabel)}<\/span>\r\n          <h3 data-bno-modal-title><\/h3>\r\n          <p class=\"bno-direct-modal__capacity\" data-bno-modal-capacity><\/p>\r\n          <div class=\"bno-direct-modal__description\" data-bno-modal-description><\/div>\r\n          <div class=\"bno-direct-booking\">\r\n            <div class=\"bno-direct-booking__heading\">\r\n              <span class=\"bno-direct-eyebrow\">Controleer je verblijf<\/span>\r\n              <h4>Controleer of het vakantiehuis beschikbaar is<\/h4>\r\n            <\/div>\r\n            \r\n              <label>\r\n                <span>Inchecken<\/span>\r\n                \r\n              <\/label>\r\n              <label>\r\n                <span>Uitchecken<\/span>\r\n                \r\n              <\/label>\r\n              <label>\r\n                <span>Gasten<\/span>\r\n                \r\n              <\/label>\r\n              <button type=\"submit\" class=\"bno-direct-check-button\" data-bno-check-button>Beschikbaarheid controleren<\/button>\r\n            \r\n            <div class=\"bno-direct-message\" data-bno-message role=\"status\" aria-live=\"polite\" hidden><\/div>\r\n            <div class=\"bno-direct-price\" data-bno-price hidden>\r\n              <div class=\"bno-direct-price__row bno-direct-price__row--total\">\r\n                <span>Totale prijs voor het verblijf<\/span>\r\n                <strong data-bno-total><\/strong>\r\n              <\/div>\r\n              <div class=\"bno-direct-price__row\">\r\n                <span>Nu te betalen aan BNO Travel<\/span>\r\n                <strong data-bno-pay-now><\/strong>\r\n              <\/div>\r\n              <div class=\"bno-direct-price__row\">\r\n                <span>Resterend bedrag aan de accommodatie<\/span>\r\n                <strong data-bno-pay-later><\/strong>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"bno-direct-continue\" data-bno-continue-wrap hidden>\r\n              <button type=\"button\" class=\"bno-direct-book-button\" data-bno-continue>Doorgaan naar boeken<\/button>\r\n              <p>Gastgegevens, voorwaarden en betaling worden afgerond in de beveiligde boekingsomgeving van BNO Travel.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    `;\r\n\r\n    document.body.appendChild(modal);\r\n    return modal;\r\n  }\r\n\r\n  async function fetchJson(url, options) {\r\n    const controller = new AbortController();\r\n    const timeout = window.setTimeout(function () {\r\n      controller.abort();\r\n    }, 60000);\r\n\r\n    try {\r\n      const response = await fetch(\r\n        url,\r\n        Object.assign(\r\n          {\r\n            cache: \"no-store\",\r\n            signal: controller.signal,\r\n            headers: {\r\n              Accept: \"application\/json\"\r\n            }\r\n          },\r\n          options || {}\r\n        )\r\n      );\r\n\r\n      const payload = await response.json().catch(function () {\r\n        return null;\r\n      });\r\n\r\n      if (!response.ok || !payload || payload.ok === false) {\r\n        const error = new Error(\r\n          payload &amp;&amp; (payload.detail || payload.message || payload.error)\r\n            ? payload.detail || payload.message || payload.error\r\n            : \"De aanvraag kon niet worden voltooid.\"\r\n        );\r\n        error.code = payload &amp;&amp; payload.error ? String(payload.error) : \"\";\r\n        throw error;\r\n      }\r\n\r\n      return payload;\r\n    } finally {\r\n      window.clearTimeout(timeout);\r\n    }\r\n  }\r\n\r\n  function init(root) {\r\n    if (!root || root.dataset.bnoInitialised === \"1\") return;\r\n    root.dataset.bnoInitialised = \"1\";\r\n\r\n    const apiBase = cleanBase(root.dataset.apiBase);\r\n    const bookingBase = String(\r\n      root.dataset.bookingBase ||\r\n      \"https:\/\/booking.bno-travel.com\/booking\/complete\"\r\n    ).trim();\r\n    const catalogCredsKey = String(root.dataset.catalogCredsKey || \"\").trim();\r\n    const bookingPartnerKey = String(\r\n      root.dataset.bookingPartnerKey || catalogCredsKey\r\n    ).trim();\r\n    const serviceId = String(root.dataset.serviceId || \"\").trim();\r\n    const areaKey = String(root.dataset.areaKey || \"\").trim();\r\n    const destinationLabel = String(\r\n      root.dataset.destinationLabel || \"destinasjonen\"\r\n    ).trim();\r\n    const locationLabel = String(\r\n      root.dataset.locationLabel || destinationLabel\r\n    ).trim();\r\n    const bookingOpenUntil = String(\r\n      root.dataset.bookingOpenUntil || \"2027-05-01\"\r\n    ).trim();\r\n    const minimumStayNights = Math.max(\r\n      1,\r\n      Number(root.dataset.minimumStayNights || 1) || 1\r\n    );\r\n    const initialCount = Math.max(\r\n      1,\r\n      Number(root.dataset.initialCount || 12) || 12\r\n    );\r\n    const allowedIds = parseIdSet(root.dataset.allowedUnitIds);\r\n    const excludedIds = parseIdSet(root.dataset.excludedUnitIds);\r\n\r\n    const status = root.querySelector(\"[data-bno-status]\");\r\n    const grid = root.querySelector(\"[data-bno-grid]\");\r\n    const moreWrap = root.querySelector(\"[data-bno-more-wrap]\");\r\n    const moreButton = root.querySelector(\"[data-bno-more]\");\r\n\r\n    if (!apiBase || !catalogCredsKey || !serviceId || !areaKey) {\r\n      if (status) {\r\n        status.textContent = \"Bulk 3 mist de vereiste configuratie.\";\r\n        status.classList.add(\"is-error\");\r\n      }\r\n      return;\r\n    }\r\n\r\n    if (!status || !grid || !moreWrap || !moreButton) return;\r\n\r\n    const modal = buildModal(destinationLabel, locationLabel);\r\n    const modalImage = modal.querySelector(\"[data-bno-modal-image]\");\r\n    const modalTitle = modal.querySelector(\"[data-bno-modal-title]\");\r\n    const modalCapacity = modal.querySelector(\"[data-bno-modal-capacity]\");\r\n    const modalDescription = modal.querySelector(\"[data-bno-modal-description]\");\r\n    const modalCounter = modal.querySelector(\"[data-bno-counter]\");\r\n    const prevButton = modal.querySelector(\"[data-bno-prev]\");\r\n    const nextButton = modal.querySelector(\"[data-bno-next]\");\r\n    const closeButtons = modal.querySelectorAll(\"[data-bno-close]\");\r\n    const availabilityForm = modal.querySelector(\"[data-bno-availability-form]\");\r\n    const checkinInput = modal.querySelector(\"[data-bno-checkin]\");\r\n    const checkoutInput = modal.querySelector(\"[data-bno-checkout]\");\r\n    const guestsInput = modal.querySelector(\"[data-bno-guests]\");\r\n    const checkButton = modal.querySelector(\"[data-bno-check-button]\");\r\n    const messageNode = modal.querySelector(\"[data-bno-message]\");\r\n    const priceBox = modal.querySelector(\"[data-bno-price]\");\r\n    const totalNode = modal.querySelector(\"[data-bno-total]\");\r\n    const payNowNode = modal.querySelector(\"[data-bno-pay-now]\");\r\n    const payLaterNode = modal.querySelector(\"[data-bno-pay-later]\");\r\n    const continueWrap = modal.querySelector(\"[data-bno-continue-wrap]\");\r\n    const continueButton = modal.querySelector(\"[data-bno-continue]\");\r\n\r\n    let units = [];\r\n    let visibleCount = initialCount;\r\n    let currentUnit = null;\r\n    let currentImageIndex = 0;\r\n    let currentQuote = null;\r\n    let previousBodyOverflow = \"\";\r\n\r\n    function setStatus(message, isError) {\r\n      status.textContent = message || \"\";\r\n      status.hidden = !message;\r\n      status.classList.toggle(\"is-error\", Boolean(isError));\r\n    }\r\n\r\n    function setMessage(message, type) {\r\n      messageNode.textContent = message || \"\";\r\n      messageNode.hidden = !message;\r\n      messageNode.classList.remove(\"is-error\", \"is-success\");\r\n      if (type) messageNode.classList.add(\"is-\" + type);\r\n    }\r\n\r\n    function resetQuote() {\r\n      currentQuote = null;\r\n      priceBox.hidden = true;\r\n      continueWrap.hidden = true;\r\n      setMessage(\"\", \"\");\r\n    }\r\n\r\n    function cardHtml(unit, index) {\r\n      const image = unit.images[0];\r\n      const capacity = unit.capacity &gt; 0\r\n        ? \"Tot \" + unit.capacity + \" gasten\"\r\n        : \"Bekijk details en foto's\";\r\n      const description = unit.description ||\r\n        \"Bekijk foto's, capaciteit en beschikbaarheid van dit vakantiehuis.\";\r\n\r\n      return `\r\n        <article class=\"bno-direct-card\">\r\n          <button type=\"button\" class=\"bno-direct-card__button\" data-bno-unit-index=\"${index}\">\r\n            <div class=\"bno-direct-card__media\">\r\n              <img decoding=\"async\" src=\"${escapeHtml(image)}\" alt=\"${escapeHtml(unit.name)}\" loading=\"lazy\" \/>\r\n              <span class=\"bno-direct-card__count\">${unit.images.length} afbeeldingen<\/span>\r\n            <\/div>\r\n            <div class=\"bno-direct-card__body\">\r\n              <h3>${escapeHtml(unit.name)}<\/h3>\r\n              <p class=\"bno-direct-card__meta\">${escapeHtml(capacity)}<\/p>\r\n              <p class=\"bno-direct-card__description\">${escapeHtml(description)}<\/p>\r\n              <span class=\"bno-direct-card__link\">Bekijk vakantiehuis \u2192<\/span>\r\n            <\/div>\r\n          <\/button>\r\n        <\/article>\r\n      `;\r\n    }\r\n\r\n    function renderUnits() {\r\n      const visible = units.slice(0, visibleCount);\r\n      grid.innerHTML = visible.map(cardHtml).join(\"\");\r\n      grid.setAttribute(\"aria-busy\", \"false\");\r\n\r\n      grid.querySelectorAll(\"[data-bno-unit-index]\").forEach(function (button) {\r\n        button.addEventListener(\"click\", function () {\r\n          openModal(units[Number(button.dataset.bnoUnitIndex)]);\r\n        });\r\n      });\r\n\r\n      moreWrap.hidden = visibleCount &gt;= units.length;\r\n      setStatus(\r\n        \"Toont \" + visible.length + \" van \" + units.length +\r\n        \" ferieboliger i \" + destinationLabel + \".\",\r\n        false\r\n      );\r\n    }\r\n\r\n    function updateModalImage() {\r\n      if (!currentUnit || !currentUnit.images.length) return;\r\n\r\n      currentImageIndex =\r\n        (currentImageIndex + currentUnit.images.length) % currentUnit.images.length;\r\n\r\n      modalImage.src = currentUnit.images[currentImageIndex];\r\n      modalImage.alt = currentUnit.name + \" \u2013 afbeelding \" + (currentImageIndex + 1);\r\n      modalCounter.textContent =\r\n        currentImageIndex + 1 + \" \/ \" + currentUnit.images.length;\r\n      prevButton.hidden = currentUnit.images.length &lt; 2;\r\n      nextButton.hidden = currentUnit.images.length  0\r\n        ? \"Tot \" + unit.capacity + \" gasten\"\r\n        : \"\";\r\n      modalDescription.textContent = unit.description ||\r\n        \"Bekijk beschikbaarheid en prijs van dit vakantiehuis.\";\r\n\r\n      const today = new Date();\r\n      const checkin = addDays(today, 1);\r\n      const checkout = addDays(checkin, Math.max(7, minimumStayNights));\r\n\r\n      checkinInput.min = localYmd(today);\r\n      checkoutInput.min = localYmd(addDays(checkin, minimumStayNights));\r\n      checkinInput.value = localYmd(checkin);\r\n      checkoutInput.value = localYmd(checkout);\r\n\r\n      if (bookingOpenUntil) {\r\n        checkinInput.max = bookingOpenUntil;\r\n        checkoutInput.max = bookingOpenUntil;\r\n      }\r\n\r\n      guestsInput.max = String(unit.capacity &gt; 0 ? unit.capacity : 20);\r\n      guestsInput.value = String(Math.min(2, unit.capacity &gt; 0 ? unit.capacity : 2));\r\n\r\n      resetQuote();\r\n      updateModalImage();\r\n\r\n      previousBodyOverflow = document.body.style.overflow;\r\n      document.body.style.overflow = \"hidden\";\r\n      document.body.classList.add(\"bno-direct-modal-open\");\r\n      modal.hidden = false;\r\n      modal.scrollTop = 0;\r\n\r\n      const close = modal.querySelector(\".bno-direct-modal__close\");\r\n      if (close) close.focus();\r\n    }\r\n\r\n    function closeModal() {\r\n      modal.hidden = true;\r\n      document.body.style.overflow = previousBodyOverflow;\r\n      document.body.classList.remove(\"bno-direct-modal-open\");\r\n      currentUnit = null;\r\n      currentQuote = null;\r\n    }\r\n\r\n    async function loadCatalog() {\r\n      try {\r\n        const query = new URLSearchParams({\r\n          serviceId: serviceId,\r\n          credsKey: catalogCredsKey,\r\n          lang: languageCode()\r\n        });\r\n\r\n        const payload = await fetchJson(\r\n          apiUrl(apiBase, \"\/api\/mews\/catalog?\") + query.toString()\r\n        );\r\n        const rows = extractRows(payload);\r\n        const publicationKeys = [\r\n          \"isPublished\",\r\n          \"IsPublished\",\r\n          \"is_published\",\r\n          \"publishStatus\",\r\n          \"PublishStatus\",\r\n          \"publish_status\",\r\n          \"status\",\r\n          \"Status\"\r\n        ];\r\n        const hasPublicationFields = rows.some(function (row) {\r\n          return publicationKeys.some(function (key) {\r\n            return Object.prototype.hasOwnProperty.call(row || {}, key);\r\n          });\r\n        });\r\n        const seen = new Set();\r\n\r\n        units = rows\r\n          .map(normaliseUnit)\r\n          .filter(function (unit) {\r\n            if (!unit.categoryId || seen.has(unit.categoryId)) return false;\r\n            seen.add(unit.categoryId);\r\n            if (allowedIds.size &amp;&amp; !allowedIds.has(unit.categoryId)) return false;\r\n            if (excludedIds.has(unit.categoryId)) return false;\r\n            if (!isPublished(unit, hasPublicationFields)) return false;\r\n            return unit.images.length &gt; 0;\r\n          })\r\n          .sort(function (a, b) {\r\n            return a.name.localeCompare(b.name, \"nb\", { sensitivity: \"base\" });\r\n          });\r\n\r\n        if (!units.length) {\r\n          grid.innerHTML = \"\";\r\n          grid.setAttribute(\"aria-busy\", \"false\");\r\n          moreWrap.hidden = true;\r\n          setStatus(\r\n            \"Er konden op dit moment geen gepubliceerde vakantiehuizen worden geladen.\",\r\n            true\r\n          );\r\n          return;\r\n        }\r\n\r\n        renderUnits();\r\n      } catch (error) {\r\n        console.error(\"BNO destination catalog failed:\", error);\r\n        grid.innerHTML = \"\";\r\n        grid.setAttribute(\"aria-busy\", \"false\");\r\n        moreWrap.hidden = true;\r\n        setStatus(\r\n          \"De vakantiehuizen konden niet worden geladen. Vernieuw de pagina en probeer het opnieuw.\",\r\n          true\r\n        );\r\n      }\r\n    }\r\n\r\n    availabilityForm.addEventListener(\"submit\", async function (event) {\r\n      event.preventDefault();\r\n      if (!currentUnit) return;\r\n\r\n      const from = String(checkinInput.value || \"\").trim();\r\n      const to = String(checkoutInput.value || \"\").trim();\r\n      const adults = Number(guestsInput.value || 0);\r\n\r\n      resetQuote();\r\n\r\n      if (!from || !to || to &lt;= from) {\r\n        setMessage(&quot;Kies geldige data. Uitchecken moet na inchecken zijn.&quot;, &quot;error&quot;);\r\n        return;\r\n      }\r\n\r\n      const nights = nightsBetween(from, to);\r\n      if (nights &lt; minimumStayNights) {\r\n        setMessage(\r\n          &quot;Het minimumverblijf is &quot; + minimumStayNights +\r\n          (minimumStayNights === 1 ? &quot; nacht.&quot; : &quot; nachten.&quot;),\r\n          &quot;error&quot;\r\n        );\r\n        return;\r\n      }\r\n\r\n      if (!Number.isInteger(adults) || adults  0 &amp;&amp; adults &gt; currentUnit.capacity) {\r\n        setMessage(\r\n          \"Dit vakantiehuis biedt plaats aan maximaal \" +\r\n          currentUnit.capacity + \" gasten.\",\r\n          \"error\"\r\n        );\r\n        return;\r\n      }\r\n\r\n      checkButton.disabled = true;\r\n      checkButton.textContent = \"Controleren \u2026\";\r\n      setMessage(\"Beschikbaarheid en prijs controleren \u2026\", \"\");\r\n\r\n      try {\r\n        const payload = await fetchJson(\r\n          apiUrl(apiBase, \"\/api\/bno-direct\/quote\"),\r\n          {\r\n            method: \"POST\",\r\n            headers: {\r\n              Accept: \"application\/json\",\r\n              \"Content-Type\": \"application\/json\"\r\n            },\r\n            body: JSON.stringify({\r\n              partnerKey: bookingPartnerKey,\r\n              areaKey: areaKey,\r\n              resourceCategoryId: currentUnit.categoryId,\r\n              from: from,\r\n              to: to,\r\n              adults: adults\r\n            })\r\n          }\r\n        );\r\n\r\n        const quote = payload.data || payload;\r\n        const pricing = quote.pricing || {};\r\n        const currency = String(quote.currency || \"EUR\").toUpperCase();\r\n        const total = Number(pricing.guestTotalGross);\r\n        const payNow = Number(pricing.bnoPrepaidGross);\r\n        const payLater = Number(pricing.remainingGross);\r\n\r\n        if (!Number.isFinite(total) || total &lt;= 0) {\r\n          throw new Error(&quot;De totale prijs kon niet worden opgehaald.&quot;);\r\n        }\r\n\r\n        currentQuote = {\r\n          from: from,\r\n          to: to,\r\n          adults: adults,\r\n          currency: currency,\r\n          total: total,\r\n          payNow: Number.isFinite(payNow) ? payNow : 0,\r\n          payLater: Number.isFinite(payLater)\r\n            ? payLater\r\n            : Math.max(0, total - (Number.isFinite(payNow) ? payNow : 0))\r\n        };\r\n\r\n        totalNode.textContent = formatMoney(currentQuote.total, currency);\r\n        payNowNode.textContent = formatMoney(currentQuote.payNow, currency);\r\n        payLaterNode.textContent = formatMoney(currentQuote.payLater, currency);\r\n        priceBox.hidden = false;\r\n        continueWrap.hidden = false;\r\n\r\n        setMessage(\r\n          &quot;Het vakantiehuis is beschikbaar van &quot; + formatDate(from) +\r\n          &quot; tot &quot; + formatDate(to) + &quot;.&quot;,\r\n          &quot;success&quot;\r\n        );\r\n      } catch (error) {\r\n        console.error(&quot;BNO destination quote failed:&quot;, error);\r\n        const code = String(error &amp;&amp; error.code || &quot;&quot;);\r\n        let message = error &amp;&amp; error.message\r\n          ? error.message\r\n          : &quot;De beschikbaarheid kon niet worden gecontroleerd. Probeer het opnieuw.&quot;;\r\n\r\n        if (code === &quot;booking_not_open&quot;) {\r\n          message = &quot;Boeken is voor deze bestemming nog niet beschikbaar.&quot;;\r\n        } else if (code === &quot;not_available&quot;) {\r\n          message = &quot;Het vakantiehuis is niet beschikbaar in de gekozen periode.&quot;;\r\n        }\r\n\r\n        setMessage(message, &quot;error&quot;);\r\n      } finally {\r\n        checkButton.disabled = false;\r\n        checkButton.textContent = &quot;Beschikbaarheid controleren&quot;;\r\n      }\r\n    });\r\n\r\n    function invalidateQuote() {\r\n      resetQuote();\r\n    }\r\n\r\n    checkinInput.addEventListener(&quot;change&quot;, function () {\r\n      if (checkinInput.value) {\r\n        const minCheckout = localYmd(\r\n          addDays(new Date(checkinInput.value + &quot;T12:00:00&quot;), minimumStayNights)\r\n        );\r\n        checkoutInput.min = minCheckout;\r\n        if (!checkoutInput.value || checkoutInput.value &lt; minCheckout) {\r\n          checkoutInput.value = minCheckout;\r\n        }\r\n      }\r\n      invalidateQuote();\r\n    });\r\n\r\n    checkoutInput.addEventListener(&quot;change&quot;, invalidateQuote);\r\n    guestsInput.addEventListener(&quot;change&quot;, invalidateQuote);\r\n\r\n    continueButton.addEventListener(&quot;click&quot;, function () {\r\n      if (!currentUnit || !currentQuote) return;\r\n\r\n      const url = new URL(bookingBase, window.location.origin);\r\n      url.searchParams.set(&quot;partnerKey&quot;, bookingPartnerKey);\r\n      url.searchParams.set(&quot;areaKey&quot;, areaKey);\r\n      url.searchParams.set(&quot;resourceCategoryId&quot;, currentUnit.categoryId);\r\n      url.searchParams.set(&quot;from&quot;, currentQuote.from);\r\n      url.searchParams.set(&quot;to&quot;, currentQuote.to);\r\n      url.searchParams.set(&quot;adults&quot;, String(currentQuote.adults));\r\n      url.searchParams.set(&quot;propertyName&quot;, currentUnit.name);\r\n      url.searchParams.set(&quot;lang&quot;, languageCode());\r\n\r\n      if (currentUnit.images[0]) {\r\n        url.searchParams.set(&quot;imageUrl&quot;, currentUnit.images[0]);\r\n      }\r\n\r\n      window.location.assign(url.toString());\r\n    });\r\n\r\n    prevButton.addEventListener(&quot;click&quot;, function () {\r\n      currentImageIndex -= 1;\r\n      updateModalImage();\r\n    });\r\n\r\n    nextButton.addEventListener(&quot;click&quot;, function () {\r\n      currentImageIndex += 1;\r\n      updateModalImage();\r\n    });\r\n\r\n    closeButtons.forEach(function (button) {\r\n      button.addEventListener(&quot;click&quot;, closeModal);\r\n    });\r\n\r\n    modal.addEventListener(&quot;keydown&quot;, function (event) {\r\n      if (event.key === &quot;Escape&quot;) closeModal();\r\n      if (event.key === &quot;ArrowLeft&quot;) {\r\n        currentImageIndex -= 1;\r\n        updateModalImage();\r\n      }\r\n      if (event.key === &quot;ArrowRight&quot;) {\r\n        currentImageIndex += 1;\r\n        updateModalImage();\r\n      }\r\n    });\r\n\r\n    moreButton.addEventListener(&quot;click&quot;, function () {\r\n      visibleCount = Math.min(visibleCount + initialCount, units.length);\r\n      renderUnits();\r\n    });\r\n\r\n    loadCatalog();\r\n  }\r\n\r\n  function mountAll(scope) {\r\n    const context = scope &amp;&amp; scope.querySelectorAll ? scope : document;\r\n    context.querySelectorAll(ROOT_SELECTOR).forEach(init);\r\n  }\r\n\r\n  window.BNODirectDestinationCatalog = {\r\n    mountAll: mountAll\r\n  };\r\n\r\n  if (document.readyState === &quot;loading&quot;) {\r\n    document.addEventListener(&quot;DOMContentLoaded&quot;, function () {\r\n      mountAll(document);\r\n    }, { once: true });\r\n  } else {\r\n    mountAll(document);\r\n  }\r\n\r\n  window.addEventListener(&quot;load&quot;, function () {\r\n    mountAll(document);\r\n  }, { once: true });\r\n})();\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3cdd7024 e-flex e-con-boxed e-con e-parent\" data-id=\"3cdd7024\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7965c99a elementor-widget elementor-widget-html\" data-id=\"7965c99a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"kart\" class=\"bno-rice bno-section bno-section--light\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-section-heading\">\r\n      <span class=\"bno-eyebrow\">\r\n        Kaart\r\n      <\/span>\r\n\r\n      <h2>\r\n        Bekijk de ligging van Elmhirst\u2019s Resort aan Rice Lake\r\n      <\/h2>\r\n\r\n      <p>\r\n        Het resort ligt aan de noordelijke oever van Rice Lake bij Keene in Ontario. De kaart helpt je je in de omgeving te ori\u00ebnteren en je verdere reis vanuit Toronto of andere delen van Ontario te plannen.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"bno-map-card\">\r\n      <a href=\"https:\/\/www.google.com\/maps?q=Elmhirst%27s%20Resort%2C%201045%20Settlers%20Line%2C%20Keene%2C%20Ontario%2C%20Canada&amp;output=embed\" target=\"_blank\" rel=\"noopener\">https:\/\/www.google.com\/maps?q=Elmhirst%27s%20Resort%2C%201045%20Settlers%20Line%2C%20Keene%2C%20Ontario%2C%20Canada&#038;output=embed<\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7623fef5 e-flex e-con-boxed e-con e-parent\" data-id=\"7623fef5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-122c1830 elementor-widget elementor-widget-html\" data-id=\"122c1830\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"oppdag-elmhirst\" class=\"bno-rice bno-section bno-section--light\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-editorial-split\">\r\n\r\n      <div class=\"bno-editorial-split__content\">\r\n        <span class=\"bno-eyebrow\">\r\n          Ontdek Elmhirst\u2019s Resort\r\n        <\/span>\r\n\r\n        <h2>\r\n          Cottages aan het water, resortfaciliteiten en authentiek Canadees leven aan het meer\r\n        <\/h2>\r\n\r\n        <p>\r\n          Elmhirst\u2019s Resort is een familiegerund resort dat het hele jaar open is, met cottages langs Rice Lake. Je verblijf combineert de vrijheid van een eigen cottage met toegang tot faciliteiten en belevenissen op het resortterrein.\r\n        <\/p>\r\n\r\n        <p>\r\n          Vul je dagen met activiteiten op het water, wandelingen over het terrein, zwembad en wellness, of geniet van rustige momenten bij je cottage. De restaurants van het resort maken het bovendien mogelijk om zelf koken af te wisselen met maaltijden van lokale ingredi\u00ebnten.\r\n        <\/p>\r\n\r\n        <div class=\"bno-actions\">\r\n          <a href=\"#fakta\" class=\"bno-btn bno-btn--primary\">\r\n            Bekijk praktische informatie\r\n          <\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"bno-editorial-split__media\">\r\n        <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/elmhirst.ca\/wp-content\/uploads\/2024\/12\/website-image-1512x1628-property.jpg?w=800&#038;ssl=1\" alt=\"Elmhirst\u2019s Resort en de cottages langs Rice Lake in Ontario\" loading=\"lazy\" \/>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-55a53c6a e-flex e-con-boxed e-con e-parent\" data-id=\"55a53c6a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-40258339 elementor-widget elementor-widget-html\" data-id=\"40258339\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"fakta\" class=\"bno-rice bno-section bno-section--soft\">\r\n  <div class=\"bno-shell\">\r\n\r\n    <div class=\"bno-section-heading\">\r\n      <span class=\"bno-eyebrow\">\r\n        Praktische informatie\r\n      <\/span>\r\n\r\n      <h2>\r\n        Cottages, activiteiten en faciliteiten bij Elmhirst\u2019s Resort\r\n      <\/h2>\r\n\r\n      <p>\r\n        Hier krijg je een overzicht van wat het resort tot een flexibele uitvalsbasis maakt voor een vakantie aan Rice Lake in verschillende seizoenen.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"bno-info-grid\">\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">01<\/span>\r\n\r\n        <h3>Cottages aan het water<\/h3>\r\n\r\n        <p>\r\n          Kies uit cottages van verschillende grootte en capaciteit. De cottages bieden een priv\u00e9basis voor je verblijf en liggen dicht bij Rice Lake.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">02<\/span>\r\n\r\n        <h3>Activiteiten op het meer<\/h3>\r\n\r\n        <p>\r\n          In het seizoen kunnen gasten het water onder meer verkennen per kano, kajak en paddleboard. Ook bootverhuur en andere wateractiviteiten zijn beschikbaar.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">03<\/span>\r\n\r\n        <h3>Zwembad en wellness<\/h3>\r\n\r\n        <p>\r\n          Het resort heeft een binnenzwembad, bubbelbad en sauna, plus een buitenzwembad in het zomerseizoen en een spa met behandelingen.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">04<\/span>\r\n\r\n        <h3>Eten en horeca<\/h3>\r\n\r\n        <p>\r\n          Hearthside Dining Room en Wild Blue Yonder Pub &amp; Patio bieden verschillende eetervaringen. Het resort gebruikt bovendien ingredi\u00ebnten van de eigen boerderij.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">05<\/span>\r\n\r\n        <h3>Natuur en wandelmogelijkheden<\/h3>\r\n\r\n        <p>\r\n          Het gebied heeft wandelpaden en ruime buitenzones, zodat je het verblijf gemakkelijk kunt combineren met activiteiten en rustige natuurbelevingen.\r\n        <\/p>\r\n      <\/article>\r\n\r\n      <article class=\"bno-value-card\">\r\n        <span class=\"bno-value-card__number\">06<\/span>\r\n\r\n        <h3>Reizen naar Rice Lake<\/h3>\r\n\r\n        <p>\r\n          Een huurauto biedt de meeste flexibiliteit wanneer je vanuit Toronto of andere knooppunten in Ontario verder reist en de regio tijdens je verblijf wilt verkennen.\r\n        <\/p>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f9e1ba elementor-widget elementor-widget-html\" data-id=\"6f9e1ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bno-rice bno-section bno-destination-cta\">\r\n  <div class=\"bno-shell\">\r\n    <div class=\"bno-cta-box\">\r\n\r\n      <div class=\"bno-cta-box__content\">\r\n        <span class=\"bno-eyebrow\">\r\n          Volgende stap\r\n        <\/span>\r\n\r\n        <h2>\r\n          Vind de juiste cottage aan Rice Lake\r\n        <\/h2>\r\n\r\n        <p>\r\n          Ontdek de cottages van Elmhirst\u2019s Resort, bekijk foto's en capaciteit en vind de accommodatie die bij je reisgezelschap en verblijf in Ontario past.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"bno-cta-box__action\">\r\n        <a href=\"#enheter\" class=\"bno-btn bno-btn--primary bno-cta-button\">\r\n          <span>Bekijk cottages<\/span>\r\n          <span aria-hidden=\"true\">\u2192<\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cc60606 e-flex e-con-boxed e-con e-parent\" data-id=\"cc60606\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Rice Lake \u00b7 Ontario \u00b7 Canada Accommodatie aan Rice Lake \u2013 vind de cottage die bij je verblijf past Ontdek de cottages van Elmhirst\u2019s Resort aan de noordelijke oever van Rice Lake. Vind een comfortabele uitvalsbasis voor tijd met het gezin, activiteiten op het water, natuur, spa en rustige dagen in Ontario. Bekijk cottages Ontdek [&hellip;]<\/p>\n","protected":false},"author":260013438,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"footnotes":"","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_focuskw":"","rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"","_dpc-meta-title":"","_dpc-meta-description":"","_dpc-keyword":""},"class_list":["post-94512","page","type-page","status-publish","hentry"],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PgDuwj-oAo","jetpack-related-posts":[{"id":94510,"url":"https:\/\/bno-travel.com\/nl\/overnatting-i-ontario-canada\/","url_meta":{"origin":94512,"position":0},"title":"Accommodatie Ontario Canada","author":"Jan Terje \u00c5s","date":"4 augustus 2026","format":false,"excerpt":"Bestemmingen \u00b7 Ontario, Canada Accommodatie in Ontario \u2013 combineer Rice Lake met Toronto Ontdek Ontario met rustige verblijven aan het meer en stedelijke belevenissen. Kies Rice Lake voor natuur, cottages en dagen aan het water, of houd de site in de gaten wanneer Toronto als aparte bestemming wordt toegevoegd. Bekijk\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/07\/AdobeStock_1694364175.jpeg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/07\/AdobeStock_1694364175.jpeg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/07\/AdobeStock_1694364175.jpeg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/07\/AdobeStock_1694364175.jpeg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2026\/07\/AdobeStock_1694364175.jpeg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":94553,"url":"https:\/\/bno-travel.com\/nl\/elementor-92651\/","url_meta":{"origin":94512,"position":1},"title":"Elmhirst&#8217;s Resort","author":"Jan Terje \u00c5s","date":"15 juli 2026","format":false,"excerpt":"Rice Lake, Ontario \u00b7 Resort aan het meer Elmhirst\u2019s Resort \u2013 cottages aan het water van Rice Lake Een ontspannen bestemming voor alle seizoenen bij Keene, Ontario, met cottages, belevenissen aan het meer, restaurants en tijd om tot rust te komen. Bekijk cottages Ontdek het resort Verblijf aan het water\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":91539,"url":"https:\/\/bno-travel.com\/nl\/overnatting-i-trysil\/","url_meta":{"origin":94512,"position":2},"title":"overnatting-i-trysil","author":"Jan Terje \u00c5s","date":"4 april 2026","format":false,"excerpt":"Bestemming \u00b7 Trysil Accommodatie in Trysil met toegang tot de gebieden die het beste bij uw reis passen Ontdek gebieden in Trysil zoals Trysil Turistsenter, Trysil Sentrum, Trysilfjell Hytteomr\u00e5de en Fager\u00e5sen \/ Trysil H\u00f8yfjellssenter \u2013 en vind een verblijf dat bij uw reis past. Bekijk gebieden in Trysil Ontdek Trysil\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/08\/10001-20191216-Drone0739-scaled-1.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/08\/10001-20191216-Drone0739-scaled-1.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/08\/10001-20191216-Drone0739-scaled-1.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/08\/10001-20191216-Drone0739-scaled-1.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/08\/10001-20191216-Drone0739-scaled-1.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":91543,"url":"https:\/\/bno-travel.com\/nl\/elementor-28397\/","url_meta":{"origin":94512,"position":3},"title":"Elementor #28397","author":"Jan Terje \u00c5s","date":"4 april 2026","format":false,"excerpt":"Bestemming \u00b7 Trysil Accommodatie in Trysil met toegang tot de gebieden die het beste bij uw reis passen Ontdek gebieden in Trysil zoals Trysil Turistsenter, Trysil Sentrum, Trysilfjell Hytteomr\u00e5de en Fager\u00e5sen \/ Trysil H\u00f8yfjellssenter \u2013 en vind een verblijf dat bij uw reis past. Bekijk gebieden in Trysil Ontdek Trysil\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":91505,"url":"https:\/\/bno-travel.com\/nl\/elementor-28637\/","url_meta":{"origin":94512,"position":4},"title":"Elementor #28637","author":"Jan Terje \u00c5s","date":"4 april 2026","format":false,"excerpt":"Bestemming \u00b7 S\u00e4len Accommodatie in S\u00e4len met toegang tot de gebieden die het beste bij uw verblijf passen Ontdek gebieden in S\u00e4len zoals Lindvallen, Tand\u00e5dalen, H\u00f6gfj\u00e4llet en Hundfj\u00e4llet \u2013 en vind een verblijf dat de juiste balans biedt tussen ligging, natuur en activiteiten. Bekijk gebieden in S\u00e4len Ontdek S\u00e4len Vind\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":91507,"url":"https:\/\/bno-travel.com\/nl\/overnatting-i-salen\/","url_meta":{"origin":94512,"position":5},"title":"overnatting-i-salen","author":"Jan Terje \u00c5s","date":"4 april 2026","format":false,"excerpt":"Bestemming \u00b7 S\u00e4len Accommodatie in S\u00e4len met toegang tot de gebieden die het beste bij uw verblijf passen Ontdek gebieden in S\u00e4len zoals Lindvallen, Tand\u00e5dalen, H\u00f6gfj\u00e4llet en Hundfj\u00e4llet \u2013 en vind een verblijf dat de juiste balans biedt tussen ligging, natuur en activiteiten. Bekijk gebieden in S\u00e4len Ontdek S\u00e4len Vind\u2026","rel":"","context":"Soortgelijk bericht","block_context":{"text":"Soortgelijk bericht","link":""},"img":{"alt_text":"a ski lift at night","src":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/06\/AdobeStock_121113275-e1751307052527.jpeg?fit=1200%2C798&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/06\/AdobeStock_121113275-e1751307052527.jpeg?fit=1200%2C798&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/06\/AdobeStock_121113275-e1751307052527.jpeg?fit=1200%2C798&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/06\/AdobeStock_121113275-e1751307052527.jpeg?fit=1200%2C798&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/bno-travel.com\/wp-content\/uploads\/2025\/06\/AdobeStock_121113275-e1751307052527.jpeg?fit=1200%2C798&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/pages\/94512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/users\/260013438"}],"replies":[{"embeddable":true,"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/comments?post=94512"}],"version-history":[{"count":6,"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/pages\/94512\/revisions"}],"predecessor-version":[{"id":98746,"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/pages\/94512\/revisions\/98746"}],"wp:attachment":[{"href":"https:\/\/bno-travel.com\/nl\/wp-json\/wp\/v2\/media?parent=94512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}