

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: lightskyblue;
}

body {
  touch-action: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 1rem;
  color: white;
}


#overlay-help {
  min-width: 500px;
  position: fixed; /* Sit on top of the page content */
  display: none; /* Hidden by default */
  width: 100%; /* Full width (cover the whole page) */
  height: 100%; /* Full height (cover the whole page) */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(77, 77, 77, 0.733); /* Black background with opacity */
  z-index: 3; /* Specify a stack order in case you're using a different order for other elements */
  cursor: pointer; /* Add a pointer on hover */
}

#text-help{
  position: absolute;
  top: 5%;
  left: 10%;
  width: 90%;
  height: 95%;
  font-size: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  color: white;
  overflow: auto;
  /* transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%); */
}

.pagecontainer {
  width: 100%;
  height: 100%;
  display: table;
}

.error-report {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 50%;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  color: rgb(175, 24, 24);
  /* background-color: rgba(51, 51, 51, 0.7); */
  overflow: none;
}

#drop-zone {
  width: 100%;
  height: 100%;
}

.drop-grid {
  position: fixed;
  background-color: rgb(0,0,0,0);
  display: none;
  grid-template-rows: 100%;
  grid-template-columns: 100%;
  grid-auto-flow: column;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.drop-target {
  background-color: rgba(95, 95, 95, 0.473);
  display: grid;
  grid-template: 100% / 100%;
  align-items: center;
  text-align: center;
  margin: 0px;
  border: 5px dashed grey;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: 500;
  color: rgb(150, 150, 150);
}

.app-grid {
  position: absolute;
  background-color: rgb(0,0,0,0);
  display: grid;
  grid-template-rows: 1fr 1.5rem 5px 3rem;
  grid-template-columns: 100%;
  grid-gap: 0px;
  /* grid-auto-flow: column; */
  width: 100%;
  height: 100%;
  z-index: 1;
}

.app-canvas {
  grid-row: 1 / 4;
  grid-column: 1 / 2;
  justify-self: stretch;
  align-self: stretch;
  min-height: 100px;
  min-width: 100px;
  cursor: crosshair;
}

#app-menu {
  grid-row: 2/4;
  grid-column: 1/2;
  /* justify-self: stretch; */
  align-self: start;
  justify-self: start;
  /* background-color: rgba(240, 240, 240, 0.2); */
  /* margin-bottom: 10px; */
  color: rgb(200, 200, 200);
  z-index: 2;
}

.menu-grid {
  display: grid;
  grid-template-rows: 1.5rem 1px;
  grid-template-columns: 20px 1fr;
  grid-row-gap: 1px;
  grid-column-gap: 3px;
  align-self: stretch;
  justify-self: stretch;
  /* padding-bottom: 4px; */
  /* width: 100%;
  height: 100%; */
}

#menu-help {
  grid-row: 1/2;
  grid-column: 1/2;
  background-color: rgba(240, 240, 240, 0.2);
  color: rgba(200, 200, 200, 0.3);
  text-align: center;
  cursor: pointer;
}

#menu-help:hover {
  background-color: rgba(240, 240, 240, 0.4);
  color: rgba(200, 200, 200, 1.0);
}

#app-status {
  grid-row: 4 / 5;
  grid-column: 1 / 2;
  font-size: 0.8rem;
  border-top: 4px solid rgb(57, 112, 194);
  align-self: stretch;
  justify-self: stretch;
  background-color: rgb(18, 97, 150);
  color: rgb(206, 206, 206);
}

.status-grid {
  display: grid;
  grid-template-rows: 50% 50%;
  grid-template-columns: 10% 10% 10% 10% 10% 1fr;
  grid-row-gap: 1px;
  grid-column-gap: 3px;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  height: 100%;
}


.dropup {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.dropup-content {
  display: block;
  position: fixed;
  opacity: 0.0;
  bottom: -10rem;
  z-index: 2;
  background-color: rgba(216, 207, 85, 0.6);
  color: rgb(200, 200, 200);
  min-width: 120px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  border-left: 4px solid rgb(90, 90, 90);
  padding-bottom: 5px;
}

.dropup-content-trans-hide {
  transition-timing-function: linear, linear;
  transition-property: opacity, bottom;
  transition-duration: 0.3s, 0.0s;
  transition-delay: 0.3s, 0.3s;
}

.dropup-content-trans-click {
  animation: drop-click 0.16s;
  animation-fill-mode: forwards;
  animation-delay: 0s;
}

.dropup-hover:hover .dropup-content {
  opacity: 1;
  bottom: 1rem;
  transition-property: bottom, opacity;
  transition-duration: 0.0s, 0.1s;
  transition-delay: 0.0s, 0.0s;
}

.dropup:hover {
  background-color: rgb(72, 180, 243);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

@keyframes drop-show {
  0% { bottom: -10rem; opacity: 0; }
  1% { bottom: 1.5rem; opacity: 0; }
  100% { bottom: 1.5rem; opacity: 1;}
}

@keyframes drop-hide {
  0% { bottom: 1.5rem; opacity: 1; }
  80% { bottom: 1.5rem; opacity: 1; }
  99% { bottom: 1.5rem; opacity: 0; }
  100% { bottom: -10rem; opacity: 0; }
}

@keyframes drop-click {
  0% { bottom: 1rem; opacity: 1; background-color: rgba(68, 68, 68, 0.6); }
  50% { bottom: 1rem; opacity: 1; background-color: rgba(197, 197, 197, 0.6);}
  99% { bottom: 1rem; opacity: 0; background-color: rgba(68, 68, 68, 0.6);}
  100% { bottom: -10rem; opacity: 0; background-color: rgba(68, 68, 68, 0.6);}
}

.dropup-item {
  display:block;
  padding: 2px 2px;
  background-color: rgb(18, 97, 150, 0.6);
}

.dropup-item:hover {
  background-color: rgba(28, 135, 206, 0.6);
}

#notify {
  position: fixed;
  display: block;
  width: 500px;
  height: 3rem;
  left: -510px;
  bottom: 3.5rem;
  background-color: rgb(100, 100, 100, 0.7);
  z-index: 2;
  cursor: pointer;
  /* border: 2px solid rgb(200, 200, 200, 1); */
  border-bottom: 5px solid rgb(220, 220, 220, 1);
  border-radius: 5px;
  transition: left 0.1s ease-in;
  transition-delay: 0s;
  overflow: hidden;
  padding-left: 5px;
  /* animation-timing-function: ease-in-out; */
  /* animation-fill-mode: both; */
}

#notify-big {
  position: fixed;
  display: block;
  width: 100%;
  height: 4rem;
  background-color: rgba(103, 194, 126, 0.85);
  border-top: 5px solid rgba(71, 134, 87, 0.85);
  bottom: -4.5rem;
  transition: bottom 0.5s ease-in-out;
  transition-delay: 0s;
  overflow: hidden;
  z-index: 5;
  font-size: 2rem;
  text-align: center;
  cursor: pointer;
}

@keyframes notify-slide {
  0% {
    transform: translate(0px, 0);
  }
  20% {
    transform: translate(510px, 0);
  }
  80% {
    transform: translate(510px, 0);
  }
  100% {
    transform: translate(0px, 0);
  }
}


h1 {
  font-size: 3.0rem;
  font-weight: 200;
  margin-bottom: 0.625rem;
  margin-top: 0;
}

h2 {
  font-size: 2rem;
  font-weight: 200;
  margin-bottom: 0.4rem;
  margin-top: 0;
}

p {
  margin-bottom: 0.2rem;
  margin-top: 0;
}

a:link {
  color: lightblue;
}

a:visited {
  color: lightsalmon;
}

.key-table {
  border-spacing: 0;
  font-size: 0.9rem;
}

table.key-table th { 
  text-align: left;
}

table.key-table th, td {
  padding-right: 20px;
  padding-bottom: 5px;
}

table.key-table td {
  text-align: left;
}

table.key-table th:nth-child(2), td:nth-child(3) {
  padding-left: 40px;
}

table.key-table th:nth-child(1) {
  border-right: 3px solid whitesmoke;
}

table.key-table td:nth-child(2) {
  border-right: 3px solid whitesmoke;
}

table.key-table td:nth-child(2n) {
  font-weight: 600;
}


.sw-table {
  border-spacing: 0;
  font-size: 0.9rem;
}

table.sw-table th { 
  text-align: left;
}

table.sw-table th, td {
  padding-right: 20px;
  padding-bottom: 5px;
}

table.sw-table td {
  text-align: left;
}

.info-table {
  border-spacing: 0;
  font-size: 0.9rem;
}

table.info-table th { 
  text-align: left;
}

table.info-table tr {
  padding-bottom: 10px;
}

table.info-table th, td {
  padding-right: 20px;
  padding-bottom: 5px;
  vertical-align: top;
}

table.info-table td:nth-child(1) {
  text-align: right;
  font-weight: 600;
  width: 100px;
}

table.info-table td:nth-child(2) {
  text-align: left;
  width: 400px;
}


.footnote {
  font-size: 0.9rem;
  margin-top: 3rem;
  margin-bottom: 0.2rem;
}

.footnote a {
  color: lightblue;
  font-style: oblique;
  font-weight: 600; 
}

ul {
  list-style-type: none;
  /* margin: 0; */
  padding-left: 1rem;
  padding-bottom:0.75rem;
  padding-top:0.75rem;
  
  overflow: hidden;
  background-color: rgba(51, 51, 51, 0.7);
}

li {
  /* float: ; */
  margin-top: 0.35rem;
  margin-bottom: 0.1rem;
}


.my-block {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}
.lds-ellipsis div {
  position: absolute;
  top: 27px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #fff;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 6px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 6px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 26px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 45px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(19px, 0);
  }
}




.canvas-img {
  background-color: darkgray;
  /*width: 500px; 
  height: 500px;*/
  /*display: block;*/
}
 
.slidecontainer {
  width: 100px; /* Width of the outside container */
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 15px;
  border-radius: 5px;  
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%; 
  background: #4CAF50;
  cursor: pointer;
}

.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #4CAF50;
  cursor: pointer;
}