{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 = `.d21-availabilityCalendar { font-family: inherit !important; background: white !important; border-radius: 8px !important; padding: 2rem !important; box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1) !important; border: 1px solid #e5e7eb !important; } /* Calendar Header/Title */ .d21-availabilityCalendar h2, .d21-availabilityCalendar h3 { font-weight: 300 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: #1f2937 !important; } /* Calendar Navigation Buttons */ .d21-availabilityCalendar button { border-radius: 0 !important; transition: all 0.3s ease !important; font-family: inherit !important; } .d21-availabilityCalendar button:hover { transform: translateY(-1px) !important; } /* Calendar Cells */ .d21-availabilityCalendar .calendar-cell, .d21-availabilityCalendar [class*="cell"] { border-radius: 0 !important; transition: all 0.2s ease !important; } /* Available Dates - Use Your Primary Color */ .d21-availabilityCalendar .available, .d21-availabilityCalendar [class*="available"] { background-color: #f3f4f6 !important; border: 1px solid #d1d5db !important; } .d21-availabilityCalendar .available:hover, .d21-availabilityCalendar [class*="available"]:hover { background-color: #C6986B !important; color: white !important; border-color: #C6986B !important; } /* Price Display */ .d21-availabilityCalendar .price, .d21-availabilityCalendar [class*="price"] { color: #C6986B !important; font-weight: 500 !important; } /* Input Fields */ .d21-availabilityCalendar input, .d21-availabilityCalendar select { border-radius: 0 !important; border: 1px solid #d1d5db !important; padding: 0.75rem 1rem !important; font-family: inherit !important; } .d21-availabilityCalendar input:focus, .d21-availabilityCalendar select:focus { outline: none !important; border-color: #C6986B !important; ring: 2px !important; ring-color: #C6986B !important; } /* Primary Action Button */ .d21-availabilityCalendar button[class*="primary"], .d21-availabilityCalendar button[class*="submit"], .d21-availabilityCalendar button[class*="search"] { background-color: #C6986B !important; color: white !important; padding: 0.75rem 2rem !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; font-weight: 500 !important; border: none !important; } .d21-availabilityCalendar button[class*="primary"]:hover, .d21-availabilityCalendar button[class*="submit"]:hover, .d21-availabilityCalendar button[class*="search"]:hover { background-color: #b58a5f !important; }`;document.head.appendChild(styles);sessionStorage.setItem('d21_config', '{"General":{"Directory":"/mainsuiteshotelcom/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":null,"ShouldWaitUntilDocumentReady":false,"UseShadowDOM":false,"Theme":{"Light":{"PrimaryColor":"#a4802c","SecondaryColor":"#000000","BorderRadius":0.5,"Font":{"Default":"Lato","Decorative":"Montserrat","Body":"Open Sans"}},"Dark":{"PrimaryColor":"#2563eb","SecondaryColor":"#132228","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"}}},"Preselect":{"LOS":1,"Adults":2,"Children":[]},"ProductLimit":5,"HideChildrenInput":false,"ExchangeRates":null},"Properties":[{"WidgetId":"d8f979e1-b82a-43f7-a606-4d849db74958","WidgetType":"quickbook","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"IsHorizontal":false,"IsJustButton":false,"HasSmallSearchButton":true,"HasDropdownsOnTop":false,"InputMode":"CheckInAndNights","Filter":"NoFilter","PreselectedRoom":null,"HasSlimMode":false,"OccupancyDiffersFromIBE":false,"CustomLos":0,"CustomOccupancyAdults":0,"CustomOccupancyChildren":[],"MaximumPersons":0,"MinimumPersons":0,"HasPromotionCode":false,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":null},{"WidgetId":"8e2e1999-c319-431d-a4ec-20b8e42daadb","WidgetType":"roomList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"UsePages":false,"ItemsPerPage":0,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":false,"UseCalendar":true,"RoomBuild":null,"PreselectedHotels":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":null},{"WidgetId":"be37748e-fe54-4700-a2c6-ccab53a6c22c","WidgetType":"packageList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"UsePages":false,"ItemsPerPage":0,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":false,"UseCalendar":true,"PreselectedHotels":[],"PreselectedCategories":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":null},{"WidgetId":"592411a9-ff42-49fc-833f-7092307be28f","WidgetType":"availabilityCalendar","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":0,"HasAdditionalRow":true,"HasDoubleView":true,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":[],"TariffIds":null,"CustomStyles":null,"UseCustomStyles":false},"WidgetProperties":{"HasLargeView":false,"HasDoubleView":false,"HasPromotionCode":false,"CustomLOS":1,"RestrictToRoom":"null"}},{"WidgetId":"0b59c4fc-9998-db87-9d0e-a5d35e33c844","WidgetType":"availabilityCalendar","Description":"","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"HasLargeView":false,"ProductIds":[],"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":"e44c6e11-e2d2-7465-f1a4-fae47081da9c","WidgetType":"roomList","Description":"","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"UsePages":false,"ItemsPerPage":5,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"UseFilter":true,"UseCalendar":true,"RoomBuild":"Default","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', '8329694c-4480-4d78-b5f5-ce80e82b157b');const d21_css = document.createElement('link');d21_css.href = 'https://v5.widgets.dirs21.de/style.css?v=5.0.0.0.708';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.708';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.708'; 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.708'; 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.708'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}} else { const scriptElement = document.querySelector("script[src*='8329694c-4480-4d78-b5f5-ce80e82b157b']"); 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);}}