a,
a:link,
a:visited,
a:hover,
a:active {
	text-decoration: none;
}

#site_title {
	line-height: 1.1 !important;
}
#site_title .word {
	display: none;
}
	#site_title .word.active {
		display: inline;
	}

aside {
	float: right !important;
}



header + main,
main + aside,
aside + main,
.akkordeon + .akkordeon {
	margin-top: 0.75em;
}

@media ( min-width: 600px ) {
	aside {
		margin-top: 0;
	}

	aside + main {
		margin-top: 1.5em;
	}
}
@media ( min-width: 600px ) {
	aside#side {
		position: fixed;
		right: 7px;
		padding-top: 0.75em;
		padding-bottom: 50px;
		top: 0;
		bottom: 0;
		overflow: scroll;
		margin-top: 0;
		-webkit-overflow-scrolling: touch;
	}
}



.akkordeon .akkordeon-trigger {
	padding-bottom: 0.3em;
	border-bottom: 2px solid currentColor;
	cursor: pointer;
	position: relative;
	user-select: none;
}
	.akkordeon .akkordeon-trigger::after {
		display: inline-block;
		font: normal normal normal 14px/1 "Black Tie";
		font-size: inherit;
		vertical-align: -14.28571429%;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		transform: translate(0, 0);

		content: '\F091';
		position: absolute;
		right: 0px;
		top: -0.1em;
	}

.akkordeon .akkordeon-content {
	max-height: 0px;
	overflow: hidden;

	transition: max-height 0.5s ease-in-out;
	-moz-transition: max-height 0.5s ease-in-out;
	-webkit-transition: max-height 0.5s ease-in-out;
}
	.akkordeon .akkordeon-content > *:first-child {
		margin-top: 0.5em;
	}

.akkordeon .akkordeon-trigger.open + .akkordeon-content {
	max-height: 1500px;
}
.akkordeon#programm > .akkordeon-trigger.open + .akkordeon-content {
	max-height: 3000px;
}
.akkordeon#programm-past > .akkordeon-trigger.open + .akkordeon-content {
	max-height: none;
}
	.akkordeon .akkordeon-trigger.open::after {
		content: '\F090';
	}
	.akkordeon .akkordeon-trigger[class*="locked"]::after {
		display: none;
	}



#programm .event .meta,
#programm-past .event .meta,
#current-event .event .meta {
	margin-bottom: 0.125em;
}
#programm .event .akkordeon-trigger,
#programm-past .event .akkordeon-trigger,
#current-event .event .akkordeon-trigger {
	border-bottom: none;
}

#programm .event,
#programm-past .event,
#current-event .event {
	display: inline-block;
	padding: 0.5em 0;
	width: 100%;
}

#programm .event + .event,
#programm-past .event + .event,
#current-event .event + .event {
	border-top: 2px solid currentColor;
}


#current-event {
	margin-bottom: 1em;
}

#current-event .event:first-child {
	padding-top: 0;
}

	#current-event .event .akkordeon-trigger::after {
		content: '\F00C' !important;
	}

	#current-event .event .akkordeon-content {
		max-height: none !important;
	}



.checkbox {
	display: inline-block;
	width: 1.25em;
	padding-top: 1.25em;
	position: relative;
	border: 2px solid currentColor;
	margin-right: 0.5em;
}
.checkbox input {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
}
.checkbox .check {
	position: absolute;
	top: 0.2em;
	left: 0px;
	width: 100%;
	text-align: center;
	opacity: 0;
}
	.checkbox input:checked + .check {
		opacity: 1;
	}
.checkbox + .label {
	display: inline-block;
	line-height: 1.9;
}



#bilder {
	margin-top: 0.5em;
}
#bilder .bild {
	overflow: hidden;
	max-height: 1;

	transition: opacity 0.5s ease-in-out;
	-moz-transition: opacity 0.5s ease-in-out;
	-webkit-transition: opacity 0.5s ease-in-out;
}

#bilder .bild.filtered {
	opacity: 0;
	margin: 0 !important;
}



.event-none {
	padding-top: 0 !important;
}

.bild img[data-viewer] {
	cursor: pointer;
}

#viewer {
	position: fixed;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	z-index: 999;
	background: rgba( 255, 255, 255, 0.9 );
	opacity: 0;
	pointer-events: none;

	transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-webkit-transition: opacity 0.3s ease-in-out;
}
	#viewer.open {
		pointer-events: auto;
		opacity: 1;
	}

#viewer #viewer-content {
	position: relative;
}
#viewer #viewer-navigation {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
	#viewer #viewer-navigation .viewer-navigation {
		cursor: pointer;
		position: relative;
	}
	#viewer #viewer-navigation .viewer-navigation::after {
		display: inline-block;
		font: normal normal normal 14px/1 "Black Tie";
		font-size: inherit;
		vertical-align: -14.28571429%;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		transform: translate(0, 0);
	}

	#viewer #viewer-navigation .viewer-navigation[data-do="close"] {
		height: 10%;
	}
		#viewer #viewer-navigation .viewer-navigation[data-do="close"]::after {
			content: '\F00C';
			position: absolute;
			right: 0%;
		}

	#viewer #viewer-navigation .viewer-navigation[data-do="prev"] {
		height: 90%;
		width: 25%;
		float: left;
	}
		#viewer #viewer-navigation .viewer-navigation[data-do="prev"]::after {
			content: '\F092';
			position: absolute;
			top: 50%;

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

	#viewer #viewer-navigation .viewer-navigation[data-do="next"] {
		height: 90%;
		width: 75%;
		float: left;
	}
		#viewer #viewer-navigation .viewer-navigation[data-do="next"]::after {
			content: '\F093';
			position: absolute;
			top: 50%;
			right: 0px;

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

#viewer #viewer-content,
#viewer .viewer-image,
#viewer .viewer-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#viewer .viewer-image iframe {
	width: 100%;
	height: 90%;
}



#viewer #viewer-info {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: white;
	box-sizing: border-box;
	overflow: visible;
}
#viewer #viewer-info [class*="col-"] {
	vertical-align: bottom;
	float: none;
}
#viewer #viewer-info .trigger {
	text-align: right;
	cursor: pointer;
	position: relative;
	z-index: 2;
}

#viewer #viewer-info #viewer-meta-2 {
	margin-right: -15px;
	background: white;
	opacity: 0;
	transform: translateY( 50% );
	-moz-transform: translateY( 50% );
	-webkit-transform: translateY( 50% );
	pointer-events: none;
	position: absolute;
	z-index: 2;
	bottom: 2em;
	box-sizing: border-box;
	width: 100%;

	transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
	#viewer #viewer-info #viewer-meta-2.open {
		opacity: 1;
		transform: translateY( 0% );
		-moz-transform: translateY( 0% );
		-webkit-transform: translateY( 0% );
	}

#viewer #viewer-meta-2:empty,
#viewer #viewer-meta-2:empty + .trigger {
	display: none;
}



#viewer .viewer-image[data-type="video"] + #viewer-navigation {
	pointer-events: none;
}
#viewer .viewer-image[data-type="video"] + #viewer-navigation [data-do="close"] {
	pointer-events: auto;
}

#viewer .viewer-image[data-type="video"] + #viewer-navigation [data-do="prev"],
#viewer .viewer-image[data-type="video"] + #viewer-navigation [data-do="next"] {
	display: none;
}






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

/**
 * Social Media Icons
 * 
 * @since 14.12.2023
 */
#page-header {
	display: flex;
	align-items: flex-start;
}

#site_title {
	flex: 1;
}

#page-header__social-links {
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
}

	#page-header__social-links .social-link:not( :last-child ) {
		margin-bottom: 0.3em;
	}	

	#page-header__social-links a,
	#page-header__social-links span {
		display: block;
		width: auto;
		height: auto;
	}

	#page-header__social-links span {
		margin-top: -0.1em;
		font-size: 35px;
	}



@media ( min-width: 800px ) {
	#page-header__social-links {
		flex-direction: row;
	}

	#page-header__social-links .social-link:not( :last-child ) {
		margin-right: 0.15em;
		margin-bottom: 0;
	}
}