:root {
	--primary: #EEEEEE;
	--secondary: #373737;
	--shadow: #e6f2ff;
	--lightgray: #EEEEEE;
	--configgray: #d5d5d5;
	--contenttext: #484848;
	--titlesize: 20px;
	--disabled: #b7b7b7;
	--message: #ffe183;
	--online: #00bd00;
	--offline: #888888;
}

* {
	font-family: Open Sans, sans-serif, Lato, Arial;
	box-sizing: border-box;
}

div {
	border: 0px solid gray;
	padding: 0px;
}

html, body {
	min-height: 100%;
	height:auto !important;
	padding: 0px;
	margin: 0px;
}

body {
	min-height: 100vh;
	color: var(--contenttext);
}

a {
	text-decoration: none;
}

table {
	border-spacing: 0px;
	border-collapse: collapse;
}

form {
	display: inline;
}
/* ----------- Header with responsive hamburger ----------- */
.header {
	width: 100%;
	display: table;
	padding: 0px;
	color: var(--primary);
	background-color: var(--secondary);
}

.header::after {
  content: "";
  clear: both;
  display: table;
}

/* -------------- hamburger -------------- */
.hamburger {
	display: table-cell;
	@media only screen and (min-width: 680px){
		width: 0%;
		overflow: hidden;
		padding: 0px;
		display: none;
	}
	height: 30px;
}

.line { 
   position: relative; 
   left:2px;
   height: 3px; width: 18px; 
   /*background: #fff;*/ background: var(--primary); border-radius: 2px;
   display: block; 
}

.line:nth-child(1) { top: 0px; }
.line:nth-child(2) { top: 3px; }
.line:nth-child(3) { top: 6px; }

/* ----------- logo, name and login -------------- */
.headerlogo {
	display: table-cell;
	background-color: var(--secondary);
	@media only screen and (max-width: 680px){
		width: 0%;
		overflow: hidden;
		padding: 0px;
		display: none;
	}
	text-align: left;
	padding: 5px;
	padding-left: 20px;
}

.logoimage {
	max-height: 40px;
	vertical-align: middle;
}

.reidoname {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.login {
	display: table-cell;
	vertical-align: middle;
}

/* ----------- main area ---------------------------- */
.main {
	width: 100%;
	min-height: calc(100vh - 50px);
	padding: 0px;
	display: table;
}

.main::after {
  content: "";
  clear: both;
  display: table;
}

/* ----------- Menu ---------------------------- */
/* normal view navbar */
.navbar {
	height: inherit;
	border: 0px solid gray;
	background-color: var(--primary);
	color: var(--secondary);
	overflow: hidden;
	box-shadow: 2px 0px 2px var(--shadow);
	padding: 20px 20px 0px 20px;
	min-width: 150px;
	@media only screen and (max-width: 681px){
		width: 0%;
		padding: 0px;
		display: none;
	}
}

.navbar a {
	color: var(--secondary);
	text-decoration: none;
	line-height: 1.5em;
}

/* small view navbar canvas */
.navbar-canvas {
	position: absolute;
	left: -201px;
	opacity: 95%;
	background-color: var(--primary);
	color: var(--lightgray);
	display: block;
	width: 200px;
	overflow: hidden;
	z-index: 100;
	transition: left 0.3s ease;
	padding: 20px;
}

#navbar-canvas:target {
	left: 0px;
	transition: left 0.3s ease;
}

.navbar-canvas a{
	color: var(--secondary);
}

.navbar-close {
	text-align: right;
	width: 100%;
}

.navbar-close a {
	text-decoration: none;
	color: var(--secondary);
}

.menupoint {
	padding-left: 0px;
	transition: padding-left 0.3s ease;
}

.menupoint:hover {
	padding-left: 5px;
	transition: padding-left 0.3s ease;
}

.currentpage {
	font-weight: bold;
}

.menuseparator {
	
	border-bottom: 1px solid var(--secondary);
}

/* ----------- content  ---------------------------- */
.container {
	padding: 20px;
}

.table {
	border-collapse: collapse;
	border-spacing: 0;
  	text-align: left;
  	margin-bottom: 20px;
	max-width: 800px;
	min-width: 400px;
}

.title {
	font-size: var(--titlesize);
	font-weight: bold;
	/*max-width: 600px;*/
	width: 100%;
	background-color: var(--lightgray);
	padding: 5px;
	margin: 0px;
	margin-bottom: 5px;
}

.table tr {
	border-bottom: .05rem solid var(--lightgray);
}

.table td {
   padding: .6rem .4rem;
	width: 50vw;
}

.firstcol {
	width: 30%;
}

.configblock {
	border: .05rem solid var(--configgray);
	box-shadow: 4px 4px 4px var(--shadow);
	max-width: 800px;
	min-width: 400px;
	margin-bottom: 20px;
}


.configblock-footer {
	padding: 5px;
	text-align: center;
	border-top: .05rem solid var(--lightgray);
}

.config-title {
	border-bottom: .05rem solid var(--configgray);
}

.configsave {
	text-align: right;
	padding: 5px;
	margin-bottom: 5px;
}

.configitems-table {
	display: table;
	width: 100%;
}
.configitem-row {
	display: table-row;
	/*border-bottom: .05rem solid var(--configgray);*/
}
.configitem-cell {
	display: table-cell;
	min-width: 300px;
	padding: 5px;
	border-bottom: .05rem solid var(--lightgray);
}

.first-cell {
	width: 300px;
}

.waitblock {
	display: block;
	max-width: 800px;
	min-width: 400px;
	text-align: center;
	border: none;
	margin: 20px;
}

.spacer {
	height: 1px;
}

/* ----------- login  ---------------------------- */
.loginlink a {
	color: var(--primary);
}

.login-overlay {
	position: absolute;
	top: -300px;
	right: 0px;
	width: 100vw;
	background-color: var(--primary);
	transition: top 0.5s ease;
	display: block;
	color: var(--primary);
}

.login-overlay:target {
	display: block;
	top: 0px;
	transition: top 0.5s ease;
	opacity: 0.95;
}

.login-close {
	text-align: right;
}

.loginwindow {
	position: absolute;
	width: 300px;
	top: 55px;
	right: 10px;
	opacity: 95%;
	background-color: var(--secondary);
	padding: 5px;
	border-bottom: .05rem solid #dadee4;
   padding: .6rem .4rem;
}

.login-close a {
		text-decoration: none;
		color: var(--primary);
}

.message {
	max-width: 800px;
	min-width: 400px;
	padding: 5px;
	background-color: var(--secondary);
	color: var(--primary);
	display: none;
}

.messageactive {
	display: block;
}

/* ---------------- general ------------------ */
input {
	padding: 5px;
	/*margin-left: 10px;*/
}

button {
	border: none;
	background-color: var(--primary);
	color: var(--secondary);
	padding: 5px;
	margin-left: 10px;
	cursor: pointer;
}

button:disabled {
	color: var(--disabled);
}

.mostleftbutton {
	margin-left: 0px;
}

.label {
  border-radius: 15px;
  border: 1px solid var(--disabled);
  font-size: 0.7rem;
  color: var(--primary);
  background-color: var(--disabled);
  width: 50px;
}

.active {
	background-color: var(--secondary);
	color: var(--primary);
}

.highlight {
	background: #00BB00;
}

.highlightred {
    background: #FF0000;
}

.expert {
    display:none;
}

.singlebutton {
	padding: 5px;
	margin-bottom: 10px;
}

.btn-online {
	background-color: var(--online);
}

.btn-offline {
	background-color: var(--offline);
}

.bold {
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.rightaligned {
	text-align: right;
}

.centered {
	text-align: center;
}

.topaligned {
	vertical-align: top;
}

.graphics {
	max-width: 800px;
}

select {
	border: none;
	padding: 5px;
}

.logtable tr:nth-child(even) {
  background-color: var(--primary);
}

.location-color {
	background-color: lightgreen;
}