* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family:'Sarabun';
  background: rgb(82, 85, 85);
  color: #fff;
  min-height: 100vh;  
}

.body-background{
  width: 100%;
  height: 100vh; 
  background-size: cover;
  background-image: linear-gradient(to bottom, rgba(15, 115, 255, 0.475), rgba(179, 231, 203, 0.411)), url('../../images/solar-panel-wallpapers01.png');  
}

.body-background::before {
  background-color: rgba(0,0,0,0.25);
}




.loadding {
  width: 100%;
  height: 100%;
  background-color: black;
  display: flex;
  position:absolute;
  z-index: 99999;
  justify-content: center;
  text-align: center;
  padding: 25%;

}
.loadding label {
  color: rgb(255, 208, 0);
}

.pop-load {  
  position:absolute;
  z-index: 99999;
  padding-top: 5px;
  padding-left: 5px;
  padding-right: 0;
  padding-bottom:0;
  text-align: center;
}

.pop-load label {
  color: #ff0000;
}

.overtime1m {
  color: #fa8852;
}
.overtime5m {
  color: #cf0606;
}


.sticky {
  position: fixed;
}
.navbar-dark {
  background-color: #201e1e;
}

.title-h3 {    
  margin-top: 10px;
  font-size: 0.9rem;
}

.logout-href {
  font-size: 0.9rem;
}

.logout-img {
  font-size: 0.9rem;
  width: 32px;
}

.status-name {
  font-size: 0.9em;
}

.status-name > img {
  width: 32px;
}
.status-name > label {
  font-size: 0.8rem;
}

.box-chart {
  background-color: transparent;
  border-radius: 5px;  
}

/* logo app */
.logo-app-color {
  color: #000;
  text-shadow: 0px 2px #fff ;  
  
}
.logo-app-img {
  display: flex;
  /*background-color: rgba(0,0,0,0.25);*/
  text-align: center;
 justify-content: center;
  width: 100%;
  height: 100px;
  
}

.logo-app-img  > .limg {
  width: 100px;
  height: 100px;
  transform: rotate(45deg);
  border: #000 10px solid;
  background-color: rgb(244, 4, 0);
}

.logo-app-img  > .limg1{
  width: 100px;
  height: 100px;  
  margin-left: -50px;
  transform: rotate(45deg);
  border: #000 10px solid;
  background-color: rgb(244, 4, 0);
}

.logo-app {
  font-family: 'Bebas Neue';
  font-size: 80px;
  margin-top: 15%;
  position:absolute;
  width: 100%;
  height: 20%;
  display: block;   
  text-align: center;
  /*background-color: rgba(0,0,0,0.55);       */
  padding-top: 5px;
}
.logo-app img { 
  width: 60%;
}
.logo-app h4 {
  margin-top: 20px;
  font-size: 8vw;
  color: rgba(50, 133, 234, 0.932);
}
/* End logo app */

/* -- LOGIN -- */
.page-login {
  position:absolute;
  margin-top: 65%;
  text-align: center;   
  display: flex;
  justify-content: center;
  width: 100%;
}
.page-login .box {
  padding: 15px;
  background-color: #111010ea;
  border: 1px solid #ccc;
  border-radius: 15px;
  display: block;
}

/* แสดง รายละเอียดข้อมูล บนหัว*/
.box-status {
  height: 50px;
  padding-left: 10px;
  padding-right: 10px;
}

.box-status .status-name {
  width: 50%;
}
.box-status .status-co2 {
  width: 50%;
  z-index: 99 ;
}

.status-co2 .label{
  font-size: 0.9em;
}

.text-dashboard{
  font-size: 1.3em;
  color: #fff;
  font-weight: bold;
}

.device {
 padding-top: 30px;
}
.device > div > .device-select {
  margin-left: 30px;
}

.boxboard { 
  padding-top: 40px;
  color: #fff;   
  text-align: center;
  width: 100%; 
  background-color: transparent;
  display: flex;
  height: max-content;
  justify-content: center;
  
}

.board-inverter {
  width: 360px;
  height: 360px;
  border-radius: 15px;
  background-color: #201e1e;
  padding-left: 15px;
  display: block;
}

.board-sensor {
  padding-top: 10px;
  width: 360px;
  height: max-content;
  border-radius: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content :space-around;

}

.board-powermeter {
  background-color: #343232;
  margin: 5px;
  margin-top: 15px;
  border-radius: 15px;
  padding: 10px;
}

.box-size {
  width: 110px;
  height: 150px;
  display: block;
  /*background-color: blueviolet;*/
  position:absolute;  
}

.box-size .round-button {
  margin-left: 5px;
}

.round-button {
  display:block;
  width:100px;
  height:100px;
  line-height:50px;
  border: 2px solid #f5f5f5;
  border-radius: 50%;
  color:#f5f5f5;
  background: #1c1c1c;
  box-shadow:0 0 0 3px #1c1c1c;
  text-align:center;
  
}

.round-button img {
  width: 32px;
}

.round-button p {
  margin-top: -10px;
  font-size: 1.2em;
}


#pv {
  margin-top: 20px;
  margin-left:0px;
}
#pv .title {
  color:  #fff;
  text-align: center;
  width: 100%;
}
#pv .round-button {
  border-color: rgb(231, 220, 13);
  box-shadow: 0 0 5px 2px rgb(231, 220, 13);
}

#grid {
  margin-top: 180px;
  margin-left: 115px;
}

#grid .title {
  color:  #fff;
  text-align: center;
  width: 100%;
}

#grid .round-button {
  border-color: rgb(231, 129, 13);
  box-shadow: 0 0 5px 2px  rgb(231, 129, 13);
}

#inverter {
  margin-top: 60px;
  margin-left: 115px;
}


#consumption {
  margin-top: 20px;
  margin-left: 220px;
}

#consumption .title {
  color:  #fff;
  text-align: center;
  width: 100%;
}

#consumption .round-button {
  border-color: rgb(50, 79, 224);
  box-shadow: 0 0 5px 2px rgb(50, 79, 224);
}


.box-sensor {
  padding: 2px;
  padding-top: 10px;
  width: 165px;
  height: 110px;
  border: 1px solid #545151;
  border-radius: 5px;
  background-color: #343232;
  text-align: center;
  margin-bottom: 5px;
}

.box-sensor label{
  font-size: 1.2em;
  font-weight: bold;
}
.sensor-img img {
  width: 42px;
}

.sensor-img p {
  margin-bottom: -5px;
  font-size: 0.8em;
}

.ss-unit{
  position: absolute;
  margin-top: 22px;
  padding-left: 15px;
}

#sgc-unit{
  position: absolute;
  margin-top: 280px;
  padding-left: 300px;
}


/*เส้นเครื่องไหว*/
.arrline {
  position:absolute;
  width: 64px;
  height: 32px;
  display: block;
  /*background-color: rgb(0, 0, 0);*/
  text-align: center;
  border-radius: 32px;
}

#line_sorlar_inverter {
  margin-top: 80px;
  margin-left: 100px;
  transform: rotate(0deg);
  /* Safari */
  -webkit-transform: rotate(0deg);
  /* Firefox */
  -moz-transform: rotate(0deg);
  /* IE */
  -ms-transform: rotate(0deg);
  /* Opera */
  -o-transform: rotate(0deg);
  opacity : 1;
  color: rgb(230, 237, 17);
}

#line_grid_inverter {
  margin-top: 130px;
  margin-left: 137px;
  transform: rotate(-90deg);
  /* Safari */
  -webkit-transform: rotate(-90deg);
  /* Firefox */
  -moz-transform: rotate(-90deg);
  /* IE */
  -ms-transform: rotate(-90deg);
  /* Opera */
  -o-transform: rotate(-90deg);
  opacity : 1;
  color: rgb(237, 112, 17);
}

#line_inverter_con {
  margin-top: 80px;
  margin-left: 172px;
  transform: rotate(0deg);
  /* Safari */
  -webkit-transform: rotate(0deg);
  /* Firefox */
  -moz-transform: rotate(0deg);
  /* IE */
  -ms-transform: rotate(0deg);
  /* Opera */
  -o-transform: rotate(0deg);
  opacity : 1;
  color: rgb(17, 164, 237);
}


.ani-step-1 {
  animation-name: a1;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-iteration-count: infinite;
}

.ani-step-2 {
  animation-name: a2;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-iteration-count: infinite;
}

.ani-step-3 {
  animation-name: a3;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-iteration-count: infinite;
}


@keyframes a1 {
  0% {opacity: 1 ; transform: scale(1.3);}      
  50% {opacity: 0; }
  100% {opacity: 0 ; }   
}

@keyframes a2 {
  0% { opacity: 0;}    
  55% { opacity: 1; transform: scale(1);}        
  80% { opacity: 0 ;}
  100% { opacity: 0 ;}
}

@keyframes a3 {
  0% { opacity: 0;}    
  50% { opacity: 0;}    
  80% { opacity: 1 ;  transform: scale(0.8);}
  100% { opacity: 1 ;  transform: scale(0.8);}   
}


#switch-panel{
  position: absolute;
  margin-top: 230px;
  margin-left: 5px;
}

#checkbox {
  display: none;
}

.switch {
  position: relative;
  width: 70px;
  height: 70px;
  background-color: rgb(99, 99, 99);
  border-radius: 50%;
  z-index: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgb(126, 126, 126);
  box-shadow: 0px 0px 3px rgb(2, 2, 2) inset;
}

.powersign {
  position: relative;
  width: 30%;
  height: 30%;
  border: 4px solid rgb(48, 48, 48);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.powersign::before {
  content: "";
  width: 8px;
  height: 100%;
  background-color: rgb(99, 99, 99);
  position: absolute;
  top: -60%;
  z-index: 2;
}

.powersign::after {
  content: "";
  width: 4px;
  height: 100%;
  background-color: rgb(48, 48, 48);
  position: absolute;
  top: -60%;
  z-index: 3;
}

#checkbox:checked + .switch .powersign {
  border: 4px solid rgb(245, 0, 0);
  box-shadow: 0px 0px 10px rgb(255, 151, 194),
    0px 0px 5px rgb(255, 151, 175) inset;
}

#checkbox:checked + .switch .powersign::after {
  background-color: #fa0000;
  box-shadow: 0px 0px 5px rgb(255, 151, 151);
}

#checkbox:checked + .switch {
  /*box-shadow: 0px 0px 1px rgb(255, 151, 151) inset,
    0px 0px 2px rgb(255, 151, 198) inset,
    0px 0px 10px rgb(255, 151, 168) inset,
    0px 0px 40px rgb(255, 151, 167),
    0px 0px 100px rgb(255, 151, 160),
    0px 0px 5px rgb(255, 151, 184);*/
  border: 2px solid rgb(255, 3, 3);
  background-color: rgb(184, 146, 160);
}

#checkbox:checked + .switch .powersign::before {
  background-color: rgb(184, 146, 156);
}

.text-yellow {
  color: #edcd19;
}

.text-hover:hover {
  color: #0df811;
}