
body {
	font-family: Verdana;
	font-size: 18px;
	background-color: #FFFFFF;
	margin: 0px;
	width: auto;
	overflow-wrap: break-word;
	height: 100%;
	min-height: 100%;
	display:flex; 
	flex-direction:column; 
	justify-content: flex-start;
}


form{
	margin: 0px;
}

/* layout elements */
.h1{
	display: inline-block;
	font-family: Verdana;
	font-size: 35px;
	margin-bottom: 5px;
}
.h2{
	display: inline-block;
	font-family: Verdana;
	font-size: 25px;
}
.h3{
	display: inline-block;
	font-family: Verdana;
	font-size: 20px;
}
.vspace{
	height: 10px;
	width: 100%;
}

.hline{
	height: 2px;
	width: 100%;
	background: #808080;
	margin-top: 10px;
	margin-bottom: 10px;
}

input, select, .button{
	max-width: 400px;
	width: 100%;
	height: 40px;
	border-radius: 4px;
	padding: 5px;
	font-size: 18px;
	font-family: Verdana;
	margin: 3px 0px 10px 0px;
	background-color: #dae5f4;
	border-color: #999999;
	border-width: 2px;
}

.form_error {
	border: 2px solid red;
	color: red;
}

/* Div for table with fixed header*/
.table_fixed_head          { overflow: auto; height: auto; max-height: 550px;}
.table_fixed_head thead th { position: sticky; top: 0; z-index: 1; }

/* default_table ist die blaue Tabelle */
.default_table{
	background: #4da6ff;
	font-size: 14px;
}
.default_table th{
	background: #4da6ff;
	height: 30px;
	font-size: 18px;
	text-align: left;
	padding: 5px;	
}
.default_table td{
	font-size: 18px;
	height: 25px;
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
}

/*  Define the background color for all the ODD background rows  */
.default_table tr:nth-child(odd){ 
	background: #b8d1f3;
}

/*  Define the background color for all the EVEN background rows  */
.default_table tr:nth-child(even){
	background: #dae5f4;
}

.default_button, input[type=submit],input[type=button],button{
	display: table-cell;
	background-color: #CCCCCC;
	border-radius: 4px;
	border-style: solid;
	border-color: #AAAAAA;
	border-width: 2px;
	vertical-align: middle;
	width: 150px;
	height: 50px;
	text-align: center;
	cursor: pointer;
	margin: 0px 0px 5px 0px;
	text-decoration: none; 
}
.default_button:link {text-decoration: none; color: #000000;}
.default_button:visited {text-decoration: none; color: #000000;}
.default_button:hover {text-decoration: none; color: #000000;}
.default_button:active {text-decoration: none; color: #000000;}
.default_button a {display: block; padding-top: 0px;}

.link_table{
	width: 100%;
	height: 50px;
}

.link_table_cell{
	display: table;
	margin-right: 10px; 
	display: inline-block;
	vertical-align: middle;
}

/* Page header */
.header_container{
	margin: 10px;
	margin-bottom: 0px; 
}
.header{
	height: 10%;
	max-height: 120px;
	min-height: 100px;
	width: 100%;
	vertical-align: top;
	margin: 0px;
}

.header_left{
	display: inline-block;
	text-align: right;
	max-width: 200px;
	width: 30%;
	height: 100%;
	background-image: url(/styles/logo.png);
	background-size: contain;
	background-repeat: no-repeat;
}

.header_caption{
	margin-left: 10px;
	display: inline-block;
	text-align: left;
	width: auto;
	height: 100%;
	vertical-align: top;
}
.header_right{
	display: inline-block;
	text-align: left;
	width: auto;
	height: 100%;
	vertical-align: top;
	float: right;
}

/* page footer */
.footer_container{
	text-align: left;    
	width: auto;
	min-height:50px;
	margin: 10px;
    margin-top: auto; 
    height: 50px;
}

.footer{ 
   text-align: left;    
   width: 100%;
}

/* page content */
.page_container{
	vertical-align: top;
	width: auto;
	height: auto;
	
	margin: 10px;
	margin-top: 0px; 
	margin-bottom: 0px; 
	
}
.page{
	width: 100%;
	vertical-align: top;
	overflow-y: hidden;
	white-space: nowrap;
}

.link_list{
	display: inline-block;
	text-align: right;
	width: 220px;
	background-color:rgba(125, 125, 125, 0.5);
	margin-right: 10px;
	padding-bottom: 500em;
	margin-bottom: -500em;
}

.link_list_caption{
	display: inline-block;
	text-align: left;
	width: 100%;
	height: 40px;
	float: left;
	font-size: 20px;
	padding-bottom: 500em;
	margin-bottom: -500em;
	margin-left: 5px;
	margin-top: 5px;
	margin-right: 5px;
}

.link_list_cell{
	display: inline-block;
	text-align: left;
	width: 150px;
	height: auto;
	float: left;
	margin-bottom: 5px;
	margin-left: 5px;
	margin-right: 5px;
}

.hint_box{
	color: blue;
	font-family: Verdana;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.content{
	display: inline-block;
	text-align: left;
	width: auto;
	min-width: 400px;
	height: auto;
	vertical-align: top;
}

.content_title{
	display: inline-block;
	font-family: Verdana;
	font-size: 25px;
	margin-bottom: 20px;
}

/* horizonale Formulare */
.horz_form_row{
	width: 100%;
}

.horz_form_cell{
	margin-right: 10px; 
	display: inline-block;
}
.map{
	border-radius: 4px;
	border-style: solid;
	border-color: #AAAAAA;
	border-width: 2px;
}

/* Error page  */
.error_container{
	height: auto;
	min-height: 150px;
	width: 100%;
	margin: 0px;
}

.error_left{
	display: inline-block;
	text-align: right;
	width: 150px;
	height: 150px;
	background-image: url(/images/warning.svg);
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 10px; 
}

.error_right{
	display: inline-block;
	text-align: left;
	width: auto;
	height: 20%;
	vertical-align: top;
}
.error_title{
	display: inline-block;
	font-family: Verdana;
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: bold;
}
/* Logged in page */
.login_img{
	display: inline-block;
	text-align: right;
	max-width: 150px;
	width: 20%;
	height: 50%;
	max-height: 150px;
	background-image: url(/images/ok.svg);
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 10px; 
}