html{font-size:.875em}body{font-family:Lato,Helvetica Neue,Arial,Helvetica,sans-serif;margin:0 8px;height:100%;font-size:inherit;background-color:#fff;color:#000}.page{position:relative;min-height:100dvh;margin:0 auto;word-break:break-word;display:flex;flex-direction:column}.main,.page{max-width:40em}.main{flex-grow:1}.head{display:grid;grid-template-columns:[hamburger] 44px [logo] auto [space] 44px;grid-auto-flow:row;grid-gap:.8em;margin:8px 0}.head .hamburger-react{grid-column:hamburger;grid-row:auto}.head .logo{margin-top:0;text-align:center}.head .logo img{max-width:6cm;vertical-align:middle}.footer{margin:16px 0;border-top:1px solid #000;padding:8px 16px 0;display:grid;grid-template-columns:3fr 1fr}.footer div.copyright{text-align:left}.footer div.version{text-align:right}h1 a,h2 a,h3 a{text-decoration:none;color:#000}.dashboard-list li{padding:.5em 0}.dashboard{border-radius:6px}.devices.values1 a{display:grid;grid-template-columns:8fr 4em}.devices.values2 a{display:grid;grid-template-columns:8fr 3em 4em}.devices.values3 a,.devices>div a{display:grid;grid-template-columns:8fr 3em 3em 4em}.devices a{display:grid;grid-gap:2px;text-decoration:none;color:#000;width:100%}.devices h3{margin:.5em 0 0}.devices div.device+div.device{border-top:1px solid gray}.devices div.device{min-height:3em;line-height:3em;padding:2px 0}.devices div.device.sensors_4 a{grid-template-columns:8fr 4em}.devices div.device.sensors_34 a{grid-template-columns:8fr 3em 4em}.devices div.device.sensors_334 a{grid-template-columns:8fr 3em 3em 4em}.devices div.device.sensors_3344 a{grid-template-columns:8fr 3em 3em 4em 4em}.devices div.device.sensors_3434 a{grid-template-columns:8fr 3em 4em 3em 4em}.devices div.device.sensors_33444 a{grid-template-columns:8fr 3em 3em 4em 4em 4em}.devices div.device.sensors_3334 a{grid-template-columns:8fr 3em 3em 4em 4em}.devices div.device.sensors_44 a{grid-template-columns:8fr 4em 4em}.devices div.device.sensors_444 a{grid-template-columns:8fr 4em 4em 4em}.devices div.device.sensors_3 a{grid-template-columns:8fr 3em}.devices div.device.sensors_33 a{grid-template-columns:8fr 3em 3em}.devices div.device.sensors_333 a{grid-template-columns:8fr 3em 3em 3em}.devices div.device.sensors_3333 a{grid-template-columns:8fr 3em 3em 3em 3em!important}.devices div.device.sensors_33333 a,.devices div.device.sensors_333333 a{grid-template-columns:8fr 3em 3em 3em!important}.devices div.device.sensors_33333 a div:first-child,.devices div.device.sensors_333333 a div:first-child{grid-row:1/3}.devices div.device.sensors_3333333 a,.devices div.device.sensors_33333333 a{grid-template-columns:8fr 3em 3em 3em 3em!important}.devices div.device.sensors_3333333 a div:first-child,.devices div.device.sensors_33333333 a div:first-child{grid-row:1/3}.devices div.device.sensors_333333333 a,.devices div.device.sensors_3333333333 a,.devices div.device.sensors_33333333333 a,.devices div.device.sensors_333333333333 a{grid-template-columns:8fr 3em 3em 3em 3em!important}.devices div.device.sensors_333333333 a div:first-child,.devices div.device.sensors_3333333333 a div:first-child,.devices div.device.sensors_33333333333 a div:first-child,.devices div.device.sensors_333333333333 a div:first-child{grid-row:1/4}.devices div.device:last-child{border-bottom:none}.devices div.device div.name{line-height:1.4em;margin:auto 0}.devices div.device .sensor img{width:2em;height:2em;vertical-align:middle}.devices div.device div+div{text-align:center}.devices div.device div.Alarm,.devices div.device div.CO2,.devices div.device div.Deur,.devices div.device div.Lighting,.devices div.device div.Luchtvochtigheid,.devices div.device div.Netspanning,.devices div.device div.Spanning,.devices div.device div.Speaker,.devices div.device div.Stroom,.devices div.device div.Temperatuur,.devices div.device div.current,.devices div.device div.door,.devices div.device div.humidity,.devices div.device div.lighting,.devices div.device div.power,.devices div.device div.temperature{justify-content:center;padding:0;line-height:3em}.devices div.device div.Temperatuur,.devices div.device div.temperature{order:99;grid-column:-2}.devices div.device div.Temperatuur+div.Temperatuur,.devices div.device div.temperature+div.temperature{order:98;grid-column:-3}.devices div.device div.Temperatuur+div.Temperatuur+div.Temperatuur,.devices div.device div.temperature+div.temperature+div.temperature{order:97;grid-column:-4}.devices .sensor{display:flex;flex-direction:row;justify-content:space-between}.devices .sensor .status{text-align:right}.devices .sensor .status .unit{font-size:.75rem}.devices .sensor.offline{opacity:.3}.devices .last{position:absolute;left:25%;color:red}.devicepage div.sensor{text-align:center}.devicepage div.sensor img{width:2em;height:2em;vertical-align:middle}.devicepage div.sensor.offline{opacity:.3}.devicepage div.last{line-height:1em;color:red}.devicepage div.Alarm,.devicepage div.Deur,.devicepage div.Netspanning,.devicepage div.Temperatuur div.humidity,.devicepage div.door,.devicepage div.power,.devicepage div.temperature{justify-content:center}.devicepage .sensor-list .sensor-list-item{padding:2px 0;border-bottom:1px solid gray;display:grid;grid-template-columns:1fr 6em;grid-gap:2px}.devicepage .sensor-list .sensor-list-item:last-child{border-bottom:none}.devicepage .sensor-list .sensor-list-item div.description{padding-left:1em}.devicepage .sensor-list .sensor-list-item small.sensorID{float:right;padding-right:1em}.devicepage .sensor-list .sensor-list-item>div{min-height:3em;line-height:3em}.devicepage .sensor-list .sensor-list-item div.sensorMinMax{font-size:.8em;line-height:2em}.devicepage small{color:gray;font-size:.6em}form.login{display:grid;grid-template-columns:[labels] auto [controls] 1fr;grid-auto-flow:row;grid-gap:.8em}form.login label{grid-column:labels;grid-row:auto;line-height:2em}form.login button,form.login input,form.login textarea{grid-column:controls;grid-row:auto;padding:.5em;line-height:1em}form.login input{font-size:16px}div.debug{margin-top:4em;color:gray;word-break:break-word}div.debug pre{white-space:pre-wrap}div.debug.hidden{display:none}.device{position:relative}.device>.ID{bottom:2px}.device>.ID,.device>.link{position:absolute;left:-2em;text-align:right!important;width:2em;line-height:1em;font-size:.7em;background:#fff}.device>.link{top:2px}.sensor{position:relative}.sensor .ID{position:absolute;bottom:0;right:0;line-height:1em;font-size:.7em;background:#fff}div.overlay{background-color:#333;opacity:50%;position:fixed;top:0;left:0;width:100vw;height:100vh}div.overlay.hidden{display:none}div.nav{position:absolute;top:48px;left:0;padding:1em;border:1px solid #000;background-color:#fff;z-index:100}div.nav.hidden{display:none}div.errorMessage{background-color:#fcc;border:2px solid red;padding:4px}div.ok{font-weight:700}div.Alarm1,div.ok{background-color:#0c0}div.AlarmWaiting1{box-shadow:inset 4px 4px #0c0,inset -4px -4px #0c0}div.Alarm2{background-color:#3ed90b}div.AlarmWaiting2{box-shadow:inset 4px 4px #3ed90b,inset -4px -4px #3ed90b}div.Alarm3{background-color:#7ee617}div.AlarmWaiting3{box-shadow:inset 4px 4px #7ee617,inset -4px -4px #7ee617}div.Alarm4{background-color:#bff224}div.AlarmWaiting4{box-shadow:inset 4px 4px #bff224,inset -4px -4px #bff224}div.Alarm5{background-color:#ff3}div.AlarmWaiting5{box-shadow:inset 4px 4px #ff3,inset -4px -4px #ff3}div.Alarm6{background-color:#f2bf24}div.AlarmWaiting6{box-shadow:inset 4px 4px #f2bf24,inset -4px -4px #f2bf24}div.Alarm7{background-color:#e67e17}div.AlarmWaiting7{box-shadow:inset 4px 4px #e67e17,inset -4px -4px #e67e17}div.Alarm8{background-color:#c00}div.AlarmWaiting8{box-shadow:inset 4px 4px #c00,inset -4px -4px #c00}div.Alarm9{background-color:#c00}div.AlarmWaiting9{box-shadow:inset 4px 4px #c00,inset -4px -4px #c00}