@font-face {
  font-family: Carlito;
  src: url("Carlito-Regular.ttf");
}

html, body{
	padding: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
	font-family: "Carlito";
	scroll-behavior: smooth;
}

body{
	background-image: url("Bilder/Hintergrund2.png");
	background-size: 300px;
	background-position: bottom center;
	background-color: white;
}

.menuvis{
	visibility: visible !important;
}

#menu{
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-color: white;
	z-index: 999998;
	visibility: hidden;
}

#menu div{
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	font-size: 200%;
	line-height: 220%;
	transform: translateY(-100%);
}

.into{
	transform: translate(-50%, -50%) !important;
	transition: transform 2s;
}

a:link, a:visited, a:active, a:hover{
	color: #4a4871;
	text-decoration: none;
	font-weight: 600;
}

#menu a:link, #menu a:visited{
	color: black;
	text-decoration: none;
	font-weight: 400;
}

#menu a:hover, #menu a:active{
	color: black;
	text-decoration: underline;
	font-weight: 400;
}

#closemenu{
	position: fixed;
	top: 15px;
	right: 15px;
	width: 25px;
	cursor: pointer;
}

#hallopanel{
	width: 100%;
	max-width: 100%;
	min-height: 100%;
	overflow-x: hidden;
	position: relative;
}

#coverfig{
	position: absolute;
	bottom: 0px;
	left: 60%;
	transform: translateX(-50%);
	height: 98%;
	width: 100%;
	background-image: url("Bilder/Coverfig2.png");
	background-size: contain;
	background-position: bottom center;
	background-repeat: no-repeat;
	transition: left 0.3s;
	transition: bottom 0.3s;
}

#covervideo{
	position: absolute;
	width: 60%;
	max-width: 320px;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0.78;
}

#covertitle{
	font-family: "Carlito";
	font-size: 8vw;
	position: absolute;
	top: 5%;
	left: 10%;
	font-weight: semi-bold;
	color: black;
}

#covermenu{
	position: absolute;
	top: 15px;
	right: 15px;
	width: 25px;
	cursor: pointer;
}

#contentwrapper{
	width: 100%;
	background-color: white;
}

#content{
	width: calc(100% - 20px);
	max-width: 960px;
	margin-left: 50%;
	transform: translateX(-50%);
	padding: 10px;
	overflow: hidden;
}

p{
	font-size: 100%;
	margin: 5px;
}

h1{
	font-size: 110%;
	font-weight: semi-bold;
	margin: 5px;
}

.area{
	padding: 20px;
}


.postbox{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: center;
}

.postitem{
	flex-grow: 0;
	width: 280px;
	height: 280px;
	background-color: grey;
	margin: 15px;
	padding: 0px;
	font-size: 110%;
	font-weight: semi-bold;
	color: white;
	text-align: center;
	background-position: center center;
	overflow: hidden;
	position: relative;
}

.galbild{
	background-size: cover;
	background-position: center left;
	width: 100%;
	height: 0px;
}

.galarrowLeft{
	position: absolute;
	left: 3%;
	height: 30px;
	top: calc( 50% - 15px );
	z-index: 70;
	cursor: pointer;
}

.galarrowRight{
	position: absolute;
	right: 3%;
	height: 30px;
	top: calc( 50% - 15px );
	z-index: 70;
	cursor: pointer;
}

.galText{
	position: absolute;
	top: 15px;
	left: 15px;
}

.galT{
	height: 100%;
	width: 100%;
}

.postvideo{
	height: 100%;
}

#schriftzug{
    max-width: 45vw;
}

.ytFrameBox{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: gray;
	font-size: 10pt;
	z-index: 50;
	text-align: center;
	background-size: contain;
}

.ytFrameBox > *{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	padding: 10px;
	cursor: pointer;
}

@media only screen and (min-width: 900px) {
	#covervideo{
		left: 75%;
	}
	
	#covermenu{
	top: 25px;
	right: 25px;
	}

    #schriftzug{
        max-width: 25vw;
    }
}

#emPDF{
		padding-left: 10%;
		width: 80%;
	}


/* (A) TIMELINE CONTAINER */
.vtl {
  /* (A1) RELATIVE POSITION REQUIRED TO PROPERLY POSITION THE TIMELINE */
  position: relative;
  margin-left: 10%;
 
  /* (A2) RESERVE MORE SPACE TO THE LEFT FOR THE TIMELINE */
  padding: 10px 10px 10px 50px;
 
  /* (A3) OPTIONAL WIDTH RESTRICTION */
  max-width: 400px;
}
.vtl, .vtl * { box-sizing: border-box; }

/* (B) DRAW VERTICAL LINE USING ::BEFORE */
.vtl::before {
  /* (B1) VERTICAL LINE */
  content: "";
  width: 2px;
  background-color: gray;
 
  /* (B2) POSITION TO THE LEFT */
  position: absolute;
  top: 0; bottom: 0; left: 15px;
}

/* (C) COSMETICS FOR EVENTS */
div.event {
  padding: 20px 30px;
  background-color: transparent;
  position: relative;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* (D) COSMETICS FOR EVENT DATE & TEXT */
p.date {
  font-size: 1.1em;
  font-weight: 700;
  color: gray;
  margin-left: -2px;
}

p.txt {
  margin: 10px 0 0 0;
  color: gray;
}

/* (E) EVENT "SPEECH BUBBLE CALLOUT" */
div.event::before {
  /* (E1) "MAGIC TRIANGLE" 
  content: "";
  border: 10px solid transparent;
  border-right-color: #ffebeb;
  border-left: 0;/*
 
   /* (E2) POSITION TO THE LEFT */
  position: absolute;
  top: 20%; left: -10px;
}

/* (F) CIRCLE ON TIMELINE */
div.event::after {
  /* (F1) "MAGIC CIRCLE" */
  content: "";
  background: gray;
  border: 0px solid black;
  width: 16px; height: 16px;
  border-radius: 50%;
 
  /* (F2) POSITION TO THE LEFT */
  position: absolute;
  top: 20%; left: -42px;
}

div.eventCurrent::after, .event:hover div.event::after, .event:active div.event::after{
	background: black !important;
}

.currentE, .event:hover p, .event:active p, .event span{
	color: black !important;
	text-decoration: none !important;
}

.event:has(span)::after{
	background: black !important;
}

