@font-face {
	font-family: 'Fira Sans';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url('../assets/fonts/fira-sans/fira-sans-regular.eot');
	src: url('../assets/fonts/fira-sans/fira-sans-regular.eot?#iefix') format('embedded-opentype'),
		url('../assets/fonts/fira-sans/fira-sans-regular.woff2') format('woff2'),
		url('../assets/fonts/fira-sans/fira-sans-regular.woff') format('woff'),
		url('../assets/fonts/fira-sans/fira-sans-regular.ttf') format('truetype'),
		url('../assets/fonts/fira-sans/fira-sans-regular.svg#Fira-Sans') format('svg');
}

@font-face {
	font-family: 'Fira Sans';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url('../assets/fonts/fira-sans/fira-sans-bold.eot');
	src: url('../assets/fonts/fira-sans/fira-sans-bold.eot?#iefix') format('embedded-opentype'),
		url('../assets/fonts/fira-sans/fira-sans-bold.woff2') format('woff2'),
		url('../assets/fonts/fira-sans/fira-sans-bold.woff') format('woff'),
		url('../assets/fonts/fira-sans/fira-sans-bold.ttf') format('truetype'),
		url('../assets/fonts/fira-sans/fira-sans-bold.svg#Fira-Sans') format('svg');
}

:root {
	--color--primary: rgba(var(--primary));
	--color--primary-fade-05: rgba(var(--primary), .05);
	--color--primary-fade-10: rgba(var(--primary), .1);
	--color--primary-fade-15: rgba(var(--primary), .15);
	--color--primary-fade-20: rgba(var(--primary), .2);
	--color--primary-fade-25: rgba(var(--primary), .25);
	--color--primary-fade-30: rgba(var(--primary), .3);
	--color--primary-fade-35: rgba(var(--primary), .35);
	--color--primary-fade-40: rgba(var(--primary), .4);
	--color--primary-fade-45: rgba(var(--primary), .45);
	--color--primary-fade-50: rgba(var(--primary), .5);
	--color--primary-fade-55: rgba(var(--primary), .55);
	--color--primary-fade-60: rgba(var(--primary), .6);
	--color--primary-fade-65: rgba(var(--primary), .65);
	--color--primary-fade-70: rgba(var(--primary), .7);
	--color--primary-fade-75: rgba(var(--primary), .75);
	--color--primary-fade-80: rgba(var(--primary), .8);
	--color--primary-fade-85: rgba(var(--primary), .85);
	--color--primary-fade-90: rgba(var(--primary), .9);
	--color--primary-fade-95: rgba(var(--primary), .95);


	--color--white: rgb(var(--white));
	--color--lightgrey: rgb(var(--lightgrey));
	--color--gold: rgb(var(--gold));
	--color--black: rgb(var(--black));
	--color--violet: rgb(var(--violet));
	--color--red: rgb(var(--red));
	--color--grey: rgb(var(--grey));
	--color--gold-fade-05: rgba(var(--gold), .05);
	--color--gold-fade-10: rgba(var(--gold), .1);
	--color--gold-fade-15: rgba(var(--gold), .15);
	--color--gold-fade-20: rgba(var(--gold), .2);
	--color--gold-fade-25: rgba(var(--gold), .25);
	--color--gold-fade-30: rgba(var(--gold), .3);
	--color--gold-fade-35: rgba(var(--gold), .35);
	--color--gold-fade-40: rgba(var(--gold), .4);
	--color--gold-fade-45: rgba(var(--gold), .45);
	--color--gold-fade-50: rgba(var(--gold), .5);
	--color--gold-fade-55: rgba(var(--gold), .55);
	--color--gold-fade-60: rgba(var(--gold), .6);
	--color--gold-fade-65: rgba(var(--gold), .65);
	--color--gold-fade-70: rgba(var(--gold), .7);
	--color--gold-fade-75: rgba(var(--gold), .75);
	--color--gold-fade-80: rgba(var(--gold), .8);
	--color--gold-fade-85: rgba(var(--gold), .85);
	--color--gold-fade-90: rgba(var(--gold), .9);
	--color--gold-fade-95: rgba(var(--gold), .95);

	--color--white-fade-05: rgba(var(--white), .05);
	--color--white-fade-10: rgba(var(--white), .1);
	--color--white-fade-15: rgba(var(--white), .15);
	--color--white-fade-20: rgba(var(--white), .2);
	--color--white-fade-25: rgba(var(--white), .25);
	--color--white-fade-30: rgba(var(--white), .3);
	--color--white-fade-35: rgba(var(--white), .35);
	--color--white-fade-40: rgba(var(--white), .4);
	--color--white-fade-45: rgba(var(--white), .45);
	--color--white-fade-50: rgba(var(--white), .5);
	--color--white-fade-55: rgba(var(--white), .55);
	--color--white-fade-60: rgba(var(--white), .6);
	--color--white-fade-65: rgba(var(--white), .65);
	--color--white-fade-70: rgba(var(--white), .7);
	--color--white-fade-75: rgba(var(--white), .75);
	--color--white-fade-80: rgba(var(--white), .8);
	--color--white-fade-85: rgba(var(--white), .85);
	--color--white-fade-90: rgba(var(--white), .9);
	--color--white-fade-95: rgba(var(--white), .95);

	--color--black-fade-05: rgba(var(--black), .05);
	--color--black-fade-10: rgba(var(--black), .1);
	--color--black-fade-15: rgba(var(--black), .15);
	--color--black-fade-20: rgba(var(--black), .2);
	--color--black-fade-25: rgba(var(--black), .25);
	--color--black-fade-30: rgba(var(--black), .3);
	--color--black-fade-35: rgba(var(--black), .35);
	--color--black-fade-40: rgba(var(--black), .4);
	--color--black-fade-45: rgba(var(--black), .45);
	--color--black-fade-50: rgba(var(--black), .5);
	--color--black-fade-55: rgba(var(--black), .55);
	--color--black-fade-60: rgba(var(--black), .6);
	--color--black-fade-65: rgba(var(--black), .65);
	--color--black-fade-70: rgba(var(--black), .7);
	--color--black-fade-75: rgba(var(--black), .75);
	--color--black-fade-80: rgba(var(--black), .8);
	--color--black-fade-85: rgba(var(--black), .85);
	--color--black-fade-90: rgba(var(--black), .9);
	--color--black-fade-95: rgba(var(--black), .95);

	--size-2: .0625em;
	--size-3: .09375em;
	--size-4: .125em;
	--size-6: .25em;
	--size-8: .375em;
	--size-12: .625em;
	--size-13: .75em;
	--size-14: .8125em;
	--size-15: .875em;
	--size-16: .9375em;
	--size-18: 1em;
	--size-20: 1.125em;
	--size-24: 1.25em;
	--size-28: 1.375em;
	--size-32: 1.5em;
	--size-40: 1.75em;
	--size-48: 2em;
	--size-56: 2.25em;
	--size-60: 2.375em;
	--size-64: 2.5em;
	--size-72: 2.75em;
	--size-80: 3em;
	--size-96: 3.5em;
	--size-128: 4em;
	--transition: all .5s cubic-bezier(.23, 1, .32, 1);
	--box-shadow: 0 0 var(--size-16) var(--color-black-fade-10);
}

.color--gold {
	color: var(--color--gold) !important;
}

.color--white {
	color: var(--color--white) !important;
}

.color--primary {
	color: var(--color--primary) !important;
}

.background--primary {
	background: var(--color--primary) !important;
}

.background--primary {
	background: var(--color--primary) !important;
}

.background--primary a {
	color: var(--color--white);
}

.background--primary .icon-text {
	fill: var(--color--white);
}

.background--primary h4,
.background--primary h5,
.background--primary h6 {
	color: var(--color--black);
}

.background--primary .icon-text.is--highlight>svg {
	background: var(--color--white);
}

.background--primary *:focus-visible {
	outline-color: var(--color--white);
}

.background--primary ::selection,
.background--primary ::-moz-selection {
	color: var(--color--primary);
	background: var(--color--white);
}

.background--white-fade-10 {
	background: var(--color--white-fade-10) !important;
}

.background--white-fade-05 {
	background: var(--color--white-fade-05) !important;
}


.is--hidden {
	display: none !important;
}

.is--disabled {
	cursor: not-allowed;
	opacity: .5;
	user-select: none;
}

.is--disabled * {
	pointer-events: none;
}

.no-margin-top {
	margin-top: 0 !important;
}

.no-margin-bottom {
	margin-bottom: 0 !important;
}

.small-margin-top {
	margin-top: .5em !important;
}

.small-margin-bottom {
	margin-bottom: .5em !important;
}

.medium-margin-top {
	margin-top: 2em !important;
}

.medium-margin-bottom {
	margin-bottom: 2em !important;
}

.large-margin-top {
	margin-top: 4em !important;
}

.large-margin-bottom {
	margin-bottom: 4em !important;
}

.text-align-center {
	text-align: center !important;
}

.font-size--small {
	font-size: 0.75em;
}

.font-size--tiny {
	font-size: 0.625em;
}

.font-size--extra-tiny {
	font-size: 0.5em;
}

.narrow--content {
	max-width: 41em;
	margin-left: auto !important;
	margin-right: auto !important;
}

.is--style-h3 {
	font-size: 1.25em;
	text-align: unset !important;
}

::selection,
::-moz-selection {
	color: var(--color--white);
	background: var(--color--primary);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: none;
	font-size: 1em;
	position: relative;
	outline: 2px solid transparent;
	font-variant-ligatures: none;
}

*:focus-visible {
	outline-offset: .25em;
	outline-color: var(--color--primary);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 10%;
	overflow-x: clip;
	font-size: 16px;
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	background: var(--background);
	min-height: 100vh;
	color: var(--color--white);
}

html,
body {
	overflow-x: clip;
}

body::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
}

body.is--homepage {
	position: relative;
}

body.is--homepage h1 {
	text-transform: uppercase;

}

cite {
	font-style: normal;
	font-weight: bold;
}

svg {
	width: 1em;
	height: 1em;
	aspect-ratio: 1;
	fill: var(--color--primary);
	flex: 0 0 auto;
}

span p {
	display: inline;
	margin: 0;
}

header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	gap: 2em;
	padding: .5em 1.5em;
	transition: var(--transition);
}

header .btn:not(#sticky-btn) {
	width: 3em;
	aspect-ratio: 1;
	padding: 0;
	border-radius: 10em;
	overflow: visible;
	margin: 0;
}

header .btn:not(#sticky-btn, #menu-toggle, #cart-btn, .is--toggle) {
	background: var(--header-accent-color);
	border-color: var(--header-accent-color);
	color: var(--header-color);
	fill: var(--header-background);
}

header .btn:not(#sticky-btn) span {
	display: none;
}

header .btn#sticky-btn {
	position: fixed;
	inset: auto 0 0 0;
}

header.is--small {
	background: var(--header-background);
	border-bottom: 2px solid var(--header-accent-color);
	transition: var(--transition);
}

header.is--small #cart-btn {
	background-color: var(--color--white);
	color: var(--color--black);
	fill: var(--color--primary);
	border-color: var(--color--white);
}

header.is--small #cart-btn .indicator {
	background-color: var(--color--black);
	color: var(--color--white);
}

#logo {
	flex: 0 0 auto;
	width: 6em;
}

main {
	background: var(--color--black);
	border-radius: 1em;
	border: 2px solid var(--color--primary);
	margin-top: 5em;
	max-width: 75em;
	margin-left: auto;
	margin-right: auto;
	width: 95vw;
	overflow: hidden;
}


section,
.wrapper {
	padding: var(--section-padding-top-bottom-small) var(--section-padding-left-right-small);
}

p,
ul,
ol {
	margin: 1em 0;
	font-weight: 400;
}

a {
	color: var(--color--primary);
	text-decoration: underline;
	transition: var(--transition);
}

a:hover {
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

ul,
ol,
p,
input,
textarea,
select,
table,
label,
legend,
details summary,
cite {
	font-size: .875em;
	line-height: 1.75;
}

table {
	width: 100%;
	text-align: left;
	border-spacing: 0;
	border-collapse: collapse;
	table-layout: auto;
}

table thead th,
table thead td,
table tfoot th,
table tfoot td {
	font-weight: 700;
}

table td,
table th {
	padding: .75em 1em;
	width: max-content;
}

table td .btn,
table th .btn {
	display: inline-flex;
	margin: 0;
	vertical-align: middle;
}

table thead {
	border-bottom: 1px solid var(--color--white-fade-25);
}

table tfoot {
	border-top: 1px solid var(--color--white-fade-25);
}

table tbody tr {
	transition: var(--transition);
}

table tbody tr:nth-child(2n) {
	background: var(--color--white-fade-10);
}

table tbody tr:hover {
	background: var(--color--white-fade-20);
}

table strong {
	color: var(--color--primary);
	margin-right: .75em;
}

table.price-table {
	white-space: nowrap;
}

table.price-table tbody th,
table.price-table tbody td {
	padding-top: .5em;
	padding-bottom: .5em;
}

table.price-table th:first-child,
table.price-table td:first-child {
	padding-left: 0;
}

table.price-table th:last-child,
table.price-table td:last-child {
	white-space: nowrap;
	text-align: right;
	padding-right: 0;
}

table.price-table tbody tr:first-child th,
table.price-table tbody tr:first-child td {
	white-space: nowrap;
	padding-top: 1em;
}

table.price-table tbody tr:last-child th,
table.price-table tbody tr:last-child td {
	padding-bottom: 1em;
}

table.price-table tbody tr {
	background: transparent;
}

table.price-table thead {
	border-bottom-color: var(--color--white);
}

table.price-table tfoot {
	border-top-color: var(--color--white);
}

table#advance_sales_stands {
	table-layout: fixed;
}

ul {
	list-style: none;
	padding-left: 1.5em;
}

ul.no-list-style {
	list-style: none !important;
	padding-left: 0;
	font-size: 1em;
}

ul.no-list-style li::before {
	display: none;
}

ul li::before {
	content: "";
	display: block;
	position: absolute;
	top: .5em;
	left: -1em;
	border-radius: 50%;
	background: var(--color--white);
	width: .25em;
	aspect-ratio: 1;
}

small,
time {
	font-size: 75%;
}

input,
textarea,
select {
	border-width: 1px;
	border-style: solid;
	padding: 1em 1.25em;
	color: var(--color--white);
	width: 100%;
	display: block;
	border-radius: 0;
	transition: var(--transition);
	border-image: linear-gradient(to top right, var(--color--white-fade-10), var(--color--white-fade-50)) 1;
	background: linear-gradient(to top right, var(--color--white-fade-10), var(--color--white-fade-25));
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
	font-weight: 400;
}

input,
textarea,
select,
button {
	font-family: inherit;
}

input:disabled~*,
textarea:disabled~*,
select:disabled~* {
	cursor: not-allowed;
	opacity: .25;
	user-select: none;
}

input:disabled~* *,
textarea:disabled~* *,
select:disabled~* * {
	pointer-events: none;
}

textarea {
	min-height: 12em;
	resize: vertical;
}

input.is--date {
	cursor: pointer;
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="radio"],
input[type="checkbox"] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

input[type="radio"]~*,
input[type="checkbox"]~* {
	margin-top: 0;
}

input[type="radio"]~label.btn,
input[type="checkbox"]~label.btn {
	box-shadow: var(--box-shadow-small);
}

input[type="radio"]:focus~label.btn,
input[type="checkbox"]:focus~label.btn {
	outline-offset: .25em;
	outline-color: var(--color--primary);
}

input[type="radio"]:checked~.custom-radio::after {
	opacity: 1;
	transform: scale(1);
}

input[type="radio"]:focus-visible~.custom-radio {
	outline-offset: .25em;
	outline-color: var(--color--primary);
}

.input-wrapper svg {
	font-size: 1.25em;
	position: absolute;
	top: 50%;
	left: .75em;
	pointer-events: none;
	z-index: 2;
	fill: var(--color--white);
	transform: translate(0, -50%);
}

.custom-toggle {
	width: 3.5em;
	height: 2em;
	background: var(--color--white-fade-10);
	border-radius: 10em;
	padding: .125em;
	position: absolute;
	right: 0;
	top: -0.25em;
	pointer-events: none;
	transition: var(--transition);
}

.custom-toggle::before {
	content: "";
	height: 100%;
	aspect-ratio: 1;
	background: var(--color--white);
	display: block;
	position: relative;
	border-radius: 50%;
	transition: var(--transition);
}

input:checked~.custom-toggle {
	background: var(--color--white);
}

input:checked~.custom-toggle::before {
	background: var(--color--black);
	transform: translateX(1.5em);
}

.custom-checkbox {
	width: 1.75em;
	aspect-ratio: 1;
	border: 2px solid var(--color--white);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -0.125em;
	left: 0;
	transition: var(--transition);
}

.custom-checkbox~label {
	padding-left: 2.5em;
}

.custom-checkbox svg {
	position: static !important;
	transform: scale(.75);
	opacity: 0;
	fill: var(--color--black);
	transition: var(--transition);
}

input:checked~.custom-checkbox {
	background: var(--color--white);
}

input:checked~.custom-checkbox svg {
	opacity: 1;
	transform: scale(1);
}

.custom-radio {
	width: 1em;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 2px solid var(--color--white);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -0.125em;
	left: 0;
	pointer-events: none;
	z-index: 2;
	box-sizing: content-box;
	transition: var(--transition);
}

.custom-radio::after {
	content: "";
	display: block;
	position: relative;
	width: .75em;
	aspect-ratio: 1;
	border-radius: inherit;
	background: var(--color--white);
	opacity: 0;
	transform: scale(.875);
	transition: var(--transition);
}

.custom-radio~label {
	padding-left: 2em;
}

.input-wrapper select~svg {
	left: unset;
	right: .875em;
}

label {
	flex: 1 1 100%;
	cursor: pointer;
	color: var(--color--white);
	user-select: none;
	z-index: 2;
}

legend {
	font-weight: 700;
}

fieldset {
	margin: 2em 0;
}

fieldset.icon-text.is--highlight {
	margin: 0;
	padding: 2em 0;
	border-bottom: 1px solid var(--color--white-fade-25);
}

fieldset.icon-text.is--highlight .icon-text-content {
	padding-top: 1em;
}

fieldset.icon-text .icon-text-content {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	justify-content: space-between;
	align-items: center;
}

fieldset.icon-text .icon-text-content>* {
	margin: 0 !important;
}

fieldset.icon-text .icon-text-content>.input-wrapper.is--radioslide {
	flex: unset;
}

.settings {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75em;
	flex: 1 1 100%;
}

.settings>* {
	margin: 0 !important;
}

.input-wrapper {
	display: flex;
	align-items: center;
	flex: 1 1 100%;
	gap: .5em;
}

.input-wrapper.is--radioslide {
	display: inline-flex;
	padding: .25em;
	border-radius: 10em;
	background: var(--color--white-fade-25);
	gap: 0;
	flex: 0 0 auto;
	width: auto;
}

.input-wrapper.is--radioslide label {
	padding: .25em .75em;
	border-radius: 10em;
	flex: unset;
	transition: var(--transition);
	user-select: none;
}

.input-wrapper.is--radioslide input:checked+label {
	background: var(--color--white);
	color: var(--color--black);
}

.input-wrapper input:checked~label.btn {
	transform: none;
	background: var(--color--primary);
	border-color: var(--color--primary);
	fill: var(--color--black);
	color: var(--color--white);
}

.input-wrapper input:checked~label.btn div:first-child {
	opacity: 0;
	transform: translateY(100%);
}

.input-wrapper input:checked~label.btn div:last-child {
	opacity: 1;
	transform: translateY(0);
}

.input-wrapper label.is--floating {
	position: absolute;
	top: 50%;
	left: calc(1.25em + 1px);
	right: calc(1.25em + 1px);
	translate: 0 -50%;
	color: var(--color--white-fade-50);
	transition: var(--transition);
	transform-origin: top left;
	z-index: 2;
	pointer-events: none;
}

.input-wrapper label.is--floating.is--active {
	color: var(--color--white);
	translate: 0 -75%;
	scale: .75;
}

.input-wrapper label.is--floating:has(+ textarea),
.input-wrapper textarea~label.is--floating {
	top: 1em;
	translate: unset !important;
	scale: unset !important;
}

.input-wrapper label.is--floating.is--active:has(+ textarea),
.input-wrapper textarea~label.is--floating.is--active {
	opacity: 0;
}

.input-wrapper.has--icon:not(.icon--right) :is(input, select, textarea) {
	padding-left: 3.25em;
}

.input-wrapper.has--icon.icon--right :is(input, select, textarea) {
	padding-right: 3.25em;
}

.input-wrapper.has--icon:not(.icon--right) label {
	left: calc(3.25em + 1px);
}

.input-wrapper.has--icon.icon--right label {
	left: calc(1.25em + 1px);
}

.input-wrapper.has--icon.icon--right svg {
	left: unset;
	right: .75em;
}

.input-wrapper label.is--floating~input,
.input-wrapper label.is--floating~select {
	padding-top: 1.5em;
	padding-bottom: .5em;
}

.icon-text.is--warning {
	background: var(--color--red);
	fill: var(--color--white);
	padding: 1em;
}

.icon-text {
	display: flex;
	gap: 1em;
	fill: var(--color--primary);
	margin: .5em 0;
}

.icon-text:first-child {
	margin-top: 0;
}

.icon-text:last-child {
	margin-bottom: 0;
}

.icon-text.is--center {
	align-items: center;
}

.align--center {
	width: fit-content !important;
	margin-inline: auto !important;
}

.icon-text>svg {
	font-size: 1.25em;
	fill: inherit;
}

.icon-text.is--highlight {
	fill: var(--color--black);
	margin: 2em 0;
}

.icon-text.is--highlight>svg {
	background: var(--color--primary);
	padding: .25em;
	border-radius: 50%;
	font-size: 3em;
}

.icon-text.is--highlight:not(.is--center, .guest-intolerances)>svg {
	margin-top: -.25em;
}

.icon-text.is--inverted.is--highlight>svg {
	background: var(--color--white);
}

.tooltip {
	display: inline-flex;
	z-index: 999;
	vertical-align: middle;
	margin-left: .25em;
}

.tooltip>.btn {
	margin: 0;
	background: transparent;
	width: auto !important;
	aspect-ratio: unset !important;
	border: none;
	fill: var(--color--white);
	border-radius: 50%;
}

.tooltip>.btn>svg {
	font-size: 1.25em;
}

.tooltip>.btn:hover~.tooltip-wrapper,
.tooltip.is--active .tooltip-wrapper {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.tooltip .tooltip-wrapper {
	position: absolute;
	background: var(--color--white);
	padding: .75em 1em;
	color: var(--color--black);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: var(--transition);
	width: max-content;
	max-width: 24em;
	box-shadow: var(--box-shadow-small);
	font-size: 1rem;
}

.tooltip .tooltip-wrapper>.btn.is--toggle+* {
	margin: 0;
}

.tooltip .tooltip-wrapper::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .625em .625em 0 .625em;
	border-color: var(--color--white) transparent transparent transparent;
}

.tooltip[data-position="bottom"] .tooltip-wrapper::after {
	border-width: 0 .625em .625em .625em;
	border-color: transparent transparent var(--color--white) transparent;
	top: unset;
	bottom: 100%;
}

.tooltip .tooltip-wrapper ul li::before {
	background: var(--color--primary);
}

h1,
h2,
h3 {
	text-transform: var(--headlines-text-transform);
	font-weight: 600;
	font-style: normal;
	margin: 1em 0;
}

h4,
h5,
h6 {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 600;
	color: var(--color--primary);
	margin: 1em 0;
}

h1 {
	font-size: 2em;
}

h2 {
	font-size: 1.5em;
}

h3 {
	font-size: 1.25em;
}

h4,
.is--h4 {
	font-size: 1em;
}

h5 {
	font-size: .875em;
}

h6 {
	font-size: .75em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child,
ul:first-child,
ol:first-child,
.columns:first-child,
.counter-price:first-child,
.btn:first-child,
legend:first-child,
fieldset:first-child,
.input-wrapper:first-child,
.grid:first-child,
ul:first-child,
ol:first-child,
.icon-text:first-child {
	margin-top: 0;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
.columns:last-child,
.counter-price:last-child,
.btn:last-child,
legend:last-child,
fieldset:last-child,
.input-wrapper:last-child,
.grid:last-child,
ul:last-child,
ol:last-child,
.icon-text:last-child {
	margin-bottom: 0;
}

/* REMOVE #hotline */

#hotline a {
	text-decoration: none;
}

#hotline .icon-text {
	display: inline-flex;
}

#hotline .icon-text>svg {
	font-size: 1.5em;
	fill: var(--header-color);
}

#hotline .icon-text span {
	display: block;
}

#hotline .icon-text span:first-child {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .625em;
	font-weight: 700;
	margin-bottom: .25em;
	color: var(--header-accent-color);
}

#hotline .icon-text span:last-child {
	color: var(--header-color);
	font-size: 1.25em;
	font-weight: 600;
	display: none;
}

header.is--small #hotline .icon-text span:first-child {
	color: var(--color--white);
}

.toolbar {
	flex: 1 1 100%;
	display: flex;
	align-items: center;
	gap: 0;
	position: static;
}

.toolbar:last-child {
	justify-content: flex-end;
}

.btn {
	overflow: hidden;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5em;
	padding: .75em;
	cursor: pointer;
	border-radius: 0;
	border: 2px solid var(--color--primary);
	background: var(--color--primary);
	color: var(--color--white);
	fill: var(--color--black);
	transition: var(--transition);
	text-decoration: none;
	margin: 1.5em 0;
	user-select: none;
	flex: 0 0 auto;
}

.btn:hover {
	transform: scale(.95);
}

.btn div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: inherit;
	position: absolute;
	transform: translate(0, -100%);
	opacity: 0;
	transition: var(--transition);
	z-index: 2;
}

.btn div:first-child {
	opacity: 1;
	transform: none;
	position: relative;
}

.btn.fit--width {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.btn.is--inverted {
	background: var(--color--white);
	fill: var(--color--black);
	color: var(--color--black);
	border-color: var(--color--white);
}

.btn.is--secondary {
	border-color: var(--color--primary);
	background: transparent;
	color: var(--color--primary);
	fill: var(--color--primary);
}

.btn.is--secondary.is--inverted {
	border-color: var(--color--white);
	color: var(--color--white);
	fill: var(--color--white);
}

.btn.is--tertiary {
	background: transparent;
	border: none;
	fill: var(--color--black);
	color: var(--color--primary);
	padding: 0;
}

.btn.is--tertiary.is--inverted {
	color: var(--color--white);
	fill: var(--color--white);
}

.btn.is--brunch {
	background-color: var(--color--violet) !important;
	border-color: var(--color--violet) !important;
	fill: var(--color--white) !important;
	color: var(--color--white) !important;
}

.btn.is--toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	z-index: 99;
	margin: 0;
}

.btn.is--icon {
	width: 3em;
	aspect-ratio: 1;
	padding: 0;
}

.btn span {
	letter-spacing: .05em;
	font-size: .875em;
	text-transform: uppercase;
	font-weight: 700;
	color: inherit;
	transition: var(--transition);
}

.btn svg {
	font-size: 1.25em;
	transition: var(--transition);
	fill: inherit;
	position: static;
	transform: none;
}

.btn .indicator {
	position: absolute;
	top: -0.5em;
	right: -0.5em;
	border-radius: 50%;
	font-size: .75em;
	width: 2em;
	aspect-ratio: 1;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--header-color);
	color: var(--color--black);
}

.btn.is--tertiary.is--icon {
	margin-left: auto !important;
	width: auto;
}

#menu {
	position: fixed;
	z-index: 99999999;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	background: var(--color--black-fade-90);
	transition: var(--transition);
}

#menu .wrapper {
	width: 100%;
	margin-right: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transform: translate(100%, 0);
	transition: var(--transition);
	background: var(--header-background);
	box-shadow: -1em 0 3em var(--color--black-fade-10);
	padding: 4em 2em 2em 2em;
}

#menu.is--active {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

#menu.is--active .wrapper {
	transform: translate(0, 0);
}

#menu .wrapper ul {
	font-size: 1em;
	padding-left: 0;
	text-align: right;
}

#menu .wrapper ul li::before {
	content: none;
}

ul.social-media-menu {
	display: none;
	justify-content: flex-end;
	align-items: center;
	padding-left: 0;
	margin: 0;
}

ul.social-media-menu.on--mobile {
	display: flex;
}



ul.social-media-menu li::before {
	content: none;
}

ul.social-media-menu li a {
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	aspect-ratio: 1;
	fill: var(--header-color);
}

ul.social-media-menu li a svg {
	fill: inherit;
	font-size: 1.25em;
}

ul.social-media-menu li a:hover {
	fill: var(--header-accent-color);
}

nav ul li a {
	padding: .5em .5em;
	display: block;
	text-decoration: none;
	color: var(--header-color);
}

.columns {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin: 2em 0;
}

.columns.no--wrap {
	flex-direction: row;
}

.columns.big--gap {
	gap: 4em !important;
}

.columns .column {
	flex: 1 1 100%;
	min-width: 0;
}

.columns .column .columns {
	gap: .5em;
	margin: .5em 0;
}

.column:has(details) {
	display: block !important;
}

footer {
	margin-top: var(--footer-margin-top);
	background: var(--color--black);
	margin-left: auto;
	margin-right: auto;
}

footer::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
	left: -2px;
	right: -2px;
	aspect-ratio: 1;
	pointer-events: none;
	background: var(--footer-before);
	transform: translateY(1px);
}

footer .wrapper {
	max-width: 75em;
	margin-left: auto;
	margin-right: auto;
	width: 95vw;
}

footer .columns {
	justify-content: space-between;
}

footer h3 {
	margin: 1.25em 0;
}

footer .wrapper::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 50%;
	background: var(--color--black);
	transform: translate(-50%, 0);
}

ul.footer-menu {
	padding-left: 0;
}

ul.footer-menu li::before {
	content: none;
}

ul.footer-menu li a {
	color: var(--color--white);
	text-decoration: none;
	display: block;
	padding: .5em 0;
}

ul.footer-menu li a:hover {
	color: var(--color--primary);
}

ul.footer-sub-menu {
	display: flex;
	gap: 1em;
}

ul.footer-sub-menu {
	padding-left: 0;
}

ul.footer-sub-menu li {
	font-size: .75em;
	padding-right: 1em;
	border-right: 1px solid var(--color--white-fade-25);
}

ul.footer-sub-menu li:last-child {
	border-right: none;
	padding-right: 0;
}

ul.footer-sub-menu li::before {
	content: none;
}

ul.footer-sub-menu li a {
	text-decoration: none;
	color: var(--color--white);
}

ul.footer-sub-menu li a:hover {
	color: var(--color--primary);
}

.ticket {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--color--white);
	border-right: .5em solid var(--color--primary);
	color: var(--color--black);
	padding: 1em;
}

.ticket .headline-container::before,
.ticket .headline-container::after {
	content: "";
	display: block;
	position: absolute;
	width: 1em;
	aspect-ratio: 1 / 2;
	background: var(--color--black);
	bottom: 0;
	z-index: 99;
	transform: translate(0, 50%);
}

.ticket .headline-container::before {
	left: -1em;
	border-radius: 0 10em 10em 0;
}

.ticket .headline-container::after {
	border-radius: 10em 0 0 10em;
	right: -1.5em;
}

.ticket.is--highlight {
	background: var(--color--primary);
	color: var(--color--white);
	border-right-color: var(--color--white);
}

.ticket.is--highlight .icon-text {
	fill: var(--color--black);
}

.ticket.is--highlight *:focus-visible {
	outline-color: var(--color--white);
}

.ticket.is--highlight .tooltip>.btn {
	fill: var(--color--black);
}

.ticket.is--highlight .counter input {
	color: var(--color--white);
}

.ticket.is--highlight .counter .btn {
	background: var(--color--white-fade-25);
	fill: var(--color--white);
	border-color: transparent;
}

.ticket.is--highlight .headline-container {
	border-bottom-color: var(--color--black);
}

.ticket.is--highlight .content-container {
	border-top-color: var(--color--black);
}

.ticket.is--highlight h4,
.ticket.is--highlight h5,
.ticket.is--highlight h6 {
	color: var(--color--black);
}

.ticket.is--highlight.is--voucher::after {
	background-image: url('assets/images/gift-gold.svg');
}

.ticket.is--voucher::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -2em;
	right: -1em;
	z-index: 99;
	pointer-events: none;
	width: 5em;
	background-image: url('assets/images/gift-white.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	aspect-ratio: 120 / 180;
}

.content-container {
	padding-top: 1.5em;
	border-top: 1px dashed var(--color--primary);
}

.headline-container {
	display: flex;
	align-items: center;
	margin-bottom: 1em;
	gap: .5em;
	flex-wrap: wrap;
	padding-bottom: 1em;
	border-bottom: 1px dashed var(--color--primary);
}

.headline-container>* {
	margin: 0 !important;
}

.headline-container .tooltip>.btn {
	fill: var(--color--primary);
}

.headline-container .tooltip>.btn>svg {
	font-size: 1.5em;
}

.guest-intolerances:first-child .legend-container .btn {
	display: none;
}

.legend-container {
	display: flex;
	align-items: center;
	gap: .5em;
}

.legend-container>* {
	margin: 0 !important;
}

.legend-container .btn.is--icon {
	width: auto;
}

.btn.is--remove svg {
	pointer-events: none;
}

.counter {
	display: flex;
	align-items: center;
	gap: .75em;
	margin: .5em 0;
}

.counter:first-child {
	margin-top: 0;
}

.counter:last-child {
	margin-bottom: 0;
}

.counter[style] {
	aspect-ratio: 16 / 9;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 2.5em;
}

.counter[style]::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: var(--color--black-fade-75);
}

.counter[style] input {
	backdrop-filter: blur(.5em);
}

.counter>.btn {
	display: none;
}

.counter>.btn.is--icon {
	width: 3.5em;
}

.counter>.btn.is--inverted {
	fill: var(--color--black);
}

html.js .counter>.btn {
	display: flex;
}

.counter>* {
	margin: 0 !important;
}

.counter .input-wrapper label.is--floating {
	transform-origin: top center;
}

.counter label,
.counter input {
	text-align: center;
}

.ticket .counter .btn {
	background: var(--color--lightgrey);
	border-color: var(--color--lightgrey);
	fill: var(--color--black);
}

.ticket.is--highlight .btn.animation--play div:last-child {
	color: var(--color--white);
}

.ticket .btn::after {
	content: "";
	display: block;
	position: absolute;
	left: -2px;
	top: -2px;
	bottom: -2px;
	width: 0;
	opacity: 0;
	background: var(--color--white-fade-25);
	transition-property: all;
	transition-duration: 0;
	transition-timing-function: linear;
	background: var(--color--white);
	z-index: 1;
}

.ticket .btn.animation--play {
	background: var(--color--black);
	border-color: var(--color--black);
	pointer-events: none;
}

.ticket .btn.animation--play::after {
	width: calc(100% + 4px);
	opacity: 1;
	transition-duration: var(--transition-duration);
}

.ticket .btn.animation--play div:first-child {
	transform: translate(0, 100%);
	opacity: 0;
}

.ticket .btn.animation--play div:last-child {
	transform: translate(0, 0);
	opacity: 1;
	fill: var(--color--white);
}

.ticket input:not(#gutschein) {
	color: var(--color--black);
	padding: .5em;
	border: none;
	border-radius: 0;
	width: 3em;
	background: transparent;
}

.ticket.is--highlight input {
	color: var(--color--white);
}

.ticket .counter>.btn.is--icon {
	width: 2em;
}

.counter-price {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}

.counter-price>* {
	margin: 0 !important;
}

.price {
	text-align: right;
	line-height: 1;
	flex: 0 0 auto;
}

.triangle-badge {
	position: absolute;
	display: flex;
	top: 0;
	right: 1em;
	background: var(--color--white);
	padding: .5em .75em;
	transform: translate(0, -50%);
}

.triangle-badge span {
	font-size: .5em;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
	color: var(--color--black);
}

details.is--small {
	border-bottom: none;
}

details.is--small[open] summary>svg {
	rotate: 180deg;
}

details {
	border-bottom: 1px solid var(--color--white-fade-25);
}

details summary {
	display: flex;
	align-items: center;
	gap: .5em;
	list-style: none;
	cursor: pointer;
	padding: 1em 0;
	user-select: none;
	transition: var(--transition);
}

details summary span {
	font-weight: 700;
}

details summary svg {
	font-size: 1.5em;
	fill: var(--color--primary);
	transition: var(--transition);
}

.background--primary details summary svg {
	fill: var(--color--white);
}

details summary::-webkit-details-marker,
details summary::marker {
	display: none;
}

details .details-content {
	display: block;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	padding: 0 0 .75em 1.75em;
}

details[open] summary {
	padding-bottom: 0;
}

details[open] summary>svg {
	rotate: 45deg;
}

details[open] .details-content {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	padding-top: 1rem;
}

details#show-more-tickets[open] summary {
	padding-bottom: 2em;
}

select option {
	color: var(--color--black);
	background: var(--color--white);
}

.btn div.success {
	mix-blend-mode: difference;
}

abbr {
	text-decoration: none;
}

/* Expanded */

.is--remove {
	margin: 0;
}

span.error {
	font-size: 0.75em;
}

.alert {
	background: #ff0000;
	padding: 20px;
	border-radius: 5px;
	color: #fff;
}

/* NEW */

/* SPECIAL DAYS */

#special-days ul.no-list-style a {
	text-decoration: none;
}

#special-days ul.no-list-style li {
	margin: .5em 0;
}

#special-days ul.no-list-style li:first-child {
	margin-top: 0;
}

#special-days ul.no-list-style li:last-child {
	margin-bottom: 0;
}

#special-days ul.no-list-style li strong {
	min-width: 2.5em;
	display: inline-block;
	margin-right: .5em;
}

#special-days .icon-text.is--highlight>svg {
	font-size: 2em;
}

/* TABS */

ul.tabs {
	display: flex;
	justify-content: center;
	margin: 2em auto;
	position: relative;
	width: 100%;
	border: none;
	gap: 0;
}

ul.tabs li a {
	text-decoration: none;
	border-width: 0 0 1px 0 !important;
	border-style: solid !important;
	border-color: transparent !important;
	border-radius: 0;
	transition: var(--transition);
	padding: 1rem 2rem;
	font-weight: 700;
	color: var(--color--white);
}

ul.tabs li {
	display: list-item;
}

html.js ul.tabs li {
	display: inline-block;
}

ul.tabs li a:hover,
ul.tabs li a[aria-selected="true"] {
	background: var(--color--primary-fade-10) !important;
	color: var(--color--primary);
	border-bottom-color: var(--color--primary) !important;
}

ul.tabs-content {
	list-style: none;
	padding: 0;
	font-size: 1em;
}

ul.tabs-content li::before {
	content: none;
}

.tab {
	transition: var(--transition);
	transition-property: margin, opacity;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6em;
	width: 100%;
	transform: none;
}

html.js .tab {
	margin-top: 2em;
}

.tab[hidden] {
	display: block;
	opacity: 0;
	visibility: hidden;
	position: absolute;

	left: 50%;
	transform: translate(-50%);
}

html.js .tab[hidden] {
	margin-top: 4rem;
}

.tabs .tab-navigation {
	list-style: none;
	padding: 0;
	width: fit-content;
	max-width: 100%;
	display: flex;
	text-align: center;
	overflow: auto hidden;
	border: none;
	margin: 0 auto;
}


.tabs .tab-navigation li a {
	text-decoration: none;
	display: block;
	padding: 1em 1.5em;
	font-weight: 700;
	color: var(--color--white);
	border: none !important;
	border-bottom: 2px solid transparent !important;
	transition: var(--transition);
	border-radius: none;
	background: transparent !important;
}

.tabs .tab-navigation li.is--active a {
	background: var(--color--primary-fade-15) !important;
	color: var(--color--primary);
	border-bottom-color: var(--color--primary) !important;
}

[role=tab] {
	border-radius: 0 !important;
	border-top: none !important;
	border-inline: none !important;
}

.tab-navigation.is--with-pictures {
	padding: .25rem;
	border: 1px solid rgba(var(--white), .5);
	background: var(--linear-bg, linear-gradient(226deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.10) 100%));
}

.tab-navigation.is--with-pictures li.is--glass.is--active a {
	color: var(--color--white);
	background: var(--color--primary) !important;
}

.tab-navigation.is--with-pictures li a {
	display: flex;
	flex-direction: column;
	gap: .75em;
	border: none !important;
}

.tab-navigation.is--with-pictures li a :is(img, svg) {
	width: 5rem;
	height: auto;
	aspect-ratio: 2 / 1;
	object-fit: contain;
}

.has--images-in-nav .tab-navigation {
	border: 1px solid var(--color--white-fade-10) !important;
}

/* TIMELINE */

.timeline {
	list-style: none;
	display: flex;
	flex-direction: column;
	width: fit-content;
	gap: 2em;
	font-size: 1em;
	padding-left: 0;
	margin: 2.5rem auto;
}

.timeline::before {
	content: "";
	display: block;
	position: absolute;
	top: 1.5em;
	bottom: 2.5em;
	left: .75em;
	background: var(--color--white);
	width: 2px;
	transform: translateX(-50%);
}

.timeline .timeline-el {
	padding-left: 3em;
}

.timeline .timeline-el::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	background: var(--color--primary);
	width: 1.5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translateY(-50%);
	opacity: 1;
}

.timeline .timeline-el span {
	display: block;
}

.timeline .timeline-el span:first-child {
	font-size: 0.875rem;
	margin-bottom: .5em;
	font-weight: 400;
}

.timeline .timeline-el span:last-child {
	font-weight: 700;
}

/* TOGGLE CONTAINER // INTOLERANCES */
#intolerances-container {
	max-width: 32em;
	margin: 2em auto;
}


#intolerances-container:first-child {
	margin-top: 0;
}

#intolerances-container:last-child {
	margin-bottom: 0;
}

/* SMALL TICKETS */

.ticket-container {
	display: grid;
	gap: 1em;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 1.5rem;
	gap: 2em;
}

.ticket-all {
	gap: 1rem 2rem;
}

.small-ticket {
	text-decoration: none;
	--ticket-primary-color: var(--color--primary);
}

.small-ticket.is--disabled {
	opacity: 1;
	--ticket-primary-color: #8b8b8b;
}

.small-ticket .ticket-badge {
	opacity: 1;
	position: absolute;
	z-index: 2;
	background: var(--color--white);
	padding: 0.25rem 0.75rem 0.325rem 0.5rem;
	border-radius: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	gap: .25rem;
	left: 50%;
	transform: translate(-50%, -50%);
}

.small-ticket .ticket-badge span {
	color: var(--ticket-primary-color);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.1em;
	font-size: 0.875em;
	line-height: 1.5;
}

.small-ticket .ticket-badge svg {
	font-size: 1.25em;
	fill: var(--ticket-primary-color);
}

.small-ticket .btn {
	background-color: var(--color--primary);
	color: var(--color--white);
	margin: 0;
	border: none;
	text-transform: uppercase;
	font-weight: 700;
	padding: 0.875rem 1rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	width: 100%;
	transform: none;
}

.small-ticket .ticket-info {
	display: flex;
	flex-direction: column;
	padding: 1.5em;
	align-items: center;
	gap: 0.4em;
	color: var(--color--white);
	background: var(--color--white);
}

.small-ticket .ticket-info::before,
.small-ticket .ticket-info::after {
	content: "";
	display: block;
	position: absolute;
	width: 1.5rem;
	aspect-ratio: 1;
	background: var(--color--black);
	top: 50%;
	z-index: 99;
	border-radius: 50%;
}

.small-ticket .ticket-info::before {
	left: 0;
	transform: translate(-50%, -50%);
}

.small-ticket .ticket-info::after {
	right: 0;
	transform: translate(50%, -50%);
}

.small-ticket .ticket-info .info-weekday {
	margin: 0;
	letter-spacing: 0.3em;
	font-size: 0.875em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color--grey);
}

.small-ticket .ticket-info .info-date {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color--black);
}

.small-ticket:is(.is--special, .is--disabled) .ticket-info {
	background: var(--ticket-primary-color);
}

.small-ticket:is(.is--special, .is--disabled) .ticket-info .info-weekday,
.small-ticket:is(.is--special, .is--disabled) .ticket-info .info-date {
	color: var(--color--white);
}

.small-ticket:is(.is--special, .is--disabled) .btn {
	background-color: var(--color--white);
	color: var(--color--black);
}

.small-ticket:is(.is--special, .is--disabled).is--brunch {
	--ticket-primary-color: var(--color--violet);
}

.ticketnormal .ticket-badge {
	opacity: 0;
	visibility: hidden;
}

/* MULTISTEP */

html.js .multistep button[type="submit"] {
	display: none;
}

.multistep {
	padding-top: 1rem;
}

.multistep .navigation {
	display: none;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	margin-top: 3rem;
}

html.js .multistep .navigation {
	display: flex;
}

.multistep .navigation button.btn {
	margin: 0;
	width: auto;
}

.multistep .navigation button.btn#next-btn {
	margin-left: auto;
}

.multistep .multistep-tab {
	transition: var(--transition);
	margin-top: 0;
	translate: 0;
	z-index: 10;
	margin: 4em 0;
}

.option {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5em;
	max-width: 48em !important;
	padding: 2em 1.5em;
}

.option .content {
	flex: 1 1 100%;
}

.option>* {
	margin: 0 !important;
}

.option h5 {
	margin-bottom: .5em;
}

.option h3 {
	margin: 0 0 .25em 0;
}

.option.is--recommendation {
	color: var(--color--white);
	background: var(--color--primary-fade-75);
	backdrop-filter: blur(.5em);
}

.option.is--recommendation h4,
.option.is--recommendation h5,
.option.is--recommendation h6 {
	color: var(--color--black);
}

.product-card {
	padding: 2em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.product-card::before {
	content: '';
	position: absolute;
	inset: 0;
	max-width: 32rem;
	background: linear-gradient(to right, var(--color--black-fade-90), transparent);
	pointer-events: none;
}

.product-card>* {
	max-width: 28rem;
}

html.js .multistep .multistep-tab {
	margin: 0;
}

html.js .multistep .multistep-tab.is--hidden {
	display: flex !important;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	left: 0;
	translate: 100%;
}


.steps {
	display: none;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-bottom: 3rem;
}

html.js .steps {
	display: flex;
}

.steps .step {
	width: 2rem;
	aspect-ratio: 1;
	color: var(--color--black);
	background-color: var(--color--white);
	border: none;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
}

.steps .step>.label {
	position: absolute;
	inset: 100% auto auto 50%;
	translate: -50%;
	margin-top: 0.75rem;
	color: white;
	font-weight: 400;
	font-size: 0.875rem;
	display: none;
}

.steps .step.is--active {
	outline: 0.5rem solid;
	animation: pulse 2s infinite ease-in-out;
}

.steps .step.is--active,
.steps .step.is--finished {
	color: var(--color--white);
	background-color: var(--color--black);
}

.steps .step:not(:first-child)::before {
	content: '';
	width: 2rem;
	height: 2px;
	background-color: inherit;
	position: absolute;
	right: 100%;
}

div.air-datepicker-global-container {
	z-index: 9999;
}

div.air-datepicker-overlay {
	background: var(--color--black-fade-90);
}

div.air-datepicker {
	width: 18rem;
	border: none;
	border-radius: 0;
	padding: 1.5rem 2rem;
	box-sizing: border-box;
}

div.air-datepicker.-inline- {
	position: absolute;
	top: 100%;
	margin-top: 1rem;
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell {
	border-radius: 0;
	transition: var(--transition);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell.-other-month- {
	color: var(--color--grey);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell:not(.-other-month-) {
	color: var(--color--black);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell.-focus-,
div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell.-selected- {
	color: var(--color--white);
	background: var(--color--primary);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell.-current- {
	background-color: var(--color--lightgrey);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--day-names .air-datepicker-body--day-name {
	color: var(--color--grey);
	text-transform: uppercase;
}

div.air-datepicker>* {
	transition: var(--transition);
}

div.air-datepicker::before {
	display: none;
}

div.air-datepicker .air-datepicker--navigation nav {
	border: none;
}

div.air-datepicker .air-datepicker--navigation nav>div {
	transition: var(--transition);
	border-radius: 0;
}

div.air-datepicker .air-datepicker--navigation nav>div.air-datepicker-nav--title {
	font-weight: 700;
}

div.air-datepicker .air-datepicker--navigation nav>div.air-datepicker-nav--title>i {
	font-weight: 400;
}

@keyframes pulse {
	0% {
		outline-color: var(--color--black-fade-10);
	}

	50% {
		outline-color: var(--color--black-fade-25);
	}

	100% {
		outline-color: var(--color--black-fade-10);
	}
}

/* 17.02.2025 */

.color--black {
	color: var(--color--black) !important;
}

.font-weight-normal {
	font-weight: 400;
}

.font-size--large {
	font-size: 1em;
}

.font-size--extra-large {
	font-size: 1.5em;
}

.font-size--huge {
	font-size: 2em;
}

.text-transform-uppercase {
	text-transform: uppercase;
}

figcaption {
	margin-top: 1em;
	text-align: center;
}

.package.package {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.package li::before {
	content: none;
}

.package h3 {
	padding: .5em;
	border-radius: 1rem;
	background: var(--color--primary);
	color: var(--color--white);
	margin-bottom: 1.5em;
}

.package h3::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	translate: -50%;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 1em 1em 0 1em;
	border-color: var(--color--primary) transparent transparent transparent;
}

.package .package-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1em;
	overflow: hidden;
	background: var(--color--white-fade-10);
	padding: 1em;
	border-radius: 1rem;
	flex: 1;
}

.package .package-content ul {
	padding: 0;
}

.package .package-footer {
	padding-top: .75em;
	border-top: 1px solid var(--color--white-fade-50);
}

.package .package-footer .btn {
	margin: 0 -1em -1em -1em;
	width: auto;
}

.package .package-content .btn {
	transform: none;
}

.package.is--bestseller .package-content {
	background: var(--color--primary);
}

del {
	text-decoration: line-through;
}

ins {
	text-decoration: none;
}

.toolbar .input-wrapper {
	flex: unset;
	margin: 0;
}

#language-switcher {
	padding: 0 2em 0 0;
	border: none;
	border-radius: 0;
	background: transparent;
	margin-left: .5em;
	width: 3em;
}

#language-switcher~svg {
	right: 0;
}

.swiper {
	width: 100%;
	overflow: visible !important;
}

.swiper.slide-not-acitve--hidden .swiper-slide:not(.swiper-slide-active) {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.swiper:has(.is--glass-effect) {
	padding: 0 var(--size-64);
}

.swiper-container .swiper-wrapper,
.swiper .swiper-wrapper {
	padding: 0;
	margin: 0;
	align-items: stretch;
	font-size: 1em;
	gap: 0;
}

.swiper-container .swiper-slide,
.swiper .swiper-slide {
	height: auto;
}

.swiper-container .swiper-slide::before,
.swiper .swiper-slide::before {
	content: none;
}

.swiper button[aria-disabled="true"] {
	display: none !important;
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell {
	background: var(--color--lightgrey);
	color: var(--color--black);
}

div.air-datepicker .air-datepicker--content .air-datepicker-body .air-datepicker-body--cells .air-datepicker-cell.-disabled- {
	cursor: not-allowed;
	background: transparent;
	color: var(--color--grey);
}

#hero {
	position: relative;
}

#hero section {
	--light-gold: rgb(251, 238, 160);
	--dark-gold: rgb(168, 140, 84);

	width: 90%;
	margin: -2em auto 6em auto;
	padding: 1em;
	text-align: center;
	background: linear-gradient(to right, var(--dark-gold), var(--light-gold) 55.61%, var(--dark-gold) 81.31%);
	border-radius: 50%;
	border: 4px solid var(--color--white);
	max-width: 36em;
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: .5em;
}

#hero section>* {
	line-height: 1.125;
	margin: 0;
}

#hero h1 {
	line-height: .875;
}

#hero .subline {
	color: #D6C37E;
	text-shadow: 0 0 .5em var(--color--black);
}

header {
	padding: .5em;
	gap: .5em;
}

ul.bubbles {
	position: static;
	padding: 0;
	margin: 0;
}

ul.bubbles li::before {
	content: none;
}

ul.bubbles li {
	width: fit-content;
	position: absolute;
	z-index: 2;
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	gap: .25em;
	align-items: center;
	justify-content: center;
	text-align: center;
	left: 5%;
	top: 90%;
	background: var(--color--primary);
	border: 6px solid var(--color--white);
	color: var(--color--white);
	padding: 2em;
	rotate: -5deg;
}

ul.bubbles li:last-child {
	left: 65%;
	top: 85%;
}

.ticket-container {
	gap: 2em 1em;
	grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
}

#hotline .icon-text {
	gap: .5em;
}

.small-ticket .ticket-info .info-date {
	font-size: 1.5em;
}

.width--auto {
	width: auto !important;
}

.icon-text.icon--top {
	flex-direction: column;
}

.icon-text.icon--big {
	gap: 1em;
}

.icon-text.icon--big>svg,
.icon-text.icon--big>img {
	font-size: 2em;
}

a.icon-text {
	color: inherit;
	text-decoration: none;
}

.bubble {
	position: absolute;
	right: -2em;
	top: 13em;
	padding: 1em;
	color: var(--color--black);
	aspect-ratio: 1;
	border-radius: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 2;
	rotate: 10deg;
	background: linear-gradient(to right, rgb(204, 161, 100) 13.3%, rgb(229, 205, 175) 77.53%, rgb(215, 183, 138) 100%);
}

video,
iframe {
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
	margin: 2em auto;
	display: block;
	border: 4px solid var(--color--primary);
}

video:first-child,
iframe:first-child {
	margin-top: 0;
}

video:last-child,
iframe:last-child {
	margin-bottom: 0;
}

.multistep {
	padding-top: 0;
}

.multistep .navigation {
	justify-content: center;
}

.multistep .navigation button.btn#next-btn {
	margin-left: 0;
}

#hero-video {
	margin-top: -2em;
}

#cta {
	margin-top: .5em !important;
	font-size: 1.25em;
	border: 3px solid var(--color--black);
}





/* 13.10.2025 */

.swiper>.btn,
.swiper-container>.btn {
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	right: .5em;
	z-index: 2;
	margin: 0;
}

.swiper>.btn.is--prev,
.swiper-container>.btn.is--prev {
	right: auto;
	left: .5em;
}

.goodie {
	color: var(--color--black);
	background: var(--color--white);
	display: flex;
	flex-direction: column-reverse;
}

.goodie img {
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.goodie .swiper,
.goodie .swiper-container {
	overflow: hidden;
	position: relative;
	aspect-ratio: 1;
}

.goodie .swiper .swiper-wrapper,
.goodie .swiper-container .swiper-wrapper {
	--columns-mobile: 1;
	--columns-tablet: 1;
	--columns-desktop: 1;
	--gap-mobile: 0;
	--gap-tablet: 0;
	--gap-desktop: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.goodie .swiper .swiper-slide,
.goodie .swiper-container .swiper-slide {
	width: 100% !important;
	flex-shrink: 0;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.goodie .swiper .swiper-slide img,
.goodie .swiper-container .swiper-slide img {
	display: block;
	width: 100%;
}

.goodie .swiper .btn.is--prev,
.goodie .swiper-container .btn.is--prev {
	left: 0.5em;
}

.goodie .swiper .btn.is--next,
.goodie .swiper-container .btn.is--next {
	right: 0.5em;
}

.goodie-content {
	padding: 1em;
	flex: 1;
}

.goodie input {
	color: var(--color--black);
	padding: .5em;
	border: none;
	border-radius: 0;
	width: 3em;
	background: transparent;
}

.goodie .counter .btn {
	background: var(--color--lightgrey);
	border-color: var(--color--lightgrey);
	fill: var(--color--black);
}

.goodie .counter>.btn.is--icon {
	width: 2em;
}



/* -------------------------------------------------------- */

h1 {
	margin-bottom: .5rem !important;
}

section.wrapper>h2 {
	text-align: center;
}

#hero-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: -5rem;
	padding: 3em;
}

#hero-section+main {
	margin-top: 0;
}

#cloudleft {
	position: absolute;
	z-index: 3;
	width: clamp(400px, 70vw, 900px);
	max-width: none;
	height: auto;
	aspect-ratio: 1292 / 616;
	animation: heroCloudInLeft 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	pointer-events: none;
	bottom: -4em;
	opacity: 0;
	left: -18em;
}

#cloudright {
	position: absolute;
	z-index: 4;
	width: clamp(400px, 70vw, 900px);
	max-width: none;
	height: auto;
	aspect-ratio: 1292 / 616;
	animation: heroCloudInRight 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	pointer-events: none;
	right: -18em;
	opacity: 0;
	bottom: -4em;
}

#cloudmid {
	position: absolute;
	z-index: -1;
	width: clamp(300px, 50vw, 700px);
	max-width: none;
	height: auto;
	aspect-ratio: 1292 / 616;
	opacity: 0;
	animation: heroCloudInRightToCenter 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
	pointer-events: none;
	top: -1em;
	left: 100%;
}

#hero-section.is--moments::after {
	content: "";
	position: absolute;
	z-index: -2;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	opacity: 0;
	background: repeating-conic-gradient(var(--color--primary) 0deg 5deg,
			transparent 5deg 10deg);
	animation:
		fadeInShine 2s ease-out forwards 2s,
		rotateMaskSlow 120s linear infinite 2s;
	pointer-events: none;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	mask-image: radial-gradient(circle, black 30%, transparent 60%);
	-webkit-mask-image: radial-gradient(circle, black 30%, transparent 60%);
}

.hero-video,
.hero-image {
	position: absolute;
	inset: 0;
	z-index: -10;
	margin: 0;
	border: none;
	aspect-ratio: unset;
	object-fit: cover;
	mask: linear-gradient(to bottom, black 90%, transparent) center / contain no-repeat;
	-webkit-mask: linear-gradient(to bottom, black 90%, transparent) center / contain no-repeat;
	height: 100svh;
	width: 100%;
}

.hero-video {
	height: 100%;
}

.hero-logo {
	position: relative;
	z-index: 5;
	width: 75%;
	max-width: 28em;
	filter: drop-shadow(0 8px 8px var(--color--black));
	animation: logoRevealWrite 2s ease-out forwards;
	opacity: 0;
	margin-top: -8em;
}

.palm-left,
.palm-right {
	position: absolute;
	top: 50%;
	z-index: 2;
	translate: -100% -50%;
	width: 20vw;
	animation:
		palmFadeIn 2s ease-out forwards,
		palm 2s ease-in-out infinite alternate;
	transform-origin: bottom center;
}

.palm-left {
	left: -2rem;
}

.palm-right {
	right: -2rem;
	translate: 100% -50%;
	animation-delay: 0s, .5s;
}

@keyframes palmFadeIn {
	100% {
		translate: 0 -50%;
	}
}

@keyframes palm {
	100% {
		rotate: 3deg;
	}
}

#hero-section.is--mafia-mia {
	margin-bottom: -7rem;
	padding-top: 6em;
}

#hero-section.is--mafia-mia .hero-logo {
	margin-top: -40%;
	width: 50%;
	padding-top: 4em;
}

#hero-section.is--dsn .hero-impression {
	width: 100vw;
	max-width: unset;
	margin-top: -11vw;
	mask: linear-gradient(to bottom, black 90%, transparent) center / contain no-repeat;
	-webkit-mask: linear-gradient(to bottom, black 90%, transparent) center / contain no-repeat;
}

#hero-section.is--dsn .hero-logo {
	background: radial-gradient(var(--color--black), transparent 75%);
	padding: 0 3em;
	width: 100%;
	max-width: 36em;
}

.hero-impression {
	animation: fadeInDownToTop 2s ease-out forwards;
}

.gallery {
	margin-inline: calc(-1 * var(--section-padding-left-right-small));
}

.gallery .swiper {
	position: relative;
	left: 50%;
	translate: -50%;
}

.gallery .swiper-wrapper {
	gap: 1em;
}

.gallery .swiper.swiper-initialized .swiper-wrapper {
	display: grid !important;
	grid-template-rows: repeat(2, 1fr) !important;
	grid-auto-columns: minmax(0, 1fr) !important;
	grid-template-columns: initial !important;
	grid-auto-flow: column !important;
}


.gallery .swiper.swiper-initialized .swiper-slide {
	height: auto !important;
	margin: 0 !important;
	width: 100% !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: all !important;
}

.gallery img {
	height: 12em;
	object-fit: cover;
	width: 100%;
	border-radius: none !important;
}

.gallery .swiper>button {
	padding: var(--size-24);
	bottom: 0;
	height: 100%;
	aspect-ratio: unset;
	width: var(--size-128);
	transform: none !important;
	border: none;
}

.gallery .swiper button.is--prev {
	justify-content: start;
	left: 0;
	background: linear-gradient(to right, var(--color--black), transparent) !important;
	padding-right: 3em;

}

.gallery .swiper button.is--next {
	justify-content: end;
	right: 0;
	background: linear-gradient(to left, var(--color--black), transparent) !important;
	padding-left: 3em;
}

.icon--only:not(.is--inverted) svg {
	fill: var(--color--white);
}

#partner .is--logo-gallery {
	max-width: 48em;
	margin-inline: auto;
}

.is--logo-gallery a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--size-24);
	text-decoration: none;
}

.is--logo-gallery img {
	aspect-ratio: 2 / 1;
	object-fit: contain;
	width: 100%;
}

.is--logo-gallery .is--first-order {
	grid-column: span var(--columns);
}

.is--logo-gallery .is--second-order {
	grid-column: span calc(var(--columns) / 2);
}

.btn.icon--only {
	padding: var(--size-8);
}

.notice {
	font-size: 0.875em;
}

.filter {
	width: fit-content;
	padding: 0;
	margin: 0 auto var(--size-32) auto;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	border-radius: var(--size-12);
	padding: var(--size-4);
	background: linear-gradient(to bottom, var(--color--white-fade-5), var(--color--white-fade-10));
	border: 1px solid var(--color--white-fade-25);
	max-width: 100%;
}

.filter li {
	flex: 0 0 50%;
}

.filter .button {
	padding: var(--size-12) var(--size-16);
}

.filter .button span {
	font-weight: 500;
}

.filter .button:not(.is--active) {
	background: transparent;
	color: var(--color--white);
	fill: var(--color--white);
}

.slider.swiper-initialized:not(.is--gallery) .swiper-wrapper {
	display: flex;
	gap: 0;
}


.is--center {
	margin-left: auto !important;
	margin-right: auto !important;
}

.is--h1.is--center,
h1.is--center,
h2.is--center,
h3.is--center,
h4.is--center,
h5.is--center,
h6.is--center,
p.is--center {
	text-align: center;
}



.is--highlighted {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .2em .5em;
	border-radius: 1rem;
	background-color: var(--color--primary);
	color: var(--color--white);
	margin-inline: 1em;
	transition: var(--transition);
	margin-top: .2em;
}

header.is--small .is--highlighted {
	background-color: var(--color--white) !important;
}

header.is--small .is--highlighted p {
	color: var(--color--primary) !important;
}

header.is--small .is--highlighted svg {
	fill: var(--color--primary) !important;
}


.is--highlighted:hover {
	background-color: var(--color--white);
}

.is--highlighted svg {
	fill: var(--color--white);
}

.is--highlighted p {
	margin: 0;
}

.is--highlighted:hover p,
.is--highlighted:hover svg {
	color: var(--color--primary);
	fill: var(--color--primary);
}

.stars {
	--height: 1.5em;
	background: var(--color--white-fade-10);
	mask: url(/assets/images/icons/star.svg) left center / var(--height) repeat-x;
	height: var(--height);
	display: inline-block;
	position: relative;
	width: calc(var(--height) * var(--max, 5));
	margin-right: var(--size-8);
	margin-bottom: calc(-1 * var(--size-4));
}

.stars::after {
	content: "";
	position: absolute;
	inset: 0;
	width: calc(var(--height) * var(--rating, 0));
	background: var(--color--gold);
}

.is--white {
	filter: brightness(0) invert(1);
}

.btn-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.btn-list li {
	width: 100%;
}

.grid .is--glass-effect {
	height: 100%;
}

.is--glass-effect {
	display: block;
	text-decoration: none;
	padding: var(--size-32);
	backdrop-filter: blur(1em);
	-webkit-backdrop-filter: blur(1em);
	border: 1px solid var(--linear-stroke, var(--color--white-fade-25));
	background: linear-gradient(to top, var(--color--white-fade-05), var(--color--white-fade-10));
}

.is--press figure img {
	height: 1rem;
}

.is--press figure {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.is--press figure blockquote {
	flex: 1;
	align-content: center;
}

.is--press .icon--only {
	position: absolute;
	top: 0px;
	right: 0px;
	pointer-events: none;
	margin: 0;
	padding: var(--size-8);
}

.is--press .icon--only svg {
	transition: transform 0.3s ease;
	font-size: 1.25em;
}

.is--press:hover .icon--only svg {
	transform: translate(10%, -10%);
}

.filter {
	width: fit-content;
	padding: 0;
	margin: 0 auto var(--size-32) auto;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	border-radius: var(--size-12);
	padding: var(--size-4);
	background: linear-gradient(to bottom, var(--color--white-fade-5), var(--color--white-fade-10));
	border: 1px solid var(--color--white-fade-25);
	max-width: 100%;
}

.filter li {
	flex: 0 0 50%;
}

.filter .button {
	padding: var(--size-12) var(--size-16);
}

.filter .button span {
	font-weight: 500;
}

.filter .button:not(.is--active) {
	background: transparent;
	color: var(--color--white);
}

.grid {
	--columns: var(--columns-mobile, 1);
	--gap: var(--gap-mobile, var(--size-16));
	font-size: 1em;
	padding: 0;
	margin: var(--size-32) 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(var(--columns), 1fr);
	gap: var(--gap);
}

.grid>li::before {
	content: none;
}

#intro.wrapper {
	margin-top: 4rem;
}

#intro .column.has--image {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	aspect-ratio: 1;
}



.swiper:has(.swiper-pagination) {
	padding-bottom: 3em !important;
}

.swiper-pagination-bullet {
	width: .5em !important;
	border-radius: 0 !important;
	background: rgba(var(--white), .8) !important;
	transition: var(--transition);
}

.swiper-pagination-bullet-active {
	background: rgb(var(--white)) !important;
	width: 1em !important;
}

.ticket-style {
	transition: transform 0.3s ease;
	background: linear-gradient(to right, rgb(var(--primary)) calc(100% - 4px), white calc(100% - 4px));
	border: 2px solid transparent;
	border-left: none;
	border-right: none;
}

.ticket-style:hover {
	transform: scale(0.95);
}

.ticket-style::before,
.ticket-style::after {
	content: "";
	display: block;
	position: absolute;
	width: 1.5rem;
	aspect-ratio: 1;
	background: var(--color--black);
	top: 50%;
	z-index: 99;
	border-radius: 50%;

}

.ticket-style::before,
.ticket-style::after {
	z-index: 2;
	/* Kreise über der "Border" */
}


.ticket-style::before {
	left: 0;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

.ticket-style:hover::before {
	transform: translate(-45%, -50%);
}

.ticket-style::after {
	right: 0;
	transform: translate(50%, -50%);
	transition: transform 0.3s ease;
}

.ticket-style:hover::after {
	transform: translate(45%, -50%);
}

.is--primary-color {
	color: var(--color--primary);
}

#artists h3 {
	color: var(--color--primary);
}

#faq {
	margin: 0 auto;
}

.is--singlefront .swiper-wrapper {
	--columns-mobile: 1;
	--columns-tablet: 1;
	--columns-desktop: 1;
	--gap-mobile: 4px;
	--gap-tablet: 6px;
	--gap-desktop: 8px;
}

#artists .swiper-slide:not(.swiper-slide-active) {
	opacity: 0.1;
}

#artists .swiper-slide:not(.swiper-slide-active).swiper-slide-next {
	transform: translate(-7%, 0%)
}

#artists .swiper-slide:not(.swiper-slide-active).swiper-slide-prev {
	transform: translate(7%, 0%)
}

#artists .swiper-slide {
	transition: opacity 0.3s ease;
	overflow: visible !important;
}

#dates .columns {
	gap: 1rem;
}

#dates .column {
	text-align: center;
}

#dates h3 {
	margin-bottom: 0 !important;
}

#dates p {
	margin-top: .5em !important;
}

.slider-box {
	align-items: center;
	overflow: visible !important;
	gap: 1em;
}

.slider-box .image {
	width: 12em;
}

.swiper-slide:not(.swiper-slide-active) .article-content {
	opacity: 0;
}

#artists .swiper-slide:not(.swiper-slide-active) img {
	scale: .8;
}

article {
	display: flex;
	flex-direction: column-reverse;
}

article .article-content {
	flex: 1;
}


#foodmenue .tabs {
	max-width: 53rem;
	margin-inline: auto;
}

#foodmenue .tab li {
	margin-bottom: 2rem;
}

.menue-box {
	--content-padding: 1.5rem;
	background-color: var(--color--black);
}

.menue-box .article-content {
	flex: 1 1 50%;
	position: relative;
	padding: var(--content-padding);
	align-content: center;
}

.menue-box .is--h4 {
	color: var(--color--white);
	text-transform: none;
}

.chip {
	display: inline-flex;
	background: var(--color--primary);
	color: var(--color--white);
	padding: var(--size-8) var(--size-12);
}

.chip span {
	font-size: var(--size-12);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.chip.is--secondary {
	background: var(--color--primary-fade-25);
	color: var(--color--primary);
}

.chip.is--tertiary {
	background: transparent;
	color: var(--color--primary);
}

.chip.is--primary.is--inverted {
	background: var(--color--white);
	color: var(--color--black);
}

.chip.is--secondary.is--inverted {
	background: var(--color--white-fade-25);
	color: var(--color--white);
}

.chip.is--tertiary.is--inverted {
	background: transparent;
	color: var(--color--white);
}

.menue-box .chip {
	position: absolute;
	z-index: 2;
	left: var(--content-padding);
	top: 0;
	translate: 0 -50%;
}

.menue-box figure {
	width: 100%;
	flex: 1 1 50%;
}

.menue-box figure::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent, var(--color--black));
	z-index: 1;
}

.menue-box figure picture {
	width: 100%;
	height: 100%;
}

.menue-box figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.menue-box figure figcaption {
	padding: .5em;
	text-align: center;
	position: absolute;
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(6px);
	top: 0;
	margin: 0;
	font-size: .625em;
}

.menue-box .article-content::before {
	content: "";
	height: 1px;
	background-color: var(--color--white-fade-10);
	position: absolute;
	inset: 0 var(--content-padding) auto var(--content-padding);
	z-index: 2;
}

.valuation {
	display: flex;
	flex-direction: column;
}

.valuation figure {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.valuation blockquote {
	align-content: center;
	flex: 1;
}

.valuation figcaption {
	display: flex;
	flex-direction: column;
	text-align: left;
}

.valuation svg {
	font-size: 3rem;
	position: absolute;
	right: var(--size-4);
	bottom: var(--size-4);
}

.icon-text .icon-text-icon {
	border-radius: 32px;
	display: block;
	width: 48px;
	height: 48px;
	background: var(--color--primary);
	padding: 12px;
	box-sizing: border-box;
}

.icon-text-icon path {
	fill: white;
}

.overflow--img {
	object-fit: cover;
	width: calc(100% + var(--section-padding-left-right-small) * 2);
	max-width: unset;
	left: 50%;
	translate: -50%;
}

.swiper.overflow--img {
	overflow: hidden !important;
}

.overflow--img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* CITY MENUE */

#city-toggle {
	background: transparent !important;
	border: none !important;
}

#city-toggle svg {
	fill: var(--color--white);
}

#city-toggle svg:last-child {
	transition: transform 0.3s ease;
}

#city-toggle.is--active svg:last-child {
	transform: rotate(180deg);
}

#city-toggle span {
	margin: 0 !important;
	display: none;
	text-transform: none;
}

#citymenue {
	position: absolute;
	top: 100%;
	width: 100%;
	left: 0;
	justify-content: center;
	background-color: var(--color--black);
	padding: 3em;
	display: flex;
	z-index: 2;
	opacity: 0;
	transform: translateY(-15px);
	pointer-events: none;
	transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

#citymenue.is--open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	border-bottom: 1px solid var(--color--white);
}

#citymenue .btn.is--close {
	position: absolute;
	top: .5em;
	right: .5em;
	background: transparent !important;
	border: none !important;
}


#citymenue ul {
	display: flex;
	gap: 2em;
	flex-direction: column;
	width: 100%;
	justify-content: flex-start;
	margin-top: 0;
	align-items: center;
	padding-top: 3em;
}

#citymenue li {
	width: 100%;
	max-width: 300px;
}


#citymenue li a {
	display: flex;
	text-decoration: none;
	background: var(--color--white);
	color: var(--color--black);
	flex-direction: row;
	align-items: center;
	justify-content: center;
	padding: 1em;
	fill: var(--color--black);
	gap: .5em;
}

#citymenue li a:hover {
	transform: scale(.95);
}

#citymenue li a span {
	margin: 0;
	text-transform: uppercase;
	transition: var(--transition);
}

#citymenue li a svg {
	position: unset;
	transform: unset;
	fill: rgb(var(--black));
}


#citymenue .city-option.is--current {
	margin-top: 0;
	background-color: var(--color--primary);
	color: var(--color--white);
	border-color: var(--color--white);
	border-radius: 0;
	fill: var(--color--primary);
}

#citymenue .city-option.is--current svg {
	fill: var(--color--white);
}

/* VERTICAL ACCORDION */

.harmonica-accordion-container {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin-block: 3em;
}

details.harmonica-accordion {
	border-bottom: none !important;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: var(--transition);
	overflow: hidden;
}

details.harmonica-accordion summary {
	padding: 1.25em 1.5em;
	transition: var(--transition);
	border: 2px solid var(--color--primary) !important;
}

html.js details.harmonica-accordion[open] {
	padding-top: 0;
}

html.js details.harmonica-accordion[open] summary {
	opacity: 0;
	max-height: 0;
	padding-block: 0;
}

details.harmonica-accordion summary span {
	flex: 1 1 100%;
}

details.harmonica-accordion h5 {
	font-size: 1em;
	text-transform: uppercase;
	color: var(--color--primary);
}

details.harmonica-accordion::before {
	content: '';
	position: absolute;
	inset: -2px;
	/* Entspricht der Details Border*/
	backdrop-filter: blur(.5em);
	pointer-events: none;
	transition: var(--transition);
	background: linear-gradient(to bottom, var(--color--black-fade-50), var(--color--black-fade-90));
}

details.harmonica-accordion[open]::before {
	backdrop-filter: blur(0);
}

details.harmonica-accordion .details-content {
	padding: 1.25em 1.5em;
}


label {
	position: relative;
}

label svg {
	position: absolute;
	left: 1em;
	top: 1em;
	pointer-events: none;
	fill: var(--color--white-fade-50, #fff8);
	transition: 0.2s cubic-bezier(.4, 0, .2, 1);
}

label:has(:not(.checkbox)) svg {
	width: 24px;
	height: 24px;
}

.table {
	overflow: auto hidden;
}

.sl-overlay {
	background: var(--color--black) !important;
}

.sl-wrapper {
	z-index: 99999 !important;
}

.sl-overlay {
	z-index: 99998 !important;
}

.sl-wrapper .sl-close svg,
.sl-wrapper .sl-navigation button.sl-next svg,
.sl-wrapper .sl-navigation button.sl-prev svg {
	fill: var(--color--white) !important;
	font-size: 1.5em !important;
}

.sl-wrapper button.sl-close,
.sl-wrapper .sl-navigation button.sl-next,
.sl-wrapper .sl-navigation button.sl-prev {
	width: 3rem !important;
	height: 3rem !important;
	font-size: 1rem !important;
}

.sl-wrapper .sl-counter {
	color: var(--color--white) !important;
}






@keyframes heroCloudInLeft {
	0% {
		opacity: 0;
		transform: translateX(-100%);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes heroCloudInRight {
	0% {
		opacity: 0;
		transform: translateX(100%);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes heroCloudInRightToCenter {
	0% {
		opacity: 0;
		left: 100%;
	}

	100% {
		opacity: 1;
		left: 50%;
		transform: translateX(-50%);
	}
}

@keyframes rotateMask {
	to {
		transform: rotate(45deg);
	}
}

@keyframes rotateMaskSlow {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes fadeInShine {
	from {
		opacity: 0;
	}

	to {
		opacity: .25;
	}
}

@keyframes fadeInHalf {
	from {
		opacity: 0;
	}

	to {
		opacity: 0.5;
	}
}

@keyframes fadeInDownToTop {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes logoRevealWrite {
	0% {
		opacity: 0;
		clip-path: polygon(0 0, -10% 100%, -10% 100%, 0 0);
	}

	100% {
		opacity: 1;
		clip-path: polygon(0 0, -10% 100%, 100% 100%, 110% 0);
	}
}

@media only screen and (max-width: 1024px) {
	.is--highlighted {
		margin: 0;
		padding: .5em .5em;
	}

	.mobile--reverse {
		flex-direction: column-reverse;
	}

	.swiper.padding--inline>.btn {
		top: 6em;
	}

	#location .swiper.padding--inline .columns .column img {
		width: 20em;
		margin: 0 auto;
	}

	#location .swiper.padding--inline>.btn {
		top: 10em;
	}

	#intro.wrapper {
		margin-top: 1rem;
	}


	table:not(.price-table) thead,
	table:not(.price-table) tfoot {
		display: none;
	}

	table:not(.price-table) tr {
		display: block;
		padding: 1em;
	}

	table:not(.price-table) th,
	table:not(.price-table) td {
		display: block;
		padding: 0;
	}

	table:not(.price-table) th:first-child,
	table:not(.price-table) td:first-child {
		font-weight: 700;
	}

	.btn.is--fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999;
		width: auto;
		margin: 0 !important;
	}

	.btn.is--fixed.margin--bottom {
		bottom: 3em;
	}

	header .btn.is--brunch {
		display: none;
	}

	.swiper.swiper:not(:has(.is--next, .is--prev)) {
		padding-right: 2em;
	}
}

@media only screen and (min-width: 768px) {
	.columns .column {
		flex-basis: calc(50% - 1em);
	}

	.hero-logo {
		margin-top: -14em;
	}

	.grid {
		--columns: var(--columns-tablet, 2);
		--gap: var(--gap-tablet, var(--size-24));
	}
}

@media only screen and (min-width: 1024px) {
	:root {
		--size-2: .125em;
		--size-3: .1875em;
		--size-4: .25em;
		--size-6: .375em;
		--size-8: .5em;
		--size-12: .75em;
		--size-13: .8125em;
		--size-14: .875em;
		--size-15: .9375em;
		--size-16: 1em;
		--size-18: 1.125em;
		--size-20: 1.25em;
		--size-24: 1.5em;
		--size-28: 1.75em;
		--size-32: 2em;
		--size-40: 2.5em;
		--size-48: 3em;
		--size-56: 3.5em;
		--size-60: 3.75em;
		--size-64: 4em;
		--size-72: 4.5em;
		--size-80: 5em;
		--size-96: 6em;
		--size-128: 8em;
	}

	#hero-section.is--dsn .hero-logo {
		margin-top: -29em;
		padding: 2em 6em;
	}

	#hero-section.is--dsn {
		margin-bottom: -9rem;
	}

	#hero-section.is--mafia-mia {
		margin-bottom: -10rem;
	}

	#hero-section.is--mafia-mia .hero-logo {
		padding-top: 0;
		margin-top: -20em;
	}

	.padding--inline {
		padding-inline: var(--size-128) !important;
	}

	.columns .column .columns {
		gap: .75em;
		margin: .75em 0;
	}

	.slider-box .image {
		width: 20em;
	}

	main {
		margin-top: 8rem;
	}

	.input-wrapper:first-child {
		margin: 0;
	}

	.input-wrapper:last-child {
		margin: 0;
	}

	ul.social-media-menu {
		display: flex;
	}

	ul.social-media-menu.on--mobile {
		display: none;
	}

	header {
		padding: 1em 3em;
	}

	h1 {
		font-size: 3em;
	}

	h2 {
		font-size: 2em;
	}

	h3 {
		font-size: 1.5em;
	}

	h4,
	.is--h4 {
		font-size: 1.25em;
	}

	h5 {
		font-size: 1em;
	}

	h6 {
		font-size: .875em;
	}

	ul,
	ol,
	p,
	input,
	textarea,
	select,
	table,
	label,
	legend,
	details summary,
	cite {
		font-size: 1em;
	}

	details .details-content {
		padding: 0 0 1em 2em;
	}

	#hotline>svg {
		font-size: 2.5em;
	}

	#hotline .icon-text span:first-child {
		font-size: .875em;
	}

	#hotline .icon-text span:last-child {
		display: block;
	}

	#logo {
		width: 8em;
		flex: 0 0 auto;
	}

	#logo img {
		width: 100%;
	}

	.btn {
		padding: 1em 1.5em;
		margin: 2em 0;
	}

	.btn span {
		font-size: 1em;
	}

	.btn svg {
		font-size: 1.5em;
	}

	.toolbar {
		gap: 2em;
	}


	section,
	.wrapper {
		padding: var(--section-padding-top-bottom-big) var(--section-padding-left-right-big);
	}

	section.wrapper h2,
	section.wrapper>p {
		text-align: center;
		margin-inline: auto;
	}

	section.wrapper>p {
		max-width: 400px;
	}

	.btn {
		padding: 1em;
	}

	.columns {
		gap: 1.5em;
		flex-direction: row;
		margin: 3em 0;
	}

	.columns.is--center {
		align-items: center;
	}

	.columns.is--end {
		align-items: end;
	}

	.columns.justify--center {
		justify-content: center;
	}

	.columns .column {
		flex-basis: calc(33.33% - 1.5em);
	}

	.columns.big--gap {
		gap: 6em !important;
	}

	.columns .column.no-flex-basis {
		flex: unset;
	}

	.columns .column.flex-basis-85 {
		flex-basis: 80%;
	}

	.columns .column.flex-basis-80 {
		flex-basis: 80%;
	}

	.columns .column.flex-basis-75 {
		flex-basis: 75%;
	}

	.columns .column.flex-basis-70 {
		flex-basis: 70%;
	}

	.columns .column.flex-basis-60 {
		flex-basis: 60%;
	}

	.columns .column.flex-basis-66 {
		flex-basis: 66.66%;
	}

	.columns .column.flex-basis-40 {
		flex-basis: 40%;
	}

	.columns .column.flex-basis-33 {
		flex-basis: 33.33%;
	}

	.columns .column.flex-basis-30 {
		flex-basis: 30%;
	}

	.columns .column.flex-basis-25 {
		flex-basis: 25%;
	}

	.columns .column.flex-basis-20 {
		flex-basis: 20%;
	}

	.columns .column.flex-basis-10 {
		flex-basis: 10%;
	}

	.columns .column.flex-basis-5 {
		flex-basis: 5%;
	}

	.grid.columns--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4em 1.5em;
	}

	.tooltip>.btn>svg {
		font-size: 1.5em;
	}

	.tooltip .tooltip-wrapper {
		box-shadow: var(--box-shadow-big);
	}

	.tooltip .tooltip-wrapper>.btn.is--toggle {
		display: none;
	}

	.ticket {
		padding: 2em 3.5em;
		border-right-width: .75em;
	}

	.ticket .headline-container::before,
	.ticket .headline-container::after {
		width: 1.5em;
	}

	.ticket .headline-container::before {
		left: -3.5em;
	}

	.ticket .headline-container::after {
		right: -4.5em;
	}

	.triangle-badge {
		right: 2em;
		padding: .75em 1em;
	}

	.ticket .voucher-ribbon {
		right: -0.75em;
		bottom: -3.5em;
		width: 7.5em;
	}

	.headline-container {
		gap: .75em;
	}

	.headline-container .tooltip>.btn>svg {
		font-size: 2em;
	}

	.triangle-badge::after {
		border-width: 0 6em 6em 0;
	}

	.triangle-badge span {
		font-size: .625em;
	}

	.input-wrapper {
		gap: .75em;
		margin: .75em 0;
	}

	.input-wrapper svg {
		font-size: 1.5em;
	}

	.custom-radio {
		width: 1.25em;
		top: 0;
	}

	.custom-radio::after {
		width: .875em;
	}

	#hotline .icon-text>svg {
		font-size: 2.5em;
	}

	.icon-text.is--highlight {
		margin: 2em 0;
	}

	.icon-text>svg {
		font-size: 1.5em;
	}

	.icon-text.is--highlight>svg {
		font-size: 4em;
	}

	/* NEW */

	.ticket-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	#special-days .icon-text.is--highlight>svg {
		font-size: 3em;
	}

	.timeline {
		flex-direction: row;
	}

	.timeline::before {
		top: .75em;
		left: 3em;
		right: 3em;
		bottom: unset;
		height: 2px;
		width: auto;
		transform: translateY(-50%);
	}

	.timeline .timeline-el {
		padding-left: 0;
		padding-top: 3em;
		width: 6em;
	}

	.timeline .timeline-el::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline .timeline-el span {
		text-align: center;
	}

	.product-card {
		padding: 4.5em 3em;
	}

	.option {
		padding: 2.5em 2em;
		flex-wrap: nowrap;
		gap: 3em;
	}

	.option .input-wrapper {
		flex: 0 0 12em;
		width: 12em;
	}

	.counter[style] {
		padding: 3.5em;
	}

	input[type="radio"]~label.btn,
	input[type="checkbox"]~label.btn {
		box-shadow: var(--box-shadow-big);
	}

	.steps {
		gap: 6em;
		margin-bottom: 6em;
	}

	.steps .step:not(:first-child)::before {
		width: 6em;
	}

	.steps .step>.label {
		display: block;
	}

	.font-size--large {
		font-size: 1.5em;
	}

	.font-size--extra-large {
		font-size: 2em;
	}

	.font-size--huge {
		font-size: 3em;
	}

	.steps {
		margin-bottom: 4em;
	}

	#hero-video {
		margin-top: -12em;
	}

	#hero {
		display: grid;
		align-items: start;
		grid-template-areas: "stack";
	}

	#hero>* {
		grid-area: stack;
	}

	#hero section {
		margin: -5em auto auto -5em;
		padding: 2em;
		gap: 1em;
	}

	ul.bubbles li {
		left: 15%;
		top: 85%;
	}

	ul.bubbles li:last-child {
		left: 65%;
		top: 80%;
	}

	#language-switcher {
		width: max-content;
	}

	header {
		padding: 1em 3em;
	}

	.ticket-container {
		grid-template-columns: repeat(auto-fit, minmax(9em, 1fr));
	}

	.small-ticket .ticket-info .info-date {
		font-size: 2em;
	}

	.icon-text.icon--big {
		gap: 1.5em;
	}

	.icon-text.icon--big>svg,
	.icon-text.icon--big>img {
		font-size: 3em;
	}

	.bubble {
		right: -8em;
	}

	.goodie-content {
		padding: 1.5em;
	}

	.btn-list {
		flex-direction: row;
	}

	article {
		flex-direction: row-reverse;
	}

	.menue-box .article-content {
		--content-padding: 3rem;
	}

	.menue-box .article-content::before {
		inset: var(--content-padding) auto var(--content-padding) 0;
		width: 1px;
		height: auto;
	}

	#impressions .btn:not(.icon--only) {
		display: block;
		margin: 0 auto;
		width: fit-content;
		margin-top: 5em;
		padding-inline: 2em;
	}

	.overflow--img {
		position: absolute;
		inset: calc(-1 * var(--section-padding-top-bottom-big)) 0;
		height: calc(100% + var(--section-padding-top-bottom-big) * 2);
		width: 100%;
		translate: none;
	}

	.gallery {
		margin-inline: calc(-1 * var(--section-padding-left-right-big));
	}

	.gallery .swiper.swiper-initialized .swiper-slide:is(:nth-child(4n - 2), :nth-child(4n - 1)) {
		grid-column: span 3 !important;
	}

	.gallery .swiper.swiper-initialized .swiper-slide:is(:nth-child(4n - 3), :nth-child(4n)) {
		grid-column: span 2 !important;
	}

	.gallery .swiper.swiper-initialized.is--home .swiper-wrapper {
		grid-template-rows: repeat(2, 1fr) !important;
	}

	.accordion-list {
		margin-inline: auto;
		max-width: 700px;
	}

	#artists .swiper-slide:not(.swiper-slide-active).swiper-slide-next {
		transform: translate(-18%, 0%);
	}

	#artists .swiper-slide:not(.swiper-slide-active).swiper-slide-prev {
		transform: translate(65%, 0%);
	}

	.is--style-h3 {
		font-size: 1.5em;
	}

	.menue-box .chip+* {
		margin-top: 0;
	}

	.menue-box figure figcaption {
		font-size: 0.75em;
	}

	.menue-box figure::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(to right, transparent, var(--color--black));
		z-index: 1;
	}

	#citymenue {
		height: unset;
	}

	#citymenue ul {
		flex-direction: row;
		padding-top: 0;
		justify-content: center;
		gap: 1em;
	}

	#city-toggle span {
		display: block;
	}

	.harmonica-accordion-container {
		flex-direction: column;
		gap: 1em;
	}

	.harmonica-accordion-container.is--vertical {
		flex-direction: row;
		gap: 1.25em;
	}

	.harmonica-accordion-container.is--vertical details.harmonica-accordion {
		min-height: 28em;
		padding-left: 4.5em;
	}

	details.harmonica-accordion {
		padding-top: 0;
		flex: 0 0 auto;
	}

	html.js details.harmonica-accordion[open] {
		padding-left: 0;
	}

	details.harmonica-accordion[open] {
		flex: 1 1 100%;
	}

	details.harmonica-accordion summary {
		flex-direction: row;
	}

	.harmonica-accordion-container.is--vertical details.harmonica-accordion summary {
		bottom: 0;
		right: unset;
		padding: 1.25em 1em;
		flex-direction: column;
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
	}

	html.js .harmonica-accordion-container.is--vertical details.harmonica-accordion[open] summary {
		max-width: 0;
		max-height: unset;
	}

	.harmonica-accordion-container.is--vertical details.harmonica-accordion summary span {
		position: absolute;
		bottom: .5em;
		left: 50%;
		white-space: nowrap;
		transform-origin: left center;
		rotate: -90deg;
	}

	details.harmonica-accordion .details-content {
		padding: 2em;
		max-width: 32em;
		height: 100%;
	}

	.grid {
		--columns: var(--columns-desktop, 3);
		--gap: var(--gap-desktop, var(--size-32));
	}
}

@media only screen and (min-width: 1500px) {
	header .btn:not(#sticky-btn) {
		width: auto;
		aspect-ratio: unset;
		padding: .75em 1em;
	}

	header .btn:not(#sticky-btn) span {
		display: flex;
	}

	header .btn#sticky-btn {
		inset: auto 2.5rem 2rem auto;
		width: auto;
	}

	#menu-toggle {
		display: none;
	}

	#menu {
		position: relative;
		inset: unset;
		width: auto;
		height: auto;
		visibility: visible;
		opacity: 1;
		pointer-events: all;
		background: transparent;
	}

	#menu .wrapper {
		transform: none;
		padding: 0;
		background: transparent;
		box-shadow: none;
		flex-direction: row;
		justify-content: flex-end;
		width: auto;
		margin: 0;
		height: auto;
		gap: 1.5em;
	}

	#menu .wrapper>.btn.is--toggle {
		display: none;
	}

	nav ul {
		display: flex;
	}
}