*{
  margin: 0;
  padding:0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
:root{
  --bg1: #00001e;
  --c1: #d0d0d0;
  --w100:
  calc(100% - .5em);
  --w30:
  calc(30% - .5em);
  --w50:
  calc(50% - .5em);
  --w70:
  calc(70% - .5em);
  --m:5px auto;
  --radius: 10px;
  --bg0: #202135;
  --bg2: #161616;
--btn-radius: 1em;
--btn-fs: 2em;
--c3: #1c202a;
  --bg1:
  linear-gradient(-18deg, #b21b4e 0%, #c22e40 25%,  #d93820 50%,#d93820 86%, #df8158 100%);
  --bg0:
  linear-gradient(-25deg, #78008d 0%, #673ab7 47%,  #0f62a5 80%, #2196f3 100%);
}
body{
  overflow: hidden;
  height: 100vh;
  width: 100%;
  color: var(--c1);
  font-family: 'Segoe Ui' ,sans-serif;
  font-weight: 100;
  text-align: center;
  background: black;
  font-size: 12px;
}

#paso0 {
  display: flex;
  align-items: center;
  border-radius: 50px 0px 0px 0px;
  margin-left: 20px;
  background: var(--bg1);
  z-index: 100;
  transition: all .5s linear;
  transition-delay: .1s;
}
section {
  display: block;
  height: calc(100% - 1em);
  width: 90%;
  border-radius: 2em 2em 0 0;
  transition: all .6s linear;
  position: absolute;
  top: 1em;
  text-align: center;
  background: linear-gradient(-45deg, #2172f3, #b73ab3);
  /*  background-size: 400% 400%;
  animation: gradient 15s ease infinite;
  /*box-shadow: inset -6px 0px 10px rgba(0,0,0,0.3);*/
  left: 1em;
  margin-right: 2em;
}



h2, h3, h4, h1 p .h3-title {
    font-weight: lighter;
}
h3 {
    font-size: 2em;
    text-align: start;
    background: black;
    width: fit-content;
    border-radius: 0 2em 2em 0;
    height: 3em;
    display: flex;
    align-items: center;
    z-index: 100;
    position: relative;
    padding: 0 1em;
}
button {
    outline: none;
    border: none;
    height: 2em;
    font-family: 'Segoe Ui', sans-serif;
    transition: all .2s linear;
    cursor:pointer;
    color:var(--c1);
    text-transform: capitalize;
    font-size: .8em;
    box-sizing: border-box;
    background: none;
    margin-left: 1em;
    padding: 0;
    display: flex;
    align-items: center;
}
button:hover, a:hover, .sb div:hover {
    color: #00ffeb !important;
}
.alert{
    background-color:#d3372b;
}
.warning{background: linear-gradient(45deg, #ff9800, #ff2222);width: unset;}
.info{
    background-color:#6565ff;
}
.primary{
    background: black;
    width: 12em;
    position: absolute;
    z-index: 100;
    color: white;
    bottom: 20vh;
    right: -3em;
    border-radius: 3em;
    height: 3em;
    display: flex;
    align-items: center;
    justify-content: start;
    transition: all .3s linear;
    font-size: 2em;
}
.secondary{
    background-color:#1e232d;
}
.eco{
    background-color:#3c7f2d;
}
.inline {
    display: inline-block;
    text-align: center;
}
.w31{
    width:28%;
}
.w32{
    width:58%;
}
.w21{
    width:40%;
}
.w11{
    width:85%;
}
.logo {
  background: url(../img/logo.png) center no-repeat;
  background-size: auto;
  width: 100%;
  background-position: center;
  height: 3em;
}
.developer, .powered {
  background: url(../img/developer.png) center no-repeat;
  background-size: auto;
  position: absolute;
  bottom: 14vh;
  width: 100%;
  background-position: center;
  left: 0em;
  height: 3em;
}
.hidden{
  transform: translateY(100vh);
}

button.close {
    background: none;
    color: var(--c1);
    width: 1em;
    position: absolute;
    top: -.25em;
    right: 0.75em;
}
.sh {
    height: 20%;
    margin-top: 5em;
}

.sf {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    text-align: center;
    width: 65%;
    right: 0;
}

.sb {
  background: black;
  width: 90%;
  border-radius: 1.5em 0 0 1.5em;
  transition: all .2s linear;
  z-index: 100;
  position: relative;
  transform: translate(0em, 1em);
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2em;
  float: right;
  margin-bottom: 2em;
  }
input,select {
  outline: none;
  border: none;
  border-bottom: 1px solid white;
  background: black;
  color: white;
  width: 90%;
  font-size: .75em;
  font-weight: 100;
  font-family: 'Segoe Ui',sans-serif;
}
nav .sf button {
    width: 5em;
    height: 5em;
    margin: 2px 0px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.large {
    width: 80% !important;
    height: 3em !important;
    margin-top: 1em !important;
    margin-bottom: .5em !important;
}
table {
    width: var(--w100);
    margin-bottom: .5em;
    overflow-y: scroll;
    height: 1em;
    border-collapse: collapse;
    border-top: 1px solid rgba(255,255,255,0.3);
    border-bottom: 1px solid rgba(255,255,255,0.3);
}

td {
    text-align: left;
    /* background: var(--c3); */
    /* border-radius: var(--btn-radius); */
    text-indent: 1.5em;
    height: 3em;
    width: 80%;
    border-bottom: 1px solid;
}
.t {
    max-height: 25vh;
    overflow-y: auto;
    /* background: #14171e; */
    margin-bottom: 1em;
    width: 80%;
    margin: 2em auto;
    cursor: pointer;
}
p {
    font-size: 1.5em;
    padding-top: 1em;
    width: 100%;
    text-align: right;
    padding-right: 1em;
}

.black {
    position: absolute;
    bottom: 20vh;
    z-index: 500;
    padding: 0;
    text-align: right;
    display: flex;
    justify-content: end;
    transition: all 1s linear;
    width: 7em;
}

.black span {
    letter-spacing: 0em;
    position: absolute;
    right: 8px;
}
.black:before {
  content: "";
  position:absolute;
  top: -3em;
  left: 3em;
  height: 3em;
  width: 12em;
  border-bottom-left-radius: 1.5em;
  background: transparent;
  box-shadow: -8em 1em 0 0 #000000;
  z-index: -1;
}

.title {
    user-select: none;
    position: absolute;
    right: 2em;
    text-align: left;
    transition:all 1.5s;
    bottom: 45vh;
    height: 10em;
}
.black:after {
  content: "";
  position:absolute;
  bottom: -15em;
  left: 5em;
  height: 15em;
  width: 6.5em;
  border-top-left-radius: 1.5em;
  background: transparent;
  box-shadow: -4em 0 0 0 #000000;/*, inset 15px 0px 20px -14px black;*/
  z-index: -1;
}
.lamp {
    background: url(../img/bar.png) left top no-repeat;
    width: 50%;
    height: 50vh;
    position: absolute;
    top: 0;
    left: 12%;
    background-size: contain;
    filter: drop-shadow(3em 2em 8px rgba(0,0,0,0.2));
    transition: all 2s;
}

h2 {
    line-height: .9em;
    font-size: 4em;
}
a {
    text-decoration: none;
    /* font-size: .7em; */
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    color: white;
    float: right;
    cursor: pointer;
}

svg {
    margin: 1em;
}
.moveright{
  transform: translateX(110vw);
}
.moveleft{
  transform: translateX(-110vw);
}
.expand{
  width: calc(110vw + 1em);
}
.rotate{
  transform:rotate(180deg);
}
aside {
    width: 100vh;
    transform-origin: bottom;
    transform: rotate(-90deg)  translate(-50vh,20em);
    position: fixed;
    top: 0;
    right: 0;
    background: #242424;
    border-radius: var(--btn-radius);
}

aside button {
    display: inline;
    width: 10vh;
    background: none;
    text-rendering: optimizeLegibility;
    font-size: 1.5em;
    font-weight: 100;
    width: auto;
    padding: 0;
    min-width: 18vh;
    margin: 0;
    text-transform: uppercase;
}

button {
    user-select: none;
}

aside button:hover {
    background: black;
    color: white;
}
h4 {
    font-size: 1.5em;
    text-align: center;
    width: 80%;
    margin: 1em auto;
}

tr:hover {
    background: var(--bg0);
}
section:not(#paso0) a {
  width: fit-content;
  margin: 0 auto;
  font-size: .8em;
  color: #ffffffa8;
  position: absolute;
  bottom: -4em;
  padding: .5em 2em;
  background: black;
  border-radius: 2em;
  user-select: none;
  cursor: pointer;
}
.faded {
  opacity: 0;
  transform: translateX(100vw);
  height: 0;
}
#wifimanual, #wifilist {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: all .3s linear;
    height: -webkit-fill-available;
}
button:disabled {
    color: #8080807a;
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.primary:before {
        content: "";
        position: absolute;
        top: 3em;
        right: 6em;
        height: 10em;
        width: 11em;
        border-top-right-radius: 1em;
        background: #00000000;
        box-shadow: 9em -2em 0 0 #000000;/*, inset -7px 0px 7px rgba(0,0,0,0.3);*/
        z-index: -1;
}

.primary:after {
    content: "";
    position: absolute;
    top: -4em;
    right: 3em;
    height: 4em;
    width: 4em;
    border-bottom-right-radius: 1em;
    background: #00000000;
    box-shadow: 1em 1em 0 0 #000000;
    z-index: -1;
    user-select: none;
}
.vright:before {
    right: 1em;
    top: 5em;
}

.vright:after {
    border-bottom-left-radius: 2em;
    bottom: 3em;
    box-shadow: 0 1em 0 0 #000;
    right: 0;
}
@media screen and (orientation:landscape) {

  .black, .primary {
  }

  .primary {
  }

  .sf {
  }

  body {
      font-size: 10px;
      background: #191919;
  }
}
.hide{
  transform: translateX(5em);
  opacity:0;
}
.hhide {
  transform: translateX(8em);
}
#loader {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.2);
    z-index: 1000;
    font-size: 3em;
    opacity:0;
    transition: all .1s linear;
}

.loading {
    /* display: flex !important; */
    opacity: 1 !important;
}
.message {
    background: black;
    padding: 1em;
    border-radius: 10px;
}
.lds-dual-ring {
  display: inline-block;
  width: 92px;
  height: 92px;
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #fff;
  border-color: #fff transparent #fff transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.spinner {
    text-align: center;
}

#loadertext {
    margin: 0 auto;
    width: 100%;
    user-select: none;
}
.page {
    max-width: 360px;
    position: relative;
    overflow: hidden;
    height: 100%;
    margin: 0 auto;
    background: #000000;
}
.powered {
    width: 100%;
    background-position: center;
    background-image: url(../img/powered.png);
    bottom: 8vh;
}
.sb .help {
    position: absolute;
    top: 10em;
    font-size: 0.7em;
}
.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 140px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 5em;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.sb.sb2 {
    width: calc(100% - 10em);
    transform: translate(11em,1em);
}
.sb div {
    font-size: 1em;
    cursor: pointer;
}
.sb.sb60 {
    width: 60%;
}

.sb.sb50 {
    width: 50%;
}

.venom:before, .venom:after {
    content: "";
    position: absolute;
    height: 3.1em;
    width: 1.1em;
    background: transparent;
    z-index: -1;
}

.v-left:after {
    border-bottom-left-radius: 2em;
    bottom: 3em;
    box-shadow: 0 1em 0 0 #000;
    left: 0;
}

.v-left:before {
    border-top-left-radius: 2em;
    top: 3em;
    left: 0;
    box-shadow: 0em -1em 0 0 #000000;
}
.v-right:after {
    border-bottom-right-radius: 2em;
    bottom: 3em;
    box-shadow: 0 1em 0 0 #000;
    right: 0;
}

.v-right:before {
    border-top-right-radius: 2em;
    top: 3em;
    right: 0em;
    box-shadow: 0em -1em 0 0 #000000;
}
.space-h3 {
    height: 6em;
}
p#status {
    text-align: center;
    font-size: 3em;
}
progress#pbar {
    appearance: none;
    border-radius:5px;
    height:1em;
    width:80%;
}
 ::-webkit-progress-value {
  background-color: #18b5ff;
}
::-webkit-progress-bar {
   background-color: black;
         border-radius: 5px;
    overflow:hidden;
}
#scan {
    font-family: monospace;
    border: none;
}
#serial {
    user-select: none;
    font-size: 3em;
    text-align: center;
    background: snow;
    padding: .5em 0;
    border-radius: 10px;
    color: black;
    width: 8em;
    border-bottom-color: black;
    margin: 0;
    justify-content: center;
}
