/*
Farben
blau: #152a5a, #2b4073, #485d8d
grau: #bbb, #ccc, #ddd
*/

@font-face {
	font-family: TSL;
	src: url("/javax.faces.resource/font/TSLPlain.otf.xhtml") format('opentype');
}

@font-face {
	font-family: TSL;
	font-weight: bold;
	src: url("/javax.faces.resource/font/TSLBold.otf.xhtml") format('opentype');
}

/*
@font-face {
	font-family: TSL;
	font-style: italic;
	src: url("/javax.faces.resource/font/TSLItalic.otf.xhtml") format('opentype');
}
*/

html {
	height: 100%;
}

body {
	margin: 0;
	min-height: 1px;
	font-size: .75rem;
	--bs-body-font-family: Arial, Helvetica, sans-serif;
	-webkit-print-color-adjust: exact;
}


h1 {
	font-size: 1.27rem;
	font-weight: 700;
	margin-top: .75rem;
	margin-bottom: .62rem;
}

h2 {
	font-size: 0.97rem;
	font-weight: 700;
	margin-top: .62rem;
	margin-bottom: .5rem;
}

h3, h4 {
	font-size: 0.9rem;
	margin-top: .62rem;
	margin-bottom: .37rem;
}

h1, h2, h3, h4 {
	font-family: TSL, Arial, Helvetica, sans-serif;
	color: #152a5a;
}


a {
	font-weight: bold;
	text-decoration: none;
	color: #2b4073;
}

img {
	border: 0;
}

.forminput {
	margin-left: 5px;
}

.forminput label {
	float: left;
	margin-right: 10px;
	margin-top: 6px;
}

.formvalue {
	float: left;
	margin-top: 6px;
	margin-right: 20px;
	font-weight: bold;
}


.inputgroup .formvalue.small {
	margin-right: 140px;
}

.inputgroup .formvalue.small input {
	width: 86px;
}

.inputgroup .formvalue.small-nomargin input {
	width: 86px;
}

.inputgroup .formvalue.large input {
	width: 400px;
}

.inputgroup.fixed-width-1 label {
	width: 60px;
}

.inputgroup.fixed-width-2 label {
	width: 120px;
}

.inputgroup.fixed-width-3 label {
	width: 180px;
}

.inputgroup.fixed-width-4 label:first-child {
	width: 240px;
}

.inputgroup.fixed-width-99 label {
	width: 600px;
}

.formvalue .formunit {
	float: left;
	margin-left: 5px;
	margin-top: 2px;
	font-weight: normal;
}

input, textarea {
	-webkit-border-radius: 0;
}

textarea {
	font-size: .82rem;
}


input[type=submit], input[type=button], input[type=reset] {
	min-width: 100px;
	margin-right: 10px;
	margin-bottom: 5px;
	padding: 8px 8px 1px;
	line-height: 20px;
	border: 0;
	color: #fff;
	font-family: TSL, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	cursor: pointer;
	background-color: #152a5a;
}


input[type=submit]:focus, input[type=button]:focus, input[type=reset]:focus {
	outline: 0;
}

input[type=submit].smallButton, input[type=button].smallButton, input[type=reset].smallButton {
	min-width: 75px;
	padding-top: 6px;
	padding-left: 8px;
	padding-right: 8px;
	margin-top: 3px;
	margin-right: 8px;
	font-size: .82rem;
}


input[type=submit]:disabled, input[type=button]:disabled, input[type=reset]:disabled {
	background-color: #2b4073;
	cursor: wait;
}

input[type=submit]:hover:enabled, input[type=button]:hover:enabled, input[type=reset]:hover:enabled {
	background-color: #2b4073;
}

input[type=submit]:active:enabled, input[type=button]:active:enabled, input[type=reset]:active:enabled  {
	background-color: #485d8d;
}

input[type=checkbox] {
	margin-right: 5px;
}

input[type=checkbox] + label {
	margin-top: 0;
}

div.radiogroup {
	margin-top: 6px;
	float: left;
}

div.radiogroup label {
	width: auto;
	margin-top: 0;
	cursor: pointer;
}

/*
div.radiogroup.autowidth label {
	width: auto;
}
*/

div.radiogroup input[type=radio] {
	margin-top: 0;
	margin-left: 0;
	margin-right: 8px;
	cursor: pointer;
}


#menu-lauftext {
	position: relative;
	top: 52px;
	height: 22px;
	padding: 5px 3px 3px 0;
	white-space: nowrap;
	overflow: hidden;
	background-color: #fff;
}

#lauftext-text {
	text-align: left;
	font-size: .87rem;
	font-weight: bold;
	color: #152a5a;
	animation: lauftext 50s linear infinite;
	cursor: grab;
}

@keyframes lauftext {
	0%   { transform: translate(0); }
	100% { transform: translate(-100%); }
}

#menu-lauftext:hover #lauftext-text {
	animation-play-state: paused;
}


.contentframe {
	position: relative;
	top: 80px;
	--bs-gutter-x: 0;
}

.content {
	float: left;
	max-width: 772px;
	padding-bottom: 50px;
	margin-right: 10px;
	padding-left: 8px;
}

.content-admin {
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 50px;
}

#leftmargin {
	float: left;
	width: 168px;
	margin-top: 24px;
	margin-left: 8px;
}

footer {
	position: fixed;
	bottom: 10px;
	width: 100%;
	padding: 3px 0;
	color: #fff;
	border: 1px solid #fff;
	border-left: 0;
	border-right: 0;
	background-color: #152a5a;
}

footer .footer-middle {
	text-align: center;
}

footer .footer-middle span.hidden {
	padding-left: 10px;
	padding-right: 10px;
	color: #152a5a;
}

footer a#supportlink {
	white-space: nowrap;
	font-weight: bold;
	color: #fff;
	text-decoration: underline;
}

.inputgroup {
	float: left;
}

.inputgroup + .inputgroup {
	margin-left: 25px;
}

.inputgroup input[type="text"], input[type="password"] {
	width: 210px;
}

.forminput input, .forminput select {
	float: left;
	margin-bottom: 6px;
}

.forminput br {
	clear: left;
}

.forminput input.small {
	width: 86px;
}

table.ui-datepicker-calendar td > a.ui-state-default {
	background-color: #bbb;
	color: #152a5a;
}

table.ui-datepicker-calendar td > a.ui-state-default.ui-state-hover {
	background-color: #ddd;
	color: #2b4073;
}

table.ui-datepicker-calendar td.ui-datepicker-current-day > a.ui-state-default {
	font-weight: bold;
	background-color: #ccc;
	color: #485d8d;
}

td.ui-datepicker-today > a.ui-state-default {
	color: #152a5a;
	background-color: #ccc;
}

.ui-datepicker-header a.ui-datepicker-prev-hover {
	top: 2px;
	left: 2px;
	background-color: transparent;
}

.ui-datepicker-header a.ui-datepicker-next-hover {
	top: 2px;
	right: 2px;
	background-color: transparent;
}

.ui-datepicker .ui-datepicker-header .ui-icon-circle-triangle-e,
.ui-datepicker .ui-datepicker-header .ui-icon-circle-triangle-w {
	background-image: url("/javax.faces.resource/js/jquery-ui/images/ui-icons_ffffff_256x240.png.xhtml");
}

td.ui-datepicker-unselectable > span.ui-state-default {
	color: #152a5a;
}

table.ui-datepicker-calendar td.ui-datepicker-unselectable > span.ui-state-default {
	color: #ccc;
	background-color: #666;
}

.ui-datepicker-trigger {
	float: left;
	margin-left: 5px;
}

.hasDatepicker {
	width: 80px;
}


.warning a {
	color: #c76e00;
}

.warning {
	color: #c76e00;
	font-weight: bold;
	text-decoration: none;
}

.error a {
	color: #e00;
}

.error {
	color: #e00;
	font-weight: bold;
	text-decoration: none;
}

.info {
	font-weight: normal;
	text-decoration: none;
	color: #485d8d;
}

.greenmsg {
	color: #080;
	font-weight: bold;
	text-decoration: none;
}


.tabletext {
	white-space: nowrap;
}


table.dataTable {
	border-collapse: separate;
}

table.dataTable th {
	padding: 5px;
	white-space: nowrap;
	text-align: left;
	background-color: #efefef;
}

table.dataTable td {
	min-width: 105px;
	padding: 5px;
}

table.dataTableSlim {
	border-collapse: separate;
}

table.dataTableSlim th,
table.datatable-inline th {
	min-width: 60px;
	padding: 2px 5px;
	white-space: nowrap;
	text-align: left;
	background-color: #efefef;
}

table.dataTableSlim td,
table.datatable-inline td {
	padding: 1px 5px;
}

table.dataTableSlim td input[type=image],
table.datatable-inline td input[type=image] {
	margin-bottom: 0;
}

table.datatable-inline {
	min-width: 300px;
	border-collapse: separate;
}

.evenRow {
	background-color: #f4f4f4;
	cursor: pointer;
}
.oddRow {
	background-color: #fff;
	cursor: pointer;
}

.evenRowNoPointer {
	background-color: #f4f4f4;
}
.oddRowNoPointer {
	background-color: #fff;
}

.nodisplay {
	display: none;
}

.nobreak {
	white-space: nowrap;
}

.rightalign {
	text-align: right;
}

.rightalign-nobreak {
	text-align: right;
	white-space: nowrap;
}

.centeralign {
	text-align: center;
}

.topalign {
	vertical-align: top
}

.smalltext {
	font-size: 0.7rem;
}

div.messages {
	margin: 20px 0 10px 10px;
}

div.messages > ul {
	padding-left: 10px;
}

div.buttons {
	margin-top: 40px;
	margin-bottom: 10px;
}


.uploadField {
	position: relative;
	-moz-opacity: 0;
	filter: alpha(opacity: 0);
	opacity: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.uploadArea {
	position: relative;
	background-color: #2b4073;
	width: 250px;
	height: 100px;
	text-align: center;
}

.uploadArea.pulse {
	background-color: #485d8d;
}

.uploadArea p {
	position: absolute;
	top: 30px;
	color: #fff;
	font-weight: bold;
}

.fakeLink {
	cursor: pointer;
	font-weight: bold;
	color: #2b4073;
}


.mandatoryMarker {
	float: left;
	width: 16px;
	height: 16px;
	margin-left: 5px;
	display: inline-block;
	cursor: default;
}

.mandatoryMarker.empty {
	background-image: url("/javax.faces.resource/img/exclamation.png.xhtml");
}

.mandatoryMarker.filled {
	background-image: url("/javax.faces.resource/img/accept.png.xhtml");
}


div.textinputblock {
	float: left;
	margin-right: 10px;
	max-width: 50%;
	white-space: pre-line;
}


/* home */

#tiles > a.tile.highlight > h1 {
	color: #2b4073;
}

#tiles > a.tile.highlight > p {
	color: #2b4073;
}

.tile h1 {
	color: #152a5a;
}

.tile p {
	color: #152a5a;
}


/* wizard */

td.myFaces_panelTabbedPane_activeHeaderCell.tabactive {
	background-color: #2b4073;
}

td.myFaces_panelTabbedPane_inactiveHeaderCell.tabinactive {
	background-color: #152a5a;
}

td.myFaces_panelTabbedPane_inactiveHeaderCell.tabinactive > input[type=submit]:hover {
	background-color: #2b4073;
}

tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_activeHeaderCell input {
	color: #152a5a;
}

tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_inactiveHeaderCell:hover {
	background-color: #2b4073;
}

tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_inactiveHeaderCell,
tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_inactiveHeaderCell input,
tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_inactiveHeaderCell label,
tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_disabledHeaderCell,
tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_disabledHeaderCell input,
tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_disabledHeaderCell label {
	background-color: #152a5a !important;
}

tr.myFaces_pannelTabbedPane_HeaderRow td.myFaces_panelTabbedPane_disabledHeaderCell label {
	white-space: nowrap;
	font-weight: bold;
}


/* accordion */

div#accordionBlock div.accordionHeader {
	color: #152a5a;
}

div#accordionBlock div.accordionHeader.ui-state-hover {
	color: #2b4073;
}

div#accordionBlock div.accordionHeader.ui-state-active {
	color: #2b4073;
}

div#accordionBlock div.ui-state-hover div.announceHeadline {
	color: #2b4073;
}

div#accordionBlock div.ui-state-active div.announceHeadline {
	color: #2b4073;
}

div#accordionBlock div.announceHeadline a {
	color: #152a5a;
}

div#accordionBlock div.ui-state-active div.announceHeadline a {
	color: #2b4073;
}

div#accordionBlock div.ui-state-hover div.announceHeadline a {
	color: #2b4073;
}

div#accordionBlock div span.ui-icon {
	background-image: url("");
}

div#accordionBlock div.ui-state-hover span.ui-icon {
	background-image: url("");
}

div#accordionBlock div.ui-state-active span.ui-icon {
	background-image: url("");
}


/* Popup (jQuery-UI-Dialog) */

div.ui-widget-header {
	background-color: #152a5a;
}

div.ui-widget-header span.ui-dialog-title {
	color: #fff;
}

.ui-widget-header .ui-dialog-titlebar-close {
	background-image: url("/javax.faces.resource/js/jquery-ui/images/ui-icons_555555_256x240.png.xhtml");
	background-position: -96px -128px;
}


/* suchergebnis */

#thisForm\:datatable .resheader > a {
	color: #152a5a;
}

#thisForm\:datatable a.sortRowHeader {
	color: #2b4073;
}

tr.selectRow {
	background-color: #485d8d;
	color: #fff;
}

#reportline {
	text-align: left;
	margin-left: 5px;
	margin-top: 5px;
	color: #152a5a;
	font-weight: bold;
	font-size: 1.2rem;
}

.flowtext {
	color: #000000;
}


/* Verstecke Schließen-Button auf modalen Dialogen (JQuery UI) */
.dialog-no-close .ui-dialog-titlebar-close {
	display: none;
}

/* grauer Hintergrund für modale Dialoge*/
.ui-widget-overlay.ui-front {
	opacity: 0.3;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: none;
	text-align: center;
}

.ui-dialog .ui-dialog-buttonset button {
	min-width: 100px;
	margin-bottom: 5px;
	margin-left: 10px;
	padding: 8px 8px 1px;
	line-height: 20px;
	border: 0;
	color: #fff;
	font-family: TSL, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	background-color: #152a5a;
}


.loginsperre-login {
	margin-top: 20px;
	color: #c76e00;
	font-size: 0.87rem;
	font-weight: bold;
}

.loginsperre-session {
	height: 28px;
	padding: 3px;
	margin-bottom: 5px;
	background-color: #c76e00;
	color: white;
	font-size: 1rem;
	font-weight: bold;
	text-shadow: 0 0 1px black, 0 0 1px black, 0 0 1px black, 0 0 1px black;
	text-align: center;
	white-space: nowrap;
}
