@font-face {
    font-family: 'HAL Repost';
    src: url('fonts/HALRepost-Regular.woff2');
    font-weight: normal;
    font-style: normal;
	ascent-override: 100%;
	descent-override: 20%;
}

@font-face {
    font-family: 'HAL Repost';
    src: url('fonts/HALRepost-Italic.woff2');
    font-weight: normal;
    font-style: italic;
	ascent-override: 100%;
	descent-override: 20%;
}

:root
{
	--active-color: green;
	--page-color: black;
	--primary-color: blue;
	--secondary-color: violet;
	--text-color: black;
	--fancybox-content-color:var(--text-color);
	--theme-color: var(--page-color);
	--hover-color: var(--page-color);
	--odd-color: lightgrey;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: white;
	--header-height: 96px;
	--interactive-height: 0;
	--content-width: 45em;
	--content-width-small: calc(var(--content-width) - 10em);
	
	--content-padding: 1.5em;
	--content-padding-vertical: var(--content-padding);
	--content-padding-horizontal: var(--content-padding);

	--is-iso-level-spacing: -100px;
	--is-iso-level-active-count:1;
	--is-iso-zone-active-filter-color: blue;
}

h1,
h2 {
	font-weight: normal;
}

ul {
	margin: 0;
}

em {
	font-style: italic;
}

body
{
	color:var(--text-color);
	font-family: "HAL Repost", serif;
	margin:0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 24px;
	line-height: 1;
}

body.toggled
{
	overflow: hidden;
}

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

header
{
	position:sticky;
	background:white;
	top:0;
	z-index:100;
}

.home header {
	z-index: 1100;
}

.home:has(.entry.heading) main section > .title.element {
	display: none;
}

.home:has(.entry.heading) .blog.element {
	background-color: var(--primary-color);
}

header > .wrapper,
footer > .wrapper
{
	margin:auto;
	padding:.8em var(--content-padding-horizontal);
}

header > .wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 1em;
	outline: 1px solid black;
	/* 
	max-width: calc(var(--content-width) + 25em); */
}

header .items
{
	display:flex;
	justify-content: space-between;
	align-items: center;
}

header .logo img,
footer .logo img
{
	display:block;
	width:6.5em;
	/* height:6em; */
	object-fit:contain;
}

footer .logo img {
	width: clamp(2em, 6.5vw, 4em);
}

header .logo .mobile {
	display: none;
}

header nav.main,
footer nav
{
	display:flex;
	flex-wrap:wrap;
	gap: .5em 1em;
}

header nav.main 
{
	gap: 0;
	justify-content: end;
}

header nav.main > .link {
	display: flex;
	position: relative;
}

header nav.main > .link:first-child {
	display: none;
}

header nav.main .link > .sub a {
	padding: .85em clamp(1em, 2vw, 1.5em);
}

header nav.main a {
	border-right: 1px solid black;
	padding: clamp(1em, 2vw, 1.5em);
}

header nav.main > .link:nth-child(2) {
	border-left: 1px solid black;
}

header nav.main .sub a {
	background-color: white;
}

header nav.main a.active,
header nav.main a:hover
{
	background-color: var(--active-color) !important;
}

header nav.main .link .sub {
	display: none;
	position: absolute;
	transform: translateX(-33.3%);
	left: -1px;
	top: 100%;
}

header nav.main .link .sub a {
	border: 1px solid black;
	border-right: none;
}

header nav.main .sub .link:last-child a {
	border-right: 1px solid black;
}

header nav.main .link:hover .sub {
	display: flex;
}

header nav.main .link .sub a:hover {
	border-top: 1px solid black;
}

header nav .link a {
	width: 6em;
	display: block;
	text-align: center;
}

header .nav-toggle,
header .scrolltop
{
	display: none;
	align-items: center;
	justify-content: center;
	padding: 0;
}

header .nav-toggle::after
{
	content: "\f0c9";
}

.toggled header .nav-toggle::after
{
	content: "\f00d";
}

header .scrolltop::after {
	content:"\f062";
}

body:not(.home) main
{
	color: var(--page-color);
}

main .group > .wrapper
{
	max-width:var(--content-width);
	margin:auto;
}

main > section {
	background-color: var(--primary-color);
	color: var(--section-text-color);
}

section {
	scroll-margin-top: var(--header-height);
}

.group > .wrapper
{
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
}

.group > .wrapper > :first-child,
.group > .wrapper > .title:first-child > .wrapper > h1,
.group > .wrapper > .subtitle:first-child > .wrapper > h2
{
	margin-top:0;
}

.group > .wrapper > :last-child,
.group > .wrapper > .title:last-child > .wrapper > h1,
.group > .wrapper > .subtitle:last-child > .wrapper > h2
{
	margin-bottom:0;
}

.group .element
{
	margin:2em 0;
}

main .group > .wrapper:has(.info.element) {
	max-width: calc(var(--content-width) + 24em);
	margin: 0 auto;
	padding: var(--content-padding-vertical) var(--content-padding-horizontal)
}

.selectables a
{
	text-decoration: underline;
}

footer {
	background: #984316;
	color: white;
}

footer > .wrapper {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

footer nav 
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	justify-content: center;
	align-items: center;
	text-align: center;
}

footer nav .logo {
	display: flex;
	justify-content: center;
}

.links.consent-buttons,
footer nav a,
.typo {
	line-height: 1.15em;
	font-size: clamp(.75em, 2vw, 1em);
}

.typo {
	overflow-wrap: break-word;
}


.consent-message {
	font-size: clamp(.6em, 2vw, .85em);
}

/* elements */
main .title .wrapper {
	padding: 0 var(--content-padding-horizontal);
}

main .title h1 {
	color: var(--section-text-color);
	padding: .5em 0;
	text-align: center;
	font-size: clamp(1.5em, 10vw, 3em);
	margin: 0;
	font-weight: normal;
}

main .text.element:has(+ .image-link) {
	margin: 3em 0;
}

.interactive-horizontal .wrapper,
.interactive-vertical .wrapper {
	padding: 0 var(--content-padding-horizontal) calc(var(--content-padding-vertical) * 3) var(--content-padding-horizontal);
}

.interactive-horizontal svg,
.interactive-vertical svg {
	display: block;
	background-color: var(--primary-color);
}

.interactive-horizontal svg .st1,
.interactive-horizontal svg .st01,
.interactive-vertical svg .st01,
.interactive-horizontal svg .st03,
.interactive-vertical svg .st03,
.interactive-horizontal svg .st3,
.interactive-vertical svg .st3 {
	fill: var(--primary-color);
}

.interactive-content .interactive-list .house:first-child h2 {
	border-top: 2px solid var(--text-color)
}

.interactive-content .interactive-list .house h2 {
	padding: .4em 0;
	border-bottom: 2px solid var(--text-color);
}

.interactive-content .interactive-list h2 {
	display: grid;
	grid-template-columns: auto auto;
	font-size: .75em;
	font-weight: normal;
	margin: 0;
}

.interactive-content .interactive-list .house h2::after {
	display: inline-block;
	justify-self: end;
	grid-column: 2;
	align-self: center;
	margin-right: .15em;
	content: '\f054';
	font-family: 'Font Awesome 6 Pro';
	font-weight: lighter;
	font-size: .8em;
	transition: all .15s ease-in-out;
}

.interactive-content .interactive-list .house:hover {
	cursor: pointer;
}

.interactive-list .house[data-reference=is_zone_unavailable] {
	display: none;
}

.interactive-content .interactive-list .house.selected h2::after {
	transform: rotate(90deg);
}

.interactive-content .interactive-list .house.active h2 {
	font-style: italic;
}

.interactive-content .interactive-list .house.active h2::after {
	font-style: normal;
}

.interactive-content .interactive-list .typo {
	padding: 1em 0;
	font-size: .67em;
}

.interactive-horizontal .interactive-content,
.interactive-vertical .interactive-content {
	gap: var(--content-padding);
}

.is-iso-active {
	cursor: pointer;
}

.interactive-horizontal .iso .is-iso-zone,
.interactive-vertical .iso .is-iso-zone {
	opacity: 0;
}

.interactive-horizontal .iso .is-iso-zone.is-iso-active,
.interactive-vertical .iso .is-iso-zone.is-iso-active {
	opacity: 1;
}

.interactive-title h2 {
	color: var(--secondary-color);
	font-size: clamp(1em, 3vw, 2.25em);
	margin: 0;
	font-weight: normal;
	padding: .35em 0 .12em 0;
}

.interactive-title {
	margin-bottom: var(--content-padding);
}

.interactive-vertical .interactive-sidebar {
	max-width: var(--content-width-small);
	justify-self: center;
	width: 100%;
}

.interactive-list .typo {
	display: none;
}

.interactive-list .typo.selected  {
	display: block;
}

.interactive-list .house:not(:last-child) .typo.selected {
	border-bottom: 2px solid var(--page-color);
}

.interactive-iso {
	top: var(--header-height);
	background: white;
	z-index: 1;
}

.interactive-vertical .interactive-iso .iso img {
	display: block;
	width: 100%;
}

.quote .items,
.faq .items .question {
	color: var(--secondary-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.3em;
}

.quote .items h2 {
	font-style: italic;
	font-size: clamp(1em, 3vw, 2.25em);
	font-weight: normal;
	text-align: center;
	line-height: .965;
	margin: 0;
}

.quote .items .typo {
	font-size: clamp(.6em, 1vw, .7em);
	text-align: center;
}

.faq.element {
	margin-top: 2em;
}

.faq .wrapper {
	max-width: var(--content-width-small);
	margin: 0 auto;
}

.faq .items h2 {
	font-weight: normal;
	text-align: center;
	font-size: clamp(1em, 3vw, 1.5em);
	margin: 0;
}

.faq .items .question.active .title,
.faq .items .question:hover .title {
	font-style: italic;
}

.faq .items .question:hover {
	cursor: pointer;
}

.faq .question .item.title {
	padding: 1.5em 0;
}

.faq .question.active .item.title {
	width: 100%;
	border-bottom: 2px solid var(--page-color);
}

.faq .question .item.toggled {
	display: block;
	padding: 1em 0 var(--content-padding-vertical) 0;
}

.faq .question {
	border-bottom: 2px solid var(--page-color);
}

.faq .question:first-child {
	border-top: 2px solid var(--page-color);
}

.image-link .grid-col-2 {
	gap: 1em;
}

.image-link img {
	width: 100%;
	height: 20em;
	object-fit: cover;
}

.image-link a.legend:hover {
	font-style: italic;
	text-decoration: underline;
}

.image-link .single {
	max-width: calc(var(--content-width) - 20em);
	margin: auto;
}

.image-link .single img {
	display: block;
}

.legend {
	font-size: clamp(.6em, 1vw, .7em);
	display: block;
}

.slideshow .slideshow-title {
	max-width: 1330px;
	margin: 0 auto;
	font-size: clamp(1em, 3vw, 2.1em);
}

.slideshow .slideshow-title .title-row-1 {
	text-align: start;
}

.slideshow .slideshow-title .title-row-2 {
	text-align: end;
}

.slideshow .slideshow-title h1 {
	margin: 0;
}

.slideshow.mobile {
	display: none;
}

.slideshow.desktop .swiper-slide,
.slideshow.mobile .swiper-slide {
	height: calc(100vh - var(--header-height) - 3em);
}

.info .group > .wrapper {
	padding: 0;
	margin: 0;
}

.info.element > .wrapper > .items {
	gap: 2em;
	color: var(--secondary-color);
}

.info .impressum-link {
	text-decoration: underline;
}

.info .impressum-link:hover {
	font-style: italic;
}

.blog.element {
	background-color: white;
}

.blog > .wrapper {
	margin: auto;
	/* max-width: calc(var(--content-width) + 25em); */
    padding: 0;
}

.blog .list:not(:last-child) {
	border-right: 2px solid var(--secondary-color);
}

.blog .list .entry {
	border-top: 2px solid var(--secondary-color);
}

.blog .list .entry .entry-open {
	color: black;
	font-style: italic;
	text-decoration: underline;
	padding: 0;
}

.blog .list .entry:last-child {
	border-bottom: 2px solid var(--secondary-color);
}

/*outline-color wird hier nur für JavaScript gesetzt, damit die JS Funktion die Farbe bekommen kann. */
.blog .list.col1 .entry:nth-child(3n - 2) .news{
	outline-color: #783CD2;
}

.blog .list .entry .news:hover {
	background-color: var(--background-color);
}

.geschichten .blog .list .entry .news:hover {
	background-color: #F05A95;
}

.blog .list .entry .news {
	display: block;
	padding: 1em var(--content-padding-horizontal) var(--content-padding-vertical) var(--content-padding-horizontal);
	text-align: center;
}

.blog .list .entry .image {
	height: 0;
	padding-top: 65%;
	border-radius: 1em;
    background-size: cover;
    background-position: center center;
	background-repeat: no-repeat;
}

.blog .list .entry .image-container {
	margin-bottom: 1em;
}

.blog .list .entry .image.svg {
	background-size: contain;
}

.blog .list .entry .news:hover .image.svg {
	background-image: var(--hover-picture) !important;
}

.title-small h1 {
	margin: 0;
}

.blog .list .entry .news .item .subtitle,
.blog .list .entry .news .item .title-small,
.blog .list .entry .news > .text.element,
.title-small h1 {
	text-align: center;
}

.blog .list .entry .news .date .title-small h1 {
	font-weight: normal;
	margin: .5em 0;
}

.blog:has(.entry.heading) {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal) 0 var(--content-padding-horizontal);
}

.entry.heading {
	position: relative;
}

.entry.heading .back-link {
	position: absolute;
	top: -5px;
	left: 0;
	cursor: pointer;
	color: var(--secondary-color);
	font-size: clamp(1em, 2.5vw, 1.5em);
	font-weight: bold;
}

.consent-settings .title.element,
.entry.heading .title,
.entry.heading .text {
	text-align: center;
}

.entry .title h1 {
	font-weight: normal;
	line-height: .9em;
	margin: 0;
	padding: .6em 0;
}

.consent-settings .title.element h1,
.title-small h1,
.entry .title h1 {
	font-size: clamp(1.4em, 3vw, 2.25em);
}

.entry .title-small h1 {
	font-weight: normal;
	margin-top: 1em;
	margin-bottom: .9em;
}

.entry .subtitle h2 {
	font-size: clamp(1em, 3vw, 2em);
}

.entry .group .images.element {
	margin: 1.5em 0;
}

.entry .group .images.element {
	margin-bottom: 2em;
}

.history.element {
	padding: 1em 0;
}

.history + .history {
	padding-top: 0;
}

.history h1,
.timeline h1 {
	color: var(--secondary-color);
	font-size: clamp(2.5em, 8vw, 3.75em);
	font-weight: normal;
	margin: 0;
}

.history h1 {
	font-size: clamp(3em, 8vw, 5em);
}

.history h1:first-line {
	line-height: .6;
}

.history .items .typo {
	padding-bottom: 1em;
}

.history .items .image img {
	width: 100%;
	display: block;
}

.timeline.element {
	text-align: center;
	margin: 0;
}

.timeline .year:hover {
	cursor: pointer;
}

.timeline .year.active .title,
.timeline .year:hover .title {
	font-style: italic;
}

.timeline .months.toggled {
	display: block;
	padding-bottom: var(--content-padding-vertical);
	border-bottom: 2px solid white;
}

.timeline .month {
	max-width: var(--content-width-small);
	margin: 0 auto;
}

.timeline h1 {
	padding: 0 var(--content-padding) .1em var(--content-padding);
	border-bottom: 2px solid white;
}

.timeline:first-child h1 {
	border-top: 2px solid white;
}

.info .subtitle h2,
.timeline h2 {
	font-weight: normal;
	font-size: clamp(1.125em, 5vw, 2.25em);
	margin-bottom: .3em;
	margin-top: .4em;
}

.info .subtitle h2 {
	font-family: 'HAL Repost';
	margin-bottom: .9em;
}

.image-title .wrapper {
	max-width: var(--content-width);
	margin: 0 auto;
	padding: var(--content-padding-vertical) var(--content-padding-horizontal) 0 var(--content-padding-horizontal);
}

.image-title img {
	width: 100%;
	display: block;
}

.images-small img,
.images img
{
	display:block;
	width:100%;
}

.images-small .wrapper {
	max-width: var(--content-width-small);
	margin: 0 auto;
}

.images.element .wrapper {
	max-width: var(--content-width);
	margin: 0 auto;
}

.image-grid .wrapper {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);	
	justify-content: center;
	align-items: baseline;
	gap: var(--content-padding);
	display: flex;
	flex-wrap: wrap;
}

.image-grid .item {
	display: grid;
	gap: 2em;
	width: 10em;
}

.image-grid img {
	justify-self: center;
	max-height: 35vh;
	max-width: 50vw;
}

.image-grid .typo {
	font-size: .65em;
}

.image-grid .second-image {
	display: none;
}

.image-grid .wrapper .item:hover .second-image {
	display: block;
}

.image-grid .wrapper .item:has(.second-image):hover .first-image {
	display: none;
}

.grid-row-2 {
	display: grid;
	grid-template-rows: auto auto;
}

.grid-col-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.grid-col-4 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/*Fix Grid fr unit*/
.slideshow .swiper-slide
{
	width: 100% !important;
}

.slideshow .swiper-slide > img
{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.slideshow .swiper-slide > .legend
{
	position: absolute;
	bottom: 0; 
	left:0; 
	right:0;
	color:white;
	text-align:center;
	z-index:1;
	pointer-events: none;
	text-shadow:0px 0px 15px #333;
	padding:2em;
}

.gallery .items
{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap:1em;
}

.gallery img
{
	display:block;
	width:100%;
}

.links .items
{
	display:flex;
	gap: .5em;
	flex-wrap:wrap;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select
{
	box-sizing:border-box;
	font:inherit;
	color:inherit;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:1px solid var(--theme-color);
	padding:.5em;
	border-radius: 0;
}

.button,
button
{
	background:var(--theme-color);
	background: none;
	border:none;
	color:white;
	color:black;
	cursor:pointer;
	padding:.5em .5em;
	white-space: nowrap;
	display: inline-block;
	font-weight:normal
}

.button.primary,
button.primary
{
	font-weight:bold;
	background-color: lightgrey;
	border: 1px solid black;
}

.button.secondary,
button.secondary
{
	color:var(--theme-color);
	border:1px solid var(--theme-color);
	background:none;
}

select
{
	appearance:none;
	background:none;
}

.responsive
{
	position: relative;
	padding-bottom: 90%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
}

.responsive iframe,
.responsive > .consent-content
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}

.video video
{
	display:block;
	width:100%;
}

/* */
.text-left
{
	text-align: left;
}

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

.text-right
{
	text-align: right;
}

.fancybox__slide {
	padding: 0;
}

.home .fancybox__content
{
	position: relative;
	width:100%;
	display: block;
}

.fancybox__content.consent-settings .title.element {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

.fancybox__content {
	padding: 0;
}

.fancybox__content > .group > .wrapper {
	max-width: var(--content-width);
	margin: 0 auto;
}

.fancybox__content .entry .group > .wrapper {
	padding: 0;
}

.fancybox__content .group > .wrapper {
	box-sizing: content-box;
}

.fancybox__content>.f-button.is-close-btn {
	--f-button-color: black;
	--f-button-svg-width: 1.5em;
	--f-button-svg-height: 1.5em;
	--f-button-hover-color: white;
	--f-button-svg-stroke-width: 3;
	opacity: 1;
	top: 2em;
	left: 2em;
}

.slideshow .swiper-button-next:after,
.slideshow .swiper-button-prev:after {
	font-size: 1.5em;
}

.fancybox__slide.has-image .fancybox__content
{
	width: 100%;
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
    padding-top: var(--header-height);
}

.icon::after,
.icon::before
{
	text-align: center;
	font: var(--fa-font-regular);
}

.consent-cover
{
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	display:flex;
	justify-content: center;
	align-items:center;
}

.consent-cover .consent-message
{
	text-align:center;
}

.consent-cover-info
{
	display:flex;
	flex-direction:column;
	align-items: center;
	gap:.5em;
	padding:2em;
}

.consent-dialog
{
	position:sticky;
	bottom:0;
	background:white;
	z-index:100;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:var(--content-width);
	padding: 1em var(--content-padding-horizontal);
}

.toggle-button
{
	font-size:1.4em;
	position:relative;
	width:2em;
	height:1em;
	background:gray;
	box-sizing:border-box;
	border-radius:.5em;
	transition:background .5s;
	cursor:pointer;
}

.toggle-button::after
{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:calc(1em - 4px);
	height:calc(1em - 4px);
	margin:2px;
	background:white;
	border-radius:.4em;
}

.toggle-button.active
{
	background:green;
}

.toggle-button.active::after
{
	right:0;
	left:auto;
}

a[consent-settings]
{
	cursor: pointer;
}

.consent-settings .tab
{
	border-top:1px solid black;
}

.consent-settings .consent-preferences
{
	border-bottom: 1px solid black;
}

.consent-settings .tab .header
{
	display:flex;
	justify-content: space-between;
	align-items:center;
	gap:.5em;
}

.consent-links
{
	gap:.5em;
	display:inline-flex;
	text-decoration: underline;
	flex-wrap: wrap;
}

.consent-settings .tab [data-toggle]
{
	cursor:pointer;
}

.consent-settings .tab [data-toggle] h2
{
	display: flex;
	gap:.5em;
	align-items: center;
	font-size: clamp(1em, 3.5vw, 1.5em);
}

.consent-settings .tab [data-toggle] h2:before
{
	display: grid;
	width:1em;
	height:1em;
	place-items:center;
	font: var(--fa-font-regular);
	content:"\f054"
}

.consent-settings .tab [data-toggle].active h2:before
{
	content:"\f078";
}

.consent-settings .tab .body
{
	padding-bottom: 1em;
}

.tab .body.toggled
{
	display:block;
}

.tag-pill
{
	padding:.1em .5em;
	border: 1px solid var(--odd-color);
	border-radius:.5em;
	margin-top:-.25em;
}

.hidden
{
	display:none;
}

@media(min-width:1900px) {
	.blog > .wrapper.grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media(max-width:1899px) {
	.blog > .wrapper.grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media(max-width:1600px) {
	footer nav {
		grid-template-columns: 5vw repeat(3, minmax(0, 1fr));
	}
}

@media(max-width:1300px) {
	.interactive-iso {
		top: 2em;
	}

	.interactive-content .iso svg {
		max-height: 40dvh;
	}

	.fancybox__content>.f-button.is-close-btn {
		--f-button-svg-width: 1em;
		--f-button-svg-height: 1em;
		top: 1.7em;
		left: 1.7em;
	}

	footer .spacer {
		display: none;
	}

	footer nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media(max-width:1000px)
{
	.home header .logo {
		display: block;
	}

	header .logo {
		display: none;
	}

	.toggled header .logo {
		display: block;
	}

	.toggled header .scrolltop {
		display: none;
	}

	.toggled header .items {
		padding:1em var(--content-padding-horizontal);
		position: sticky;
		border-bottom: 1px solid black;
		top: 0;
		background-color: white;
		z-index: 2;
	}

	header > .wrapper
	{
		margin:auto;
		padding:1em var(--content-padding-horizontal);
	}

	.toggled header
	{
		height: 100dvh;
	}
	
	.toggled header > .wrapper 
	{
		height: 100dvh;
		overflow-x: scroll;
		background: white;
		grid-template-rows: auto minmax(0, 1fr);
		padding: 0;
	}

	header > .wrapper 
	{
		display: grid;
		grid-template-columns: 1fr;
		align-items: start;
		outline: none;
	}

	header .items {
		min-height: 30px;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-items: center;
	}

	header .logo {
		grid-column: 2;
	}
	
	header .logo .mobile {
		display: block;
	}
	
	header .nav-toggle
	{
		display: flex;
		justify-self: end;
		grid-column: 3;
	}

	header nav.main
	{
		display:none;
	}

	header nav.main a {
		font-size: clamp(1.2em, 5vw, 2.5em);
		border: 1px solid black;
		border-left: none;
		border-right: none;
		width: 100%;
		padding: 1em;
		box-sizing: border-box;
	}

	header nav.main .link:hover .sub {
		display: none;
	}

	header nav.main .link > .sub a {
		background-color: white !important;
		padding: .5em clamp(1em, 2vw, 1.5em);
	}

	header nav.main > .link:last-child a {
		border-bottom: 2px solid black;
	}

	header nav.main a.active + .sub a {
		background-color: var(--mobile-bg-color) !important;
	}

	header nav.main > .link {
		width: 100%;
	}

	.toggled header nav.main
	{
		height: 100%;
		display:flex;
		flex-direction: column;
		justify-content: start;
		align-items: center;
		flex-wrap: nowrap;
	}

	.toggled header nav.main > .link {
		flex-direction: column;
	}

	.toggled header nav.main .link .sub {
		display: block;
		position: static;
		transform: translateX(0);
	}

	header .logo .desktop {
		display: none;
	}

	header .scrolltop {
		display: flex;
		justify-self: start;
	}

	header nav.main .link > .sub a {
		padding-top: .75em;
		padding-bottom: .75em;
		font-size: clamp(.8em, 3.5vw, 1.5em);
	}

	header nav.main > .link:nth-child(2) {
		border-right: none;
		border-left: none;
	}

	header nav.main .sub .link:last-child a {
		border-right: none;
		border-left: none;
	}

	header nav.main .link .sub a {
		border-right: none;
		border-left: none;
	}

	header nav.main .link .sub a:hover {
		border-right: none;
		border-left: none;
	}

	body:not(.home) header {
		height: 0;
	}

	main .title h1 {
		font-size: 1.6em;
		max-width: 80vw;
		margin: 0 auto;
		padding: .5em 0;
	}

	section {
		scroll-margin-top: 0;
	}

	section > .title {
		position: sticky;
		top: 0;
		z-index: 2;
	}
	body:not(.home) section > .title {
		background-color: var(--primary-color);
	}

	.interactive-horizontal .interactive-content {
		grid-template-columns: auto;
	}

	.interactive-horizontal .wrapper,
	.interactive-vertical .wrapper {
		padding-bottom: var(--content-padding-vertical);
	}

	.image-grid .wrapper .item .second-image {
		display: block;
	}

	.image-grid .wrapper .item:has(.second-image) .first-image {
		display: none;
	}

	.image-title .wrapper {
		padding: 0;
	}

	.fancybox__slide {
		padding-top: var(--header-height);
	}

	.hide-scrollbar .scrolltop {
		display: none;
	}

	footer nav a {
		text-align: center;
	}
}

@media(max-width: 800px) {
	.info.element > .wrapper > .items {
		grid-template-columns: auto;
	}

	.info.element .subtitle:has(+ .googlemaps) {
		display: none;
	}

	.info .links .items {
		flex-wrap: nowrap;
	}
	
	.image-link .grid-col-2 {
		grid-template-columns: 1fr;
	}

	.history .items.grid-col-2 {
		display: block;
		text-align: center;
	}

	.history.element {
		padding: 0;
	}

	.history h1 {
		margin-bottom: .5em;
	}
	
	.image-grid .wrapper {
		grid-template-columns: 1fr;
		gap: 2em;
	}

	.image-grid .item {
		gap: 1em;
	}

	.image-grid .typo {
		font-size: .75em;
	}
	
	.blog > .wrapper.grid {
		display: block;
	}

	.blog .list .entry .news {
		border: none;
	}

	.geschichten .blog .list .entry .news:hover,
	.blog .list .entry .news:hover {
		background-color: unset;
	}

	.geschichten .blog .list .entry .news:hover .image.svg,
	.blog .list .entry .news:hover .image.svg {
		background-image: var(--initial-background-picture) !important;
	}

	footer nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	footer nav .logo {
		grid-column: span 2;
	}
}

@media(max-width:600px)
{
	:root
	{
		--content-padding: 1em;
	}

	.toggled header .items {
		padding-top: .75em;
		padding-bottom: .75em;
	}

	header > .wrapper,
	footer > .wrapper
	{
		margin:auto;
	}

	.group .element {
		margin: 1em 0;
	}

	.faq .question .item.title {
		padding: 1em 0;
	}

	.history.element:last-child {
		padding-bottom: 0;
	}

	.image-link img {
		height: 15em;
	}

	.timeline.element {
		margin: 0;
	}

	.timeline.element:last-child {
		margin-bottom: 1em;
	}

	.quote .items {
		gap: .5em;
	}

	.slideshow .swiper-button-next:after,
	.slideshow .swiper-button-prev:after {
		font-size:1em;
	}

	.image-grid .item {
		width: 100%;
	}

	.is-compact .fancybox__content>.f-button.is-close-btn {
		top: .5em;
		left: .65em;
		--f-button-border-radius: none;
		--f-button-color: black;
		--f-button-bg: transparent;
		--f-button-svg-width: 25px;
		--f-button-svg-height: 25px;
	}
	.fancybox__content>.f-button.is-close-btn {
		top: .5em;
		left: .65em;
		--f-button-border-radius: none;
		--f-button-color: black;
		--f-button-bg: transparent;
	}
}

@media(max-width:500px) {
	footer nav {
		grid-template-columns: minmax(0, 1fr);
	}

	footer nav .logo {
		grid-column: span 1;
	}
}

@media(max-width: 400px) {
	.fancybox__content .title-small.element {
		word-break: break-word;
	}
}

@media(orientation:portrait) {
	.slideshow.mobile {
		display: block;
	}
	.slideshow.desktop {
		display: none;
	}
	.slideshow .slideshow-title .title-row-1,
	.slideshow .slideshow-title .title-row-2 {
		text-align: center;
	}
}