{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 = `/* DIRS21 availability calendars – more horizontal, shorter layout */
/* Host becomes a size container: the layout follows the column width, not the viewport */
.d21-availabilityCalendar.d21-widget {
container: d21cal / inline-size !important;
}
/* Buttons (nights / adults / children) in one row instead of a column; wraps when too narrow */
.d21-availabilityCalendar .d21-container-view > .d21-v-stack > .d21-v-stack > .d21-v-stack {
flex-direction: row !important;
flex-wrap: wrap !important;
justify-content: center !important;
}
.d21-availabilityCalendar .d21-container-view > .d21-v-stack > .d21-v-stack > .d21-v-stack > div {
flex: 1 1 6.5em !important;
}
.d21-availabilityCalendar .d21-container-view > .d21-v-stack > .d21-v-stack > .d21-v-stack .d21-trigger-popover-button {
min-width: 0 !important;
width: 100% !important;
}
/* Very narrow column: scale the whole widget down a bit */
@container d21cal (max-width: 300px) {
.d21-availabilityCalendar .d21-widget-container {
font-size: 14px !important;
}
}
/* DIRS21 quickbook – floating card at the bottom of the screen up to 1024px */
@media (max-width: 1024px) {
/* Space the card takes at the bottom: used for the page padding and (on phones) the arrow */
body:has(.dirs21-quickbook-container) {
--d21-qb-h: 100px;
padding-bottom: var(--d21-qb-h);
}
/* 1. Only the widget is pinned: centred, natural width, a little above the screen edge */
.dirs21-quickbook-container .d21-quickbook.d21-widget {
position: fixed !important;
left: 0 !important;
right: 0 !important;
bottom: calc(12px + env(safe-area-inset-bottom)) !important;
z-index: 1000 !important;
width: fit-content !important;
max-width: calc(100vw - 16px) !important;
margin: 0 auto !important;
}
/* Card keeps its normal look, plus a shadow so it reads as floating */
.dirs21-quickbook-container .d21-widget .d21-container-view {
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}
/* 2. No 2em top/bottom margin inside the card */
.dirs21-quickbook-container .d21-widget .d21-widget-container {
margin: 0 auto !important;
max-width: 100% !important;
}
/* 3. Dropdowns: same look, but open upward from their field */
.dirs21-quickbook-container .d21-widget .d21-popover-open {
top: auto !important;
bottom: 100% !important;
max-width: calc(100vw - 16px);
max-height: min(70vh, 32em);
overflow-y: auto;
}
/* The right-hand field of the Check-in | Nächte pair opens towards the left so it stays on screen */
.dirs21-quickbook-container .d21-widget .d21-divider-left-between > .tw-d21-relative:last-child > .d21-popover-open {
left: auto !important;
right: 0 !important;
}
}
/* ≤968px "Gäste" and the search button stack, so the card is taller */
@media (max-width: 968px) {
body:has(.dirs21-quickbook-container) {
--d21-qb-h: 150px;
}
}
/* ≤900px (phones): stacked form, almost full width – lift the scroll-to-top arrow above the card */
@media (max-width: 900px) {
body:has(.dirs21-quickbook-container) {
--d21-qb-h: 240px;
}
body:has(.dirs21-quickbook-container) .elementor-global-1247 {
bottom: calc(var(--d21-qb-h) + 8px) !important;
}
}
/* DIRS21 room list + package list – same width as the navbar container (max 1140px, centred) */
/* 1. Remove the 10px side padding of Elementor's default column gap around the widget */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated:has(.d21-roomList, .d21-packageList) {
padding-left: 0 !important;
padding-right: 0 !important;
}
/* 2. Widget box = navbar container box: up to 1140px, centred */
:is(.d21-roomList, .d21-packageList).d21-widget .d21-widget-container {
box-sizing: border-box !important;
width: 100% !important;
max-width: 1140px !important;
min-width: 0 !important;
margin-left: auto !important;
margin-right: auto !important;
}
/* Inner list: drop the inline max-width 56em so it fills that box */
:is(.d21-roomList, .d21-packageList) .d21-widget-container > .d21-v-stack {
width: 100% !important;
max-width: none !important;
}
/* 3. Desktop/tablet card: photo grows with the card, text takes the rest */
:is(.d21-roomList, .d21-packageList) :is([d21-style="d21-room-main-container"], [d21-style="d21-package-main-container"]).d21-h-stack > :first-child {
flex: 0 0 clamp(14em, 34%, 26em) !important;
width: auto !important;
min-height: 15em;
}
:is(.d21-roomList, .d21-packageList) [d21-style="d21-image-container"] {
width: 100% !important;
}
:is(.d21-roomList, .d21-packageList) :is([d21-style="d21-room-main-container"], [d21-style="d21-package-main-container"]).d21-h-stack > :last-child {
flex: 1 1 0 !important;
width: auto !important;
min-width: 0;
}`;document.head.appendChild(styles);sessionStorage.setItem('d21_config', '{"General":{"Directory":"/adlerhotelch/","IsGroup":false,"ShouldOpenInNewTab":false,"CustomDomain":null,"ShouldWaitUntilDocumentReady":false,"UseShadowDOM":false,"Theme":{"Light":{"PrimaryColor":"#dd3837","SecondaryColor":"#e5dbc9","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"},"LogoUri":null},"Dark":{"PrimaryColor":"#2563eb","SecondaryColor":"#132228","BorderRadius":0.5,"Font":{"Default":"Rubik","Decorative":"Rubik","Body":"Rubik"},"LogoUri":null}},"Preselect":{"LOS":1,"Adults":2,"Children":[]},"ProductLimit":5,"HideChildrenInput":false,"ExchangeRates":{},"StyleConfig":{"CustomStyles":null,"UseCustomStyles":false}},"Properties":[{"WidgetId":"a68bdf32-2488-4fb0-b458-02a39e7c34aa","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":false,"CustomLos":0,"CustomOccupancyAdults":0,"CustomOccupancyChildren":[],"MaximumPersons":0,"MinimumPersons":0,"HasPromotionCode":false,"ExtraField":"None","PreselectedProperties":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"1925ff26-3bed-4415-86d2-c84dd50f7202","WidgetType":"roomList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"UseFilter":false,"UseCalendar":true,"HasTravelPeriodFilter":true,"HasGroupFilter":false,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"HasHotelFilter":false,"PreselectedHotels":[],"FixedPrice":[{"_uuid":"e0dd9de0-12e8-2982-83da-529fc75e6993","IsActive":false,"MinPrice":null,"Name":"Adler Suite"},{"_uuid":"254ad45b-5070-80ae-f061-687e60d8ee43","IsActive":false,"MinPrice":null,"Name":"Broger Suite"},{"_uuid":"4d961507-f155-cd96-a0d9-852e68ecac5d","IsActive":false,"MinPrice":null,"Name":"Doppelzimmer"},{"_uuid":"6ba8fa86-4cfa-6ad7-9129-216452c97241","IsActive":false,"MinPrice":null,"Name":"Doppelzimmer Budget"},{"_uuid":"26954e92-0d26-7d3e-b1c1-be90b4a499da","IsActive":false,"MinPrice":null,"Name":"Doppelzimmer mit Balkon"},{"_uuid":"c6d5c084-f0e6-5c59-8be0-76a8e39dc93f","IsActive":false,"MinPrice":null,"Name":"Einzelzimmer"}],"HasOccupancyFilter":false,"FilterOccupancy":null,"HasPromotionCode":false,"Build":"Default","UsePages":false,"ItemsPerPage":0,"IncludedProducts":{"IsForAll":true,"Items":["e0dd9de0-12e8-2982-83da-529fc75e6993","254ad45b-5070-80ae-f061-687e60d8ee43","4d961507-f155-cd96-a0d9-852e68ecac5d","6ba8fa86-4cfa-6ad7-9129-216452c97241","26954e92-0d26-7d3e-b1c1-be90b4a499da","c6d5c084-f0e6-5c59-8be0-76a8e39dc93f"]},"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"e6f6d28d-b338-4a2c-b467-47c7e28b0817","WidgetType":"packageList","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":true,"IsPrimaryConfig":true,"Fields":{"UseFilter":false,"UseCalendar":true,"HasCheckinDateFilter":true,"HasGroupFilter":false,"GroupFilter":"NoFilter","HasFilterPrice":false,"FilterMinimumPrice":50.0,"FilterMaximumPrice":65.0,"FilterPriceLap":5.0,"HasHotelFilter":false,"PreselectedHotels":[],"HasCategoryFilter":false,"PreselectedCategories":[],"HasLosFilter":false,"FilterLos":null,"HasPromotionCode":false,"Build":"","UsePages":false,"ItemsPerPage":0,"IncludedProducts":{"IsForAll":true,"Items":["e4691825-fa8d-6dd3-7914-4553383bd80c","eb0a0a19-0b2f-a4e6-32b3-2904f4514658"]},"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"418cd6fb-a433-4a88-bcd9-49fe97a79abc","WidgetType":"availabilityCalendar","Description":"Default QuickBook","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":true,"Fields":{"CustomLos":0,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":null,"TariffIds":null,"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":null},{"WidgetId":"17cbeda9-f419-d60d-cc58-f36867e878d8","WidgetType":"availabilityCalendar","Description":"Einzelzimmer","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["c6d5c084-f0e6-5c59-8be0-76a8e39dc93f"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"23703a35-e15e-1348-3c33-6a3e7d62a587","WidgetType":"availabilityCalendar","Description":"Doppelzimmer Budget","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["6ba8fa86-4cfa-6ad7-9129-216452c97241"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"7805f5ba-7cf1-8504-7a3e-cee80675dc15","WidgetType":"availabilityCalendar","Description":"Doppelzimmer","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["4d961507-f155-cd96-a0d9-852e68ecac5d"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"79f690b5-851a-6a89-01a4-fced5c72171c","WidgetType":"availabilityCalendar","Description":"Doppelzimmer Balkon","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["26954e92-0d26-7d3e-b1c1-be90b4a499da"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"052dab9d-bd61-63ee-03da-346873a643c2","WidgetType":"availabilityCalendar","Description":"Adler Suite","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["e0dd9de0-12e8-2982-83da-529fc75e6993"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}},{"WidgetId":"a9e3c154-d76e-ad40-d31d-091c8c227fdd","WidgetType":"availabilityCalendar","Description":"Broger Suite","DisplayTheme":"Light","IsCenteredAutomatically":false,"IsPrimaryConfig":false,"Fields":{"CustomLos":1,"HasAdditionalRow":true,"HasDoubleView":false,"HasPromotionCode":false,"ProductIds":["254ad45b-5070-80ae-f061-687e60d8ee43"],"TariffIds":[],"CustomStyles":"","UseCustomStyles":false},"WidgetProperties":{}}]}');sessionStorage.setItem('d21_uuid', 'd136b34c-57eb-4fd6-896c-943356fff037');const d21_css = document.createElement('link');d21_css.href = 'https://rc-0.widgets.dirs21.de/style.css?v=1.0.13';d21_css.rel = 'stylesheet';document.head.appendChild(d21_css);const quickbook = document.createElement('script');quickbook.src = 'https://rc-0.widgets.dirs21.de/quickbook.js?v=1.0.13';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.13'; 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.13'; 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.13'; availabilityCalendar.async = true; availabilityCalendar.type = 'module'; availabilityCalendar.defer = true; document.body.appendChild(availabilityCalendar);}}