*{
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.main {
  display: flex;
  flex-direction: column;
  margin: 0.2em;
  overflow: hidden;
}

#tabPages{
  overflow: auto;
}

  .configForm {
      padding-bottom: 0.5em;
  }
  .configForm .buttons {
      margin-bottom: 0.5em;
  }
  .configForm .content>div:nth-child(even) {
      background-color: rgb(211 211 211 / 43%);
  }
  #statusPage .even {
      background-color: rgb(211 211 211 / 43%);
  }
  #statusPageContent {
    margin-bottom: 0.5em;
  }
  .counter-row .value{
      text-align: right;
      width: 6em;
  }
  .icon-row .label{
      width: 8.7em;
  }
  .category .title .label {
      opacity: 1;
      margin-left: 1em;
  }
  .changed input{
      color: green;
  }
  .changed select{
      color: green;
  }
  .category.changed{
    color: green;
  }
  span.label {
      width: 10em;
      display: inline-block;
      opacity: 0.6;
  }
  .configForm .value {
      width: 21em;
      display: flex;
      flex-direction: row;
      margin-bottom: 0.2em;
  }
  
  span#connected {
      display: inline-block;
      background-color: red;
      width: 1em;
      height: 1em;
      border-radius: 50%;
  }
  span#connected.ok{
    background-color: #13ac13;
  }
  .row {
      padding: 0.5em;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
  }
  input,select {
      border: 1px solid #808080a1;
      font-size: 0.9em;
      padding: 0.2em;
  }
  .filter {
      display: inline-block;
  }
  .buttons {
      padding-left: 1em;
  }
  button.infoButton {
      margin-left: 1em;
      vertical-align: bottom;
  }
  .category .title {
      padding-left: 0.5em;
      background-color: lightgray;
      padding-top: 0.3em;
      padding-bottom: 0.5em;
      border-bottom: 1px solid darkgray;
      display: flex;
      align-items: center;
  }
  .value button {
    margin-left: 0.5em;
  }
  .hidden{
    display: none !important;
  }
  .dash.invalid{
    display: none;
  }
  #xdrPage .row>.label{
    display: none;
  }
  #xdrPage .value{
    width: 24em;
  }
  .xdrcunused .title{
    opacity: 0.6;
  }
  .xdrline {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .xdrunused{
    opacity: 0;
    pointer-events: none;
  }
  span.xdrlabel {
    width: 8em;
    display: inline-block;
  } 
  .xdrinput .xdrdir {
    width: 12em;
  }
  .xdrinput .xdrdir:before {
    content: 'Direction';
  }
  .xdrinput .xdrcat {
    width: 12em;
  }
  .xdrinput .xdrsel {
    width: 12em;
  }
  .xdrinput .xdrfield {
    width: 12em;
  }
  .xdrinput .xdrimode {
    width: 8em;
  }
  .xdrinput .xdrinstance {
    width: 4em;
  }
  .xdrinput .xdrname {
    width: 16em;
  }
  .xdrexample {
    max-width: 16em;
    overflow: auto;
  }
  .uploadXdr{
    width: 1px;
    height: 1px;
    opacity: 0;
  }
  button.addunassigned {
    margin-left: 1em;
  }
  .msgDetails .value {
      width: 5em;
      text-align: right;
  }
  .msgDetails .label {
      width: 5em;
  }
  .overlayContainer {
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: #80808070;
      display: flex;
      overflow-y: auto;
  }
  
  .overlay {
      margin: auto;
      background-color: white;
      padding: 0.5em;
      max-width: 100%;
      box-sizing: border-box;
  }
  .overlayContent {
      padding: 0.5em;
  }
  div#overlayContent.text{
    white-space: pre-line;
  }
  .overlayButtons {
      border-top: 1px solid grey;
      padding-top: 0.5em;
      display: flex;
      flex-direction: row;
      justify-content: end;
  }
  #tabs {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid grey;
      margin-bottom: 0.5em;
  }
  #tabs .tab {
      background-color: lightgray;
      padding: 0.5em;
      border-left: 1px;
      border-right: 1px;
      border-top: 1px;
      border-bottom: 1px;
      border-color: grey;
      border-style: solid;
      opacity: 0.6;
  }
  #tabs .tab.active{
    opacity: 1;
  }
  .buttons button{
    padding: 0.5em;
  }
  .overlayButtons button{
    padding: 0.5em;
    margin-left: 0.3em;
  }
  button#reset{
    padding: 0.5em;
  }
  h1{
    margin-bottom: 0;
  }
  .icon-eye{
    background-image: url("data:image/svg+xml;utf-8,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'> <g class='layer'> <title>Layer 1</title> <path d='m0,0l24,0l0,24l-24,0l0,-24z' fill='none' id='svg_1'/> <path d='m12,6c3.79,0 7.17,2.13 8.82,5.5c-1.65,3.37 -5.03,5.5 -8.82,5.5s-7.17,-2.13 -8.82,-5.5c1.65,-3.37 5.03,-5.5 8.82,-5.5m0,-2c-5,0 -9.27,3.11 -11,7.5c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zm0,5c1.38,0 2.5,1.12 2.5,2.5s-1.12,2.5 -2.5,2.5s-2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5m0,-2c-2.48,0 -4.5,2.02 -4.5,4.5s2.02,4.5 4.5,4.5s4.5,-2.02 4.5,-4.5s-2.02,-4.5 -4.5,-4.5z' id='svg_2'/> </g> </svg>");
    margin-left: 0.5em;
    opacity: 0.3;
  }
  .icon{
    height: 1.5em;
    width: 1.5em;
    display: inline-block;
  }
  .icon-more{
      background-image: url("data:image/svg+xml;utf-8,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'> <g class='layer'> <title>Layer 1</title> <path d='m24,24l-24,0l0,-24l24,0l0,24z' fill='none' id='svg_1' opacity='0.87'/> <path d='m16.59,8.59l-4.59,4.58l-4.59,-4.58l-1.41,1.41l6,6l6,-6l-1.41,-1.41z' id='svg_2'/> </g> </svg>");
  }
  .icon-less{
    background-image: url("data:image/svg+xml;utf-8,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'> <g class='layer'> <title>Layer 1</title> <path d='m0,0l24,0l0,24l-24,0l0,-24z' fill='none' id='svg_1'/> <path d='m12,8l-6,6l1.41,1.41l4.59,-4.58l4.59,4.58l1.41,-1.41l-6,-6z' id='svg_2'/> </g> </svg>");
  }
  .icon-eye.active{
    opacity: 1;
  }
  
  .dash {
      width: 6.5em;
      height: 4em;
      display: flex;
      flex-direction: column;
      border: 1px solid grey;
      overflow: hidden;
      margin: 0;
      box-sizing: border-box;
      font-size: 1.2em;
      justify-content: space-between;
  }
  div#dashboardPage {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
  }
  .dashTitle {
      font-size: 0.8em;
      background-color: lightgray;
  }
  .dashValue{
    font-size: 1.6em;
    text-align: center;
  }
  .dashValue.formatLatitude {
    font-size: 1.1em;
    }
  .dashValue.formatLongitude {
        font-size: 1.1em;
    }
  .dashValue.formatDate {
    font-size: 1.2em;
  }    
  .footer {
    display: flex;
    flex-direction: row;
    padding: 0.1em;
    background-color: lightgray;
    font-size: 0.7em;
    }
  .footer .unit{
  }
  .footer .source{
    flex: 1;
  }  
  #adminPassInput {
    margin-bottom: 1em;
  }
  input#uploadFile {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  div#uploadProgress {
    width: 100%;
    max-width: 20em;
    height: 1em;
    margin-left: 1em;
    /* margin-right: auto; */
    border: 1px solid grey;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
#uploadDone{
  background-color: blue;
  width: 0px;
  height: 100%;
}
.error{
  color: red;
}
input.error{
  background-color: rgba(255, 0, 0, 0.329);
}