:root {
	--rot: #c01d2e;
	--blau: #40739e;
}
html, body {
	margin: 0;
	font-family: sans-serif;
	scroll-behavior: smooth;
	background: #ffffff;
	color: #212529;
	font-size: 0.9em;
	width: 100%;
	margin: 0;
	padding: 0;
}
button {
	padding: 4px;
	margin: 5px;
	border: solid 2px #c01d2e;
	border-radius: 4px;
	background-color: #fff;
	font-weight: bold;
}
button:hover {
	background-color: #c01d2e;
	color: white;
	cursor: pointer;
}
#inhalt {
	padding: 0;
	font-family: Arial;
	width: 75%;
	max-width: 1400px;
	margin: 0px auto;
}
/* Allgemeine Navigation */
.navbarContainer {
  /*position: fixed;
  background: white;
  width: 100vw;*/
  border-bottom: solid 4px #40739e;
}
.navbar {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  padding: 10px 20px;
  width: 75%;
  max-width: 1000px;
  margin: 0px auto;
  z-index: 98;
}

.navbar .logo {
  font-size: 20px;
  font-weight: bold;
}

.navbar .menu {
  list-style: none;
  display: flex;
  gap: 15px;
}

.navbar .menu li {
	position: relative;
}
.navbar .menu li a {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
}
.navbar .menu li a:hover {
	background: #c01d2e;
	font-weight: bold;
	color: white;
}
/* Untermenüs */
.navbar .submenu {
  list-style: none;
  display: none; /* Standardmäßig ausgeblendet */
  position: absolute;
  background: #415f81;
  color: white;
  padding: 10px;
  margin: 0;
  border-radius: 5px;
  border: solid thin white;
  top: 100%; /* Direkt unter dem Hauptpunkt */
  left: 0;
  line-height: 1.8em;
  width: 25vw;
  min-width: 100px;
  max-width: 300px;
  z-index: 99;
}

.navbar .submenu li {
  margin: 5px 0;
}

.navbar .submenu li a {
  color: white;
}

/* Zeige Untermenü beim Hover */
.has-submenu:hover .submenu {
  display: block;
}

.menu-toggle {
  display: none;
  font-size: 24px;
  cursor: pointer;
}
div.navigation a {
	text-decoration: none;
	color: white;
}
div.navigation a:hover {
	color: orange;
}
div.container {
	padding: 0;
	font-family: Arial;
	width: 95%;
	max-width: 1000px;
	margin: 0px auto;
}
.titelArea {
	background: url("./../medien/onergy-titelbild-2025.jpg");
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
	width: 99.3vw;
	height: calc(99.3vw*(1560/3600));
	/*height: 1000px;
	height: calc(100vw*(1/4));*/
	text-align: center;
	background-attachment: fixed;
}
#titelButtonContainer {
	left: 10vw;
	font-family: tahoma;
}
.titelBtn {
	border: solid 4px white;
	padding: calc(12px + 0.1vw);
	text-align: center;
	color: var(--rot);
	background: white;
}
.titelBtn:hover {
	background: white;
	border: solid 4px var(--rot);
}
.titelBtnText {
	font-size: calc(14px + 0.2vw);
	font-weight: bold;
	letter-spacing: 6px;
}
.expanding-container {
  margin-left: 10px;
  width: 0; /* Start mit einer Breite von 0 */
  overflow: hidden; /* Inhalt außerhalb der Breite wird ausgeblendet */
  white-space: nowrap; /* Verhindert Zeilenumbrüche */
  background: #c01d2e;
  color: white;
  padding: 0 10px; /*Padding für den Innenbereich */
  box-sizing: border-box;
  animation: expand-width 3s ease forwards; /* Animiert die Breite */
}

@keyframes expand-width {
  from {
	width: 0; /* Startbreite */
  }
  to {
	width: 35vw; /* Zielbreite */
  }
}
#mainHeadline {
	position: absolute;
	top: 20vh;
	left: 30vw;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 3vw;
	color: white;
	text-align: left;
}
.headline {
	font-size: 32px;
	font-weight: bold;
	font-family: sans-serif;
	text-align: center;
	color: #c01d2e;
	margin: 4vh 0;
}
.subline {
	font-size: 24px;
	font-weight: bold;
	font-family: sans-serif;
	text-align: center;
	color: var(--blau);
	margin: 4vh 0;
}
.highlightbox {
	position: relative;
	display: block;
	clear: both;
	width: 45vw;
	height: 15vh;
	margin: 500px 0 0 0;
	padding: 40px 20vw 40px 35vw;
	background-color: var(--blau);
	opacity: 0.7;
	color: white;
	line-height: calc(20px + 6 * ((100vw) / 1200));
		font-size: calc(16px + 6 * ((100vw) / 1200));
	font-weight: bold;
	background-image: url('./../medien/digitalisierung-highlightbox.jpg');
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: 10vw center;
}
/*.highlightbox::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, blue 20%, transparent);
  z-index: 1;*/
}
.red {
	color: #c01d2e;
}
.box {
	position: relative;
/*	width: 28%;
	height: 30vh;
	min-height: 380px;
*/	margin: 1%;
	padding: 1%;
	border: solid thin darkgray;
	border-radius: 10px;
	/*box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	background: linear-gradient(-2deg,rgba(121,163,153,0.2) 0%,#fff 100%);*/
}
.schraeger-container {
  position: relative;
  margin-top: 20px;
  padding: 20px;
  overflow: hidden;
  background: linear-gradient(-1deg,#79a399 64%,#fff 36%);
  color: black;
  font-size: 1.1em;
}
.schraeger-container ul {
  margin-top: 0;
  padding-top: 0;
}
.boxContainer3 {
	width: 75%;
	margin: 0 auto;
}
.boxContainer3 .box {
	position: relative;
	float: left;
	width: 28%;
	height: 30vh;
	min-height: 380px;
	margin: 1%;
	padding: 1%;
	border: solid thin darkgray;
	border-radius: 10px;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.boxContainer3 .boxPic {
	position: relative;
	vertical-align: middle;
	margin: 20px 30%;
	width: 40%;
}
.methodeBoxContainer {
	width: 100%;
	margin: 0 auto;
}
.methodeBoxContainer .methodeBox {
	position: relative;
	float: left;
	width: 12%;
	height: auto;
	margin: 1%;
	padding: 1%;
	text-align: center;
}
.methodeBox p {
	text-align: justify;
	font-size: 1.15em;
}
.methodeBoxContainer img {
	position: relative;
	vertical-align: middle;
	margin: 20px auto;
	width: 80%;
}
.methodeBoxContainer .methodePfeilBox {
	position: relative;
	float: left;
	width: 4%;
	height: 30vh;
	margin-top: 1%;
	padding-top: 1%;
}
.methodePfeilBox img {
	width: 200%;
	left: -80%;
}
.call2action {
	clear: both;
	padding-top: 50px;
	font-family: sans-serif;
}
.call2action .imgTextLeft {
	float: right;
	width: 45%;
	border-left: solid 8px #c01d2e;
}
.call2action .imgTextRight {
	float: left;
	width: 45%;
	border-right: solid 8px #c01d2e;
	margin-right: 5%;
}
.call2action .textLeft {
	width: 52%;
	text-align: right;
	font-size: 1.2em;
	line-height: 1.4em;
	margin-top: 30px;
}
.call2action .textRight {
	float: left;
	width: 49%;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.4em;
	margin-top: 30px;
}
.wortkasten {
	display: inline-block;
	background: #c01d2e;
	color: white;
	padding: 2px;
	margin: 2px 4px;
}
.referenzen .wortkasten {
	padding: 4px 8px;
	margin: 2px 8px;
	font-size: 1.3em;
}

:root {
	--onergy-red: #c01d2e;
}
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
div.logos div.logo {
  float: left;
  margin: 2% 6%;
  padding: 10px;
  width: 10vw;
  height: 10vw;
  max-width: 160px;
  max-height: 160px;
  background: #11306c;
  text-align: center;
  color: gray;
  font-size: 0.8vw;
}
div.logos div.logo:hover {
  color: white;
}
div.logo img {
  width: 80%;
  filter: grayscale(100%);
}
div.logo img:hover {
  filter: grayscale(0%);
}
div.logo {
  text-decoration: none;
  font-weight: bold;
}
div.sponsorPaket {
  float: left;
  margin: 2%;
  width: 20%;
  background: rgb(127,127,127);
  font-size: 0.8em;
}
div.sponsorPaket div.backlighted {
  background: rgb(169,209,142);
  color: black;
  font-size: 1em;
  font-weight: bold;
  padding: 4px;
  text-align: center;
}
#controls {
	position: absolute;
	bottom: 0;
	z-index: 2;
	text-align: center;
	width: 100%;
	padding-bottom: 3px;
}
.ctrl {
	padding: 4px 4px;
	width: 90px;
	text-align: center;
	background: rgba(200, 200, 200, 0.4);
	display: inline-block;
	cursor: pointer;
	color: white;
}
.ctrl:hover {
	background: rgba(200, 200, 200, 1);
}
a.btn {
	padding: 4px 4px;
	text-align: center;
	font-weight: bold;
	background: rgba(200, 200, 200, 0.4);
	display: inline-block;
	cursor: pointer;
	width: 400px;
	background: white;
	border: solid thin darkgray;
	text-decoration: none;
	color: black:
}
a.btn:link {
  color: black;
}
a.btn:hover {
	background: orange;
	color: black;
}
a.btn:visited {
  color: black;
}
.highlight-section {
  background: #b2b2b2;
  padding: 20px 20px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.highlight-section h2 {
  color: white;
  font-family: 'Playfair Display', serif; /* Stilvolle Überschrift */
  font-size: 28px;
  margin-bottom: 20px;
}

.highlight-section blockquote {
  font-family: 'Caveat', cursive; /* Handschriftlicher Stil für Zitate */
  font-size: 20px;
  color: #555;
  margin: 10px 0;
}

.highlight-section p {
  font-family: 'Roboto', sans-serif; /* Moderner Fließtext */
  font-size: 16px;
  line-height: 1.8em;
  color: #333;
}
/* Unsichtbar starten */
.fade-in {
  opacity: 0;
  transform: translateY(20px); /* Nach unten verschoben */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
/* Unsichtbar starten ttb=top to button */
.fade-in-ttb {
  opacity: 0;
  transform: translateY(-20px); /* Nach unten verschoben */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Sichtbar werden */
.fade-in.visible, .fade-in-ttb.visible {
  opacity: 1;
  transform: translateY(0); /* Zurück in die ursprüngliche Position */
}
/* Unsichtbar starten (von links) */
.fade-in-ltr {
  opacity: 0;
  transform: translateX(-120px); /* Nach links verschoben */
  transition: opacity 2s ease-out, transform 0.8s ease-out;
}
/* Unsichtbar starten (von rechts) */
.fade-in-rtl {
  opacity: 0;
  transform: translateX(120px); /* Nach rechts verschoben */
  transition: opacity 2s ease-out, transform 0.8s ease-out;
}

/* Sichtbar werden */
.fade-in-rtl.visible, .fade-in-ltr.visible {
  opacity: 1;
  transform: translateX(0); /* Zurück in die ursprüngliche Position */
}


img.rotate-on-appear {
  display: block;
  opacity: 0; /* Unsichtbar vor der Animation */
  transform: rotate(-15deg); /* Startzustand */
  transition: opacity 0.5s ease, transform 1s ease-out; /* Weiche Übergänge */
}

img.rotate-on-appear.visible {
  opacity: 1; /* Sichtbar */
  transform: rotate(0deg); /* Geradeaus */
}
div.impDiv {
  font-size: 0.7em;
}
div.impDiv a {
  text-decoration: none;
  color: white;
}
div.impDiv a:hover {
  background-color: var(--onergy-red);
}
#kontakt {
	clear: both;
	margin-top: 160px;
	transition: background-color 2s ease; /* Sanfter Übergang */
}
#kontaktIncludeContainer {
	opacity: 0; /* Unsichtbar */
	transform: translateY(100%); /* Startposition: außerhalb des sichtbaren Bereichs (unten) */
	display: none; /* Aus dem Layout entfernt */
	transition: opacity 0.8s ease, transform 0.8s ease, background-color 2s ease; /* Sanfter Übergang */
	position: relative;
	z-index: 1;
}

/* Sichtbar machen mit Fade-In */
#kontaktIncludeContainer.fade-in {
	display: block; /* Div sichtbar machen */
	opacity: 1; /* Sichtbar */
	transform: translateY(0); /* Nach oben in die Zielposition bewegen */
}
footer {
	position: relative;
	z-index: 99;
	/*border-top: solid 5px var(--onergy-red);*/
}
footer .line {
	background-image: linear-gradient(to top, #40739e 0%, #c01d2e 200%);
	height: 40px;
	width: 100vw;
	/*opacity: 0.3;*/
}
footer #logoFooter {
	width: 30vw;
	float: left;
}
footer #logoFooter #footerLogo {
	width: 8vw;
	margin: 2vw 10vw;
}
footer #infoFooter {
	width: 30vw;
	float: left;
	font-size: 1.4em;
	font-family: sans-serif;
	line-height: 1.5em;
	text-align: center;
	font-weight: bold;
	padding-top: 2vw;
}
footer #adressFooter {
	width: 20vw;
	float: left;
	padding: 20px 0 0 10vw;
	line-height: 1.5em;
	font-size: 1.3em;
}
#not4mobile {
	//visibility: hidden;
	display: block;
}
#only4mobile {
  display: none;
}

div.haupttext {
	font-size: 1.1em;
	font-weight: bold;
	text-align: justify;
	margin: 40px 0 40px 0;
}
#headerBox {
  top: 0;
  position: relative;
  min-width: 100%;
  width: auto; 
  height: auto;
}
#headerVideo {
  width: 100%;
  z-index: -100;
}
#headerText {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 10px solid rgba(255, 255, 255, 0.5);
  margin: 10px;
}
#headerBox h1 {
  position: absolute;
  bottom: 0px;
  padding-left: 20px;
  width: 100%;
  font-size: 3VW;
  letter-spacing: 3px;
  color: rgba(255,255,255,0.7);
  font-family: Oswald, sans-serif;
}

#headerBox h1 span {
  font-family: sans-serif;
  letter-spacing: 0;
  font-weight: 300;
  font-size: 16px;
  line-height: 24px;
}
#videoInfo {
  position: relative;
  padding: 20px;  
  margin: 40px;
  margin-top: 80px;
  background: rgba(255,255,255,0.3);
  text-align: center;
  line-height: 0.8em;
  cursor: pointer;
}
div.logos div.logo {
  float: left;
  margin: 2% 6%;
  padding: 10px;
  width: 10vw;
  height: 10vw;
  max-width: 160px;
  max-height: 160px;
  background: #11306c;
  text-align: center;
  color: gray;
  font-size: 0.8vw;
}
div.logos div.logo:hover {
  color: white;
}
div.logo img {
  width: 80%;
  filter: grayscale(100%);
}
div.logo img:hover {
  filter: grayscale(0%);
}
div.logo {
  text-decoration: none;
  font-weight: bold;
}
div.sponsorPaket {
  float: left;
  margin: 2%;
  width: 20%;
  background: rgb(127,127,127);
  font-size: 0.8em;
}
div.sponsorPaket div.backlighted {
  background: rgb(169,209,142);
  color: black;
  font-size: 1em;
  font-weight: bold;
  padding: 4px;
  text-align: center;
}
#controls {
	position: absolute;
	bottom: 0;
	z-index: 2;
	text-align: center;
	width: 100%;
	padding-bottom: 3px;
}
.ctrl {
	padding: 4px 4px;
	width: 90px;
	text-align: center;
	background: rgba(200, 200, 200, 0.4);
	display: inline-block;
	cursor: pointer;
	color: white;
}
.ctrl:hover {
	background: rgba(200, 200, 200, 1);
}
a.btn {
	padding: 4px 4px;
	text-align: center;
	font-weight: bold;
	background: rgba(200, 200, 200, 0.4);
	display: inline-block;
	cursor: pointer;
	width: 400px;
	background: white;
	border: solid thin darkgray;
	text-decoration: none;
	color: black:
}

a.btn:link {
  color: black;
}
a.btn:hover {
	background: orange;
	color: black;
}
a.btn:visited {
  color: black;
}
/*
.menu {
	position: relative;
	top: -80px;
	float: right;
	padding-right: 100px;
	font-family: calibri;
	color: white;
}
div.menu a.btn {
	width: 100px;
	margin-right: 20px;
	background: rgba(200, 200, 200, 0.6);
	color: white;
}
div.menu a.btn:hover {
	background: white;
	color: black;
}
*/
#counter {
  position: relative;
  color: orange;
  letter-spacing: 1em;
  margin: 20px auto;
  font-family: "Lucida Console", Monaco, monospace;
  width: 43vw;
  padding: 0px;
}
#countdown {
  /*border: solid thin yellow;*/
  position: relative;
  font-weight: bold;
  font-size: 6vw;
  letter-spacing: normal;
  border-left: none;
  border-right: none;
  text-align: center;
  text-align: center;
  margin: 0px auto;
  padding: 14px 0px 0px 0px;
}

input:invalid { 
  border-color: #e88;
  -webkit-box-shadow: 0 0 5px rgba(255, 0, 0, .8);
  -moz-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
  -o-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
  -ms-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
  box-shadow:0 0 5px rgba(255, 0, 0, .8);
}

input:required {
  border-color: #3493d5;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 255, .5);
  -moz-box-shadow: 0 0 2px rgba(0, 0, 255, .5);
  -o-box-shadow: 0 0 2px rgba(0, 0, 255, .5);
  -ms-box-shadow: 0 0 5px rgba(0, 0, 255, .5);
  box-shadow: 0 0 2px rgba(0, 0, 255, .5);
}

form {
  width: 90%;
  margin: 20px auto;
  padding: 20px;
  padding-bottom: 0px;
  border: none;
  font-size: 14px;
}

form input {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  border:1px solid #ccc;
  font-size:16px;
  width:300px;
  min-height:30px;
  display:block;
  margin-bottom:15px;
  margin-top:5px;
  outline: none;

  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -o-border-radius:5px;
  -ms-border-radius:5px;
  border-radius:5px;
}

form input[type=checkbox] {
	color: red;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  border: none;
  font-size:10px;
  width:10px;
  min-height:10px;
  display:inline;
  margin-bottom:15px;
  margin-top:5px;
  outline: none;

  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -o-border-radius:5px;
  -ms-border-radius:5px;
  border-radius:5px;
}

form input[type=submit] {
  background:green;
  color: white;
  padding:10px;
  cursor: pointer;
}

/* Tabs mit radio-Buttons */
.tabbed {
	font-size: 10px;
}
.tabbed figure { 
   display: block; 
   margin-left: 0; 
   border-bottom: 1px solid silver;
   clear: both;
   font-size: 10px;
}

.tabbed > input,
.tabbed figure > div { display: none; }

.tabbed figure>div {
  padding: 20px;
  width: 100%;
  border: 1px solid silver;
  background: #fff;
  line-height: 1.5em;
  letter-spacing: 0.3px;
  color: #444;
}
#tab1:checked ~ figure .tab1,
#tab2:checked ~ figure .tab2,
#tab3:checked ~ figure .tab3,
#tab4:checked ~ figure .tab4,
#tab5:checked ~ figure .tab5 {
	display: block;
	max-height: 300px;
	overflow: auto;
}
nav label {
   float: left;
   padding: 5px 5px;
   border-top: 1px solid silver;
   border-right: 1px solid silver;
   background: hsl(210,50%,50%);
   color: #eee;
}

nav label:nth-child(1) { border-left: 1px solid silver; }
nav label:hover { background: hsl(210,50%,40%); }
nav label:active { background: #ffffff; }

#tab1:checked ~ nav label[for="tab1"],
#tab2:checked ~ nav label[for="tab2"],
#tab3:checked ~ nav label[for="tab3"],
#tab4:checked ~ nav label[for="tab4"],
#tab5:checked ~ nav label[for="tab5"] {
  background: white;
  color: #111;
  position: relative;
  border-bottom: none;
}

#tab1:checked ~ nav label[for="tab1"]:after,
#tab2:checked ~ nav label[for="tab2"]:after,
#tab3:checked ~ nav label[for="tab3"]:after,
#tab4:checked ~ nav label[for="tab4"]:after,
#tab5:checked ~ nav label[for="tab5"]:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: white;
  left: 0;
  bottom: -1px;
}
/* ------------------ Aufklappbare Liste ------------------ */
/* Detail-Slide siehe http://www.smart-webentwicklung.de/2012/12/css3-click-event-slide-effekt-ohne-javascript-realisieren/ */

#infoList, #infoList li {
	list-style: none;
	padding: 0px;
	margin: 0px;
}

.topic {
	padding: 0 0 12px 0;
	font-weight: bold;
	line-height: 2em;
}

.outText {
	padding-top: 0;
	padding-left: 7px;
}

.text {
	position: relative;
	display: block;
	/*top: -10px;*/
}

#infoList input[type="checkbox"] {
	position: relative;
	float: right;
	top: 5px;
	left: 0px;
	width: 3px;
	height: 30px;
	z-index: 100;
	opacity: 0;
	cursor: pointer;
}

#infoList label.weiterlesenBtn {
	/*background: green;
	color: white;*/
	background: red;
	border: none;
	display: none;
}

#infoList input[type="checkbox"]:checked ~ 	label.weiterlesenBtn {
	padding: 8px;
	margin: 4px;
	width: 140px;
	position: relative;
	text-align: center;
	cursor: pointer;
	border: solid thin orange;
	background: none;
}

/*#infoList input[type="checkbox"]:checked ~ .text {
	display: none;
	padding: 0;
}
span.previewText {
	display: none;
}*/

.contactContainer {
  display: flex;
  flex-wrap: wrap; /* Elemente umbrechen, wenn nicht genug Platz vorhanden ist */
  gap: 20px; /* Abstand zwischen den Elementen */
  background: linear-gradient(135deg, transparent 35%, var(--onergy-red) 35%);
}
#contactForm {
	flex: 0 0 33%;
	margin: 0 40px 0 10vw;
	padding: 20px 40px;
	/*border-right: solid 4px var(--rot);*/
}
.contactInfos {
  flex: 0 0 300px;
  margin: 0;
  padding: 20px 40px;
  font-size: 18px;
  line-height: 38px;
  color: white;
}
#contactMap {
  flex: 1 1;
  background-image: url("./../medien/mapx+.jpg");
  background-size: cover;
  opacity: 0.3;
  cursor: pointer;
}
#contactMapBtn {
	border: solid thin white;
	border-radius: 10px;
	width: 340px;
	padding: 10px;
	text-align: center;
	margin: 40px;
	color: white;
	font-size: 2em;
	font-weight: bold;
}
.contactInfos a {
	color: white;
}
.contactContainer form {
  max-width: 600px;
  margin: auto;
}
.contactContainer label {
  display: block;
  margin-top: 10px;
  font-weight: bold;
}
.contactContainer input, .contactContainer textarea, .contactContainer button {
  width: 80%;
  padding: 4px 8px;
  margin: 0 5px 5px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.contactContainer textarea {
	width: 90%;
}
.contactContainer button {
	width: 50%;
}
.contactContainer button {
  background-color: var(--rot);
  color: white;
  border: solid thin white;
  cursor: pointer;
}
.contactContainer button:hover {
  background-color: #0056b3;
}
.contactContainer .error {
  color: red;
  font-size: 0.9em;
  margin-top: 5px;
}
#contactForm .formElement_halfWidth {
	width: 50%;
	float: left;
}

.textIcon {
  float: left;
  width: 20px; /* Breite des Icons */
  height: 20px; /* Höhe des Icons */
  margin: 9px;
  background-size: contain; /* Icon an die Größe anpassen */
  background-repeat: no-repeat; /* Wiederholung verhindern */
  filter: invert(100%);
/*  filter: invert(23%) sepia(94%) saturate(2211%) hue-rotate(337deg) brightness(75%) contrast(103%);*/
}
.tisax {
	font-weight: bold;
	font-size: 1.2em;
	position: relative;
	top: -30px;
	transform: rotate(-10deg);
	width: 200px;
	background: rgba(255,255,255, 0.6);
	text-align: center;
}	
.tisax img {
	width: 80%;
}
.introText {
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 2vh;
}

/*@media only screen and (orientation: portrait) {*/
span.previewText {
	display: inline;
	background-image:linear-gradient(black,transparent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#infoList label.weiterlesenBtn {
	display: block;
	background: none;
	/*color: white;*/
	padding: 1px;
	margin: 1px;
	width: 75vw;
	position: relative;
	text-align: left;
	cursor: pointer;
	font-style: italic;
	border: solid thin white;
}
#infoList input[type="checkbox"]:checked ~ 	label.weiterlesenBtn {
	/*background: red;*/
	border-color: red;
	padding: 1px;
	margin: 1px;
	width: 75vw;
	
}
.text {
	display: none;
	padding: 0;
}
#infoList input[type="checkbox"]:checked ~ .text {
	position: relative;
	display: block;
}
/*}*/
/* --- */

/* Arrow & Hover Animation */
#more-arrows {
	width: 75px;
  height: 65px;
  
  &:hover {
    
    polygon {
      fill: #FFF;
      transition: all .2s ease-out;

      &.arrow-bottom {
        transform: translateY(-18px);
      }

      &.arrow-top {
        transform: translateY(18px);
      }
      
    }
  
  }
  
}

polygon {
  fill: #FFF;
  transition: all .2s ease-out;
    
  &.arrow-middle {
	  opacity: 0.75;
	}

	&.arrow-top {
	  opacity: 0.5
	} 
}