/* LINK BASICS */

:root {
	/* Transition and animation */
	--scst-transition-timing: 			.4s;
	--scst-transition-timing-function: 	ease-out;
	/* Borders */
	--scst-border-color: 				color-mix(in srgb, var(--template-color-ink, #333), transparent 90%);
	/* Shadows */
	--scst-boxshadow: 2px 4px 22px rgba(0,0,0,.13);
	/* Colors */
	--scst-button-background: 			var(--template-color-white, #fff);
	--scst-button-color: 				var(--template-color-primary, #009fe3);
	--scst-button-hover-background: 	var(--template-color-secondary, #009fe3);
	--scst-button-hover-color: 			var(--template-color-white, #fff);
	--scst-button-book-background: 		var(--template-color-primary, #009fe3);
	--scst-button-book-color: 			var(--template-color-white, #fff);
	--scst-button-book-hover-background:var(--template-color-secondary, #fff);
	--scst-button-book-hover-color: 	var(--template-color-white, #009fe3);
}

.scst * {
	box-sizing: border-box;
}

/* LINK Erst mal sonstiges */

.scst__dotdotdot {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.scst__dotdotdot--1 {
	-webkit-line-clamp: 1;
}

.scst__dotdotdot--2 {
	-webkit-line-clamp: 2;
}

.scst__dotdotdot--5 {
	-webkit-line-clamp: 5;
}

.scst__visuallyhidden,
.grp .scst__visuallyhidden {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

#site .scst__list > .scst__visuallyhidden {
	margin-top: -41px;
}

/* LINK FILTER */

.scst__filterbox {
	display: none;
	grid-column: 1/-1;
	z-index: 10;
}

.scst__filterbox:has(>*) {
	display: flex;
}

.scst__filter {
	position: relative;
	display: inline-grid;
	gap: 0;
	margin: 0 auto;
	background-color: var(--template-color-white, #fff);
	padding-block: .5em;
}

.scst__filter[open] {
	z-index: 10;
	--_summary-borderradius: 30px 30px 0 0;
	--_z-index: 10;
}

.scst__filtersummary {
	position: relative;
	display: inline-grid;
	height: 60px;
	margin: 0 auto;
	padding-right: 80px;
	border: 1px solid #d9d9d9;
	border: 1px solid var(--scst-border-color);
	border-radius: var(--_summary-borderradius, 30px);
	background-color: var(--template-color-white, #fff);
	cursor: pointer;
}

[open] > .scst__filtersummary::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: block;
	background: transparent;
	transition: transform 0s .3s;
}

.scst__filtersummary::after {
	content: "\f078";
	position: absolute;
	inset: 0 0 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--template-color-primary);
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-size: 1.35em;
	font-weight: var(--font-family-icons-weight, 900);
	width: 80px;
}

.scst__filtersummary::-webkit-details-marker,
.scst__filtersummary::marker {
	display: none;
	content: "";
}

.scst__filtersummary:focus {
	outline: none;
}

.scst__filtercontents {
	position: absolute;
	top: 60px;
	left: 0;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 1px solid #d9d9d9;
	border: 1px solid var(--scst-border-color);
	border-top: 0;
	border-radius: 0 0 30px 30px;
	max-height: 401px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background-color: var(--template-color-white);
	z-index: var(--_z-index, initial);
}

main > .grp .scst__filtercontents {
	margin: 0;
	padding: 0;
}

.scst__filtercontents > li {
	display: block;
	margin: 0;
	padding: 0;
}

.scst__filterlabel,
.grp .scst__filterlabel {
	display: flex;
	align-items: center;
	padding: 10px 30px;
	min-height: 50px;
	background-color: #fff;
	background-color: color-mix(in srgb, var(--template-color-ink), transparent 100%);
	color: var(--template-color-ink);
	font-size: 16px;
	line-height: 1.25;
	transition: background-color .3s;
	cursor: pointer;
}

:is(.scst__filterlabel, .grp .scst__filterlabel, .no-touchevents .grp .scst__filterlabel):is(:hover, :focus, :visited, :active) {
	background-color: #f9f9f9;
	background-color: var(--scst-border-color);
	color: var(--template-color-ink);
	text-decoration: none;
}

.scst__filterradio {
	grid-area: 1/1/2/2;
	counter-increment: radios;
	appearance: none;
	color: transparent;
	pointer-events: none;
	display: flex;
	align-items: center;
	pointer-events: none;
	min-height: 58px;
	padding: 10px 30px;
	font-size: inherit;
	line-height: 1.25;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.scst__filterradio::after {
	content: attr(title);
	font-size: 1rem;
	color: transparent;
}

.scst__filterradio:checked {
	display: flex;
	align-items: center;
	pointer-events: none;
	min-height: 60px;
	padding: 10px 30px;
	font-size: inherit;
	line-height: 1.25;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.scst__filterradio:checked::after {
	color: inherit;
}

/* LINK LISTEN */

.scst__onepagerlist {
	display: grid;
}

.scst__list--hasfilter {
	min-height: 460px;
}

/* LINK ONEPAGER ITEM */

.scst__item {
	margin-top: var(--_margin-top, 30px);
}

.scst__item--detailsopen {
	--_grid-template-rows: 1fr;
	--_button-border-bottom: 1px solid var(--scst-border-color);
	--_content-details-after: "Close";
}

.scst__item--detailsopen .scst__action--details {
	--scst-button-hover-background: var(--scst-button-background);
	--scst-button-hover-color: var(--scst-button-color);
}

[lang="de"] .scst__item--detailsopen {--_content-details-after: "Schließen";}
[lang="fr"] .scst__item--detailsopen {--_content-details-after: "Fermer";}
[lang="it"] .scst__item--detailsopen {--_content-details-after: "Chiudi";}
[lang="es"] .scst__item--detailsopen {--_content-details-after: "Cerrar";}
[lang="nl"] .scst__item--detailsopen {--_content-details-after: "Sluiten";}

.scst__onepageritem {
	display: grid;
	grid-template-rows: auto auto 0fr;
	box-shadow: var(--scst-boxshadow);
	border-radius: 10px;
	font-size: 1rem; /* Resetting for em */
	overflow: hidden;
	reading-flow: grid-order;
	--_display-initially: grid;
}

.scst__imagebox {
	position: relative;
	display: grid;
	overflow: hidden;
	order: -1;
}

.scst__img {
	width: 100%;
	object-fit: cover;
}

.scst__img--floorplan:not(:first-child),
.grp .scst__img--floorplan:not(:first-child) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin-block: auto;
	object-fit: contain;
	background-color: var(--template-color-white, #fff);
}

.scst__img--slide,
.grp .scst__img--slide {
	grid-area: 1/1/2/2;
	margin: 0 auto;
}

.scst__slide {
	opacity: var(--_opacity, 0);
	transition: opacity .75s;
}

.scst__slide--active {
	--_opacity: 1;
}

.scst__sliderarrows {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	gap: .25em;
	justify-content: flex-end;
}

:is(.scst__sliderarrow, .scst__zoom) {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	border-radius: 60px;
	background: transparent;
	color: var(--template-color-white, #fff);
	border: none;
	font-family: var(--font-family-text, sans-serif);
	transition: background-color .2s;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

:is(.scst__sliderarrow, .scst__zoom)::before {
	content: var(--_slider-icon, "\f053");
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	font-size: 1.5em;
}

.scst__sliderarrow--next::before {
	--_slider-icon: "\f054";
}

.scst__imagebox:hover :is(.scst__sliderarrow, .scst__zoom) {
	background-color: rgba(0,0,0,.1);
	z-index: 1;
}

.scst__imagebox :is(.scst__sliderarrow, .scst__zoom):hover {
	background-color: rgba(0,0,0,.2);
}

.scst__zoom {
	--_slider-icon: "\f00e";
	margin-right: auto;
}

.scst__zoom::after {
	content: "";
	position: absolute;
	inset: max(-100vw, -100vh);
	z-index: -1;
}

.scst__overview {
	container-type: inline-size;
}

.scst__overviewbox {
	padding: .75em 1em;
}

.scst__contentbox {
	grid-column: 1/-1;
	display: grid;
	grid-template-rows: var(--_grid-template-rows, 0fr);
	transition: grid-template-rows var(--scst-transition-timing) var(--scst-transition-timing-function);
}

.scst__title,
.grp .scst__title {
	margin-top: 0;
	overflow-wrap: break-word;
	hyphens: auto;
}

.scst__title--roomlist,
.grp .scst__title--roomlist {
	color: var(--template-color-ink);
	font-size: 1.0625em;
	font-family: var(--font-family-text);
	font-weight: var(--font-family-text-bold, 700);
	line-height: 1.35;
}

.scst__contentbox > * {
	overflow: hidden;
}

.scst__metalist {
	display: flex;
	align-items: baseline;
	gap: .5em 1em;
	padding-left: 0;
	flex-wrap: wrap;
	font-size: .9375em;
}

:where(.scst__detailpage) .scst__metalist {
	align-items: normal;
}

.scst__metaitem {
	display: inline-block;
	min-width: fit-content;
}

.scst__metaitem::before {
	content: var(--_scst-icon, initial);
	display: inline-block;
	margin-inline: .5em;
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	scale: 1.13;
	transform-origin: center right;
}

.scst__metaitem--adults		{--_scst-icon: "\f0c0";}
.scst__metaitem--children	{--_scst-icon: "\e59d";}
.scst__metaitem--roomsize	{--_scst-icon: "\f854";}
.scst__metaitem--roomnumber	{--_scst-icon: "\f52b";}
.scst__metaitem--beds		{--_scst-icon: "\f236";}

.scst__onepageritem .scst__metaitem--price {
	flex-grow: initial;
	flex-basis: auto;
	margin-left: auto;
}

.scst__metaitem__text--from,
.scst__metaitem__text--priceperperson {
	font-size: var(--_highlight-font-size, .8667em);
}

.scst__metaitem__highlight--pricesign,
.scst__metaitem__highlight--price,
.scst__metaitem--nights {
	font-size: var(--_highlight-font-size, 1.133em);
	font-weight: var(--font-family-text-bold, 700);
}

.scst__teaser--room,
.scst__metaitem__text--perperson {
	display: none;
}

.scst__metaitem__text--perperson {
	speak: always;
	speak-as: spell-out;
}

.scst__metaitem__text--perpersonshort::before 				{content: "pp.";}
[lang="de"] .scst__metaitem__text--perpersonshort::before 	{content: "p. P.";}
[lang="fr"] .scst__metaitem__text--perpersonshort::before 	{content: "p.p.";}
[lang="it"] .scst__metaitem__text--perpersonshort::before 	{content: "p.p.";}
[lang="es"] .scst__metaitem__text--perpersonshort::before 	{content: "p.p.";}
[lang="nl"] .scst__metaitem__text--perpersonshort::before 	{content: "p.p.";}

.scst__teaser--room {
	font-size: .9375em;
}

.scst__actionbox {
	display: flex;
	gap: 0;
	border-top: 1px solid var(--scst-border-color);
}

.scst__actionform,
.scst__actions--metaitem,
.scst__metaitem--actionsvariant,
.scst__metaitem--actionsvariant li {
	display: contents;
}

.scst__action,
.grp .scst__action {
	flex-basis: 50%;
	flex-grow: 1;
	padding: 1em 0;
	border: none;
	border-right: var(--_border-right, 1px solid var(--scst-border-color));
	background-color: var(--scst-button-background);
	color: var(--scst-button-color);
	font-family: var(--font-family-text, sans-serif);
	font-size: .8125em;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	appearance: none;
	transition: background-color var(--scst-transition-timing) var(--scst-transition-timing-function),
				color var(--scst-transition-timing) var(--scst-transition-timing-function);
	-webkit-appearance: none;
}

:is(.scst__action, .grp .scst__action, .no-touchevents .grp .scst__action):is(:hover, :focus) {
	background-color: var(--scst-button-hover-background);
	color: var(--scst-button-hover-color);
	text-decoration: none;
}

:where(.scst__item--detailsopen) :is(.scst__action, .grp .scst__action):not(.scst__link--details) {
	border-bottom: var(--_button-border-bottom);
}

.scst__action--details,
.grp .scst__action--details{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: 0;
}

.scst__action--details::after {
	content: var(--_content-details-after, none);
	display: block;
	font-size: .6875em;
}

.scst__action--book,
.scst__action--apply {
	--_border-right: none;
	--scst-button-background: var(--scst-button-book-background);
	--scst-button-color: var(--scst-button-book-color);
	--scst-button-hover-background: var(--scst-button-book-hover-background);
	--scst-button-hover-color: var(--scst-button-book-hover-color);
}

:is(.scst__teaser--accordion, .scst__description--accordion),
main > .grp :is(.scst__teaser--accordion, .scst__description--accordion) {
	display: block;
	margin-block: 1rem;
}

.scst__ullist li {
	position: relative;
	display: block;
	margin: .5em 0;
	padding: 0 0 0 1.5em;
}

.scst__ullist li::before {
	content: "\f00c";
	position: absolute;
	left: 0;
	display: inline-block;
	color: var(--template-color-primary, #009fe3);
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	scale: 1.17;
}

.scst__contentbox :is(h3, h4) {
	color: var(--template-color-ink);
	font-family: var(--font-family-text, sans-serif);
	font-weight: var(--font-family-text-bold, 600);
	font-size: 1rem;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.scst__contentbox h4 {
	margin-block: 1.5em 1em;
}

.scst__teaser--accordion {
	font-weight: var(--font-family-text-bold, 700);
}

.scst__description--accordion {
	font-size: 1.0625em;
}

.scst__grid {
	display: grid;
	gap: 1.25em;
}

.scst__grid--columnwidth {
	grid-template-columns: repeat(auto-fill, minmax(min(75vw, var(--_grid-column-width, 260px)), 1fr));
}

.scst__grid--room {
	padding: 1.25em;
}

.scst__overlay {
	position: fixed;
	inset: 0;
	height: auto;
	border: none;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	background-color: rgba(0,0,0,.5);
	backdrop-filter: blur(5px);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 9000;
}

.scst__overlay[open] {
	display: flex;
	animation: scst-fade-in .5s;
}

:where(body:has(>.scst__overlay[open])) {
	overflow: hidden;
}

.scst__overlay.scst__overlay--fadeout {
	animation: scst-fade-out .5s forwards;
}

.scst__overlay--fadein {
	animation: scst-fade-in .5s forwards;
}

.scst__overlayinner {
	display: grid;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr auto;
	gap: 0 3px;
	width: 100%;
	height: 100%;
	max-width: min(max(90%, 80svw - 40px), 1600px);
	max-width: min(max(90%, 80vw - 40px), 1600px);
	max-height: min(max(90%, 80svh - 40px), 900px);
	max-height: min(max(90%, 80vh - 40px), 900px);
	border-radius: 15px;
	background-color: var(--template-color-ink, #000);
	box-shadow: 0 0 30px rgba(0,0,0,.5);
	overflow: hidden auto;
}

.scst__article {
	margin-bottom: 30px;
}

h1.scst__headline--offerdetail,
.grp h1.scst__headline--offerdetail {
	margin-top: 0;
}

.scst__headline--small,
.grp .scst__headline--small {
	margin: 2.5em 0 1.25em;
	color: var(--template-color-ink, #000);
	font-family: var(--font-family-text, sans-serif);
	font-size: 1.125em;
	font-weight: var(--font-family-text-bold, 700);
	letter-spacing: .1em;
	line-height: 1.5;
	text-transform: var(--_headline-texttransform, uppercase);
}

.scst__teaser--detail {
	margin-block: 1em;
	font-size: 1.375em;
	line-height: 1.8;
}

.scst__variantbox {
	margin-bottom: 30px;
}

.scst__variant {
	box-shadow: var(--scst-boxshadow);
	border-radius: 15px;
	overflow: hidden;
}

.scst__metalist--variants {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.scst__title--morevariants {
	margin-block: 3.5em 1.75em;
}

.scst__title--variant,
.grp .scst__title--variant {
	margin: 0;
	padding: 1.5em 1.25rem;
	padding: var(--_headline-padding, 1.5em clamp(1.25rem, 2vw, 1.875rem));
	color: var(--template-color-ink, #000);
	font-family: var(--font-family-text, sans-serif);
	font-size: 1.125em;
	letter-spacing: var(--_headline-letterspacing, .1em);
	line-height: 1.5;
	text-transform: var(--_headline-texttransform, uppercase);
}

:where(.scst__variantbox--variant) {
	--_headline-padding: 1em clamp(1.25rem, 2vw, 1.875rem) .5em;
	--_headline-letterspacing: 0;
	--_headline-texttransform: none;
	--tfdates-padding: 0;
	--tfavail-padding: .875em 1.125em .6em;
}

:where(.scst__variantbox) :is(.scst__metaitem--nights,
.scst__metaitem--price) {
	flex: 1 0 50%;
	display: var(--_display, flex);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1.5em .25em;
	letter-spacing: .03em;
}

.scst__metaitem--variant {
	padding-inline: clamp(1.25rem, 2vw, 1.875rem);
	outline: 1px solid var(--_outline, var(--scst-border-color));
	margin-top: 1px;
	font-size: 1rem;
	line-height: 1.5;
}

.scst__metaitem--price {
	margin-left: 1px;
	padding-left: var(--_padding-left, 1.25em);
	flex-basis: calc(50% - 1px);
}

:where(.scst__metalist--offer) .scst__metaitem--price {
	padding-left: var(--_padding-left, 0);
	flex-basis: auto;
}

.scst__metaitem--title,
.scst__metaitem--tfavail,
.scst__metaitem--actionsmain {
	flex: 1 1 100%;
}

.scst__metaitem--actionsmain {
	padding-inline: 0;
}

.scst__metaitem--actionsvariant button {
	flex: 1 1 50%;
	margin-top: 1px;
}

.scst__metaitem .scst__action {
	display: block;
	width: 100%;
	padding-block: 1.5em;
}

:where(.scst__variantbox) .scst__metaitem__highlight--stays {
	font-size: var(--_highlight-font-size, 1.875em);
}

.scst__metaitem__highlight--staystext {
	font-size: .9375em;
	font-weight: initial;
}

.scst__metaitem__highlight--priceall {
	font-size: var(--_highlight-font-size, 1.375em);
}

.scst__metaitem--tfavail {
	padding: var(--tfavail-padding, 1.125em);
}

.scst__tfdatestitle {
	font-weight: var(--font-family-text-bold, 700);
	letter-spacing: .1em;
}

.scst__tfdatestitle--variant {
	display: none;
}

.scst__tfdate:not(:last-child) {
	margin-bottom: .375em;
}

.scst__button--variantdetails {
	margin-top: 1px;
}

.scst__variantbox--variant :is(.scst__metaitem--nights, .scst__metaitem--price) {
	flex: 0 0 auto;
	outline: none;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: .75em;
	font-size: 1em;
	--_display: block;
	--_highlight-font-size: 1em;
	--_padding-left: .35em;
}

.scst__variantbox--variant :is(.scst__metaitem__text--from, .scst__metaitem__text--priceperperson) {
	font-size: .9375em;
}

.scst__variantbox--variant .scst__metaitem__highlight--staystext {
	font-weight: var(--font-family-text-bold, 700);
}


.scst__zoomimage {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
	grid-area: 1/1/3/3;
	overflow: hidden;
}

.scst__overlay button {
	background: var(--template-color-ink, #000);
	color: var(--template-color-white, #fff);
	border: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	font-size: 1.5em;
	cursor: pointer;
	transition: background-color .2s;
	z-index: 10;
	appearance: none;
	-webkit-appearance: none;
}

.scst__overlay button:hover {
	background-color: rgba(0,0,0,.2);
}

.scst__overlayclose {
	grid-area: 1/2/2/3;
	align-self: flex-end;
	margin: 10px 10px auto auto;
}

.scst__overlay button::before {
	content: var(--_zoom_icon, "\f00d");
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	font-size: 2rem;
}

.scst__overlayarrows {
	grid-area: 2/2/3/3;
	display: flex;
	gap: 10px;
	margin: auto 10px 10px auto;
}

.scst__overlayarrow--prev {
	margin-left: auto;
	--_grid-area: prev;
	--_zoom_icon: "\f053";
}

.scst__overlayarrow--next {
	margin-right: auto;
	--_grid-area: next;
	--_zoom_icon: "\f054";
}

.scst__item--offer {
	--_margin-top: 0;
	display: grid;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: var(--_boxshadow, 2px 4px 22px rgba(0,0,0,.12));
	transition: box-shadow .4s ease-out;
	--_display-initially: grid;
}

:where(.scst__item--offer) .scst__metalist {
	justify-content: center;
}

.scst__imagebox--offer {
	display: grid;
}

.scst__imagebox--offer > *,
.scst__imagebox--offer::before {
	grid-area: 1/1/2/2;
}

.scst__imagebox--offer::before {
	content: "";
	background: linear-gradient(to bottom, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 43%, rgba(0,0,0,0) 69%, rgba(0,0,0,.4) 100%);
	z-index: 1;
}

.scst__title--offerlist,
.grp .scst__title--offerlist {
	margin-bottom: auto;
	padding: 1.25rem 1rem 1rem;
	color: var(--template-color-white, #fff);
	font-family: var(--font-family-text, sans-serif);
	font-size: 1.375em;
	font-weight: var(--font-family-text-bold, 700);
	text-align: center;
	line-height: 1.35;
	z-index: 2;
}

.scst__tfdates {
	margin-top: auto;
	padding: 1rem;
	z-index: 2;
}

:where(.scst__variantbox--variant) .scst__tfdates {
	position: relative;
	margin-inline: 2.25rem;
	text-align: center;
}

:where(.scst__variantbox--variant) .scst__tfdates::before,
:where(.scst__variantbox--variant) .scst__tfdates::after {
	position: absolute;
	top: 0;
	display: inline-block;
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	transform: scale(1.25) translateY(-1px);
}

:where(.scst__variantbox--variant) .scst__tfdates::before {
	left: -1.75rem;
	content: "\f073";
}

:where(.scst__variantbox--variant) .scst__tfdates:has(>li:nth-child(2))::after {
	right: -1.75rem;
	content: "\f107";
}

.scst__tfdates--variants {
	padding: var(--tfdates-padding, .5em 0 0);
	letter-spacing: .025em;
}

:where(.scst__variant--variant) .scst__tfdate:not(:first-child) {
	display: var(--_display-tfdate, none);
}

:where(.scst__variant--variant) .scst__metaitem--tfavail:hover {
	--_display-tfdate: block;
}

:is(body, .grp, .no-touchevents .grp) :is(.scst__item--offer, .scst__item--offer:hover) {
	color: var(--template-color-ink, #000);
	text-decoration: none;
}

.scst__tfdates--card {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--template-color-white, #fff);
}

.scst__tfdate--more {
	order: -1;
	font-weight: var(--font-family-text-bold, 700);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.scst__metalist--offer {
	padding: 1rem;
	display: flex;
	gap: 0 .5em;
	font-size: .9375em;
}

.scst__link--offerdetail,
.grp .scst__link--offerdetail {
	padding: 1.25em .5em;
	--_padding-block: 1.25em;
	border-top: 1px solid var(--scst-border-color);
	letter-spacing: .1em;
}

.scst__img--offer {
	transition: scale .4s ease-out;
	scale: var(--_img-scale, 1);
}

.scst__item--offer:has(.scst__action--details:hover) {
	--_img-scale: 1.05;
	--_boxshadow: 2px 4px 22px rgba(0,0,0,.3);
}

.scst__item--pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1em;
	aspect-ratio: 320/448;
	background: var(--scst-border-color, #fff);
	border: none;
	font-family: var(--font-family-text, sans-serif);
	font-weight: var(--font-family-text-bold, 700);
	font-size: 1.375em;
	letter-spacing: .075em;
	text-transform: uppercase;
	transition: background-color .2s, color .2s;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.scst__item--invisible {
	opacity: 0;
	pointer-events: none;
}

.scst__item--pagination:hover {
	background: var(--template-color-primary, #009fe3);
	color: var(--template-color-white, #fff);
}

.scst__filteritem {
	display: var(--_display, var(--_display-initially, block));
}

.scst__item--animatein {
	animation: var(--_card-animation-in, scst-fade-in) .5s;
}

/* LINK Programmlisten */

.scst__programlist {
	margin-top: 40px;
	--_display-initially: grid;
}

.scst__headline--programgroup {
	grid-column: 1/-1;
}

.scst__headline--programgroupcard,
.grp .scst__headline--programgroupcard {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 1.25rem;
	aspect-ratio: 320/320;
	background-color: var(--template-color-bright, #f7f4eb);
	color: var(--template-color-ink, #000);
	font-family: var(--font-family-text, sans-serif);
	overflow-wrap: break-word;
	hyphens: auto;
}

.scst__item--program {
	display: flex;
	flex-direction: column;
	margin-bottom: auto;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: var(--scst-boxshadow);
	--_margin-top: 0;
}

.scst__title--program,
.grp .scst__title--program {
	margin: var(--_headline-margin, 1.5rem 1.25rem .75rem);
	color: var(--template-color-ink, #000);
	font-family: var(--font-family-text, sans-serif);
	font-size: 1.25em;
	font-weight: var(--font-family-text-bold, 700);
	line-height: 1.35;
	overflow-wrap: break-word;
	hyphens: auto;
}

:where(.scst__item--program:not(:has(img))) {
	--_headline-margin: 1.5rem 1.25rem 1.5rem;
}

.scst__metalist--program {
	display: flex;
	align-items: first baseline;
	flex-wrap: wrap;
	gap: .5em 1em;
	padding: 0 1.25rem 1em;
	font-size: 1em;
}

.scst__duration {
	font-size: 1em;
}

.scst__duration::before {
	content: "\e29e";
	font-family: var(--font-family-icons, "Font Awesome 6 Pro");
	font-weight: var(--font-family-icons-weight, 900);
	font-size: 1.375em;
}

.scst__actions--program {
	margin-top: auto;
	display: flex;
	gap: 0;
	border-top: 1px solid var(--scst-border-color);
	text-align: center;
}

.scst__actions--program button,
.grp .scst__actions--program button {
	flex: 1 1 50%;
	align-items: center;
	text-align: center;
}

.scst__actions--program form {
	display: contents;
}

.scst__list--masonry {
	grid-template-rows: var(--_no-masonry, masonry);
	masonry-auto-flow: ordered;
}

.scst__list--masonry:not(:has(img)) {
	grid-template-rows: unset;
}

.scst__teaser--program,
main > .grp .scst__teaser--program {
	font-size: var(--_font-size, .9375em);
	margin: var(--_margin, 0 1.25rem .5rem);
}

.scst__link--programdetail {
	--_padding-block: 1.25em;
}

/* LINK Programm Detailseiten / Overlays */

.scst__teaser--programdetailpage {
	--_margin: 1em 0;
}

.scst__teaser--programdetailpage {
	--_font-size: 1.25em;
}

.scst__metalist--programdetailpage {
	justify-content: center;
	align-items: center;
}

:where(.scst__detailpage--program) .scst__title--variant {
	border-bottom: 1px solid var(--scst-border-color);
}

:where(.scst__detailpage--program) .scst__metaitem__text {
	font-weight: bold;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: 1rem;
}

:where(.scst__detailpage--program) .scst__metaitem {
	display: flex;
	flex-direction: column;
	padding: 2em 1.25em;
	flex-grow: 1;
	text-align: center;
	width: 100%;
}

:where(.scst__detailpage--program) .scst__metaitem + .scst__metaitem {
	border-left: 1px solid var(--scst-border-color);
}

:where(.scst__detailpage--program) .scst__duration::before {
	display: none;
}

:where(.scst__detailpage--program) .scst__metalist--program {
	padding-bottom: 0;
	gap: 0;
	flex-wrap: nowrap;
}

:where( .scst__detailpage--program) .scst__actions {
	flex-basis: 50%;
}

.scst__overlayinner--program {
	position: relative;
	display: block;
	max-width: min(max(80%, 80vw - 40px), 780px);
	height: auto;
	background-color: var(--template-color-white, #fff);
	line-height: 1.7;
}

.scst__programdetail--justfetched {
	margin-top: -50px;
	max-height: 100%;
	overflow: hidden auto;
}

:where(.scst__overlayinner--program) .scst__overlayclose {
	position: sticky;
	top: 10px;
	right: 0;
	left: 100%;
	margin-top: 0;
}

:where(.scst__overlayinner--program) :is(.grp .scst__headline, .scst__headline, .scst__teaser, .scst__metalist, .scst__description, .scst__actionlist) {
	margin: 0 clamp(1.25rem, 2vw, 40px) 1em;
	padding: 0;
}

:where(.scst__overlayinner--program) :is(.grp .scst__headline, .scst__headline) {
	margin-bottom: .5em;
}

:where(.scst__variantbox--detailpage) .scst__metaitem {
	font-size: 1.375em;
	font-weight: bold;
	letter-spacing: .03em;
	overflow-wrap: break-word;
	hyphens: auto;
}

:where(.scst__variantbox--detailpage) {
	font-size: 1rem;
}

.scst__headline,
.grp .scst__headline {
	margin-top: 1em;
}

:where(.scst__programlist) .scst__headline,
.grp :where(.scst__programlist) .scst__headline {
	margin-block: 0;
}

:where(.scst__overlayinner--program) .scst__teaser {
	font-size: 1.25em;
	font-weight: var(--font-family-text-bold, 700);
}

:where(.scst__overlayinner--program) .scst__metaitem {
	display: flex;
	align-items: baseline;
	gap: .35em;
	padding-inline: 0;
	font-size: 1.25em;
	font-weight: var(--font-family-text-bold, 700);
	margin-right: 1em;
}

:where(.scst__overlayinner--program) .scst__metaitem::before {
	margin: 0 0 0 .7em;
	font-size: 1em;
	scale: 1.1;
}

:where(.scst__overlayinner--program) .scst__metaitem__text {
	font-size: 1rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	order: -1;
}

:where(.scst__overlayinner--program) .scst__metaitem__highlight {
	font-size: 1.25em;
}

:where(.scst__overlayinner--program) .scst__actionslist--program {
	position: sticky;
	margin-top: 1.875em;
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

:where(.scst__overlayinner--program) .scst__actions--program {
	flex: 1 0 auto;
}

:is(.scst__overlayinner--program, .scst__overlayinner--program .scst__actionslist--program) .scst__action {
	border-radius: 0;
	flex: 1 0 auto;
	width: auto;
	padding-block: 2em;
}

:where(.scst__overlayinner--program) .scst__action::before {
	display: none;
}

:where(.scst__overlayinner--program) .scst__actions:last-child {
	--scst-button-background: var(--scst-button-book-background);
	--scst-button-color: var(--scst-button-book-color);
	--scst-button-hover-background: var(--scst-button-book-hover-background);
	--scst-button-hover-color: var(--scst-button-book-hover-color);
	--scst-border-color: var(--scst-button-book-background);
}

:where(.scst__overlayinner--program) :is(.scst__actions:last-child:hover, .scst__actions:last-child:focus-within) {
	--scst-border-color: var(--scst-button-hover-background);
}

/* Job Liste */

.scst__joblist {
	--_grid-column-width: 340px;
}

.scst__teaser--job {
	padding-inline: 1.25em;
}

.scst__teaser--job,
main > .grp .scst__teaser--job {
	margin-bottom: 0;
}

.scst__metalist--job {
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 0;
}

.scst__metaitem--job {
	width: 100%;
	border-top: 1px solid var(--scst-border-color);
	padding-block: 1em;
	font-size: 1rem;
	font-weight: var(--font-family-text-bold, 700);
	text-align: center;
	text-transform: uppercase;
}

.scst__address {
	padding-inline: clamp(1.25rem, 2vw, 1.875rem);
	text-align: left;
	text-transform: initial;
	text-wrap: balance;
}

.scst__button--apply {
	border-top: 1px solid var(--scst-border-color);
	width: 100%;
}

@media (orientation: portrait) {

	.scst__overlayinner:has(.scst__zoomimage)::before {
		content: "\f3ce";
		margin: auto;
		color: var(--template-color-white, #fff);
		font-family: var(--font-family-icons, "Font Awesome 6 Pro");
		font-weight: var(--font-family-icons-weight, 900);
		font-size: 120px;
		grid-area: 1/1/3/3;
		opacity: 0;
		z-index: 10;
		animation: rotatePhoneIcon 2s 2 ease-out;
	}

	.scst__zoomimage {
		animation: rotatePhoneFilter 4.5s ease-out;
	}
}

@media (max-width: 375px) {

	:where(.scst__overview--room) .scst__metalist {
		column-gap: .25em;
	}
}

@media (max-width: 414px) {

	:where(.scst__overview--room) .scst__metalist {
		font-size: .8em;
	}
}

@media (max-width: 639px) {

	.scst__griditem--room {
		display: contents;
	}

	:is(.scst__teaser--accordion, .scst__description--accordion), 
	main > .grp :is(.scst__teaser--accordion, .scst__description--accordion) {
		margin-block: 0;
	}

	.scst__teaser--accordion {
		font-size: 1.0667em;
	}

	.scst__description--accordion {
		font-size: .875em;
	}

	.scst__contentbox h3 {
		display: none;
	}

	.scst__contentbox h4 {
		font-size: .9375em;
	}

	:where(.scst__filter,
	.scst__filtersummary) {
		width: 100%;
	}
}

@media (max-width: 767px) {

	.scst__variant--main {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 480px;
		margin-inline: auto;
		font-size: .875rem;
		background-color: var(--template-color-white, #fff);
		z-index: 100;
		border-radius: 15px 15px 0 0;
		--_highlight-font-size: .875rem;
		--_outline: transparent;
	}

	:where(.scst__variant--main) .scst__metalist {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
	}

	:where(.scst__variant--main) :is(
		.scst__title,
		.scst__tfdatestitle,
		.scst__tfdate:not(:first-child),
	) {
		display: var(--_mainvariant-display, none);
	}

	:where(.scst__variant--main) :is(
		.scst__metaitem--variant,
		.scst__metaitem--price
	) {
		flex: initial;
	}

	:where(.scst__variant--main) :is(
		.scst__metaitem--nights,
		.scst__metaitem--price
	) {
		display: block;
		padding: .5em 1em 0;
		align-self: flex-end;
		align-self: end;
	}

	.scst__metaitem--nights:not(:has(+.scst__metaitem--price)) {
		padding-bottom: .5em;
		align-self: center;
	}

	:where(.scst__variant--main) .scst__metaitem--price {
		align-self: flex-start;
		align-self: start;
		font-size: .875rem;
		padding-block: 0 .75em;
	}

	:where(.scst__variant--main) .scst__metaitem--tfavail {
		grid-column: 2/3;
		grid-row: 1/3;
		padding: .5em 1.25em .5em .5em;
	}

	:where(.scst__variant--main) .scst__metaitem--tfavail:nth-child(2) {
	grid-row: initial;
	}

	:where(.scst__variant--main) .scst__tfdatestitle--main {
		--_mainvariant-display: none;
	}

	:where(.scst__variant--main) .scst__metaitem--tfavail:hover {
		--_mainvariant-display: flex;
	}

	:where(.scst__variant--main) :is(
		.scst__metaitem--actions,
		.scst__actions
	) {
		display: contents;
	}

	:where(.scst__variant--main) .scst__action,
	.grp :where(.scst__variant--main) .scst__action {
		border-top: 1px solid var(--scst-border-color);
		font-size: .875em;
	}

	:where(.scst__variant--main) .scst__tfdate {
		font-size: .8125em;
	}

	/* Wir brauchen hier auch Arrows mit Dropdown, wie bei den Varianten */

	:where(.scst__variant--main) .scst__tfdate--first {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0 .75em;
	}

	:where(.scst__variant--main) .scst__tfdate--first::after {
		content: "\f107";
		font-family: var(--font-family-icons, "Font Awesome 6 Pro");
		font-weight: var(--font-family-icons-weight, 900);
		display: inline-block;
		scale: 1.25;
	}

	:where(.scst__variant--main) .scst__tfdate--first::before {

	}

	#site:has(.scst__variant--main) .footer-partners {
		padding-bottom: calc(var(--scst-variant-main-box-height, 100px) + var(--scst-variant-main-box-additionalspace, 30px));
	}

	#site.open .scst__variant--main,
	body:has(input.global-toggle:checked) #site .scst__variant--main {
		z-index: initial;
	}

	.scst__overlay {
		font-size: .8em;
	}

	:where(.scst__overlay) :is(
		.scst__action, 
		.grp .scst__action
	) {
		font-size: 1em;
	}

	.site:has(main .scst__actions--metaitem) :is(.nst15-widget, .nst21-widget) {
		display: none;
	}

	.site:has(.scst__detailpage--offer) .header-widget {
		display: none;
	}
}

@media (min-width: 640px) {

	.scst__item {
		margin-top: var(--_margin-top, 40px);
	}

	.scst__onepageritem {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr auto;
		max-width: 1160px;
		margin-inline: auto;
	}

	.scst__img--slide,
	.grp .scst__img--slide {
		min-height: 100%;
		object-fit: cover;
	}

	.scst__overview {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.scst__overviewbox {
		margin-block: auto;
	}

	.scst__grid {
		gap: 40px;
	}

	.scst__grid--1-1 {
		grid-template-columns: 1fr 1fr;
	}

	.scst__grid--1-2 {
		grid-template-columns: 1fr 2fr;
	}

	.scst__grid--2-1:not(.scst__detailpage) {
		grid-template-columns: 2fr 1fr;
	}

	.scst__grid--room {
		padding: 40px;
	}

	.scst__teaser--accordion {
		font-size: 1.25em;
	}

	.scst__sliderarrows {
		left: 1em;
		right: 1em;
		bottom: 1em;
	}
}

@media (min-width: 768px) {

	.scst__title--roomlist,
	.grp .scst__title--roomlist {
		font-size: 1.25em;
		line-height: 1.35;
	}

	.scst__teaser {
		display: -webkit-box;
	}

	.scst__teaser--detail {
		display: block;
	}

	.scst__grid--2-1.scst__detailpage {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 960px) {

	.scst__grid--2-1.scst__detailpage {
		grid-template-columns: 2fr 1fr;
	}
}

@media (min-width: 1200px) {

	.scst__grid--2-1 {
		gap: 120px;
	}

	.scst__overviewbox {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		gap: .35em;
		padding: 1.875em 2.5em;
	}

	.scst__title--roomlist,
	.grp .scst__title--roomlist {
		font-size: 1.625em;
	}

	.scst__action,
	.grp .scst__action {
		font-size: 1em;
		padding: 1.25em 0;
	}

	.scst__action--details,
	.grp .scst__action--details {
		padding-block: var(--_padding-block, 0);
	}

	.scst__metalist {
		font-size: 1.125em;
	}

	.scst__teaser--room {
		font-size: 1em;
	}

	.scst__teaser--accordion {
		font-size: 1.25em;
	}

	main>.grp:has(.scst__offerlist),
	main>.grp:has(.scst__programlist) {
		padding-inline: max(1.25em, 50% - 700px);
	}

	.scst__metaitem .scst__action {
		padding-block: 1.5em;
	}

	.scst__metalist--program {
		font-size: 1em;
	}

	.scst__programlist {
		padding-bottom: 20px;
	}
}


/* LINK Animationen */
@keyframes scst-fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes scst-fade-out {
	0% {
		display: flex;
		opacity: 1;
	}
	100% {
		display: flex;
		opacity: 0;
	}
}

@keyframes rotatePhoneIcon {
	0% {
		opacity: 1;
		transform: rotate(0deg);
	}
	25% {
		opacity: 1;
		transform: rotate(90deg);
	}
	50% {
		opacity: 1;
		transform: rotate(90deg);
	}
	75% {
		opacity: 0;
		transform: rotate(90deg);
	}
	80% {
		transform: rotate(0deg);
	}
	100% {
		opacity: 0;
		transform: rotate(0deg);
	}
}

@keyframes rotatePhoneFilter {
	0% {
		filter: brightness(50%);
	}
	89% {
		filter: brightness(50%);
	}
	100% {
		filter: brightness(100%);
	}
}

/* CST NST 2021 v1.1 Update */

:where(.scst__overlay) .cst-detail {
	margin: 1.25rem;
}

:where(.scst__overlay) .cst-detail {
	display: flex;
	flex-direction: column;
}

:where(.scst__overlay .cst-detail) > * {
	width: 100%;
}

:where(.scst__overlay) .cst-detail-offer-left {
	order: 1;
	margin-top: 1.25rem;
}

@media (min-width: 768px) {

	:where(.scst__overlay) :is(.cst-detail-left, .cst-detail-right) {
		width: 100%;
		margin-inline: 0;
	}
}

@media (min-width: 960px) {

	:where(.scst__overlay) .cst-detail {
		margin: 2.5rem;
	}

	:where(.scst__overlay) .cst-detail-program-right-hasvariants {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}

	:where(.scst__overlay) .cst-detail-subheadline {
		grid-column: 1/-1;
	}
}