﻿:root {
 --white01: #EBEBEB;
 --white02: #cecece;
 --gray01: #B3B3B3;
 --gray02: #808080;
 --gray03: #636363;
 --gray04: #363636;
 --gray05: #1D1D1D;
 --blue01: #0072D4;
 --red01: #EB2100;
 --red02: #F5C6BD;
 --yellow01: #F4C500;
 --yellow-savee-logo: #F5F06D;
 --orange01: #FF6900;
 --orange02: #ffaf76;
 --green01: #1EF00A;
 --green02: #38AA31;
 --green03: #A7D6A5;
 --top-menu-height: 5.25rem;
 --left-menu-width: 15.25rem;
 --pushbutton-count: 5;
 --pushbutton-width: calc((100vw - var(--left-menu-width) - 1.5rem - ((var(--pushbutton-count) - 1) * 0.5rem)) / var(--pushbutton-count));
 --pushbutton-kiosk-width: calc((100vw - 1.5rem - ((var(--pushbutton-count) - 1) * 0.5rem)) / var(--pushbutton-count));
 --screen-ratio: 1;
 --calendar-width: 50vw;
 --calendar-height: 50vh;
}

*:not(input) {
 user-select: none;
}

.offline-modal {
 font-family: 'Cooper Hewitt';
}

 .my-reconnect-modal div, .offline-modal div {
  user-select: none;
 }

.my-reconnect-modal > div, .offline-modal {
 position: fixed;
 top: 0;
 right: 0;
 width: 100%;
 height: 100vh;
 z-index: 9999;
 overflow: hidden;
 background-color: var(--orange01);
 color: var(--white01);
 display: flex;
 align-items: center;
 justify-content: center;
}

 .my-reconnect-modal > div > div, .offline-modal > div {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
 }

.reconnect-loader {
 width: 100%;
 height: 50vh;
 padding-top: calc(50vh - 90px);
 padding-bottom: 110px;
 padding-left: calc((100vw / 2) - 50px);
 align-content: center;
}

.reconnect-label {
 padding-top: 1rem;
 font-size: 2rem;
 font-weight: bold;
}

.reconnect-sublabel {
 font-size: 1.3rem;
}

.savee-logo-loader {
 height: 15rem;
 width: 15rem;
 border-radius: 50% 50%;
 -webkit-animation: logo-spin 2s linear infinite;
 animation: logo-spin 2s linear infinite;
 display: flex;
 align-items: center;
 justify-content: center;
 overflow: hidden;
}

 .savee-logo-loader img {
  height: 15rem;
  width: 15rem;
 }

@-webkit-keyframes logo-spin {
 0% {
  -webkit-transform: rotate(0deg);
 }

 100% {
  -webkit-transform: rotate(360deg);
 }
}

@keyframes logo-spin {
 0% {
  transform: rotate(0deg);
 }

 100% {
  transform: rotate(360deg);
 }
}

.components-reconnect-hide > div {
 display: none;
}

.components-reconnect-show > div {
 display: none;
}

.components-reconnect-show > .show {
 display: flex;
}

.components-reconnect-failed > div {
 display: none;
}

.components-reconnect-failed > .failed {
 display: flex;
}

.components-reconnect-refused > div {
 display: none;
}

.components-reconnect-refused > .refused {
 display: flex;
}

.components-reconnect-rejected > div {
 display: none;
}

.components-reconnect-rejected > .refused {
 display: flex;
}

.global {
 font-family: 'Cooper Hewitt';
}

.center-content {
 justify-content: center;
}

._new-body {
 padding-left: var(--left-menu-width);
 padding-top: var(--top-menu-height);
 height: 100vh;
 user-select: none;
 overflow-y: scroll;
 -ms-overflow-style: none;
 scrollbar-width: none;
}

 ._new-body::-webkit-scrollbar {
  display: none;
 }

._new-body-kiosk {
 height: 100vh;
 user-select: none;
 overflow-y: scroll;
 -ms-overflow-style: none;
 scrollbar-width: none;
}

 ._new-body-kiosk::-webkit-scrollbar {
  display: none;
 }

._new-loader {
 position: fixed;
 display: flex;
 justify-content: center;
 top: 0px;
 bottom: 0px;
 left: 0px;
 right: 0px;
 background-color: lightgray;
 opacity: 80%;
 z-index: 9998;
}

 ._new-loader > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-self: flex-start;
  margin-top: 150px;
 }

.savee-icon {
 font-family: Savee;
 line-height: 0.5;
}

.savee-left-menu-arrow {
 font-family: Savee;
 font-size: 3rem;
 line-height: 0.1;
}

.left-menu {
 position: fixed;
 height: calc(100vh - var(--top-menu-height));
 width: var(--left-menu-width);
 top: var(--top-menu-height);
 left: 0px;
 background-color: var(--gray01);
}

 .left-menu > .items {
  position: absolute;
  height: 100%;
  right: 0px;
  width: calc(var(--left-menu-width) - 1.5rem);
  background-color: var(--gray05);
  color: var(--gray01);
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  user-select: none;
 }

  .left-menu > .items > div.active {
   background-color: var(--blue01);
  }

  .left-menu > .items > div {
   height: 4rem;
   display: grid;
   grid-template-columns: 3rem 1fr 1rem;
   align-content: center;
   border-bottom: 1px solid var(--gray04);
   padding-right: 0.5rem;
  }

   .left-menu > .items > div:not(.active):hover {
    cursor: pointer;
    background-color: var(--gray04);
   }

   .left-menu > .items > div > div {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    display: flex;
   }

    .left-menu > .items > div > div:first-of-type {
     justify-content: flex-end;
    }

   .left-menu > .items > div .savee-icon {
    font-size: 2.5rem;
   }

.top-menu {
 position: fixed;
 height: var(--top-menu-height);
 width: 100vw;
 top: 0px;
 left: 0px;
 background-color: var(--gray05);
 user-select: none;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 z-index: 5;
}

.top-menu-left {
 display: flex;
}

.top-menu-context {
 display: flex;
}

 .top-menu-context.only-buttons {
  padding-left: 1rem;
 }

 .top-menu-context ._new-button {
  margin-top: calc((var(--top-menu-height) - 3rem) / 2);
  margin-right: 0.25rem;
 }

.logout-kiosk {
 position: fixed;
 top: 0px;
 right: 0px;
 width: 3rem;
 height: 3rem;
 background-color: var(--red01);
 border-bottom-left-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 user-select: none;
 z-index: 3;
 opacity:0;
}

 .logout-kiosk .savee-icon {
  font-size: 2.5rem;
  padding-left: 0.25rem;
  padding-bottom: 0.25rem;  
 }

.floorplan-select {
 margin-top: calc((var(--top-menu-height) - 3rem) / 2);
 align-self: flex-start;
 width: 15rem;
 background-color: var(--gray01);
 display: grid;
 grid-template-columns: 1fr;
 align-items: center;
 color: var(--gray05);
 cursor: pointer;
 outline: none;
}

 .floorplan-select > div {
  height: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 0.5rem;
 }

 .floorplan-select .savee-icon {
  font-size: 3rem;
  padding-bottom: 0.7rem;
 }

 .floorplan-select > div:not(:first-of-type) {
  border-top: 1px solid var(--gray05);
 }

 .floorplan-select > div:hover {
  background-color: var(--gray02);
  cursor: pointer;
 }

.logo {
 height: var(--top-menu-height);
 width: var(--left-menu-width);
 top: 0px;
 left: 0px;
 background-color: var(--gray01);
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
}

 .logo > div {
  display: flex;
 }

 .logo img {
  height: 2.5rem;
 }

 .logo ._new-logo-text {
  margin-left: 0.75rem;
 }

._new-login {
 display: grid;
 margin-top: calc((var(--top-menu-height) - 3rem) / 2);
 align-self: flex-start;
 grid-template-columns: 1fr;
}

 ._new-login > div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  min-width: 10rem;
  right: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-right: 1rem;
  background-color: var(--gray05);
  color: var(--gray01);
 }

  ._new-login > div:not(:first-of-type) {
   border-top: 1px solid var(--gray04);
  }

  ._new-login > div:hover {
   background-color: var(--gray04);
   -webkit-box-shadow: 0px 0px 0px 1px var(--gray05);
   box-shadow: 0px 0px 0px 1px var(--gray05);
   cursor: pointer;
  }

 ._new-login .savee-icon {
  margin-left: 0.5rem;
  font-size: 2.5rem;
 }

body {
 background-color: var(--gray04);
 -ms-overflow-style: none;
 scrollbar-width: none;
}

 body::-webkit-scrollbar {
  display: none;
 }

._new-modal-shadow {
 position: fixed;
 width: 100vw;
 height: 100vh;
 top: 0px;
 left: 0px;
 padding: 1rem;
 background-color: var(--gray05);
 opacity: 0.7;
 z-index: 999;
}

._new-modal {
 position: fixed;
 top: 0px;
 left: 0px;
 width: 100vw;
 height: 100vh;
 z-index: 1000;
 display: flex;
 justify-content: center;
 overflow-y: scroll;
 -ms-overflow-style: none;
 scrollbar-width: none;
}

 ._new-modal.dynamic > div {
  height: 90vh !important;
 }

 ._new-modal::-webkit-scrollbar {
  display: none;
 }

 ._new-modal > div {
  background-color: var(--gray01);
  color: var(--gray05);
  padding: 0px 3rem 3rem 3rem;
  min-width: 20rem;
  width: 30rem;
  margin-top: 5vh;
  height: fit-content;
  height: -moz-fit-content;
  border-top: 0.5rem solid var(--blue01);
  overflow: visible;
 }

  ._new-modal > div.medium {
   width: 45rem;
  }

  ._new-modal > div.large {
   width: 65rem;
  }

._new-modal-heading {
 display: flex;
 justify-content: space-between;
 height: 3rem;
}

 ._new-modal-heading > div {
  font-size: 1.2rem;
  align-self: flex-end;
  user-select: none;
 }

  ._new-modal-heading > div.storno {
   align-self: center;
   font-size: 1.5rem;
   cursor: pointer;
   user-select: none;
  }

._new-modal-buttons {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-end;
 margin-top: 3rem;
 margin-right: -0.5rem;
 margin-bottom: -0.5rem;
}

 ._new-modal-buttons > div {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
 }

._new-form-wrapper {
 display: grid;
 grid-template-columns: 1fr;
 grid-auto-rows: 3rem;
}

 ._new-form-wrapper .text {
  align-self: flex-end;
 }

._new-text-input, ._new-number-input {
 height: 3rem;
 width: 100%;
 border: 0px hidden;
 color: var(--gray05);
 padding-right: 0.8rem;
 padding-left: 0.8rem;
 background-color: var(--white01);
}

 ._new-text-input:focus,, ._new-number-input:focus {
  border: 0px hidden;
  border-image-width: 0px;
 }

._new-form-label {
 height: 3rem;
 font-size: 0.8rem;
 padding-top: 1.5rem;
 white-space: nowrap;
}

._new-form-text {
 height: 3rem;
 display: flex;
 align-items: center;
}

 ._new-form-text.center {
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
 }

._new-form-select {
 height: 3rem;
 width: 100%;
}

._new-label-error {
 align-self: flex-end;
 color: var(--red01);
}

._new-button {
 height: 3rem;
 min-width: 10rem;
 padding-left: 1rem;
 padding-right: 1rem;
 color: var(--white01);
 cursor: pointer;
 user-select: none;
 display: flex;
 align-items: center;
 justify-content: center;
 white-space: nowrap;
}

 ._new-button .savee-icon {
  font-size: 2.5rem;
  padding-bottom: 0.3rem;
  padding-right: 0.5rem;
 }

._new-button-blue {
 background-color: var(--blue01);
}

._new-button-red {
 background-color: var(--red01);
}

._new-button-gray {
 background-color: var(--gray03);
}

._new-button-green {
 background-color: var(--green02);
}

._new-button-orange {
 background-color: var(--orange01);
}

._new-button-inactive {
 background-color: var(--gray02);
 cursor: default;
}

.floorplan-background {
 width: calc(100vw - var(--left-menu-width));
 height: calc(100vh - var(--top-menu-height));
 background-repeat: no-repeat;
 user-select: none;
 cursor: move;
 position: relative;
 overflow: hidden;
}

 .floorplan-background.locked {
  cursor: default;
 }

 .floorplan-background.kiosk {
  width: 100vw;
  height: 100vh;
 }

.floorplan-lock {
 position: fixed;
 bottom: 0px;
 right: 0pc;
 width: 6rem;
 height: 3rem;
 background-color: var(--green02);
 border-top-left-radius: 1.5rem;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 user-select: none;
 /*z-index: 3;*/
 color: var(--white01);
}

 .floorplan-lock i {
  font-size: 2rem;
  margin-left: 0.3rem;
  margin-right: 0.4rem;
 }

 .floorplan-lock.locked {
  background-color: var(--red01);
  width: 3rem;
 }

 .floorplan-lock .savee-icon {
  font-size: 4rem;
  padding-bottom: 0.55rem;
 }

.floorplan-filter {
 position: fixed;
 bottom: 0px;
 right: 0px;
 width: calc(100vw - var(--left-menu-width));
 padding-top: 0.7rem;
 padding-bottom: 0.7rem;
 background-color: var(--gray05);
 display: grid;
 grid-template-columns: 4rem 12rem 1fr;
 grid-auto-rows: min-content;
 align-items: center;
 align-content: center;
}

.floorplan-filter-collapsed {
 position: fixed;
 bottom: 0px;
 left: var(--left-menu-width);
 width: 3rem;
 height: 3rem;
 background-color: var(--gray05);
 border-top-right-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 user-select: none;
 /*z-index: 3;*/
}

 .floorplan-filter-collapsed .savee-icon {
  font-size: 4rem;
  padding-bottom: 0.55rem;
 }

.floorplan-buttons-collapsed {
 position: fixed;
 top: var(--top-menu-height);
 left: var(--left-menu-width);
 width: 3rem;
 height: 3rem;
 background-color: var(--blue01);
 color: var(--white01);
 border-bottom-right-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 user-select: none;
 z-index: 3;
}

.floorplan-buttons-collapse {
 position: fixed;
 top: var(--top-menu-height);
 left: var(--left-menu-width);
 width: 3rem;
 height: 3rem;
 background-color: var(--blue01);
 color: var(--white01);
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 user-select: none;
 z-index: 3;
}

.floorplan-buttons-collapsed .savee-icon {
 font-size: 3.5rem;
 padding-bottom: 0.3rem;
}

.floorplan-buttons-collapse .savee-icon {
 font-size: 3.5rem;
 padding-bottom: 0.3rem;
}

.floorplan-buttons {
 position: fixed;
 top: var(--top-menu-height);
 left: calc(var(--left-menu-width) + 3rem);
 display: flex;
 flex-wrap: wrap;
}

 .floorplan-buttons ._new-button {
  margin-left: 0.25rem;
  margin-bottom: 0.25rem;
 }

.floorplan-description {
 position: absolute;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 12rem;
 top: -2.2rem;
 left: -4.5rem;
}

 .floorplan-description.lux {
  left: -5rem;
 }

 .floorplan-description > div {
  font-size: 0.8rem;
  border: solid 1px;
  padding: 0.25rem;
 }

.floorplan-filter .savee-icon {
 font-size: 4rem;
 justify-self: center;
 padding-bottom: 0.5rem;
 cursor: pointer;
}

.floorplan-filter input[type=checkbox] {
 margin-right: 0.4rem;
 cursor: pointer;
}

.floorplan-filter label {
 cursor: pointer;
 margin: 0px;
}

.floorplan-filter-items {
 height: 100%;
 display: flex;
 flex-wrap: wrap;
 align-content: start;
 margin-bottom: -0.25rem;
}

 .floorplan-filter-items > div {
  background-color: var(--gray04);
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  padding: 0.25rem 0.75rem 0.15rem 0.75rem;
 }

.floorplan-node-icon {
 width: 3rem;
 height: 3rem;
 position: absolute;
 font-size: 5.3rem;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 padding-bottom: 0.25rem;
 cursor: pointer;
}

.floorplan-node-dali {
 height: 3rem;
 position: absolute;
 font-size: 5.3rem;
 border-radius: 1.5rem;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding-bottom: 0.25rem;
 cursor: pointer;
}

 .floorplan-node-dali > .dali-icon {
  margin-right: 0.3rem;
  width: 3rem;
  display: flex;
  justify-content: center;
 }

.floorplan-node-dali-value {
 font-size: 1.4rem;
 padding-right: 0.5rem;
 padding-top: 0.25rem;
}

.floorplan-node-lux {
 height: 2.2rem;
 position: absolute;
 font-size: 3.7rem;
 border-radius: 1.1rem;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding-bottom: 0.15rem;
}

 .floorplan-node-lux > .lux-icon {
  margin-right: 0.3rem;
  width: 2.2rem;
  display: flex;
  justify-content: center;
 }

.floorplan-node-lux-value {
 font-size: 1rem;
 padding-right: 0.5rem;
 padding-top: 0.25rem;
}

.floorplan-node-slider {
 position: absolute;
 width: 16.5rem;
 height: 3rem;
 border: 1px solid var(--white01);
 border-radius: 1.5rem;
 background-color: var(--gray03);
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-size: 2rem;
 z-index: 900;
}

 .floorplan-node-slider > div:nth-child(-n+2) {
  padding-top: 0.1rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
 }

.floorplan-node-move-frame {
 position: absolute;
 top: -20rem;
 left: -20rem;
 width: 41.5rem;
 height: 41.5rem;
}

.node-wait {
 background-color: var(--gray02);
 color: white;
}

.node-on {
 background-color: var(--green02);
 color: white;
}

.node-off, .lux-off {
 background-color: var(--red01);
 color: white;
}

.node-warn, .lux-warn {
 background-color: var(--orange01);
 color: white;
}

.lux-on {
 background-color: var(--yellow01);
 color: white;
}

._new-floorplan-group-dali {
 position: absolute;
 width: 11rem;
 height: 11rem;
 border-radius: 1.5rem;
 background-color: var(--gray04);
 border: 2px dashed var(--gray01);
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: 4rem 7rem;
 justify-content: center;
 align-content: stretch;
}

._new-floorplan-group-nondali {
 position: absolute;
 width: 11rem;
 height: 11rem;
 border-radius: 1.5rem;
 background-color: var(--gray04);
 border: 2px dashed var(--gray01);
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: 5rem 6rem;
 justify-content: center;
 align-content: stretch;
}

 ._new-floorplan-group-nondali.edit {
  background-color: var(--gray02);
  cursor: pointer;
 }

.floorplan-node-icon.edit {
 background-color: var(--gray02);
 cursor: pointer;
}

.floorplan-group-name {
 display: flex;
 align-items: center;
 max-width: 11rem;
 justify-content: center;
 padding: 0.2rem 1.5rem 0px 1.5rem;
}

 .floorplan-group-name > div {
  width: 100%;
  overflow-wrap: break-word;
  text-align: center;
 }

.floorplan-group-buttons {
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 padding: 0rem 2rem 2rem 2rem;
}

.floorplan-group-icon {
 position: relative;
 width: 3rem;
 height: 3rem;
 font-size: 5.3rem;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 padding-bottom: 0.25rem;
 cursor: pointer;
}

.floorplan-group-slider {
 position: absolute;
 width: 16.5rem;
 height: 3rem;
 border: 1px solid var(--white01);
 border-radius: 1.5rem;
 background-color: var(--gray03);
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-size: 2rem;
 z-index: 900;
}

 .floorplan-group-slider > div:nth-child(-n+2) {
  padding-top: 0.1rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
 }

.floorplan-group-move-frame {
 position: absolute;
 top: -20rem;
 left: -20rem;
 width: 51rem;
 height: 51rem;
}

.floorplan-group-edit-frame {
 position: absolute;
 top: -20rem;
 left: -20rem;
 width: 51rem;
 height: 51rem;
}

.floorplan-group-dali-value {
 position: absolute;
 top: -2.1rem;
 width: 3rem;
 text-align: center;
 font-size: 1.4rem;
}

.buttons-flex {
 display: flex;
 position: relative;
 height: calc(100vh - var(--top-menu-height));
 overflow-y: scroll;
 -ms-overflow-style: none;
 scrollbar-width: none;
}

 .buttons-flex.v-center {
  align-items: center;
 }

 .buttons-flex.h-center .buttons-wrapper {
  justify-content: center;
 }

 .buttons-flex.kiosk {
  height: 100vh;
 }

.buttons-animation {
 position: absolute;
 top: 0px;
 left: 0px;
 right: 0px;
 bottom: 0px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: calc(var(--pushbutton-width) * 0.8) ;
 font-weight: 900;
 color: var(--gray05);
 animation: signup-response 0.5s 1;
 -webkit-animation: signup-response 0.5s 1;
 animation-fill-mode: forwards;
 animation-delay: 0.5s;
 -webkit-animation-delay: 0.5s; /* Safari and Chrome */
 -webkit-animation-fill-mode: forwards; 
}

 .buttons-animation.upper {
  background-color: var(--green01);
 }

 .buttons-animation.lower {
  background-color: var(--orange01);
 }

@keyframes signup-response {
 from {
  opacity: 1;
 }

 to {
  opacity: 0;
 }
}

@-webkit-keyframes signup-response {
 from {
  opacity: 1;
 }

 to {
  opacity: 0;
 }
}

.buttons-wrapper {
 width: 100%;
 height: min-content;
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(var(--pushbutton-width),var(--pushbutton-width)));
 grid-gap: 0.5rem 0.5rem;
 padding: 0.75rem;
}

.buttons-flex.kiosk .buttons-wrapper {
 grid-template-columns: repeat(auto-fit, minmax(var(--pushbutton-kiosk-width),var(--pushbutton-kiosk-width)));
}

.buttons-flex::-webkit-scrollbar {
 display: none;
}

.buttons-button-shadow {
 width: 100%;
 height: calc((20 / 11) * var(--pushbutton-width));
 background-color: var(--gray05);
 border-radius: calc((0.75 / 11) * var(--pushbutton-width));
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: 1fr 1fr;
 grid-row-gap: calc((0.3 / 11) * var(--pushbutton-width));
 position: relative;
 overflow: visible;
}

.buttons-flex.kiosk .buttons-button-shadow {
 height: calc((20 / 11) * var(--pushbutton-kiosk-width));
 border-radius: calc((0.75 / 11) * var(--pushbutton-kiosk-width));
 grid-row-gap: calc((0.3 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-uppper {
 width: 100%;
 background-color: var(--gray01);
 color: var(--gray05);
 border-radius: calc((0.75 / 11) * var(--pushbutton-width)) calc((0.75 / 11) * var(--pushbutton-width)) 0px 0px;
 margin-top: calc((0.7 / 11) * var(--pushbutton-width));
 cursor: pointer;
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: calc((0.25 / 11) * var(--pushbutton-width)) calc((2.5 / 11) * var(--pushbutton-width)) 1fr;
 justify-items: center;
 align-items: center;
 overflow: hidden;
 position:relative;
}

.buttons-flex.kiosk .buttons-button-uppper {
 border-radius: calc((0.75 / 11) * var(--pushbutton-kiosk-width)) calc((0.75 / 11) * var(--pushbutton-kiosk-width)) 0px 0px;
 margin-top: calc((0.7 / 11) * var(--pushbutton-kiosk-width));
 grid-template-rows: calc((0.25 / 11) * var(--pushbutton-kiosk-width)) calc((2.5 / 11) * var(--pushbutton-kiosk-width)) 1fr;
}

.buttons-button-uppper.passive, .buttons-button-lower.passive {
 color: var(--gray02);
 cursor: default;
}

.passive .button-light-on, .passive .button-light-off {
 background-color: var(--gray02);
}

.buttons-button-uppper:not(.passive):active {
 margin-top: calc((0.3 / 11) * var(--pushbutton-width));
 margin-bottom: calc((0.15 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .buttons-button-uppper:not(.passive):active {
 margin-top: calc((0.3 / 11) * var(--pushbutton-kiosk-width));
 margin-bottom: calc((0.15 / 11) * var(--pushbutton-kiosk-width));
}


.buttons-button-uppper:not(.passive):active .button-light-on {
 box-shadow: 0px 0px 7px 1px var(--green01);
}

.buttons-button-lower {
 width: 100%;
 background-color: var(--gray03);
 color: var(--white01);
 border-radius: 0px 0px calc((0.75 / 11) * var(--pushbutton-width)) calc((0.75 / 11) * var(--pushbutton-width));
 margin-bottom: calc((0.7 / 11) * var(--pushbutton-width));
 cursor: pointer;
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: calc((2.5 / 11) * var(--pushbutton-width)) 1fr calc((0.25 / 11) * var(--pushbutton-width));
 justify-items: center;
 align-items: center;
 overflow: hidden;
 position: relative;
}

.buttons-button-wrapper {
 position: absolute;
 height: calc(var(--pushbutton-width) * 3);
 width: calc(var(--pushbutton-width) * 3);
 left: calc(var(--pushbutton-width) * -1);
 top: calc(var(--pushbutton-width) * -1);
 z-index: 10;
}

.buttons-flex.kiosk .buttons-button-lower {
 border-radius: 0px 0px calc((0.75 / 11) * var(--pushbutton-kiosk-width)) calc((0.75 / 11) * var(--pushbutton-kiosk-width));
 margin-bottom: calc((0.7 / 11) * var(--pushbutton-kiosk-width));
 grid-template-rows: calc((2.5 / 11) * var(--pushbutton-kiosk-width)) 1fr calc((0.25 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-lower:not(.passive):active {
 margin-top: calc((0.15 / 11) * var(--pushbutton-width));
 margin-bottom: calc((0.3 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .buttons-button-lower:not(.passive):active {
 margin-top: calc((0.15 / 11) * var(--pushbutton-kiosk-width));
 margin-bottom: calc((0.3 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-lower:not(.passive):active .button-light-off {
 box-shadow: 0px 0px 7px 1px var(--orange01);
}

.button-light-on {
 width: 40%;
 height: 100%;
 background-color: var(--green01);
 border-radius: calc((0.125 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-light-on {
 border-radius: calc((0.125 / 11) * var(--pushbutton-kiosk-width));
}

.button-light-off {
 width: 40%;
 height: 100%;
 background-color: var(--orange01);
 border-radius: calc((0.125 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-light-off {
 border-radius: calc((0.125 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-name {
 font-size: calc((1.2 / 11) * var(--pushbutton-width));
 white-space: nowrap;
 overflow: hidden;
}

.buttons-flex.kiosk .buttons-button-name {
 font-size: calc((1.2 / 11) * var(--pushbutton-kiosk-width));
}



.buttons-button-desc {
 display: grid;
 grid-template-columns: 1fr;
 grid-template-rows: min-content 1fr;
 justify-items: center;
}

 .buttons-button-desc.interactive {
  width: 100%;
 }

 .buttons-button-desc > .interactive {
  display: grid;
  grid-template-columns: min-content 1fr min-content;
  justify-items: center;
  width: 90%;
 }

  .buttons-button-desc > .interactive > .savee-icon {
   line-height: 1.5;
  }

 .buttons-button-desc > div:first-child {
  font-size: calc((2.5 / 11) * var(--pushbutton-width));
  align-self: end;
  min-height: calc((3 / 11) * var(--pushbutton-width));
  white-space: nowrap;
  overflow: hidden;
 }

.buttons-flex.kiosk .buttons-button-desc > div:first-child {
 font-size: calc((2.5 / 11) * var(--pushbutton-kiosk-width));
 min-height: calc((3 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-desc > div:last-child {
 font-size: calc((0.85 / 11) * var(--pushbutton-width));
 align-self: start;
 min-height: calc((1.2 / 11) * var(--pushbutton-width));
 white-space: nowrap;
 overflow: hidden;
}

.buttons-flex.kiosk .buttons-button-desc > div:last-child {
 font-size: calc((0.85 / 11) * var(--pushbutton-kiosk-width));
 min-height: calc((1.2 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-edit-wrapper {
 position: absolute;
 left: 0px;
 top: 0px;
 height: 100%;
 width: 100%;
 border-radius: calc((0.75 / 11) * var(--pushbutton-width));
 border: calc((1 / 60) * var(--pushbutton-width)) dashed var(--orange01);
 cursor: pointer;
 z-index:1;
}

.buttons-flex.kiosk .buttons-button-edit-wrapper {
 border-radius: calc((0.75 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-move-icon {
 height: calc((2.2 / 11) * var(--pushbutton-width));
 width: calc((2.2 / 11) * var(--pushbutton-width));
 top: calc(50% + 2.5px - (1.25 / 11) * var(--pushbutton-width));
 font-size: calc((3.5 / 11) * var(--pushbutton-width));
 cursor: pointer;
}

.buttons-flex.kiosk .button-edit-move-icon {
 height: calc((2.2 / 11) * var(--pushbutton-kiosk-width));
 width: calc((2.2 / 11) * var(--pushbutton-kiosk-width));
 top: calc(50% + 2.5px - (1.25 / 11) * var(--pushbutton-kiosk-width));
 font-size: calc((3.5 / 11) * var(--pushbutton-kiosk-width));
 cursor: pointer;
}

.button-edit-move-icon.up {
 border-bottom-left-radius: 50%;
 border-top-left-radius: 50%;
 right: calc(-1 * (1 / 100) * var(--pushbutton-width));
 display: flex;
 align-items: center;
 justify-content: center;
}

.button-edit-move-icon.down {
 border-bottom-right-radius: 50%;
 border-top-right-radius: 50%;
 left: calc(-1 * (1 / 100) * var(--pushbutton-width));
 display: flex;
 align-items: center;
 justify-content: center;
}

.button-edit-move-icon > div {
 padding-bottom: calc((1.2 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-move-icon > div {
 padding-bottom: calc((1.2 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-icon {
 height: calc((2.2 / 11) * var(--pushbutton-width));
 width: calc((2.2 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-icon {
 height: calc((2.2 / 11) * var(--pushbutton-kiosk-width));
 width: calc((2.2 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-icon.del {
 left: calc(-1 * (1 / 100) * var(--pushbutton-width));
 top: calc(-1 * (1 / 100) * var(--pushbutton-width));
 font-size: calc((3 / 11) * var(--pushbutton-width));
 border-top-left-radius: calc((0.25 / 11) * var(--pushbutton-width));
 border-bottom-right-radius: 50%;
 padding-top: calc((0.15 / 11) * var(--pushbutton-width));
 padding-left: calc((0.15 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-icon.del {
 font-size: calc((3 / 11) * var(--pushbutton-kiosk-width));
 border-top-left-radius: calc((0.25 / 11) * var(--pushbutton-kiosk-width));
 padding-top: calc((0.15 / 11) * var(--pushbutton-kiosk-width));
 padding-left: calc((0.15 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-icon.upper-edit {
 right: calc(-1 * (1 / 100) * var(--pushbutton-width));
 top: calc(-1 * (1 / 100) * var(--pushbutton-width));
 border-top-right-radius: calc((0.25 / 11) * var(--pushbutton-width));
 border-bottom-left-radius: 50%;
 font-size: calc((2.7 / 11) * var(--pushbutton-width));
 padding-top: calc((0.35 / 11) * var(--pushbutton-width));
 padding-left: calc((0.2 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-icon.upper-edit {
 border-top-right-radius: calc((0.25 / 11) * var(--pushbutton-kiosk-width));
 font-size: calc((2.7 / 11) * var(--pushbutton-kiosk-width));
 padding-top: calc((0.35 / 11) * var(--pushbutton-kiosk-width));
 padding-left: calc((0.2 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-icon.lower-edit {
 right: calc(-1 * (1 / 100) * var(--pushbutton-width));
 bottom: calc(-1 * (1 / 100) * var(--pushbutton-width));
 border-bottom-right-radius: calc((0.25 / 11) * var(--pushbutton-width));
 border-top-left-radius: 50%;
 font-size: calc((2.7 / 11) * var(--pushbutton-width));
 padding-top: calc((0.4 / 11) * var(--pushbutton-width));
 padding-left: calc((0.2 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-icon.lower-edit {
 border-bottom-right-radius: calc((0.25 / 11) * var(--pushbutton-kiosk-width));
 font-size: calc((2.7 / 11) * var(--pushbutton-kiosk-width));
 padding-top: calc((0.4 / 11) * var(--pushbutton-kiosk-width));
 padding-left: calc((0.2 / 11) * var(--pushbutton-kiosk-width));
}

.button-edit-icon.is-visible {
 left: calc(-1 * (1 / 100) * var(--pushbutton-width));
 bottom: calc(-1 * (1 / 100) * var(--pushbutton-width));
 font-size: calc((1.2 / 11) * var(--pushbutton-width));
 border-bottom-left-radius: calc((0.25 / 11) * var(--pushbutton-width));
 border-top-right-radius: 50%;
 padding-top: calc((0.3 / 11) * var(--pushbutton-width));
 padding-left: calc((0.35 / 11) * var(--pushbutton-width));
}

.buttons-flex.kiosk .button-edit-icon.is-visible {
 font-size: calc((1.2 / 11) * var(--pushbutton-kiosk-width));
 border-bottom-left-radius: calc((0.25 / 11) * var(--pushbutton-kiosk-width));
 padding-top: calc((0.3 / 11) * var(--pushbutton-kiosk-width));
 padding-left: calc((0.35 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-button-edit-wrapper.focused {
 border: calc((1 / 40) * var(--pushbutton-width)) solid var(--orange01);
 cursor: default;
}

.buttons-button-edit-wrapper .savee-icon, .buttons-button-edit-wrapper .is-visible {
 position: absolute;
 background-color: var(--orange01);
 color: var(--white01);
 cursor: pointer;
}

.buttons-new-button {
 width: 100%;
 height: calc((20 / 11) * var(--pushbutton-width));
 border-radius: calc((0.75 / 11) * var(--pushbutton-width));
 border: 2px dashed var(--gray01);
 font-size: calc((1 / 11) * var(--pushbutton-width));
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 cursor: pointer;
}

.buttons-flex.kiosk .buttons-new-button {
 height: calc((20 / 11) * var(--pushbutton-kiosk-width));
 border-radius: calc((0.75 / 11) * var(--pushbutton-kiosk-width));
 font-size: calc((1 / 11) * var(--pushbutton-kiosk-width));
}

.buttons-new-button .savee-icon {
 font-size: calc((5 / 11) * var(--pushbutton-width));
 padding-bottom: 1rem;
}

.buttons-flex.kiosk .buttons-new-button .savee-icon {
 font-size: calc((5 / 11) * var(--pushbutton-kiosk-width));
 padding-bottom: 1rem;
}

.form-wrapper-buttongroupedit {
 display: grid;
 grid-template-columns: 1fr min-content;
 grid-auto-rows: min-content;
}

.buttongroupedit-preview {
 margin-left: 1.5rem;
 margin-top: 3rem;
 width: calc(100% - 1.5rem);
 height: calc(100% - 3rem);
 background-color: var(--gray04);
 align-self: center;
 justify-self: center;
 grid-column: 2 / 2;
 grid-row: 1 / 7;
 padding: 1rem;
 display: flex;
 align-items: center;
}

 .buttongroupedit-preview .preview {
  width: 11rem;
  height: 9.15rem;
  margin: 0px;
 }

.preview .button-light-on, .preview .button-light-off {
 border-radius: 0.125rem;
}

.preview .buttons-button-name {
 font-size: 1.2rem;
}

.preview .buttons-button-desc > div:first-child {
 font-size: 2.5rem;
 min-height: 3rem;
}

.preview .buttons-button-desc > div:last-child {
 font-size: 0.85rem;
 min-height: 1.2rem;
}

.preview.buttons-button-lower {
 border-radius: 0px 0px 0.75rem 0.75rem;
 grid-template-rows: 2.5rem 1fr 0.25rem;
}

.preview.buttons-button-uppper {
 border-radius: 0.75rem 0.75rem 0px 0px;
 grid-template-rows: 0.25rem 2.5rem 1fr;
}

._new-calendar-panel {
 display: flex;
 height: calc(100vh - var(--top-menu-height));
 width: calc(100vw - var(--left-menu-width));
 justify-content: center;
 align-items: center;
}

 ._new-calendar-panel > div {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 3rem 1fr;
  width: var(--calendar-width);
  height: var(--calendar-height);
  background-color: var(--gray04);
 }

.month-navigator {
 display: grid;
 grid-template-columns: 1fr min-content 1fr;
 align-items: center;
 background-color: var(--gray01);
}

 .month-navigator > div:first-child {
  justify-self: right;
 }

 .month-navigator ._new-button {
  height: 2.1rem;
  width: min-content;
  min-width: 7rem;
  color: var(--gray05);
  margin-right: 1rem;
 }

.month-control {
 display: grid;
 grid-template-columns: 1fr min-content 1fr;
 align-items: center;
 color: var(--gray05);
 height: 100%;
}

.month-label {
 white-space: nowrap;
 margin-left: 1.5rem;
 margin-right: 1.5rem;
}

.month-control .caret-right, .month-control .caret-left {
 color: var(--blue01);
 cursor: pointer;
 width: 3rem;
 height: 100%;
 display: flex;
 align-items: center;
 justify-content: center;
}

.caret-right {
 justify-self: right;
}

 .caret-right > .savee-icon, .caret-left > .savee-icon {
  font-size: 2rem;
  padding-top: 0.4rem;
 }

.days-navigator {
 display: grid;
 grid-template-columns: repeat(8, 1fr);
 grid-template-rows: repeat(7, 1fr);
 grid-gap: 2px;
 background-color: var(--gray04);
 margin: 2px;
}

 .days-navigator > div {
  background-color: var(--gray01);
  width: 100%;
  height: 100%;
 }

.day-check {
 height: 1.5rem;
 width: 1.5rem;
}

.calendar-header {
 display: contents;
}

 .calendar-header > div, .calendar-week > .calendar-week-header {
  background-color: var(--gray03);
  color: var(--white01);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
 }

.calendar-week {
 display: contents;
}

 .calendar-week > div:not(.calendar-week-header) {
  position: relative;
  background-color: var(--gray01);
  color: var(--gray05);
  padding: 5%;
  cursor: pointer;
 }

  .calendar-week > div:not(.calendar-week-header):hover {
   outline: 2px solid var(--blue01);
  }

  .calendar-week > div:not(.calendar-week-header).not-actual {
   color: var(--gray02);
  }

  .calendar-week > div:not(.calendar-week-header).today {
   background-color: var(--blue01);
  }

 .calendar-week .has-event {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
 }

  .calendar-week .has-event > .savee-icon {
   font-size: 4rem;
   padding-bottom: 0.6rem;
  }

  .calendar-week .has-event > div:not(.savee-icon) {
   font-size: 0.8rem;
   padding-top: 0.8rem;
  }

._new-form-wrapper.day-schedule {
 margin-top: 3rem;
 grid-auto-rows: max-content;
 grid-template-columns: max-content 1fr;
 grid-gap: 0.25rem;
}

.calendar-hour-content ._new-button {
 height: 2.5rem;
 margin-top: 0.25rem;
 margin-right: 0.25rem;
 min-width: min-content;
}

.calendar-hour-label {
 margin-right: 1rem;
 display: flex;
 align-items: center;
 justify-content: center;
}

.calendar-hour-content {
 display: flex;
 flex-wrap: wrap;
 min-height: 3rem;
 background-color: var(--white01);
 color: var(--gray05);
}

 .calendar-hour-content > .add-event-button {
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
 }

 .calendar-hour-content .savee-icon {
  font-size: 3rem;
  padding-bottom: 0.3rem;
 }

.nodes, .groups, .gateways, .settings {
 display: grid;
 grid-template-columns: 1fr;
 grid-gap: 0.25rem;
 margin: 0.25rem;
}

.node {
 background-color: var(--gray02);
 color: var(--gray05);
 display: grid;
 grid-template-columns: 1fr;
}

 .node.disconnected {
  background-color: var(--red02);
 }

 .node.connected {
  background-color: var(--green03);
 }

 .node.uncalibrated {
  background-color: var(--orange02);
 }

 .node .header {
  min-height: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0px 1rem 0px 1rem;
  cursor: pointer;
 }

  .node .header .name > div:first-of-type {
   margin-right: 0.5rem;
  }

  .node .header .discovered {
   color: var(--white01);
   background-color: var(--green02);
   padding: 0.25rem 0.2rem 0.15rem 0.2rem;
   font-size: 0.8rem;
  }

  .node .header .undiscovered {
   color: var(--white01);
   background-color: var(--red01);
   padding: 0.25rem 0.2rem 0.15rem 0.2rem;
   font-size: 0.8rem;
  }

  .node .header .name {
   display: flex;
   align-items: center;
  }

  .node .header .value .percent {
   width: 3.1rem;
   text-align: right;
   white-space: nowrap;
  }

  .node .header .switches {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
  }

   .node .header .switches .value {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
   }

  .node .header .lux-value {
   font-weight: bold;
  }

  .node .header .value > div {
   margin-right: 1rem;
  }

   .node .header .value > div:not(.slider) {
    display: flex;
    align-items: center;
   }

  .node .header .name > div, .node .header .switch {
   margin-top: 0.5rem;
   margin-bottom: 0.5rem;
  }

 .node .content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content min-content min-content;
  margin: 0.5rem 1.75rem 1rem 2rem;
 }

  .node .content .buttons, .node .content .form {
   display: flex;
   flex-wrap: wrap;
  }

  .node .content .description {
   display: grid;
   grid-template-columns: 1fr;
   margin-top: 1rem;
  }

  .node .content .buttons > div, .node .content .form > div {
   margin-top: 0.25rem;
   margin-right: 0.25rem;
  }

.num-calibration {
 display: grid;
 grid-template-columns: 1fr 3rem;
 grid-gap: 0.25rem;
 width: 100%;
}

 .num-calibration .delete {
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 0.4rem;
  background-color: var(--blue01);
  color: var(--white01);
  cursor: pointer;
  justify-content: center;
  font-size: 3.5rem;
  display: flex;
  align-items: center
 }

.node .content .form .name {
 width: 15rem;
}

.node .content .form .desc {
 width: 20rem;
}

.node .content .form .device {
 width: 10rem;
}

.node .content .form .watt {
 width: 8rem;
}

.node .content .form .fade-time {
 width: 4rem;
}

.setting {
 background-color: var(--gray02);
 color: var(--white01);
 display: grid;
 grid-template-columns: 1fr;
}

 .setting > .header {
  min-height: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0px 1rem 0px 1rem;
  cursor: pointer;
  font-size: 1.2rem;
 }

 .setting.system-info > .header {
  justify-content: left;
  cursor: default;
  font-size: 0.8rem;
 }

  .setting.system-info > .header > div {
   display: grid;
   grid-template-columns: min-content min-content;
   white-space: nowrap;
  }

   .setting.system-info > .header > div > div:last-child {
    padding-left: 0.5rem;
    padding-right: 2rem;
   }

 .setting .content {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.4rem;
  margin: 0.5rem 1.75rem 1rem 2rem;
 }

  .setting .content > div {
   display: flex;
   flex-wrap: wrap;
   margin-top: -0.25rem;
  }

   .setting .content > div > div {
    margin-right: 0.25rem;
    margin-top: 0.25rem;
   }

 .setting .context-buttons {
  margin-top: 1rem !important;
  justify-content: flex-end;
 }

 .setting .language, .setting .select-wrapper {
  height: 3.25rem;
 }

 .setting .backup-path {
  width: 20rem;
 }

 .setting .form-line-group {
  display: flex;
  flex-wrap: wrap;
 }

 .setting .form-line-label {
  width: 10rem;
  align-self: center;
 }

 .setting .scada .form-line-label {
  width: 12rem !important;
 }

 .setting .form-line-group > .form-line-label {
  margin-right: 0.25rem;
 }

 .setting .form-line-label-auto {
  margin-right: 0.5rem;
  align-self: center;
 }

 .setting .form-line-text {
  margin-right: 0.5rem;
  width: 20rem;
 }

 .setting .form-line-numeric {
  margin-right: 0.5rem;
  width: 8rem;
 }

 .setting .form-line-switch {
  margin-right: 0.5rem;
 }

 .setting .mail-logs {
  width: 100%;
  display: grid !important;
  grid-gap: 0.25rem;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  justify-content: left;
 }

  .setting .mail-logs .wrapper {
   display: grid;
   grid-gap: 0.25rem;
   grid-template-columns: 1fr;
  }

.log {
 margin-top: 1rem;
 height: calc(100% - 10rem);
 overflow-y: scroll;
}

.setting .admin-modes-wrapper {
 width: 100%;
 display: grid !important;
 grid-gap: 0.25rem;
 grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
 justify-content: left;
 margin-top: -1.75rem !important;
}

.files {
 width: 100%;
 display: grid !important;
 grid-gap: 0.25rem;
 grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
 justify-content: left;
}

.file-wrapper {
 display: grid;
 position: relative;
 grid-template-columns: 1fr;
 grid-template-rows: 1fr min-content;
 align-items: flex-start;
 justify-items: center;
 cursor: pointer;
}

 .file-wrapper:hover {
  background-color: var(--gray03);
 }

.file-wrapper-saver {
 grid-template-rows: min-content 1fr min-content !important; 
}

.file-preview {
}

.file-name {
 display: flex;
 align-items: center;
 justify-content: center;
 margin-top: 0.5rem;
 width: 100%;
}

 .file-name > div {
  overflow-wrap: anywhere;
  text-align: center;
 }

.file-wrapper img {
 width: 100%;
}

.file-wrapper .selected {
 font-size: 3rem;
 color: var(--green01);
 position: absolute;
 top: 0px;
 right: 0px;
 padding-right: 1rem;
}

.file-wrapper-saver .select-wrapper{
 height:3rem;
 width: 100%;
 margin-bottom:0.25rem;
}

.users {
 background-color: var(--gray02);
 padding: 1rem;
}

.users-grid {
 width: 100%;
 display: grid;
 grid-template-columns: min-content min-content 1fr 3rem 3rem 3rem 3rem min-content;
 grid-auto-rows: 3rem;
 grid-gap: 0.25rem;
}

 .users-grid .label-cell {
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.25rem;
  color: var(--white01);
  font-size: 0.8rem;
  white-space: nowrap;
 }

 .users-grid .info-cell {
  display: flex;
  align-items: center;
  padding-left: 0.5rem;
  padding-right: 1.5rem;
  background-color: var(--white01);
  color: var(--gray04);
  white-space: nowrap;
 }

 .users-grid .button-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  cursor: pointer;
  background-color: var(--blue01);
  white-space: nowrap;
  padding-bottom: 0.25rem;
 }

  .users-grid .button-cell .savee-icon {
   font-size: 3.5rem;
  }

 .users-grid .add-button {
  grid-column: span 8 / auto;
 }

.group {
 background-color: var(--gray02);
 color: var(--white01);
 display: grid;
 grid-template-columns: 1fr;
}

 .group > .header {
  min-height: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0px 1rem 0px 1rem;
  cursor: pointer;
 }

  .group > .header .name > div:first-of-type {
   margin-right: 0.5rem;
  }

  .group > .header .name {
   display: flex;
   align-items: center;
   margin-top: 0.5rem;
   margin-bottom: 0.5rem;
   margin-right: 1rem;
  }

  .group > .header .value .percent {
   width: 3.1rem;
   text-align: right;
   white-space: nowrap;
  }

  .group > .header .switches {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
  }

   .group > .header .switches .value {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
   }

  .group > .header .lux-value {
   font-weight: bold;
  }

  .group > .header .value > div {
   margin-right: 1rem;
  }

   .group > .header .value > div:not(.slider) {
    display: flex;
    align-items: center;
   }

  .group > .header .name > div, .node .header .switch {
   margin-top: 0.5rem;
   margin-bottom: 0.5rem;
  }

  .group > .header .power-buttons {
   display: flex;
   flex-wrap: wrap;
  }

   .group > .header .power-buttons > div {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    margin-right: 0.25rem;
   }

 .group .content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content min-content min-content;
  margin: 0.5rem 1.75rem 1rem 2rem;
 }

 .group > .content .buttons, .group > .content .form {
  display: flex;
  flex-wrap: wrap;
 }

 .group > .content .regulation {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
 }

  .group > .content .regulation > div {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
  }

   .group > .content .regulation > div > div:first-of-type {
    margin-right: 1rem;
   }

  .group > .content .regulation > div {
   margin-right: 1rem;
   margin-top: 0.25rem;
   margin-bottom: 0.25rem;
  }

 .group .content .buttons > div, .group .content .form > div {
  margin-top: 0.25rem;
  margin-right: 0.25rem;
 }

 .group > .content .form .name {
  width: 15rem;
 }

 .group > .content .form .desc {
  width: 20rem;
 }

 .group > .content .form .scada {
  width: 8rem;
 }

 .group .nodes {
  margin-top: 1rem;
  margin-left: 0px;
  margin-right: 0px;
 }

.input-text-interactive {
 width: 100%;
}

 .input-text-interactive input {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
 }

.grid-action-list {
 width: 100%;
 display: grid;
 grid-gap: 0.25rem 0.25rem;
 grid-template-columns: repeat(2, min-content) minmax(12rem,min-content) minmax(8rem,min-content) 1fr 3rem;
 grid-auto-rows: 3rem;
}

 .grid-action-list .add-action {
  grid-column: 1 / 7;
  background-color: var(--blue01);
  color: var(--white01);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
 }

.grid-action-list-header {
 display: contents;
 font-size: 0.8rem;
}

 .grid-action-list-header > div {
  height: 3rem;
  padding-top: 1.75rem;
 }

.grid-action-list-body {
 display: contents;
 font-size: 0.8rem;
}

 .grid-action-list-body > div {
  background-color: var(--gray01);
 }

.action-list-row div {
 white-space: nowrap;
}

.action-list-row {
 display: contents;
}

 .action-list-row > div {
  background-color: var(--white01);
  color: var(--gray05);
  user-select: none;
  display: flex;
  align-items: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
 }

 .action-list-row .delete {
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 0.3rem;
  background-color: var(--blue01);
  color: var(--white01);
  cursor: pointer;
  justify-content: center;
  font-size: 3.5rem;
 }



 .action-list-row .up {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 4rem;
  padding-bottom: 1.4rem;
  cursor: pointer;
  user-select: none;
 }

 .action-list-row .down {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 4rem;
  padding-bottom: 1rem;
  cursor: pointer;
  user-select: none;
 }

.switch {
 width: 6rem;
 display: grid;
 grid-template-columns: 3rem 3rem;
 grid-template-rows: 3rem;
 align-items: center;
 justify-items: center;
 background-color: var(--white01);
 color: var(--white01);
 cursor: pointer;
}

 .switch.waiting {
  grid-template-columns: 6rem;
  cursor: wait;
 }

 .switch > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
 }

 .switch .on {
  background-color: var(--green02);
 }

 .switch .off {
  background-color: var(--gray03);
 }

 .switch.on-off .off {
  background-color: var(--red01);
 }

 .switch.waiting > div {
  background-color: var(--gray02);
  width: 100%;
 }

.slider {
 display: grid;
 grid-template-columns: calc(((100% - 1.3rem) / 9) * 1) 1.3rem calc(((100% - 1.3rem) / 9) * 8);
 height: 1rem;
 width: 10rem;
 align-items: center;
 cursor: pointer;
}

 .slider.waiting {
  cursor: wait;
 }

 .slider .lower, .slider .upper {
  height: 1rem;
  display: flex;
  align-items: center;
 }

  .slider .lower > div, .slider .upper > div {
   height: 0.25rem;
   background-color: var(--gray04);
   width: 100%;
  }

.group > .header .slider .lower > div, .group > .header .slider .upper > div {
 background-color: var(--blue01);
}

.slider.waiting .lower > div, .slider.waiting .upper > div {
 background-color: var(--gray02);
}

.slider .knob {
 height: 1rem;
 background-color: inherit;
 padding-left: 0.15rem;
 padding-right: 0.15rem;
}

 .slider .knob > div {
  position: relative;
  height: 1rem;
  width: 1rem;
  background-color: var(--gray04);
  border-radius: 0.5rem;
 }

.group > .header .slider .knob > div {
 background-color: var(--blue01);
}

.slider .knob .frame {
 position: absolute;
 left: -10rem;
 top: -10rem;
 width: 21rem;
 height: 21rem;
}

.slider.waiting .knob > div {
 background-color: var(--gray02);
}

.time-delay-wrapper, .action-state-wrapper {
 display: grid;
 grid-template-columns: min-content min-content;
 grid-column-gap: 1rem;
}

._new-form-wrapper-col2-full {
 display: grid;
 grid-template-columns: min-content 1fr;
 grid-column-gap: 1rem;
}

._new-form-wrapper-col3 {
 display: grid;
 grid-template-columns: repeat(3, min-content);
 grid-column-gap: 1rem;
}

 ._new-form-wrapper-col3.last-min {
  grid-template-columns: 1fr 1fr min-content;
 }

._new-form-wrapper-col4 {
 display: grid;
 grid-template-columns: repeat(4, min-content);
 grid-column-gap: 1rem;
}

._new-form-wrapper-col7 {
 display: grid;
 grid-template-columns: repeat(7, min-content);
 grid-column-gap: 1rem;
}

._new-form-numeric {
 width: 7rem;
}

._new-form-label-group {
 align-self: flex-end;
 font-weight: 600;
 font-size: 1.1rem;
}

.input-time {
 background-color: var(--white01);
 height: 3rem;
 width: 8rem;
 display: flex;
 align-items: center;
 justify-content: center;
 user-select: none;
}

 .input-time input[type="time"] {
  margin-top: 0.15rem;
  background: transparent;
  border: none;
  outline: none;
 }

  .input-time input[type="time"]::-webkit-calendar-picker-indicator {
   margin-bottom: 0.15rem;
  }

.input-date {
 background-color: var(--white01);
 height: 3rem;
 width: 11rem;
 display: flex;
 align-items: center;
 justify-content: center;
 user-select: none;
}

 .input-date input[type="date"] {
  margin-top: 0.15rem;
  background: transparent;
  border: none;
  outline: none;
 }

  .input-date input[type="date"]::-webkit-calendar-picker-indicator {
   margin-bottom: 0.15rem;
  }

.savee-select {
 background-color: var(--white01);
 display: grid;
 grid-template-columns: 1fr;
 grid-auto-rows: min-content;
 align-items: center;
 color: var(--gray05);
 cursor: pointer;
 outline: none;
 align-items: center;
}

 .savee-select > div:not(.drop-down), .savee-select > .drop-down > div {
  height: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 0.5rem;
  background-color: var(--white01);
  white-space: nowrap
 }

 .savee-select > .drop-down {
  background-color: var(--white01);
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 3rem;
  align-items: center;
  color: var(--gray05);
  cursor: pointer;
  outline: none;
  align-items: center;
  z-index: 1;
  -ms-overflow-style: none;
  scrollbar-width: none;
 }

  .savee-select > .drop-down::-webkit-scrollbar {
   display: none;
  }

 .savee-select .savee-icon {
  font-size: 3rem;
  padding-bottom: 0.7rem;
 }

 .savee-select > .drop-down > div {
  border-top: 1px solid var(--gray05);
 }

 .savee-select > div:hover {
  cursor: pointer;
 }

._new-table {
 display: grid;
 grid-auto-rows: minmax(3rem, max-content);
 grid-gap: 0.25rem 0.25rem;
}

.labels-row, .item-row, .search-row {
 display: contents;
}

.item-row {
 cursor: pointer;
}

.labels-row > div {
 font-size: 0.8rem;
 padding-top: 1.75rem;
}

.item-row > div {
 background-color: var(--white01);
 color: var(--gray05);
 display: flex;
 align-items: center;
 padding-left: 0.5rem;
 user-select: none;
}

.item-row:hover > div {
 background-color: var(--white02);
}

.search-row input {
 height: 2.5rem;
}

._new-form-object-selector {
 background-color: var(--white01);
 color: var(--gray05);
 cursor: pointer;
 user-select: none;
 display: flex;
 align-items: center;
 padding-left: 0.5rem;
}

._new-table .selection {
 justify-content: center;
 padding: 0px;
 cursor: pointer;
 user-select: none;
}

._new-input-file {
 width: 100%;
 height: 3rem;
 background-color: var(--white01);
 cursor: pointer;
 display: grid;
 grid-template-columns: 1fr 8rem;
 align-items: center;
 padding-left: 1rem;
 padding-right: 1rem;
}

/*div.custom-control.custom-file {
 display: none;
}*/

._new-disabled {
 color: var(--gray02);
 cursor: default;
}

._new-input-file > div:last-child {
 justify-self: right;
}

@media screen and (max-width: 1180px) {
 :root {
  --left-menu-width: 5rem;
 }

 ._new-body {
  padding-left: var(--left-menu-width);
 }

 .left-menu {
  position: fixed;
  height: calc(100vh - var(--top-menu-height));
  width: var(--left-menu-width);
  top: var(--top-menu-height);
  left: 0px;
  background-color: var(--gray01);
 }

  .left-menu > .items {
   position: absolute;
   height: 100%;
   right: 0px;
   width: calc(var(--left-menu-width) - 0.5rem);
   background-color: var(--gray05);
   color: var(--gray01);
   display: grid;
   grid-template-columns: 1fr;
   align-content: start;
   user-select: none;
  }

   .left-menu > .items > div {
    height: 4rem;
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    border-bottom: 1px solid var(--gray04);
    padding-right: 0px;
   }

    .left-menu > .items > div:hover {
     cursor: pointer;
     background-color: var(--blue01);
    }

    .left-menu > .items > div > div {
     font-size: 0px;
     padding: 0px;
     display: flex;
    }

     .left-menu > .items > div > div:first-of-type {
      justify-content: center;
     }

    .left-menu > .items > div .savee-icon {
     font-size: 2.5rem;
    }

    .left-menu > .items > div .savee-left-menu-arrow {
     font-size: 0px;
    }

 .top-menu {
  position: fixed;
  height: var(--top-menu-height);
  width: 100vw;
  top: 0px;
  left: 0px;
  background-color: var(--gray05);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
 }

 .logo {
  height: var(--top-menu-height);
  width: var(--left-menu-width);
  top: 0px;
  left: 0px;
  background-color: var(--gray01);
  display: flex;
  align-items: center;
  justify-content: center;
 }

  .logo img {
   height: 2.5rem;
  }

  .logo ._new-logo-text {
   margin-left: 0px;
   height: 0px;
   visibility: hidden;
  }

 body {
  background-color: var(--gray04);
 }

 .floorplan-background {
  width: calc(100vw - var(--left-menu-width));
  height: calc(100vh - var(--top-menu-height));
  background-repeat: no-repeat;
  user-select: none;
  cursor: move;
  position: relative;
  overflow: hidden;
 }
}
