body {
    // font-family: Roboto, Helvetica, Arial, sans-serif;
    //background: #020202;
    padding-top: 2px;
    padding-left: 4em;
    padding-right: 4em;
    //color: #FFFFFF;
    
    background-color: #535C63;
    color: #f8f8f8;
    font-family: "Open Sans", sans-serif;
}

h1 {
  color: #FFFFFF;
  text-align: center;
}

h2 {
  color: #FFFFFF;
  text-align: center;
}

h3 {
  color: #FFFFFF;
  text-align: center;
}

table.grid {
  border-collapse: collapse;
  margin-bottom: 3em;
  width: 80%;
  color: #000000;
}

table.grid caption {
  color: #FFFFFF;
  font-size: 32px;
  line-height: 150%;
  text-align: center;
  caption-side: top;
}

table.grid th, table.grid td {
  padding: 0.5em;
  text-align: left;
}

table.grid th {
  background-color: #00A0A0;
}

table.grid tr:nth-child(even) {
  background-color: #BBBBBB;
}

table.grid tr:nth-child(odd) {
  background-color: #CCCCCC;
}

table.grid tr.grey_row {
  color: #888888;
}

table.grid th.brightrow {
  background-color: #EEEEEE;
}

table.grid th.blackrow {
  background-color: #000000;
  color: #EEEEEE;
}

table.nowrap td {
  white-space: nowrap;
}

table.img {
  border-collapse: collapse;
  margin-bottom: 3em;
  width: 100%;
}

table.img caption {
  color: #FFFFFF;
  font-size: 32px;
  line-height: 150%;
  text-align: center;
}

table.img th, table.img td {
  padding: 0.5em;
  margin: 0.5em;
  text-align: center;
  vertical-align: top;
}

a.link:link, a.link:visited {
  color: blue;
  text-decoration: none;
}

a.link:hover, a.link:active {
  color: white;
}

a.error_link:link, a.error_link:visited {
  color: red;
  text-decoration: none;
}

a.error_link:hover, a.error_link:active {
  color: white;
}

a.vcontrol:link, a.vcontrol:visited, a.vcontrol:active {
  color: white;
  text-decoration: none;
}

a.vcontrol:hover {
  color: grey;
  text-decoration: none;
}

a.path:link, a.path:visited, a.path:active {
  font-weight: bold;
  color: white;
  text-decoration: none;
  padding-top: 0.5em;
}

a.path:hover {
  font-weight: bold;
  color: grey;
  text-decoration: none;
  padding-top: 0.5em;
}

.label {
  font-weight: bold;
  width: auto;
  white-space: nowrap;
}

.error {
  color: red;
  background-color: #000000;  
}

table.top {
  margin: 0;
  padding: 0;
  padding-bottom: 10px;
  border-collapse: collapse;
  width: 100%;
  color: #000000;
}

.Xtop {
  background-color: #222222;
  padding-left: .5em;
  padding-top: .25em;
  padding-bottom: .25em;
}

.right {
  float: right;
}

.user {
  color: #AAAAAA;
}

a.logout:hover, a.logout:active {
  color: grey;
}

.logout {
  color: #DDDDDD;
  text-decoration: none;
  font-size: 125%;
  padding-top: 0.40em;
  padding-right: .8em;
}


/* https://www.w3schools.com/css/css_tooltip.asp */

/* Tooltip container */
.tooltip {
  position: relative;
  display: inline-block;
  X-border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
  color: #fff;
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  white-space: nowrap;
  background-color: black;
  color: #fff;
  text-align: left;
  padding: .5em;
  border-radius: 6px;
  border-color: white;
  border-width: 1px;
  border-style: solid;
  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
}

.tooltiptext .tool_type {
  font-weight: bold;
  font-size: 120%;
}

.middle {
  font-weight: 600;
  font-size: 140%;
  color: #FFFFFF;
  text-decoration: none;
}

span.middle {
    text-align: center;
}

.middlelink {
  color: #CCCCCC;
  text-decoration: none;
}


/* device page section */

body.device {
  background-color: #535C63;
  color: #f8f8f8;
  font-family: "Open Sans", sans-serif;
}

div.device_part {
  background: rgba(51, 51, 51, 0.425);
  color: #A0A0A0;
}

a.device_link:link, a.device_link:visited {
  color: #A0A0A0;
  text-decoration: none;
  white-space: nowrap;
}

a.device_link:hover, a.device_link:active {
  color: #FFFFFF;
}

a.device_link {
    position: relative;
}

.data_title:hover::after {
    content: attr(data-title);
    background-color: #8fbc8f;
    color: #fff;
    padding: 8px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 14px;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 1;
}

.device_select {
  background: inherit;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  border: none;
}

div.device_main {
  display: grid;
  gap: 10px;
}

.device_side_text {
  font-size: 80%;
  font-weight: 800;
}

.device_side_li {
  margin: 1em 0;
  white-space: nowrap;
  text-align: left;
}

.device_side_i {
  width: 15px;
  margin-right: 6px;
}

.device_info_h4 {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  margin: 0;
  color: #EEEEEE;
  width: 300px;
}

.device_info {
  padding: 10px;
}

section.device_info div ul {
  list-style-type: none;
  margin: 1em 0;
  padding: 0;
}

section.device_info div ul li {
  list-style-type: none;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 300;
  color: #EEEEEE;
}

.device_info_value {
  float: right !important;
}

.device_info_name {
}

.device_info_progress {
  background: #383838;
  margin-bottom: 15px;
  width: 100%;
  height: 7px;
  border-radius: 3px;
}

.device_info_progress div {
  background: #2477FF;
  height: 7px;
  border-radius: 3px;
}

.device_info_no_progress {
  /* a no-op progress bar with same sizing */
  width: 100%;
  height: 11px;
}
