*{box-sizing:border-box;color:#333;position:relative}*:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(h7){font-weight:lighter;font-size:13pt;color:inherit}h5{margin-bottom:5px}:root{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.url{border:none;text-decoration:none;background:none;padding:0;margin:0;cursor:pointer;color:#337}.url:hover{text-decoration:underline}.clickable{cursor:pointer}.clickable:hover{text-decoration:underline}body .material-icons{color:inherit;font-size:inherit;bottom:-3px;margin-right:10px}.flipY{transform:scaleY(-1)}.full-height{height:100%}.formGroupHorizontal{display:flex;align-items:center}.formGroupHorizontal .formGroup{flex:1}.formGroup{margin-bottom:10px}.formGroup label{display:block;font-weight:700;font-size:9pt;margin-bottom:4px;text-transform:lowercase}.formControl{width:100%;border:1px solid #ddd;border-radius:3px;padding:8px 10px}.formControl:active,.formControl:focus{border-color:#c8c8c8;box-shadow:0 0 2px inset #dbdbdb}button.formControl,input[type=button].formControl{border:1px solid #838e9d;box-shadow:none;cursor:pointer;background-color:#a3afc1;color:#fff;text-shadow:0px 0 1px #666f7b;-webkit-user-select:none;user-select:none}button.formControl:hover,input[type=button].formControl:hover{border-color:#93a0b0;background-color:#b1bed2}.App{height:100%}.MainScreen{height:100%;display:flex;flex-direction:column}.MainScreen .topBar{box-shadow:0 0 5px #797979;z-index:2}.MainScreen .middleSection{display:flex;height:100%;overflow:auto}.MainScreen .newEquipmentLink{cursor:pointer}.MainScreen .newEquipmentLink:hover{text-decoration:underline}.MainScreen .newEquipmentLink i{margin-right:10px;margin-left:-5px}.MainScreen .centerScreen{flex:1;overflow:auto}.dragging>.DeviceComponent>.circle{box-shadow:#0005 1px 3px 7px}.FloorPlanScreen .DeviceComponent{width:100px}.DeviceComponent:hover .circle,.DeviceComponent:active .circle,.SideMenu .DeviceComponent .circle,.DeviceComponent.selected .circle{border:4px solid black;box-shadow:#0002 1px 3px 3px;background-color:#eee}.DeviceComponent{display:flex;flex-direction:column;align-items:center;overflow:visible}.DeviceComponent .circle{width:100px;height:100px;border-radius:50%;padding:5px;transition:all .12s;text-align:center;display:flex;align-items:center;justify-content:center;border:6px solid rgba(0,0,0,0)}.DeviceComponent .circle img{max-width:100%;max-height:100%;object-fit:contain}.DeviceComponent .circle.disconnected{border-color:#c10000}.DeviceComponent .circle.selected{border-color:#7f82ff;box-shadow:#33347755 1px 3px 20px}.DeviceComponent .circle.small{width:40px;height:40px}.DeviceComponent .circle.medium{width:60px;height:60px}.DeviceComponent .NameLabel{border-radius:5px;background-color:#fff;box-shadow:#0006 0 1px 2px;padding:5px 10px;text-align:center;margin-top:-10px;display:none;font-weight:400;font-size:.9rem}.DeviceComponent:hover .NameLabel,.DeviceComponent .NameLabel.visible{display:block}.DeviceComponent .ConnectionsLabel{position:absolute;right:5px;top:-10px;background-color:#aaa;color:#fff;font-weight:800;font-size:.7rem;padding:5px 8px;border-radius:20px;box-shadow:#0003 1px 2px 3px}.DeviceComponent .ConnectionsLabel.highlight{background-color:#7f82ff}.DeviceComponent .ConnectButton{display:none;gap:7px;align-items:center;position:absolute;margin:0;border-radius:5px;background-color:#fff;box-shadow:#0006 0 1px 3px;padding:5px 10px;text-align:center;font-size:1.1rem;cursor:pointer}.DeviceComponent .ConnectButton span{font-size:.7rem;font-weight:700}.DeviceComponent .ConnectButton:hover{box-shadow:#0008 0 1px 5px}.DeviceComponent .ConnectButton .material-icons{margin:0;top:0}.DeviceComponent:hover .ConnectButton{display:flex}.Draggable{position:absolute;user-drag:none;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:grab;z-index:9}.Draggable.dragging{cursor:grabbing;z-index:999}.DraggableBoundary{height:inherit}*:hover>.ElementControlsWrapper{display:flex}.ElementControlsWrapper{position:absolute;width:100%;height:100%;left:-45px;display:none;flex-direction:column;justify-content:center;align-items:flex-start}.ElementControlsWrapper .ElementControls{z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#fff;border:1px solid #777;border-radius:5px;box-shadow:1px 2px 3px #0003,inset 0 -1px 4px -1px #0005;color:#383838}.ElementControlsWrapper .ElementControls .ControlButton{border-bottom:1px solid #777;padding:5px 6px;cursor:pointer;background:none;border-radius:0;min-width:0}.ElementControlsWrapper .ElementControls .ControlButton:last-child{border-bottom:none}.ElementControlsWrapper .ElementControls .ControlButton.MuiButton-colorInherit:hover{color:#000}.ElementControlsWrapper .ElementControls .ControlButton svg{bottom:-2px;font-size:1.3rem}.FloorPlanScreen{height:100%}.FloorPlanScreen.CursorAction-InsertTextElement{cursor:text}.FloorPlanScreen .react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.FloorPlanScreen .react-flow__edge-path{fill:none;stroke:#d2d2d2;stroke-width:2;opacity:1}.FloorPlanScreen:not(svg){transform-origin:0px 0px}.ConnectionsModal .inner{min-width:60%}.ConnectionsModal .title{display:flex;align-items:center;gap:10px}.ConnectionsModal h5{text-align:center}.ConnectionsModal .ConnectorList{display:flex;gap:10px}.ConnectionsModal .ConnectorList>.column{flex:1}.ConnectionsModal .ConnectorList .actions{display:flex;flex-direction:column;align-items:center;justify-content:center}.ConnectionsModal .ConnectorList .actions .connect{background:none;border:none;margin:0;display:flex;justify-content:center;align-items:center;padding:10px;border-radius:20px;box-shadow:#0003 0 1px 3px}.ConnectionsModal .ConnectorList .actions .connect:hover{box-shadow:#0005 0 1px 3px}.ConnectionsModal .ConnectorList .actions .connect svg{font-size:2.5em}.ConnectionsModal .DeviceConnectorList{border:1px solid #aaa;padding-bottom:10px}.ConnectionsModal .DeviceConnectorList .ConnectorListItem{padding:4px 10px;cursor:pointer;border-top:1px dotted #fff;border-bottom:1px dotted #fff;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:5px}.ConnectionsModal .DeviceConnectorList .ConnectorListItem:first-child{border-top-width:0}.ConnectionsModal .DeviceConnectorList .ConnectorListItem.connected{background-color:#eee;opacity:.5;font-style:italic}.ConnectionsModal .DeviceConnectorList .ConnectorListItem.selected{background-color:#eee;border-color:#888;opacity:1}.ConnectionsModal .DeviceConnectorList .ConnectorListItem .name{flex:1}.ConnectionsModal .DeviceConnectorList .ConnectorListItem .type{font-size:.75em}.ConnectionsModal .DeviceConnectorList .ConnectorListItem .warning{color:#ff8c00;font-size:.9rem;margin-right:-5px;margin-bottom:-2px}.ConnectionsModal .ConnectionsList{margin-bottom:10px;text-align:center}.ConnectionsModal .ConnectionsList .ConnectionsListItem{display:flex;gap:10px;align-items:center}.ConnectionsModal .ConnectionsList .ConnectionsListItem .connector{flex:1}.ConnectionsModal .ConnectionsList .ConnectionsListItem .connector:first-child{text-align:right}.ConnectionsModal .ConnectionsList .ConnectionsListItem .connector .type{font-size:.75em}.ConnectionsModal .ConnectionsList .ConnectionsListItem .actions{width:20px}.ConnectionsModal .ConnectionsList .ConnectionsListItem .actions button{background:none;border:none;margin:0;display:flex;justify-content:center;align-items:center;padding:0 5px;border-radius:20px}.ConnectionsModal .ConnectionsList .ConnectionsListItem .actions button svg{width:15px}.ConnectionsModal .ConnectionsList .ConnectionsListItem .actions button:hover{box-shadow:#0003 0 1px 3px}.ConnectionsModal .ConnectionsList .ConnectionsListItem .actions .delete:hover{background-color:#b81313;color:#fff}.Modal{background-color:#0004;position:absolute;width:100%;height:100%;z-index:99;display:flex;justify-content:center;align-items:center}.Modal>.inner{background-color:#fff;border-radius:15px;box-shadow:0 10px 20px #00000026;padding:0 60px 40px}.Modal>.inner>.close{background:none;border:none;margin:0;position:absolute;right:5px;top:5px;opacity:.3;padding:5px}.Modal>.inner>.close:hover{opacity:.8}.Modal>.inner>.header{padding-right:10px}.DrawConnection{z-index:0;pointer-events:none;position:absolute;overflow:visible}.TextComponent{text-shadow:1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff,-1px 1px 0 #fff,2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff,-2px 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff,0 2px 0 #fff,0 -2px 0 #fff}.Editor{display:flex;flex-direction:column;gap:20px}.Editor .symbols-radio-group{flex-direction:row}.Editor .symbols-radio-group>label{flex:.5}.form-actions{display:flex;gap:10px}.form-actions .delete-button{min-width:initial}.form-actions .save{flex:1}.ConnectorsEditor .ConnectorList{margin-bottom:40px}.ConnectorsEditor .ConnectorList .title{display:flex;align-items:center}.ConnectorsEditor .ConnectorList .title .title-text{flex:1}.ConnectorsEditor .ConnectorItem td{background-color:#f5f5f5;padding:10px}.ConnectorsEditor .ConnectorItem td.name{width:100%;font-weight:300}.ConnectorsEditor .ConnectorItem td.type{font-family:Courier New,Courier,monospace;font-size:.7rem;opacity:.8}.ConnectorsEditor .ConnectorItem td.delete{padding:0}.ConnectorsEditor .ConnectorItem td.delete .delete-button{padding:15px;min-width:initial}.ConnectorsEditor .ConnectorItem td.delete .delete-button .minus{width:10px;border-bottom:3px solid darkred}.DeviceConnectionsFlow,.DeviceConnectionsFlow .DeviceFlow{display:flex;flex-direction:column;align-items:center;gap:20px}.DeviceConnectionsFlow .DeviceFlow.reverse{flex-direction:column-reverse}.DeviceItem .large{border-color:#7f82ff;box-shadow:#33347755 1px 3px 20px}.DeviceItem:hover{text-decoration:inherit}.DeviceItem.clickable:hover .circle{border-color:#7f82ff;box-shadow:#33347755 1px 3px 20px}.MainItem{width:100%}.MainItem .MuiFab-root{position:absolute;top:30px;right:0}.Catalogue{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.Catalogue .devices{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-evenly;align-items:center}.Catalogue .devices .Draggable{position:relative}.SideMenu{background-color:#ddd;width:345px;min-width:345px;max-width:345px;box-shadow:0 0 4px #424242;z-index:1;display:flex;flex-direction:column}.leftBarHeader{border-bottom:1px solid #cecece;padding:27px 28px;background-color:#e8e8e8;font-size:20pt;font-family:Times New Roman,Times,serif}.leftBarContent{flex:1;padding:20px 37px 20px 28px;display:flex;flex-direction:column;gap:40px;overflow-y:auto}.leftBarContent hr{width:100%;opacity:.2}.Dashboard{display:flex;flex-direction:column;height:100%;background-color:#f7f7f7}.Dashboard-topBar{padding:70px 60px 50px;border-bottom:1px solid #e3e1e1}.Dashboard-name{font-size:33pt;padding-bottom:10px;font-family:Times New Roman,Times,serif}.Dashboard-version,.Dashboard-lastModified{font-style:italic;color:#777;font-size:10pt}.Dashboard-tiles{padding:30px 60px;height:100%}.TileComponent{width:270px;height:220px;box-shadow:1px 2px 3px #c8c6c6;display:inline-block;margin:10px;background-color:#fff;cursor:pointer;vertical-align:top;transition:.3s all}.TileComponent:hover{box-shadow:1px 3px 6px 1px #aaa8a8}.TileComponent-overlay{width:100%;height:100%;transition:.3s all;padding:27px 30px 33px;display:flex;align-content:center;justify-content:center}.TileComponent-overlay img{max-width:100%;max-height:100%;object-fit:contain;opacity:.77}.TileComponent:hover .TileComponent-overlay{opacity:.21}.TileComponent-textBox{position:absolute;bottom:0;padding:15px 20px 20px;background-color:#ffffffd1;width:100%;transition:.3s all;height:100%;max-height:53px;display:flex;align-items:center;justify-content:center;text-align:center}.TileComponent:hover .TileComponent-textBox{max-height:100%;font-size:17pt}.EditableTextComponent{font-size:inherit;color:inherit;display:inline-block}.EditableTextComponent div{display:inline-block}.EditableTextComponent *:not(i){font-size:inherit;font-family:inherit}.EditableTextComponent input{border:none;background:none;box-shadow:1px 1px #cecece;padding-right:40px}.EditableTextComponent input:hover,.EditableTextComponent input:active,.EditableTextComponent input:focus{box-shadow:1px 2px #b7b7b7}.EditableTextComponent .EditableTextComponent-form{display:flex}.EditableTextComponent .EditableTextComponent-buttons{flex:1;display:flex;align-items:stretch;width:0;left:-38px}.EditableTextComponent .EditableTextComponent-button{flex:1;display:none;cursor:pointer;font-size:19pt;width:38px;text-align:center;align-items:center;justify-content:center}.EditableTextComponent .EditableTextComponent-button:hover{text-shadow:1px 1px 4px rgba(0,0,0,.5607843137)}.EditableTextComponent .EditableTextComponent-button i{bottom:-1px}.EditableTextComponent:hover .EditableTextComponent-button{display:flex}.TopMenu{background-color:#555;padding-left:345px}.TopMenu .TopMenu-tab{display:inline-block;padding:16px 40px;border-right:1px solid #ddd;color:#ddd;cursor:pointer;letter-spacing:1.1px;font-size:12pt;-webkit-user-select:none;user-select:none;background-color:inherit}.TopMenu .TopMenu-tab:hover{background-color:#676767}.TopMenu .TopMenu-tab.active{background-color:#b0b0b0;color:#3e3e3e}.TopMenu .TopMenu-tab.save{color:#b3d1e1;font-weight:400;transition:.3s color}.TopMenu .TopMenu-tab.save.success{color:#b5e0b4}.TopMenu .TopMenu-tab.save.error{color:#deb4b4}.TopMenu .TopMenu-tab .material-icons{bottom:-6px;margin-top:-10px;margin-right:10px;font-size:24px}
