/* CSS Reset */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
code,
del,
dfn,
em,
img,
q,
dl,
dt,
dd,
ol,
ul,
li,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

body,
input,
textarea {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 1em;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

a {
	cursor: pointer;
}

a img {
	border: none;
}

img {
	vertical-align: middle;
}

/* Base */
html {
	font-size: 100.01%;
}

body {
	font-size: 75%;
	color: #1a1a1a;
	background: #f4f4f4;
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
	color: #666;
}

h1 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	color: #333;
	padding-bottom: 20px;
}

h2 {
	color: #454545;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

h3 {
	color: #666666;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 15px;
}

h4 {
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 15px;
}

h5 {
	font-size: 12px;
	margin-bottom: 15px;
}

h6 {
	font-size: 11px;
	margin-bottom: 15px;
}

h1 img,
h2 img,
h3 img,
h4 img,
h5 img,
h6 img {
	margin: 0;
}

p {
	margin: 0 0 1.5em;
	clear: both;
	line-height: 1.6;
}

a:focus,
a:hover {
	color: #000;
}

a {
	color: #43598f;
	text-decoration: none;
}

a.button {
	color: #fff;
}

blockquote {
	margin: 1.5em;
	color: #666;
	font-style: italic;
}

strong {
	font-weight: bold;
}

em,
dfn {
	font-style: italic;
}

dfn {
	font-weight: bold;
}

sup,
sub {
	line-height: 0;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
}

address {
	margin: 0 0 1.5em;
	font-style: italic;
}

/* misc */
.cl {
	clear: both;
	display: block;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	line-height: 0;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

.fn {
	float: none !important;
}

.tl {
	text-align: left;
}

.tr {
	text-align: right;
}

.tc {
	text-align: center;
}

.hd {
	display: none;
}

.pointer {
	cursor: pointer;
}

.clear {
	clear: both
}

.clear20 {
	clear: both;
	height: 20px;
}

.clear40 {
	clear: both;
	height: 40px;
}


.strong {
	font-weight: bold !important;
}

/* Main Elements */
#logo {
	margin-top: -2px;
	padding: 2px 15px;
	opacity: 1;
	height: 62px;
}

#header {
	position: relative;
	z-index: 100;
	color: #fff;
	width: 100%;
}

#header a {
	color: #fff;
	text-decoration: underline;
}

#header a:hover {
	color: #fff;
	text-decoration: none;
}

.header-top {
	background: #2c2c2c;
	padding: 8px 0;
}

.header-top:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.header-middle {
	background: #404040 url('../img/header-middle.gif') repeat-x bottom;
	border-top: 1px solid #606060;
	padding: 0 0px 0 0px;
	min-height: 62px;
	clear: both;
	overflow: visible;
}

.header-middle>a {
	float: left;
}

.header-left {
	float: left;
	display: flex;
	align-items: center;
	gap: 10px;
}

#header p {
	margin: 0 0 5px 0;
}

#header span {
	color: #6e7d87;
}

.footer {
	background: #313131 url('../img/header-bottom.gif') repeat-x bottom;
	border-top: 1px solid #545454;
	border-bottom: 1px solid #000;
	padding: 10px 25px;
	color: #fff;
}

.footer a {
	color: #fff;
	text-decoration: underline;
}

.footer a:hover {
	color: #fff;
	text-decoration: none;
}

#page-wrapper {
	border-top: 1px solid #060606;
	border-bottom: 1px solid #000000;
	background: #f4f4f4 url('../img/page-bg.gif') repeat-x top;
}

.page {}

#page-content {
	padding: 25px 25px 25px 25px;
	color: #333;
}

#page-header {
	border-bottom: 1px solid #d5d5d5;
	padding-bottom: 10px;
	margin-bottom: 25px;
	margin-left: 1%;
	margin-right: 1%;
}

/* Navigation */
#nav {
	font-size: 16px;
	font-weight: bold;
	list-style-type: none;
	margin: 0;
	padding: 0;
	min-height: 62px;
	width: auto;
	/* uncomment if you want to reserve space for logo + filter */
	/* max-width: calc(100% - 550px); */
}

#nav>li {
	float: right;
	text-align: center;
}

#nav li {
	display: block;
	padding: 19px 14px;
	position: relative;
	height: 24px;
	font-size: 16px;
	white-space: nowrap;
}

#nav li ul {
	display: none;
	left: 0;
	position: absolute;
	z-index: 999999;
	top: 62px;
}

#nav li ul li {
	min-width: 125px;
	text-align: left;
	background: #404040;
}

#nav li:hover,
#nav li.current {
	background: #2d2d2d;
}

#nav>li a {
	color: #fff;
	padding: 22px 4px 22px 4px;
	text-shadow: 0 -1px 1px #000000;
	font-size: 14px;
	text-decoration: none;
}

#nav li a:hover {
	text-decoration: none;
}

#nav li:hover>a {
	background-position: 0 16px;
}

/* sub levels link hover */
#nav ul li:hover a,
#nav li:hover li a {
	background: none;
	border: none;
}

#nav ul a:hover {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
}


#nav ul li:last-child>a {
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomleft: 3px;
	-webkit-border-bottom-right-radius: 3px;
	-moz-border-radius-bottomright: 3px;
}

/* clearfix */
#nav:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

#nav {
	display: inline-block;
}

html[xmlns] #nav {
	display: block;
}

* html #nav {
	height: 1%;
}



/* Page Blocks */
.box {
	background: #fff;
	border: 1px solid #9d9d9d;
	margin-bottom: 15px;
	padding: 15px;
	border-top: 0;
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
}

.box a {
	color: #1f92ff;
	text-decoration: none;
}

.box a:hover {
	color: #1f92ff;
	text-decoration: underline;
}

.box a.button,
.box a.button:hover {
	color: #E9E9E9;
	text-decoration: none;
}



.box.stats {
	padding: 30px 15px;
}

.box.table {
	padding: 0;
}

.box-header {
	border: 1px solid #9d9d9d;
	font-weight: bold;
	font-size: 14px;
	background: #cdcdcd url('../img/boxheader.gif') repeat-x top;
	padding: 10px 15px;
	color: #333333;
	-moz-border-radius-topleft: 3px;
	-moz-border-radius-topright: 3px;
	-webkit-border-top-left-radius: 3px;
	-webkit-border-top-right-radius: 3px;
	text-shadow: 1px 1px 1px #fff;
}

.box-header .fr a {
	color: #333333;
	text-decoration: none;
	font-size: 12px;
	padding: 0 5px;
}

.box-header .fr a:hover {
	color: #1f92ff;
}

.box h2 {
	color: #454545;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

.box h3 {
	color: #666666;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 15px;
}

.box h4 {
	color: #666666;
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 15px;
}

.box ul {
	padding-bottom: 15px;
	padding-left: 30px;
}

.box ul li {
	margin-bottom: 5px;
	padding-left: 5px;
}

.box ol {
	list-style-position: inside;
	padding-bottom: 15px;
	padding-left: 15px;
}

.box ol li {
	margin-bottom: 5px;
}

.feedback.success {
	background-image: url('../img/icons/notifications/success.png');
}

.feedback.error {
	background-image: url('../img/icons/notifications/error.png');
}

.feedback.warning {
	background-image: url('../img/icons/notifications/warning.png');
}

.feedback.info {
	background-image: url('../img/icons/notifications/info.png');
}

.feedback.tip {
	background-repeat: no-repeat;
}

/* notifications */
.notification.success {
	background: #effeb9 url('../img/icons/notifications/success.png') no-repeat 10px 10px;
	border-color: #98c700;
}

.notification.error {
	background: #fccac3 url('../img/icons/notifications/error.png') no-repeat 10px 10px;
	border-color: #ea5338;
}

.notification.warning {
	background: #ffeaa7 url('../img/icons/notifications/warning.png') no-repeat 10px 10px;
	border-color: #f9b418;
}

.notification.info {
	background: #d1e4f3 url('../img/icons/notifications/info.png') no-repeat 10px 10px;
	border-color: #4d8fcc;
}

.notification.tip {
	background: #feeac9 url('../img/icons/notifications/tip.png') no-repeat 10px 10px;
	border-color: #d38e49;
}

.notification {
	border-width: 1px;
	border-style: solid;
	padding: 17px 17px 17px 55px;
	-moz-border-radius: 3px;
	-webkit-border: 3px;
	border-radius: 3px;
	position: fixed;
	bottom: 50px;
	right: 15px;
	min-width: 500px;
	z-index: 9999;
}

.notification .close {
	background: url("../img/icons/small/close.png") no-repeat scroll 0 0 transparent;
	cursor: pointer;
	display: block;
	float: right;
	height: 16px;
	margin-top: 2px;
	opacity: 0.7;
	width: 16px;
}

.notification .close:hover {
	opacity: 1;
}

/* Forms */
form label:not(.ui-dropdownchecklist-text) {
	padding-top: 5px;
	margin-right: 8px;
	display: block;
	color: #454545;
	font-size: 13px;
	font-weight: bold;
	float: left;
}

form p {
	margin-bottom: 10px;
	padding-bottom: 20px;
}

form div.row {
	clear: both;
	padding: 4px 0;
	margin-bottom: 10px;
	min-height: 25px;
}

form .row label {
	width: 115px;
	text-align: right;
}

form .row .checkbox,
form .row .radio {
	width: auto;
}

form input,
form textarea,
form select {
	background: #FFFFFF url('../img/input-bg.gif') repeat-x top;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border: 1px solid #c7c6c6;
	outline: medium none;
	padding: 4px 6px 4px 6px;
	margin: 0;
}

form .row input[type=checkbox] {
	width: auto;
}

form input.error {
	border: 1px solid #FCCAC3;
}

form input.error:focus {
	border: 1px solid #EA5338;
	-webkit-box-shadow: 0 1px 2px #EA5338 inset;
	-moz-box-shadow: 0 1px 2px #EA5338 inset;
}

form input[type=checkbox],
form input[type=radio] {
	/*	float:left;*/
	border: none;
	background: none;
	margin: 0;
	padding: 0;
	margin-top: 3px;
}

form input[type=checkbox]:focus,
form input[type=radio]:focus {
	border: none;
	background: none;
}

form label.checkbox,
form label.radio {
	font-weight: normal;
	margin: 0;
	padding: 0 20px 0 6px;
	vertical-align: bottom;
}

form input:focus,
form textarea:focus,
form select:focus {
	-moz-box-shadow: 0px 0px 3px #d0e1f7;
	/*border:1px solid #555555;*/
}

form optgroup {
	background: #f7f7f7;
}

fieldset {
	margin-bottom: 15px;
}

/* Buttons */
.medium {
	font-size: 12px;
	padding: 0.4em 1.5em 0.42em;
}

.small {
	font-size: 11px;
	padding: 0.2em 1em 0.275em;
}

/* Tables */
table {
	border-collapse: separate;
	border-spacing: 0px;
}

caption,
th,
td {
	text-align: left;
	font-weight: normal;
}

table,
td,
th {
	vertical-align: middle;
}

table {
	width: 100%;
	border-collapse: collapse;
}

thead td,
thead th {
	background-color: #E6E6E6;
}

tr td,
tr th,
thead th,
div.cell {
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	color: #616161;
	padding: 8px;
}

tr td {
	vertical-align: middle;
}

thead td,
thead th {
	font-weight: bold;
	padding: 8px;
}

th,
td {
	border-bottom: 1px solid #DEDEDE;
}

tbody th {
	text-align: left;
}

/* Dialog Box */
.message {
	font-size: 12px;
	padding: 15px;
	margin-bottom: 10px;
	border: 1px solid #AAAAAA;
}

.message.new {
	background: #feeac9;
	border: 1px solid #d38e49;
}

.message h4 {
	border-bottom: 1px solid #AAAAAA;
	padding-bottom: 5px;
}

small {
	font-size: 10px;
}

/* Login Page */
#login-wrapper {
	margin: 0 auto;
	width: 400px;
	margin-top: 150px;
}

div#login-wrapper div.notification {
	padding: 15px 15px 15px 50px;
}

.box-header.login {
	font-size: 19px;
	padding: 10px 15px;
}

form.login label {
	width: 145px;
}

form.login input {
	width: 200px;
}


/* Specific elements */
.box h1 {
	margin-bottom: 15px;
}

.datagrid {
	margin-top: 15px;
}


#attr_list {
	width: 250px;
	float: left;
	margin-right: 20px;
}

#attr_list ul {
	margin-top: 20px;
}

#attr_list ul li {
	margin-bottom: 10px;
	margin-left: 30px;
}

#attr_table {
	float: left;
	width: 600px;
}

#searchfield {
	width: 200px
}

#searchfield_to,
#searchfield_from {
	width: 70px;
}

.toolbarseparator {
	width: 10px;
	margin-right: 5px;
	height: 16px;
	border-right: 1px solid #d1d1d1;
	display: inline-block;
	vertical-align: middle;
}


#filter_selector {
	padding: 2px 8px;
	border: 1px solid #d1d1d1;
	background-color: #e1e1e1;
	cursor: pointer;
}

#filter_selector_menu {
	width: 240px;
	background-color: #e1e1e1;
	border-bottom: 1px solid #d1d1d1;
	border-right: 1px solid #d1d1d1;
	border-left: 1px solid #d1d1d1;
	cursor: pointer;
	padding-top: 5px;
	-webkit-box-shadow: 2px 2px 2px #333333;
	-moz-box-shadow: 2px 2px 2px #333333;
}

#filter_selector_menu li {
	list-style-type: none;
	padding: 3px 1px;
}

#filter_selector_customer {
	padding: 2px 8px;
	border: 1px solid #d1d1d1;
	background-color: #e1e1e1;
	cursor: pointer;
}

#filter_selector_menu_customer {
	width: 240px;
	background-color: #e1e1e1;
	border-bottom: 1px solid #d1d1d1;
	border-right: 1px solid #d1d1d1;
	border-left: 1px solid #d1d1d1;
	cursor: pointer;
	padding-top: 5px;
	-webkit-box-shadow: 2px 2px 2px #333333;
	-moz-box-shadow: 2px 2px 2px #333333;
}

#filter_selector_menu_customer li {
	list-style-type: none;
	padding: 3px 1px;
}

input,
textarea {
	border: 1px solid #CACACA;
	outline: medium none;
	padding: 2px;
	background: url("../img/bginput.png") repeat-x scroll center top white;
	margin: 0;
	-border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-background-clip: padding-box;
	border-radius: 2px;
}

input:focus,
textarea:focus {
	border: 1px solid #1F92FF;
}

input.invalid,
textarea.invalid {
	border: 1px solid #EA5338;
}

input.invalid:focus,
textarea.invalid:focus {
	border: 1px solid #EA5338;
	-webkit-box-shadow: 0 1px 2px #EA5338 inset;
	-moz-box-shadow: 0 1px 2px #EA5338 inset;
}

#status_dialog p {
	/* font-style: italic; */
}

#status_dialog p span {
	font-weight: bold;
	font-size: 13px;
}

#status_dialog div.row {
	clear: both;
	padding: 4px 0;
	margin-bottom: 10px;
	min-height: 25px;
}

#status_dialog .row label {
	width: 60px;
	text-align: right;
}

#status_dialog label {
	padding-top: 5px;
	margin-right: 8px;
	display: block;
	color: #454545;
	font-size: 13px;
	font-weight: bold;
	float: left;
}

.status1 td {
	color: #62665a;
	background-color: #ebf1de;
}

/* estime */
.status1 td a,
.status1 td a:hover {
	color: #62665a;
}

/* estime */
.status2 td {
	color: #8a7d71;
	background-color: #fde9d9;
}

/* confirmé */
.status2 td a,
.status2 td a:hover {
	color: #8a7d71;
}

/* estime */

.status3 td {
	color: #716e77;
	background-color: #e4dfec;
}

/* chargé */
.status3 td a,
.status3 td a:hover {
	color: #716e77;
}

/* estime */

.status4 td,
.closed td {
	color: #a2a2a2;
	background-color: #f2f2f2;
}

/* livré */
.status4 td a,
.status4 td a:hover,
.closed td a,
.closed td a:hover {
	color: #a2a2a2;
}

.paginationControl {
	font-family: Helvetica, Arial, sans-serif;
	margin: 10px 0;
	font-size: 12px;
}

div.paginationControl a {
	color: #0078cc;
	text-decoration: none;
	font-size: 12px;
}

div.paginationControl a:hover {
	color: #000;
}

div.paginationControl a:active {
	color: #777;
}

div.paginationControl a:focus {
	outline: 1px;
}



#file_list_container {
	height: 340px;
	overflow: auto;
}

#file_list {
	margin-left: 20px;
}

#file_list li {
	padding: 3px 6px;
	list-style-type: none;
}

#filter_selector_menu p,
#filter_selector_menu_customer p {
	margin: 5px;
	padding: 5px;
	line-height: normal;
}

.ui-widget-content a.button {
	color: #fff;
}

#tabs p {
	margin: 5px 0;
}

#tabs .qq-upload-button p {
	margin: 0;
}

#password_dialog table,
#password_dialog td {
	border: 0;
}

.ui-datepicker-trigger {
	cursor: pointer;
	padding-left: 2px;
}

.status_cbox_table {
	border: 0px;
	table-layout: fixed;
	width: auto;
}

.status_cbox_table td {
	border: 0px;
	padding: 0px;
	text-align: center;
	min-width: 32px;
	max-width: 32px;
	width: 32px;
}

td.centered {
	text-align: center;
}

.paginationControl {
	margin: 10px 0;
	height: 12px;
	font-weight: bold;
}

.paginationControl .disabled {
	font-weight: normal;
}

.paginationControl #current_page {
	background-color: #d1d1d1;
	padding: 2px 4px;
}

.paginationControl span.current_page {
	background-color: #d1d1d1;
	padding: 2px 4px;
}

.paginationControl .counter {
	float: right;
	color: #0078cc;
	font-size: 12px;
}

.paginationControl .empty {
	margin-left: 10px;
	float: left;
	color: #0078cc;
	font-style: italic;
	font-size: 11px;
	font-weight: normal;
}

h1.placeholder {
	text-align: center;
	color: #e1e1e1;
	margin: 90px 45px;
	font-size: 50px;
	font-style: normal;
	line-height: 60px;
	font-weight: normal;
	font-style: italic;
}

/*
ALARM / FUNCTION ADD
*/

.add_alarm .row {
	clear: none;
	overflow: auto;
}

.add_alarm .row span.calculated {
	padding-top: 5px;
	font-weight: bold;
	display: block;
}

.add_alarm:not(.tab-with-sections) {
	max-width: 1400px;
}

.add_alarm {
	overflow: auto;
}

.add_alarm label {
	display: inline-block;
	min-width: 150px;
	vertical-align: top;
	font-weight: bold;
	text-align: right;
	padding-right: 10px;
	padding-top: 5px;
}

.add_alarm input[type=text] {
	width: 350px;
}

.add_alarm input[type=text].datepicker {
	width: 230px;
}

.add_alarm input[type=number] {
	width: 180px;
}

.add_alarm input[type=text].numeric {
	width: 80px;
}

.add_alarm input[type=checkbox] {
	margin-top: 8px;
}

.add_alarm textarea {
	width: 525px;
	height: 60px;
	font-family: Courier;
}

.add_action div.row textarea {
	width: 400px;
	height: 75px;
}

.add_alarm p {
	padding-top: 10px;
	display: inline-block;
	vertical-align: top;
}

.add_alarm span.label {
	display: inline-block;
	padding-top: 5px;
	vertical-align: top;
}

form .add_action .row label {
	width: 225px;
}

.variables {
	float: right;
	min-width: 400px;
	padding: 3px 0;
}

.variables ul {
	max-height: 500px;
	overflow: auto;
}

.parameters table {
	width: 400px;
}

.parameters table input.alias {
	width: 60px;
}

.parameters table input.default_value {
	width: 60px;
}

.parameters table input.offset {
	width: 30px;
}

td.variable span {
	font-style: italic;
}

.variables li,
td.variable li {
	list-style-type: none;
	display: block;
	border-radius: 4px;
	background-color: gray;
	color: white;
	padding: 5px;
	margin-bottom: 2px;
	cursor: move;
}

.variables li.consigne,
td.variable li.consigne {
	background-color: darkblue;
}

.variables li.function,
td.variable li.function {
	background-color: purple;
}

.variables li.measure,
td.variable li.measure {
	background-color: darkgreen;
}

.variables span.ui-draggable {
	vertical-align: middle;
	padding: 5px;
	margin-bottom: 2px;
	cursor: move;
	font-size: 24px;
}

.variables tr td {
	vertical-align: top;
}

textarea.equation {
	height: 300px;
	width: 450px;
}

#dologinbutton.button {
	-moz-border-radius: 0.5em 0.5em 0.5em 0.5em;
	-webkit-border-radius: 0.5em 0.5em 0.5em 0.5em;
	border-radius: 0.5em 0.5em 0.5em 0.5em;
	-o-border-radius: 0.5em 0.5em 0.5em 0.5em;
	-ms-border-radius: 0.5em 0.5em 0.5em 0.5em;
	-khtml-border-radius: 0.5em 0.5em 0.5em 0.5em;
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	display: inline-block;
	font: 14px/100% Arial, Helvetica, sans-serif;
	margin: 0 2px;
	outline: medium none;
	padding: 0.5em 2em 0.55em;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
	vertical-align: baseline;
	background: #868686 url('../img/btn-bg-dark.gif') repeat-x bottom;
	color: #E9E9E9;
}

#dologinbutton.button:hover {
	background: #585858 url('../img/btn-bg-dark-hover.gif') repeat-x bottom;
	text-decoration: none;
}

#dologinbutton.button:active {
	background: #585858 url('../img/btn-bg-dark-active.gif') repeat-x bottom;
	color: #AFAFAF;
	position: relative;
	top: 1px;
}

#chart-container {
	min-height: 480px;
	background-color: white;
	border: 1px solid gray;
	overflow: auto;
}

#chart-legend-shortcuts {
	padding-top: 10px;
	text-align: right;
}

.datagrid input[type=text] {
	padding: 4px;
}

.datagrid select {
	padding: 0px;
}

div.chart_info .row {
	display: inline-block;
	margin-right: 25px;
}

div.chart_info .row,
div.chart_info .row:not(.math) span {
	padding-top: 5px;
	font-size: 13px;
}

div.chart_info label {
	margin: 0;
	width: 150px;
	text-align: right;
	float: none;
	padding-top: 5px;
	display: inline-block;
	font-weight: bold;
	font-size: 13px;
}

.account_zone {
	float: right;
}

.account_zone p {
	line-height: normal;
	margin: 0;
}

.global_filter select {
	width: 350px
}

.global_filter select option {
	color: white;
}

.chart_button {
	padding: 4px 10px;
	border: 1px solid #1689e0;
	color: #1689e0;
	border-radius: 30px;
	margin: 5px 0px;
	display: inline-block;
	transition: all ease 0.5s;
	margin-right: 5px;
}

.chart_button:hover {
	background-color: #1689e0;
	color: #fff;
}

.chart_button.blue {
	border-color: #1689e0;
	color: #1689e0;
}

.chart_button.blue:hover {
	background-color: #1689e0;
	color: #fff;
}

.chart_button.red {
	border-color: red;
	color: red;
}

.chart_button.red:hover {
	background-color: red;
	color: #fff;
}

.chart_button.green {
	border-color: green;
	color: green;
}

.chart_button.green:hover {
	background-color: green;
	color: #fff;
}

.button.hidden,
.chart_button.hidden {
	display: none;
}

#updatebookmark {
	margin-left: 5px;
}

#file-list {
	margin-bottom: 10px;
}

#file-list table {
	width: 0;
}

#file-list td {
	border: 0;
	white-space: nowrap;
}

tr.function-error td,
tr.function-error td a {
	color: red;
}

#calendar table {
	border: 1px solid gray;
}

#calendar thead th {
	font-size: 1.15em;
	background-color: lightgray;
	padding: 10px 0;
	text-align: center;
	border-left: 0;
	border-right: 0;
	border-bottom: 1px solid gray;
}

#calendar thead th:first-child {
	border-left: 1px solid gray;
}

#calendar thead th:last-child {
	border-right: 1px solid gray;
}

#calendar thead th {
	width: 13.7%;
}

#calendar thead th:first-child {
	width: 4.1%;
}

#calendar tbody td {
	border: 0px;
	height: 8px;
	border-right: 1px dotted lightgray;
	padding: 0;
}

#calendar tbody th {
	font-size: 1.15em;
	padding-top: 5px;
	vertical-align: top;
	border: 0px;
	text-align: center;
}

#calendar tbody th.last {
	border-bottom: 1px solid gray;
}

hr {
	border: 1px dotted gray;
	border-style: none none dotted;
	color: #fff;
	background-color: #fff;
	margin-top: 30px;
	margin-bottom: 20px;
}

p.helptext {
	color: gray;
	font-size: 1.25em;
}

#compute_status {
	font-weight: normal;
	width: 80px;
	min-width: 80px;
	padding-left: 32px;
	text-align: left;
	height: 24px;
	background-repeat: no-repeat;
	background-size: 24px;
}

#compute_status.waiting {
	background-image: url('../img/icons/notifications/warning.png');
}

#compute_status.running {
	background-image: url('../img/wait.gif');
}

#compute_status.uptodate {
	background-image: url('../img/icons/notifications/success.png');
}

#compute_status.error {
	background-image: url('../img/icons/notifications/error.png');
}

.datagrid td.compute_status {
	font-weight: normal;
	padding-top: 10px;
	padding-left: 32px;
	background-position: 3px;
	background-repeat: no-repeat;
	background-size: 24px;
	white-space: nowrap;
}

td.compute_status.waiting {
	background-image: url('../img/icons/notifications/warning.png');
}

td.compute_status.running {
	background-image: url('../img/wait.gif');
}

td.compute_status.uptodate {
	background-image: url('../img/icons/notifications/success.png');
}

td.compute_status.error {
	background-image: url('../img/icons/notifications/error.png');
}

.dreemo {
	text-align: center;
	margin: 150px auto;
	font-family: "Dosis", sans-serif;
	font-optical-sizing: auto;
}

.dreemo.login {
	margin: 0;
}

.dreemo h1 {
	font-weight: 200;
	font-size: 3em;
	color: #000;
}

.dreemo h2 {
	font-weight: 200;
	font-size: 2em;
	color: #000;
	margin-top: 80px;
}

.dreemo p.dreemo-logo {
	font-weight: 500;
	font-style: normal;
	font-size: 22em;
	margin-bottom: 20px;
	line-height: 1.2;
}

.dreemo.login p.dreemo-logo {
	font-size: 2.3em;
	margin-bottom: 0px;
}

.dreemo .small {
	font-size: 0.6em;
}

.dreemo .green {
	font-weight: 500;
	font-size: 1em;
	color: #97be0d;
}

.dreemo .blue {
	font-weight: 500;
	font-size: 1em;
	color: #006ab2;
}

.dreemo .gray {
	font-weight: 500;
	font-size: 1em;
	color: #6e6e6e;
}

.dreemo span.first {
	font-size: 1em;
	font-weight: 500;
}

div.if_rows_checked {
	display: none;
}

div#chart-containers-aa {
	overflow: auto;
	width: calc(95% - 400px);
	margin-top: 15px;
}

div.chart-container-aa {
	float: left;
}

div#chart-select-columns {
	margin-top: 15px;
	width: 400px;
	float: left;
}

div#chart-select-columns ul {
	list-style-type: none;
}

div#chart-select-columns li {
	margin: 10px 0;
}

div.main_zone .actionbar {
	margin-top: 10px;
	margin-bottom: 10px;
}

div.main_zone .actionbar.add label:not(:last-child),
div.main_zone .actionbar.add select:not(:last-child),
div.main_zone .actionbar.add input:not(:last-child) {
	margin-right: 10px;
}

.actionbar .statusbar {
	margin-left: auto;
}

.actionbar .statusbar .total {
	font-weight: bold;
}

/* Schemas */

.schema_general_container {
	margin-top: 20px;
	max-width: 1024px;
}

.bilan_option_container {
	margin: 5px 0;
	display: flex;
}

.bilan_option_container fieldset {
	display: grid;
	grid-template-columns: repeat(6, auto);
	grid-template-rows: repeat(3, 1fr);
	gap: 10px;
	border: solid 1px #ddd;
	width: fit-content;
	margin-right: 8px;
	margin-bottom: 0px;
}

.bilan_option_container fieldset[data-nb-cols="4"] {
	grid-template-columns: repeat(8, auto);
}

.bilan_option_container fieldset input[type=checkbox] {
	margin-right: 0;
}

.bilan_option_container fieldset legend {
	padding: 0 2px;
}

.bilan.options {
	margin-top: 10px;
	margin-right: 15px;
}

.bilan.options label {
	font-weight: normal;
	padding-top: 3px;
	margin-right: 4px;
	float: none;
	display: inline-block;
}

.bilan.options label.disabled {
	color: #ccc;
}

table.amureba_bilan {
	border: 1px solid #ccc;
}

table.amureba_bilan td,
table.amureba_bilan th {
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	border-right: 0;
}

table.amureba_bilan td.sep,
table.amureba_bilan th.sep {
	border-left: 1px solid #333;
}

table.amureba_bilan tr th:first-child {
	width: 180px;
}

table.amureba_bilan tr td,
table.amureba_bilan thead tr th:not(.header) {
	width: 80px;
	text-align: right;
}

table.amureba_bilan tr.subtotal_1 {
	background-color: rgb(250, 136, 94);
}

table.amureba_bilan tr.subtotal_1 td,
table.amureba_bilan tr.subtotal_1 th {
	font-weight: bolder;
}

table.amureba_bilan tr.subtotal_2 {
	background-color: rgb(252, 193, 85);
}

table.amureba_bilan tr.subtotal_2 td,
table.amureba_bilan tr.subtotal_2 th {
	font-weight: bold;
}

table.amureba_bilan tr.subtotal_3 {
	background-color: rgb(250, 198, 192);
}

table.amureba_bilan tr.subtotal_4 {
	background-color: rgb(253, 235, 232);
}

.tab_schema {
	overflow: auto;
}

#property-resolved {
	margin-top: 20px;
}

#property-resolved p {
	padding: 0;
	margin: 0;
}

div.bilan-table .inputs {
	float: left;
	padding-top: 10px;
	padding-right: 30px;
}

div.bilan-table .input-values label {
	font-weight: normal;
	width: 300px;
}

div.bilan-table .input-values .row.PRODUCTION_USAGE label:not(.ref),
div.bilan-table .input-values .row.SERVICE_USAGE label:not(.ref) {
	vertical-align: bottom;
}

div.bilan-table .input-values input {
	width: 100px;
}

span.input.unit {
	margin-left: 10px;
}

div.bilan-table .input-values span.input.header {
	font-size: 13px;
	font-weight: bold;
	text-decoration: underline;
}

div.bilan-table .resolve-results {
	padding: 0px;
	padding-top: 10px;
}

div.bilan-table .resolve-results .table {
	overflow: auto;
}

div.bilan-table .resolve-results .results {
	overflow: auto;
}

div.bilan-table .resolve-results p {
	padding: 0;
	margin: 0 !important;
}

div.bilan-table .resolve-results h4 {
	margin-top: 20px;
	text-decoration: underline;
}

div.bilan-table .resolve-results h3 {
	margin-top: 20px;
	background-color: #eee;
	padding: 5px;
	text-decoration: underline;
}

#tab-reference .sliders label {
	text-align: left;
	width: 150px;
}

#tab-reference .sliders input[counter] {
	width: 100px;
}

#tab-reference .slider {
	max-width: 640px;
	margin-left: 170px;
	margin-bottom: 0px;
}

input[type="checkbox"]:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

.datagrid tr.color-blue td {
	color: blue;
}

.datagrid tr.color-blue td.number {
	font-weight: normal;
}

.datagrid tr.color-magenta td {
	color: magenta;
}

.datagrid tr.color-magenta td.number {
	font-weight: normal;
}

.ui-dropdownchecklist-item input[type=checkbox] {
	margin: 5px;
}

.tab-with-sections div.section {
	border: 1px solid #636363;
	margin-top: 15px;
}

.tab-with-sections div.section .content {
	padding: 2cap;
}

.tab-with-sections div.section h3 {
	margin-top: 15px;
	margin: 0;
	padding: 10px;
	color: white;
	background-color: #636363;
	cursor: pointer;
}

.tab-with-sections div.section.collapsed {
	border-color: #ccc;
}

.tab-with-sections div.section.collapsed h3 {
	background-color: #ccc;
}

#tab-potentiel label {
	width: 250px;
	font-weight: bold;
	display: inline-block;
}

#tab-potentiel .row label {
	width: 170px;
	font-size: 13px;
	color: #666;
}

#tab-potentiel h4 {
	margin-top: 15px;
}

#tab-potentiel div.row input[type=number] {
	width: 80px;
}

#tab-potentiel div.subtable {
	width: 800px;
	margin-top: 10px;
	margin-bottom: 10px;
}

ul.warnings {
	margin: 20px;
	color: red;
}

ul.warnings li {
	margin-top: 5px;
}

/* begin economies table*/
#tab-potentiel div.subtable table.datagrid {
	border: 0;
}

#tab-potentiel div.subtable tr.subtotal td {
	background-color: lightgoldenrodyellow;
	font-weight: bold;
}

#tab-potentiel div.subtable table.datagrid tr.subtotal td:not(.number),
#tab-potentiel div.subtable table.datagrid tr.subtotal td.number.nan {
	background-color: transparent;
	border: 0;
}

#tab-potentiel div.subtable table.datagrid tr.subtotal:hover {
	background-color: transparent;
}

/* end economies table*/

#tab-potentiel div.result_chart {
	margin-top: 20px;
}

#tab-potentiel div.result_chart {
	/* so that the page does not scroll up when reloading the chart */
	min-height: 800px;
}

#tab-potentiel div.result_table .indicators {
	font-size: 1.2em;
	margin-top: 5px;
	background-color: lightgoldenrodyellow;
	width: 350px;
	border: 1px solid #ccc;
}

#tab-potentiel div.result_table .indicators div {
	margin: 10px;
}

table.action_table {
	border: 0px solid #ccc;
}

table.action_table td,
table.action_table th {
	border: 1px solid #ccc;
}

table.action_table tr th {
	font-weight: bold;
	background-color: #eee;
}

table.action_table thead tr th:not(.empty),
table.action_table tr.subtotal th,
table.action_table tr.subtotal td {
	background-color: lightgoldenrodyellow;
	font-weight: bold;
}

table.action_table th.header.empty {
	background-color: transparent;
	border: 0px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
	padding-top: 1px !important;
	padding-bottom: 4px !important;
}

.regression.indicators {
	width: 580px;
	margin: 15px 0;
	padding: 5px 0 20px 0;
}

.regression.indicators .row {
	margin-top: 15px;
}

.regression.indicators .buttonbar {
	margin-top: 20px;
}

.regression.indicators .row label {
	min-width: 150px;
}

.regression.table {
	margin: 15px 0;
	max-height: 600px;
	overflow: auto;
}

.regression.table table {
	width: auto;
}

.regression.equation {
	margin: 15px 0;
	padding: 10px 0 10px 0;
}

.regression.equation p {
	margin: 10px 0;
	font-weight: bold;
}

.regression.equation ul {
	margin-left: 10px;
}

.regression.equation p.error {
	color: red;
	font-weight: normal;
}

.regression.chart {
	margin: 15px 0;
}

#regression_chart {
	margin-top: 15px;
}

#regression_chart {
	/* so that the page does not scroll up when reloading the chart */
	min-height: 800px;
}

.validation.options .row label {
	min-width: 200px;
}

#tablecontent.validation table th {
	padding-left: 15px;
	min-width: 60px;
}

label.usage_value.total {}

label.usage_value.specific {
	color: rgba(0, 0, 100, 1);
}

input[type="number"][usage_value="specific"] {
	color: rgba(0, 0, 100, 1);
	background: rgba(0, 0, 100, 0.1);
	background: -webkit-gradient(linear, left top, left 25, from(#FFFFFF), color-stop(4%, rgba(0, 0, 100, 0.1)), to(#FFFFFF));
	background: -moz-linear-gradient(top, #FFFFFF, rgba(0, 0, 100, 0.1) 1px, #FFFFFF 25px);
}

.delta-bias {
	margin-top: 15px;
}

.target-plotline,
.highcharts-plot-line-label {
	opacity: 0.7;
}

#grid-container.validation {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
	overflow: auto;
	margin-top: 20px;
}

#grid-container.validation td,
#grid-container.validation th {
	font-weight: normal;
}

#grid-container.validation td.editablegrid-group {
	font-weight: bold !important;
}

#grid-container.validation td.editablegrid-object {
	color: white;
	background-color: #636363;
}

#grid-container.validation thead th.editablegrid-object {
	background-color: transparent !important;
	border-top: none !important;
	border-left: none !important;
}

/* Log levels styling */
.log-message {
	padding: 5px;
	margin: 2px 0;
	border-left: 4px solid;
	border-radius: 3px;
	display: flex;
	align-items: center;
}

.log-message .log-icon {
	width: 16px;
	height: 16px;
	margin-right: 8px;
	flex-shrink: 0;
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: center;
}

.log-message .log-timestamp {
	font-family: monospace;
	font-size: 11px;
	color: #888;
	background: #f0f0f0;
	padding: 2px 6px;
	border-radius: 3px;
	margin-right: 8px;
	flex-shrink: 0;
	border: 1px solid #ddd;
}

.log-message.debug {
	background-color: #f8f9fa;
	border-left-color: #6c757d;
	color: #495057;
}

.log-message.debug .log-icon::before {
	content: "📋";
	font-size: 16px;
	filter: grayscale(100%);
	opacity: 0.6;
}

.log-message.info {
	background-color: #d1ecf1;
	border-left-color: #17a2b8;
	color: #0c5460;
}

.log-message.info .log-icon::before {
	content: "ℹ️";
	font-size: 16px;
}

.log-message.notice {
	background-color: #e7e3ff;
	border-left-color: #6f42c1;
	color: #4c2a85;
}

.log-message.notice .log-icon::before {
	content: "📢";
	font-size: 16px;
}

.log-message.warning {
	background-color: #fff3cd;
	border-left-color: #ffc107;
	color: #856404;
}

.log-message.warning .log-icon::before {
	content: "⚠️";
	font-size: 16px;
}

.log-message.error {
	background-color: #f8d7da;
	border-left-color: #dc3545;
	color: #721c24;
	font-weight: bold;
}

.log-message.error .log-icon::before {
	content: "❌";
	font-size: 16px;
}

/* Default log message when level is not recognized */
.log-message.default {
	background-color: #f8f9fa;
	border-left-color: #dee2e6;
	color: #495057;
}

.log-message.default .log-icon::before {
	content: "📝";
	font-size: 16px;
}

.log-message .log-content {
	flex: 1;
	font-family: monospace;
	font-size: 12px;
}

/* Logs tabs styling */
#logs-wrapper {
	width: 100%;
	border: 1px solid #ccc;
	background: #f5f5f5;
}

.logs-tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #e9e9e9;
	border-bottom: 1px solid #ccc;
	display: flex;
}

.logs-tabs li {
	margin: 0;
}

.logs-tabs .tab-link {
	display: block;
	padding: 10px 15px;
	text-decoration: none;
	color: #666;
	border-right: 1px solid #ccc;
	background: #e9e9e9;
	transition: background-color 0.2s;
}

.logs-tabs .tab-link:hover {
	background: #ddd;
	color: #333;
}

.logs-tabs .tab-link.active {
	background: #f5f5f5;
	color: #333;
	border-bottom: 1px solid #f5f5f5;
	margin-bottom: -1px;
}

.status-indicator {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-left: 8px;
	background-color: #ccc;
}

.status-indicator.green {
	background-color: #4CAF50;
}

.status-indicator.orange {
	background-color: #FF9800;
}

.status-indicator.red {
	background-color: #f44336;
}

.logs-content {
	background: #f5f5f5;
}

.tab-content {
	display: none;
}

.logs-container-tab {
	height: calc(100vh - 400px);
	font-family: monospace;
	overflow-y: auto;
	font-size: 12px;
	padding: 10px;
	white-space: pre-wrap;
}

@keyframes progress-animation {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

#tab-triggering .row label {
	width: 170px;
}

#tab-triggering .conditions-container .row label {
	text-align: left;
}

#tab-triggering .conditions-container .col1 .row label {
	text-align: left;
	min-width: 50px;
	width: 50px;
}

a.edit_module {
	font-size: 1.5em;
	font-weight: bold;
	display: inline-block;
	margin: 15px 15px 15px 0;
}

a.edit_module::before {
	content: "📝 ";
}

a.instantiate_module {
	font-size: 1.5em;
	font-weight: bold;
	display: inline-block;
	margin: 15px 0;
}

a.instantiate_module::before {
	content: "⚙️ ";
}

a.not_allowed img, a.not_allowed i {
	opacity: 0.5;
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
	filter: gray; /* IE6-9 */
	-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}