/*-------------------------*/
/*----------FONTS----------*/
/*-------------------------*/

@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900,200italic,300italic,400italic,600italic,700italic,900italic);

/*-------------------------*/
/*----------GLOBAL---------*/
/*-------------------------*/

* {
	border: 0;
	font-family: Source Sans Pro;
	margin: 0;
	padding: 0;
}

html, body {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body {
	overflow: hidden;
}

ul {
	list-style: none;
	font-size: 0;
}

/*-------------------------*/
/*----------HEADER---------*/
/*-------------------------*/

header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 96px;
	padding: 0;
	margin: 0;
	background: #3670f7;
	z-index: 1000;
}



header div.wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	z-index: 1005;
}

header a.logo {
	 text-decoration: none;
}

header a.logo span.icon {
	width: 250px;
	height: 74px;
	background-image: url(../images/logo/amp_clean_energy.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: inline-block;
	margin: 8px 0 0 15px;
	z-index: 1005;
}

@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) {
	header a.logo span.icon {
		/*background-image: url(../images/ista_logo_white_240x105.png);*/
	}
}

header a.logo div.heading {
	height: 44px;
	display: inline-block;
	border-left: 2px solid #FFF;
	vertical-align: top;
	box-sizing: border-box;
	margin: 27px 0 0 4px;
	padding: 0 0 0 17px;
}

header a.logo div.heading span.main {
	display: block;
	font-size: 18px;
	color: #fff;
	font-weight: 400;
}

header a.logo div.heading span.ista {
	display: block;
	font-size: 15px;
	color: #0B1B51;
	font-weight: 400;
	font-style: italic;
}

header a.logo div.heading span.ista img {
	margin-left: 3px;
}

header ul.right {
	position: absolute;
	top: 14px;
	right: 15px;
	line-height: 30px;
}

header ul.right li {
	height: 32px;
	line-height: 32px;
	font-size: 13px;
	color: #fff;
}

header ul.right li ul {
	position: relative;
	text-align: right;
	font-weight: 600;
}

header ul.right li ul li {
	color: #fff;
	font-size: 14px;
	display: inline-block;
	padding-right: 25px;
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 18px 18px;
}

header ul.right li ul li a {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}

header ul.right li ul li.logout {
	background-image: url(../images/icon/svg/ffffff/logout.svg);
	display: inline-block;
}

header > #header_notice {
	display: none;
	position: absolute;
	top: 156px;
	left: 50%;
	margin-left: -200px;
	min-width: 380px;
	max-width: 500px;
	height: 14x;
	padding: 5px 8px;
	border-radius: 4px;
	box-sizing: border-box;
	text-align: center;
	z-index: 60;
  }
  
  header > #header_notice p {
	font-size: 14px;
	font-weight: 600;
	padding: 0;
	margin: 0;
	color: #ffffff;
  }
  
  header > #header_notice:not(.load) span {
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center;
	padding: 0 12px 0 0;
	display: inline-block;
	height: 18px;
	width: 18px;
	vertical-align: middle;
  }
  
  header > #header_notice:not(.load) span {
	background-image: url("/public/images/icon/svg/ffffff/info.svg");
  }
  
  header > #header_notice.info {
	background-color: #f9f3be;
	border: 1px solid #000;
  }
  
  header > #header_notice.info p {
	color: #333333 !important;
  }
  
  header > #header_notice.info span {
	background-image: url("/public/images/icon/svg/333333/info.svg");
  }
  
  header > #header_notice.warning {
	background-color: #ffa6a6;
	border: 1px solid #000;
  }
  
  header > #header_notice.warning p {
	color: #333333 !important;
  }
  
  header > #header_notice.warning span {
	background-image: url("/public/images/icon/svg/333333/warning.svg");
  }
  
  header > #header_notice.success {
	background-color: #a6ffb6;
	border: 1px solid #000;
  }
  
  header > #header_notice.success p {
	color: #333333 !important;
  }
  
  header > #header_notice.success span {
	background-image: url("/public/images/icon/svg/333333/tick.svg");
  }
  
  header > #header_notice.load span {
	display: inline-block;
	position: relative;
	font-size: 10px;
	margin: -2px 15px 0 0;
	text-indent: -9999em;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #ffffff;
	background: -moz-linear-gradient(
	  left,
	  #ffffff 10%,
	  rgba(255, 255, 255, 0) 42%
	);
	background: -webkit-linear-gradient(
	  left,
	  #ffffff 10%,
	  rgba(255, 255, 255, 0) 42%
	);
	background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	background: -ms-linear-gradient(
	  left,
	  #ffffff 10%,
	  rgba(255, 255, 255, 0) 42%
	);
	background: linear-gradient(
	  to right,
	  #ffffff 10%,
	  rgba(255, 255, 255, 0) 42%
	);
	position: relative;
	-webkit-animation: load3 1.4s infinite linear;
	animation: load3 1.4s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	z-index: 65;
	vertical-align: top;
  }
  
  header > #header_notice.load span:before {
	width: 50%;
	height: 50%;
	background: #ffffff;
	border-radius: 100% 0 0 0;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
  }
  
  header > #header_notice.load span:after {
	background: #00003C;
	width: 75%;
	height: 75%;
	border-radius: 50%;
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
  }

header #notice {
	display: none;
	position: absolute;
	width: 450px;
	height: 26px;
	line-height: 26px;
	background: #D7E2FD;
	border: 1px solid #3670f7; 
	left: 50%;
	top: 11px;
	margin-left: -235px;
	padding: 0 10px;
	border-radius: 2px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

header #loader {
	display: none;
	position: absolute;
	width: 450px;
	left: 50%;
	top: 10px;
	margin-left: -235px;
	padding: 0 10px;
	line-height: 28px;
	text-align: center;
}

header #loader span.text {
	display: inline-block;
	font-size: 14px;
	font-weight: 400;
	color: #FFF;
	vertical-align: text-bottom;
	padding-left: 14px;
}

header #loader span.icon {
	display: inline-block;
	position: relative;
	font-size: 10px;
	margin: 0 auto;
	text-indent: -9999em;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #ffffff;
	background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
	position: relative;
	-webkit-animation: load3 1.4s infinite linear;
	animation: loader 1.4s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	z-index: 1010;
	vertical-align: text-bottom;
}

header #loader span.icon:before {
	width: 50%;
	height: 50%;
	background: #ffffff;
	border-radius: 100% 0 0 0;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
}

header #loader span.icon:after {
	background: #0B1B51;
	width: 75%;
	height: 75%;
	border-radius: 50%;
	content: '';
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/*-------------------------*/
/*----------GLOBAL---------*/
/*-------------------------*/

main {
	position: absolute;
	top: 96px;
	left: 0;
	width: 100%;
	height: calc(100% - 96px);
	box-sizing: border-box;
	overflow: hidden;
}

main ul#wrapper {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

main ul#wrapper li {
	position: relative;
	display: inline-block;
	font-size: 12px;
	box-sizing: border-box;
	vertical-align: top;
}

main ul#wrapper li.nav {
	width: 380px;
	height: 100%;
	background: #333;
	overflow: hidden;
	overflow-y: scroll;
}

main ul#wrapper li.nav::-webkit-scrollbar {
    -webkit-appearance: none;
	width: 16px;
}

main ul#wrapper li.nav::-webkit-scrollbar-thumb {
	border: 3px solid #333;
    border-radius: 18px;
    background-color: #555;
}

main ul#wrapper li.main {
	width: calc(100% - 380px);
	height: 100%;
}

/*-------------------------------*/
/*-------------LOGIN-------------*/
/*-------------------------------*/

form#login {
	position: relative;
	width: 450px;
	height: 145px;
	background: #EEE;
	border: 1px solid #CCC;
	border-radius: 1px;
	margin: 100px auto 0 auto;
	padding: 30px 0 0 0;
	text-align: center;
	-webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
}

form#login label {
	float: left;
	height: 26px;
	line-height: 26px;
	font-size: 14px;
	width: 160px;
	text-align: right;
	padding: 0 14px 0 0;
	margin-bottom: 12px;
	font-weight: 600;
}

form#login input {
	float: left;
	outline: 0;
	height: 26px;
	line-height: 12px;
	width: 175px;
	font-size: 12px;
	font-weight: 400;
	padding: 0 5px 0 5px;
	border: 1px solid #AAA;
	border-bottom: 1px solid #CCC;
	background-color: #FFF;
	vertical-align: text-bottom;
	margin-bottom: 12px;
	border-radius: 1px;
	-webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
}

form#login select {
	float: left;
	outline: 0;
	height: 24px;
	line-height: 24px;
	width: 175px;
	font-size: 12px;
	padding: 0 5px 0 5px;
	border: 1px solid #AAA;
	border-bottom: 1px solid #CCC;
	background-color: #FFF;
	vertical-align: text-bottom;
	margin-bottom: 12px;
	border-radius: 1px;
	-webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
}

form#login input[type=submit] {
	float: none;
	height: 28px;
	line-height: 28px;
	width: auto;
	font-size: 12px;
	font-weight: 600;
	padding: 0 10px;
	border: 1px solid #AAA;
	background-color: #DDD;
	border-radius: 1px;
	margin: 10px auto 0 auto;
	-webkit-appearance: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

form#login input[type=submit]:hover {
	background-color: #CCC;
}

/*-------------------------------*/
/*-------------FORMS-------------*/
/*-------------------------------*/

input {
	outline: 0;
	height: 32px;
	line-height: 32px;
	width: 175px;
	font-size: 14px;
	font-weight: 300;
	padding: 0 6px;
	border: 1px solid #AAA;
	border-bottom: 1px solid #999;
	background-color: #FFF;
	vertical-align: text-top;
	border-radius: 2px;
	box-sizing: border-box;
	-webkit-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
	box-shadow: inset 0px 0px 2px 0px rgba(0,0,0,0.2);
}

input.empty {
	color: #999;
}

button.radio {
	outline: 0;
	-webkit-appearance: none;
    display:inline-block;
    margin-left: -1px;
    padding: 4px 8px;
    font-size: 14px;
	font-weight: 300;
    line-height: 22px;
    color: #333;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
    vertical-align: middle;
    cursor: pointer;
	border-radius: 0;
    background-color: #f5f5f5;
    background-image: -moz-linear-gradient(top,#fff,#e6e6e6);
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));
    background-image: -webkit-linear-gradient(top,#fff,#e6e6e6);
    background-image: -o-linear-gradient(top,#fff,#e6e6e6);
    background-image: linear-gradient(to bottom,#fff,#e6e6e6);
    background-repeat: repeat-x;
    border: 1px solid #BBB;
    border-bottom-color: #BBB;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
	vertical-align: text-bottom;
}

button.radio.selected,
button.radio:hover {
	background-image: none;
	outline: 0;
	background-color: #D2D2D2;
}

button {
	outline: 0;
	-webkit-appearance: none;
    display:inline-block;
    margin-left: -1px;
    padding: 4px 12px;
    font-size: 14px;
	font-weight: 300;
    line-height: 22px;
    color: #333;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
    vertical-align: middle;
    cursor: pointer;
	border-radius: 0;
    background-color: #f5f5f5;
    background-image: -moz-linear-gradient(top,#fff,#e6e6e6);
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));
    background-image: -webkit-linear-gradient(top,#fff,#e6e6e6);
    background-image: -o-linear-gradient(top,#fff,#e6e6e6);
    background-image: linear-gradient(to bottom,#fff,#e6e6e6);
    background-repeat: repeat-x;
    border: 1px solid #BBB;
    border-bottom-color: #BBB;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
	vertical-align: text-bottom;
}

button img {
	height: 14px;
	width: 14px;
	vertical-align: text-bottom;
	padding-left: 6px;
}

button:hover {
    background-image: -moz-linear-gradient(top,#e6e6e6,#dddddd);
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(#dddddd));
    background-image: -webkit-linear-gradient(top,#e6e6e6,#dddddd);
    background-image: -o-linear-gradient(top,#e6e6e6,#dddddd);
    background-image: linear-gradient(to bottom,#e6e6e6,#dddddd);
	cursor: pointer;
}

select {
	font-size: 14px;
	min-width: 100px;
	padding: 4px 6px;
	border: 1px solid #000;	
}

/*-------------------------*/
/*------------NAV----------*/
/*-------------------------*/

.nav.loading {
	background-image: url(../images/loader333333.gif) !important;
	background-repeat: no-repeat !important;
	background-position: top+90px center !important;
	background-size: 32px !important;
}

nav div.header {
	position: fixed;
	top: 84px;
	left: 0;
	width: 340px;
	margin: 12px 12px 0 12px;
	height: 60px;
	background-color: rgba(51,51,51,0.65);
	z-index: 995;
}

nav ul.search {
	display: -ms-flex;
	display: -moz-flex;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	height: 36px;
	margin-top: 12px;
}

nav ul.search li:not(.level) {
	-ms-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}

nav ul.search li {
	display: inline-block;
}

nav ul.search li.level {
	border: 1px solid #888;
	width: 37px;
	background: #CCC;
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: center center;
}

nav ul.search li.level:not(.selected):hover {
	background-color: #AAA;
	cursor: pointer;
}

nav ul.search li.level.selected {
	background-color: #3670F7;
}

nav ul.search li.level.division {
	border-right: 1px solid #888;
	background-image: url(../images/extra/333333/multiple.svg);
}

nav ul.search li.level.unit {
	border-right: 0;
	border-left: 0;
	background-image: url(../images/extra/333333/single.svg);
}

nav input {
	height: 36px;
	line-height: 36px;
	width: 100%;
	margin: 0;
	background-image: url(../images/icon/svg/333333/search.svg);
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: right+8px center;
	z-index: 1000;
}

nav ul.order {
	display: -ms-flex;
	display: -moz-flex;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	height: 11px;
	border: 1px solid #777;
	border-top: 0;
	box-sizing: border-box;
}

nav ul.order li {
	display: inline-block;
	border-right: 1px solid #555;
	height: 100%;
	background: #AAA;
	cursor: pointer;
}

nav ul.order li:last-child {
	border-right: 0;
}

nav ul.order li.selected {
	background: #3670F7;
}

nav ul.order li:not(.selected):hover {
	background: #999;
}	

nav ul.hierarchy li.flex {
	-ms-flex: 1;
	-moz-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}

nav ul.hierarchy {
	width: calc(100% - 30px);
	height: 100%;
	margin: 64px 12px 0 12px;
	box-sizing: border-box;
	overflow: hidden;
}

nav ul.hierarchy > li {
	width: 100%;
	display: block;
	padding: 12px 0 12px 0;
	border-bottom: 1px solid #666;
}

nav ul.hierarchy > li ul.parent,
nav ul.hierarchy > li ul.list {
	display: -ms-flex;
	display: -moz-flex;
	display: -webkit-flex;
	display: flex;
	-ms-align-items: center;
	-moz-align-items: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

nav ul.hierarchy > li ul.child {
	display: none;
	padding-top: 12px;
}

nav ul.hierarchy > li ul.child > li {
	display: block;
	box-sizing: border-box;
	width: 100%;
}

nav ul.hierarchy li ul h3 {
	display: inline-block;
	line-height: 24px;
	font-size: 13px;
	font-weight: 400;
	color: #FFF;
	padding-left: 26px;
}

nav ul.hierarchy li ul.child h3 {
	font-size: 12px;
	font-weight: 300;
}

nav ul.hierarchy li ul.parent h3 {
	background-image: url(../images/logo/hwenergy_flame.png);
	background-repeat: no-repeat;
	background-position: center left;
	background-size: 20px auto;
}

nav ul.hierarchy ul li:hover > h3 {
	color: #86A9FA;
	cursor: pointer;
}

nav ul.hierarchy ul.parent li:hover > h3 {
	background-image: url(../images/logo/amp_flame_blue.png);
}

nav ul.hierarchy li ul.child span.childpath.top {
	position: absolute;
	top: -3px;
	left: 9px;
	display: block;
	border-left: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	width: 8px;
	height: 15px;
}

nav ul.hierarchy li ul.child:not(:last-child) span.childpath.bottom {
	position: absolute;
	top: 12px;
	left: 9px;
	display: block;
	border-left: 1px solid #FFF;
	width: 8px;
	height: calc(100%);
}

nav ul.hierarchy li ul.stats {
	height: 24px;
	line-height: 24px;
	display: inline-block;
	float: right;
	vertical-align: top;
	padding-left: 6px;
}

nav ul.hierarchy li ul.stats li {
}

nav ul.hierarchy li ul.stats li.fault span {
	display: inline-block;
	vertical-align: bottom;
	margin: -1px 0 0 5px;
	height: 21px;
	width: 21px;
	border-radius: 100%;
	background: #555555;
	-webkit-box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
	-moz-box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
	box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
}

nav ul.hierarchy li ul.stats li.fault.f0 span {
	background: #E7565E;
}

nav ul.hierarchy li ul.stats li.fault.f1 span {
	background: #67DB6F;
}

nav ul.hierarchy li ul.stats li.fr {
	text-align: right;
}

nav ul.hierarchy li ul.stats li.fr ul.value,
nav ul.hierarchy li ul.stats li.fr ul.maxmin {
	display: inline-block;
	font-size: 9px;
}

nav ul.hierarchy li ul.stats li.fr ul.value li,
nav ul.hierarchy li ul.stats li.fr ul.maxmin li {
	display: block !important;
	line-height: 12px;
	white-space: nowrap;
}

nav ul.hierarchy li ul.stats li.fr ul.value li {
	width: 45px;
	text-align: right;
}

nav ul.hierarchy li ul.stats li.fr ul.maxmin li {
	width: 30px;
	text-align: left;
}

nav ul.hierarchy li ul.stats li.fr span.icon {
	display: inline-block;
	width: 30px;
	height: 14px;
	background-image: url(../images/icon/svg/ffffff/fr.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 14px auto;
	vertical-align: top;
	margin-top: 6px;
}

nav ul.hierarchy li ul.stats li.fr ul li.return {
	color: #FE72FF;
}

nav ul.hierarchy li ul.stats li.fr ul li.flow {
	color: #29FF81;
}

nav ul.hierarchy li ul.stats li.fr ul li.delta {
	color: #FAA53B;
}

nav ul.hierarchy li ul.stats li.consumption {
	width: auto;
	padding-right: 0;
	font-size: 14px !important;
	color: #DDD;
	font-weight: 200 !important;
}

nav ul.hierarchy li ul.stats li.consumption span {
	font-size: 11px !important;
	color: #DDD;
	padding-left: 2px;
	font-weight: 600;
}

/*-------------------------*/
/*-----------MAIN----------*/
/*-------------------------*/

div.title {
	width: 100%;
	height: 50px;
	background: #D7E2FD;
	border-top: 1px solid #333;
}

div.title div.menu {
	display: inline-block;
	width: 35px;
	height: 50px;
	box-sizing: border-box;
	vertical-align: top;
	background-image: url(../images/extra/000000/menu.svg);
	color: #000;
	background-position: center right;
	background-repeat: no-repeat;
	background-size: 20px;
	cursor: pointer;
}

div.title h1 {
	display: inline-block;
	width: auto;
	height: 50px;
	line-height: 50px;
	box-sizing: border-box;
	padding: 0 0 0 14px;
	font-size: 20px;
	color: #000;
	font-weight: 300;
}

div.title ul.controls {
	float: right;
	height: 46px;
	margin: 4px 4px 0 0;
	vertical-align: top;
	box-sizing: border-box;
}

div.title ul.controls li {
	width: auto;
	height: 50px;
	padding: 0 10px;
	background-repeat: no-repeat;
	background-position: top center;
	padding-top: 23px;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #000 !important;
	cursor: pointer !important;
}

div.title ul.controls li.sso {
	background-image: url(../images/icon/svg/333333/minuteview.svg);
	background-size: 26px auto;
}

div.title ul.controls li.tabular {
	background-image: url(../images/icon/svg/333333/table.svg);
	background-size: 23px auto;
}

div.title ul.controls li.refresh {
	background-image: url(../images/icon/svg/333333/refresh.svg);
	background-size: 18px auto;
	background-position: center 4px;
}

div.title ul.controls li.graphical {
	background-image: url(../images/icon/svg/333333/graph.svg);
	background-size: 23px auto;
}

.main div.wrapper {
	position: relative;
	width: 100%;
	padding: 15px;
	box-sizing: border-box;
}

.main > div.wrapper {
	height: calc(100% - 50px);
	overflow: hidden;
	overflow-y: scroll;
}

.main > div.wrapper.lock {
	overflow-y: hidden;	
}

ul.toolbar {
	display: inline-flex;
	font-size: 0 !important;
	width: 100%;
	box-sizing: border-box;
	padding: 8px;
}

ul.toolbar.disabled {
	opacity: 0.7;
	pointer-events: none;
}

ul.toolbar li {
	flex: 1 0;
}

ul.toolbar li.move {
	flex: 0 0 auto;
	font-size: 0 !important;
	white-space: nowrap;
	width: 50px !important;
	padding-top: 21px;
	vertical-align: bottom;
}

ul.toolbar li.move div {
	position: relative;
    display: inline-block;
    width: 23px !important;
    height: 28px;
	padding: 0;
	margin: 0;
	
	font-size: 15px !important;

    border: 1px solid #CCC;
    border-left: 0;
    border-radius: 0;

    background-clip: padding-box;

    background: #DDDDDD;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #DDDDDD), color-stop(0.6, #eee));
    background-image: -webkit-linear-gradient(center bottom, #DDD 0%, #eee 60%);
    background-image: -moz-linear-gradient(center bottom, #DDD 0%, #eee 60%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#dddddd', endColorstr = '#cccccc', GradientType = 0);
    background-image: linear-gradient(to top, #ddd 0%, #eee 60%);
	vertical-align: bottom;
}

ul.toolbar li.move div:hover {
    background: #d6d6d6;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #d6d6d6), color-stop(0.6, #e6e6e6));
    background-image: -webkit-linear-gradient(center bottom, #d6d6d6 0%, #e6e6e6 60%);
    background-image: -moz-linear-gradient(center bottom, #d6d6d6 0%, #e6e6e6 60%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#d6d6d6', endColorstr = '#e6e6e6', GradientType = 0);
    background-image: linear-gradient(to top, #d6d6d6 0%, #e6e6e6 60%);
	cursor: pointer;
}

ul.toolbar li.move div b {
	border-style: solid;
	height: 0;
	left: 50%;
	margin-left: -4px;
	margin-top: -4px;
	position: absolute;
	top: 50%;
	width: 0;
}

ul.toolbar li.move div.right b {
	border-color: transparent transparent transparent #888;
	border-width: 4px 0 4px 6px;
}

ul.toolbar li.move div.left b {
	border-color: transparent #888 transparent transparent;
	border-width: 4px 6px 4px 0;
}

ul.toolbar li h3 {
	font-weight: 400;
	font-size: 13px;
	line-height: 17px;
	color: #333;
	margin: 0 0 4px 0;
	padding: 0 0 0 25px;
	background-repeat: no-repeat;
	background-position: center left+2px;
	background-size: 17px auto;
}

ul.toolbar li h3.dt {
	background-image: url(../images/icon/svg/333333/event.svg);
}

ul.toolbar li h3.range {
	background-image: url(../images/icon/svg/333333/clock.svg);
}

ul.toolbar li h3.overlay {
	background-image: url(../images/icon/svg/333333/twoway.svg);
}

ul.toolbar li > div,
ul.toolbar li > select {
	width: 100% !important;
}

.select2-container .select2-choice {
	font-size: 13px !important;
	font-weight: 300 !important;
}

ul.toolbar .s2style {
	width: calc(100%) !important;
	vertical-align: top;
    display: inline-block;
    height: 30px;
    overflow: visible;
    position: relative;
	padding: 0px;

    border: 1px solid #CCC;
	border-left: 1px solid #E4E4E4;
	box-sizing: border-box;
    white-space: nowrap;
    line-height: 28px;
    color: #444;
    text-decoration: none;

    background-clip: padding-box;

    -webkit-touch-callout: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;

    background-color: #fff;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
    background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
    background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
    background-image: linear-gradient(to top, #eee 0%, #fff 50%);
	z-index: 1000;
	cursor: pointer;
}

ul.toolbar .s2style.open {
    border: 1px solid #5897fb;
    border-bottom-color: transparent;
    -webkit-box-shadow: 0 1px 0 #fff inset;
            box-shadow: 0 1px 0 #fff inset;

    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    background-color: #eee;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
    background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
    background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
    background-image: linear-gradient(to top, #fff 0%, #eee 50%);
}

ul.toolbar .s2style span.arrow {
    display: inline-block;
    width: 18px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
	
	font-size: 15px !important;

    border-left: 1px solid #DDD;
    border-radius: 0;

    background-clip: padding-box;

    background: #DDDDDD;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #DDDDDD), color-stop(0.6, #eee));
    background-image: -webkit-linear-gradient(center bottom, #DDD 0%, #eee 60%);
    background-image: -moz-linear-gradient(center bottom, #DDD 0%, #eee 60%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#dddddd', endColorstr = '#cccccc', GradientType = 0);
    background-image: linear-gradient(to top, #ddd 0%, #eee 60%);
}

ul.toolbar .s2style.open span.arrow {
    background: transparent;
    border-left: none;
    filter: none;
}

ul.toolbar .s2style.open span.arrow  b {
    background-position: -18px 1px;
}

ul.toolbar .s2style span.arrow b {
	border-color: #888 transparent transparent transparent;
	border-style: solid;
	border-width: 5px 3px 0 3px;
	height: 0;
	left: 50%;
	margin-left: -3px;
	margin-top: -2px;
	position: absolute;
	top: 50%;
	width: 0;
}

ul.toolbar .s2style input {
	background: none;
	width: 100%;
	height: 100%;
	line-height: 100%;
	border: 0;
	border-radius: 0;
	box-shadow: 0;
	padding: 3px 8px;
	margin: 0;
	vertical-align: top;
	-webkit-box-shadow: none;
	box-shadow: none;
	cursor: pointer;
}

ul.toolbar div.content {
	display: none;
	position: absolute;
	top: 50px;
	left: 0;
	background: #FFF;
	width: 100%;
	min-width: 200px;
	border: 1px solid #5897fb;
	border-top: 0;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	box-sizing: border-box;
	z-index: 1000;
	-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
	box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
}

ul.toolbar div.content ul.lock {
	position: relative;
	width: calc(100% - 8px);
	padding: 2px 0 4px 2px;
	box-sizing: border-box;
	border-top: 1px solid #DDD;
	margin: 0 4px;
}

ul.toolbar div.content ul.lock li {
	border: 1px solid #C6C6C6;
	border-radius: 4px;
	padding: 4px 7px;
	background: #EEE;
	margin: 4px 4px 0 0;
	color: #555;
	cursor: pointer;
}

ul.toolbar div.content ul.lock li.selected {
	border: 1px solid #AAA;
	background: #D6D6D6;
	color: #333;
}

ul.toolbar div.content ul.lock li:not(.selected):hover {
	background: #E2E2E2;
	border: 1px solid #999;
}

ul.toolbar div.content div.picker {
	position: relative;
	width: 100%;
}

ul.toolbar div.picker .ui-datepicker {
	width: 100% !important;
	height: 100% !important;
	box-sizing: border-box !important;
	border: 0 !important;
}

ul.toolbar div.picker .ui-datepicker td span,
ul.toolbar div.picker .ui-datepicker td a {
	padding: .3em !important;
	text-align: center !important;
}

div.chart-wrapper {
	margin: 16px 0 0 0;
	width: 100%;
	height: 350px;
	box-sizing: border-box;
	text-align: center;
}

div.chart-wrapper.loading {
	opacity: 0.65;
	background-image: url(../images/loaderFFFFFF.gif);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 34px;
	pointer-events: none;
}

div.chart-wrapper span.empty {
	display: none;
}

div.chart-wrapper.empty span.empty {
	display: inline-block;
	font-size: 16px;
	font-weight: 300;
	text-align: center;
	color: #555;
	margin-top: 120px;
}

div#chart {
	width: 100%;
	height: 100%;
}

li.main ul.stats {
	display: block;
	width: 100%;
	margin: 10px 0 0 0;
	padding: 0;
	box-sizing: border-box;
}

li.main ul.stats li {
	display: inline-block;
	width: 20%;
	height: 150px !important;
	padding: 8px;
	box-sizing: border-box;
	transition: all 0.1s;
}

li.main ul.stats li.refreshing {
	opacity: 0.65;
}

@media screen and (max-width: 1350px) {
	li.main ul.stats li {
		width: 25%;
	}
}

@media screen and (max-width: 1175px) {
	li.main ul.stats li {
		width: 33.33%;
	}
}

li.main ul.stats li div.wrapper {
	width: 100%;
	height: 132px !important;
	border:1px solid #3670f7;
	background: #D7E2FD;
	box-shadow: 0px 0px 4px 0px #DDD;
	box-sizing: border-box;	
	text-align: center;
}

li.main ul.stats li h1 {
	display: table;
	width: 100%;
	text-align: center;
	margin: 0 0 3px 0;
	height: 30px;
}

li.main ul.stats li h1 span {
	display: table-cell;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	width: 100%;
	text-align: center;
	vertical-align: middle;
}

li.main ul.stats li h1 span p {
	display: inline-block;
}

li.main ul.stats li h2 {
	font-size: 24px;
	font-weight: 200;
	color: #000;
	width: 100%;
	text-align: center;
}

li.main ul.stats li h3 {
	font-size: 11px;
	font-weight: 300;
	color: #222222;
	width: 100%;
	text-align: center;
	margin: 10px 0;
}

li.main ul.stats li h2 span.uom {
	font-size: 14px;
	font-weight: 300;
	color: #000;
	padding-left: 4px;
}

li.main ul.stats li div.fault {
	display: inline-block;
	vertical-align: bottom;
	margin: 0;
	background: #E6E6E6;
	height: 32px;
	width: 32px;
	border-radius: 100%;
	background: #CCC;
	-webkit-box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
	-moz-box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
	box-shadow: inset 0px 0px 3px 0px rgba(0,0,0,0.30);
}

li.main ul.stats li div.fault.f0 {
	background: #E7565E;
}

li.main ul.stats li div.fault.f1 {
	background: #67DB6F;
}

li.main ul.stats li div.weather {
	display: inline-block;
	width: 42px;
	height: 38px;
	margin-right: 7px;
	background-image: url(../images/weather/placeholder.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

li.main ul.stats li div.bar {
	position: relative;
	display: inline-block;
	background: linear-gradient(180deg, #DDDDDD 0%, #D6D6D6 100%);
	margin: 14px 0;
	width: 96%;
	height: 12px;
	border: 1px solid #547511;
	text-align: left;
	font-size: 0;
	overflow: hidden;
	white-space: nowrap;
}

li.main ul.stats li div.bar span.line {
	position: absolute;
	border-right: 1px solid #333;
	height: 20px;
	top: -4px;
	left: 0;
	width: 50%;
}

li.main ul.stats li div.bar span.filler {
	display: inline-block;
	height: 100%;
	background: linear-gradient(180deg, #FF7373 0%, #FF5050 100%);
	vertical-align: top;
	margin: 0 !important;
	box-sizing: border-box;
}

li.main ul.stats li div.bar span.filler.black {
	background: linear-gradient(180deg, #555555 0%, #666666 100%);
}

li.main ul.stats li div.bar span.filler.blue {
	background: linear-gradient(180deg, #6A7DAB 0%, #596A90 100%);
}

li.main ul.stats li div.bar span.filler.fuel {
	background: linear-gradient(180deg, #31773B 0%,#296433 100%);
}

li.main ul.stats li div.bar span.filler.green {
	background: linear-gradient(180deg, #6EE978 0%,#67DB6F 100%);
}

li.main ul.stats li ul.rr {
	margin: 12px 0;
	text-align: center;
	width: 100%;
}

li.main ul.stats li ul.rr li {
	display: inline-block;
	padding: 2px 0;
	margin: 0 1px 0 0;
	color: #FFF;
	font-size: 14px;
	width: 14px;
	height: 18px !important;
	font-weight: 500;
	background: #333333;
	border-radius: 2px;
	border: 0;
	font-family: monospace;
}

li.main ul.stats li ul.rr li.decimal {
	width: 8px;
	background: none;
	color: #0B1B51;
	font-weight: 700;
}

li.main .datatable {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.55);
	padding: 42px;
	box-sizing: border-box;
	z-index: 1050;
}

li.main .datatable .container {
	position: relative;
	width: 100%;
	height: 100%;
	background: #FFF;
	border-radius: 2px;
	padding: 20px;
	box-sizing: border-box;
}

li.main .datatable .container .table {
	width: 100%;
	box-sizing: border-box;
	height: calc(100% - 60px);
	overflow: hidden;
	overflow-y: scroll;
}

li.main .datatable .container .table table {
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
}

li.main .datatable .container .table table tr td {
	padding: 6px 0;
	border-bottom: 1px solid #DDD;
	text-align: center;
}

li.main .datatable .container .table table tr:not(.header):hover td {
	background: #EEE;
}

li.main .datatable .container .table table tr.null td {
	color: #AAA;
}

li.main .datatable .container .table table tr:last-child td {
	border-bottom: 0;
}

li.main .datatable .container .table table tr.header td {
	padding: 7px 0;
	font-weight: 600;
	border-bottom: 1px solid #777;
}

li.main .datatable .container .footer {
	position: absolute;
	bottom: 0;
	left:  0;
	width: calc(100% - 40px);
	height: 50px;
	background: #D5EF98;
	border: 1px solid #C2E766;
	margin: 20px;
	box-sizing: border-box;
	text-align: right;
}

li.main .datatable .container .footer ul {
	height: 100%;
}

li.main .datatable .container .footer li {
	height:50px;
	line-height: 50px;
	font-size: 13px !important;
	font-weight: 600;
	color: #333;
	padding-right: 22px;
	background-position: center right;
	background-repeat: no-repeat;
	background-size: 13px 13px;
	margin-right: 20px;
}

li.main .datatable .container .footer li:hover {
	text-decoration: underline;
	cursor: pointer;
}

li.main .datatable .container .footer li.close {
	background-image: url(../images/icon/svg/333333/error.svg);	
}

li.main .datatable .container .footer li.export {
	background-image: url(../images/icon/svg/333333/out.svg);	
	background-size: 15px 15px;
}

/*-------------------------*/
/*-----------ERROR---------*/
/*-------------------------*/

h1.error {
	display: inline-block;
	font-size: 28px;
	padding: 10px;
	margin-top: 10px;
	width: 90%;
	border-bottom: 1px solid #777777;
	text-align: center; 
}

h2.error {
	display: inline-block;
	font-size: 18px;
	font-weight: 400;
	margin-top: 10px;
	width: 100%;
	text-align: center;
}