* {
	box-sizing: border-box;
}

::-moz-focus-inner {
	border: 0;
}

:focus {
	outline: none;
}

html, body, p {
	font: 1em/140% 'Trebuchet MS',  helvetica, sans-serif;
}

html, body {
	cursor: default;
	margin: 0;
	padding: 0;
	min-height: 100%;
}

body {
	background: linear-gradient(to bottom, #fff 300px, #f1f1f1 600px);
}

.hidden {
	display: none !important;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

.cb {
	clear: both;
}

.tar {
	text-align: right;
}

.tac {
	text-align: center;
}

.no-max-width {
	max-width: none;
}

.yes::after {
	content: '✓';
	color: green;
}

.no::after {
	content: '✗';
	color: firebrick;
}

a {
	color: #06f;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.languages > a {
	color: #999;
}

ins, del {
	text-decoration: none;
}

del {
	color: #900;
}

ins {
	color: green;
}

hr {
	border-color: white;
	max-width: 80%;
	margin: 20px auto;
}

select, button, input, textarea {
	font-family: Arial;
	background-color: #fff;
	padding: 10px;
	margin: 3px;
	border-radius: 3px;
	max-width: 200px;
	border: 1px solid #bbb;
	transition: border-color .1s ease-out;
}

textarea {
	max-width: none;
}

button {
	font-weight: bold;
	cursor: pointer;
	width: auto;
	min-width: 100px;
	background-image: linear-gradient(to bottom, transparent, #e7f8ff);
	transition: background-color .2s;
}

button:hover {
	background-color: #e7f8ff;
}

input[type="checkbox"], input[type="radio"] {
	vertical-align: middle;
	width: 20px;
	height: 20px;
}

label:hover > input, textarea:focus, input:focus, button:focus, textarea:hover, input:hover, button:hover {
	border: 1px solid #11a3ea;
}

form {
	background-color: #fcfcfc;
	box-shadow: 0 4px 8px silver;
	margin: 10px auto 20px;
	text-align: center;
	padding: 15px 10px;
	min-width: 350px;
	max-width: 100%;
}

form.out select, form.out input, form.out textarea {
	max-width: 400px;
	min-width: 200px;
}

main {
	clear: both;
	max-width: 850px;
	display: table;
	margin: 0 auto;
	padding: 5px 5px 10px;
}

footer {
	text-align: center;
	margin: 30px 0 5px;
}

canvas {
	background: #fff;
	display: block;
}

.chart {
	position: relative;
	width: 100%;
	text-align: center;
}

.chart > canvas {
	box-shadow: 0 0 5px #ccc;
}

.err {
	color: firebrick;
}

.pager {
	text-align: center;
	clear: both;
	margin: 10px 0;
}

.pager > a, .pager > .curpage {
	display: inline-block;
	background-color: #fff;
	margin: 2px 5px;
	padding: 5px 10px;
	outline: 1px solid grey;
	transition: outline .1s;
}

.pager > .curpage {
	outline: 1px solid silver
}

.pager > a:hover {
	outline: 1px solid black;
	text-decoration: none;
}

.top-bar {
	text-align: right;
	width: 770px;
	max-width: 100%;
	margin: 0 auto 20px;
	padding: 5px;
}

.top-bar-logo {
	width: 100%;
	height: 50px;
	background: #7f7f7f url(/img/portal.rdmeter.com/logo.png) no-repeat left center;
	background-size: contain;
}

.top-bar-logo > a {
	display: inline-block;
	margin: 15px 10px 0 0;
	color: #9bf;
}

.top-bar-logo > a.active {
	color: white;
}

.top-menu {
	margin: 0;
	padding: 0 10px;
}

.top-menu > li {
	display: inline-block;
}

.light-blue-row > td {
	background-color: #f6feff;
}

.bg-lb {
	background-color: #cef
}

.bg-lr {
	background-color: #fee !important
}

.menu-container {
	clear: both;
	overflow: hidden;
	background: #f9f9f9;
	background-image: linear-gradient(to bottom, whitesmoke, white);
	box-shadow: 0 0px 5px #dedeff;
	padding: 10px 10px 10px 30px;
}

.menu-container > ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.menu-container > ul > li::before {
	content: "●";
	position: relative;
	left: -5px;
	color: grey;
}

.table-lister {
	background: #fff;
	cursor: default;
	margin: 0 auto;
	border-collapse: collapse;
}

.table-lister > thead, .table-lister > tfoot {
	position: sticky;
	background: #fff;
	top: 0;
	box-shadow: 1px 2px 2px silver;
	z-index: 1;
}

.table-lister > tfoot {
	top: auto;
	bottom: 0;
	box-shadow: 0 -1px 2px silver;
}

.table-lister > tfoot > tr > th {
	border: 0;
	text-align: right;
	font-size: large;
	padding: 12px 10px;
}

.table-lister tr:hover > td {
	background-color: #f9f9f9 !important;
}

.table-lister td, .table-lister th {
	vertical-align: top;
	border: 1px solid silver;
	padding: 5px 8px;
}

.table-lister th {
	font-weight: bold;
	background: white;
	vertical-align: middle;
}

.table-lister-prostori td:nth-child(n+4),
.table-lister-prostori.hca td:nth-child(n+3),
.table-lister-measured td:nth-child(n+5),
.table-lister-measured.hca td:nth-child(n+4),
.table-lister-consumption td:nth-child(n+2),
.table-lister-raspodela td:nth-child(n+4),
.table-lister-finance td:nth-child(n+3) {
	text-align: right;
}

.table-lister-raspodela td:nth-child(2) {
    white-space: nowrap;
}

@keyframes faderooms {
	from {
		opacity: 0;
		transform: scaleY(0);
	}
	to {
		background-color: #fafafa;
		border-color: transparent;
	}
}

.table-lister > tbody > tr.room > td {
	text-align: right;
}

.table-lister > tbody > tr.room > td {
	animation: faderooms 0.3s forwards;
}

.table-lister > tbody > tr.collapsed.room {
	display: none;
}

.table-lister > tbody > tr[class]:not(.collapsed):not(.room) {
	background-color: #e6f8ff;
}

.two-table-container {
	display: flex;
	justify-content: space-evenly;
	align-items: flex-start;
	padding: 10px;
	margin: 5px 0 20px;
	background: white;
	box-shadow: 0 0 5px #ccc;
}

.two-table-container caption {
	font-size: 1.2em;
	border-bottom: 1px dotted gray;
}

.two-table-container td:first-child {
	padding: 3px 10px 3px 0;
	text-align: right;
	font-weight: bold;
}

.two-table-container td:last-child {
	padding: 3px 0 3px 10px;
	text-align: left;
}

.two-table-container > .white-table {
	width: 100%;
}

@keyframes fadeserials {
	from {
		opacity: 0;
		top: 130%;
	}
}

#serials-list {
	position: relative;
	display: inline-block;
}
#serials-list > span {
	vertical-align: middle;
	font-size: 2em;
	color: #4ca9ff;
	font-family: monospace
}
#serials-list > div {
	display: none;
}
#serials-list:hover > div {
	animation: fadeserials 0.4s forwards;
	background: white;
	box-shadow: 0 0 10px grey;
	border-radius: 8px;
	padding: 10px 15px;
	position: absolute;
	width: max-content;
	top: 90%;
	right: 0;
	display: block;
}

.white-table {
	clear: both;
	border-collapse: collapse;
	background: white;
	margin: 20px 0;
	box-shadow: 0 0 5px #ccc;
	width: 100%;
}

.white-table > thead > tr > th,
.white-table > tfoot > tr > th {
	border-bottom: 1px solid #ccc;
	padding: 0 5px;
}

.white-table > tbody > tr > td {
	padding: 3px 2px;
	border-left: 1px solid #ccc;
	text-align: center;
}

.white-table > tbody > tr > td:first-child {
	border: 0;
	padding: 0 2px 0 3px;
}

.white-table > tbody > tr > td:first-child:only-child {
	font-weight: bold;
	text-align: left;
}

.white-table tr.units {
	color: grey
}

.white-table > tbody > tr:not(.units):hover > td:not(:only-child) {
	background-color: #fff2cb;
}

.white-table > caption {
	text-align: left;
	padding: 5px;
}

.white-table tr.room.collapsed {
	display: none;
}

.white-table tr.room:not(.collapsed) {
	animation: faderooms 0.3s forwards;
}

.meter-state-viewer {
	width: 100%;
}

.meter-state-viewer td:first-child {
	text-align: right;
}

.meter-state-viewer td:last-child {
	text-align: left;
}

.send-mail {
	color: green;
	font-size: large;
	cursor: pointer;
}

.finance {
	margin: 0 auto;
	width: auto;
}

.finance > thead > tr > th,
.finance > tbody > tr > td {
	padding: 5px 10px;
}

.finance td:last-child:not(:first-child), .finance > tfoot th:last-child {
	text-align: right;
	padding-right: 10px;
}

.finance > tfoot > tr > th {
	font-size: 1.2em;
	border-top: 1px solid #ccc;
	padding: 10px 5px;
}

.finance > tfoot th:first-child {
	text-align: right;
	padding-right: 20px;
}

.show-table {
	cursor: pointer;
	display: block;
	white-space: nowrap;
}

#date-selector {
	font-weight: bold;
}

.col-categories {
	margin: 10px;
	display: inline-block;
}

.col-category, .col-categories > label {
	vertical-align: middle;
	cursor: pointer;
	border-radius: 5px;
	border: 1px solid #bbb;
	padding: 5px 10px;
}

.col-category:hover, .col-categories > label:hover {
	border: 1px solid #11a3ea;
}

.col-category > input, .col-categories > label > input {
	vertical-align: middle;
}

.tox button {
	min-width: auto;
}

.group-head {
	padding: 5px !important;
	background: #eee;
	text-align: left;
	margin: 2px 0;
}
.group-list > label {
	display: block;
}
.group-head:hover, .group-list > label:hover {
	background-color: #fff2cc;
	cursor: pointer;
}
.group-list {
	text-align: left;
	padding-left: 10px;
}
.collapsed + div {
	display: none;
}

@media (max-width: 650px) {
	.two-table-container {
		flex-direction: column;
	}

	.two-table-container > table {
		margin: 0 auto 10px;
	}

	.show-table {
		clear: both;
	}

	.table-slider {
		width: calc(100vw - 10px);
		overflow-x: auto;
	}
}
