

/* ---------------------------------
	
	BLOCK: GENERELL
	
-----------------------------------*/

.block{
	margin-bottom:var(--abstand-block);
	
	padding:var(--block-padding) var(--page-margin);
}
.block:not(:last-child){
	border-bottom:var(--border);
}
.block.full-width{
	max-width: 100%;
	margin:0;
	padding-left:0;
	padding-right:0;
}
.block__inner{
	margin: 0 auto;
	max-width:var(--content-maxwidth);
}
.block.full-width .block__inner{
	max-width:100%;
}
.block:last-of-type{
	
}

.block.fontsize_small{
	font-size:var(--fontsize-small);
}
.block.fontsize_medium{
	font-size:var(--fontsize-base);
}
.block.fontsize_large{
	font-size:var(--fontsize-large);
}


/* ---------------------------------
	
	BLOCK: AKKORDEON 
	
-----------------------------------*/

.block-accordion__box{
	border-bottom: var(--border);
}
.block-accordion__box:first-child{
	border-top: var(--border);
}

.block-accordion__header{
	padding:var(--padding);
	padding:10px 0;
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	cursor:pointer;
}
.block-accordion__header i{
	display:block;
	width:22px;
	height:11px;
	transform:rotate(0deg);
	background-image:url(/assets/bilder/icons/arrow_down_accordion.svg);
	background-size:contain;
	background-repeat:no-repeat;
	transition:transform .2s ease;
}

.block-accordion__content{
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.3s ease-out, opacity 0.3s ease 0.1s, padding 0.3s ease 0.1s;
	overflow:hidden;
}
.block-accordion__content div{
	overflow:hidden;
	transition: all .2s ease;
	padding:var(--padding);
	padding:0 0;	
}

/* ACTIVE */
.is-active .block-accordion__content{
	opacity: 1;
	grid-template-rows: 1fr;
	padding:10px 0;
}
.is-active .block-accordion__content div{
}
.is-active .block-accordion__header{
	
}
.is-active .block-accordion__header i{
	transform:rotate(180deg);
}

@media screen and (max-width:700px){
	.block-accordion__content{
		font-size:var(--fontsize-small);
	}
}

/* ---------------------------------
	
	BLOCK: HEADER 
	
-----------------------------------*/

.block-header,
.block-header.block:first-child{
	padding-top:0;
	padding-bottom: 0;
	position:relative;
}

.block-header .block-header__arrow{
	display:none;
}
/* FULL HEIGHT */
.block-header.full-height{
	height:calc(100dvh - var(--header-height));
}
.block-header.full-height .block__inner,
.block-header.full-height .block__inner img{
	height:100%;
}
.block-header.full-height .block-header__arrow{
	display:block;
	position:absolute;
	left:50%;
	bottom:20px;
	transform: translateX(-50%);
	width:30px;
	height:30px;
	background-position: center;
}
.logo-header{
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	text-transform: uppercase;
	display:block;
	width:250px;
	height:auto;
	z-index:2;
}
.block-header img{
	object-fit:cover;
}


/* ---------------------------------
	
	BLOCK: PROGRAMM 
	
-----------------------------------*/

.block-programm{
	
}
.block-programm__row:first-of-type{
	border-top:var(--border);
}
.block-programm__row:last-of-type{
	margin-bottom:var(--abstand)
}
.block-programm__row{
	border-bottom:var(--border);
	padding-top:var(--abstand);
	padding-bottom:var(--abstand);
}
.block-programm__text{
	font-size: var(--fontsize-small);
}
@media screen and (max-width:1100px){
	.block-programm__bild,
	.block-programm__text {
		grid-column: 1/-1;
	}
}


/* ---------------------------------
	
	BLOCK: IMAGE FULLSCREEN
	
-----------------------------------*/

.block:has(+ .block-image-fullscreen) {
    border-bottom:0px;
}
.block-image-fullscreen{
	padding-top:0px;
	padding-bottom:0px;
	border-bottom:0px;
}
.block-image-fullscreen img{
	border-radius: var(--border-radius--image);
}

/* ---------------------------------
	
	BLOCK: IMAGE 
	
-----------------------------------*/

.block-image img{
	border-radius: var(--border-radius--image);
}

/* ---------------------------------
	
	BLOCK: IMAGE & TEXT 
	
-----------------------------------*/

.block-imagetext__text{
	font-size:var(--fontsize-small);
}
.block-imagetext img{
	border-radius: var(--border-radius--image);
}
.section-imagetext--alternate .block-imagetext__image{
	order:2;
}
.section-imagetext--alternate .block-imagetext__text{
	order:1;
}

/* ---------------------------------
	
	BLOCK: LIST 
	
-----------------------------------*/

.block-list{
	
}


.block-list ul
.block ul{
  display: block;
  list-style-type: none;
  padding-inline-start: 0.9rem;
}
.block-list li,
.block li{
  position: relative;
  padding-left: 1rem;
}
.block-list li::before,
.block li::before{
  content: '';
  display: block;
  position: absolute;
  background: black;
  left: 0;
  top: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  top: 0.7rem;
}


@media screen and (max-width: 700px) {


}


/* ---------------------------------
	
	BLOCK: POPUP 
	
-----------------------------------*/

.block-popup{
	position:fixed;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%) !important;
	width:75vw;
	max-width:1000px;
	min-width:200px;
	border:var(--border);
	background-color: var(--color-main);
	z-index:5;
	padding:var(--abstand);
	opacity:0 !important;
	pointer-events: none;
	max-height:calc(100vh - 2*var(--header-height) - 2 * var(--abstand));
	box-shadow:var(--box-shadow)
}
.block-popup.is-active{
	opacity:1 !important;
	pointer-events: all;
}
.popup-close{
	display:block;
	width:30px;
	height:30px;
	position:absolute;
	top:var(--abstand);
	right:var(--abstand);
	background-image:url(/assets/bilder/icon_close.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.block-popup .block__inner{
	display:flex;
	flex-direction: row;
	gap:var(--grid-gap);
}
.block-popup__image,
.block-popup__text{
	flex:1;
}
.block-popup__text{
	overflow-y:scroll;
	display:flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-right:40px;
}
.block-popup__text p{
	font-size:var(--fontsize-small);
}



@media screen and (max-width: 890px) {
	.block-popup{
		padding-top:calc(var(--abstand) + 40px)
	}
	.block-popup .block__inner{
		flex-direction: column;
	}
	.block-popup__text{
		padding-right:0px;
	}
	.block-popup .block-text__buttons .btn:last-child{
		margin-bottom:0px;
	}
	.popup-close{
		top:20px;
	}
}

/* ---------------------------------
	
	BLOCK: QUOTE 
	
-----------------------------------*/

.block-quote{
	text-align: center;
}
blockquote{
	font-size:var(--fontsize-large);	
}
.block-quote span{
	font-size:var(--fontsize-small);
}
.block-quote span p{
	display:inline;
}

/* ---------------------------------
	
	BLOCK: IMAGE GALLERY 
	
-----------------------------------*/

.block-imagegallery{
	
}
.block-imagegallery__text{
	padding-bottom:var(--abstand);
}
.block-imagegallery .block__inner{
	position:relative;
}
.swiper {
	width: 100%;
	height: 100%;
}

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	/*aspect-ratio:3/4;*/
	overflow:hidden;
}

.swiper-slide img {
	display: block;
	width: 100%;
	/*height: 100%;*/
	object-fit: cover;
}
.swiper-controls{
	position:absolute;
	left:0;
	top:0;
	width:50%;
	height:100%;
	z-index:3;
}
.swiper-prev:hover{
	cursor:w-resize;
}
.swiper-next:hover{
	cursor:e-resize;
}
.swiper-next{
	left:auto;
	right:0;
}
@media screen and (max-width:700px){
	.swiper-controls{
		display:none;
	}
}

/* ---------------------------------
	
	BLOCK: TEASERS 
	
-----------------------------------*/

.block-teasers{
	
}

/* ---------------------------------
	
	BLOCK: TEXT 2 COLS
	
-----------------------------------*/

.block-text-2cols .block-text__text{
	/*border-bottom: var(--border);*/
	padding-top:var(--abstand);
	margin-bottom:var(--abstand);
	padding-bottom:var(--abstand);
}
.block-text-2cols .block-text__text h2{
	border-bottom: var(--border);
	margin-bottom:var(--abstand);
}

/* ---------------------------------
	
	BLOCK: TEXT 
	
-----------------------------------*/

.block-text .block__inner{
	/*max-width: 1300px;
	margin:0;*/
}
.block-text .block__inner{
	
}

.block-text__links{
	
}
.block-text__text{
	padding-bottom: var(--abstand);
}

.block-text__buttons .btn{
	margin-bottom:10px;
}



@media screen and (max-width: 700px) {
	.block-text__text{
		font-size:var(--fontsize-small);
	}
}

/* ---------------------------------
	
	BLOCK: VIDEO 
	
-----------------------------------*/

.block-video iframe{
	width:100%;
	height:auto;
	aspect-ratio: 16/9;
}
/* FULL HEIGHT */
.block-video.full-height{
	height:calc(100dvh - var(--header-height));
	padding-top:0;
	padding-bottom:0;
}
.block-video.full-height .block__inner,
.block-video.full-height video{
	height:100% !important;
}
.block-video.full-height video{
	object-fit:cover;
}