menu{
	background-color:Transparent;
	display:block;
	position:fixed;
	top:0;
	right:0;
	padding:0;
	margin:0;
	height:100vh;
	width:25em;
	transform: translateX(23em); /* Hier wird die Position gesteuert */
	transition:all 0.7s ease 0s;
	overflow:hidden;
	z-index:200;
}

menu p{
	font-size:1.2em;
	hyphens:auto;
	hyphenate-limit-chars: auto 5;
	line-height:1.5em;
}

menu h2{
	width:calc(100vh-2em);
	display:block;
	float:left;
	font-size:1.5em;
	line-height:1.0;
	margin:0;
	padding:0;
	text-align:center;
	display:flex;
	justify-content:top;
	/*align-items:flex-start;*/
	float:left;
	margin:0;
	padding:0;
	border-radius:0;
		margin-bottom:0.5em;
}

menu img {
	height:2em;
	width:2em;
	border-radius:50%;
	background-color:grey;
	display:block;
	float:left;
	margin:0;
	margin-top:-0.25em;
	margin-right:0.7em;
	padding:0;
}

main.contracted{
	width:calc(100% - 25em);
	box-shadow: inset -2px 0px 10px var(--main-txt-color);
}

menu.expanded {
	width:25em;
	transform: translateX(0em); /* Hier wird die Position gesteuert */
	backdrop-filter:blur(100px) contrast(97%);
		transition:all 0.7s ease 0s;
}

header.visible{
	  opacity:0.0;
	  height:0;
}

.error {
	color:var(--main-nio-color);
}

/* Anpassungen für mobile Geräte */
@media (max-width: 768px) {
  main.contracted {
    width: 0%;
    box-shadow: none; /* Entfernt den Schatten auf kleinen Geräten */
  }

  menu.expanded {
    width: 100%;
	/*box-shadow: -2px 0px 10px var(--main-txt-color);*/
	padding-top:5em;
	backdrop-filter:blur(120px) contrast(97%);
  }
  
  header.visible{
	  opacity:1.0;
	  height:5em;
	  top:0;
  }
 
}


@media (min-width: 768px) {

}

#menubutton{
	color:var(--main-txt-color);
	background-color:transparent;
	width:2em;
	height:2em;
	line-height:2em;
	text-align:center;
	display:flex;
	justify-content:top;
	/*align-items:flex-start;*/
	float:left;
	margin:0;
	margin-top:1em;
	padding:0;
	border-radius:0;
}

.icon {
    display: inline-block;
	font-size:2em;
    transition: transform 0.3s ease; /* Sanfte Animation*/
	height:1em;
	width:2em;
	text-align:center;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	padding:0;
	margin:0;
	transform-origin: center; /* Rotiert um die Mitte */
			z-index:1000;
}

#menubutton.rotated .icon {
    transform: rotate(180deg); /* Dreht das X um 180 Grad*/
	transform-origin: center; /* Rotiert um die Mitte */
}

#menuboard{
	display:block;
	text-align:left;
	float:left;
	height:inherit;
	padding:0em;
	padding-top:1em;
	width:calc(100% - 4em);
}

/* Styling für den Switch-Button */
.switch {
  position: relative;
  display: block;
  float:left;
  width: 2.5em;
  height: calc(1em + 4px);
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
	float:left;
	display:block;
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--main-nio-color);
    /*border:solid 2px var(--main-txt-color);*/
  /*box-shadow:inset 2px 2px 10px 2px var(--main-txt-color);
  box-shadow:-1px -1px 1px 1px var(--main-txt-color);*/
  transition: 0.4s;
 /* border-radius: 0.7em;*/
 border-radius:0em 0.7em 0.7em 0.7em;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1em;
  width: 1em;
  left: 0.2em;
  bottom: 0px;
  background-color: var(--main-bg-color);
  border:solid 2px var(--main-txt-color);
  transition: 0.4s;
  border-radius: 0 50% 50% 50%;
}

input:checked + .slider {
  background-color: var(--main-io-color);
}

input:checked + .slider:before {
  transform: translateX(0.7em);
}



