:root {
    --brand-color: #20294e;
    --brand-dark: #1e2650;
    --brand-accent: #fbba00;
    --brand-surface: #eef1f8;
    --brand-surface-alt: #f7f8fc;
    --brand-button: #e1e6f2;
}

body
{
	font-family: verdana,arial,sans-serif;
	font-size:13px;
	background: #f6f6f6 none repeat scroll 0 0;
	margin:0;
	padding:0;
	height: 100%;
	width:100%;
	color:#333;
}
body.files
{
    background: transparent;
}
img.bg-body 
{
	position:fixed;
	width:100%;
	height:100%;
	overflow: hidden !important;
	top:0;
	bottom:0;
	z-index: -1;
}
/* Typografie --------------------------------------------------------*/
h1, h2, h3, h5, span.h-blau, a, .typo-logozusatz {
	color: var(--brand-color);
}
h1 {
	font-size: 24px; 
	line-height:1.3em;
	margin-top: 15px; 
	margin-bottom: 10px; 
	font-weight: normal;
	color: var(--brand-color);
}
h2 {
	font-size: 17px; 
	line-height:1.3em;
	margin: 15px 0px 5px 0px; 
	font-weight: normal;
}

h3{
	font-size: 13px; 
	line-height:1.3em;
	margin: 15px 0px 10px 0px; 
	font-weight: bold;
}
h3.table-headline {
	margin: 20px 0 3px 4px; 
}

h4 {
	line-height:1.3em;
	font-size:17px;
	font-weight:normal;
	color:#9B1637;
	margin: 15px 0px 5px 0px;
}

h5 {
	font-size: 11px; 
	line-height:1.3em;
	font-weight:bold;
	margin: 15px 0px 15px 0px;
}

p {
	margin:0px 0px 7px 0px;
}

div, p {
	line-height:16px;
	}
textarea {
	font-family: verdana,arial,sans-serif;
}
img{ 
   margin: 0px;
   border: 0px;
}

a,
.link
{ 
	text-decoration:none;
	cursor: pointer;
	color:var(--brand-color);
}
a:hover, 
.link:hover { 
	text-decoration:underline;
}
.ext_link
{
	padding-right: 15px;
	background-image: url(../images/link.png);
	background-repeat:no-repeat;
	background-position: right center;
	text-decoration:none;
}
input[type=submit]:hover, 
input[type=button]:hover, 
input[type=reset]:hover, 
button:hover, 
input.button:hover, 
input[type=image]:hover
{
	box-shadow:0px 0px 0px transparent;
}
.ButtonType
{
	cursor: pointer;
    text-align: center;
	padding:2px 5px;
	font-size:13px;
	line-height:16px;    
	background:var(--brand-button);
	border:solid 1px var(--brand-color);
	color:var(--brand-color);
	border-radius: 3px;
	box-shadow:0px 0px 2px #AEAEAE;  
}

textarea:focus, 
input[type=text]:focus, 
input[type=password]:focus
{
	background-color:#ffffff;
	box-shadow:0px 0px 5px #79AEE3;
}

pre 
{
	width: 800px;
	overflow:auto;
	background-color:#fff;
	font-family:Lucida Console;
	padding:15px 15px 25px 15px ;
	margin:0px;
	border:solid 1px #E8E8E8;  
	border-radius: 3px;
	color:#727272;
}
/* /Typografie Ende --------------------------------------------------*/
#header
{
	background:#fff;
	padding:0px 20px;
}
#header .wrapper {
	max-width:1000px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 24px;
	min-height:72px;
	padding:12px 0;
	box-sizing:border-box;
	}
#header .wrapper > a { flex:0 0 auto; }
.logo
{
	display:block;
	width:auto;
	height:auto;
	max-width:160px;
	max-height:52px;
}
#fixserverbanner img
{
	max-width:100%;
	height:auto;
}
.typo-logozusatz
{
	flex:1 1 240px;
	min-width:0;
	font-size:20px;
	font-weight:bold;
	line-height:1.3;
	overflow-wrap:anywhere;
}
.willkommen
{
	max-width:100%;
	text-align:right;
	line-height:19px;
	overflow-wrap:anywhere;
}
.user-name {
	font-weight:bold;
	}
#wrapper
{
	margin:20px auto;
	padding:0 20px;
	max-width:1000px;
}
#menu {
	position:relative;
	display:block;
	background-color:var(--brand-dark);
	border-top:3px solid var(--brand-accent);
	box-shadow:0 3px 5px #a1a1a1;
	}

#menu ul
{
	padding:0;
	list-style:none;
	margin:0 auto 0px auto ;
	max-width:1000px;
	display:flex;
	flex-wrap:wrap;
	z-index: 9999;
}
#menu ul li  {
	position:relative;

	}
#menu ul li a
{
	display:block;
	color:#fff;
	font-size:12px;
	line-height:16px;
	padding:12px 15px;
	border-left: 1px solid var(--brand-color);
    border-right: 1px solid var(--brand-color);
	text-decoration:none;
	cursor:pointer;
}
#menu ul li a:hover
{
	background-color:var(--brand-color);
}
#menu ul li:hover ul,
#menu ul li:focus-within ul
{
	 display:block; 
}
#menu ul li ul 
{
	display:none; 
	position:absolute;
	min-width:175px;
	min-height:10px;
	margin:-1px 0 0 0 ;
	padding:0;
	background-color:var(--brand-color);
    border: 1px solid var(--brand-dark);
}
#menu ul li ul li
{
	position:relative;
	display:block;
	float:none;
}
#menu ul li ul li a
{
	min-width:170px;
	color:#fff;
	font-size:12px;
	display:block;
	padding:7px 15px 7px 15px ;
	margin: 0px ;
	text-decoration:none;
	cursor:pointer;
	border-left: 0px none transparent;
    border-right: 0px none transparent;
}
#menu ul li ul li:hover a
{
	background-color:var(--brand-surface);
}
#menu ul li ul li a:hover
{
	color:var(--brand-dark);
}
#content
{
	position:relative;
	min-height:475px;
	padding:5px 15px 15px 15px ;
	margin:0px 0px 0px 0px ;
	box-shadow:0px 0px 3px #a1a1a1;
	background-color: #fff;
}
.copyright
{
	position:relative;
	float:left;
	margin:5px 10px 5px 0px ;
	padding:1px 10px 1px 0 ;
	font-size:11px;
	border-right:1px solid #7DAAC6;
}
#footer-menu ul {
	list-style:none;
	font-size:11px;
	margin:0;
	padding:0;
	}
#footer-menu ul li {
	float:left;
	margin:0px ;
	padding:6px 10px 6px 0 ;
	}
/* Eingeloggt --------------------------------------------------------*/
.abmeldenbutton {
	background:var(--brand-button);
    border: 1px solid var(--brand-color);
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 0 2px #AEAEAE;
    color: var(--brand-color);
    cursor: pointer;
    font-size: 13px;
    line-height: 16px;
    padding: 1px 5px;
    margin-left:15px;
    text-align: center;
	}
.abmeldenbutton:hover {
	text-decoration:none;
	box-shadow:0 0 0 transparent;
	}
/* Tabelle -----------------------------------------------------------*/
.dns-content h3 {
    margin: 20px 0 3px 4px;
}
.ctable
{
	width:100%;
	/* border-collapse:collapse; */
	box-shadow:0px 0px 3px #a1a1a1;
	border-radius: 3px;
}
.ctable tr.ctablehead td,
.ctable tr.ctablehead th
{
	background-color:var(--brand-dark);
	color:#fff;
	font-weight:bold;
	padding:3px 5px 7px 5px;
	}
	
.ctable tr td,
.ctable tr th
{
	background-color:var(--brand-surface);
	vertical-align:top;
}
.ctable tr:nth-child(even) td,.ctable tr:nth-child(even) th
{
	background-color:var(--brand-surface-alt);
}
.ctable tr:last-child td, .ctable tr:last-child th
{
	border-bottom:none 0px;
}
.ctable tr td, .ctable tr.ctablehead td, .ctable tr.ctablehead th
{
	padding:3px 5px 3px 5px;
	border-bottom:3px solid transparent;
	text-align:left;
}
.ctable tr td:first-child, .ctable tr.ctablehead td:first-child, .ctable tr.ctablehead th:first-child
{
	text-align:left;
}
.ctable tr.ctablehead th:first-child
{
	border-radius: 3px 0px 0px 0px;
}
.ctable tr.ctablehead th:last-child 
{
	border-radius: 0px 3px 0px 0px;
}
.ctable tr:last-child td:last-child
{
	border-radius: 0px 0px 3px 0px;
}
.ctable tr:last-child td:first-child
{
	border-radius: 0px 0px 0px 3px;
}
.ctable .datum
{
	width:75px;
}
.ctable .von-bis, .ctable .ab
{
	width:100px;
}
.ctable .system
{
	width:120px;
}
.storung .status
{
	width:55px;
}
.ctablerowcol2 table tr:nth-child(2n) td
{
	background-color: transparent;
}
/* /Tabelle ----------------------------------------------------------*/
.imgIcon {
	cursor: pointer;
	display:block;
	margin-right:3px;
	float:left;
	width:18px;
	height:18px;
	font-size:13px;
	line-height:18px;
	color:transparent;
	border-radius: 3px;
	box-shadow:0px 0px 2px #AEAEAE;
	vertical-align:middle;
}
.imgIcon:hover
{
	box-shadow: 0 0 0px #AEAEAE;
}
.detail {   
	background: url(../images/detail-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.detail-grau {   
	background: url(../images/detail-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}
.edit {
	background: url(../images/bearbeiten-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.edit-grau {
	background: url(../images/bearbeiten-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}
.delete {
	background: url(../images/loeschen-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.delete-grau {
	background: url(../images/loeschen-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}
.liste {
	background: url(../images/liste-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.liste-grau {
	background: url(../images/liste-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}
.benutzer {
	background: url(../images/benutzer-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.benutzer-grau {
	background: url(../images/benutzer-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}
.download {
	background: url(../images/download-blau.png) center center no-repeat #629ac8;
	border: 1px solid #629AC8;
}
.download-grau {
	background: url(../images/download-grau.png) center center no-repeat #629ac8;
	border: 1px solid #999;
}



.description
{
	font-size: 12px;
    font-weight: bold;
    line-height: 1.3em;
    margin: 15px 0;
    color:var(--brand-color);
}
.pagebar
{
	margin:6px 0px 6px 4px ;
}
.bar
{
	padding:0;
	margin:0;
	display:inline;
}
.baritem
{
	font-size: 12px;
	display: inline;
	padding-left: 2px;
}
.ctableheadcol
{}

.ctablerowcol
{
	height:28px;
	padding-left: 2px;
	vertical-align: top;
	overflow: hidden;
}

.ctablerow2 {}

.ctablerowcol2
{
	height: 28px;
	padding-left: 2px;
	vertical-align: top;
	overflow: hidden;
}

.errordescription
{
	background-color: #FFFBDF;
    border: 1px solid #FFD78A;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 0 2px #AEAEAE;
    color: #535353;
    font-size: 12px;
    margin: 5px 0;
    max-width: 463px;
    padding: 3px 10px 3px 7px;
}
/* Rote Felermeldung
.errordescription
{
	background-color: #FFF2F2;
    border: 1px solid #FF8686;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 0 2px #AEAEAE;
    color: #535353;
    font-size: 12px;
    margin: 5px 0;
    max-width: 463px;
    padding: 3px 10px 3px 7px;
}*/


.download-nofile
{
	padding:3px 5px 5px 5px ;
	margin:3px 3px;
	background-color:#E6F3F9;
	font-style:italic;
    color:#535353;
    border-radius: 3px 3px 3px 3px;
	box-shadow:0px 0px 3px #aeaeae;
	max-width:896px;
}

/* ZIP Download Button */
.table-caption
{
	float: right;
	margin-bottom: 5px;
}

.table-caption p 
{
	float: left;
	margin-right: 10px;
}


/* Keep wide lists scrollable without moving the page itself. */
.table-scroll {
    max-width:100%;
    overflow-x:auto;
    margin:4px 0;
}
.table-scroll .ctable { min-width:560px; }
.ctable td, .ctable th { overflow-wrap:anywhere; }
.ctable th, .ctable td:first-child { white-space:nowrap; }
.tenant-table td:nth-child(2) { min-width:160px; }
.table-scroll-hint { display:none; }
.log {
    max-width:100%;
    max-height:620px;
    overflow:auto;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.imprint { white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:650px) {
    .table-scroll-hint { display:block; margin:8px 0 4px; font-size:11px; color:#555; }
    #header { padding:0 16px; }
    #header .wrapper { gap:12px; }
    .typo-logozusatz { flex-basis:100%; font-size:18px; }
    .willkommen { text-align:left; }
    #menu > ul > li { flex:1 1 auto; }
    #menu > ul > li > a { padding:12px 10px; text-align:center; }
    #menu ul li ul { left:0; right:0; min-width:0; }
    #menu ul li ul li a { min-width:0; overflow-wrap:anywhere; }
    #menu_last { display:none; }
    #wrapper { padding:0 12px; margin:16px auto; }
    #content { padding:5px 12px 15px; }
}

/* Shared quota display: readable on both dark HSB/HSJ and white JKDV menus. */
.quota-display {
    box-sizing: border-box;
    min-width: 0;
    padding: 6px 10px;
    border: 1px solid #c5ced8;
    border-left: 4px solid var(--brand-color);
    background: #fff;
    color: #222;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.quota-display > span, .quota-display .quota-status { display: block; }
.quota-display[data-quota-state="warning"] { border-left-color: #805000; background: #fff8e1; }
.quota-display[data-quota-state="warning"] .quota-status { color: #805000; }
.quota-display[data-quota-state="blocked"] { border-left-color: #a00000; background: #fff2f2; }
.quota-display[data-quota-state="blocked"] .quota-status { color: #a00000; }
.quota-display[data-quota-state="unavailable"] { border-left-color: #666; background: #f2f2f2; }
#menu > ul > li.quota-menu {
    box-sizing: border-box;
    flex: 0 1 420px;
    min-width: 0;
    margin-inline-start: auto;
    padding: 4px;
}
@media (max-width:650px) {
    #menu > ul > li.quota-menu { flex-basis: 100%; margin-inline-start: 0; }
}
