/* Globale Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: grey;
    text-align: center;
    padding: 20px 0;
    display: none;
}

header a {
    color: white;
	text-decoration:none;
}
iframe {
	width: 100%;
	border: none;
}

/* Stil für das Menü */
.menu {
    background-color: #333; /* Hintergrundfarbe des Menüs */
	color: white;
	text-align: center;
	padding: 10px 0;
}

.menu ul {
	font-size:0.8em;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.menu li {
    display: inline;
	padding: 10px 10px; /* Abstand zwischen den Menüpunkten */
}

.menu a {
    text-decoration: none;
    color: #fff; /* Textfarbe der Menüpunkte */
}
/* Hintergrundfarbe ändern, wenn Mauszeiger über dem Menü ist */
.menu li:hover {
    background-color: #555; /* Ändern Sie die Farbe nach Ihren Wünschen */
}
h1 {
    margin: 0;
}

h5 {
	padding-left:190px;
	margin:0;
	font-size:10px;
}
.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

/* Styles für die Suchform und Ergebnisse */
.search-section {
    background-color: #f0f0f0;
    padding: 20px;
    text-align: center;
}

.results-section {
	margin-bottom: 20px;
    padding: 20px;
    text-align: left;
}

.dropdown {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
}

/* Änderungen für breitere Bildschirme */
@media (min-width: 768px) {
    .search-section {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    h2 {
        padding-bottom: 0; /* Entfernt den Abstand unter dem h2 */
    }

    .dropdown {
        width: 30%; /* Ändern Sie die Breite nach Bedarf */
        margin-bottom: 0;
    }
    
    button {
        width: 20%; /* Ändern Sie die Breite nach Bedarf */
    }
}
#startseite {
	text-align:center;
	font-size: 24px;
	height:50vh;
}
#startseite a, #startseite span {
	padding: 0;
}

button {
    background-color: #007acc;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
}
#toggleAllLegendItems {
	cursor: pointer;
}

button:hover {
    background-color: #005b99;
}

.result-info {
    margin-bottom: 20px;
}

/* Styles für den Footer */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px 0;
}
html, body {
  height: 100%;
  margin: 0;
}
.wrapper {
  min-height: 100%;
  /* Equal to height of footer */
  /* But also accounting for potential margin-bottom of last child */
  margin-bottom: -70px;
}

.footer,
.push {
  height: 50px;
}
#slider {
	margin: 8px;
}

ul {
	list-style: none;
	padding:0;
}

/* Media Query für Mobilgeräte */
@media (max-width: 768px) {
    .container {
        padding: 10px;
    }

    .search-section, .results-section {
        padding: 10px;
    }
}
/* Stile für das Ladesymbol */
.loader {
    border: 5px solid #3498db;
    border-top: 5px solid #f2f2f2;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
	background-color:#ffffff;
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -25px; /* Die Hälfte der Höhe */
    margin-left: -25px; /* Die Hälfte der Breite */
	z-index:999999;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Stile für das Fortschritts-Element */
.progress {
  font-size:11px;
  position: absolute;
text-align: center;
vertical-align: middle;
  width: 50px;
  height: 50px;
  top: 50%;
  left: 50%;
    margin-top: -9px; /* Die Hälfte der Höhe */
    margin-left: -20px; /* Die Hälfte der Breite */
  
  z-index: 9999999; /* Erhöhe den Z-Index, um den Text über dem Loader anzuzeigen */
}
body {
	font-family: 'Roboto', sans-serif;
	margin: 0;
	padding: 0;
}

#container {
	/*display: flex;
	flex-wrap: wrap;*/
	display: grid;
	/*grid-template-rows: 2fr 1fr;*/ /* Div A nimmt die doppelte Höhe von Div B und Div C ein */
	grid-template-columns: 1fr 1fr; /* Zwei Spalten für Div A und Div B */
	grid-gap: 10px;
}

h2 {
	margin:5px 0;
}

#table {
	/*width: 50%;
	padding: 20px;
	background-color: white;*/
	grid-row: span 2; /* Div A erstreckt sich über zwei Zeilen */
}
#chart {
	/*width: 50%;
	height: 50vh;*/
	height:380px;
}

#map {
	/*width: 50%;
	height: 50vh;*/
	height:350px;
}
#myChart {
	/*width: 50%;
	height: 50vh;*/
	height:350px !important;
}
#description {
	display: none;
}
#time {
	display:none;
}

#tutorial {
	padding: 10px;
}
.tutorial-block {
    border: 1px solid #ccc; /* Leichter grauer Rahmen */
    padding: 10px; /* Optional: Fügt Innenabstand zum Inhalt hinzu */
    margin: 10px 0; /* Optional: Fügt Innenabstand zum Inhalt hinzu */
    overflow: auto; /* Klärt den Float und stellt sicher, dass der Text neben den Bildern angezeigt wird */
}

.tutorial-block .img-container {
    display: flex;
    justify-content: space-between; /* Verteilt den verfügbaren Platz gleichmäßig zwischen den Bildern */
    float: right; /* Rechts ausrichten */
    width: 50%; /* 50% der Breite des übergeordneten Containers einnehmen */
    align-items: flex-start; /* Bilder oben ausrichten */
}

.tutorial-block .div-container {
    float: left; /* Links ausrichten */
    width: 50%; /* 50% der Breite des übergeordneten Containers einnehmen */
}

.tutorial-block img {
    flex: 0; /* Alle Bilder teilen den verfügbaren Platz gleichmäßig */
	max-width:350px;
    width: auto; /* Passt die Breite automatisch an */
    height: auto; /* Passt die Höhe automatisch an */
    margin-right: 10px; /* Optional: Fügt einen Abstand zwischen den Bildern hinzu */
	vertical-align: top;
	border: 1px solid grey;
}

@media (max-width: 768px) {
	#container {
		display:block;
	}
	#map {
		width: 100%;
	}

	#chart {
		width: 100%;
		height:350px;
	}
	#myChart {
		height:330px !important;
	}
	#table {
		width: 100%;
		padding: 0px;
		background-color: white;
	}
	table {
		font-size:8px;
	}
	label, select, button {
		display: block;
		margin: auto;
	}
	td span {
		/* display: none; */
	}
	.tutorial-block .img-container {
		display: block;
		justify-content: space-between; /* Verteilt den verfügbaren Platz gleichmäßig zwischen den Bildern */
		width: 100%; /* 50% der Breite des übergeordneten Containers einnehmen */
	}

	.tutorial-block .div-container {
		width: 100%; /* 50% der Breite des übergeordneten Containers einnehmen */
	}
	#startseite {
		display:block;
	}
	#startseite a, #startseite span {
		padding:0;
	}
	#startseite img {
		height:10vh;
	}
	.nomobile {
		display:none;
	}
}
table {
	border-collapse: collapse;
	width: 100%;
}
th, td {
	text-align: right !important;
}
/* Hintergrundfarbe für gerade Spalten */
tr:nth-child(even) td {
  background-color: #F5F5F5; /* Hellere Graue Hintergrundfarbe für gerade Spalten */
}

/* Hintergrundfarbe für ungerade Spalten */
tr:nth-child(odd) td {
	background-color: #E0E0E0; /* Noch hellere Graue Hintergrundfarbe für ungerade Spalten */
}

table.dataTable tfoot th, table.dataTable tfoot td {
	
	padding: 8px 10px;
}

.select2-container {
  width: 150px !important;
}

/* CSS-Stildefinition für das Ausgrauen */
.grayscale {
	filter: grayscale(100%); /* Grauskala-Effekt */
}
/*.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-selection--single, .select2-selection__rendered {
	background-color: #eeeeee !important;
	color:transparent;
}*/

/* Stil für ausgewählte Option ändern */
/*.select2-container--default .select2-selection--single .select2-selection__rendered.custom-selected {
	background-color: #ffffff !important;
	color:black;
}*/
