/*
  Copyright 2018,2021,2023 Tobias Grundmann
  
  This file is part of Windenfahrerplan.
  
  Windenfahrerplan is free software: you can redistribute it and/or modify
  it under the terms of version 3 of the GNU General Public License as
  published by the Free Software Foundation
  
  Windenfahrerplan is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License
  along with Windenfahrerplan.  If not, see <http://www.gnu.org/licenses/>.
*/
body {
	font-family: "Open Sans", Helvetica, Arial, Verdana, sans-serif;
	overflow-x: auto;
}

#motto {
	border: 0.1em dashed #525252;
	font-size: 1.2em;
	font-weight: bold;
	transform: rotate(-20deg);
	vertical-align: top;
	width: fit-content;
	text-align: center;
}

.h_img {
	grid-area: h_img;
}

.h_h {
	grid-area: h_h;
}

.h_motto {
	grid-area: h_motto;
}

.header_grid {
	width: fit-content;
	display: grid;
	grid-template-areas:
		"h_img h_h h_motto"
	;
}

@media only screen and (max-width: 1000px) {
	.header_grid {
		width: fit-content;
		display: grid;

		grid-template-areas:
			"h_motto h_motto"
			"h_img h_h"
		;
	}

	.h_img {
		display: flex;
		flex-flow: column;
		justify-content: center;
	}
	.h_motto {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-end;
	}

	#motto {
		transform: rotate(-10deg);
	}
}

.header_div {
	/*display: inline-block;*/
	position: relative;
}

.header_div img {
	width: 5em;
}

body,
#legendeTable,
#legendeTable th {
	background-color: #eeeeee;
}

tr.fahrerzeile:nth-child(even)>td,
tr.fahrerzeile:nth-child(even)>th {
	background-color: rgba(0, 0, 0, 0.05) !important;
}

td,
th {
	border: 1px solid #B2B2B2;
}

table.bereitschaftTable {
	table-layout: fixed;

	border-collapse: collapse;
	border: 1px solid #B2B2B2;
	text-align: center;
	background-color: #d9e7f2;
}

legend {
	width: 100%;
}

fieldset {
	border: none;
}

.bereitschaft,
.counter_td {
	padding: 0;
	margin: 0;
}

.fahrerDiv {
	text-align: left;
	width: 100%;
	font-weight: normal;
	padding: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


.fahrer {
	/*
    width: 100%;
    min-width: 10em;
    */
	padding: 0;
	padding-left: 0.4em;
	min-height: 1.7em;
	text-align: left;
}

.fahrer:hover,
.termin:hover,
.arrow_cell:hover,
.bereitschaft:hover {
	/*funktioniert nicht mit striped rows background-color: rgba(0,0,0,0.3); */
	cursor: pointer;
}

.fahrerMenu {
	float: left;
}

.fahrerFeature {
	text-align: center;
	font-size: 0.6em;
	min-width: 2.5em;
}

.tag,
.termin {
	text-align: center;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

#hinweisButton {
	display: inline-block;
}

.button {
	padding: .5em 1em;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0.5em;

	background: #002278;
	color: white;
	border: 0;
	width: 10em;
}

.button:hover {
	background: #0066dd;
	color: white;
	cursor: pointer;

}

#fahrerLoeschen,
#terminLoeschen {
	float: right;
	vertical-align: top;
}

#fahrerLoeschen:hover,
#terminLoeschen:hover {
	background: #FF6600;
}

.overlayHidden {
	display: none;
}

.overlay {
	border-radius: .1em;
	border: 1px solid;
	margin: 0;
	width: 22em;
	background-color: #eeeeee;
	position: -webkit-sticky;
	position: sticky;
	/*
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    */
}

#hinweisPopup {
	width: 30em;
}

#hinweistext {
	padding: .39em 1em;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0.5em;
}

#hinweistextaenderungszeit {
	font-size: 0.75em;
}


.modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0, 0, 0);
	background-color: rgba(0, 0, 0, 0.4);
}

#neuerFahrerForm,
#hinweisForm,
#terminForm div {
	/*
    display: inline-block;
    */
	padding: 0.5em;
}

.right {
	float: right;
	text-align: right;
}

.no_arrow_span {
	padding-left: 1.5em;
}

span.active {
	color: #002278;
	cursor: pointer;
}

.active {
	color: #002278;
	padding-left: 0.4em;
	padding-right: 0.4em;
	/*
    margin: -1px;
    border: 1px solid red;
    */
}

.active:hover,
.active:focus {
	color: #0066dd;
}

.close {
	display: block;
	/*
      line-height: 0.1em;
      font-size: 3em;
      padding: 0;
      color: #0088FF;
   */
	font-weight: bold;
	margin: 0;
}

.close span {
	float: right;
	font-size: 2em;
	padding-right: 0.5em;
	cursor: pointer;
}

.error {
	font-weight: bold;
	background-color: #ffff0044;
	color: #FF4444;
}

.dropdownContHover {
	border: 2px solid blue;
}

.dropdownCont {
	position: relative;
	display: inline-block;
	width: 50%;
	margin: -2px;
	padding: 0;
	cursor: pointer;
}

.dropdown {
	margin: 1px;
	display: block;
	bottom: 110%;
	position: absolute;
	/*
    top: -10em;
    height: 100%;
    height: 125%;

    border: 1px solid red;
     */
	z-index: 1;
}

.dropdownHeader {
	display: inline-block;
	position: absolute;
	right: 110%;
	top: 0;
	background-color: #eeeeee;
	border: 2px solid #B2B2B2;
	padding: 0.2em;
	min-width: 100%;
	font-weight: normal;
}

.dropdownOption {
	margin: 1px;
	border: 1px solid black;
	border-collapse: collapse;
	border-radius: .3em;
	font-weight: bold;
	padding: 0.2em;
}
.dropdownOption.frueh {
	text-align: left;
}
.dropdownOption.spaet {
	text-align: right;
}
.dropdownOption.yes.frueh {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #55FF55);
}
.dropdownOption.yes.spaet {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #55FF55);
}
.dropdownOption.yes:hover {
	background: #55FF55;
}
.dropdownOption.elsewhere_frueh {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #006600);
}
.dropdownOption.elsewhere.spaet {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #006600);
}
.dropdownOption.elsewhere:hover {
	background: #006600;
}
.dropdownOption.maybe.frueh {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #EEEE00);
}
.dropdownOption.maybe.spaet {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #EEEE00);
}
.dropdownOption.maybe:hover {
	background: #EEEE00;
}
.dropdownOption.no.frueh {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #CC0000);
}
.dropdownOption.no.spaet {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #CC0000);
}
.dropdownOption.no:hover {
	background: #CC0000;
}
.dropdownOption.noentry {
    font-weight: normal;
}
.dropdownOption.noentry.frueh {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #cdeeFF);
}
.dropdownOption.noentry.spaet {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #cdeeFF);
}
.dropdownOption.noentry:hover {
	background: #cdeeFF;
}


table.staticResourceTable,
td.resource {
	background-color: #d9e7f2;
	text-align: center;
	border-collapse: collapse;
	border: 1px solid #B2B2B2;

}

/*
col.resourceCol:nth-child(odd){
  background-color: rgba(0,0,0,0.05) ;
}
*/
.ampel {
	border-radius: 3px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	background-color: #787878;
}

.light {
	border: 0;
	border-radius: 50%;
	width: 0.8em;
	height: 0.8em;
	margin: 0.2em;
	padding: 0.2em;
}

.light_off {
	opacity: 0.2;
}

.light_on {
	box-shadow: 0 0 1px 1px;
	opacity: 1;
}

.light:hover {
	opacity: 1;
	cursor: pointer;
	box-shadow: 0 0 2px 3px rgba(255, 255, 255, 0.2);
}

.green {
	background-color: #33FF33BC;
	color: #33FF33BC;
}

.yellow {
	background-color: #EEEE00BC;
	color: #EEEE00BC;
}

.red {
	background-color: #CC0000BC;
	color: #CC0000BC;
}

.weatherblue {
	color: #1111FF;
}

.row_head {
	text-align: right;
	font-size: 0.85em;
}

.weather_tag {
	padding: 0;
}

img.weather_img {
	width: 1.5em;
	padding: 0;
	margin: 0;
}

.weather_grid {
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.prec_div:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.05) !important;
}

.weather_div {
	position: relative;
	display: inline-block;
	font-size: 0.8em;
}

.weathertext {
	font-weight: bold;
	font-size: 1em;
}

.weather_div .weathertext {
	visibility: hidden;
	background-color: black;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	border-radius: 6px;
	position: absolute;
	z-index: 1;

	width: 280px;
	bottom: 100%;
	left: 50%;
	margin-left: -140px;
}

.weather_div:hover .weathertext {
	visibility: visible;
}

.weather_div .weathertext::after {
	content: " ";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.weather_link, .extra_link {
    padding-left: 1em;   
}

.weather_link:hover, .extra_link:hover {
	color: #0066dd;
	cursor: pointer;
}

.counter_row {
	border-style: none;
	background: #dddddd;
}
.counter_grid {
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.counter_val {
	position: relative;
	display: inline-block;
	font-weight: bold;
	font-size: 0.6em;
}

.row_number {
    text-align: center;
    font-size: 0.5em;   
}

.input_grid {
    width: fit-content;
    display: grid;
    align-items: start;
    grid-template-columns: 2fr 1fr;

}
.input_grid label{
    font-weight: bold;
}
.input_grid label,legend {
    width: fit-content;
    grid-column: 1 span 2;
}
.input_grid .input_div {
    text-align: end;
    grid-column: 3;
    /*align-self: end;*/

}

#captcha_label {
    font-weight: normal;
}
