{const urlParameters = new URL(window.location.href).searchParams;const isStagingFromLink = urlParameters.get('d21_widgets_staging');const isStagingBackEnd = false;if ((isStagingFromLink && isStagingBackEnd) || !isStagingFromLink) {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 = `/* Allgemeine Container-Anpassung */ #d21-bigAvailabilityCalendar { font-family: 'Inter', sans-serif; background-color: #f9f9f9; padding: 2rem; border-radius: 10px; box-shadow: 0 0 30px rgba(0, 0, 0, 0.05); max-width: 100%; margin: 0 auto; } /* Monatsüberschrift zentriert, größer */ #d21-bigAvailabilityCalendar .d21-availability-calendar-month { font-size: 1.8rem; font-weight: 700; text-align: center; margin-bottom: 1.5rem; } /* Wochentage */ #d21-bigAvailabilityCalendar .d21-availability-calendar-weekday { font-weight: 600; font-size: 1rem; text-align: center; } /* Datum-Zellen */ #d21-bigAvailabilityCalendar .d21-availability-calendar-day { width: 3.5rem; height: 3.5rem; font-size: 1rem; line-height: 1.2; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 8px; transition: all 0.2s ease-in-out; } /* Hover Effekt */ #d21-bigAvailabilityCalendar .d21-availability-calendar-day:hover { background-color: #e4f5e0; cursor: pointer; transform: scale(1.05); } /* Preisanzeige */ #d21-bigAvailabilityCalendar .d21-availability-calendar-price { font-size: 0.8rem; color: #666; margin-top: 0.25rem; } /* Farben je Status */ #d21-bigAvailabilityCalendar .d21-status-available { color: #28a745; } #d21-bigAvailabilityCalendar .d21-status-limited { color: #ff9800; } #d21-bigAvailabilityCalendar .d21-status-unavailable { color: #f44336; } /* Responsive Verhalten */ @media (max-width: 768px) { #d21-bigAvailabilityCalendar { padding: 1rem; } #d21-bigAvailabilityCalendar .d21-availability-calendar-day { width: 2.5rem; height: 2.5rem; font-size: 0.85rem; } #d21-bigAvailabilityCalendar .d21-availability-calendar-price { font-size: 0.65rem; } #d21-bigAvailabilityCalendar .d21-availability-calendar-month { font-size: 1.5rem; } }`;document.head.appendChild(styles);sessionStorage.setItem('d21_config', '{"General":{"Directory":"/kranichseede/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":null,"ShouldWaitUntilDocumentReady":false,"Theme":{"Light":{"PrimaryColor":"#957123","SecondaryColor":"#957123","BorderRadius":0.25,"Font":{"Default":"Rubik","Decorative":"Lato","Body":"Rubik"}},"Dark":{"PrimaryColor":"#2563eb","SecondaryColor":"#132228","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"}}},"Preselect":{"LOS":1,"Adults":2,"Children":[]},"ProductLimit":8,"HideChildrenInput":false},"Properties":[{"WidgetId":"0b834ff4-c823-44fe-bb24-9bf5b2fc82cd","WidgetType":"quickbook","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"IsHorizontal":true,"IsJustButton":false,"HasSmallSearchButton":true,"HasDropdownsOnTop":false,"InputMode":"TravelPeriod","Filter":"NoFilter","PreselectedRoom":null,"HasSlimMode":false,"OccupancyDiffersFromIBE":false,"CustomLos":0,"CustomOccupancyAdults":0,"CustomOccupancyChildren":[],"MaximumPersons":0,"MinimumPersons":0,"HasPromotionCode":true,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"IsHorizontal":false,"HasSmallSearchButton":false,"HasDropdownsOnTop":false,"Filter":"NoFilter","InputMode":"CheckInAndNights","IsJustButton":false,"HasPromotionCode":false,"PreselectedRoom":"null","OccupancyDiffersFromIBE":false,"CustomLOS":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":[],"MinimumPersons":1,"MaximumPersons":10}},{"WidgetId":"6060c01c-44a8-496e-b67a-d60e717084e8","WidgetType":"roomList","Description":"Zimmerliste","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"UsePages":true,"ItemsPerPage":10,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":true,"UseCalendar":true,"RoomBuild":"Default","PreselectedHotels":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeImage":false,"SlideAnimation":true,"UseBullets":true,"FilterMinimumPrice":50,"FilterMaximumPrice":65,"FilterPriceLap":5,"GroupFilter":"NoFilter","UseFilter":true,"IsPagination":false,"ItemsPerPage":7,"VisiblePageCount":5}},{"WidgetId":"74e82278-fd72-4134-841b-09e90139a2c9","WidgetType":"packageList","Description":"Arrangements Seite","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"UsePages":true,"ItemsPerPage":10,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":false,"UseCalendar":true,"PreselectedHotels":[],"PreselectedCategories":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"HasLargeImage":false,"SlideAnimation":true,"UseBullets":true,"GroupFilter":"NoFilter","UseFilter":true,"IsPagination":false,"ItemsPerPage":7,"VisiblePageCount":5,"FilterMinimumPrice":50,"FilterMaximumPrice":65,"FilterPriceLap":5}},{"WidgetId":"252601f1-fb2b-401e-b30d-963fe78271ce","WidgetType":"availabilityCalendar","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"CustomLos":2,"HasAdditionalRow":true,"HasDoubleView":true,"HasPromotionCode":false,"HasLargeView":true,"ProductIds":[],"TariffIds":[],"CustomStyles":null,"UseCustomStyles":true},"WidgetProperties":{"HasLargeView":false,"HasAdditionalRow":true,"HasPromotionCode":false,"HasDoubleView":false,"CustomLOS":1,"RestrictToRoom":"null"}},{"WidgetId":"382ae523-83b7-5714-e92f-9ad4fd1fc91e","WidgetType":"roomList","Description":"Zimmerliste 2","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"UsePages":true,"ItemsPerPage":5,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":false,"UseCalendar":true,"RoomBuild":null,"PreselectedHotels":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{"IsHorizontal":null,"HasSmallSearchButton":null,"HasDropdownsOnTop":null,"Filter":"NoFilter","InputMode":"CheckInAndNights","PreselectedRoom":null,"IsJustButton":null,"HasPromotionCode":null,"OccupancyDiffersFromIBE":null,"CustomLOS":1,"CustomOccupancyAdults":2,"CustomOccupancyChildren":null,"MinimumPersons":1,"MaximumPersons":10,"SlideAnimation":true,"UseBullets":true,"UseFilter":true,"IsPagination":false,"ItemsPerPage":7,"VisiblePageCount":5,"FilterMinimumPrice":50,"FilterMaximumPrice":65,"FilterPriceLap":5,"GroupFilter":"null"}}]}');sessionStorage.setItem('d21_uuid', 'f621e7b1-3709-4b2d-a541-77eea6a03e0b');const d21_css = document.createElement('link');d21_css.href = 'https://v5.widgets.dirs21.de/style.css?v=5.0.0.0.674';d21_css.rel = 'stylesheet';document.head.appendChild(d21_css);const quickbook = document.createElement('script');quickbook.src = 'https://v5.widgets.dirs21.de/quickbook.js?v=5.0.0.0.674';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=5.0.0.0.674'; 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=5.0.0.0.674'; 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=5.0.0.0.674'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}} else { const scriptElement = document.querySelector("script[src*='f621e7b1-3709-4b2d-a541-77eea6a03e0b']"); let src = scriptElement.src; src = src.replace('js-sdk.dirs21.de', 'js-sdk-staging.dirs21.de'); src = src.replace('&?', '?'); src = src.replace('?&', '?'); scriptElement.remove(); const newScript = document.createElement('script'); newScript.src = src; document.body.appendChild(newScript); let labelStaging = document.createElement('div'); labelStaging.innerHTML = 'Staging'; labelStaging.classList.add('d21-label-staging-mode'); document.body.appendChild(labelStaging);}}