/* @import url('https://fonts.googleapis.com/css?family=Raleway'); */
/* https://gwfh.mranftl.com/fonts/raleway?subsets=latin */
/* raleway-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/raleway-v34-latin-regular.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Raleway';
	font-style: italic;
	font-weight: 400;
	src: url('fonts/raleway-v34-latin-italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


html {
	font-family: 'Raleway', sans-serif;
	color: #737373;
	background-color: #efefef;
}

body {
	margin: 0;
}

h1 {
	margin-top: 10px;
	font-size: 1.3em;
}

h2 {
	margin-top: 20px;
	font-size: 1.1em;
	font-style: italic;
}

p {
	line-height: 1.4em;
}

a {
	color: #737373;
}

li {
	line-height: 1.4em;
}

dt {
	margin-top: 10px;
	font-weight: bold;
}

form {
	padding: 0;
	margin-bottom: 20px;
}

fieldset {
	margin: 0 0 10px 0;
	background-color: #f9f9f9;
}

/* Inputs für E-Mail und Name anpassen */
input[type="email"],
input[type="text"] {
	font-family: 'Raleway', sans-serif; /* Gleiche Schriftart wie der normale Text */
	font-size: 1em;                    /* Schriftgröße wie normaler Text */
	color: #737373;                    /* Gleiche Schriftfarbe wie Text */
	width: 100%;                       /* Breite: über die gesamte verfügbare Breite */
	padding: 10px;                     /* Zusätzlicher Innenabstand für besseren Lesekomfort */
	border: 1px solid #ccc;            /* Dezenter Rahmen */
	border-radius: 5px;                /* Leicht abgerundete Ecken */
	box-sizing: border-box;            /* Bei Breitenberechnung padding und border einbeziehen */
}

/* Fokus-Stil für Inputs (optional, für besseren Eindruck beim Klicken) */
input[type="email"]:focus,
input[type="text"]:focus {
	border-color: #737373;            /* Rahmenfarbe ändern beim Fokus */
	outline: none;                    /* Standard-Umrandung entfernen */
}

/* Optional: Styling für das Formular-Label */
label {
	font-size: 1em;                   /* Gleiche Schriftgröße wie Text */
	font-family: 'Raleway', sans-serif;
	display: block;                   /* Block-Darstellung für bessere Lesbarkeit */
	margin-bottom: 5px;               /* Platz unter dem Label */
}

.input-wrapper {
	margin-bottom: 10px;
}

 /* Basis-Tabelle für größere Bildschirme */
 table {
	 border-collapse: collapse;
	 width: 100%;
 }

th, td {
	border: 1px solid #000;
	padding: 5px;
	text-align: left;
}

/* Kartenstil für kleinere Geräte */
@media screen and (max-width: 768px) {
	table, thead, tbody, th, td, tr {
		display: block;
	}

	thead tr {
		display: none; /* Verberge Tabellenüberschrift */
	}

	tr {
		margin-bottom: 1rem;
	}

	td {
		display: flex;
		justify-content: space-between;
		padding: 10px;
		border: 1px solid #ccc;
	}

	td:before {
		content: attr(data-label); /* Nutze data-label aus HTML */
		font-weight: bold;
		width: 50%; /* Platz für das Label */
	}
}

#header {
	color: #737373;
	padding: 20px;
}

#pageWrapper {
	background-color: white;
	box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.01), 0 3px 20px 0 rgba(0, 0, 0, 0.05);
	max-width: 880px;
	/* https://stackoverflow.com/questions/1575141/how-to-make-a-div-100-height-of-the-browser-window */
	min-height: 100vh;
	margin: 0 auto 0 auto;
}

#content {
	padding: 20px;
	padding-top: 5px;
	margin-top: 0;
	clear: both;
}
@media screen and (max-width: 700px) {
	#content {
		padding: 0;
		padding-top: 5px;
	}
	.content_mobile {
		/* set padding here instead of #content */
		padding-left: 20px;
		padding-right: 20px;
	}
}

#siteTitleWrapper {
	float: left;
	white-space: nowrap;
}

#siteMenuWrapper {
	position: relative;
	z-index: 9999;
	float: right;
	white-space: nowrap;
	display: flex;                 /* Flexbox aktivieren */
	justify-content: center;       /* Horizontale Zentrierung der Inhalte */
	align-items: center;           /* Vertikale Zentrierung der Inhalte */
	height: 100%;                  /* Damit es sich über die Höhe des Containers erstreckt */
}

#siteTitle {
	font-size: 1.2em;
	font-weight: bold;
}

#siteLogo {
	width: 400px;
}

#menu {
	font-size: 1.1em;
	text-align: right;
	color: #dedede;
}

#menu a {
	text-decoration: none;
	color: #737373;
	margin-left: 15px;
	white-space: nowrap;
}

#menuBurger {
	display: none;
	font-size: 2.2em;
}

#menuX {
	display: none;
	font-size: 2.2em;
	padding-right: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
}

.menuItems {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.menuItem {
	padding-right: 3px;
	padding-bottom: 2px;
	border-right: 1px solid transparent;
}

.menuItemLast {
	border-bottom: none !important;
}

.active {
	border-right: 1px solid #737373;
}

#footer a {
	text-decoration: none;
	color: #dedede;
	white-space: nowrap;
}

.footerMobileItems {
	list-style-type: none;
	margin-top: 0;
	padding: 10px 0 0 20px;
	background-color: #737373;
}

.footerMobileItem {
	padding-bottom: 10px;
}

.small {
	font-size: 0.8em;
}

.copyright {
	color: #737373;
	font-size: 0.8em;
	text-align: center;
	padding-bottom: 20px;
}

.illustration {
	margin-left: 10px;
	margin-bottom: 10px;
}

.right {
	float: right;
}

.fotoCredit {
	font-size: 0.7em;
	position: relative;
	top: -1.4em;
	margin-bottom: -1.4em; /* eliminate the leftover white space */
	left: 5px;
	width: 250px; /* compensate for left position */
	color: white;
	text-shadow: 1px 1px 2px black;
}

.textImage {
	width: 60%;
}

.disclaimer {
	border: 1px solid #666666;
	padding: 0 16px 0 16px;
	background-color: rgb(239, 239, 239);
}

.form-button {
	margin: 0;
	padding: 10px 20px;
	background-color: #004aad;
	font-size: 1.0em;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

/* Cookie Banner */

.cookie-banner {
	box-sizing: border-box;
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: #eee;
	padding: 10px;
	text-align: center;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
}

.cookie-button {
	margin: 5px;
	padding: 10px 20px;
	background-color: #004aad;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.cookie-button-reject {
	background-color: #737373;
}

.cookie-button:hover {
	opacity: 0.9;
}

.cookie-banner-footer {
	font-size: 0.8em;
}

.cookie-banner-footer a {
	text-decoration: none;
	color: #737373;
	white-space: nowrap;
}

.hidden {
	display: none;
}

.clickable {
	cursor: pointer;
}

.error {
	color: red;
	font-size: 0.9em;
	margin-top: 5px;
	display: none; /* Fehler standardmäßig ausgeblendet */
}

.active {
    display: block;
}

.name-container {
	display: inline-flex; /* Text und Icon werden in einer Linie kombiniert */
	align-items: center; /* Zentriert die Höhe des Texts und Icons */
	gap: 4px; /* Abstand zwischen Text und Icon (keine Margins nötig) */
}

.info-icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
	background-color: #004aad; /* Kreisfarbe (Blau) */
	color: white; /* "i"-Farbe */
	font-size: 12px;
	font-weight: bold;
	justify-content: center; /* Zentriert das "i" horizontal */
	align-items: center; /* Zentriert das "i" vertikal */
	line-height: 1; /* Entfernt übermäßige Höhenabstände */
	border-radius: 50%; /* Runde Form */
}

.green {
	background-color: #4caf50;
}

.checkbox-list {
	list-style-type: none; padding: 0;
	margin: 0;
}

/* /Cookie Banner */

/* content is 880px wide for big screens */
@media screen and (max-width: 880px) {
	#pageWrapper {
		width: 100vw;
		margin: 0; /* 120px */
	}
	#siteLogo {
		width: 60vw;
	}
	#menu {
		display: none;
		position: absolute;
		top: 0;
		right: 0;
		width: 12em;
		background-color: #666666;
	}
	.menuItem {
		padding-top: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
		border-bottom: 1px solid #dedede;
	}
	#menu a {
		color: white;
	}
	#menuBurger {
		display: block;
	}
	#menuBurger .burger-icon rect {
		fill: #737373; /* Textfarbe */
	}
	.disclaimer {
		margin-bottom: 15px;
	}
	.cookie-banner-footer {
		font-size: 0.9em;
	}
	.info-icon {
		top: 0; /* Zurück auf richtige Position für Mobilgeräte */
	}
	.dot_green {
		top: 0
	}
}
@media screen and (max-width: 700px) {
	#siteLogo {
		width: 70vw;
	}
	.fotoText {
		font-size: 1em;
	}
	.textImage {
		width: 100%;
	}
}
@media screen and (min-width: 1010px)
              and (orientation: landscape) {
	#menuX {
		display: none;
	}
}
@media print {
	#pageWrapper {
		width: 100%;
		margin: 0;
	}
	#menu {
		display: none;
	}
}

/* ### start.php */
#startButtonsTop {
	display: block;
	margin-bottom: 10px;
}
#startButtonsBottom {
	display: none;
}
#start_content {
	margin-top: 25px;
}
.startSeminar {
	margin-top: 30px;
}
.startButtons {
	clear: both;
	text-wrap: nowrap;
	font-size: 1.1em;
	margin-top: 40px;
}
.startButtons a {
	text-decoration: none;
}
.startButtons a:hover {
	opacity: 0.9;
}
.startButtons a:active {
	opacity: 70%;
}
.startButton {
	clear: both;
	display: inline-block;
	background-color: #004aad; /* 737373 */
	padding: 5px 10px 5px 10px;
	margin-bottom: 10px;
	width: 40%;
	color: white;
	border-radius: 10px;
	text-wrap: nowrap;
}
.startButtonArrow {
	padding-left: 6px;
	float: right;
	opacity: 50%;
}
@media screen and (max-width: 700px) {
	#startButtonsTop {
		display: none;
	}
	#startButtonsBottom {
		display: block;
		margin-top: 15px;
	}
	#start_content {
		margin-top: 15px;
	}
	.startButtons {
		justify-content: center;
		text-align: center;
		margin-top: 0;
	}
	.startButton {
		display: block;
		width: 85%;
		font-size: 1.2em;
		font-weight: bold;
		margin: 10px auto 10px auto;
	}
	.startButtonArrow {
		display: inline-block;
	}
}

.startClaims p {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0.5em;
	width: 50vw;
}
.startClaim {
	font-size: 1em;
}
.startClaims a {
	text-decoration: none;
	color: white;
}
.startClaims a:hover {
	text-decoration: underline;
	color: white;
}
.startClaims .byline {
	font-size: 0.8em;
	font-style: italic;
	font-weight: normal;
	margin-top: 0;
	margin-bottom: 0;
	text-wrap: nowrap;
}
.startClaims {
	background-image: url("img/DSC_0084_nx_o.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-left: 1em;
	padding-top: 1em;
	aspect-ratio: 16 / 9;
	color: white;
	line-height: 1.3em;
	font-size: 1.8em;
	text-shadow: black 1px 0 6px;
}
.textbox {
	border: 1px solid #737373;
	padding: 5px 10px 5px 10px;
}
@media screen and (max-width: 1010px) {
	.startClaims {
		padding-left: 20px;
		line-height: 1.2em;
	}
}
@media screen and (max-width: 700px) {
	.startClaims {
		top: 112px;
		padding-left: 20px;
		line-height: 1.1em;
		font-size: 1.1em;
		font-weight: bold;
	}
}