.kalenderElements {
	container-name: kalenderElementsContainer;
	container-type: inline-size;
	padding:30px 30px 0px 30px;
	/* SUCHCONTAINER VARS */
	--bottomGap: .5vh;	
}

.kalenderElements .titel {
	position: relative;
	display: flex;
	align-items: center;
}
.kalenderElements .titel .ausstellung {
	margin-left:5px;
}
.kalenderHeader-Monat {
	padding:30px;
	margin-bottom:1rem;
	_padding-bottom:1rem;
	border-bottom: 1px solid var(--lineColor);
	_border-top: 1px solid var(--lineColor);
	display: flex;
	align-items: center;
	gap:1rem;
	text-transform:uppercase;
}
.kalenerHeadline-Monat {
	font-size: var(--titelSize);
	color:black;
	font-weight:800;
	font-size: clamp(1rem, 2.5vw + .8rem, 3em);
	font-family: var(--mainFont);
}
.kalenerHeadline-Day {
	color:var(--semmel-red);
	font-weight:800;
	font-size: clamp(1rem, 2.5vw + .8rem, 2.4em);
	font-family: var(--mainFont);
	border-bottom: 0px solid var(--lineColor);
	_padding-bottom:1rem;
	_margin-bottom:1rem;
	text-transform:uppercase;
	
}
.kalenderListe-Monat { 
	display: grid;
	_column-gap: 2rem;
	_row-gap: .5rem;
	margin-bottom: 1rem;
	margin:5vh 0 1vh 0;
}

.kalenderListe-Monat a .basicBoxElement .basicBoxContent .location,
.kalenderListe-Monat a .basicBoxElement .basicBoxContent .contentText,
.kalenderListe-Monat a .basicBoxElement .basicBoxContent .contentTitel {
	text-decoration:none;
	margin-bottom: 5px;
}
.kalenderListe-Monat a .basicBoxElement .basicBoxContent .contentDate {
	line-height:1em;
	margin-bottom:.5vh;
}
.kalenderListe-Monat a .basicBoxElement .basicBoxContent .ort {
	margin-bottom: 5px;
}


.kalenderListe-Monat .basicBoxElement .basicBoxContent .contentTitel{
	_line-height: var(--line-height_1_2);
	line-height: 1.0em;
	_font-size: calc(var(--titel-size)*0.8);
	font-size: var(--image_sub_text);

}
.kalenderListe-Monat .basicBoxElement .basicBoxContent .contentText,
.kalenderListe-Monat .basicBoxElement .basicBoxContent .location,
.kalenderListe-Monat .basicBoxElement .basicBoxContent .ort,
.kalenderListe-Monat .basicBoxElement .basicBoxContent .begin{
	line-height: 1.1em;
	/*font-size: var(--fliesstext);*/
	_font-size: var(--image_sub_text);
	font-weight:400;
	text-transform: none;
}
.kalenderListe-Monat .basicBoxElement .basicBoxContent .location,
.kalenderListe-Monat .basicBoxElement .basicBoxContent .ort,
.kalenderListe-Monat .basicBoxElement .basicBoxContent .begin {
	_color:var(--lineColor);
	_font-size: var(--fliesstext-size);
}

.basicBoxElement:hover {
	transform: scale(1.05);
}


.basicBoxElement .image {
	border-radius:0px !important;
}

.basicBoxElement .image img {
	width: 100%;
	height: auto;
}


@container kalenderElementsContainer ( min-width: 140px ) {
	.kalenderListe-Monat {
		grid-template-rows: repeat(1, 1fr);
		
	}	
	.kalenderListe-Monat a {
		border-bottom: 1px solid var(--lineColor);
		margin-bottom: 1rem;
		padding-bottom: 1rem;
	}
	.kalenderListe-Monat a:last-child {
		border-bottom: 0px;
	}
	
	.basicBoxElement .image {
		display:none;
	}
	.kalenderListe-Monat .basicBoxElement .basicBoxContent .contentTitel{
		font-size: calc(var(--titel-size)*1);
		_font-size: var(--image_sub_text);

	}
	.basicBoxElement .contentText {
	}
	.basicBoxElement .location{
		_display:none;
	}
	.warning {
		_display:none;
	}
	.kalenderHeader-Monat .buttonCircle{
		height: calc(var(--button-size)*.75);
		width:auto;	
	}
	.kalenderHeader-Monat .buttonCircle:after{
		height: calc(var(--button-size)*.75);
		width:auto;	
	}
	
	.kalenderListe-Monat .basicBoxElement .basicBoxContent {
		margin-bottom: 0vh;
	}
	.kalenderHeader-Day {
		margin-bottom: 1rem;
		padding-bottom: 0rem;
	}
}
@container kalenderElementsContainer ( min-width: 400px ) {
	.basicBoxElement .image {
		display:flex;
	}
	.basicBoxElement{
		grid-template-columns: 60px 1fr;
		padding-right:0;
		gap:1em;
	}
	
}
@container kalenderElementsContainer ( min-width: 600px ) {
	.kalenderElement:after {
		_display: none;
	}
	.location{
		display:flex;
	}
	.kalenderListe-Monat {
		grid-template-columns: repeat(2, 1fr);
		gap:2rem;
	}
	.kalenderListe-Monat a {
		border-bottom: 0px solid var(--lineColor);
		padding-bottom: 1vh;
		margin-bottom: 1vh;
	  }
	  .kalenderListe-Monat a:last-child {
		border-bottom: 0px solid var(--lineColor);
	  }
	  
	.basicBoxElement{
		grid-template-columns: 60px 1fr;
		padding-right:0;
	}
	.basicBoxElement {
		border-bottom: 0px solid var(--lineColor);
	}
	.basicBoxElement .image {
		display:flex;
	}
	.kalenderListe-Monat .basicBoxElement .basicBoxContent .contentTitel{
		_font-size: calc(var(--titel-size)*.8);
	}
	.basicBoxElement .contentText {
		display:flex;
	}
	.kalenderHeader-Monat .buttonCircle{
		height: calc(var(--button-size)*.99);
		width:auto;	
	}
	.kalenderHeader-Monat .buttonCircle:after{
		height: calc(var(--button-size)*.99);
		width:auto;	
	}
	.kalenderListe-Monat .basicBoxElement .basicBoxContent {
		margin-bottom: 2vh;
	}
	.kalenderHeader-Day {
		margin-bottom: 2rem;
		padding-bottom: 1rem;
	}
}
@container kalenderElementsContainer ( min-width: 800px ) {
	.kalenderListe-Monat {
		grid-template-columns: repeat(2, 1fr);
	}
	.basicBoxElement{
		grid-template-columns: 60px 1fr;
	}
	.basicBoxElement .image {
		display:flex;
	}
	.kalenderListe-Monat a {
		border:0px;
	}
}
@container kalenderElementsContainer ( min-width: 1200px ) {
	.kalenderListe-Monat {
		_grid-template-columns: repeat(4, 1fr);
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	}


	.basicBoxElement .contentText {
		display:flex;
		font-family: 'Montserrat', sans-serif;
		font-weight:600!important;
	}
	.kalenderHeader-Monat .buttonCircle{
		height: calc(var(--button-size)*.99);
		width:auto;	
	}
	.kalenderHeader-Monat .buttonCircle:after{
		height: calc(var(--button-size)*.99);
		width:auto;	
	}
}

#tokens_wrapper {
	background-color: var(--backgroundGrey);
	padding:0px 30px;
}

#tokens {
	_padding-left:30px;
	_padding-right:30px;
	display: inherit;
	flex-direction:column;
	gap:5px;
	_padding-bottom: 25px;
	_padding: 0px 30px 25px 30px;
}

.token_kontent {
	position: relative;
	position: relative;
	display: flex;
	align-items: baseline;
}

.close_token {
	top: 4px;
	_right: -27px;
	position: absolute;
	position: relative;
	
  }


#tokens .token_element {
	/*
	border: 1px solid #ddd;
	border-radius:100rem;
	*/
	display: inline-block;
  width: fit-content;
	font-size:clamp(.8rem, 2vw, 1rem);
	/*padding: 0vh 2vw;*/
	line-height: 1rem;
	padding-right: 35px;
}
#tokens .token_element .token_art {
	text-transform:uppercase;
}


/*  sticky month  */

.kalender_main_box {
	overflow: visible;	
}
.kalenderHeader-Monat {
	position: sticky;
	top:calc(var(--logosize) + 15px);
	padding-top:10px;
	padding-bottom:10px;
	transition: all .3s ease;
	background: #ffffff;
	z-index: 8;
}