{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-staging.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":"/sportinghouse/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":null,"ShouldWaitUntilDocumentReady":false,"UseShadowDOM":true,"Theme":{"Light":{"PrimaryColor":"#fcbc00","SecondaryColor":"#24353f","BorderRadius":0.0,"Font":{"Default":"https://cdn.dirs21.de/v1/cdn/fonts/99908/arvo-regular.ttf","Decorative":"https://cdn.dirs21.de/v1/cdn/fonts/99908/arvo-regular.ttf","Body":"https://cdn.dirs21.de/v1/cdn/fonts/99908/arvo-regular.ttf"},"LogoUri":"/images/99908/sh-button-farbig-ohne-schutzraum-srgb-2400px.png"},"Dark":{"PrimaryColor":"#fcbc00","SecondaryColor":"#24353f","BorderRadius":0.0,"Font":{"Default":"https://cdn.dirs21.de/v1/cdn/fonts/99908/arvo-regular.ttf","Decorative":"https://cdn.dirs21.de/v1/cdn/fonts/99908/arvo-regular.ttf","Body":"Raleway"},"LogoUri":"/images/99908/sh-button-farbig-ohne-schutzraum-srgb-2400px.png"}},"Preselect":{"LOS":4,"Adults":1,"Children":[]},"ProductLimit":5,"HideChildrenInput":false,"ExchangeRates":{},"StyleConfig":{"CustomStyles":"","UseCustomStyles":false}},"Properties":[{"WidgetId":"fa6fdd6a-845f-42f7-90d7-5d9645b2c4f6","WidgetType":"quickbook","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"IsHorizontal":true,"IsJustButton":false,"HasSmallSearchButton":true,"HasDropdownsOnTop":false,"InputMode":"CheckInAndNights","Filter":"NoFilter","PreselectedRoom":null,"HasSlimMode":false,"OccupancyDiffersFromIBE":true,"CustomLos":4,"CustomOccupancyAdults":2,"CustomOccupancyChildren":[],"MaximumPersons":0,"MinimumPersons":0,"HasPromotionCode":false,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"f9878b5f-6f90-4292-8534-8e033fa0b324","WidgetType":"roomList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"UseFilter":false,"UseCalendar":true,"HasTravelPeriodFilter":true,"HasGroupFilter":false,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":0.0,"FilterMaximumPrice":0.0,"FilterPriceLap":5.0,"HasHotelFilter":false,"PreselectedHotels":[],"FixedPrice":[{"_uuid":"d0b967e5-ec97-4a3f-43ac-a48bd2996b85","IsActive":false,"MinPrice":null,"Name":"Business Studio"},{"_uuid":"130ddad2-a146-4bdf-62d5-5e3718894599","IsActive":false,"MinPrice":null,"Name":"Business Comfort Studio mit Terrasse"},{"_uuid":"eb74065c-9768-488b-da72-a86c7582972d","IsActive":false,"MinPrice":null,"Name":"Business Comfort Studio"},{"_uuid":"8a1dd482-a7cc-f729-dfe0-e78532357619","IsActive":false,"MinPrice":null,"Name":"Grand Apartment"},{"_uuid":"6e8642c6-edab-b6ab-39d6-b5c46982fcb8","IsActive":false,"MinPrice":null,"Name":"Penthouse"},{"_uuid":"5096cfe4-005e-cd4d-68b1-8a6999da226d","IsActive":false,"MinPrice":null,"Name":"Premium Apartment"},{"_uuid":"ed091f10-b38c-6d16-affe-73f3f4280903","IsActive":false,"MinPrice":null,"Name":"Grand Comfort Apartment Barrierefrei"},{"_uuid":"459e0c38-2e6c-05b0-0d41-d247b9d77664","IsActive":false,"MinPrice":null,"Name":"Grand Apartment Family"},{"_uuid":"727c4039-425b-95ec-fb74-b6d049bdb4ea","IsActive":false,"MinPrice":null,"Name":"Grand Comfort Apartment"},{"_uuid":"1e50c708-e996-e5e3-4ab8-def2f1804d8f","IsActive":false,"MinPrice":null,"Name":"Premium Comfort Apartment"}],"HasOccupancyFilter":false,"FilterOccupancy":null,"HasPromotionCode":false,"Build":"zimmer","UsePages":false,"ItemsPerPage":0,"IncludedProducts":{"IsForAll":false,"Items":[]},"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"6841764d-66ff-4e90-8e55-ee38a8087fb8","WidgetType":"packageList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"UseFilter":false,"UseCalendar":true,"HasCheckinDateFilter":true,"HasGroupFilter":false,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":0.0,"FilterMaximumPrice":0.0,"FilterPriceLap":5.0,"HasHotelFilter":false,"PreselectedHotels":[],"HasCategoryFilter":false,"PreselectedCategories":[],"HasLosFilter":false,"FilterLos":null,"HasPromotionCode":false,"Build":"","UsePages":false,"ItemsPerPage":0,"IncludedProducts":{"IsForAll":false,"Items":[]},"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":null},{"WidgetId":"c285d69f-3ddc-4d38-9800-6e92d6022ae4","WidgetType":"availabilityCalendar","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"CustomLos":14,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":[],"TariffIds":null,"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"cda65942-0d65-919c-3b32-502f7f83581b","WidgetType":"availabilityCalendar","Description":"Business Comfort Studio","DisplayTheme":"Dark","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":4,"HasAdditionalRow":true,"HasDoubleView":true,"HasPromotionCode":false,"ProductIds":["eb74065c-9768-488b-da72-a86c7582972d"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}}]}');sessionStorage.setItem('d21_uuid', '3f0cd479-4b13-4a11-9fc8-9da966d53178'); (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://rc-0.widgets.dirs21.de/quickbook.js?v=1.0.107';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://rc-0.widgets.dirs21.de/roomList.js?v=1.0.107'; 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://rc-0.widgets.dirs21.de/packageList.js?v=1.0.107'; 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://rc-0.widgets.dirs21.de/availabilityCalendar.js?v=1.0.107'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}}