1<!doctype html > 2<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" 3 class="ios-preview-native-scroll"> 4<head> 5 <meta charset="utf-8"> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
45<script type="text/javascript"> 46 window._currentDevice = 'desktop'; 47 window.Parameters = window.Parameters || { 48 HomeUrl: 'https://www.hancelot.be/', 49 50 SystemID: 'EU_PRODUCTION', 51 SiteAlias: 'ea0190f4896547fd8e65f9c711a88618', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Aug 26, 2026', 54 ExternalUid: '208966', 55 IsSiteMultilingual: true, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: 'charme-sup-rieur-kamer', 59 DynamicPageInfo: { 60 isDynamicPage: true, 61 base64JsonRowData: 'eyJwYWdlX2l0ZW1fdXJsIjoiY2hhcm1lLXN1cC1yaWV1ci1rYW1lciIsIm1haW5fdGl0bGVfaGVybyI6IkNoYXJtZSBTdXDDqXJpZXVyIGthbWVyIiwicm9vbV9pY29ucyI6W10sImhlcm9faW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFjLWdyb290LWZiNWIwZTdmLmpwZyIsImZlYXR1cmVzIjpbIlByaWpzIHBlciBuYWNodCBwZXIga2FtZXIiLCJJbmNsdXNpZWYgb250YmlqdCBidWZmZXQiLCJFeGNsdXNpZWYgdGFrc2VuIiwiQmFkIiwiQmFka2FtZXIiLCJWZW50aWxhdG9yIiwiQ2VudHJhbGUgdmVyd2FybWluZyIsIktsdWlzIiwiRG91Y2hlIiwiVG9pbGV0IiwiVFYiLCJLb2ZmaWV6ZXQvV2F0ZXJrb2tlciIsIkhhYXJkcm9nZXIiLCJaaXRob2VrIiwiU2xpcHBlcnMiLCJEcmFhZGxvb3MgaW50ZXJuZXQiLCJXYXN0YWZlbCIsIkJhc2lzdm9vcnppZW5pbmdlbiJdLCJ2aWV3IjoiIiwic2l6ZSI6IiIsInByaWNlIjoiIiwiZ3Vlc3RzIjoiMyIsImJ1dHRvbl9saW5rIjoiaHR0cHM6Ly9ib29raW5nZW5naW5lLm15bGlnaHRob3VzZS5jb20vY2hhcm1lLWhvdGVsLWhhbmNlbG90LWdlbnQvUm9vbXMvR2VuZXJhbEF2YWlsYWJpbGl0eT9Sb29tPTQwOTEmTGFuZ3VhZ2U9bmwiLCJzZWN0aW9uXzFfcGFyYWdyYXBoIjoiRGV6ZSB6ZWVyIHJ1aW1lIGVuIGx1eHVldXplIENoYXJtZSBTdXDDqXJpZXVyIGthbWVycyB2YW4gbWluc3RlbnMgKy8tIDQ1bcKyIGdyb290IGJldmluZGVuIHppY2ggb3AgZGUgZWVyc3RlIHZlcmRpZXBpbmcgZW4gemlqbiB2b29yemllbiB2YW4gZ2V6ZWxsaWdlIHppdGhvZWssIGZsYXRzY3JlZW4gVFYsIGdyYXRpcyB3aXJlbGVzcyBpbnRlcm5ldCBlbiBrb2ZmaWUgJiB0aGVlIGZhY2lsaXRlaXRlbi4gRGUgQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIgaGVlZnQgb2YgZWVuIG1vZGVybmUgYmFka2FtZXIgbWV0IGJhZCBlbi9vZiBhcGFydGUgcmVnZW4vbWFzc2FnZSBkb3VjaGUtY2FiaW5lIG9mIGhlZWZ0IGVlbiBhdXRoZW50aWVrZSBiYWRrYW1lciBtZXQgYmFkIHZvb3IgdHdlZSBwZXJzb25lbiBlbiBkb3VjaGUuIEJlaWRlIGJhZGthbWVycyB6aWpuIHVpdGdlcnVzdCBtZXQgbGF2YWJvLCB0b2lsZXQgZW4gdWl0Z2VicmVpZGVyIGFzc29ydGltZW50IGJhZHByb2R1a3Rlbi4iLCJoZXJvX2Rlc2NyaXB0aW9uIjoiRGV6ZSB6ZWVyIHJ1aW1lIGVuIGx1eHVldXplIENoYXJtZSBTdXDDqXJpZXVyIGthbWVycyB2YW4gbWluc3RlbnMgKy8tIDQ1bcKyIGdyb290IGJldmluZGVuIHppY2ggb3AgZGUgZWVyc3RlIHZlcmRpZXBpbmcgZW4gemlqbiB2b29yemllbiB2YW4gZ2V6ZWxsaWdlIHppdGhvZWssIGZsYXRzY3JlZW4gVFYsIGdyYXRpcyB3aXJlbGVzcyBpbnRlcm5ldCBlbiBrb2ZmaWUgJiB0aGVlIGZhY2lsaXRlaXRlbi4gRGUgQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIgaGVlZnQgb2YgZWVuIG1vZGVybmUgYmFka2FtZXIgbWV0IGJhZCBlbi9vZiBhcGFydGUgcmVnZW4vbWFzc2FnZSBkb3VjaGUtY2FiaW5lIG9mIGhlZWZ0IGVlbiBhdXRoZW50aWVrZSBiYWRrYW1lciBtZXQgYmFkIHZvb3IgdHdlZSBwZXJzb25lbiBlbiBkb3VjaGUuIEJlaWRlIGJhZGthbWVycyB6aWpuIHVpdGdlcnVzdCBtZXQgbGF2YWJvLCB0b2lsZXQgZW4gdWl0Z2VicmVpZGVyIGFzc29ydGltZW50IGJhZHByb2R1a3Rlbi4iLCJpbWFnZV9nYWxsZXJ5IjpbeyJpbWFnZSI6Imh0dHBzOi8vZGUuY2RuLXdlYnNpdGUuY29tL2VhMDE5MGY0ODk2NTQ3ZmQ4ZTY1ZjljNzExYTg4NjE4L2RtczNyZXAvbXVsdGkva2FtZXItMWMtMi1ncm9vdC5qcGciLCJhbHRfdGV4dCI6IkNoYXJtZSBTdXDDqXJpZXVyIGthbWVyIn0seyJpbWFnZSI6Imh0dHBzOi8vZGUuY2RuLXdlYnNpdGUuY29tL2VhMDE5MGY0ODk2NTQ3ZmQ4ZTY1ZjljNzExYTg4NjE4L2RtczNyZXAvbXVsdGkva2FtZXItMWEtZ3Jvb3QuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9LHsiaW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFhLTItZ3Jvb3QuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9LHsiaW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFhLTMtZ3Jvb3QuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9LHsiaW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFhLTQtZ3Jvb3QuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9LHsiaW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFhLTYtZ3Jvb3QuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9LHsiaW1hZ2UiOiJodHRwczovL2RlLmNkbi13ZWJzaXRlLmNvbS9lYTAxOTBmNDg5NjU0N2ZkOGU2NWY5YzcxMWE4ODYxOC9kbXMzcmVwL211bHRpL2thbWVyLTFiLWdyb290LmpwZyIsImFsdF90ZXh0IjoiQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIifSx7ImltYWdlIjoiaHR0cHM6Ly9kZS5jZG4td2Vic2l0ZS5jb20vZWEwMTkwZjQ4OTY1NDdmZDhlNjVmOWM3MTFhODg2MTgvZG1zM3JlcC9tdWx0aS9rYW1lci0xYi0zLWdyb290LmpwZyIsImFsdF90ZXh0IjoiQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIifSx7ImltYWdlIjoiaHR0cHM6Ly9kZS5jZG4td2Vic2l0ZS5jb20vZWEwMTkwZjQ4OTY1NDdmZDhlNjVmOWM3MTFhODg2MTgvZG1zM3JlcC9tdWx0aS9rYW1lci0xYy0zLWdyb290LmpwZyIsImFsdF90ZXh0IjoiQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIifSx7ImltYWdlIjoiaHR0cHM6Ly9kZS5jZG4td2Vic2l0ZS5jb20vZWEwMTkwZjQ4OTY1NDdmZDhlNjVmOWM3MTFhODg2MTgvZG1zM3JlcC9tdWx0aS9rYW1lci0xYS01LWdyb290LmpwZyIsImFsdF90ZXh0IjoiQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIifSx7ImltYWdlIjoiaHR0cHM6Ly9kZS5jZG4td2Vic2l0ZS5jb20vZWEwMTkwZjQ4OTY1NDdmZDhlNjVmOWM3MTFhODg2MTgvZG1zM3JlcC9tdWx0aS9rYW1lci0xYi0yLWdyb290LmpwZyIsImFsdF90ZXh0IjoiQ2hhcm1lIFN1cMOpcmlldXIga2FtZXIifSx7ImltYWdlIjoiaHR0cHM6Ly9kZS5jZG4td2Vic2l0ZS5jb20vZWEwMTkwZjQ4OTY1NDdmZDhlNjVmOWM3MTFhODg2MTgvZG1zM3JlcC9tdWx0aS9rYW1lci0yZC0zLWdyb290LTEuanBnIiwiYWx0X3RleHQiOiJDaGFybWUgU3Vww6lyaWV1ciBrYW1lciJ9XX0=', 62 }, 63 InitialPageAlias: 'room-detail/~page-item~', 64 InitialPageUuid: 'a51b7147dadc4a27bf39ba009d474637', 65 InitialPageId: '37515853', 66 InitialEncodedPageAlias: 'cm9vbS1kZXRhaWwvfnBhZ2UtaXRlbX4=', 67 InitialHeaderUuid: '5431a258100041e39f014ded47698105', 68 CurrentPageUrl: '', 69 IsCurrentHomePage: false, 70 AllowAjax: false, 71 AfterAjaxCommand: null, 72 HomeLinkText: 'Back To Home', 73 UseGalleryModule: false, 74 CurrentThemeName: 'Layout Theme', 75 ThemeVersion: '500000', 76 DefaultPageAlias: '', 77 RemoveDID: true, 78 WidgetStyleID: null, 79 IsHeaderFixed: false, 80 IsHeaderSkinny: false, 81 IsBfs: true, 82 StorePageAlias: 'null', 83 StorePagesUrls: 'e30=', 84 IsNewStore: 'false', 85 StorePath: '', 86 StoreId: 'null', 87 StoreVersion: 0, 88 StoreBaseUrl: '', 89 StoreCleanUrl: true, 90 StoreDisableScrolling: true, 91 IsStoreSuspended: false, 92 HasCustomDomain: true, 93 SimpleSite: false, 94 showCookieNotification: false, 95 cookiesNotificationMarkup: 'null', 96 translatedPageUrl: '', 97 isFastMigrationSite: false, 98 sidebarPosition: 'NA', 99 currentLanguage: 'nl', 100 currentLocale: 'nl', 101 NavItems: '{}', 102 errors: { 103 general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', 104 password: 'Incorrect name/password combination', 105 tryAgain: 'Try again' 106 }, 107 108 mapConsent: { 109 message: 'Deze inhoud wordt aangeboden door een derde partij, {0}. Indien ingeschakeld, kan {0} informatie verzamelen over uw activiteiten.', 110 enable: 'Inschakelen' 111 }, 112 NavigationAreaParams: { 113 ShowBackToHomeOnInnerPages: true, 114 NavbarSize: -1, 115 NavbarLiveHomePage: 'https://www.hancelot.be/', 116 BlockContainerSelector: '.dmBody',
117 NavbarSelector: '#dmNav:has(a)', 118 SubNavbarSelector: '#subnav_main' 119 }, 120 hasCustomCode: false, 121 planID: '7', 122 customTemplateId: 'null', 123 siteTemplateId: 'null', 124 productId: 'DM_DIRECT', 125 disableTracking: false, 126 pageType: 'DYNAMIC_PAGE_SUFFIX', 127 isRuntimeServer: true, 128 isInEditor: false, 129 isInPreview: false, 130 hasNativeStore: false, 131 defaultLang: 'nl', 132 hamburgerMigration: null, 133 isFlexSite: true 134 }; 135 136 window.Parameters.LayoutID = {}; 137 window.Parameters.LayoutID[window._currentDevice] = 30; 138 window.Parameters.LayoutVariationID = {}; 139 window.Parameters.LayoutVariationID[window._currentDevice] = 5; 140</script>
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163<!-- Injecting site-wide to the head --> 164 165 166<style data-swh-uuid="b87a493f2230466d98164ef152cfc733"> 167 168/* Show the logo on tablet + mobile: Duda hides the whole desktop logo/nav 169 group via data-hidden-on-tablet / data-hidden-on-mobile 170 (display:none !important in the flex-nav runtime CSS). Re-show only the 171 group that holds a connected logo; keep its other children hidden. 172 NOTE: no ">" combinators anywhere - Duda HTML-escapes ">" to "&gt;" in 173 snippet markup, which silently invalidates the rule. */ 174@media (max-width: 767px) { 175 #dm .dmInner .group[data-hidden-on-mobile]:has(.site-logo img:not([src*="blank_image_placeholder"])) { 176 display: flex !important; 177 } 178 #dm .dmInner .group[data-hidden-on-mobile]:has(.site-logo) .flex-element:not(.site-logo) { 179 display: none !important; 180 } 181} 182 183@media (min-width: 768px) and (max-width: 1024px) { 184 #dm .dmInner .group[data-hidden-on-tablet]:has(.site-logo img:not([src*="blank_image_placeholder"])) { 185 display: flex !important; 186 } 187 #dm .dmInner .group[data-hidden-on-tablet]:has(.site-logo) .flex-element:not(.site-logo) { 188 display: none !important; 189 } 190} 191 192/* The published tablet/mobile markup has 0-size attributes on the logo img 193 (the widget was hidden at publish time), so size it here. */ 194@media (max-width: 1024px) { 195 #dm .dmInner .site-logo, 196 #dm .dmInner .site-logo .imageWidget { 197 width: auto !important; 198 height: auto !important; 199 } 200 #dm .dmInner .site-logo .imageWidget img { 201 display: block; 202 height: 40px !important; 203 width: auto !important; 204 min-width: 24px; /* pre-load box so the lazy image still fetches */ 205 max-width: 180px; 206 object-fit: contain; 207 } 208} 209 210</style> 211
212<script src="https://www.thehotelsnetwork.com/js/loader.js?partnership_id=132" async="" data-swh-uuid="ce622f17dd3b40d19da3d399f29fad52"> 213</script>
213 214
215<script type="application/ld+json" data-swh-uuid="7d2eb4d4705a47b0992e6845445c3f1a"> 216 217 218{ 219 "@context": "https://schema.org", 220 "@type": "LodgingBusiness", 221 "name": "Charmehotel Hancelot", 222 "image": "https://de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/dms3rep/multi/aff460847e5e413bb3fc6c075f3d2cbe.jpg", 223 "email": "[email protected]", 224 "telephone": "+3232014930", 225 "address": { 226 "@type": "PostalAddress", 227 "streetAddress": "Vijfwindgatenstraat 19", 228 "addressLocality": "Gent", 229 "postalCode": "9000", 230 "addressCountry": "BE" 231 }, 232 "geo": { 233 "@type": "GeoCoordinates", 234 "latitude": "51.0446", 235 "longitude": "3.7344" 236 }, 237 "knowsLanguage": [ 238 { 239 "@type": "Language", 240 "name": "nl" 241 }, 242 { 243 "@type": "Language", 244 "name": "fr" 245 }, 246 { 247 "@type": "Language", 248 "name": "en" 249 } 250 ] 251} 252 253 254</script>
254 255
256<script data-swh-uuid="46f77f6d86954f36947697cf1b18b74d"> 257 258 259window.dataLayer = window.dataLayer || []; 260window.dataLayer.push({ "subscription_id": "208966" }); 261 262 263</script>
263 264 265 266 267<!-- End Injecting site-wide to the head --> 268 269<!-- Inject secured cdn script --> 270 271 272<!-- ========= Meta Tags ========= --> 273<!-- PWA settings -->
274<script> 275 function toHash(str) { 276 var hash = 5381, i = str.length; 277 while (i) { 278 hash = hash * 33 ^ str.charCodeAt(--i) 279 } 280 return hash >>> 0 281 } 282</script>
vendor: 1 bytes, line 282
282
283<script> 284 (function (global) { 285 //const cacheKey = global.cacheKey; 286 const isOffline = 'onLine' in navigator && navigator.onLine === false; 287 const hasServiceWorkerSupport = 'serviceWorker' in navigator; 288 if (isOffline) { 289 console.log('offline mode'); 290 } 291 if (!hasServiceWorkerSupport) { 292 console.log('service worker is not supported'); 293 } 294 if (hasServiceWorkerSupport && !isOffline) { 295 window.addEventListener('load', function () { 296 const serviceWorkerPath = '/runtime-service-worker.js?v=3'; 297 navigator.serviceWorker 298 .register(serviceWorkerPath, { scope: './' }) 299 .then( 300 function (registration) { 301 // Registration was successful 302 console.log( 303 'ServiceWorker registration successful with scope: ', 304 registration.scope 305 ); 306 }, 307 function (err) { 308 // registration failed :( 309 console.log('ServiceWorker registration failed: ', err); 310 } 311 ) 312 .catch(function (err) { 313 console.log(err); 314 }); 315 }); 316 317 // helper function to refresh the page 318 var refreshPage = (function () { 319 var refreshing; 320 return function () { 321 if (refreshing) return; 322 // prevent multiple refreshes 323 var refreshkey = 'refreshed' + location.href; 324 var prevRefresh = localStorage.getItem(refreshkey); 325 if (prevRefresh) { 326 localStorage.removeItem(refreshkey); 327 if (Date.now() - prevRefresh < 30000) { 328 return; // dont go into a refresh loop 329 } 330 } 331 refreshing = true; 332 localStorage.setItem(refreshkey, Date.now()); 333 console.log('refereshing page'); 334 window.location.reload(); 335 }; 336 })(); 337 338 function messageServiceWorker(data) { 339 return new Promise(function (resolve, reject) { 340 if (navigator.serviceWorker.controller) { 341 var worker = navigator.serviceWorker.controller; 342 var messageChannel = new MessageChannel(); 343 messageChannel.port1.onmessage = replyHandler; 344 worker.postMessage(data, [messageChannel.port2]); 345 function replyHandler(event) { 346 resolve(event.data); 347 } 348 } else { 349 resolve(); 350 } 351 }); 352 } 353 } 354})(window); 355</script>
355 356<!-- Add manifest --> 357<!-- End PWA settings --> 358 359 360 361<link rel="canonical" href="https://www.hancelot.be/room-detail/charme-sup-rieur-kamer"> 362 363<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 364 365<meta name="apple-mobile-web-app-capable" content="yes"> 366 367<!--Add favorites icons--> 368 369<link rel="icon" type="image/x-icon" href="https://de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/site_favicon_16_1785154289205.ico"/> 370 371<!-- End favorite icons --> 372<link rel="preconnect" href="https://le-de.cdn-website.com"/> 373<link rel="preconnect" href="https://de.cdn-website.com" crossorigin/> 374<link rel="preconnect" href="https://static.cdn-website.com"/> 375<link rel="preconnect" href="https://de.cdn-website.com"/> 376 377 378 379<!-- render the required CSS and JS in the head section -->
380<script id='d-js-dmapi'> 381 window.SystemID = 'EU_PRODUCTION'; 382 383 if (!window.dmAPI) { 384 window.dmAPI = { 385 registerExternalRuntimeComponent: function () { 386 }, 387 getCurrentDeviceType: function () { 388 return window._currentDevice; 389 }, 390 runOnReady: (ns, fn) => { 391 const safeFn = dmAPI.toSafeFn(fn); 392 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 393 const eventName = 'afterAjax.' + ns; 394 395 if (document.readyState === 'complete') { 396 $.DM.events.off(eventName).on(eventName, safeFn); 397 setTimeout(function () { 398 safeFn({ 399 isAjax: false, 400 }); 401 }, 0); 402 } else { 403 window?.waitForDeferred?.('dmAjax', () => { 404 $.DM.events.off(eventName).on(eventName, safeFn); 405 safeFn({ 406 isAjax: false, 407 }); 408 }); 409 } 410 }, 411 toSafeFn: (fn) => { 412 if (fn?.safe) { 413 return fn; 414 } 415 const safeFn = function (...args) { 416 try { 417 return fn?.apply(null, args); 418 } catch (e) { 419 console.log('function failed ' + e.message); 420 } 421 }; 422 safeFn.safe = true; 423 return safeFn; 424 } 425 }; 426 } 427 428 if (!window.requestIdleCallback) { 429 window.requestIdleCallback = function (fn) { 430 setTimeout(fn, 0); 431 } 432 } 433</script>
433 434 435<!-- loadCSS function header.jsp--> 436 437 438 439 440 441
442<script id="d-js-load-css"> 443/** 444 * There are a few <link> tags with CSS resource in them that are preloaded in the page 445 * in each of those there is a "onload" handler which invokes the loadCSS callback 446 * defined here. 447 * We are monitoring 3 main CSS files - the runtime, the global and the page. 448 * When each load we check to see if we can append them all in a batch. If threre 449 * is no page css (which may happen on inner pages) then we do not wait for it 450 */ 451(function () { 452 let cssLinks = {}; 453 function loadCssLink(link) { 454 link.onload = null; 455 link.rel = "stylesheet"; 456 link.type = "text/css"; 457 } 458 459 function checkCss() { 460 const pageCssLink = document.querySelector("[id*='CssLink']"); 461 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 462 463 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 464 const storedRuntimeCssLink = cssLinks.runtime; 465 const storedPageCssLink = cssLinks.page; 466 const storedGlobalCssLink = cssLinks.global; 467 const storedWidgetCssLink = cssLinks.widget; 468 469 storedGlobalCssLink.disabled = true; 470 loadCssLink(storedGlobalCssLink); 471 472 if (storedPageCssLink) { 473 storedPageCssLink.disabled = true; 474 loadCssLink(storedPageCssLink); 475 } 476 477 if(storedWidgetCssLink) { 478 storedWidgetCssLink.disabled = true; 479 loadCssLink(storedWidgetCssLink); 480 } 481 482 storedRuntimeCssLink.disabled = true; 483 loadCssLink(storedRuntimeCssLink); 484 485 requestAnimationFrame(() => { 486 setTimeout(() => { 487 storedRuntimeCssLink.disabled = false; 488 storedGlobalCssLink.disabled = false; 489 if (storedPageCssLink) { 490 storedPageCssLink.disabled = false; 491 } 492 if (storedWidgetCssLink) { 493 storedWidgetCssLink.disabled = false; 494 } 495 // (SUP-4179) Clear the accumulated cssLinks only when we're 496 // sure that the document has finished loading and the document 497 // has been parsed. 498 if(document.readyState === 'interactive') { 499 cssLinks = null; 500 } 501 }, 0); 502 }); 503 } 504 } 505 506 507 function loadCSS(link) { 508 try { 509 var urlParams = new URLSearchParams(window.location.search); 510 var noCSS = !!urlParams.get("nocss"); 511 var cssTimeout = urlParams.get("cssTimeout") || 0; 512 513 if (noCSS) { 514 return; 515 } 516 if (link.href && link.href.includes("d-css-runtime")) { 517 cssLinks.runtime = link; 518 checkCss(); 519 } else if (link.id === "siteGlobalCss") { 520 cssLinks.global = link; 521 checkCss(); 522 } 523 524 else if (link.id && link.id.includes("CssLink")) { 525 cssLinks.page = link; 526 checkCss(); 527 } else if (link.id && link.id.includes("widgetCSS")) { 528 cssLinks.widget = link; 529 checkCss(); 530 } 531 532 else { 533 requestIdleCallback(function () { 534 window.setTimeout(function () { 535 loadCssLink(link); 536 }, parseInt(cssTimeout, 10)); 537 }); 538 } 539 } catch (e) { 540 throw e 541 } 542 } 543 window.loadCSS = window.loadCSS || loadCSS; 544})(); 545</script>
545 546 547 548
549<script data-role="deferred-init" type="text/javascript"> 550 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 551 function Def() { 552 this.promise = new Promise((function (a, b) { 553 this.resolve = a, this.reject = b 554 }).bind(this)) 555 } 556 557 const defs = {}; 558 window.getDeferred = function (a) { 559 return null == defs[a] && (defs[a] = new Def), defs[a] 560 } 561 window.waitForDeferred = function (b, a, c) { 562 let d = window?.getDeferred?.(b); 563 d 564 ? d.promise.then(a) 565 : c && ["complete", "interactive"].includes(document.readyState) 566 ? setTimeout(a, 1) 567 : c 568 ? document.addEventListener("DOMContentLoaded", a) 569 : console.error(`Deferred does not exist`); 570 }; 571</script>
571 572<style id="forceCssIncludes"> 573 /* This file is auto-generated from a `scss` file with the same name */ 574 575.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}@media (min-width:768px) and (max-width:1024px){.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}} 576 577 578</style> 579<style id="cssVariables" type="text/css"> 580 :root { 581 --color_1: rgba(195,170,115,1); 582 --color_10: rgba(94, 88, 80, 1); 583 --color_2: rgba(44,74,62,1); 584 --color_3: rgba(255,248,240,1); 585 --color_4: rgba(139,69,19,1); 586 --color_5: rgba(44,74,62,1); 587 --color_6: rgba(44,74,62,1); 588 --color_7: rgba(38, 34, 28, 1); 589 --color_8: rgba(255, 255, 255, 1); 590 --color_9: rgba(249, 245, 241, 1); 591 --max-content-width_1: 1200px; 592} 593</style> 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619<!-- Google Fonts Include --> 620 621 622 623 624 625 626 627 628 629 630 631 632 633<!-- loadCSS function fonts.jsp--> 634 635 636 637<link type="text/css" rel="stylesheet" href="https://de.cdn-website.com/fonts/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=DM+Sans:ital,wght@0,100..1000;1,100..1000&subset=latin-ext&display=swap" /> 638 639 640 641 642 643<!-- RT CSS Include d-css-runtime-flex-new-nav--> 644<link rel="stylesheet" type="text/css" href="https://static.cdn-website.com/mnlt/production/6803/_dm/s/rt/dist/css/d-css-runtime-flex-new-nav.min.css" /> 645 646<!-- End of RT CSS Include --> 647 648<link type="text/css" rel="stylesheet" href="https://de.cdn-website.com/WIDGET_CSS/5c0285296a37389797227006fba4c8f2.css" id="widgetCSS" /> 649 650<!-- Support `img` size attributes --> 651<style>img[width][height] { 652 height: auto; 653}</style> 654 655<!-- Support showing sticky element on page only --> 656<style> 657 body[data-page-alias="room-detail/~page-item~"] #dm [data-show-on-page-only="room-detail/~page-item~"] { 658 display: block !important; 659 } 660</style> 661 662<!-- This is populated in Ajax navigation --> 663<style id="pageAdditionalWidgetsCss" type="text/css"> 664</style> 665 666 667 668 669<!-- Site CSS --> 670<link type="text/css" rel="stylesheet" href="https://de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/files/ea0190f4896547fd8e65f9c711a88618_header_1.min.css?v=25" id="siteGlobalCss" /> 671 672 673 674<style id="customWidgetStyle" type="text/css"> 675 676</style> 677<style id="innerPagesStyle" type="text/css"> 678 679</style> 680 681 682<style 683 id="additionalGlobalCss" type="text/css" 684> 685</style> 686 687<style id="pagestyle" type="text/css"> 688 @media all { 689 *#dm .dmInner nav.u_1998592992 { color:black !important; } 690 691 *#dm .dmInner *.u_3356754003 .room-guests-icon { color:var(--color_1) !important; } 692 693 *#dm .dmInner div.u_3356754003 .room-book-btn:hover { 694 background-color:var(--color_2) !important; 695 background-image:none !important; 696 } 697 698 *#dm .dmInner div.u_3356754003 .room-book-btn.hover { 699 background-color:var(--color_2) !important; 700 background-image:none !important; 701 } 702} 703 704</style> 705 706<style id="pagestyleDevice" type="text/css"> 707 708</style> 709 710<!-- Flex Sections CSS --> 711 712 <style data-page-uuid="a51b7147dadc4a27bf39ba009d474637" id="grid-styles-common-63bd85219866cc362278151e-a51b7147dadc4a27bf39ba009d474637">@media all { 713 714#\36 3bd85219866cc3622781521 { 715 min-height: 8px; 716 column-gap: 4%; 717 row-gap: 24px; 718 width: 100%; 719 min-width: 4%; 720 background-color: rgba(0, 0, 0, 0); 721 align-self: auto; 722 padding: 0px 0px 0px 0px; 723 margin: 0% 0% 0% 0%; 724} 725 726#\36 3bd85219866cc3622781520 { 727 min-height: auto; 728 column-gap: 4%; 729 row-gap: 24px; 730 width: 100%; 731 flex-wrap: nowrap; 732 align-items: flex-start; 733 max-width: var(--max-content-width_1, 1200px); 734 padding: 3% 2% 3% 2%; 735 margin: 0% 0% 0% 0%; 736} 737 738#\36 3bd85219866cc362278151f { 739 border-width: 0px; 740 border-color: rgba(0, 0, 0, 1); 741 border-style: solid; 742 background-color: var(--color_3); 743 background-image: none; 744} 745 746#\36 3c7b8b76c596a2813341bc5 { 747 height: auto; 748} 749 750#widget_mdk.flex-element.widget-wrapper > [data-element-type] { 751 padding: 0px 0px 0px 0px; 752} 753#widget_mdk { 754 width: 100%; 755 height: auto; 756 max-width: 100%; 757 min-height: 80vh; 758 margin: 0px 0% 0px 0%; 759} 760 761#\36 3bd85219866cc362278151d { 762 margin: 0px 0% 0px 0%; 763} 764}</style> 765 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-flex-footer-5431a258100041e39f014ded47698105">@media all { 766 767#flex-footer { 768 background-color: var(--color_7); 769 background-image: none; 770} 771}</style> 772 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-flex-
772header-5431a258100041e39f014ded47698105">@media all { 773 774#flex-header[data-changeable-on-scroll][data-scrolling] [data-widget-type="image"] img { 775 transform: scale(0.66); 776} 777#flex-header { 778 background-color: var(--color_8); 779 780 background-image: none; 781 padding: 10px 8% 10px 8%; 782 margin: 0px 0% 0px 0%; 783} 784#flex-header[data-changeable-on-scroll][data-scrolling] { 785 padding-top: 0px; 786 padding-bottom: 0px; 787 background-color: rgba(255, 255, 255, 1); 788} 789}</style> 790 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-c093187e-5431a258100041e39f014ded47698105">@media all { 791 792#\39 dc5a074 { 793 min-height: 82px; 794 column-gap: 0%; 795 row-gap: 0px; 796 max-width: none; 797 width: 100%; 798 flex-wrap: nowrap; 799 padding: 6px 0% 6px 0%; 800 margin: 0% 0% 0% 0%; 801} 802 803#\32 3d5f850 { 804 width: 79.27%; 805 height: auto; 806 max-width: 100%; 807 order: 0; 808 grid-area: auto / auto / auto / auto; 809} 810 811#\37 80d21df { 812 flex-direction: row; 813 align-items: center; 814 width: 89.52%; 815 min-width: 4%; 816 min-height: 8px; 817 column-gap: 4%; 818 row-gap: 24px; 819 justify-content: flex-start; 820 order: 1; 821 background-color: rgba(0, 0, 0, 0); 822 background-image: none; 823 padding: 6px 16px 6px 16px; 824 margin: 0% 0% 0% 0%; 825} 826 827#\37 64397de { 828 min-height: 8px; 829 column-gap: 4%; 830 row-gap: 24px; 831 flex-direction: row; 832 width: 29.35%; 833 justify-content: flex-end; 834 align-items: center; 835 min-width: 4%; 836 order: 2; 837 padding: 16px 16px 16px 16px; 838 margin: 0% 0% 0% 0%; 839} 840 841#\30 0ca91b4 { 842 width: 30px; 843 height: 30px; 844 max-width: 100%; 845} 846 847#\31 c1481e3 { 848 margin: 0px 0% 0px 0%; 849} 850 851#widget_idl { 852 width: 183px; 853 height: auto; 854 max-width: 100%; 855 justify-self: auto; 856 align-self: auto; 857 order: 1; 858 margin: 0px 0% 0px 0%; 859 grid-area: auto / auto / auto / auto; 860} 861 862#\36 fe0ae20 { 863 min-height: 8px; 864 column-gap: 4%; 865 row-gap: 24px; 866 width: 6.48%; 867 align-items: center; 868 min-width: 4%; 869 order: 0; 870 background-color: rgba(0, 0, 0, 0); 871 background-image: none; 872} 873 874#widget_c5a { 875 width: 86px; 876 height: auto; 877 max-width: 100%; 878} 879 880#\38 258bb2f { 881 min-height: 8px; 882 column-gap: 4%; 883 row-gap: 24px; 884 width: 4%; 885 align-items: center; 886 min-width: 4%; 887 order: 3; 888} 889}</style> 890 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-18f5ea00-5431a258100041e39f014ded47698105">@media all { 891 892#\39 d047ce9 { 893 min-height: 8px; 894 column-gap: 4%; 895 row-gap: 24px; 896 width: 100%; 897 min-width: 4%; 898 align-items: flex-end; 899 justify-content: flex-end; 900 padding: 16px 16px 16px 16px; 901 margin-right: 0%; 902 margin-top: 0%; 903 margin-left: 0%; 904 margin-bottom: 0%; 905} 906 907#a1f8711f { 908 min-height: 0px; 909 column-gap: 4%; 910 row-gap: 24px; 911 width: 100%; 912 padding: 4% 4% 2% 4%; 913 margin-right: 0%; 914 margin-top: 0%; 915 margin-left: 0%; 916 margin-bottom: 0%; 917} 918 919#\31 2a003a5 svg { 920 fill: rgba(120,120,120,1); 921} 922#\31 2a003a5 .hamburgerButton { 923 background-color: rgba(0,0,0,0); 924} 925#\31 2a003a5 { 926 width: 30px; 927 height: 30px; 928} 929}</style> 930 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-63a049320d35b55b4ef2a372-5431a258100041e39f014ded47698105">@media all { 931 932#\36 3a049320d35b55b4ef2a374 { 933 min-height: 8px; 934 column-gap: 4%; 935 row-gap: 24px; 936 width: 100%; 937 min-width: 4%; 938 background-color: rgba(0, 0, 0, 0); 939 justify-content: flex-start; 940 padding: 16px 16px 16px 16px; 941 margin-right: 0%; 942 margin-top: 0%; 943 margin-left: 0%; 944 margin-bottom: 0%; 945} 946 947#\36 3a049320d35b55b4ef2a376 { 948 background-color: rgba(0, 0, 0, 0); 949} 950 951#\36 3a049320d35b55b4ef2a377 { 952 min-height: 531px; 953 column-gap: 4%; 954 row-gap: 24px; 955 width: 100%; 956 padding: 4% 4% 2% 4%; 957 margin-right: 0%; 958 margin-top: 0%; 959 margin-left: 0%; 960 margin-bottom: 0%; 961} 962 963#\36 3a049ca0d35b55b4ef2a5c3 { 964 width: 544px; 965 height: auto; 966 max-width: 100%; 967 align-self: auto; 968 order: 0; 969 grid-area: auto / auto / auto / auto; 970} 971 972#\36 2d6a167a824ca526194d9a5 { 973 background-color: rgba(232, 255, 133, 1); 974} 975}</style> 976 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-6406026c90e1521f6ecb0eca-5431a258100041e39f014ded47698105">@media all { 977 978#\36 406026c90e1521f6ecb0ecd { 979 min-height: 8px; 980 column-gap: 4%; 981 row-gap: 24px; 982 width: 100%; 983 min-width: 4%; 984 padding: 16px 16px 16px 16px; 985 margin: 0% 0% 0% 0%; 986} 987 988#\36 406026c90e1521f6ecb0ecc { 989 min-height: 238px; 990 column-gap: 4%; 991 row-gap: 24px; 992 width: 100%; 993 padding: 4% 4% 4% 4%; 994 margin: 0% 0% 0% 0%; 995} 996 997#widget_s4l { 998 width: 100%; 999 height: auto; 1000 max-width: 100%; 1001 order: 1; 1002} 1003 1004#widget_u7g { 1005 width: 100%; 1006 height: auto; 1007 position: relative; 1008 min-width: 10px; 1009 min-height: 10px; 1010 max-width: 100%; 1011 order: 2; 1012} 1013 1014#widget_3i7 { 1015 width: 100%; 1016 height: auto; 1017 position: relative; 1018 min-width: 10px; 1019 min-height: 10px; 1020 max-width: 100%; 1021 order: 3; 1022} 1023}</style> 1024 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-63da2bddeae8da42b2353671-5431a258100041e39f014ded47698105">@media all { 1025 1026#\36 3da2bddeae8da42b2353673 { 1027 min-height: 0; 1028 column-gap: 1%; 1029 row-gap: 6px; 1030 width: 100%; 1031 max-width: none; 1032 flex-direction: column; 1033 flex-wrap: nowrap; 1034 padding: 1% 8% 1% 8%; 1035 margin: 0% 0% 0% 0%; 1036} 1037 1038#\36 3da2bf2eae8da42b23538a3 { 1039 width: 100%; 1040 height: auto; 1041 max-width: 100%; 1042 order: 1; 1043 margin-right: 0%; 1044 margin-left: 0%; 1045} 1046 1047#\36 3da2bf2eae8da42b23538a2 { 1048 min-height: 84px; 1049 column-gap: 4%; 1050 row-gap: 24px; 1051 width: 100%; 1052 min-width: 4%; 1053 background-color: rgba(0, 0, 0, 0); 1054 order: 0; 1055 flex-wrap: nowrap; 1056 justify-content: flex-start; 1057 flex-direction: row; 1058 height: auto; 1059 padding: 0px 0px 0px 0px; 1060 margin: 0% 0% 0% 0%; 1061} 1062 1063#\36 3da2bfbeae8da42b2353a44 { 1064 width: auto; 1065 height: auto; 1066 max-width: 100%; 1067 order: 1; 1068 justify-self: auto; 1069 align-self: auto; 1070 margin: 0px 0% 0px 0%; 1071 grid-area: auto / auto / auto / auto; 1072} 1073 1074#\36 3c7b8b76c596a2813341bc5 { 1075 height: auto; 1076} 1077 1078#group_5mc { 1079 width: 100%; 1080 min-width: 4%; 1081 min-height: 55px; 1082 column-gap: 4%; 1083 row-gap: 10px; 1084 order: 1; 1085 justify-content: flex-start; 1086 border-width: 0px 0px 0px 0px; 1087 border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0); 1088 border-style: solid; 1089 padding: 0px 0px 0px 0px; 1090 margin: 0% 0% 0% 0%; 1091} 1092 1093#c0504b3a { 1094 width: auto; 1095 height: auto; 1096 max-width: 100%; 1097 order: 0; 1098} 1099 1100#\36 3da2bddeae8da42b2353670 { 1101 margin: 0px 0% 0px 0%; 1102} 1103 1104#widget_5co { 1105 width: 100%; 1106 height: auto; 1107 max-width: 100%; 1108 order: 0; 1109 margin-right: 0%; 1110 margin-left: 0%; 1111} 1112 1113#group_diu { 1114 justify-content: flex-start;
1115 align-items: center; 1116 width: 48%; 1117 min-height: auto; 1118 max-height: 100%; 1119 row-gap: 24px; 1120 column-gap: 6.769501983252534%; 1121 order: 0; 1122 flex-wrap: nowrap; 1123 padding: 0px 0px 0px 0px; 1124 margin: 0px 0% 0px 0%; 1125} 1126 1127#\31 b227e4d { 1128 justify-content: flex-start; 1129 align-items: center; 1130 width: 48%; 1131 min-height: auto; 1132 max-height: 100%; 1133 row-gap: 24px; 1134 column-gap: 6.769501983252534%; 1135 order: 0; 1136 flex-wrap: nowrap; 1137 padding: 0px 0px 0px 0px; 1138 margin: 0px 0% 0px 0%; 1139} 1140 1141#\34 64459a5 { 1142 width: 100%; 1143 height: auto; 1144 max-width: 100%; 1145 order: 0; 1146 margin-right: 0%; 1147 margin-left: 0%; 1148} 1149 1150#a932d2eb { 1151 justify-content: flex-start; 1152 align-items: flex-start; 1153 width: 48%; 1154 min-height: auto; 1155 max-height: 100%; 1156 row-gap: 24px; 1157 column-gap: 6.769501983252534%; 1158 order: 0; 1159 flex-wrap: nowrap; 1160 padding: 0px 0px 0px 0px; 1161 margin: 0px 0% 0px 0%; 1162} 1163 1164#\39 409844f { 1165 width: 100%; 1166 height: auto; 1167 max-width: 100%; 1168 order: 0; 1169 margin-right: 0%; 1170 margin-left: 0%; 1171} 1172 1173#widget_ufn.flex-element.widget-wrapper > [data-element-type] { 1174 padding-top: 4px; 1175 padding-bottom: 4px; 1176} 1177#widget_ufn { 1178 width: 100%; 1179 height: auto; 1180 min-height: 1px; 1181 max-width: 100%; 1182 order: 0; 1183} 1184 1185#group_vom { 1186 flex-direction: row; 1187 justify-content: space-between; 1188 align-items: center; 1189 width: 100%; 1190 min-height: auto; 1191 max-height: 100%; 1192 row-gap: 24px; 1193 column-gap: 24px; 1194 padding: 0px 0px 0px 0px; 1195 margin: 0px 0% 0px 0%; 1196} 1197 1198#\36 74d2422 { 1199 width: 100%; 1200 height: auto; 1201 max-width: 100%; 1202 justify-self: auto; 1203 align-self: auto; 1204 order: 2; 1205 margin: 0px 0% 0px 0%; 1206 grid-area: auto / auto / auto / auto; 1207} 1208 1209#\38 29f79c8 { 1210 width: 100%; 1211 height: auto; 1212 max-width: 100%; 1213 justify-self: auto; 1214 align-self: auto; 1215 order: 2; 1216 margin: 0px 0% 0px 0%; 1217 grid-area: auto / auto / auto / auto; 1218} 1219 1220#widget_iar { 1221 width: 68.41%; 1222 height: auto; 1223 max-width: 100%; 1224 order: 2; 1225 align-self: auto; 1226 justify-self: auto; 1227 margin: 0px 0% 0px 0%; 1228 grid-area: auto / auto / auto / auto; 1229} 1230}</style> 1231 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-common-6394be04-5431a258100041e39f014ded47698105">@media all { 1232 1233#d18fcf34 { 1234 min-height: 240px; 1235 column-gap: 4%; 1236 row-gap: 24px; 1237 max-width: none; 1238 width: 100%; 1239 flex-wrap: nowrap; 1240} 1241 1242#\31 d55dab4 { 1243 grid-template-rows: minmax(300px, max-content); 1244 width: 100%; 1245 max-width: 100%; 1246} 1247 1248#\30 a0a3590 { 1249 min-height: 8px; 1250 column-gap: 4%; 1251 row-gap: 24px; 1252 width: 100%; 1253 min-width: 4%; 1254} 1255}</style> 1256 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-desktop-flex-header-5431a258100041e39f014ded47698105">@media (min-width: 1025px) { 1257}</style> 1258 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-desktop-6406026c90e1521f6ecb0eca-5431a258100041e39f014ded47698105">@media (min-width: 1025px) { 1259 1260#widget_s4l { 1261 justify-self: auto; 1262 align-self: auto; 1263 width: 95.82%; 1264 grid-area: auto / auto / auto / auto; 1265} 1266}</style> 1267 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet_implicit-flex-header-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1268}</style> 1269 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-flex-footer-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1270 1271#flex-footer { 1272} 1273}</style> 1274 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-flex-header-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1275 1276#flex-header { 1277 1278} 1279}</style> 1280 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-c093187e-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1281 1282#\39 dc5a074 { 1283 padding-left: 2%; 1284 padding-right: 2%; 1285 flex-direction: row; 1286 flex-wrap: nowrap; 1287 min-height: 0px; 1288} 1289 1290#\37 80d21df {
1291 width: 3.58%; 1292 order: 0; 1293 justify-content: flex-end; 1294 padding-right: 50px; 1295} 1296 1297#\37 64397de { 1298 order: 2; 1299 width: 66.58%; 1300 min-height: 8px; 1301} 1302 1303#\30 0ca91b4 { 1304 justify-self: auto; 1305 align-self: auto; 1306 order: 0; 1307 margin: 0px 0% 0px 0%; 1308 grid-area: auto / auto / auto / auto; 1309} 1310 1311#\32 3d5f850 { 1312 order: 0; 1313} 1314 1315#widget_idl { 1316 order: 1; 1317} 1318 1319#\36 fe0ae20 { 1320 order: 1; 1321 width: 29.41%; 1322 min-height: 8px; 1323} 1324 1325#\38 258bb2f { 1326 order: 3; 1327} 1328}</style> 1329 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-18f5ea00-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1330 1331#a1f8711f { 1332 padding-left: 4%; 1333 padding-right: 4%; 1334 padding-bottom: 4%; 1335} 1336 1337#\39 d047ce9 { 1338 padding-bottom: 6px; 1339} 1340}</style> 1341 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-63a049320d35b55b4ef2a372-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1342 1343#\36 3a049320d35b55b4ef2a374 { 1344 justify-content: flex-start; 1345 padding-top: 16px; 1346} 1347 1348#\36 3a049320d35b55b4ef2a377 { 1349 min-height: 522px; 1350 padding: 4% 4% 4% 4%; 1351} 1352}</style> 1353 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-6406026c90e1521f6ecb0eca-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1354 1355#\36 406026c90e1521f6ecb0ecc { 1356 min-height: 279px; 1357 padding: 4% 4% 4% 4%; 1358} 1359 1360#\36 406026c90e1521f6ecb0ecd { 1361 justify-content: flex-end; 1362 padding-bottom: 16px; 1363} 1364}</style> 1365 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-63da2bddeae8da42b2353671-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1366 1367#\36 3da2bf2eae8da42b23538a2 { 1368 order: 1; 1369 align-items: flex-start; 1370 width: 100%; 1371 min-height: 80px; 1372 height: auto; 1373 padding: 0px 0px 0px 0px; 1374 margin: 0% 0% 0% 0%; 1375} 1376 1377#group_5mc { 1378 order: 2; 1379 width: 100%; 1380 min-height: 50px; 1381 height: auto; 1382 margin: 0% 0% 0% 0%; 1383} 1384 1385#c0504b3a { 1386 width: 100%; 1387} 1388 1389#\36 3da2bddeae8da42b2353673 { 1390 flex-direction: column; 1391 flex-wrap: nowrap; 1392 min-height: 0; 1393 column-gap: 1%; 1394} 1395 1396#\36 3da2bfbeae8da42b2353a44 { 1397 width: 35%; 1398} 1399}</style> 1400 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-tablet-6394be04-5431a258100041e39f014ded47698105">@media (min-width: 768px) and (max-width: 1024px) { 1401 1402#d18fcf34 { 1403 padding-left: 2%; 1404 padding-right: 2%; 1405} 1406}</style> 1407 1408 1409 1410 1411 1412 1413<style id="globalFontSizeStyle" type="text/css"> 1414 @media (min-width: 1025px) { [data-version] .size-14, [data-version] .font-size-14 {--font-size: 14;} }@media (min-width: 768px) and (max-width: 1024px) { [data-version] .t-size-14, [data-version] .t-font-size-14 {--font-size: 14;} }@media (max-width: 767px) { [data-version] .m-size-14, [data-version] .m-font-size-14 {--font-size: 14;} } 1415</style> 1416<style id="pageFontSizeStyle" type="text/css"> 1417</style> 1418 1419 1420 1421 1422<style id="hideAnimFix"> 1423 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 1424 visibility: hidden; 1425 } 1426 1427 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 1428 visibility: hidden !important; 1429 } 1430 1431 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 1432 visibility: hidden; 1433 } 1434 1435</style> 1436 1437 1438 1439 1440<style id="fontFallbacks"> 1441 @font-face { 1442 font-family: "Playfair Display Fallback"; 1443 src: local('Arial'); 1444 ascent-override: 106.3701%; 1445 descent-override: 24.6755%; 1446 size-adjust: 101.7204%; 1447 line-gap-override: 0%; 1448 }@font-face { 1449 font-family: "Montserrat Fallback"; 1450 src: local('Arial'); 1451 ascent-override: 84.9466%; 1452 descent-override: 22.0264%; 1453 size-adjust: 113.954%; 1454 line-gap-override: 0%; 1455 }@font-face { 1456 font-family: "Poppins Fallback"; 1457 src: local('Arial'); 1458 ascent-override: 92.326%; 1459 descent-override: 30.7753%; 1460 line-gap-override: 8.793%; 1461 size-adjust: 113.7274%; 1462}@font-face { 1463 font-family: "DM Sans Fallback"; 1464 src: local('Arial'); 1465 ascent-override: 94.3696%; 1466 descent-override: 29.4905%; 1467 size-adjust: 105.1186%; 1468 line-gap-override: 0%; 1469 } 1470</style> 1471 1472 1473<!-- End render the required css and JS in the head section --> 1474 1475 1476 1477 1478 1479 1480 1481 1482<meta property="og:type" content="website"> 1483<meta property="og:url" content="https://www.hancelot.be/room-detail/charme-sup-rieur-kamer"> 1484 1485 <title> 1486 Charmehotel Hancelot | Gent 1487 </title> 1488 <meta name="description" content="Charme Hotel Hancelot is centraal gelegen vlakbij het mooie Zuidpark en op 15 minuten wandelen van het Belfort en de Sint-Baafskathedraal. "/> 1489 1490 <meta name="twitter:card" content="summary"/> 1491 <meta name="twitter:title" content="Charmehotel Hancelot | Gent"/> 1492 <meta name="twitter:description" content="Charme Hotel Hancelot is centraal gelegen vlakbij het mooie Zuidpark en op 15 minuten wandelen van het Belfort en de Sint-Baafskathedraal. "/> 1493 <meta name="twitter:image" content="https://le-de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/dms3rep/multi/opt/hancelot-hotel-gent-by-rudyroan-2-9-groot-1920w.jpg"/> 1494 <meta property="og:description" content="Charme Hotel Hancelot is centraal gelegen vlakbij het mooie Zuidpark en op 15 minuten wandelen van het Belfort en de Sint-Baafskathedraal. "/> 1495 <meta property="og:title" content="Charmehotel Hancelot | Gent"/> 1496 <meta property="og:image" content="https://le-de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/dms3rep/multi/opt/hancelot-hotel-gent-by-rudyroan-2-9-groot-1920w.jpg"/> 1497 1498 1499 1500 1501<!-- SYS- RVVfUFJPRFVDVElPTg== --> 1502</head> 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524<body id="dmRoot" data-page-alias="room-detail/~page-item~" class="dmRoot fix-mobile-scrolling flex-site dmResellerSite " 1525 style="padding:0;margin:0;" 1526 1527 data-flex-site > 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543<!-- ========= Site Content ========= --> 1544<div id="dm" class='dmwr'> 1545 1546 <div class="dm_wrapper -var5 null "> 1547 <div dmwrapped="true" id="1901957768" class="dm-home-page" themewaschanged="true"> <div dmtemplateid="FlexHeader" data-responsive-name="FlexLayout" class="runtime-module-container dm-bfs dm-layout-sec hasAnimations hasStickyHeader inMiniHeaderMode rows-1200 page-2b2463b3 page-50a8fda8 page-0678a957 page-d2362dfa page-8df86148 page-4e6aacca page-0aee2423 page-95d28383 page-6e561b90 page-6327052c page-b97c47c0 page-9e404a12 page-bbace6c9 page-2d95b3ad page-c4dd7e13 page-bd28da08 page-df1fbf19 page-14327688 page-e52b5b03 page-5f6f451c page-f4e03518 hamburger-reverse dmPageBody d-page-1716942098 inputs-css-clean dmDHeader" id="dm-outer-wrapper" data-page-class="1716942098" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner" data-auto="page-inner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div id="site_content"> <div id="dmFlexHeaderContainer" class="flex_hfcontainer"> <div id="flex-header" data-variation-id="variation0" data-sticky="true" data-changeable-on-scroll="true" role="banner"> <div data-auto="flex-section" id="1990152846" data-flex-id="c093187e" data-layout-section="" data-page-element-type="section" data-page-element-id="1475755753"> <div class="flex-widgets-container" id="1140644136"></div> 1548 <section id="1c1481e3" class="flex-element section" data-auto="flex-element-section"> <div id="603c3bb7" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="9dc5a074" class="flex-element group" data-auto="flex-element-group"> <div id="6fe0ae20" class="flex-element group" data-auto="flex-element-group"> <div id="widget_c5a" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="image" data-keep-proportion="true" data-external-id="935299215"> <div class="imageWidget align-center" data-element-type="image" data-widget-type="image" id="935299215"><img src="https://le-de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/dms3rep/multi/opt/logo-hancelot-wit-c03ab282-1920w.webp" alt="" id="1318225934" class="" width="210" height="165" data-dm-image-path="https://de.cdn-website.com/ea0190f4896547fd8e65f9c711a88618/dms3rep/multi/logo-hancelot-wit-c03ab282.webp" onerror="handleImageLoadError(this)"/></div> 1549</div> 1550</div>
1551 <div id="780d21df" class="flex-element group" data-auto="flex-element-group" data-hidden-on-tablet="" data-hidden-on-mobile=""> <div id="23d5f850" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="ONELinksMenu" data-hidden-on-tablet="" data-hidden-on-mobile="" data-external-id="1198691314"> <nav class="u_1198691314 effect-bottom main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1198691314" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="HORIZONTAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Home" data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 1552</span> 1553</a> 1554</li> 1555 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#OurStory" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010144992 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Ons verhaal" data-auto="page-text-style">Ons verhaal<span class="icon icon-angle-down"></span> 1556</span> 1557</a> 1558</li> 1559 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Rooms" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101716650 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Kamers" data-auto="page-text-style">Kamers<span class="icon icon-angle-down"></span> 1560</span> 1561</a> 1562 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme kamer" data-auto="page-text-style">Charme kamer<span class="icon icon-angle-right"></span> 1563</span> 1564</a> 1565</li> 1566 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-deluxe-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme Deluxe kamer" data-auto="page-text-style">Charme Deluxe kamer<span class="icon icon-angle-right"></span> 1567</span> 1568</a> 1569</li> 1570 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-sup-rieur-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme Supérieur kamer" data-auto="page-text-style">Charme Supérieur kamer<span class="icon icon-angle-right"></span> 1571</span> 1572</a> 1573</li> 1574</ul> 1575</li> 1576 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Gallery" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101991312 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Galerij" data-auto="page-text-style">Galerij<span class="icon icon-angle-down"></span> 1577</span> 1578</a> 1579</li> 1580 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Amenities" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101704242 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Voorzieningen" data-auto="page-text-style">Voorzieningen<span class="icon icon-angle-down"></span> 1581</span> 1582</a> 1583</li> 1584 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Localarea" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010170706 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Lokale omgeving" data-auto="page-text-style">Lokale omgeving<span class="icon icon-angle-down"></span> 1585</span> 1586</a> 1587</li> 1588 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Contact" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101753446 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Contact" data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 1589</span> 1590</a> 1591</li> 1592</ul> 1593</nav> 1594</div> 1595 <div id="widget_idl" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="custom" data-external-id="219313090"> <div class="widget-4b77e2 u_219313090 dmCustomWidget" data-lazy-load="true" data-title="" id="219313090" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="4b77e2d743e44a28a7118c9b67456426" data-widget-version="18" data-widget-config="eyJidG5MaW5rIjp7InZhbHVlIjoiIyIsInR5cGUiOiJhbmNob3IiLCJocmVmIjoiIyIsInJhd191cmwiOiIvc2l0ZS8yMDBkMjY2YzM4OGQ0MDI0YTVjZTc0ODQ4NTQwODBmOT9uZWU9dHJ1ZSZlZD10cnVlJnNob3dPcmlnaW5hbD10cnVlJnByZXZpZXc9dHJ1ZSZkbV90cnlfbW9kZT10cnVlJmRtX2NoZWNrU3luYz0xIn0sImJ0bkxhYmVsIjoiQm9layBudSJ9">
1595 <a value="#" type="anchor" href="#" raw_url="/site/200d266c388d4024a5ce7484854080f9?nee=true&ed=true&showOriginal=true&preview=true&dm_try_mode=true&dm_checkSync=1"> <div class="dmWidget book-btn"> <span class="text">Boek nu</span> 1596 <span class="iconBg"></span> 1597</div> 1598</a> 1599</div> 1600</div> 1601</div> 1602 <div id="764397de" class="flex-element group" data-auto="flex-element-group" data-hidden-on-desktop=""> <div id="00ca91b4" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="hamburgerButton" data-external-id="1998777521"> <button class="hamburgerButton" data-element-type="hamburgerButton" id="1998777521" aria-controls="hamburger-drawer" aria-expanded="false" aria-label="Open menu"> <svg width="100pt" height="100pt" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" id="1555668457"> <path d="m3.6172 10.754h-0.050782c-1.9727 0-3.5703 1.5977-3.5703 3.5703 0 1.9727 1.5977 3.5703 3.5703 3.5703h0.054688 92.758 0.050782c1.9727 0 3.5703-1.5977 3.5703-3.5703 0-1.9727-1.5977-3.5703-3.5703-3.5703h-0.054688zm0 35.676h-0.050782c-1.9727 0-3.5703 1.5977-3.5703 3.5703s1.5977 3.5703 3.5703 3.5703h0.054688 92.758 0.050782c1.9727 0 3.5703-1.5977 3.5703-3.5703s-1.5977-3.5703-3.5703-3.5703h-0.054688zm0 35.68h-0.050782c-1.9727 0-3.5703 1.5977-3.5703 3.5703 0 1.9727 1.5977 3.5703 3.5703 3.5703h0.054688 92.758 0.050782c1.9727 0 3.5703-1.5977 3.5703-3.5703 0-1.9727-1.5977-3.5703-3.5703-3.5703h-0.054688z"></path> 1603</svg> 1604</button> 1605</div> 1606</div> 1607 <div id="8258bb2f" class="flex-element group" data-auto="flex-element-group"> <div id="40e42c37" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="multilingual" data-external-id="1172712003"> <div id="1172712003" class="multilingualWidget dropdown flag-only" data-auto="multilingual-widget" dmle_extension="multilingual" data-element-type="multilingual" data-display="dropdown" icon="false" surround="false"> <div class="desktopMultilingual"> <div class="language current-language" data-auto="multilingual-current-language"> <a href="/room-detail/charme-sup-rieur-kamer" data-disable-ajax-navigation="true"><img src="https://dd-cdn.multiscreensite.com/flags/flags_iso/32/nl.png" alt="Nederlands" data-code="" onerror="handleImageLoadError(this)"/> <span class="name">Nederlands</span> 1608 <span class="short-label">nl</span> 1609 <div class="dm-icon dm-icon-chevron-down"></div> 1610</a> 1611</div> 1612 <div class="language other-languages" data-auto="multilingual-other-languages"> <a href="/fr/room-detail/chambre-charme" data-code="" data-disable-ajax-navigation="true"><img src="https://dd-cdn.multiscreensite.com/flags/flags_iso/32/fr.png" alt="Français" onerror="handleImageLoadError(this)"/> <span class="name">Français</span> 1613 <span class="short-label">fr</span> 1614</a> 1615 <a href="/en/room-detail/charme-room" data-code="" data-disable-ajax-navigation="true"><img src="https://dd-cdn.multiscreensite.com/flags/flags_iso/32/us.png" alt="English" onerror="handleImageLoadError(this)"/> <span class="name">English</span> 1616 <span class="short-label">en</span> 1617</a> 1618</div> 1619</div> 1620</div> 1621</div> 1622</div> 1623</div> 1624</div> 1625</section> 1626</div> 1627</div> 1628 <div id="hamburger-drawer" class="hamburger-drawer layout-drawer" layout="5ff40d2f36ae4e5ea1bc96b2e2fcf67e===header" data-origin="side-reverse"> <div data-layout-section="" data-auto="flex-section" id="1558513594" data-flex-id="18f5ea00"> <div class="flex-widgets-container" id="1554675836"></div> 1629 <section id="f6054f97" class="flex-element section" data-auto="flex-element-section"> <div id="ef8b5b8a" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="a1f8711f" class="flex-element group" data-auto="flex-element-group"> <div id="9d047ce9" class="flex-element group" data-auto="flex-element-group"> <div id="12a003a5" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="hamburgerButton" data-external-id="1717245942"> <button class="hamburgerButton" data-element-type="hamburgerButton" id="1717245942" aria-controls="hamburger-drawer" aria-expanded="false" aria-label="Close menu"> <svg width="100pt" height="100pt" version="1.1" viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" id="1463788326"> <path d="m82 87.883c1.625 1.625 4.2656 1.625 5.8906 0 1.6289-1.6289 1.6289-4.2656 0-5.8945l-32.414-32.41 32.406-32.406c1.6289-1.625 1.6289-4.2656 1630 0-5.8906-1.6289-1.6289-4.2656-1.6289-5.8906 0l-32.406 32.402-32.406-32.406c-1.625-1.625-4.2656-1.625-5.8906 0-1.6289 1.6289-1.6289 4.2656 0
1631 5.8945l32.402 32.406-32.41 32.414c-1.6289 1.625-1.6289 4.2617 0 5.8906 1.625 1.6289 4.2656 1.6289 5.8906 0l32.414-32.414z" fill-rule="evenodd"></path> 1632</svg> 1633</button> 1634</div> 1635</div> 1636</div> 1637</div> 1638</section> 1639</div> 1640 <div data-auto="flex-section" id="1099442592" data-flex-id="63a049320d35b55b4ef2a372" data-layout-section=""> <div class="flex-widgets-container" id="1247649854"></div> 1641 <section id="63a049320d35b55b4ef2a373" class="flex-element section" data-auto="flex-element-section"> <div id="63a049320d35b55b4ef2a376" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="63a049320d35b55b4ef2a377" class="flex-element group" data-auto="flex-element-group"> <div id="63a049320d35b55b4ef2a374" class="flex-element group" data-auto="flex-element-group"> <div id="63a049ca0d35b55b4ef2a5c3" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="ONELinksMenu" data-external-id="1998592992"> <nav class="u_1998592992 effect-bottom2 main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="vertical_nav_layout_2" layout-sub="" data-show-vertical-sub-items="HIDE" id="1998592992" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="VERTICAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Home" data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 1642</span> 1643</a> 1644</li> 1645 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#OurStory" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010144992 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Ons verhaal" data-auto="page-text-style">Ons verhaal<span class="icon icon-angle-down"></span> 1646</span> 1647</a> 1648</li> 1649 <li role="menuitem" aria-haspopup="true" aria-expanded="false" data-sub-nav-menu="true" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Rooms" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101716650 unifiednav__item_has-sub-nav" target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Kamers" data-auto="page-text-style">Kamers<span class="icon icon-angle-down"></span> 1650</span> 1651</a> 1652 <ul role="menu" class="unifiednav__container unifiednav__container_sub-nav unav-sub" data-depth="0" data-auto="sub-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme kamer" data-auto="page-text-style">Charme kamer<span class="icon icon-angle-right"></span> 1653</span> 1654</a> 1655</li> 1656 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-deluxe-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme Deluxe kamer" data-auto="page-text-style">Charme Deluxe kamer<span class="icon icon-angle-right"></span> 1657</span> 1658</a> 1659</li> 1660 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="1"> <a href="/room-detail/charme-sup-rieur-kamer" class="unifiednav__item unav-item " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Charme Supérieur kamer" data-auto="page-text-style">Charme Supérieur kamer<span class="icon icon-angle-right"></span> 1661</span> 1662</a> 1663</li> 1664</ul> 1665</li> 1666 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Gallery" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101991312 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Galerij" data-auto="page-text-style">Galerij<span class="icon icon-angle-down"></span> 1667</span> 1668</a> 1669</li> 1670 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Amenities" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101704242 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Voorzieningen" data-auto="page-text-style">Voorzieningen<span class="icon icon-angle-down"></span> 1671</span> 1672</a> 1673</li> 1674 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Localarea" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_01010170706 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Lokale omgeving" data-auto="page-text-style">Lokale omgeving<span class="icon icon-angle-down"></span> 1675</span> 1676</a> 1677</li> 1678 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/#Contact" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101753446 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text="Contact" data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 1679</span> 1680</a> 1681</li> 1682</ul> 1683</nav> 1684</div> 1685</div> 1686</div> 1687</div> 1688</section> 1689</div> 1690 <div data-auto="flex-section" id="1029527021" data-flex-id="6406026c90e1521f6ecb0eca" data-layout-section=""> <div class="flex-widgets-container" id="1659590659"></div> 1691 <section id="6406026c90e1521f6ecb0ec9" class="flex-element section" data-auto="flex-element-section"> <div id="6406026c90e1521f6ecb0ecb" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="6406026c90e1521f6ecb0ecc" class="flex-element group" data-auto="flex-element-group"> <div id="6406026c90e1521f6ecb0ecd" class="flex-element group" data-auto="flex-element-group"> <div id="widget_s4l" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1287536004"> <div class="dmNewParagraph u_1287536004" data-element-type="paragraph" data-version="5" id="1287536004" style=""> <h4 class="m-text-align-left" style="line-height: 2;"> <span style="color:var(--color_1);display:unset;">Neem contact op</span> 1692</h4> 1693</div> 1694</div> 1695 <div id="widget_u7g" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="181630546"> <div class="dmNewParagraph u_181630546" data-element-type="paragraph" data-version="5" id="181630546" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLnRlbGVwaG9uZSJ9XQ==" data-diy-text="">+32 3 201 49 30</div> 1696</div> 1697 <div id="widget_3i7" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="328162913"> <div class="dmNewParagraph u_328162913" data-element-type="paragraph" data-version="5" id="328162913" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLmVtYWlsLmVtYWlsIn1d" data-diy-text="">[email protected]</div> 1698</div> 1699</div> 1700</div> 1701</div> 1702</section> 1703</div> 1704</div> 1705 <div class="layout-drawer-overlay" id="layout-drawer-overlay"></div> 1706</div> 1707 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_room-detail/~page-item~ dm-home-page" themewaschanged="true"> <div id="allWrapper" class="allWrapper" data-auto="all-wrapper"><!-- navigation placeholders -->
1707 <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="170" class="dmHomeRespTmpl mainBorder dmRespRowsWrapper dmFullRowRespTmpl" id="1716942098"> <div data-auto="flex-section" id="1507551858" data-flex-id="63bd85219866cc362278151e" data-layout-section=""> <div class="flex-widgets-container" id="1865266723"></div> 1708 <section id="63bd85219866cc362278151d" class="flex-element section" data-auto="flex-element-section"> <div id="63bd85219866cc362278151f" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="63bd85219866cc3622781520" class="flex-element group" data-auto="flex-element-group"> <div id="63bd85219866cc3622781521" class="flex-element group" data-auto="flex-element-group"> <div id="widget_mdk" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="custom" data-external-id="3356754003"> <div class="widget-97a95c u_3356754003 dmCustomWidget" data-lazy-load="true" data-title="" id="3356754003" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="97a95c369c4c403d92d29e42348fa217" data-widget-version="33" data-widget-config="eyJndWVzdHNJY29uRGVzaWduIjpudWxsLCJzaG93TGVzc1RleHQiOiJNaW5kZXIgd2VlcmdldmVuIiwiZ3Vlc3RzRmllbGQiOiJndWVzdHMiLCJuYW1lRmllbGQiOiJtYWluX3RpdGxlX2hlcm8iLCJjb2xsZWN0aW9uRmllbGRzIjpudWxsLCJ1cmxGaWVsZCI6InBhZ2VfaXRlbV91cmwiLCJwcmV2aWV3TW9kZSI6ZmFsc2UsImNvbGxlY3Rpb25OYW1lIjoiUm9vbXMiLCJib29raW5nTGluayI6eyJocmVmIjoiIiwidGFyZ2V0IjoiX2JsYW5rIiwidHlwZSI6ImV4dGVybmFsIn0sImRlc2NGaWVsZCI6Imhlcm9fZGVzY3JpcHRpb24iLCJnYWxsZXJ5RGVzaWduIjpudWxsLCJzaG93TW9yZVRleHQiOiJNZWVyIHdlZXJnZXZlbiIsImltYWdlc0ZpZWxkIjoiaW1hZ2VfZ2FsbGVyeSIsInByaWNlRmllbGQiOiJwcmljZSIsImJ1dHRvblVybEZpZWxkIjoiYnV0dG9uX2xpbmsiLCJtYWluSW1hZ2VGaWVsZCI6Imhlcm9faW1hZ2UiLCJib29raW5nQnRuRGVzaWduIjpudWxsLCJkZXNjTGluZXMiOiI1IiwiZGVzY3JpcHRpb25EZXNpZ24iOm51bGwsImFtZW5pdGllc0Rlc2lnbiI6bnVsbCwiYm9va2luZ0J0blRleHQiOiJCb2VrIG51Iiwicm9vbU5hbWVEZXNpZ24iOm51bGwsImFtZW5pdGllc0ZpZWxkIjoiZmVhdHVyZXMiLCJtYXhWaXNpYmxlVGFncyI6IjUiLCJtYWluSW1hZ2VEZXNpZ24iOm51bGx9"> <div class="room-details-widget"><!-- Loading state --> <div class="room-loading"> <div class="loading-spinner"></div> 1709</div> 1710<!-- Error state --> <div class="room-error" style="display:none;"> <p>Unable to load room details. Please check your collection settings.</p> 1711</div> 1712<!-- Main content --> <div class="room-content" style="display:none;"><!-- Top section: main image + info --> <div class="room-top"><!-- Main image --> <div class="room-main-image-wrap"><img class="room-main-image" src="" alt="Room image" onerror="handleImageLoadError(this)"/></div> 1713<!-- Info panel --> <div class="room-info"> <h2 class="room-name"></h2> 1714 <div class="room-meta"> <span class="room-guests-icon"> <svg class="guests-icon-svg" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="16" height="16" fill="currentColor"> <path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"></path> 1715</svg> 1716</span> 1717 <span class="room-guests-count"></span> 1718</div> 1719 <div class="room-description-wrap"> <div class="room-description"></div> 1720 <button class="desc-show-more-btn" style="display:none;">Show more</button> 1721 <button class="desc-show-less-btn" style="display:none;">Show less</button> 1722</div> 1723 <div class="room-amenities"> <div class="amenities-tags"></div> 1724 <button class="show-more-btn" aria-label="Meer weergeven" style="display:none;">Meer weergeven</button> 1725 <button class="show-less-btn" aria-label="Minder weergeven" style="display:none;">Minder weergeven</button> 1726</div> 1727 <div class="room-price-wrap" style="display:none;"> <span class="room-price-label">From</span> 1728 <span class="room-price"></span> 1729 <span class="room-price-unit">/ night</span> 1730</div> 1731 <div class="room-cta"> <a href="" target="_blank" type="external"> <div class="dmWidget room-book-btn"> <span class="text">Boek nu</span> 1732 <span class="iconBg"></span> 1733</div> 1734</a> 1735</div> 1736</div> 1737</div> 1738<!-- Overflow section: description + amenities + price + CTA move here when text is too long --> <div class="room-overflow" style="display:none;"></div> 1739<!-- Bottom gallery (hidden when only 1 image) --> <div class="room-gallery-section" style="display:none;"> <div class="room-gallery-track-wrap"> <div class="room-gallery-track"></div> 1740</div> 1741 <div class="room-gallery-nav"> <button class="gallery-prev" aria-label="Previous image"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2"> <polyline points="15 18 9 12 15 6"></polyline> 1742</svg> 1743</button> 1744 <button class="gallery-next" aria-label="Next image"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2"> <polyline points="9 18 15 12 9 6"></polyline> 1745</svg> 1746</button> 1747</div> 1748</div> 1749</div> 1750<!-- Lightbox overlay --> <div class="gallery-lightbox" style="display:none;" aria-modal="true" role="dialog" aria-label="Image lightbox"> <div class="lightbox-backdrop"></div> 1751 <div class="lightbox-content"> <button class="lightbox-close" aria-label="Close"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"> <line x1="18" y1="6" x2="6" y2="18"></line> 1752 <line x1="6" y1="6" x2="18" y2="18"></line> 1753</svg> 1754</button> 1755 <button class="lightbox-prev" aria-label="Previous image"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"> <polyline points="15 18 9 12 15 6"></polyline> 1756</svg> 1757</button> 1758<img class="lightbox-img" src="" alt="Room photo" onerror="handleImageLoadError(this)"/> <button class="lightbox-next" aria-label="Next image"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"> <polyline points="9 18 15 12 9 6"></polyline> 1759</svg> 1760</button> 1761 <div class="lightbox-counter"></div> 1762</div> 1763</div> 1764</div> 1765</div> 1766</div> 1767</div> 1768</div> 1769</div> 1770</section> 1771</div> 1772</div> 1773</div> 1774</div> 1775</div> 1776 <div class="dmFooterContainer flex_hfcontainer"> <div id="flex-footer" role="contentinfo"> <div data-auto="flex-section" id="1755561873" data-flex-id="63da2bddeae8da42b2353671" data-layout-section=""> <div class="flex-widgets-container" id="1245219930"></div> 1777 <section id="63da2bddeae8da42b2353670" class="flex-element section" data-auto="flex-element-section"> <div id="63da2bddeae8da42b2353672" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="63da2bddeae8da42b2353673" class="flex-element group" data-auto="flex-element-group"> <div id="63da2bf2eae8da42b23538a2" class="flex-element group" data-auto="flex-element-group"> <div id="group_diu" class="flex-element group" data-auto="flex-element-group"> <div id="widget_5co" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1138762217"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1138762217" style=""> <h6> <span style="display:unset;">ADRES</span> 1778</h6> 1779</div> 1780</div> 1781 <div id="63da2bf2eae8da42b23538a3" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1721508574"> <div class="dmNewParagraph u_1721508574" data-element-type="paragraph" data-version="5" id="1721508574" style="" new-inline-bind-applied="true" data-diy-text="" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsIn1d"><p class="size-14 t-size-14 m-size-14" id="1792717824"><span style="color:rgb(249, 245, 241);font-weight:300;display:initial;font-family:'DM Sans', 'DM Sans Fallback';" class="font-size-14 t-font-size-14 m-font-size-14" id="1111161304"><span class="inline-data-binding" data-encoded-value="R2FzdG9uIENyb21tZW5sYWFuLCA5MDUwIEdlbnQsIEVhc3QgRmxhbmRlcnMsIEJlbGdpdW0=" data-inline-binding="content_library.global" data-inline-binding-encoded="Y29udGVudF9saWJyYXJ5Lmdsb2JhbA==" id="1660037462">Vijfwindgatenstraat 19, Gent, 9000, BE</span></span></p></div> 1782</div> 1783</div> 1784 <div id="1b227e4d" class="flex-element group" data-auto="flex-element-group"> <div id="464459a5" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1485897579"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1485897579" style=""> <h6> <span style="display:unset;">telefoon</span> 1785</h6> 1786</div> 1787</div> 1788 <div id="674d2422" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1577315101"> <div class="dmNewParagraph u_1577315101" data-element-type="paragraph" data-version="5" id="1577315101" data-diy-text="" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLnRlbGVwaG9uZSJ9XQ==" style="">+32 3 201 49 30</div> 1789</div> 1790</div> 1791 <div id="a932d2eb" class="flex-element group" data-auto="flex-element-group"> <div id="9409844f" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1109642522"> <div class="dmNewParagraph" data-element-type="paragraph" data-version="5" id="1109642522" style=""> <h6 class="text-align-left"> <span style="display:unset;">e-mail</span> 1792</h6> 1793</div> 1794</div> 1795 <div id="829f79c8" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="paragraph" data-external-id="1121428134"> <div class="dmNewParagraph u_1121428134" data-element-type="paragraph" data-version="5" id="1121428134" data-diy-text="" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLmVtYWlsLmVtYWlsIn1d" style="">[email protected]</div> 1796</div> 1797</div> 1798</div> 1799 <div id="group_5mc" class="flex-element group" data-auto="flex-element-group"> <div id="widget_ufn" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="divider" data-external-id="2595395054"> <div class="dmDividerWrapper clearfix u_2595395054" data-element-type="dDividerId" data-layout="divider-style-1" data-widget-version="2" id="2595395054"><hr class="dmDivider" style="border-width:2px; border-top-style:solid; color:grey;" id="1229337926"/></div> 1800</div> 1801 <div id="group_vom" class="flex-element group" data-auto="flex-element-group"> <div id="c0504b3a" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="custom" data-external-id="1056813044"> <div class="widget-1f5975 u_1056813044 dmCustomWidget" data-lazy-load="" data-title="" id="1056813044" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJjb3B5cmlnaHRUZXh0IiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLmNvbXBhbnlfbmFtZSJ9XQ==" icon="false" surround="false" data-widget-id="1f5975986930429f819d4cd2154b5c4a" data-widget-version="25" data-widget-config="eyJyZXZlcnNlRmxhZyI6dHJ1ZSwiY29weXJpZ2h0VGV4dCI6IkNoYXJtZWhvdGVsIEhhbmNlbG90In0="> <div class="copyright"> <div>Charmehotel Hancelot</div> 1802 <div> © 2026</div> 1803</div> 1804</div> 1805</div> 1806 <div id="63da2bfbeae8da42b2353a44" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="socialhub" data-external-id="1069507160"> <div class="align-center text-align-center u_1069507160 dmSocialHub gapSpacing" id="1069507160" dmle_extension="social_hub" data-element-type="social_hub" data-binding="W3siYmluZGluZ05hbWUiOiJzb2NpYWwiLCJ2YWx1ZSI6ImNvbnRlbn
1806RfbGlicmFyeS5nbG9iYWwuc29jaWFsIn1d" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv " data-auto="social-hub-inner"> <a href="https://facebook.com/hancelotgent/" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style9" aria-hidden="true" data-hover-effect="opacity"></span> 1807</a> 1808 <a href="https://instagram.com/hotelhancelotgent/" target="_blank" dm_dont_rewrite_url="true" aria-label="instagram" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Instagram')"> <span class="dmSocialInstagram dm-social-icons-instagram oneIcon socialHubIcon style9" aria-hidden="true" data-hover-effect="opacity"></span> 1809</a> 1810</div> 1811</div> 1812</div> 1813</div> 1814 <div id="widget_iar" class="flex-element widget-wrapper" data-auto="flex-element-widget-wrapper" data-widget-type="ONELinksMenu" data-external-id="110138473"> <nav class="effect-bottom2 u_110138473 main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_1" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="110138473" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="HORIZONTAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/privacy-policy" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="privacy-policy"> <span class="nav-item-text " data-link-text="Privacybeleid" data-auto="page-text-style">Privacybeleid<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1815</span> 1816</a> 1817</li> 1818 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/cookie-policy" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="cookie-policy"> <span class="nav-item-text " data-link-text="Cookiebeleid" data-auto="page-text-style">Cookiebeleid<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1819</span> 1820</a> 1821</li> 1822 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/terms-and-conditions" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="terms-and-conditions"> <span class="nav-item-text " data-link-text="Algemene voorwaarden" data-auto="page-text-style">Algemene voorwaarden<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1823</span> 1824</a> 1825</li> 1826 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/reservation-conditions" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="reservation-conditions"> <span class="nav-item-text " data-link-text="Reserveringsvoorwaarden" data-auto="page-text-style">Reserveringsvoorwaarden<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1827</span> 1828</a> 1829</li> 1830</ul> 1831</nav> 1832</div> 1833</div> 1834</div> 1835</div> 1836</div> 1837</section> 1838</div> 1839</div> 1840</div> 1841 <div id="dmFlexStickyContainer" class="flex_hfcontainer"> <div id="flex-sticky"> <div data-layout-section="" data-auto="flex-section" id="1503768182" data-flex-id="6394be04"> <div class="flex-widgets-container" id="1062069677"></div> 1842 <section id="e53ab3e1" class="flex-element section" data-auto="flex-element-section"> <div id="8fe713cc" class="flex-element grid" data-auto="flex-element-grid" data-layout-grid=""> <div id="d18fcf34" class="flex-element group" data-auto="flex-element-group"> <div id="0a0a3590" class="flex-element group" data-auto="flex-element-group"> <div id="1d55dab4" class="flex-element inner-grid" data-auto="flex-element-inner-grid"></div> 1843</div> 1844</div> 1845</div> 1846</section> 1847</div> 1848</div> 1849</div> 1850</div> 1851</div> 1852</div> 1853</div> 1854</div> 1855</div> 1856 1857 </div> 1858</div> 1859<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1860 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile_implicit-flex-header-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1861}</style>
1862 <style data-page-uuid="a51b7147dadc4a27bf39ba009d474637" id="grid-styles-mobile-63bd85219866cc362278151e-a51b7147dadc4a27bf39ba009d474637">@media (max-width: 767px) { 1863 1864#\36 3bd85219866cc3622781521 { 1865 min-height: 80px; 1866 align-items: center; 1867 width: 100%; 1868} 1869 1870#\36 3bd85219866cc3622781520 { 1871 min-height: 0; 1872 flex-direction: column; 1873 padding-left: 4%; 1874 padding-right: 4%; 1875 flex-wrap: nowrap; 1876} 1877 1878#widget_mdk { 1879 height: 846px; 1880} 1881}</style> 1882 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-flex-footer-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1883 1884#flex-footer { 1885} 1886}</style> 1887 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-flex-header-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1888 1889#flex-header { 1890 1891} 1892}</style> 1893 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-c093187e-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1894 1895#\39 dc5a074 { 1896 min-height: 0px; 1897 flex-direction: row; 1898 flex-wrap: nowrap; 1899 padding: 0px 0% 0px 0%; 1900} 1901 1902#\37 80d21df { 1903 width: 2.13%; 1904 order: 0; 1905} 1906 1907#\37 64397de { 1908 align-items: center; 1909 width: 48%; 1910 order: 2; 1911 min-height: 8px; 1912} 1913 1914#\31 c1481e3 { 1915 margin: 0px 0% 0px 0%; 1916} 1917 1918#\36 fe0ae20 { 1919 align-items: center; 1920 order: 1; 1921 width: 48%; 1922 min-height: 8px; 1923} 1924 1925#\38 258bb2f { 1926 align-items: center; 1927 order: 3; 1928} 1929}</style> 1930 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-18f5ea00-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1931 1932#\39 d047ce9 { 1933 width: 100%; 1934 min-height: 62px; 1935 height: auto; 1936 padding-bottom: 6px; 1937} 1938 1939#a1f8711f { 1940 min-height: unset; 1941 flex-direction: column; 1942 padding-left: 4%; 1943 padding-right: 4%; 1944 padding-bottom: 4%; 1945} 1946}</style> 1947 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-63a049320d35b55b4ef2a372-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1948 1949#\36 3a049320d35b55b4ef2a374 { 1950 min-height: 535px; 1951 justify-content: flex-start; 1952 padding-top: 16px; 1953 width: 100%; 1954 height: auto; 1955} 1956 1957#\36 3a049320d35b55b4ef2a377 { 1958 min-height: unset; 1959 flex-direction: column; 1960 padding: 4% 4% 4% 4%; 1961} 1962 1963#\36 3a049ca0d35b55b4ef2a5c3 { 1964 align-self: flex-start; 1965 margin-left: 0px; 1966 margin-right: 0px; 1967} 1968}</style> 1969 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-6406026c90e1521f6ecb0eca-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1970 1971#\36 406026c90e1521f6ecb0ecd { 1972 min-height: 206px; 1973 justify-content: center; 1974 padding-bottom: 16px; 1975 width: 100%; 1976 height: auto; 1977} 1978 1979#\36 406026c90e1521f6ecb0ecc { 1980 min-height: unset; 1981 flex-direction: column; 1982 padding: 4% 4% 4% 4%; 1983} 1984 1985#widget_s4l { 1986 margin-left: 0px; 1987 margin-right: 0px; 1988} 1989}</style> 1990 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-63da2bddeae8da42b2353671-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 1991 1992#\36 3da2bddeae8da42b2353673 { 1993 min-height: 0; 1994 flex-direction: column; 1995 row-gap: 0px; 1996 flex-wrap: nowrap; 1997 padding: 8% 4% 8% 4%; 1998} 1999 2000#\36 3da2bf2eae8da42b23538a2 { 2001 width: 100%; 2002 min-height: 80px; 2003 align-self: auto; 2004 order: 1; 2005 height: auto; 2006 column-gap: 4%; 2007 flex-direction: column; 2008 flex-wrap: nowrap; 2009} 2010 2011#group_5mc { 2012 width: 100%; 2013 min-height: 80px; 2014 order: 2; 2015 height: auto; 2016} 2017 2018#c0504b3a { 2019 width: auto; 2020} 2021 2022#group_diu { 2023 margin-right: 0%; 2024 margin-left: 0%; 2025 width: 100%; 2026} 2027 2028#\31 b227e4d { 2029 margin-right: 0%; 2030 margin-left: 0%; 2031 width: 100%; 2032} 2033 2034#a932d2eb { 2035 margin-right: 0%; 2036 margin-left: 0%; 2037 width: 100%; 2038} 2039}</style> 2040 <style data-page-uuid="5431a258100041e39f014ded47698105" data-is-header="true" id="grid-styles-mobile-6394be04-5431a258100041e39f014ded47698105">@media (max-width: 767px) { 2041 2042#d18fcf34 { 2043 min-height: 0; 2044 flex-direction: column; 2045 padding-left: 4%; 2046 padding-right: 4%; 2047 flex-wrap: nowrap; 2048} 2049 2050#\30 a0a3590 { 2051 width: 100%; 2052 min-height: 80px; 2053 align-items: center; 2054} 2055}</style> 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094<!-- ========= JS Section ========= -->
2095<script> 2096 var isWLR = true; 2097 2098 window.customWidgetsFunctions = {}; 2099 window.customWidgetsStrings = {}; 2100 window.collections = {}; 2101 window.currentLanguage = "DUTCH" 2102 window.isSitePreview = false; 2103</script>
2103 2104 2105 2106
2107<script> 2108 window.customWidgetsFunctions["4b77e2d743e44a28a7118c9b67456426~18"] = function (element, data, api) { 2109 window.dmAPI.runOnReady('book-btn-widget', async () => { 2110 const anchor = element.querySelector('a'); 2111 2112 // Apply theme colors if enabled 2113 const useThemeColors = data.config['useThemeColors']; 2114 if (useThemeColors !== false && anchor) { 2115 const rootStyles = getComputedStyle(document.documentElement); 2116 const primaryColor = rootStyles.getPropertyValue('--primary-color').trim(); 2117 const primaryTextColor = rootStyles.getPropertyValue('--primary-text-color').trim(); 2118 2119 if (primaryColor) { 2120 anchor.style.setProperty('background-color', primaryColor, 'important'); 2121 } 2122 if (primaryTextColor) { 2123 anchor.style.setProperty('color', primaryTextColor, 'important'); 2124 } 2125 } 2126 2127 // Resolve the final URL â prefer IBE collection, fall back to configured link 2128 let resolvedUrl = anchor ? anchor.getAttribute('href') : null; 2129 2130 try { 2131 const collection = await dmAPI.loadCollectionsAPI(); 2132 const result = await collection.data('IBE').get(); 2133 2134 if (result && result.values && result.values.length > 0) { 2135 const firstRow = result.values[0].data; 2136 const dynamicUrl = firstRow['IBEurl']; 2137 if (dynamicUrl) { 2138 resolvedUrl = dynamicUrl; 2139 if (anchor) { 2140 anchor.setAttribute('raw_url', dynamicUrl); 2141 anchor.href = dynamicUrl; 2142 } 2143 } 2144 } 2145 } catch (e) { 2146 // IBE collection not available â use fallback link 2147 } 2148 2149 // Force new-tab open on left-click, bypassing the platform's internal router 2150 if (anchor) { 2151 anchor.setAttribute('target', '_blank'); 2152 anchor.setAttribute('rel', 'noopener noreferrer'); 2153 2154 anchor.addEventListener('click', (e) => { 2155 e.preventDefault(); 2156 e.stopPropagation(); 2157 const url = anchor.getAttribute('href') || resolvedUrl; 2158 if (url && url !== '#') { 2159 window.open(url, '_blank', 'noopener,noreferrer'); 2160 } 2161 }); 2162 } 2163}); 2164 2165 }; 2166</script>
2166 2167
2168<script> 2169 window.customWidgetsFunctions["97a95c369c4c403d92d29e42348fa217~33"] = function (element, data, api) { 2170 window.dmAPI.runOnReady('roomDetailsWidget', async () => { 2171 // All collection settings live inside the "collectionFields" group; fall back to top-level for backward compatibility 2172 const fields = data.config['collectionFields'] || data.config || {}; 2173 const collectionName = fields['collectionName'] || data.config['collectionName'] || ''; 2174 2175 // Extract the last segment of the page URL slug for matching against page_item_url field. 2176 // e.g. "/rooms/deluxe-room" â "deluxe-room" 2177 // Always use the URL slug on a live page, only fall back to manual filter if no slug is available. 2178 const slugSegment = window.location.pathname 2179 .replace(/\/+$/, '') // strip trailing slashes 2180 .split('/') 2181 .filter(Boolean) 2182 .pop() || ''; 2183 // Priority: URL slug > manual filter setting 2184 const roomFilter = slugSegment || fields['roomFilter'] || data.config['roomFilter'] || ''; 2185 const maxTags = parseInt(data.config['maxVisibleTags'] || '5', 10); 2186 const amenitiesField = fields['amenitiesField'] || data.config['amenitiesField'] || 'features'; 2187 const guestsField = fields['guestsField'] || data.config['guestsField'] || 'guests'; 2188 const nameField = fields['nameField'] || data.config['nameField'] || 'main_title_hero'; 2189 const descField = fields['descField'] || data.config['descField'] || 'hero_description'; 2190 const priceField = fields['priceField'] || data.config['priceField'] || 'price'; 2191 const imagesField = fields['imagesField'] || data.config['imagesField'] || 'image_gallery'; 2192 const mainImageField = fields['mainImageField'] || data.config['mainImageField'] || 'hero_image'; 2193 const buttonUrlField = fields['buttonUrlField'] || data.config['buttonUrlField'] || 'button_link'; 2194 const urlField = fields['urlField'] || data.config['urlField'] || 'page_item_url'; 2195 2196 const widget = element; 2197 const loadingEl = widget.querySelector('.room-loading'); 2198 const errorEl = widget.querySelector('.room-error'); 2199 const contentEl = widget.querySelector('.room-content'); 2200 const mainImgEl = widget.querySelector('.room-main-image'); 2201 const nameEl = widget.querySelector('.room-name'); 2202 const guestsEl = widget.querySelector('.room-guests-count'); 2203 const descEl = widget.querySelector('.room-description'); 2204 const tagsEl = widget.querySelector('.amenities-tags'); 2205 const showMoreBtn = widget.querySelector('.show-more-btn'); 2206 const showLessBtn = widget.querySelector('.show-less-btn'); 2207 const priceWrap = widget.querySelector('.room-price-wrap'); 2208 const priceEl = widget.querySelector('.room-price'); 2209 const gallerySection= widget.querySelector('.room-gallery-section'); 2210 const galleryTrack = widget.querySelector('.room-gallery-track'); 2211 const prevBtn = widget.querySelector('.gallery-prev'); 2212 const nextBtn = widget.querySelector('.gallery-next'); 2213 2214 // -- Helpers -- 2215 const show = el => el && (el.style.display = ''); 2216 const hide = el => el && (el.style.display = 'none'); 2217 2218 function showError() { 2219 hide(loadingEl); 2220 show(errorEl); 2221 hide(contentEl); 2222 } 2223 2224 // -- Fetch collection -- 2225 const isPreview = data.config['previewMode'] === true || data.config['previewMode'] === 'true'; 2226 if (!collectionName && !isPreview) { 2227 showError(); 2228 return; 2229 } 2230 2231 // -- Preview mode: inject sample data instead of fetching the collection -- 2232 let roomData = null; 2233 if (isPreview) { 2234 roomData = { 2235 [nameField]: 'Deluxe Ocean Suite', 2236 [guestsField]: '2 Guests', 2237 [descField]: 'Perched above the shimmering coastline, the Deluxe Ocean Suite is a sanctuary of calm and comfort. Floor-to-ceiling windows frame panoramic sea views, flooding the space with natural light from dawn to dusk. The suite features a king-size bed dressed in premium linens, a rainfall shower, a freestanding soaking tub, and a private terrace where you can sip your morning coffee to the sound of waves. Thoughtful touches â from handcrafted local artwork to a curated minibar â make every moment feel effortlessly luxurious.', 2238 [priceField]: '$320',
2239 [amenitiesField]: ['Ocean View', 'King Bed', 'Free Wi-Fi', 'Air Conditioning', 'Private Terrace', 'Rainfall Shower', 'Soaking Tub', 'Minibar', 'Room Service', 'Smart TV', 'Safe', 'Bathrobe & Slippers'], 2240 [mainImageField]: 'https://de-image-res.s3.amazonaws.com/cwdt/97a95c369c4c403d92d29e42348fa217/images/6ee2f64c-ac47-4002-8e90-221cba4e4b83.png', 2241 [imagesField]: [], 2242 [buttonUrlField]: '', 2243 [urlField]: '' 2244 }; 2245 } else { 2246 try { 2247 const collection = await dmAPI.loadCollectionsAPI(); 2248 2249 // Get current site language for multilingual collections 2250 const currentLang = dmAPI.getCurrentLanguage ? dmAPI.getCurrentLanguage() : null; 2251 2252 // Build base query with language support 2253 let baseQuery = collection.data(collectionName); 2254 if (currentLang) { 2255 baseQuery = baseQuery.language(currentLang); 2256 } 2257 2258 // Get all items 2259 const allItems = await baseQuery.pageSize(100).get(); 2260 2261 // Always try to filter if we have a room filter value 2262 if (roomFilter) { 2263 // Since the collection doesn't allow filtering on page_item_url, 2264 // we'll fetch all items and filter in JavaScript 2265 2266 // Find the matching room from the items we already fetched 2267 const matchedItem = allItems.values.find(item => item.data[urlField] === roomFilter); 2268 2269 if (matchedItem) { 2270 roomData = matchedItem.data; 2271 } else { 2272 // Use first item as fallback 2273 if (allItems.values.length > 0) { 2274 roomData = allItems.values[0].data; 2275 } else { 2276 showError(); 2277 return; 2278 } 2279 } 2280 } else { 2281 // No filter - show first item (preview mode) 2282 if (allItems && allItems.values && allItems.values.length > 0) { 2283 roomData = allItems.values[0].data; 2284 } else { 2285 showError(); 2286 return; 2287 } 2288 } 2289 } catch (e) { 2290 showError(); 2291 return; 2292 } 2293 } 2294 2295 // -- Populate content -- 2296 // Name 2297 nameEl.textContent = roomData[nameField] || 'Room'; 2298 2299 // Guests 2300 const guests = roomData[guestsField]; 2301 if (guests !== undefined && guests !== null && guests !== '') { 2302 guestsEl.textContent = guests; 2303 } else { 2304 widget.querySelector('.room-meta').style.display = 'none'; 2305 } 2306 2307 // Description 2308 const desc = roomData[descField] || ''; 2309 descEl.innerHTML = desc; 2310 2311 // Show more / show less for description 2312 const descShowMoreBtn = widget.querySelector('.desc-show-more-btn'); 2313 const descShowLessBtn = widget.querySelector('.desc-show-less-btn'); 2314 2315 // Wait for layout then check if text is actually clamped 2316 const descLineCount = parseInt(data.config['descLines'] || '5', 10); 2317 setTimeout(() => { 2318 descEl.style.webkitLineClamp = descLineCount; 2319 descEl.classList.add('is-collapsed'); 2320 // scrollHeight > clientHeight means content is taller than the clamped area 2321 if (descEl.scrollHeight > descEl.clientHeight + 2) { 2322 descShowMoreBtn.style.display = 'block'; 2323 } else { 2324 descEl.classList.remove('is-collapsed'); 2325 } 2326 }, 120); 2327 2328 descShowMoreBtn.addEventListener('click', () => { 2329 // If description was moved to overflow section, move it back first 2330 const overflowSectionEl = widget.querySelector('.room-overflow'); 2331 const descWrap = widget.querySelector('.room-description-wrap'); 2332 if (descWrap && overflowSectionEl && overflowSectionEl.contains(descWrap)) { 2333 // Find anchor: insert before price wrap or amenities, or append to room-info 2334 const roomInfoRefEl = widget.querySelector('.room-info'); 2335 const priceWrapRefEl = widget.querySelector('.room-price-wrap'); 2336 const amenitiesRefEl = widget.querySelector('.room-amenities'); 2337 const anchor = amenitiesRefEl || priceWrapRefEl; 2338 if (anchor && roomInfoRefEl && roomInfoRefEl.contains(anchor)) { 2339 roomInfoRefEl.insertBefore(descWrap, anchor); 2340 } else if (roomInfoRefEl) { 2341 roomInfoRefEl.appendChild(descWrap); 2342 } 2343 overflowSectionEl.style.display = 'none'; 2344 } 2345 descEl.classList.remove('is-collapsed'); 2346 descShowMoreBtn.style.display = 'none'; 2347 descShowLessBtn.style.display = 'block'; 2348 }); 2349 2350 descShowLessBtn.addEventListener('click', () => { 2351 descEl.classList.add('is-collapsed'); 2352 descShowLessBtn.style.display = 'none'; 2353 descShowMoreBtn.style.display = 'block'; 2354 }); 2355 2356 // Price 2357 const price = roomData[priceField]; 2358 if (price !== undefined && price !== null && price !== '') { 2359 priceEl.textContent = price; 2360 show(priceWrap); 2361 } 2362 2363 // Amenities / tags 2364 let amenities = roomData[amenitiesField]; 2365 if (amenities) { 2366 if (typeof amenities === 'string') {
2367 // Support comma-separated string 2368 amenities = amenities.split(',').map(a => a.trim()).filter(Boolean); 2369 } 2370 if (Array.isArray(amenities) && amenities.length > 0) { 2371 const allTags = amenities; 2372 let expanded = false; 2373 2374 function renderTags(showAll) { 2375 tagsEl.innerHTML = ''; 2376 const visible = showAll ? allTags : allTags.slice(0, maxTags); 2377 visible.forEach(tag => { 2378 const span = document.createElement('span'); 2379 span.className = 'amenity-tag'; 2380 span.textContent = tag; 2381 tagsEl.appendChild(span); 2382 }); 2383 if (allTags.length > maxTags) { 2384 if (showAll) { 2385 hide(showMoreBtn); 2386 show(showLessBtn); 2387 } else { 2388 show(showMoreBtn); 2389 hide(showLessBtn); 2390 } 2391 } 2392 } 2393 2394 renderTags(false); 2395 2396 showMoreBtn.addEventListener('click', () => { 2397 expanded = true; 2398 renderTags(true); 2399 }); 2400 showLessBtn.addEventListener('click', () => { 2401 expanded = false; 2402 renderTags(false); 2403 }); 2404 } 2405 } 2406 2407 // -- Images -- 2408 let images = []; // gallery images only 2409 2410 // Helper: normalise a single raw value (string or object) to { src, alt } 2411 function normaliseImage(raw, fallbackAlt) { 2412 if (!raw) return null; 2413 if (typeof raw === 'string') { 2414 const s = raw.trim(); 2415 return s ? { src: s, alt: fallbackAlt } : null; 2416 } 2417 if (typeof raw === 'object') { 2418 // Support { image, alt_text }, { src, alt }, { url }, { href } 2419 const src = raw.image || raw.src || raw.url || raw.href || ''; 2420 const alt = raw.alt_text || raw.alt || fallbackAlt; 2421 return src ? { src, alt } : null; 2422 } 2423 return null; 2424 } 2425 2426 const roomName = roomData[nameField] || 'Room'; 2427 2428 // -- Main image (always independent of gallery) -- 2429 const mainImg = roomData[mainImageField]; 2430 const mainImgObj = normaliseImage(mainImg, roomName + ' image'); 2431 if (mainImgObj) { 2432 mainImgEl.src = mainImgObj.src; 2433 mainImgEl.alt = mainImgObj.alt; 2434 // Add error handler to prevent console errors 2435 mainImgEl.onerror = function() { 2436 this.onerror = null; 2437 this.src = 'https://de-image-res.s3.amazonaws.com/cwdt/97a95c369c4c403d92d29e42348fa217/images/0ecf78c3-3248-4c97-bede-ca8bf8d40980.png'; 2438 }; 2439 } else { 2440 mainImgEl.src = 'https://de-image-res.s3.amazonaws.com/cwdt/97a95c369c4c403d92d29e42348fa217/images/0ecf78c3-3248-4c97-bede-ca8bf8d40980.png'; 2441 mainImgEl.alt = 'Room image'; 2442 } 2443 2444 // -- Gallery images (separate from main image) -- 2445 const rawImages = roomData[imagesField]; 2446 if (rawImages) { 2447 if (Array.isArray(rawImages)) { 2448 rawImages.forEach((item, i) => { 2449 const img = normaliseImage(item, roomName + ' photo ' + (i + 1)); 2450 if (img) images.push(img); 2451 }); 2452 } else if (typeof rawImages === 'string' && rawImages.trim()) { 2453 rawImages.split(',').map(s => s.trim()).filter(Boolean).forEach((src, i) => { 2454 images.push({ src, alt: roomName + ' photo ' + (i + 1) }); 2455 }); 2456 } 2457 } 2458 2459 // If gallery has 2 or fewer images, combine with main image 2460 let combinedImages = []; 2461 let showGallery = false; 2462 2463 if (images.length <= 2) { 2464 // Combine main image + gallery images for the hero/lightbox 2465 if (mainImgObj) { 2466 combinedImages.push(mainImgObj); 2467 } 2468 combinedImages = combinedImages.concat(images); 2469 showGallery = false; // Hide separate gallery section 2470 } else { 2471 // Show separate gallery as before 2472 combinedImages = images; 2473 showGallery = true; 2474 } 2475 2476 // Gallery: show if there are 3+ gallery images, OR use combined for lightbox 2477 if (combinedImages.length > 0) { 2478 // Lightbox elements 2479 const lightbox = widget.querySelector('.gallery-lightbox'); 2480 const lightboxImg = widget.querySelector('.lightbox-img'); 2481 const lightboxClose = widget.querySelector('.lightbox-close'); 2482 const lightboxPrev = widget.querySelector('.lightbox-prev'); 2483 const lightboxNext = widget.querySelector('.lightbox-next'); 2484 const lightboxCtr = widget.querySelector('.lightbox-counter'); 2485 const lightboxBack = widget.querySelector('.lightbox-backdrop'); 2486 let lightboxIndex = 0; 2487 2488 function openLightbox(index) { 2489 lightboxIndex = index; 2490 lightboxImg.src = combinedImages[lightboxIndex].src;
2491 lightboxImg.alt = combinedImages[lightboxIndex].alt; 2492 lightboxCtr.textContent = (lightboxIndex + 1) + ' / ' + combinedImages.length; 2493 lightboxPrev.disabled = lightboxIndex === 0; 2494 lightboxNext.disabled = lightboxIndex === combinedImages.length - 1; 2495 lightbox.style.display = 'flex'; 2496 document.body.style.overflow = 'hidden'; 2497 } 2498 2499 function closeLightbox() { 2500 lightbox.style.display = 'none'; 2501 document.body.style.overflow = ''; 2502 } 2503 2504 lightboxClose.addEventListener('click', closeLightbox); 2505 lightboxBack.addEventListener('click', closeLightbox); 2506 2507 lightboxPrev.addEventListener('click', () => { 2508 if (lightboxIndex > 0) openLightbox(lightboxIndex - 1); 2509 }); 2510 2511 lightboxNext.addEventListener('click', () => { 2512 if (lightboxIndex < combinedImages.length - 1) openLightbox(lightboxIndex + 1); 2513 }); 2514 2515 document.addEventListener('keydown', (e) => { 2516 if (lightbox.style.display === 'none') return; 2517 if (e.key === 'Escape') closeLightbox(); 2518 if (e.key === 'ArrowLeft' && lightboxIndex > 0) openLightbox(lightboxIndex - 1); 2519 if (e.key === 'ArrowRight' && lightboxIndex < combinedImages.length - 1) openLightbox(lightboxIndex + 1); 2520 }); 2521 2522 // If 2 or fewer gallery images, create a carousel in the hero area 2523 if (!showGallery && combinedImages.length > 1) { 2524 // Hide the static main image 2525 mainImgEl.style.display = 'none'; 2526 2527 // Create hero carousel container 2528 const heroCarousel = document.createElement('div'); 2529 heroCarousel.className = 'hero-carousel'; 2530 heroCarousel.style.position = 'relative'; 2531 heroCarousel.style.width = '100%'; 2532 heroCarousel.style.height = '380px'; 2533 heroCarousel.style.borderRadius = 'var(--main-img-radius)'; 2534 heroCarousel.style.overflow = 'hidden'; 2535 2536 // Create track for hero images 2537 const heroTrack = document.createElement('div'); 2538 heroTrack.style.display = 'flex'; 2539 heroTrack.style.height = '100%'; 2540 heroTrack.style.transition = 'transform 0.4s ease'; 2541 2542 // Add all combined images to hero track 2543 combinedImages.forEach((imgObj, idx) => { 2544 const imgWrap = document.createElement('div'); 2545 imgWrap.style.flex = '0 0 100%'; 2546 imgWrap.style.height = '100%'; 2547 2548 const img = document.createElement('img'); 2549 img.src = imgObj.src; 2550 img.alt = imgObj.alt; 2551 img.style.width = '100%'; 2552 img.style.height = '100%'; 2553 img.style.objectFit = 'cover'; 2554 img.style.display = 'block'; 2555 img.style.cursor = 'zoom-in'; 2556 img.addEventListener('click', () => openLightbox(idx)); 2557 2558 imgWrap.appendChild(img); 2559 heroTrack.appendChild(imgWrap); 2560 }); 2561 2562 heroCarousel.appendChild(heroTrack); 2563 2564 // Create navigation buttons below the hero carousel (same style as fill gallery nav) 2565 const heroNavWrap = document.createElement('div'); 2566 heroNavWrap.className = 'room-gallery-nav'; 2567 2568 const heroPrevBtn = document.createElement('button'); 2569 heroPrevBtn.className = 'gallery-prev'; 2570 heroPrevBtn.setAttribute('aria-label', 'Previous image'); 2571 heroPrevBtn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg>'; 2572 2573 const heroNextBtn = document.createElement('button'); 2574 heroNextBtn.className = 'gallery-next'; 2575 heroNextBtn.setAttribute('aria-label', 'Next image'); 2576 heroNextBtn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>'; 2577 2578 heroNavWrap.appendChild(heroPrevBtn); 2579 heroNavWrap.appendChild(heroNextBtn); 2580 2581 // Insert hero carousel and nav below it inside the main image wrap 2582 const mainImgWrap = widget.querySelector('.room-main-image-wrap'); 2583 mainImgWrap.appendChild(heroCarousel); 2584 mainImgWrap.appendChild(heroNavWrap); 2585 2586 // Hero carousel logic 2587 let heroIndex = 0; 2588 2589 function updateHeroCarousel() { 2590 heroTrack.style.transform = `translateX(-${heroIndex * 100}%)`; 2591 heroPrevBtn.disabled = heroIndex === 0; 2592 heroNextBtn.disabled = heroIndex === combinedImages.length - 1; 2593 } 2594 2595 heroPrevBtn.addEventListener('click', () => { 2596 if (heroIndex > 0) { 2597 heroIndex--; 2598 updateHeroCarousel(); 2599 } 2600 }); 2601 2602 heroNextBtn.addEventListener('click', () => { 2603 if (heroIndex < combinedImages.length - 1) { 2604 heroIndex++; 2605 updateHeroCarousel(); 2606 } 2607 }); 2608 2609 updateHeroCarousel(); 2610 } else if (!showGallery && combinedImages.length === 1) { 2611 // Single image - just make it clickable 2612 mainImgEl.style.cursor = 'zoom-in'; 2613 mainImgEl.addEventListener('click', () => openLightbox(0)); 2614 } 2615 2616 // Build gallery items (clickable) - only if showing separate gallery 2617 if (showGallery) {
2618 combinedImages.forEach((imgObj, idx) => { 2619 const div = document.createElement('div'); 2620 div.className = 'gallery-item'; 2621 const img = document.createElement('img'); 2622 img.src = imgObj.src; 2623 img.alt = imgObj.alt; 2624 // Add error handler for gallery images 2625 img.onerror = function() { 2626 this.style.display = 'none'; 2627 this.parentElement.style.display = 'none'; 2628 }; 2629 img.addEventListener('click', () => openLightbox(idx)); 2630 div.appendChild(img); 2631 galleryTrack.appendChild(div); 2632 }); 2633 2634 show(gallerySection); 2635 2636 // Carousel logic: show 3 at a time 2637 const visibleCount = 3; 2638 let currentIndex = 0; 2639 const totalItems = combinedImages.length; 2640 2641 function getItemWidth() { 2642 const item = galleryTrack.querySelector('.gallery-item'); 2643 if (!item) return 0; 2644 const gap = 16; 2645 return item.offsetWidth + gap; 2646 } 2647 2648 function updateCarousel() { 2649 const itemW = getItemWidth(); 2650 galleryTrack.style.transform = `translateX(-${currentIndex * itemW}px)`; 2651 prevBtn.disabled = currentIndex === 0; 2652 nextBtn.disabled = currentIndex >= totalItems - visibleCount; 2653 } 2654 2655 prevBtn.addEventListener('click', () => { 2656 if (currentIndex > 0) { 2657 currentIndex--; 2658 updateCarousel(); 2659 } 2660 }); 2661 2662 nextBtn.addEventListener('click', () => { 2663 if (currentIndex < totalItems - visibleCount) { 2664 currentIndex++; 2665 updateCarousel(); 2666 } 2667 }); 2668 2669 // Init after a short delay for layout 2670 setTimeout(updateCarousel, 50); 2671 window.addEventListener('resize', () => { 2672 if (currentIndex > totalItems - visibleCount) { 2673 currentIndex = Math.max(0, totalItems - visibleCount); 2674 } 2675 updateCarousel(); 2676 }); 2677 } 2678 } 2679 2680 // -- Collection button URL override -- 2681 // If the collection record has a URL in buttonUrlField, use it for the booking button (opens in new tab). 2682 const collectionBtnUrl = roomData[buttonUrlField]; 2683 if (collectionBtnUrl) { 2684 const bookBtn = widget.querySelector('a[data-link], .room-cta a'); 2685 if (bookBtn) { 2686 bookBtn.href = collectionBtnUrl; 2687 bookBtn.target = '_blank'; 2688 bookBtn.rel = 'noopener noreferrer'; 2689 } else { 2690 // If the Handlebars link wasn't rendered (no bookingLink set), create the button dynamically 2691 const ctaEl = widget.querySelector('.room-cta'); 2692 if (!ctaEl) { 2693 const ctaDiv = document.createElement('div'); 2694 ctaDiv.className = 'room-cta'; 2695 const btnText = data.config['bookingBtnText'] || 'Book Now'; 2696 const a = document.createElement('a'); 2697 a.href = collectionBtnUrl; 2698 a.target = '_blank'; 2699 a.rel = 'noopener noreferrer'; 2700 a.className = 'room-book-btn'; 2701 a.textContent = btnText; 2702 ctaDiv.appendChild(a); 2703 widget.querySelector('.room-info').appendChild(ctaDiv); 2704 } else { 2705 const existingLink = ctaEl.querySelector('a'); 2706 if (existingLink) { 2707 existingLink.href = collectionBtnUrl; 2708 existingLink.target = '_blank'; 2709 existingLink.rel = 'noopener noreferrer'; 2710 } 2711 } 2712 } 2713 } 2714 2715 // -- Handle text overflow: move long content below the hero -- 2716 const overflowSection = widget.querySelector('.room-overflow'); 2717 const roomInfoEl = widget.querySelector('.room-info'); 2718 const mainImageWrapEl = widget.querySelector('.room-main-image-wrap'); 2719 2720 function checkOverflow() { 2721 // Only run on desktop (side-by-side layout) 2722 if (window.innerWidth <= 767) return; 2723 2724 // Use the actual rendered image height as the reference 2725 const imageHeight = mainImgEl.offsetHeight || 380; 2726 2727 // Measure only the description wrapper's rendered height 2728 const descriptionEl = roomInfoEl.querySelector('.room-description-wrap'); 2729 if (!descriptionEl) return; 2730 2731 // Get the top position of description relative to the info panel top 2732 const infoPanelTop = roomInfoEl.getBoundingClientRect().top; 2733 const descBottom = descriptionEl.getBoundingClientRect().bottom; 2734 const contentUsed = descBottom - infoPanelTop; 2735 2736 // Only move content if the description alone already exceeds the image height 2737 if (contentUsed > imageHeight) { 2738 const elementsToMove = [ 2739 roomInfoEl.querySelector('.room-description-wrap'),
2740 ].filter(Boolean); 2741 2742 if (elementsToMove.length > 0) { 2743 elementsToMove.forEach(el => overflowSection.appendChild(el)); 2744 overflowSection.style.display = ''; 2745 } 2746 } 2747 } 2748 2749 // Run after layout settles 2750 setTimeout(checkOverflow, 100); 2751 2752 // -- Show content -- 2753 hide(loadingEl); 2754 hide(errorEl); 2755 contentEl.style.display = ''; 2756}); 2757 2758 }; 2759</script>
2759 2760
2761<script> 2762 window.customWidgetsFunctions["1f5975986930429f819d4cd2154b5c4a~25"] = function (element, data, api) { 2763 null 2764 }; 2765</script>
2765 2766 2767
2768<script type="text/javascript"> 2769 2770 var d_version = "production_6803"; 2771 var build = "2026-09-28T10_50_11"; 2772 window['v' + 'ersion'] = d_version; 2773 2774 function buildEditorParent() { 2775 window.isMultiScreen = true; 2776 window.editorParent = {}; 2777 window.previewParent = {}; 2778 window.assetsCacheQueryParam = "?version=2026-09-28T10_50_11"; 2779 try { 2780 var _p = window.parent; 2781 if (_p && _p.document && _p.$ && _p.$.dmfw) { 2782 window.editorParent = _p; 2783 } else if (_p.isSitePreview) { 2784 window.previewParent = _p; 2785 } 2786 } catch (e) { 2787 2788 } 2789 } 2790 2791 buildEditorParent(); 2792</script>
2792 2793 2794 2795 2796<!-- Injecting site-wide before scripts --> 2797 2798
2799<script src="https://app.termly.io/resource-blocker/8da948db-5d5b-45b9-b41b-d17d2bd1cc68?autoBlock=on" data-swh-uuid="f4d7dd0edba14f0dbf0c95eaf8f217a2"> 2800</script>
2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818
2819<script type="text/javascript" id="d_track_campaign"> 2820 (function() { 2821 if (!window.location.search) { 2822 return; 2823 } 2824 const cleanParams = window.location.search.substring(1); // Strip ? 2825 const queryParams = cleanParams.split('&'); 2826 2827 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 2828 const domain = 'domain=' + window.location.hostname; 2829 const path = "path=/"; 2830 2831 queryParams.forEach((param) => { 2832 const [key, value = ''] = param.split('='); 2833 if (key.startsWith('utm_')) { 2834 const cookieName = "_dm_rt_" + key.substring(4); 2835 const cookie = cookieName + "=" + value; 2836 const joined = [cookie, expires, domain, path].join(";"); 2837 document.cookie = joined; 2838 } 2839 }); 2840 }()); 2841</script>
vendor: 1 bytes, line 2841
2841
2842<script type="text/javascript" id="d_track_referrer"> 2843 (function() { 2844 const cookieName = '_dm_entry_referrer'; 2845 const referrer = document.referrer; 2846 if (!referrer) { 2847 return; 2848 } 2849 let referrerOrigin; 2850 try { 2851 referrerOrigin = new URL(referrer).origin; 2852 } catch (e) { 2853 return; 2854 } 2855 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 2856 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 2857 return; 2858 } 2859 try { 2860 const existing = document.cookie 2861 .split('; ') 2862 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 2863 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 2864 return; 2865 } 2866 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 2867 // reads alongside this one (session-scoped in practice â see FBN-5389). 2868 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 2869 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 2870 + ';path=/;SameSite=Lax' + secure; 2871 } catch (e) { 2872 return; 2873 } 2874 }()); 2875</script>
2875 2876
2877<script type="text/javascript" > 2878 var _dm_gaq = {}; 2879 var _gaq = _gaq || []; 2880 var _dm_insite = []; 2881</script>
2881 2882 2883 2884 2885 2886 2887 2888 2889<!-- End Injecting site-wide to the head --> 2890 2891 2892 2893 2894 2895
2896<script> 2897 window.cookiesNotificationMarkupPreview = 'null'; 2898</script>
2898 2899 2900<!-- HEAD RT JS Include -->
2901<script id='d-js-params'> 2902 window.INSITE = window.INSITE || {}; 2903 window.INSITE.device = "desktop"; 2904 2905 window.rtCommonProps = {}; 2906 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 2907 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 2908 rtCommonProps["runtimecollector.url"] = 'https://rtc.eu-multiscreensite.com'; 2909 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 2910 rtCommonProps["inlineEditGrid.snap"] =true; 2911 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 2912 rtCommonProps["rt.pushnotifs.force.button"] =true; 2913 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 2914 rtCommonProps["common.mapbox.js.override"] =false; 2915 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 2916 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 2917 rtCommonProps["isCoverage.test"] =false; 2918 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 2919 rtCommonProps["common.resources.dist.cdn"] =true; 2920 rtCommonProps["common.build.dist.folder"] = 'production/6803'; 2921 rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; 2922 rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/6803'; 2923 rtCommonProps["common.fonts.api.v2.url"] = 'https://de.cdn-website.com/fonts/css2?family='; 2924 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 2925 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 2926 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 2927 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 2928 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 2929 rtCommonProps["isAutomation.test"] =false; 2930 rtCommonProps["booking.cal.api.domain"] = 'api.cal.eu'; 2931 2932 2933 rtCommonProps['common.mapsProvider'] = 'mapbox'; 2934 2935 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 2936 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 2937 rtCommonProps['server.for.resources'] = ''; 2938 rtCommonProps['feature.flag.lazy.widgets'] = true; 2939 rtCommonProps['feature.flag.single.wow'] = false; 2940 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 2941 rtCommonProps['feature.flag.mark.anchors'] = true; 2942 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 2943 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 2944 rtCommonProps["images.sizes.small"] =160; 2945 rtCommonProps["images.sizes.mobile"] =640; 2946 rtCommonProps["images.sizes.tablet"] =1280; 2947 rtCommonProps["images.sizes.desktop"] =1920; 2948 rtCommonProps["modules.resources.cdn"] =true; 2949 rtCommonProps["import.images.storage.imageCDN"] = 'https://le-de.cdn-website.com/'; 2950 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 2951 rtCommonProps["feature.flag.performance.logs"] =false; 2952 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 2953 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 2954 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 2955 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 2956 // feature flags that's used out of runtime module (in legacy files) 2957 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 2958 2959 window.rtFlags = {}; 2960 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; 2961 rtFlags["scripts.widgetCount.enabled"] =true; 2962 rtFlags["fnb.animations.tracking.enabled"] =true; 2963 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 2964 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 2965 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 2966 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 2967 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 2968 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false; 2969 rtFlags["geocode.search.localize"] =false; 2970 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 2971 rtFlags["twitter.heightLimit.enabled"] = true; 2972 rtFlags["runtime.lottieOverflow"] =false; 2973 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 2974 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 2975 rtFlags["flex.animation.design.panel.layout"] =true; 2976 rtFlags["runtime.cwv.report.cls.enabled"] =false; 2977 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 2978 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 2979 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 2980 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 2981 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 2982 rtFlags["contact.form.useActiveForm"] =true; 2983 rtFlags["contact.form.custom.errors.enabled"] =false; 2984 rtFlags["runtime.ssr.productStore.internal.observer"] =true;
2985 rtFlags["runtime.ssr.productCustomizations"] =true; 2986 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 2987 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 2988 rtFlags["editor.widget.form.a11y"] =true; 2989</script>
vendor: 1 bytes, line 2989
2989
2990<script src="https://static.cdn-website.com/mnlt/production/6803/_dm/s/rt/dist/scripts/d-js-runtime-flex-package.min.js" id="d-js-core" defer></script>
2990 2991 2992<!-- End of HEAD RT JS Include --> 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006
3007<script> 3008 document.addEventListener('DOMContentLoaded', () => 3009 window.runtime.initLayout() 3010 ); 3011</script>
3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030
3031<script type="text/javascript" id="d_track_sp"> 3032 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 3033 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 3034 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 3035 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d3uzsv7k2lpopp.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 3036 window.dmsnowplow = window.snowplow; 3037 3038 dmsnowplow('newTracker', 'cf', 'd3uzsv7k2lpopp.cloudfront.net', { // Initialise a tracker 3039 appId: 'ea0190f4896547fd8e65f9c711a88618' 3040 }); 3041 3042 // snowplow queries element styles so we wait until CSS calculations are done. 3043 requestAnimationFrame(() => { 3044 dmsnowplow('trackPageView'); 3045 _dm_insite.forEach((rule) => { 3046 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 3047 // the tracking is in popup.js 3048 if (rule.actionName !== "popup") { 3049 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 3050 } 3051 window?.waitForDeferred?.('dmAjax', () => { 3052 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 3053 }); 3054 }); 3055 }); 3056</script>
3056 3057 3058 3059 3060<div style="display:none;" id="P6iryBW0Wu"></div> 3061 3062<!-- photoswipe markup --> 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072<!-- Root element of PhotoSwipe. Must have class pswp. --> 3073<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3074 3075 <!-- Background of PhotoSwipe. 3076 It's a separate element as animating opacity is faster than rgba(). --> 3077 <div class="pswp__bg"></div> 3078 3079 <!-- Slides wrapper with overflow:hidden. --> 3080 <div class="pswp__scroll-wrap"> 3081 3082 <!-- Container that holds slides. 3083 PhotoSwipe keeps only 3 of them in the DOM to save memory. 3084 Don't modify these 3 pswp__item elements, data is added later on. --> 3085 <div class="pswp__container"> 3086 <div class="pswp__item"></div> 3087 <div class="pswp__item"></div> 3088 <div class="pswp__item"></div> 3089 </div> 3090 3091 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 3092 <div class="pswp__ui pswp__ui--hidden"> 3093 3094 <div class="pswp__top-bar"> 3095 3096 <!-- Controls are self-explanatory. Order can be changed. --> 3097 3098 <div class="pswp__counter"></div> 3099 3100 <button class="pswp__button pswp__button--close" data-auto="pswp-close" title="Sluiten (Esc)"></button> 3101 3102 <button class="pswp__button pswp__button--share" data-auto="pswp-share" title="Delen"></button> 3103 3104 <button class="pswp__button pswp__button--fs" title="Volledig scherm in- of uitschakelen"></button> 3105 3106 <button class="pswp__button pswp__button--zoom" title="In-/uitzoomen"></button> 3107 3108 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 3109 <!-- element will get class pswp__preloader--active when preloader is running --> 3110 <div class="pswp__preloader"> 3111 <div class="pswp__preloader__icn"> 3112 <div class="pswp__preloader__cut"> 3113 <div class="pswp__preloader__donut"></div> 3114 </div> 3115 </div> 3116 </div> 3117 </div> 3118 3119 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 3120 <div class="pswp__share-tooltip"></div> 3121 </div> 3122 3123 <button class="pswp__button pswp__button--arrow--left" title="Vorige (pijl naar links)"> 3124 </button> 3125 3126 <button class="pswp__button pswp__button--arrow--right" title="Volgende (pijl naar rechts)"> 3127 </button> 3128 3129 <div class="pswp__caption"> 3130 <div class="pswp__caption__center"></div> 3131 </div> 3132 3133 </div> 3134 3135 </div> 3136 3137</div> 3138<div id="fb-root" 3139 data-locale="nl_NL"></div> 3140<!-- Alias: ea0190f4896547fd8e65f9c711a88618 -->
3141<script id="d_track_personalization"> 3142 window?.waitForDeferred?.('dmAjax', () => { 3143 // Collects client data and updates cookies used by smart sites 3144 window.expireDays = 365; 3145 window.visitLength = 30 * 60000; 3146 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 3147 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 3148 }); 3149</script>
vendor: 1 bytes, line 3149
3149
3150<script type="text/javascript"> 3151 3152 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 3153 3154 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 3155 Parameters.HomeLinkText = 'Home'; 3156 </script>
3156 3157<!-- End Script tags --> 3158<!-- Site Wide Html Markup --> 3159<div id="swh-6ac6aa5c70664cb28a43d50e1c644f90"><style>/* wm-hidden-sections */ #FAQ, #Reviews { display: none !important; }</style></div> 3160<div id="swh-0e51f03c28c84af69eb9b1d20d019122">
3160<script type="text/javascript" src="https://cdn.stardekk.com/website-manager/ratebox-v2.bundle.js"></script>
vendor: 1 bytes, line 3160
3160
3161<script type="text/javascript">var _rbLocale=(window.location.pathname.match(/^\/([a-z]{2,3})(?:\/|$)/i)||[])[1]||'nl';var rb = new Ratebox({IBEUrl: 'charme-hotel-hancelot-gent', key: '6D94030D-D8C5-4DF8-90F7-33DA44A7869A', locale: _rbLocale});</script>
3161</div> 3162<div id="swh-e8552bb29b324f47865a553b9f4915d0"><style>.cubilis-ratebox {--rb-primary: #C3AA73 !important;--rb-secondary: #2C4A3E !important;--rb-primary-text: #FFF8F0 !important;--rb-secondary-text: #FFF8F0 !important;--rb-tertiary: #8B4513 !important;}</style></div><!-- Site Wide Html Markup --> 3163</body> 3164</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.