html { font-size: 100%; }

body {
	background: #eee;
	color: #000;
	font-family: 'Source Sans Pro',sans-serif;
	margin: 0 auto;
	font-size: 1.2rem;
	line-height: 1.9rem;
	min-width: 820px;
}

a {
    color: #5bbf34;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

#bodywork {
	position: relative;
	margin: 0 auto 20px auto;
	width: 42%;
	min-width: 735px;
	background: #fff;
	padding: 20px 5% 35px 5%;
	-webkit-box-shadow: 0px 4px 13px -2px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 4px 13px -2px rgba(0,0,0,0.25);
	box-shadow: 0px 4px 13px -2px rgba(0,0,0,0.25);
}

#footer {
    text-align: center;
    margin: 40px 0;
}

#nr {
	float: left;
	background: #ddd;
	color: #fff;
	font-size: 300%;
	font-weight: bold;
	border-radius: 60px;
	height: 67px;
	width: 95px;
	padding: 33px 0 0 5px;
	text-align: center;
}

.small { font-size: 80%; }

.note {
    margin-top: 10px;
    font-size: 80%;
    line-height: 1.4rem;
    color: #666;
}

.notice {
    background: #5cbf33;
    color: white;
    padding: 5px 10px;
}

.error {
    background: #cc2929;
    color: white;
    padding: 5px 10px;
}

.error a {
    color: #fff;
    text-decoration: underline;
}

b,strong { font-weight: bold; }

i,em { font-style: italic; }

p { margin: 0.5rem 0; }

h1 {
	font-size: 175%;
	font-weight: bold;
	text-align: center;
	padding: 35px 0;
	border-bottom: 2px solid #5bbf34;
	background: #eee;
}

h2 {
	font-size: 110%;
	text-align: center;
	padding: 1.5rem 0;
	margin-bottom: 2rem;
	border-bottom: 1px solid #ccc;
}

h3 {
	font-size: 110%;
	font-weight: bold;
}

input,
select,
button {
    margin: 1.2rem 0;
    font-size: 1.2rem;
}

input[type=checkbox] {
    margin: 1.2rem 1.2rem 1.2rem 0;
}

option:hover,
input[type=checkbox]:hover {
    cursor: pointer;
}

ul { list-style-type: none; }

td { padding: 2px 5px; }

th {
    font-style: italic;
	font-weight: bold;
	text-align: left;
	padding: 10px 5px 4px;
}

#searchlist {
	position: absolute;
}

#searchlist ul {
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	width: 252px;
	background: rgba(255,255,255,0.9);
	margin: -17px 0 0 0;
}

#searchlist ul li {
	padding: 5px;
}

#searchlist ul li:hover {
	cursor: pointer;
	background: #000;
	color: #fff;
}

ul.tabs {
    text-align: center;
    margin-top: -20px;
}

ul.tabs li {
    display: inline-block;
    border-right: 2px solid #5bbf34;
    border-bottom: 2px solid #5bbf34;
    border-left: 2px solid #5bbf34;
    -moz-border-radius: 0px 0px 10px 10px;
    -webkit-border-radius: 0px 0px 10px 10px;
    border-radius: 0px 0px 10px 10px;
    -webkit-box-shadow: 0px 3px 3px 0px #ccc;
    -moz-box-shadow: 0px 3px 3px 0px #ccc;
    box-shadow: 0px 3px 3px 0px #ccc;
    margin: 0 6px 20px 6px;
    width: 14%;
    padding: 10px 0;
}

ul.tabs li.selected { background: #5bbf34; }

ul.tabs li a {
    font-size: 110%;
    display: block;
}

ul.tabs li a:hover { text-decoration: none; }

ul.tabs li.selected a { color: #fff; }

div.qblock  {
	position: absolute;
	left: 25%;
	width: 500px;
}

div.qblock > a {
	display: inline-block;
	text-decoration: none;
	color: #333;
	margin: 15px 0 0 0;
}

div.qblock > a:hover {
	color: #4fa01c;
}

div.qblock > a:last-child {
	float: right;
}

div.qblock p:first-child {
	font-weight: bold;
	margin-top: 0;
}

#confirm-info {
	border-left: 2px solid #ccc;
	padding: 10px;
	margin: 0 0 15px 0;
}

/* Some table styles */
table { width: 100%; }

table tr td,
table tr th { vertical-align: top; }

a.addmore {
    cursor: pointer;
    color: #5bbf34;
}

a.addmore:hover {
    text-decoration: none;
	color: #265016;
}

.meter {
	height: 15px;
	position: relative;
	background: #ddd;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	padding: 5px;
	margin-top: 20px;
}

.meter > span {
  display: block;
  height: 100%;
  border-radius: 10px;
  background-color: rgb(43,194,83);
  background-image: linear-gradient(
    center bottom,
    rgb(43,194,83) 37%,
    rgb(84,240,84) 69%
  );
  box-shadow:
    inset 0 2px 9px  rgba(255,255,255,0.3),
    inset 0 -2px 6px rgba(0,0,0,0.4);
  position: relative;
  overflow: hidden;
}

.inputblock {
	background: #f7f9f5;
	padding: 10px;
	box-shadow: 0px 2px 5px -3px rgba(0,0,0,0.5);
	margin: 0.75em 0 1.5em 0;
}

.subblock {
    position: relative;
    margin: 0.5em 0 1em 0;
}

.subblock .helpicon {
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
    font-size: 0.85rem;
    border: 1px solid #999;
    border-radius: 20px;
    line-height: 1.5;
    color: #999;
    text-align: center;
}

.subblock .helpicon:hover {
    cursor: help;
    background: #fff;
    color: #555;
}

.subblock .helpicon .helptext {
    visibility: hidden;
    width: 260px;
    background: black;
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 6px;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -130px;
    margin-top: 5px;
    z-index: 1;
}

.subblock .helpicon:hover .helptext {
    visibility: visible;
}

.subblock table {
    width: 95%;
}

.subblock table tr td:first-child {
    vertical-align: top;
}

.login form {
    width: 40%;
    margin: auto;
}

.login label {
    font-size: 85%;
}

.login input[type=text],
.login input[type=password],
.login select {
    width: 100%;
    margin: 0 0 0.5em 0;
    font-size: 110%;
    padding: 2px;
}

input[readonly] {
    background-color: #eee;
}

.inputblock input[type=button],
.inputblock input[type=submit],
.login input[type=submit] {
    color: white;
    background: #5cbf33;
    padding: 0.6em 2em;
    border: 1px solid white;
    border-radius: 0.5em;
}

.inputblock input[type=button]:hover,
.inputblock input[type=submit]:hover,
.login input[type=submit]:hover {
    cursor: pointer;
    background: #4c9c2a;
}

form:invalid input[type=submit] {
  pointer-events: none;
  background: #ddd;
  color: #333;
  border: 1px solid #4c9c2a;
}

input:invalid:not(:focus) {
  border: 3px solid red;
}

.input_note {
    display: none;
}

input:focus + .input_note {
    display: block;
}

td.aanpassing {
    position: relative;
}
td.aanpassing::after {
    content: "*";
    color: #c00;
}

td.aanpassing span {
    display: none;
    background-color: #5bbf35;
    color: #fff;
    text-align: left;
    padding: 0 5px;
    border-radius: 6px;
    position: absolute;
    margin-left: 10px;
    z-index: 1;
    font-size: 75%;
    white-space: nowrap;
}

td.aanpassing:hover {
    cursor: pointer;
}

td.aanpassing:hover span {
    display: inline-block;
}

tr.inactief td {
    color: #999;
    text-decoration: line-through;
}

#modal,
#canvas {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    z-index: 1;
    padding-top: 2em;
    overflow: auto;
}

#canvas {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}

#modal img {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 800px;
}

#resultmodal {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5000;
    background: rgba(0,0,0,0.5);
}

#resultmodal > div {
    position: relative;
    background: #fff;
    padding: 50px;
    width: 35%;
    max-width: 600px;
    margin: 20% auto;
}

#resultmodal > div span {
    position: absolute; right: 0; top: 0; font-size: 2em; margin: 0.5em 0.75em;
}

#resultmodal > div span:hover {
    cursor: pointer;
}

#profile {
    position: absolute;
    right: 0;
    top: 0;
    margin: 10px;
    padding: 10px;
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: auto;
    grid-template-areas: "icon name" "icon logout";
    background-color: rgba(255,255,255,0.5);
}

#profile .username {
    grid-area: name;
    font-weight: bold;
}

#profile .logout {
    grid-area: logout;
}

#profile .icon {
    grid-area: icon;
    width: 60px;
    height: 60px;
    margin-right: 10px;
}

.rooms {
    display: grid;
    grid-row-gap: 12px;
    grid-column-gap: 12px;
    grid-template-columns: auto 1fr auto;
}

.room__name {
    border-left: 5px solid #5bbf34;
    padding-left: 10px;
    font-weight: bold;
}

.room__description {
    font-style: italic;
}

.room__usercount {
    background-color: #5bbf34;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 80%;
    color: white;
}

.room__usercount img {
    margin-bottom: -6px;
}