{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 = `/* ============================================================ DIRS21 Widgets — Master-CSS In JEDES Widget-CSS-Feld (Quickbook + alle Kalender) einfügen. Blass-grün #F0F0DE · Primärgrün #9E9E22 · Dunkelgrün #465017 ============================================================ */ /* ========== QUICKBOOK (Sticky-Schnellsuche) ========== */ :host(.d21-quickbook) { background-color: #F0F0DE; border-radius: 0; } :host(.d21-quickbook) .d21-trigger-popover-button { background-color: #F0F0DE !important; } :host(.d21-quickbook) .d21-trigger-popover-button:hover { background-color: #465017 !important; } :host(.d21-quickbook) .d21-trigger-popover-button:hover * { color: #fff !important; } :host(.d21-quickbook) .d21-primary:hover:before { background-color: #465017 !important; opacity: 1 !important; } :host(.d21-quickbook) .d21-popover-open { background-color: #F0F0DE !important; border-color: #F0F0DE !important; } :host(.d21-quickbook) .d21-scrollable-list-item { transition: none !important; } :host(.d21-quickbook) .d21-scrollable-list-item:hover { background-color: #465017 !important; } :host(.d21-quickbook) .d21-scrollable-list-item:hover .d21-h-stack, :host(.d21-quickbook) .d21-scrollable-list-item:hover .d21-v-stack { background-color: transparent !important; } :host(.d21-quickbook) .d21-scrollable-list-item:hover * { color: #fff !important; } /* ========== VERFÜGBARKEITSKALENDER ========== */ :host(.d21-availabilityCalendar) { background-color: #F0F0DE; display: block; width: 100%; max-width: 100%; box-sizing: border-box; } :host(.d21-availabilityCalendar) .d21-container-view { background-color: #F0F0DE !important; border: none !important; box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; } :host(.d21-availabilityCalendar) .d21-widget-container, :host(.d21-availabilityCalendar) .d21-widget-center, :host(.d21-availabilityCalendar) .d21-v-stack, :host(.d21-availabilityCalendar) .d21-h-stack, :host(.d21-availabilityCalendar) .d21-flex-container, :host(.d21-availabilityCalendar) .d21-flex-pages { background-color: #F0F0DE !important; } :host(.d21-availabilityCalendar) .d21-widget-container, :host(.d21-availabilityCalendar) .d21-widget-center, :host(.d21-availabilityCalendar) .d21-container-view, :host(.d21-availabilityCalendar) .d21-flex-container, :host(.d21-availabilityCalendar) .d21-flex-pages, :host(.d21-availabilityCalendar) .d21-month-view-page { width: 100% !important; max-width: 100% !important; } :host(.d21-availabilityCalendar) .d21-flex-picker.d21-flex-picker { display: flex !important; flex-direction: column !important; gap: 0.5em !important; width: 100% !important; max-width: 100% !important; } :host(.d21-availabilityCalendar) .d21-flex-picker .d21-flex-picker--row.d21-flex-picker--row { display: flex !important; flex-direction: row !important; gap: 0.5em !important; width: 100% !important; } :host(.d21-availabilityCalendar) .d21-flex-picker--row .d21-flex-picker--field.d21-flex-picker--field { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; min-height: 3.4em !important; padding: 0.3em 0.1em !important; overflow: visible !important; border-radius: 0.4em !important; } :host(.d21-availabilityCalendar) .d21-flex-picker--field .d21-adjusted-width, :host(.d21-availabilityCalendar) .d21-flex-picker--field .d21-adjusted-width p { white-space: nowrap !important; overflow: visible !important; flex-wrap: nowrap !important; } :host(.d21-availabilityCalendar) .d21-flex-picker--row .d21-flex-picker--field.d21-flex-picker--day--hover:hover, :host(.d21-availabilityCalendar) .d21-flex-picker--row .d21-flex-picker--field.d21-flex-picker--day--selected { background-color: #465017 !important; } :host(.d21-availabilityCalendar) .d21-flex-picker--row .d21-flex-picker--field.d21-flex-picker--day--selected * { color: #fff !important; } :host(.d21-availabilityCalendar) .d21-trigger-popover-button { background-color: var(--d21-primary) !important; color: #fff !important; } :host(.d21-availabilityCalendar) .d21-trigger-popover-button p { color: #fff !important; } :host(.d21-availabilityCalendar) .d21-trigger-popover-button:hover { background-color: #465017 !important; } :host(.d21-availabilityCalendar) .d21-popover-open { background-color: #F0F0DE !important; border-color: #F0F0DE !important; } :host(.d21-availabilityCalendar) .d21-scrollable-list-item { transition: none !important; } :host(.d21-availabilityCalendar) .d21-scrollable-list-item:hover { background-color: #465017 !important; } :host(.d21-availabilityCalendar) .d21-scrollable-list-item:hover .d21-h-stack, :host(.d21-availabilityCalendar) .d21-scrollable-list-item:hover .d21-v-stack { background-color: transparent !important; } :host(.d21-availabilityCalendar) .d21-scrollable-list-item:hover * { color: #fff !important; } :host(.d21-availabilityCalendar) .d21-tag.d21-tag-filled { background-color: #F0F0DE !important; } /* Zurücksetzen-Button im Submenü: gefüllt hellgrün, Hover dunkelgrün (nur .d21-full-width — schließt die Monats-Pfeile aus, die auch .d21-button sind) */ :host(.d21-availabilityCalendar) .d21-button.d21-full-width { background-color: var(--d21-primary) !important; } :host(.d21-availabilityCalendar) .d21-button.d21-full-width .d21-content { color: #fff !important; } :host(.d21-availabilityCalendar) .d21-button.d21-full-width:hover:before { background-color: #465017 !important; opacity: 1 !important; } `;document.head.appendChild(styles);sessionStorage.setItem('d21_config', '{"General":{"Directory":"/hotel-alpensonneat/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":null,"ShouldWaitUntilDocumentReady":false,"UseShadowDOM":true,"Theme":{"Light":{"PrimaryColor":"#9e9e22","SecondaryColor":"#465017","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"}},"Dark":{"PrimaryColor":"#9e9e22","SecondaryColor":"#5c5a5a","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"}}},"Preselect":{"LOS":1,"Adults":2,"Children":[]},"ProductLimit":5,"HideChildrenInput":false,"ExchangeRates":{}},"Properties":[{"WidgetId":"d601e257-2bef-4d05-9b79-6c4c519ff0e6","WidgetType":"quickbook","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"IsHorizontal":false,"IsJustButton":false,"HasSmallSearchButton":false,"HasDropdownsOnTop":false,"InputMode":"CheckInAndNights","Filter":"NoFilter","PreselectedRoom":null,"HasSlimMode":false,"OccupancyDiffersFromIBE":false,"CustomLos":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":[],"MaximumPersons":10,"MinimumPersons":1,"HasPromotionCode":false,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":null,"UseCustomStyles":true},"WidgetProperties":{"IsHorizontal":null,"HasSmallSearchButton":null,"HasDropdownsOnTop":false,"Filter":"NoFilter","InputMode":"CheckInAndNights","IsJustButton":false,"HasPromotionCode":null}},{"WidgetId":"a354be6a-242f-4cad-b5de-3e567779fcdc","WidgetType":"roomList","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,"RoomBuild":null,"PreselectedHotels":[],"FixedPrice":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeImage":false,"SlideAnimation":true,"UseBullets":true,"FilterMinimumPrice":50,"FilterMaximumPrice":65,"FilterPriceLap":5,"GroupFilter":"NoFilter"}},{"WidgetId":"0cc6230c-dae2-4e8a-b2d9-40b287e7cb62","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":"c99022a6-6bc3-458b-bfe2-0238e5ce5091","WidgetType":"availabilityCalendar","Description":"Kalender für alle Zimmer","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":true,"ProductIds":["1f03740e-2321-8c06-284b-06d849674b35","68db2985-7d97-00f7-a269-b837bf2c0a7e","2404406f-9d92-0214-61bd-0e86af4f3ab9","f31b8e18-f09a-8ef3-79f1-9802b73a8dc6","63d388d5-4ede-22c8-2f3e-5ad53b70f1a3","1997f895-2273-f6f0-0571-23d2f6418faa","687c22d5-e746-4259-99c5-d872ebcf7df5","bf78ddd3-bcba-004b-1960-ade8001eb41d","f8e6499d-0031-a7cc-cd38-d557f962abaf"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeView":true,"HasAdditionalRow":true,"HasPromotionCode":false,"HasDoubleView":false,"CustomLOS":1,"RestrictToRoom":"null"}},{"WidgetId":"d5762e04-8a11-98dc-138b-880f6deaf7c9","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (DZS)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":true,"ProductIds":["63d388d5-4ede-22c8-2f3e-5ad53b70f1a3"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"IsHorizontal":null,"HasSmallSearchButton":null,"HasDropdownsOnTop":null,"Filter":"NoFilter","InputMode":"CheckInAndNights","PreselectedRoom":null,"IsJustButton":null,"HasPromotionCode":false,"OccupancyDiffersFromIBE":null,"CustomLOS":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":null,"MinimumPersons":1,"MaximumPersons":10,"HasLargeView":false,"HasDoubleView":false,"RestrictToRoom":"null"}},{"WidgetId":"5bedaeec-517e-fb4c-0665-4b1a8b5ba94f","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (DZK)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":true,"ProductIds":["f31b8e18-f09a-8ef3-79f1-9802b73a8dc6"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"bb3f8fb2-d31f-3ce1-2be0-eaa9edd76ab8","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (DZKP)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["2404406f-9d92-0214-61bd-0e86af4f3ab9"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"788a6701-4b5e-ebc7-c978-44de0d5f38c6","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (DZJ)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["1f03740e-2321-8c06-284b-06d849674b35"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"c92576e0-3168-e54e-b51b-e9e403989320","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (SU)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["68db2985-7d97-00f7-a269-b837bf2c0a7e"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"ac701906-5b66-6302-377e-55cd8caec13b","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (FAM)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["bf78ddd3-bcba-004b-1960-ade8001eb41d"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"cd9c572b-ac19-cb94-d522-249c24433014","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (EZS)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":["f8e6499d-0031-a7cc-cd38-d557f962abaf"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"06a9eb07-5c04-df08-0da4-deef8ffa9653","WidgetType":"availabilityCalendar","Description":"Verfügbarkeitskalender (EZK)","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":true,"ProductIds":["1997f895-2273-f6f0-0571-23d2f6418faa"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}}]}');sessionStorage.setItem('d21_uuid', 'a56a9618-6ff0-444e-a254-f4d1bf32b576'); (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.14';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.14'; 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.14'; 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.14'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}}