body {
  margin: 0px;
  background-color: #282f37;
  color: white;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol";
  overflow: hidden;
}

a:link {
  text-decoration: inherit;
  color: inherit;
  cursor: auto;
}

a:visited {
  text-decoration: inherit;
  color: inherit;
  cursor: auto;
}

.login {
  width: 400px;
  margin: auto;
  margin-top: 200px;
  /* text-align: center; */
}

.login input {
  padding: 10px;
  border: solid #2cabcc 2px;
  border-radius: 5px;
  box-shadow: inset 0 1px 3px #ddd;
  display: block;
  width: 376px;
  margin: 5px 0px 10px 0px;
}

.login button {
  padding: 7px;
  border: none;
  border-radius: 5px;
  background-color: #2cabcc;
  color: white;
  font-size: medium;
  float: right;
  width: 100%;
}

.login button:disabled {
  background-color: #ccc;
}

.login .message {
  margin-top: 50px;
  color: #2cabcc;
}

.app {
  height: 100vh;
}

.loading {
  margin-top: 50px;
  color: #2cabcc;
  text-align: center;
  font-size: xx-large;
}

.autoLogin {
  margin-top: 110px;
  color: #2cabcc;
  text-align: center;
  font-size: xx-large;
}

.header {
  height: 60px;
  background-color: #1f1f1f;
}

.header .icon {
  height: auto;
  max-height: 100px;
  width: auto;
  max-width: 100%;
  margin-top: -17px;
}

.header .time {
  position: absolute;
  top: 0px;
  right: 50%;
  margin-top: 10px;
  font-size: xx-large;
}

.header .controls {
  float: right;
  border: solid #2cabcc 2px;
  border-radius: 10px;
  margin: 9px;
}

.header .controls div {
  padding: 10px;
  border-right: solid #2cabcc 1px;
  float: left;
}

.header .controls div:last-child {
  border: none;
}

.header .controls .selected {
  background-color: #2cabcc;
}

.header .controls .selected:first-child {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.header .controls .selected:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.header-summary .controls-level {
  border: solid grey 2px;
}

.header-summary .controls-layout {
  border: solid grey 2px;
}

.header-summary .controls-level div {
  border-right: solid grey 1px;
}

.header-summary .controls-layout div {
  border-right: solid grey 1px;
}

.header-summary .controls-level .selected {
  background-color: grey;
}

.header-summary .controls-layout .selected {
  background-color: grey;
}

.dashboard {
  height: calc(100% - 60px);
  width: 100%;
  overflow-y: auto;
  position: relative;
}

.overview {
  position: absolute;
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100%;
}
.overview-ok {
  background-image: url("../img/background/ok.jpg");
}

.overview-warning {
  background-image: url("../img/background/warning.jpg");
}

.overview-error {
  background-image: url("../img/background/error.jpg");
}

.overview .overview-status {
  height: calc(100% - 105px);
  width: calc((100vh - 105px) / 3);
  background-color: black;
  border: solid 2px grey;
  border-radius: 10px;
  margin: 10px;
  padding: 10px;
}

.overview-status div {
  position: relative;
  height: 33%;
  border-radius: 50%;
  background-color: #333;
}

.overview .error .error {
  background-color: #e22006;
}
.overview .warning .warning {
  background-color: orange;
}
.overview .ok .ok {
  background-color: #4caf50;
}

.status-group {
  background-color: grey;
}

.warning .status-group {
  background-color: orange;
}

.error .status-group {
  background-color: #e22006;
}

.ok .status-group {
  background-color: #4caf50;
}

.status {
  display: none;
}

.status .error {
  display: none;
}
.status .warning {
  display: none;
}
.status .ok {
  display: none;
}

ul.nodes-status {
  height: 95px;
  overflow: auto;
}

.node-status {
  list-style-type: none;
}

.node-status .state {
  height: 20px;
  width: 20px;
  border-radius: 20px;
  border: solid 2px black;
}

.state.warning {
  background-color: orange;
}

.state.error {
  background-color: #e22006;
}

.state.ok {
  background-color: #4caf50;
}

.grid {
  height: 200px;
  width: 20%;
  float: left;
}

.grid .status-group {
  height: 100%;
  border: solid 1px #282f37;
}

.grid .code {
  font-size: xx-large;
  text-align: center;
}

.grid .name {
  font-size: large;
  margin-left: 50px;
}

.grid .nodes-status {
  float: left;
}

.grid .node-status {
  clear: both;
}

.grid .node-status div {
  float: left;
  margin-right: 10px;
}

.traffic {
  height: 200px;
  width: 20%;
  float: left;
}

.traffic .status-group {
  height: 100%;
  border: solid 1px #282f37;
  background-color: black;
}

.traffic .status {
  display: block;
  float: left;
  width: 50px;
  margin: 10px;
  padding: 10px;
  border: solid 2px grey;
  border-radius: 10px;
}

.traffic .status div {
  float: left;
  height: 50px;
  width: 50px;
  border: solid 1px black;
  border-radius: 25px;
  display: inline-block;
  background-color: #333;
}

.traffic.error .status .error {
  background-color: #e22006;
}
.traffic.warning .status .warning {
  background-color: orange;
}
.traffic.ok .status .ok {
  background-color: #4caf50;
}

.traffic .code {
  margin-top: 5px;
  font-size: xx-large;
}

.traffic .name {
  font-size: large;
}

.traffic .nodes-status {
  padding: 0px;
}

.traffic .node-status {
  float: left;
  width: 80%;
}

.traffic .node-status div {
  float: left;
  margin-right: 10px;
}

.list {
  width: 100%;
  height: 50px;
  border: solid 1px #282f37;
  clear: both;
}

.list .status-group {
  width: 100%;
  height: 100%;
}

.list .status-group div {
  /* float: left; */
  margin: 5px 20px 0px 0px;
}

.list .status-group div.code {
  font-size: xx-large;
  margin-left: 20px;
  font-weight: bold;
  float: left;
  width: 200px;
}

.list .status-group div.name {
  font-size: large;
  float: left;
  display: none;
}

.list .status-group .nodes-status {
  padding-top: 10px;
  height: 30px;
}

.list .nodes-status {
  margin: 0px;
}

.list .node-status div {
  float: left;
}

/* Only show warnings and errors and the site and system level */
.traffic.site.ok {
  display: none;
}
.traffic.system.ok {
  display: none;
}
.traffic.site.undefined {
  display: none;
}
.traffic.system.undefined {
  display: none;
}

.grid.site.ok {
  display: none;
}
.grid.system.ok {
  display: none;
}
.grid.site.undefined {
  display: none;
}
.grid.system.undefined {
  display: none;
}

.list.site.ok {
  display: none;
}
.list.system.ok {
  display: none;
}
.list.site.undefined {
  display: none;
}
.list.system.undefined {
  display: none;
}

@media only screen and (max-width: 1600px) {
  .grid {
    width: 25%;
  }
  .traffic {
    width: 25%;
  }
}

@media only screen and (max-width: 1300px) {
  .grid {
    width: 33%;
  }
  .traffic {
    width: 33%;
  }
  .list .node-status .node {
    display: none;
  }
}
