/*LOGO und Banner LOGO*/
	#header .header-logo {
	  position: absolute;
	  left: 1.25em;
	  top: 50%;
	  transform: translateY(-50%);
	  height: 2.2em;
	  width: auto;
	  transition: opacity 0.2s ease;
	}

	#header.alt .header-logo {
	  opacity: 0;
	}
		
		
		
		
	.banner_inner_logo {
		display: block;
		margin: 0 auto;
		width: clamp(120px, 30vw, 200px);
		height: auto;
	}
/*LOGO und Banner LOGO*/


/*Submenü*/
		/* Submenü standardmäßig verstecken */
		#menu ul li.has-submenu > ul.submenu {
			display: none;
			padding-left: 1em;
			margin-top: 0.5em;
			/*background: rgba(0,0,0,0.8);*/
		}

		/* Submenü-Links */
		#menu ul li.has-submenu > ul.submenu li a {
			font-size: 0.75em;
			color: #fff;
			padding: 0.5em 1em;
			display: block;
		}

		/* Optional: Hover Effekt im Submenü */
		#menu ul li.has-submenu > ul.submenu li a:hover {
		   /* background: rgba(255,255,255,0.1);*/
		}

		/* Wenn Submenü aktiv ist */
		#menu ul li.has-submenu.active > ul.submenu {
			display: block;
		}
/*Submenü*/

/*cookies*/
	#fvs-cookie-container {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		background-color: #1d242a !important; /* Sehr dunkles Grau */
		color: #ffffff !important;
		padding: 25px !important;
		z-index: 9999999 !important; 
		border-top: 3px solid #ed4933 !important; /* Akzentfarbe vom Theme */
		font-family: "Open Sans", Helvetica, sans-serif !important;
		display: none; /* Wird per JS auf 'block' gesetzt */
		box-shadow: 0 -5px 20px rgba(0,0,0,0.5);
	}

	.fvs-cookie-content {
		max-width: 1000px;
		margin: 0 auto;
	}

	.fvs-cookie-text {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 1.5;
	}

	/* Anpassung für das Dropdown im Textfluss */
	#fvs-cookie-days {
		display: inline-block !important;
		width: auto !important;
		height: auto !important;
		padding: 2px 5px !important;
		margin: 0 5px !important;
		background-color: #2c353d !important;
		color: #ffffff !important;
		border: 1px solid #ed4933 !important;
		border-radius: 4px !important;
		font-size: 14px !important;
		cursor: pointer !important;
		appearance: auto !important;
		-webkit-appearance: auto !important;
	}

	.fvs-cookie-options {
		margin-bottom: 20px;
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.fvs-cookie-options label {
		display: flex !important;
		align-items: center !important;
		margin: 10px 0 !important;
		color: #ffffff !important;
		text-transform: none !important;
		font-weight: 400 !important;
		cursor: pointer;
		width: 50% !important; /* Sorgt für 2 Spalten */
		box-sizing: border-box !important;
	}

	/* Hilfsklasse für Elemente, die die volle Breite behalten sollen */
	.fvs-cookie-options label.fvs-full-width {
		width: 100% !important;
	}

	/* Force checkboxes/radios to show up */
	.fvs-cookie-options input {
		-webkit-appearance: auto !important;
		-moz-appearance: auto !important;
		appearance: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		position: relative !important;
		margin-right: 12px !important;
		width: 18px !important;
		height: 18px !important;
		display: inline-block !important;
	}

	.fvs-cookie-btn {
		background-color: #ed4933 !important; /* Spectral Primary Red */
		color: #ffffff !important;
		border: none !important;
		/*padding: 10px 30px !important;*/
		cursor: pointer;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 2px;
		border-radius: 4px;
	}
/*cookies*/

/*Sweet Alert Steuerung*/
	.swal-wide {
		width: 50% !important;
		max-width: 600px;
	}

	@media (max-width: 600px) {
		.swal-wide {
			width: 90% !important;
		}
	}
/*Sweet Alert Steuerung*/

/* pdf viewer */
	.protokoll-viewer {
	  margin-top: 20px !important;
	  display: none;
	}

	.protokoll-frame {
	  width: 100% !important;
	  height: 950px !important;
	  border: 1px solid #ccc !important;
	  display: block;
	}
/* pdf viewer */

/* Email Wait Animation */
	.waiting-screen {
	  position: fixed; /* Fixiert die div an ihrer Position, auch beim Scrollen */
	  left: 50%; /* Setzt die div horizontal in die Mitte */
	  top: 50%; /* Setzt die div vertikal in die Mitte */
	  transform: translate(-50%, -50%); /* Verschiebt die div so, dass sie tatsächlich in der Mitte ist */
	  visibility: hidden; /*Text verbergen*/
	  opacity: 0; /*Text verbergen*/
	  transition: opacity 0.3s ease-in-out; /*Text verbergen*/
	  width: 200px;
	  height: 200px;
	  background-color: transparent;
	  border: none;
	  z-index: 1000; /* Stellt sicher, dass die div über anderen Inhalten liegt */
	}
	.waiting-screen.visible {
		visibility: visible;
		opacity: 1;
	}
	.waiting-screen .waiting-txt {
		background-color: white;
		border: 2px solid #323d34;
		padding: 10px;
		border-radius: 25px;
	}

	.waiting-screen .waiting-box {
	  width: 70%;
	  height: 70%;
	  margin: calc((100% - 70%) / 2) calc((100% - 70%) / 2);
	  position: relative;
	  transform: rotate(-45deg);
	}
	.waiting-screen .waiting-box .waitbox {
	  width: 100%;
	  height: 100%;
	  position: absolute;
	  left: 0;
	  top: 0;
	  background: rgba(135, 0, 0, 0.6);
	  background: linear-gradient(
		to right,
		#f9efc9,
		#f2bd57,
		#4a8753,
		#325a40,
		#323d34
	  );
	  background-position: 0% 50%;
	  background-size: 1000% 1000%;
	  visibility: hidden;
	}
	.waiting-screen .waiting-box .waitbox.one {
	  animation: moveGradient 3s infinite, oneMove 3.5s infinite;
	}
	.waiting-screen .waiting-box .waitbox.two {
	  animation: moveGradient 3s infinite, twoMove 3.5s 0.15s infinite;
	}
	.waiting-screen .waiting-box .waitbox.three {
	  animation: moveGradient 3s infinite, threeMove 3.5s 0.3s infinite;
	}
	.waiting-screen .waiting-box .waitbox.four {
	  animation: moveGradient 3s infinite, fourMove 3.5s 0.575s infinite;
	}
	.waiting-screen .waiting-box .waitbox.five {
	  animation: moveGradient 3s infinite, fiveMove 3.5s 0.725s infinite;
	}
	.waiting-screen .waiting-box .waitbox.six {
	  animation: moveGradient 3s infinite, sixMove 3.5s 0.875s infinite;
	}

	@keyframes moveGradient {
	  to {
		background-position: 100% 50%;
	  }
	}

	@keyframes oneMove {
	  0% {
		visibility: visible;
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}

	@keyframes twoMove {
	  0% {
		visibility: visible;
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}

	@keyframes threeMove {
	  0% {
		visibility: visible;
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(0% 70% 70% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(35% 70% 35% 0 round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}

	@keyframes fourMove {
	  0% {
		visibility: visible;
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}

	@keyframes fiveMove {
	  0% {
		visibility: visible;
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}

	@keyframes sixMove {
	  0% {
		visibility: visible;
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  14.2857% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  28.5714% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  42.8571% {
		clip-path: inset(70% 0 0 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  57.1428% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  71.4285% {
		clip-path: inset(35% 0% 35% 70% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  85.7142% {
		clip-path: inset(35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	  100% {
		clip-path: inset(70% 35% 0% 35% round 5%);
		animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
	  }
	}
/* Email Wait Animation */