/*
  Copyright 2018 - 2024 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;
        background-color: #eeeeee;
}

#motto {
        border: 0.1em dashed #424242;
        color: #424242;
        font-size: 1.2em;
        font-weight: bold;
        transform: rotate(-20deg);
        vertical-align: top;
        width: fit-content;
        text-align: center;
        font-family: monospace;
        padding: 4px;
}

.h_img {
	grid-area: h_img;
        margin-right: 10px;
}

.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 {
	position: relative;
}

.header_div img {
	width: 5em;
}

#legendeTable,
#legendeTable th {
        border-collapse: collapse;
	border: 1px solid #B2B2B2;
	background-color: #eeeeee;
}

.x_scrollable {
        position: relative;
        max-height:  80vh;
        max-width: max-content;
        overflow: scroll;
	/*border: 1px solid red;
          width: 300px;
         */
        
}
/*
#datum-header-2 {
        float: right;
}
*/

table.bereitschaftTable {
        border-collapse: separate;
	text-align: center;
        border-spacing: 0;
}

table.bereitschaftTable td,
table.bereitschaftTable th {
        white-space: nowrap;
        height: 25px;
	font-weight: normal;
        /*box-sizing: border-box;*/
        border-bottom: 1px solid #B2B2B2;
        border-right: 1px solid #B2B2B2;
}

table.bereitschaftTable tr:first-child td, table.bereitschaftTable tr:first-child th {
        top: 0;
        position: sticky;
        z-index: 1;
        background-color: #d9e7f2;
}
table.bereitschaftTable tr.terminzeile td, table.bereitschaftTable tr.terminzeile th {
        top: 29px;
        position: sticky;
        z-index: 1;
        background-color: #eeeeee;
}

/* 2 bzw 4 Zellen links oben immer sticky*/
#datum-header-1, #datum-header-2 {
        position: sticky;
        z-index: 4;
        background-color: #d9e7f2;
}
#termin-header-1, #termin-header-2 {
        position: sticky;
        z-index: 4;
	background-color: #eeeeee;
}

table.column_shrinking #datum-header-1,
table.column_shrinking #datum-header-2 {
	background-color: #9aa8b3;
}

table.column_shrinking #termin-header-1,
table.column_shrinking #termin-header-2 {
	background-color: #bbbbbb;
}
table.bereitschaftTable tr:first-child td,
table.bereitschaftTable tr:first-child th {
        border-top: 1px solid #B2B2B2;
}

table.bereitschaftTable td:first-child,
table.bereitschaftTable th:first-child {
        border-left: 1px solid #B2B2B2;
}

.column_shrinking td:nth-child(2),
.column_shrinking th:nth-child(2) {
        max-width:50px;
        text-overflow: ellipsis;
        overflow: hidden;
	font-size: 0.85em;
}
table.bereitschaftTable td:nth-child(1),
table.bereitschaftTable th:nth-child(1) {
        min-width:23px;
        position: sticky;
        left: 0px;
        z-index: 2;
}
table.bereitschaftTable td:nth-child(2),
table.bereitschaftTable th:nth-child(2) {
        position: sticky;
        left: 27px;
        z-index: 2;
}

/*Zeilen einfärben, damit Zellen per JS eingefärbt und darüber liegend
  einen Gradientenübergang transparent aus dem Hintergrund anzeigen*/
table.bereitschaftTable tr:nth-child(even),
table.bereitschaftTable tr:nth-child(even) {
	background-color: #eeeeee ;
}

table.bereitschaftTable tr:nth-child(odd),
table.bereitschaftTable tr:nth-child(odd) {
	background-color: #d9e7f2;
}
/*Jeweils die ersten zwei Zellen einfärben (werden nicht per JS
  gesteuert), damit sie beim scrollen sticky im Vordergrund
  bleiben und die darunter gescrollten Zellen verdecken.*/
table.bereitschaftTable tr:nth-child(even)>td:nth-child(-n+2),
table.bereitschaftTable tr:nth-child(even)>th:nth-child(-n+2) {
	background-color: #eeeeee;
}

table.bereitschaftTable tr:nth-child(odd)>td:nth-child(-n+2),
table.bereitschaftTable tr:nth-child(odd)>th:nth-child(-n+2) {
	background-color: #d9e7f2;
}
/*Die geschrumpften Zellen etwas dunkler anzeigen #aaaaaa #8997a2*/
table.column_shrinking tr:nth-child(even)>td:nth-child(-n+2),
table.column_shrinking tr:nth-child(even)>th:nth-child(-n+2) {
	background-color: #bbbbbb;
}
table.column_shrinking tr:nth-child(odd)>td:nth-child(-n+2),
table.column_shrinking tr:nth-child(odd)>th:nth-child(-n+2) {
	background-color: #9aa8b3;
}

legend {
	width: 100%;
}

fieldset {
	border: 0;
}

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

.fahrerDiv {
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
}

.termin:hover,
.bereitschaft:hover {
	cursor: pointer;
}

.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;
        border-radius: 5px;
        white-space: nowrap;
        background:#114E94;
	color: white;
	border: 0;
	min-width: 8em;
}

.button:hover {
	background: #0066dd;
	color: white;
	cursor: pointer;
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}

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

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

.overlayHidden {
	display: none;
}

.overlay {
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
        border-radius: 10px;
	margin: 1em;
 	display: inline-block;
  	background-color: #eeeeee;
	position: -webkit-sticky;
	position: sticky;
}

#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: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0,0.2);
}

#neuerFahrerForm,
#hinweisForm,
#terminForm {
	padding: 0.5em;
}

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

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

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

.sorting,.active:hover,
.sorting,.active:focus {
	color: #002278;
}

.close {
	display: block;
	margin: 0;
}

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

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

#errorPopup {
	padding: 1em;
	border: 2px solid red;
        position: sticky;  	
        top:10%;
        left:10%;
}

.dropdownActive {
        background: linear-gradient(90deg, rgba(0, 0, 0, 0),rgba(0, 0, 0,0.1),  rgba(0, 0, 0, 0.2));
}
.dropdownActive::after {
	content: " ";
	position: absolute;
        left: 17px;
        top: 2px;
	border-width: 10px;
	border-style: solid;
	border-color: transparent #eeeeee transparent transparent ;
        z-index: 5;
}


.timeslots {
	display: flex;		
 	padding: 0;
	margin: 0;
        height: 100%;        
}
.dropdownCont {
        position: relative;
 	flex: 1 1 100px;	
	padding: 0;
	margin: 0;
	cursor: pointer;
}

/*
.dropdownCont:hover {
        transform: translate(-5%, -5%);
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.dropdownCont:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.025) !important;
}
*/

.dropdown {
	display: inline-block;
	position: absolute;
        top: -1em;
        left: 36px;
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
        border-radius: 10px;
	background-color: #eeeeee;
	z-index: 5;
}
.dropdownTitle {
	padding: 0.5em;
        white-space: nowrap;
	color: #424242;
}
.dropdownHeader {
        white-space: nowrap;
	color: #424242;
}
.dropdownHeader {
	display: block;
	position: absolute;
	top: 0;
	left: 105%;
	z-index: 5;
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
        border-radius: 10px;
        text-align:left;
	background-color: #eeeeee;
	padding: 0.5em;
	font-weight: normal;
}

.dropdownOption {
        border-radius: 8px;
	border: 1px solid #B2B2B2;
        margin: 8px;
        white-space: nowrap;
	font-weight: bold;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
.dropdownOption.early {
	text-align: left;
}
.dropdownOption.late {
	text-align: right;
}
.dropdownOption.midday {
	text-align: center;
}
.dropdownOption.yes.early {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #55FF55);
}
.dropdownOption.yes.midday {
	background: linear-gradient(270deg, #EEEEEE, #55FF55, #EEEEEE);
}
.dropdownOption.yes.late {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #55FF55);
}
.dropdownOption.yes:hover {
	background: #55FF55;
}
.dropdownOption.elsewhere.early {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #157587);
}
.dropdownOption.elsewhere.midday {
	background: linear-gradient(270deg, #EEEEEE, #157587, #EEEEEE);
}
.dropdownOption.elsewhere.late {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #157587);
}
.dropdownOption.elsewhere:hover {
	background: #157587;
}
.dropdownOption.maybe.early {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #EEEE00);
}
.dropdownOption.maybe.midday {
	background: linear-gradient(270deg, #EEEEEE, #EEEE00, #EEEEEE);
}
.dropdownOption.maybe.late {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #EEEE00);
}
.dropdownOption.maybe:hover {
	background: #EEEE00;
}
.dropdownOption.no.early {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #CC0000);
}
.dropdownOption.no.midday {
	background: linear-gradient(270deg, #EEEEEE, #CC0000, #EEEEEE);
}
.dropdownOption.no.late {
	background: linear-gradient(90deg, #EEEEEE, #EEEEEE, #CC0000);
}
.dropdownOption.no:hover {
	background: #CC0000;
}
.dropdownOption.noentry {
        font-weight: normal;
}
.dropdownOption.noentry.early {
	background: linear-gradient(270deg, #EEEEEE, #EEEEEE, #cdeeFF);
}
.dropdownOption.noentry.midday {
	background: linear-gradient(270deg, #EEEEEE, #cdeeFF, #EEEEEE);
}
.dropdownOption.noentry.late {
	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;
}

.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_head {
        font-weight: normal;
        height: 80px;
}

.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: #444466;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	border-radius: 6px;
	position: absolute;
	z-index: 6;

	width: 280px;
	bottom: 100%;
	left: -80%;
}

.weather_div:hover .weathertext {
	visibility: visible;
        box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}

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

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

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

.counter_grid {
	padding: 0;
	margin: 0;
	display: flex;
	flex-flow: column;	
}
.counter_line {
	display: flex;
	flex: 1 1 auto;
}
.counter_back {
	position: relative;
	display: inline-block;
	flex: 1 1 auto;
}
.counter_val {
	font-size: 90%;
        background: inherit;
        background-clip: text;
        color: transparent;
        filter: invert(1) grayscale(1) contrast(5);
}

.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 legend {
	color: #424242;
}
.input_grid label,legend {
        width: fit-content;
        grid-column: 1 / span 2;
}
.input_grid textarea {
        grid-column: 1 / span 3;
}
.input_grid .input_div {
        text-align: end;
        grid-column: 3;
}
.input_grid .popup_buttons {
        grid-column: 1 / span 3;
}
#captcha_label {
        font-weight: normal;
}

.sorting .sort_symbol {
        color: #002278;
}

.sort_symbol {
        color: #00227845;
}
