{const locale = document.querySelector('html').getAttribute('lang') || 'de-DE';const localeLoader = document.createElement('script');localeLoader.id = 'd21-locale';localeLoader.type = 'application/json';document.head.appendChild(localeLoader);fetch('https://js-sdk.dirs21.de/locale/' + locale + "?version=Default").then(async (x) => { x.json().then(t => document.querySelector('#d21-locale').innerHTML = JSON.stringify(t)); });const styles = document.createElement('style');styles.type = 'text/css';styles.id = 'd21-widget-style';styles.textContent = ``;document.head.appendChild(styles);sessionStorage.setItem('d21_config', '{"General":{"Directory":"/hotel-thannhofde/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":"","ShouldWaitUntilDocumentReady":false,"UseShadowDOM":true,"Theme":{"Light":{"PrimaryColor":"#455b1f","SecondaryColor":"#5c5a5a","BorderRadius":0.0,"Font":{"Default":"Montserrat","Decorative":"Montserrat","Body":"Montserrat"}},"Dark":{"PrimaryColor":"#2563eb","SecondaryColor":"#132228","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"}}},"Preselect":{"LOS":1,"Adults":1,"Children":[]},"ProductLimit":5,"HideChildrenInput":false,"ExchangeRates":{}},"Properties":[{"WidgetId":"3b1977fc-4d9f-48f4-967d-168f9c9bc96c","WidgetType":"quickbook","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"IsHorizontal":true,"IsJustButton":false,"HasSmallSearchButton":false,"HasDropdownsOnTop":true,"InputMode":"CheckInAndNights","Filter":"RoomAddressFilter","PreselectedRoom":"null","HasSlimMode":false,"OccupancyDiffersFromIBE":false,"CustomLos":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":[],"MaximumPersons":10,"MinimumPersons":1,"HasPromotionCode":true,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"IsHorizontal":true,"HasSmallSearchButton":false,"HasDropdownsOnTop":true,"Filter":"NoFilter","InputMode":"CheckInAndNights","IsJustButton":false,"HasPromotionCode":false,"PreselectedRoom":"null","OccupancyDiffersFromIBE":false,"CustomLOS":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":[],"MinimumPersons":1,"MaximumPersons":10}},{"WidgetId":"76e3b851-81ea-478c-835f-85ff5a0afc68","WidgetType":"roomList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"UsePages":false,"ItemsPerPage":7,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":"NaN","FilterMaximumPrice":"NaN","FilterPriceLap":"NaN","UseFilter":false,"UseCalendar":true,"RoomBuild":"Default","PreselectedHotels":[],"FixedPrice":[{"_uuid":"50981979-e689-7077-f392-ede71899c352","IsActive":false,"MinPrice":null,"Name":"Dreibettzimmer"},{"_uuid":"34f8e02d-7e24-7f09-338b-bd4e894952b9","IsActive":false,"MinPrice":null,"Name":"Einzelzimmer"},{"_uuid":"2b8766c4-b5a7-8547-7b3b-ed2c6ba26bae","IsActive":false,"MinPrice":null,"Name":"Vierbettzimmer"},{"_uuid":"b5807a87-f917-df34-2c79-87eaaba18497","IsActive":false,"MinPrice":null,"Name":"Doppelzimmer"}],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeImage":false,"SlideAnimation":true,"UseBullets":true,"FilterMinimumPrice":"NaN","FilterMaximumPrice":"NaN","FilterPriceLap":"NaN","GroupFilter":"NoFilter","IsPagination":true,"ItemsPerPage":7,"VisiblePageCount":5}},{"WidgetId":"ad5e90f4-38d8-44f0-bc44-5fd323a13a52","WidgetType":"packageList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"UsePages":false,"ItemsPerPage":5,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":true,"UseCalendar":false,"PreselectedHotels":[],"PreselectedCategories":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeImage":false,"SlideAnimation":true,"UseBullets":true,"GroupFilter":"NoFilter"}},{"WidgetId":"34137a91-19e9-4a00-bb21-077181e76aeb","WidgetType":"voucherShop","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"VoucherBuild":"Default","UsePages":false,"ItemsPerPage":5,"UseFilter":true,"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"SlideAnimation":true,"UseBullets":true,"VoucherBuild":""}},{"WidgetId":"e4a53144-2cad-4cb1-a84b-ac822e6beba2","WidgetType":"availabilityCalendar","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":[],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeView":false,"HasAdditionalRow":true,"HasPromotionCode":false}},{"WidgetId":"fe0285db-ce69-e1ae-8a97-8eaad194e14d","WidgetType":"availabilityCalendar","Description":"","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["34f8e02d-7e24-7f09-338b-bd4e894952b9","b5807a87-f917-df34-2c79-87eaaba18497","50981979-e689-7077-f392-ede71899c352","2b8766c4-b5a7-8547-7b3b-ed2c6ba26bae"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}}]}');sessionStorage.setItem('d21_uuid', '312e8024-2cd8-4edd-857a-2e46440496a3'); (function() { const ibeStyle = document.createElement('style'); ibeStyle.type = 'text/css'; ibeStyle.id = 'd21-ibe-style'; ibeStyle.textContent = ` :host { --ibe-load-time: 0.5s; /* Set a default; override from outside if needed */ --color-container: #fff; } .d21-ibe { z-index: -1 !important; transition-duration: var(--ibe-load-time) !important; transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1) !important; position: fixed !important; width: 100vw !important; height: 100vh !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; opacity: 0 !important; transform: translateY(10%) scale(0.85) !important; border: none !important; background-color: var(--color-container); } .d21-ibe-visible { z-index: 999999999 !important; opacity: 1 !important; background-color: var(--color-container); transform: translateY(0) scale(1) !important; } `; // Try a few ways to find the shadow root let root = null; // 1) If your app exposes one globally, use it (customize as needed) if (window.d21ShadowRoot && window.d21ShadowRoot instanceof ShadowRoot) { root = window.d21ShadowRoot; } // 2) Otherwise, try a known host element id (adjust '#d21-root' to your host) if (!root) { const host = document.querySelector('#d21-root'); if (host && host.shadowRoot) { root = host.shadowRoot; } } // 3) Fallback: append to
if (root) { // Avoid duplicates if (!root.getElementById('d21-ibe-style')) { root.appendChild(ibeStyle); } } else { if (!document.getElementById('d21-ibe-style')) { document.head.appendChild(ibeStyle); } } })(); const quickbook = document.createElement('script');quickbook.src = 'https://v5.widgets.dirs21.de/quickbook.js?v=1.0.7';quickbook.async = true;quickbook.type = 'module';quickbook.defer = true;document.body.appendChild(quickbook);if (Array.from(document.querySelectorAll('.d21-roomList, #d21-roomList')).length > 0) { const roomList = document.createElement('script'); roomList.src = 'https://v5.widgets.dirs21.de/roomList.js?v=1.0.7'; roomList.async = true; roomList.type = 'module'; roomList.defer = true; document.body.appendChild(roomList);}if (Array.from(document.querySelectorAll('.d21-packageList, #d21-packageList, #d21-widgets-packages')).length > 0) { const packageList = document.createElement('script'); packageList.src = 'https://v5.widgets.dirs21.de/packageList.js?v=1.0.7'; packageList.async = true; packageList.type = 'module'; packageList.defer = true; document.body.appendChild(packageList);}if (Array.from(document.querySelectorAll('.d21-availabilityCalendar, .d21-smallAvailabilityCalendar, #d21-bigAvailabilityCalendar, .d21-roomAvailability')).length > 0) { const availabilityCalendar = document.createElement('script'); availabilityCalendar.src = 'https://v5.widgets.dirs21.de/availabilityCalendar.js?v=1.0.7'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}if (Array.from(document.querySelectorAll('.d21-voucherShop')).length > 0) { const voucherShop = document.createElement('script'); voucherShop.src = 'https://v5.widgets.dirs21.de/voucherShop.js?v=1.0.7'; voucherShop.async = true; voucherShop.type = 'module'; voucherShop.defer = true; document.body.appendChild(voucherShop);}}