html {
	background:      #FFFFFF;
	overflow:        scroll;
	scroll-behavior: smooth;
}

body {
	padding:     1rem;
	font-family: Verdana, Geneva, Arial, sans-serif;
	line-height: 1.5;
	margin:      0 auto;
	max-width:   100em;
	background:  #f2f2f2;
}


main { /* FÜR IE 10+11 */
	display:  block;
}

h2, h3 {
	color: #004080;
}

h2 {

}

abbr[title] {
	cursor:          help;
	text-decoration: none;
}

a:link    { color: #005ab3; }
a:visited { color: #004080; }
a:focus   { color: #004080; }
a:hover   { color: #000000; }
a:active  { color: #004080; }

.print { display: none; }

@media print {
	.print { display: inline; }
}

ul {
	list-style: square;
}

button {
	cursor: pointer;
}

/* TEXT */

.textmittig {
	text-align: center !important;
}

.textrechts {
	text-align: right !important;
}

.textlinks {
	text-align: left !important;
}

.textstrong {
	font-weight: bolder !important;
}
.textgross {
	font-size: 150% !important;
}
.textindent {
	margin-left: 1rem !important;
}

/* TABELLEN */

table {
	border-collapse: collapse;
	background:      #ebebeb;
	margin-bottom:   0.5rem;
}

table thead {
	
}

table thead tr {
	border-bottom: 1px solid #004080;
	border-left:   1px solid #004080;
	border-right:  1px solid #004080;
}

table thead th {
	background:    #004080;
	color:         #FFFFFF;
	font-weight:   bolder;
	text-align:    center;
	border-bottom: 1px solid #CDCDCD;
	padding:       0.7rem 0.3rem;
}

table tbody {
	
}
table tbody tr {
	border-bottom: 1px solid #CDCDCD;
	border-left:   1px solid #CDCDCD;
	border-right:  1px solid #CDCDCD;
	background:    #ebebeb;
}
table tbody td {
	padding: 0.3rem 0.3rem;
}

table tfoot {
	
}
table tfoot tr {
	background: #004080;
	color:      #FFFFFF;
	border-top: 1px solid #FFFFFF;
}
table tfoot td {
	padding: 0.3rem 0.3rem;
}

/* REPORT */

form.report-form fieldset {
	border:  3px solid #004080;
	padding: 0;
}

form.report-form fieldset legend {
	font-weight: bolder;
	font-size:   larger;
	background:  #004080;
	color:       #FFFFFF;
	display:     block;
	padding:     1rem;
}

form.report-form fieldset legend span.report-close {
	display: inline-block;
	float:   right;
}

form.report-form fieldset legend span.report-close a {
	text-decoration: none;
	color:           #FFFFFF;
	display:         inline-block;
	width:           1.5rem;
	height:          1.5rem;
	text-align:      center;
	line-height:     1.3;
}

form.report-form fieldset legend span.report-close a:hover {
	background:    #FFFFFF;
	color:         #004080;
	border-radius: 1rem;
}


form.report-form fieldset div.report-fs-outer{
	background: #A6CEE3;
	padding-bottom: 1rem;
	
}
form.report-form fieldset div.report-fs-outer div {
	padding:    0 1rem;
}

form.report-form fieldset div.report-fs-outer div * {
	display: inline-block;
}

form.report-form fieldset div.report-fs-outer div label {
	width:          12rem;
	vertical-align: top;
	padding:        0.3rem;
	font-weight:    bolder;
}

form.report-form fieldset div.report-fs-outer div textarea,
form.report-form fieldset div.report-fs-outer div input {
	padding:    0.3rem;
	background: #FFFFFF;
	border:     1px solid #004080;
	width:      30rem;
}

form.report-form fieldset div.report-fs-outer div textarea {
	height: 5rem;
}


form.report-form fieldset div.report-fs-outer div input.element-nurlesen,
form.report-form fieldset div.report-fs-outer div textarea.element-nurlesen {
	background: #CDCDCD;
	color:      #666666;
}

form.report-form button {
	background:    #004080;
	color:         #FFFFFF;
	padding:       0.5rem 1rem;
	cursor:        pointer;
	border-bottom: 1px solid #FFFFFF;
	border-right:  1px solid #FFFFFF;
	border-radius: 5px;
}

/* MELDUNGEN */

pre.message-debug {
	background: #ffbf00;
	border:     3px solid #333333;
	padding:    0.5rem;
	margin:     0.5rem 0 1rem 0rem;
}
pre.message-debug span.message-debug-titel {
	background:  #333333;
	color:       #ffbf00;
	font-weight: bolder;
	display:     block;
	padding:     0.5rem;
	margin:      -0.5rem;
}

pre.message-error {
	font-wight: bolder;
	background: #ffbfbf;
	border:     3px solid #b30000;
	padding:    0.5rem;
	margin:     0.5rem 0;
}
pre.message-error span.message-error-titel {
	background:  #b30000;
	color:       #fff2f2;
	font-weight: bolder;
	display:     block;
	padding:     0.5rem;
	margin:      -0.5rem;
}

p.message {
	padding:           1rem;
	margin:            0.5rem 0;
	border:            3px solid #333333;
	border-left-width: 1rem;
	background-color:  #DADADA;
	color:             #333333;
	font-weight:       bolder;
}

p.message-ok {
	background:   #dfffbf;
	border-color: #008c23;
}

p.message-error {
	background:   #ffbfbf;
	border-color: #b30000;
}

p.message-info {
	background:   #a6cee3;
	border-color: #004080;
}


/* HEADER */

header {
	background:      #004080;
	color:           #FFFFFF;
	padding:         1rem;
	margin:          -0.5rem -0.5rem 1rem -0.5rem;
	display:         -moz-box;
	display:         -ms-flexbox;
	display:         -webkit-flex;
	display:         flex;
	flex-wrap:       wrap;
	flex-direction:  row;
	justify-content: space-between;
	align-items:     flex-end;
}

header h1 {
	margin: 0;
	color:  #FFFFFF;
}

header h1 a {
	text-decoration: none;
	color:           #FFFFFF !important;
}

header p {
	padding: 0;
	margin:  0;
}

header aside#header-titel {}

/* SPRACHAUSWAHL */

header aside#header-sprache {}

form.sprachen-auswahl-form {}

form.sprachen-auswahl-form * {
	display:     inline-block;
	margin:      0;
	padding:     0;
	border:      0;
	line-height: 1.3;
}
form.sprachen-auswahl-form fieldset.sprachen-auswahl-gruppe {
	
}
form.sprachen-auswahl-form select.sprachen-auswahl-liste {
	background: #FFFFFF;
}
form.sprachen-auswahl-form button.sprachen-auswahl-button {
	background:  #004080;
	color:       #FFFFFF;
	border-left: 1px solid #004080;
}

form.sprachen-auswahl-form button.sprachen-auswahl-button:hover {
	background:  #A6CEE3;
	color:       #000000;
}


/* FOOTER */

footer {
	background: #004080;
	color:      #FFFFFF;
	padding:    0.5rem 1rem;
	margin:     1rem -0.5rem -0.5rem -0.5rem;
}

footer a:link    { color: #FFFFFF; }
footer a:visited { color: #FFFFFF; }
footer a:focus   { color: #CDCDCD; }
footer a:hover   { color: #000000; }
footer a:active  { color: #CDCDCD; }

footer aside.footer-navigation {
	display:         -moz-box;
	display:         -ms-flexbox;
	display:         -webkit-flex;
	display:         flex;
	justify-content: space-between;
	align-items:     flex-start;
	flex-direction:  row;
}
footer aside.footer-navigation > nav {
	
}

footer aside.footer-navigation nav ul {
	margin-bottom: 0;
}

/* COOKIEBANNER */

form.cookie-banner-form {
	position:   fixed;
	bottom:     1rem;
	margin:     0 auto;
	left:       1rem;
	right:      1rem;
	z-index:    9999;
	min-height: 2rem;
}


form.cookie-banner-form fieldset.cookie-banner {
	background: #a6cee3;
	border:     10px solid #004080;
	position:   relative;
}

form.cookie-banner-form a.cookie-banner-close {
	position:        absolute;
	text-align:      center;
	display:         block;
	top:             -1rem;
	right:           -1rem;
	width:           1.5rem;
	height:          1.5rem;
	background:      #004080;
	color:           #FFFFFF;
	border-radius:   1rem;
	text-decoration: none;
}
form.cookie-banner-form a.cookie-banner-close:hover {
	background: #a6cee3;
	color:      #004080;
}

form.cookie-banner-form fieldset.cookie-banner div.cookie-banner {
	display:         -moz-box;
	display:         -ms-flexbox;
	display:         -webkit-flex;
	display:         flex;
	flex-direction:  row;
	justify-content: space-between;
	align-items:     flex-start;
}

form.cookie-banner-form fieldset.cookie-banner p,
form.cookie-banner-form fieldset.cookie-banner button {
	margin:      0.5rem;
	padding:     0.5rem;
	font-size:   larger;
	font-weight: bolder;
}

form.cookie-banner-form fieldset.cookie-banner p a {
	color: #004080;
}

form.cookie-banner-form button.cookie-banner-button {
	border:     1px solid #FFFFFF;
	background: #004080;
	color:      #FFFFFF;
}

form.cookie-banner-form button.cookie-banner-button:hover {
	background:   #FFFFFF;
	color:        #004080;
	border-color: #004080;
}

/* SCHNELLNAVIGATION */

@media (min-width: 680px) {
	nav#schnellnavigation {
		position:   -webkit-sticky;
		position:   sticky;
		top:        0;
		background: #f2f2f2;
		z-index:    999;
	}
}

nav#schnellnavigation ul {
	overflow:   hidden;
	list-style: none;
	padding:    0;
}

nav#schnellnavigation ul li {
	float:   left;
	padding: 0;
}
nav#schnellnavigation ul li a {
	display:         inline-block;
	text-align:      center;
	margin:          0.1rem 0.1rem;
	padding:         0.3rem 0.3rem;
	background:      #004080;
	color:           #FFFFFF;
	text-decoration: none;
	border-radius:   5px;
}

nav#schnellnavigation ul li a.schnellnavigation-block {
	width: 1.5rem;
}

nav#schnellnavigation ul li a:hover {
	background: #A6CEE3;
	color:      #000000;
}

/********************************/

.ui-dialog .ui-dialog-titlebar {
	background: #004080;
	color:      #FFFFFF;
}

#dialog {
	text-align: center;
}

/********************************/

a.button_da {
	background:      #ffbf00;
	color:           #000000;
	text-decoration: none;
	padding:         0.3rem;
	display:         inline-block;
	border-radius:   3px solid;
}

a.button_da:hover {
	background:  #b30000;
	color:       #fff2f2;
}
