html, body {
    margin:0;
    padding:0;
    height: 100%;
}
body {
    color:#495057;
    font:normal normal normal 0.8em Verdana, Arial, sans-serif;
    text-indent:0;
    text-align:left;
    letter-spacing:0;
    text-transform:none;
    overflow:hidden;
}
a:link, a:active, a:visited a:hover {
    text-decoration:none;
}
/* More borders on the search inputs, to match the secondary-styled buttons. */
.search input {
    border-color: #6c757d !important;
}

/* Remove the dotted focus lines. Almost all inputs/buttons have other ways to show what's focused. */
:focus {
    outline:none;
}
::-moz-focus-inner {
    border:0;
}

.rowbox {
    background:url('../images/background-pattern-black.jpg');
    display: flex;
    flex-flow: row;
    height: 100%;
}
.rowbox .rowrow.rowheader {
    overflow-x:hidden;
    -webkit-transition:all 0.35s ease;
    -moz-transition:all 0.35s ease;
    transition:all 0.35s ease;
}
.menuflexshow {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 260px;
    overflow-y:auto;
}
.menuflexhide {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 50px;
    overflow-y:hidden;
}
.menuulhide {
    opacity:0;
    pointer-events:none;
    cursor:none;
}
.menuiconcontainer {
    width:70px;
    height:61px;
    padding:0;
    margin:0 0 0 1.5rem;
}
.menuiconhidden {
    width:35px;
    height:31px;
    padding:0;
    margin:.2rem 0 0 0;
}
.rowbox .rowrow.rowcontent {
    flex: 1 1 auto;
    overflow:auto;
}

.rowbox .rowrow.rowfooter {
    flex: 0 1 60px;
}

.colbox {
    background:url('../images/background-pattern-black.jpg');
    display: flex;
    flex-flow: column;
    height: 100%;
}
.colbox .colrow.colheader {
    color:#bbbbbb;
    font-weight:900;
    font-size:2.5em;
    padding:5px 5px 5px 10px;
    flex: 0 0 auto;
}
.colbox .colrow.colcontent {
    background:#ffffff;
    -webkit-border-radius:10px 0 0 10px;
    -moz-border-radius:   10px 0 0 10px;
    border-radius:		  10px 0 0 10px;
    padding:5px;
    flex: 1 0 auto;
    overflow:auto;
}

.colbox .colrow.colfooter {
    color:#bbbbbb;
    text-align:right;
    padding:5px;
    flex: 0 0 auto;
}

.menucontainer ul {
    width:100%;
    list-style:none;
    padding:0;
    margin:0;
}
.menucontainer li {
    width:100%;
    display:block
}
.menucontainer a {
    color:#bbbbbb;
    font-weight:900;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    -webkit-transition:background .3s ease, color .3s ease;
    -moz-transition:background .3s ease, color .3s ease;
    transition:background .3s ease, color .3s ease;
    text-shadow:0 -1px rgba(0,0,0,.5);
    border-bottom:1px solid rgba(0,0,0,.2);
    border-top:1px solid rgba(255,255,255,.1);
    display:block;
    font-size:1.2em;
    padding:.6em 2em;
    width:100%
}
.menucontainer a:hover {
    color:#eeeeee;
    background:rgba(255,255,255,.1)
}
.menucontainer .active a {
    color:#eeeeee;
    background:rgba(255,255,255,.1)
}
.menucontainer .active a:hover {
    color:#eeeeee;
    background:rgba(255,255,255,.2)
}
.menucontainer .nonactive a {
    color:#bbbbbb;
    background:rgba(255,255,255,0)
}
.menucontainer .nonactive a:hover {
    color:#eeeeee;
    background:rgba(255,255,255,.1)
}
.menucontainer li:first-child a {
    border-top:0
}
.menucontainer li:last-child a {
    border-bottom:0
}
.title {
    font-weight:900;
    text-align:center;
    font-size:1.7em;
    padding:5px;
}

.center {
    text-align:center;
}

.svglink {
    fill:#007bff;
}
.svglink:hover {
    fill:#0069d9;
}

.transition {
    -webkit-transition:all 0.35s ease;
    -moz-transition:all 0.35s ease;
    transition:all 0.35s ease;
}
.rotate90 {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.rotate-45 {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.arrowicon {
    display:inline-block;
    -webkit-transition:0.35s ease;
    -moz-transition:0.35s ease;
    transition:0.35s ease;
}
.form-check-input {
    margin-top: 0;
}
.nobordpadd {
    border:0;
    padding:0;
}

.symbolbutton {
    margin:5px;
}

.fixed-table-body {
    overflow:visible;
}

.tablebutton {
    padding-top:0;
    padding-bottom:2px;
}

.datetimepicker {
    font-size: 0.8rem;
}

/* Override bootstrap-table's sorting arrow position. */
.table thead tr th:not(.nosortarrowleft) .th-inner {
    background-position:left !important;
    padding-left:20px !important;
    padding-right:0 !important;
}

.table tfoot tr th {
    border-top-width: 2px;
    /* Align the footer with the rest of the table. */
    padding:0 !important;
}

.table thead tr th {
    border-top-width: 0;
}

.table tbody tr td {
    vertical-align: middle;
}

.fadedtext {
    opacity:0.5;
}

.dropdown .btn, .dropdown-item .text {
    font-size:0.9rem;
    line-height:1;
}

.dropdown-item {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
}

.ct-label.ct-label.ct-horizontal {
    justify-content: flex-end;
    text-align: right;
    transform-origin: 100% 0;
    transform: translate(-100%) rotate(-45deg);
}

.ct-line-heating {
    stroke: #ff0000;
}

.ct-line-none {
    stroke: #0000ff;
}

.ct-line-manual {
    stroke: #000000;
}

svg.ct-chart-line, svg.ct-chart-line g.ct-labels, svg.ct-chart-line g.ct-labels span.ct-label {
    overflow: visible;
}

.heattableblock {
    display:inline-block;
    min-width:1.7rem;
    text-align:center;
}

.nowrapellipsis {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.nowrap {
    white-space:nowrap;
}

.ui-sortable tr:hover {
    background:rgba(244,251,17,0.45);
}

.nohover tr td {
    background-color: #ffffff;
}