
/* Allgemein */

body {
	font: 12px normal Verdana, sans-serif;
}

* {
	padding: 0;
	margin: 0;
}

a {
	color: #444;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a img {
	border: none;
}

/* Panels */

.panel {
	margin: 1em;
}

.panel .panel-header {
	color: #444;
	padding: 1em 1em .5em 1em;
}

.panel .panel-header h1 {
	font-size: 140%;
}

.panel .panel-body {
	padding: 1em;
}

.panel .panel-body-custom {
	padding: 0;
}

.panel-footer {
	padding: 0 1em 1em 1em;
}

.panel-footer>.panel>.panel-body-custom {
	padding-top: 1em;
}

.panel-dialog,
.panel-float-box,
.panel-inline-box,
.panel-fullwidth,
.panel-msg,
.panel-hover {
	border: 1px solid #444;
	border-radius: 3px;
}

.panel-dialog {
	max-width: 500px;
	width: 90%;
	/*margin: 2em 0;*/
}

.panel-float-box-group {
    padding: 1em 0;
    display: flex;
    flex-wrap: wrap;
}

.panel-float-box-group-inactive {
    border-top: 1px solid gray;
    background-color: #eee;
}

.panel-float-box {
    flex-grow: 1;
    min-width: 280px;
    max-width: 280px;
	/*display: inline-block;
	max-width: 350px;
	width: 90%;*/
	/*margin: 1em;*/
    background-color: white;
}

.panel-stand {
	margin: 0;
	text-align: right;
	font-size: 85%;
}

.panel-stand .panel-body {
	padding: .5em 25px;
}

.panel-inline-box {
	/*display: inline-block;
	vertical-align: top;
	min-width: 250px;
	overflow-x: auto;
	margin: 1em;*/
}

.panel-fullwidth {
	/*margin: 1em;*/
}

.panel-msg,
.panel-hover {
	color: #444;
	background-color: #eee;
    /*margin: 0 0 4px 0;*/
}

.panel-hover {
	position: absolute;
	display: none;
	opacity: .9;
}

.panel-msg-hint,
.panel-hover-hint {
	color: #864;
	border-color: #864;
	background-color: #fea;
}

.panel-msg-error,
.panel-hover-error {
	color: #c44;
	font-weight: bold;
	border-color: #c44;
	background-color: #fea;
}

.panel-msg-success,
.panel-hover-success {
	color: #282;
	background-color: #ada;
}

.panel-body .panel {
	margin: 0;
}

/* Formulare */

form .line, form .inline {
	margin: 1em 0;
}

form .line label, form .inline label {
	color: #444;
	font-weight: bold;
}

form .line input, form .line select, form .line textarea {
	padding: 4px;
	box-sizing: border-box;
	width: 100%; /* wird ggf. per JS gesetzt */
}

form .buttons {
	padding-top: 1em;
	border-top: 1px dotted #444;
}

form .buttons>* {
	padding: .25em 1em;
}

/* Tabellen */

.panel-body>table {
	width: 100%;
	border-collapse: collapse;
}

.panel-body>table th,
.panel-body>table td {
	text-align: left;
	vertical-align: top;
	padding: .5em 1em;
}

.panel-body>table thead th {
	color: #444;
	background-color: #eee;
	border-bottom: 1px solid #777;
	border-right: 1px solid #777;
}

.panel-body>table thead th.last {
	border-right: none;
}

.panel-body>table tbody td {
	border-bottom: 1px solid #ccc;
}

/* Anlagenverwaltung */

.installation-admin .panel-body {
	overflow-x: auto;
}

.installation-admin table a {
	color: inherit;
	text-decoration: underline;
}

.installation-admin table img {
	vertical-align: text-top;
}

.installation-admin table tr.inactive td {
	color: #666;
	background-color: #fefefe;
}

.installation-admin table tr.attention td {
	color: #a33;
	background-color: #ffa;
}

.installation-admin table td.actions a {
	display: block;
	padding: 2px 4px;
	border: 1px solid transparent;
	border-radius: 2px;
	white-space: nowrap;
}

.installation-admin table td.actions a:hover {
	border-color: #ccc;
}

.installation-admin table td.actions a.danger:hover {
	color: red;
	border-color: red;
}

.installation-admin table td.multidata {
	font-size: 85%;
	white-space: nowrap;
}

/* Anlagen-Vorschau (Auswahl) */

.installation-preview {
	position: relative;
}

.installation-preview .panel-header {
	padding-right: 3em;
}

.installation-preview .panel-body p {
	/*border-top: 1px dotted #444;*/
	padding: .75em 1em;
	position: relative;
}

.installation-preview .panel-body p.data-boolean,
.installation-preview .panel-body p.data-numeric {
	display: inline-block;
	/*border-right: 1px dotted #444;*/
}

.installation-preview .panel-body p.data-image img {
	width: 100%;
	max-width: 100%;
}

.installation-preview .panel-body p.data-image img.icon {
	width: auto;
	position: absolute;
	left: 20px;
	top: 20px;
}

.installation-preview .panel-body p.last-ts {
	color: #444;
	background-color: #eee;
    margin-bottom: 4px;
}

.installation-preview .panel-body p.inst-error {
    color: red;
    background-color: lightgoldenrodyellow;
    margin-bottom: 4px;
}

.installation-preview .panel-body .type {
	color: gray;
	font-style: italic;
}

.installation-preview .panel-body .meta {
	padding: 0 1em .75em 1em;
}

.installation-preview .panel-body .meta .meta-item {
	margin-right: .5em;
	white-space: nowrap;
}

.installation-preview .panel-body .meta .health {
	position: absolute;
	right: 1em;
	top: 1em;
}

.installation-preview .panel-body .meta img {
	vertical-align: text-bottom;
}

/* Anlagen-Dashboard */

.installation-dashboard {
	/*width: 50%;
	float: right;
	margin-left: 0;*/
}

.installation-dashboard table tbody .data-image img {
	max-height: 60px;
}

.installation-graphs {
	/*width: 45%;
	margin-right: 0;*/
}

.installation-graphs .graph-summary {
	height: 80px;
	overflow: hidden;
}

.installation-graphs .graph-channel {
	height: 200px;
	overflow: hidden;
}

.caminstallation-stream .panel-body {
	height: 165px;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;
}

.caminstallation-stream .panel-body .thumb {
	color: #aaa;
	display: inline-block;
	padding: 3px;
	margin-right: 2px;
	border-radius: 3px;
	position: relative;
}

.caminstallation-stream .panel-body .thumb p {
	text-align: center;
	padding: .25em 0;
}

.caminstallation-stream .panel-body .thumb img {
	height: 120px;
	border-radius: 3px;
}

.caminstallation-stream .panel-body .thumb img.icon {
	height: auto;
	position: absolute;
	left: 10px;
	top: 10px;
}

.caminstallation-stream .panel-body .thumb-recent {
	color: white;
	font-weight: bold;
	background-color: #f41;
}

.caminstallation-stream .panel-body .thumb .thumb-label {
	position: absolute;
	right: 3px;
	top: 3px;
	background-color: #333;
	padding: 2px 5px;
	border-top-right-radius: 3px;
	border-bottom-left-radius: 3px;
}

.installation-map {
	width: 97%;
	height: 400px;
}

.installation-map .panel-body,
.installation-map #map {
	height: 100%;
}

.user-admin form input,
.installation-config-form form input {
	padding: 4px;
}

.user-admin table,
.installation-config-form table {
	margin: 1em 0;
}

.user-admin form th, .user-admin form td,
.installation-config-form form th, .installation-config-form form td {
	padding: 4px 3em 4px 0;
	text-align: left;
}

.installation-config-form table {
	border-collapse: collapse;
}

.installation-config-form .meta {
	font-size: 125%;
	margin-top: 1em;
}

.installation-config-form .meta .health,
.installation-config-form .meta .meta-item {
	margin-right: .5em;
}

.installation-config-form .meta img {
	vertical-align: text-top;
}

.installation-config-form .channel-sort button {
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 85%;
	background-color: transparent;
}

.installation-config-form .channel-sort button:hover {
	border-color: gray;
}

.installation-config-form tr.alarm td {
	background-color: bisque;
}

.installation-config-form tr.delete td {
	background-color: orangered;
}

.installation-config-form .delete-channel-btn {
	display: inline-block;
	padding: 2px;
	border: 1px solid transparent;
	border-radius: 2px;
	line-height: 1em;
	font-size: 0;
}
.installation-config-form .delete-channel-btn:hover {
	border-color: darkred;
}

.installation-config-form .config-table tr {
	border-bottom: 1px solid lightgrey;
}

.installation-config-form table tr.channel-inactive td {
	color: gray;
}


/* Paging - In Seiten aufgeteilte Abfrageergebnisse */

.paging a.page {
	display: inline-block;
	padding: .25em .5em;
	border: 1px solid #444;
	border-radius: 3px;
}

.paging a.active-page {
	color: #f41;
	background-color: #eee;
	font-weight: bold;
	border-color: #f41;
}

/* Header */

header {
	padding: .5em 2em;
	border-bottom: 1px solid #444;
	background-color: #eee;
	position: relative;
}

header h1 a {
	display: inline-block;
	width: 100px;
	height: 55px;
	background: url('../logo/logo_100x55.png') top left no-repeat;
}

header h1 span {
	display: none;
}

header h2 {
	color: #444;
	font-size: 140%;
	position: absolute;
	bottom: 20px;
	left: 140px;
}

/* Navigation */

.subnav {
	text-align: right;
	background-color: #777;
	padding: 2px 1.5em 0 1.5em;
}

.subnav .subnav-item {
	color: white;
	display: inline-block;
	padding: .5em;
    margin-top: .5em;
	vertical-align: bottom;
    white-space: nowrap;
}

.subnav .subnav-item a {
	color: inherit;
}

.subnav .subnav-item img {
	vertical-align: text-bottom;
}

.subnav .subnav-item-tab {
    float: left;
    position: relative;
    top: 2px;
    margin-right: 1em;
}

.subnav .subnav-item-tab:hover,
.subnav .subnav-item-tab.active {
    color: gray;
    background-color: white;
}

.subnav .username {
	font-weight: bold;
}

.subnav .range {
	/*padding: 1px;
	border: 1px solid #999;
	border-radius: 2px;*/
}

.subnav .range input {
	color: white;
	border: none;
	background-color: #777;
	font-size: 100%;
}

.subnav .range input.date {
	width: 5.5em;
	text-align: center;
}

.subnav .range input.btn {
	cursor: pointer;
	font-weight: bold;
}

.subnav .range input:hover {
	text-decoration: underline;
}

.subnav .range:hover {
	/*border-color: white;*/
}

/* Content */

.content {
	padding: 1em;
}

/* Footer */

footer {
	padding: .5em 2em;
	border-top: 1px solid #444;
}

footer p {
	color: #444;
	font-size: 85%;
}

/* Icons */

img.icon {
	vertical-align: text-bottom;
	margin-right: .25em;
}

img.icon-16x16 {
	width: 16px;
	height: 16px;
}

/* Helfer */

.clear {
	clear: both;
}

/* iPhone, Android-Smartphones, etc. */

/* @media only screen and (min-device-width: 320px) and (max-device-width: 800px) { */
@media only screen and (max-width: 800px) {

    .panel-float-box-group {
        display: block;
    }

    .panel-float-box {
        min-width: 0;
        max-width: none;
    }

	.content {
		padding: 0;
	}

	.content>.panel {
		float: none;
		clear: both;
		width: 100%;
		min-width: 0;
		max-width: none;
		border: none;
		border-radius: 0;
		border-bottom: 1px solid #444;
		margin: 0;
	}

	footer {
		border: none;
	}

}