:root {
    --green: #45ab34;
    --red: #e51f41;
    --yellow: #fff06b;
    --dark: #181818;
    --gray: gray;
}
.green {color:var(--green)}
.red {color:var(--red)}
.white {color: white !important}
body {
    background-color: var(--dark);
    background-image: linear-gradient(to top right, rgb(0,0,0,0) 50%, rgb(100,100,100,0.1) 50%);
    /* background-image: url('img/T24.jpg'); */
    background-size: contain;
    background-repeat: no-repeat;
    color: white;
    font-family:'Trenda Regular';
    font-size: 17px;
}
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}
.logo {
    font-family:'Ubuntu Bold';
    font-size: 42px;
    margin: 0;
    background-image: url(img/logo_white.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.active .logo {
    background-image: url(img/logo_green.png);
}
h1,h2 {
    text-transform: uppercase;
    margin: 4px 0 0 0;
}
h1 {
    font-size: 25px;
    font-weight: 800;
    color: var(--green);
    margin: 30px;
    text-align: center;
}
h2 {
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px;
}
a {
    text-decoration: none;
    color: inherit;
}
#header {
    /* display: flex; */
    /* flex-direction: row; */
    /* flex-wrap: nowrap; */
    /* align-items: center; */
    /* width: 100%; */
    border-bottom: 4px solid;
    padding: 10px;
}
#container {
    /* height: 100%; */
    /* padding: 16px 25px 19px 17px; */
    /* box-sizing: border-box; */
    /* display: flex; */
    /* width: 100%; */
}
#menu {
    width: 100%;
    /* height: 116px; */
    display: inline-flex;
    flex-direction: row;
    align-items: flex-start;
    /* margin: 0px 10px; */
    /* padding: 10px; */
    /* background-color: gray; */
    flex-wrap: nowrap;
    justify-content: space-around;
}
.tab {
    height: 100%;
    /* margin: 0px 19px; */
    text-align: center;
    opacity: 0.5;
}
.tab.active {
   color: var(--green);
   opacity: initial;
}

#header img, #header div.logo {
    width: 40px;
    height: 40px;
    margin: 0 auto;
    display: block;
}
#menu .fas, h1 .fas {
    font-size: 40px;
}
table .fas {
    font-size: 25px
}
.fas {
    vertical-align: middle;
}
#menu span {
    line-height: 1.5;
}
.page {
    padding: 10px;
    /* text-align: center; */
}
.container {
    max-width: 800px;
    margin: 0 auto;
}
.container > * {
    margin-top: 20px;
}
#circuits {
    /* flex-grow: 1; */
    display: grid;
    grid-gap: 0 30px;
    grid-template-columns: repeat(12, 1fr);
    /* margin-bottom: 10px; */
    /* clear: left; */
    /* width: 100%; */
    margin: 0px;
    /* flex-basis: 100%; */
}
.slot {
    grid-column: span 4;
    margin-bottom: 3px;
    height: 50px;
}
.circuit {
    font-size: 12px;
    /* width: 100%; */
    display: flex;
    align-items: center;
    /* padding: 15px; */
    background-color: #404040;
    border: 4px solid var(--dark);
    border-radius: 17px;
}
.border {
     border: 4px solid white;
     border-radius: 17px;
}
.circuit img, .picto {
    width: 30px;
    margin-left: 10px;
    vertical-align: middle;
}
.label {
    text-transform: uppercase;
    font-weight: bold;
    margin-left: 10px;
    /* float: left; */
    /* width: 100px; */
}
.circuit .event {
    color: orange;
    margin-top: 10px;
}
.circuit .conso {
    /* clear: left; */
    /* background-color: #424242; */
    /* border-radius: 10px; */
    /* margin: 10px; */
    background-image: url(img/ic_power.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 22px;
    /* float: right; */
    /* height: 30px; */
    margin-left: auto;
    white-space: nowrap;
}
.circuit .fas {
    font-size: 30px;
    padding: 0 10px;
}
.fa-toggle-on.off {
    color: var(--red);
    transform: rotate(180deg);
}
.fa-toggle-on {
    color: var(--green);
}
.dotted {
    /* border: 3px dotted gray; */
    border-radius: 17px;
}
.warning {
    border-color: var(--yellow);
}
.error {
    border-color: var(--red);
}
table {
    margin: 0 auto;   
}
thead {text-transform: uppercase}
.table th {
    border-bottom: 2px dashed white;
    padding: 10px
}
.table tfoot td {
    border-top: 2px dashed white;
}
td { padding: 10px 20px }
input[type="text"] {
    font-size: 20px;
    font-weight: bold;
    padding: 5px 10px;
}
.progressbar {
    background-color: var(--gray);
    display: block;
    width: 100%;
}
.progressbar > div {
    height: 15px;
    float:left;
}
.legend {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.legend div {
    width: 30px;
    height: 15px;
}
.progressbar > div:first-child {
    background-color: var(--green);
}
.progressbar > div:nth-child(2) {
   background-color: var(--red);
}

button {
    background-color: var(--green);
    color: white;
    text-transform: uppercase;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid white;
}
.buttons {
    display: flex;
    justify-content: space-around;
}

/* Utils */

.bgreen{background-color:var(--green)}
.bred{background-color:var(--red)}
.uppercase{text-transform: uppercase}
.mt20 {margin-top:20px}
.w100{width:100%;}
.left {float:left}
.right {float:right}
.center {text-align: center}
.row {
    display: grid;
    grid-gap: 0 2rem;
    grid-template-columns: repeat(12, 1fr);
    margin: 0 auto;
    width: 100%;
}
.col-1 { grid-column: span 1; }
.col-2 { grid-column: span 2; }
.col-3 { grid-column: span 3; }
.col-4 { grid-column: span 4; }
.col-5 { grid-column: span 5; }
.col-6 { grid-column: span 6; }
.col-7 { grid-column: span 7; }
.col-8 { grid-column: span 8; }
.col-9 { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }