/**
 * @author Valentin Alisch
 * @version 1.0
 */



/* Variables */
:root {
	--spacing: 15px;
	--border-width: 3px;
	--transition-duration: 0.5s;
}
@media ( min-width: 700px ) {
	:root {
		--spacing: 20px;
	}
}
@media ( min-width: 1400px ) {
	:root {
		--spacing: 25px;
	}
}



/* General */
* {
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
.text-large {
	font-size: 10vh;
	line-height: 0.88;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}
	article[class*="slide--"] h1 {
		font-size: 8vw;
	}

h2,
.text-medium {
	font-size: 5vh;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

blockquote {
	/* font-weight: 300;
	font-style: italic; */
	font-size: 8vh;
	line-height: 1.05;
	letter-spacing: -0.02em;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}
	@media ( min-width: 750px ) {
		blockquote {
			font-size: 9vh;
		}
	}
	@media ( min-width: 1100px ) {
		blockquote {
			font-size: 10vh;
		}
	}

p {
	letter-spacing: 0.01em;
	/*-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;*/
}
p.no-shy {
	-webkit-hyphens: manual;
	-moz-hyphens: manual;
	hyphens: manual;
}

hr {
	display: block;
	height: var( --border-width );
	/* background: black; */
}

.text-medium,
.JSHOW_fid {
	font-size: 5vh;
	line-height: 0.9;
	text-transform: uppercase;
}

p + * {
	margin-top: calc( var( --spacing ) * 1.5 );
}

a.button,
input {
	text-decoration: none;
	background: black;
	border-radius: var( --spacing );
	letter-spacing: 0.07em;
	line-height: 1;
}

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



/* Layout */
* {
	box-sizing: border-box;

	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
html {
	width: 100%;
	height: 100%;
}
#page {
	min-height: 100%;
}

main#page-main {
	position: relative;
}
	body:not( .home ):not( .archive ) main#page-main,
	body.post-type-archive-termin main#page-main {
		padding: calc( var( --spacing ) * 5 ) var( --spacing ) calc( var( --spacing ) * 10 );
	}

.wrap {
	padding: var( --spacing );
	display: block;
}
.button,
input {
	padding: var( --spacing ) calc( var( --spacing ) * 1.5 ) calc( var( --spacing ) * 0.85 );
	display: inline-block;
}

header#page-header {
	background: black;
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	top: 0;
	z-index: 1000;
}

#navigation-footer,
#navigation-main {
	color: white;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	/* line-height: 1; */
}
	#navigation-footer ul,
	#navigation-main ul {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
		#navigation-footer ul li a,
		#navigation-main ul li a {
			text-decoration: none;
		}

		.single-show ul li.menu-item-object-show a,
		#navigation-footer ul li.current-menu-item a,
		#navigation-main ul li.current-menu-item a {
			border-bottom: 2px solid currentColor;
		}

#navigation-footer {
	font-size: 0.6em;
}
	body:not( .home ):not( .post-type-archive ) #navigation-footer,
	body.post-type-archive-termin #navigation-footer {
		color: black;
		width: 66.66%;
		margin-left: 8.3333333333333%;
	}

.home #page-footer,
.post-type-archive:not( .post-type-archive-termin ) #page-footer {
	position: fixed;
	right: 0;
	bottom: 0;
	width: 100%;
	line-height: 1;

	-webkit-transform: translateY( 100% );
	-moz-transform: translateY( 100% );
	transform: translateY( 100% );
}



.trigger {
	cursor: pointer;
	line-height: 1;
}

.trigger[data-trigger="footer#page-footer"] {
	position: fixed;
	bottom: var( --spacing );
	left: -75px;

	transition: left var( --transition-duration ) ease-in-out;
}

	.trigger[data-trigger="footer#page-footer"].in {
		left: var( --spacing );
	}

	.home .trigger[data-trigger="footer#page-footer"],
	.archive .trigger[data-trigger="footer#page-footer"] {
		display: none;
	}



.content-separator {
	margin: 0 calc( var( --spacing ) * -1 );
}

*:not( .content-gallery ) + .content-separator {
	margin-top: calc( var( --spacing ) * 4 );
}
	.content-separator + section[class*="content"]:not( .content-gallery ) {
		margin-top: calc( var( --spacing ) * 5 );
	}

.content-gallery {
	background: black;
	color: white;
	margin: 0 calc( var( --spacing ) * -1 );
}
	#page-main > .content-gallery:first-child,
	#page-main > .content-image-full:first-child {
		margin-top: calc( var( --spacing ) * -5 );
	}

	.content-gallery article[class*="slide--"] {
		padding-bottom: 0;
	}
		.content-gallery article[class*="slide--"] img {
			max-width: 100%;
			max-height: 66vh;
			object-fit: contain;
			height: inherit;
		}

.content-image-full {

	color: white;
	margin: 0 calc( var( --spacing ) * -1 );
	height: 50vh;
	overflow: hidden;
}
	.content-image-full img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.content-gallery,
.content-quote,
.content-push,
.content-image-full {
	margin-bottom: calc( var( --spacing ) * 5 );
}

.content-termin + .content-termin {
	margin-top: var( --spacing );
}


#social_buttons {
	position: fixed;
}



/* Slider */
.slider .slider-part--slides,
.slider [data-slider--slides],
.slider article[class*="slide--"] {
	height: 100%;
}

.slider article[class*="slide--"] {
	position: relative;
}

.slider .slider-part--slides {
	overflow: hidden;
}

.slider,
.slider article[class*="slide--"] .slide-part--wrap {
	height: 100%;
	display: flex;
	flex-direction: column;
	color: white;
}
	.slider article[class*="slide--"] .slide-part--wrap .slide-part--content {
		flex: 1;
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}
	@media ( min-width: 750px ) {
		.slider article[class*="slide--"] .slide-part--wrap .slide-part--content {
			flex-direction: row;
		}
	}

		.slider article[class*="slide--"] .slide-part--wrap .slide-part--content > * {
			flex: 1;
			overflow: hidden;
			position: relative;
		}

		.slider article[class*="slide--"] .slide-part--content .slide-part--content-image img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.slider article[class*="slide--"] .slide-part--content .slide-part--content-video iframe {
			height: 100%;
			width: 100%;
		}

		.slider article[class*="slide--"] .slide-part--wrap .slide-part--content .slide-part--content-info > footer {
			position: absolute;
			bottom: var( --spacing );
		}

.slider-navigation {
	text-align: center;
	line-height: 0;
}
	.slider-navigation .slider-navigator {
		display: inline-block;
		cursor: pointer;
		width: var( --spacing );
		height: var( --spacing );
		border: var( --border-width ) solid currentColor;
		border-radius: 50%;
	}
		.slider-navigation .slider-navigator + .slider-navigator {
			margin-left: var( --spacing );
		}
		.slider-navigation .slider-navigator.active {
			background: currentColor;
		}

.home .slider-navigation,
.post-type-archive .slider-navigation {
	width: 100%;
}

.slide-part--button {
	position: relative;
	text-align: center;
	margin-top: calc( var( --spacing ) * -1.5 );
	z-index: 100;
	width: 100%;
}
	.slide-part--button a.button {
		background: white;
		color: black;
	}

a.button,
input.button {
	background: black;
	color: white;
}
	a.button i,
	input.button i {
		font-size: 0.85em;
		margin-left: 0.3em;
		margin-right: -0.4em;
	}

	a.button:not( :last-child ),
	input.button:not( :last-child ) {
		margin-bottom: 0.5em;
	}

.button--round {
	border-radius: 50%;
	padding: calc( var( --spacing ) * 0.75 );
	display: inline-block;
	text-decoration: none;
	background: black;
	color: white !important;
}
	.button--round > i {
		width: 1em;
		height: 1em;
		display: block;
		text-align: center;
	}

	.button--round + .button--round {
		margin-left: 0.5em;
	}

	.home .button--round,
	.archive:not( .post-type-archive-termin ) .button--round {
		background: white;
		color: black !important;
	}



/* Intro */
#intro {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	z-index: 1000;

	transition: opacity 1s ease-in-out;
}
	#intro.out {
		opacity: 0;
		pointer-events: none;
	}

	#intro .intro--wrap,
	#intro .intro--wrap article[class*="intro--"],
	#intro .intro--wrap article[class*="intro--"] .row,
	#intro .intro--wrap article[class*="intro--"] .row > [class*="col-"] {
		height: 100%;
		overflow: hidden;
		position: relative;
	}

	#intro .intro--wrap article[class*="intro--"] {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
	}
		#intro .intro--wrap article[class*="intro--"].active {
			opacity: 1;
		}

		#intro .intro--wrap article[class*="intro--"] img {
			width: 100%;
			height: 100%;
			object-fit: contain;
		}

		#intro .intro--wrap article[class*="intro--"].animate {
			-webkit-transform: scale( 0.75 );
			-moz-transform: scale( 0.75 );
			transform: scale( 0.75 );

			transition: transform 4s ease-in-out;
		}
			#intro .intro--wrap article[class*="intro--"].animate.active {
				-webkit-transform: scale( 1 );
				-moz-transform: scale( 1 );
				transform: scale( 1 );
			}



/* Individuals */
body.home,
body.archive:not( .post-type-archive-termin ) {
	overflow: hidden;
	background: black;
}

.archive:not( .post-type-archive-termin ) #page,
.home #page {
	display: flex;
	flex-direction: column;
	height: 100%;
}
	.archive:not( .post-type-archive-termin ) #page > main,
	.home #page > main {
		flex: 1;
	}

.archive:not( .post-type-archive-termin ) #page-main,
.archive:not( .post-type-archive-termin ) header#page-header,
.home #page-main,
.home header#page-header {
	padding-bottom: 0;
}

.single-show .content-image-full img {
	object-position: top center;
}



/* Layers */
[data-layer="0"] {
	z-index: 1;
}
[data-layer="1"] {
	z-index: 10;
}
[data-layer="2"] {
	z-index: 20;
}
[data-layer="3"] {
	z-index: 30;
}
[data-layer="4"] {
	z-index: 40;
}
[data-layer="5"] {
	z-index: 50;
}
[data-layer="6"] {
	z-index: 60;
}
[data-layer="7"] {
	z-index: 70;
}
[data-layer="8"] {
	z-index: 80;
}
[data-layer="9"] {
	z-index: 90;
}
[data-layer="10"] {
	z-index: 100;
}

/* Queues */
[data-queue="0"] {
	transition-delay: 0;
}
[data-queue="1"] {
	transition-delay: calc( var( --transition-duration ) * 1 );
}
[data-queue="2"] {
	transition-delay: calc( var( --transition-duration ) * 2 );
}
[data-queue="3"] {
	transition-delay: calc( var( --transition-duration ) * 3 );
}
[data-queue="4"] {
	transition-delay: calc( var( --transition-duration ) * 4 );
}
[data-queue="5"] {
	transition-delay: calc( var( --transition-duration ) * 5 );
}
[data-queue="6"] {
	transition-delay: calc( var( --transition-duration ) * 6 );
}
[data-queue="7"] {
	transition-delay: calc( var( --transition-duration ) * 7 );
}
[data-queue="8"] {
	transition-delay: calc( var( --transition-duration ) * 8 );
}
[data-queue="9"] {
	transition-delay: calc( var( --transition-duration ) * 9 );
}
[data-queue="10"] {
	transition-delay: calc( var( --transition-duration ) * 10 );
}



/* Reponsive */
#social_buttons {
	left: 0;
	top: 0;
}

#mobile-wrap {
	top: 0;
	text-align: right;
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	z-index: 1001;
	pointer-events: none;
}
	#mobile-wrap .trigger {
		pointer-events: auto;
	}

	.toggled #mobile-wrap .trigger {
		background: white !important;
		color: black !important;
	}
		.toggled #mobile-wrap .trigger i::before {
			content: '\F00C';
		}

	.home #mobile-wrap,
	.archive #mobile-wrap {
		padding-bottom: 0;
	}

@media ( max-width: 749px ) {
	header#page-header {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;

		-webkit-transform: translateX( 100% );
		-moz-transform: translateX( 100% );
		transform: translateX( 100% );

		transition: transform var( --transition-duration ) ease-in-out;
	}
		.toggled header#page-header {
			-webkit-transform: translateX( 0 );
			-moz-transform: translateX( 0 );
			transform: translateX( 0 );
		}

	#navigation-main ul {
		display: block;
		font-size: 5vh;
		line-height: 1.5;
	}

	body:not( .home ):not( .post-type-archive ) #navigation-footer,
	body.post-type-archive-termin #navigation-footer {
		width: 100%;
		margin-left: 0%;
		font-size: 1em;
	}

	#navigation-footer ul {
		flex-wrap: wrap;
	}
		#navigation-footer ul li {
			flex-basis: 45%;
		}

	body:not( .home ):not( .archive ) main#page-main,
	body.post-type-archive-termin main#page-main {
		padding: calc( var( --spacing ) * 2 ) var( --spacing ) calc( var( --spacing ) * 5 )
	}

	#page-main > .content-gallery:first-child,
	#page-main > .content-image-full:first-child {
		margin-top: calc( var( --spacing ) * -2 );
	}
}

@media ( min-width: 750px ) {
	#mobile-wrap {
		display: none;
	}

	#social_buttons {
		bottom: 0;
		right: 0;
		left: auto;
		top: auto;
		z-index: 100;
	}
}






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

/**
 * Downloads
 * 
 * @since 11.07.2023
 */

input {
	font-family: 'T-Star Pro', sans-serif;
	line-height: 22px;
	font-size: 16px;
	font-weight: 900;
}

input[type="submit"] {
	cursor: pointer;
	margin-top: var( --spacing );
}

input:not( .button ) {
	background: white;
	border: var( --border-width ) solid currentColor;
	padding: calc( var( --spacing ) - var( --border-width ) ) calc( var( --spacing ) * 1.5 - var( --border-width ) ) calc( var( --spacing ) * 0.85 - var( --border-width ) );
	width: 100%;
}

@media ( min-width: 750px ) {
	input {
		font-family: 'T-Star Pro', sans-serif;
		line-height: 27px;
		font-size: 20px;
		font-weight: 900;
	}
}

@media ( min-width: 1100px ) {
	input {
		font-family: 'T-Star Pro', sans-serif;
		line-height: 32px;
		font-size: 24px;
		font-weight: 900;
	}
}

@media ( min-width: 1400px ) {
	input {
		font-family: 'T-Star Pro', sans-serif;
		line-height: 37px;
		font-size: 28px;
		font-weight: 900;
	}
}






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

/**
 * JSHOW
 * 
 * @since 29.09.2025
 */
.JSHOW_f:not( :last-child ) {
	margin-bottom: calc( var( --spacing ) * 4 );
}

.JSHOW_fid:not( :last-child ) {
	margin-bottom: var( --spacing );
}



/* ---------- */
@media ( max-width: 749px ) {
	.JSHOWMOD_date {
		margin-bottom: var( --spacing );
	}
}



/* ---------- */
@media ( min-width: 750px ) {
	.JSHOW_f {
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
	}

	.JSHOW_fim {
		display: flex;
	}

	.JSHOWMOD_date,
	.JSHOWMOD_address {
		width: 41.666666666667%;
		margin-left: 8.3333333333333%;
		flex-shrink: 0;
	}
}