html{color:#000;}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}

@font-face {
  font-family: 'Roboto';
  font-style:normal;
  font-weight:normal;
  src: url('fonts/Roboto-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style:normal;
  font-weight:bold;
  src: url('fonts/Roboto-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 300;
  src: url("/css/fonts/material-symbols-outlined_300.woff2") format("woff2");
  font-display: block; /* verhindert Text-Swap */
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: 300;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  letter-spacing: normal;
  text-transform: none;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga' 1;
  -webkit-font-feature-settings: 'liga' 1;
  max-width:1em;
}

:root{

	--c-green:#8CFD29;

}


/* DEFAULT */
*{
	box-sizing: border-box;
}
body{
	font-family: 'Roboto', sans-serif;
    font-weight: normal;
	margin:0;
    padding:0;
    box-sizing: border-box;
	font-size:16px;
}
strong{  font-weight:bold; }
.inline{ display: inline-block; }
.tal{ text-align: left; }
.tac{ text-align: center; }
.tar{ text-align: right; }
.nopad{ padding-left:0px; padding-right:0px; }
.dnone{ display:none; }
.hidden{ display: none !important; }
.tooltip span{ white-space: nowrap;}
.tooltip-inner{ max-width: 300px; }
.page-list .btn{ padding:0 5px 0 5px !important; }
.red{ color: #bf2727; }
.green{ color: #039135; }
a.dllink{ color:#000 !important; }
.noselect{ -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.click { cursor: pointer; }
.error_txt{ color: #FE6566; }
.hide{	display: none; }
.pointer{   cursor: pointer; }
.mtop{ margin-top:40px; }

/* LOGIN */
.loginform{
	padding-top:200px;
    position: absolute;
    width:50%;
    margin-left:25%;
    height:200px;
}
.form-control{
	margin-bottom:15px;
}

/* TOP */
#top{
	width:100%;
	height:72px;
	position: fixed;
	top:0px;
	left:0px;
	background:#00323C;
	z-index: 100;
}
#top .center {
    display: flex;
}
#nav{
     margin-left: auto;
     order: 2;
}
#menu-btn {
  position: absolute;
  top: -100%;
  left: -100%;
}
#logo {
    width: 195px;
	height: auto;
    padding-top: 22px;
}
#nav li{
	color:#FFF;
	margin-left: 80px;
	margin-top:25px;
	cursor: pointer;
	opacity:0.5;
    float: left;
}

#nav li.act, #nav li:hover{
	opacity:1;
	text-decoration: none;
	color: var(--c-green);
	font-weight: bold;
}
.menu-icon {
    display:none;
}
/* MAIN */
/*#mainclients {
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-around;
}*/

.summaryitem {

    text-align:center;
    font-weight:bold;
    font-size:24px;

    margin:30px 0;

}

.card-header.dashboardtitle{
    font-size:18px;
    font-weight:bold;
    background:#00323C;
    color:#fff;
    line-height: 17px;
    padding-right: 40px;
}
.dash_mac{
    opacity:0.5;
    font-size:12px;
}

.devcard {
  margin-bottom:40px;
  border: none;
}
.devcard .card-body{
    background-color: rgba(255, 255, 255, 0.7);
    background-blend-mode: overlay;
    background-position: center;
    background-size:cover;
    padding:0;
    padding-bottom:50px;
    border-left:1px solid #e6e6e6;
    border-right:1px solid #e6e6e6;
}
.solarpower, .actpv {
    margin:20px;
}
.devcard table { width:100%; margin: 1em 0 1em 0; }
.devcard table th { width:50%; font-weight: bold;}
.devcard table td { width:50%; text-align:right;}
.devcard span.realtime, .devcard span.online { position:absolute; top:10px; right:30px; }
.devcard span.online {
    top:32px;
}
.dateinfo {
    position: absolute;
  right: 20px;
  opacity: 0.5;
  bottom: 30px;
  font-size:14px;
}
a.panel_redir{
    display:block;
    width:calc(100% - 30px);
    height:30px;
    text-align:center;
    background:var(--c-green);
    color:#000;
    line-height:30px;
    margin-top:50px;
    text-decoration:none;
    position:absolute;
    bottom:0;

}
a.panel_redir:hover {
    opacity:0.7;
}
.devcard .version {
    font-weight:bold;
}
.devcard .version .material-symbols-outlined{
    margin-left:5px;
    vertical-align: bottom;
    cursor:pointer;
}
.devcard span.realtime .material-symbols-outlined, .devcard span.online .material-symbols-outlined{
    font-size:20px;
    cursor:default;
}
#main{
    width:100%;
    position: relative;
    z-index:0;
}
#bgdim{
    position: fixed;
    background:#000;
    opacity: 0.65;
    left:0;
    right:0;
    top:72px;
    bottom:0;
    display: none;
	z-index:101;
}

/* DYN */
.center{
	position: relative;
	float: left;
	width:100%;
	padding:0px 125px;
}
#dyn{
    display:none;
	padding-top:74px;
	position: relative;
	float: left;
	width:100%;
}
.click{
	height:40px;
	line-height:40px;
	font-size:16px;
	padding:9px 22px;
	background:#F0F0F0;
	margin-right:25px;
	border-radius:25px;
	color:#000 !important;
}
.click:hover{
	opacity:0.5;
}
.search_divider{
	height:100px;
}
#screentitle{
    font-size:40px;
    font-weight:bold;
    margin:40px 0 0;
    width:100%;
    display:block;
    float:left;
}
/* DIA */
.dia{
	z-index:150 !important;
    position: fixed;
    display: block;
    background: #fff;
    clear: both;
    padding:75px 150px 50px;
	transition: all .5s ease;
	height:calc(100vh - 72px);
	top:72px;
    width:100%;
	max-width: 820px;
    left: 50%;
    transform:translateX(-50%);
    overflow-y:auto;
    padding-bottom:20px;
}
.dia_big{
	padding:20px;
	width:95%;
    max-width: 1235px;
	left: 50%;
    overflow:auto;
}
.dia_big .diainner{
	display: flex;
}
.dia_left{
	padding:100px 75px;
	width:685px;
	float: left;
	position: relative;
}
.dia_right{
	background:#F5F5F5;
	width:550px;
	float: left;
	position: relative;
	padding:100px 100px 100px 75px;
}
/*
.dia_small{
    width: 630px;
    left: calc(50% - 315px);
    max-height:750px;
	top: 50%;
    transform: translateY(-50%);
}*/
.dia.dia_small.expand{
    left:5%;
    width: 90%;
}
.diainner{
	position: relative;
	float: left;
	width:100%;
	height:100%;
}
.diainner .nav_max{
	max-width:550px;
}
.diainner .nav-link{
	width:25%;
	padding:0px 0px 8px;
	text-align: center;
	color:#8ba0ba;
	border-bottom:2px solid #E9E9F0;
}
.diainner .nav-link.active, .diainner .nav-link:hover{
    color:#0A3975;
	border-bottom:2px solid #0A3975;
}
.abortdia{
    cursor: pointer;
    position: absolute;
	top: 15px;
    right: 15px;
    z-index: 150;
    font-size: 22px;
}
.abortdia i.fa-close{
    color:#A3AFB7;
    font-size:21px;
}
#diaclose{
	margin-right:0px;
	position: relative;
	top:inherit;
	right:inherit;
}

/* headlines */
.dia h1{
	font-size:22px;
}
.dia h2{
	font-size:18px;
}
h3.diatitle{
    font-size: 18px;
	margin-bottom:40px;
	color:#4D4F5C
	float: left;
	position: relative;
	width:100%;
	font-size:34px;
	line-height:41px;
	font-weight:bold;
	padding-bottom:10px;
	border-bottom:1px solid #000;
}
.dia_big .diatitle{
	margin-bottom:0px;
}
.title_small{
	float:right;
	font-size:16px;
	font-weight: normal;
	display: inline-block;
	line-height:16px;
	margin-top:15px;
}
h4{
	float: left;
	position: relative;
	width:100%;
	color:#184277;
	font-size:16px;
	margin-bottom:40px;
}
.disabled{
	opacity:0.5;
	pointer-events: none;
}
.dia_top{
	height:225px;
	float: left;
	width:100%;
	position: relative;
}
.detail_left, .detail_right{
	width:50%;
	float: left;
	font-size:16px;
	border-bottom:1px solid #e2e2e2;
	height:45px;
	line-height:45px;
}
.detail_right{
	float: right;
	text-align: right;
}

/* BUTTONS */
.diabtmbuttons, .risk_btns{
    position: absolute;
    display: block;
    left:0;
    right:0;
    bottom:0;
    height: 50px;
}
.diabtmbuttons span, .risk_btns span{
    display: inline-block;
    height:50px;
    float:left;
    line-height: 50px;
    text-align:center;
    cursor: pointer;
}
.diabtmbuttons span.red{
	background:#fe6566;
}
.btmbtns{

}
.btmbtnleft, .btmbtnright, .new_btn{
	width:auto;
	display: inline-block;
	float: right;
	padding:8px 14px;
	background:#000;
	color:#FFF;
	border-radius:3px;
	font-size:16px;
	line-height:16px;
	font-weight:bold;
	cursor: pointer;
	margin-top:25px;
	margin-left:25px;
}
.btmbtnright:hover, .btmbtnleft:hover, .new_btn:hover{
	background:#e3e3e3;
}
.btmbtnleft.left{
	float: left;
	margin-left:0px;
}
.btmbtnright{
}
.btmbtnleft.white{
	background:#FFF;
	color:#000;
	border:2px solid #f0f0f0;
}
.btmbtnleft.white:hover{
	background:#f0f0f0;
}
.new_btn, .new_btn:hover{

}
.new_btn:hover{

}
.btn_table{
	margin-top:15px;
	background:none;
	width:auto;
	font-weight:bold;
	font-size:16px;
	border: none;
}
.btn_table:hover{
	width:auto;
	border: none;
	opacity:0.5;
}
.search-input{
	border:none;
	border-bottom:1px solid #000;
	width:100%;
	background:url(../img/icon_search.svg) center right 5px no-repeat;
	border-radius:0px;
	padding-left:0px;
	font-size:16px;
	height:30px;
	padding-top:7px;
	font-weight:bold;
    margin-bottom:0px;
}
.search-input:focus{
	outline:none;
	box-shadow: none;
	border-color:#000;
	background:#e9ecef url(../img/icon_search.svg) center right 5px no-repeat;
}
.btn100{
}
.btn50left{
}
.btn50right{
}
.fkuser_box{
	position: relative;
}
.fkuser_box:first-of-type .delete_fkuser{
	display: none;
}
.delete_fkuser{
	position: absolute;
	right:-30px;
	top:33px;
	width:20px;
	cursor: pointer;
}

/* TABLES */
.maintab{
	width:100%;
	position: relative;
	float: left;
}
.maintab thead tr{
	line-height:37px;
	color:#184277;
	border-bottom:1px solid #184277;
}
.maintab thead tr th{
	vertical-align: top !important;
}
.maintab tbody tr{
	line-height:37px;
	border-bottom:1px solid #DFDFE4;
}
.maintab tbody tr:last-child{
	border-bottom:none;
}
.table .thead-light th{
	background:none;
	border-bottom:1px solid #000;
}
.table .thead-light th, .table-bordered{
	border:none;
}
.maintab.table_grey thead tr{
	border:none;
	background:none;
	border-bottom:1px solid #000;
	padding:0px;
}
.maintab.table_grey thead tr td{
	height:45px;
	border:none;
	padding:0px 15px !important;
}
.maintab.table_grey tbody tr{
	height:65px;
	border:none;
	background:none;
	border-bottom:1px solid #000;
}
.maintab.table_grey tbody td, .bootstrap-table .fixed-table-container .table thead th .th-inner{
	border:none;
	padding:0px 15px;
	height:45px;
}
.maintab.table_grey tbody td{
	white-space: nowrap;
}
.bootstrap-table .fixed-table-container .table thead th .th-inner{
	line-height:45px;
	color:#000;
	max-width: 200px !important;
}
.table_divider{
	display: inline-block;
	margin:0px 15px;
}
.table_operations{
	color:#888891;
}

/* INPUTS */
.input50{
	width:50%;
	float: left;
}
label{
    font-size:14px;
    color:#000;
    display: block;
	margin-bottom:0px;
	clear: left;
}
.formfeld{
    width:100%;
	height:40px;
    margin-bottom:10px;
    border-top:none;
    border-left:none;
    border-right: none;
    border-bottom: solid 1px #e3e3e3;
}
input[type=checkbox], input[type=radio]{
    width:auto !important;
}
input[type=text], input[type=number]{
	width:100%;
	height:36px;
}
select, .select2{
	padding:0px;
	margin-bottom:20px;
    width:100%;
	height:36px;
	border:none;
	appearance: none;
	border-bottom:solid 1px #dddddd;
    background:url(../img/select.png) center right 15px no-repeat #fff;
}
.select2-container--default .select2-selection--single{
	border:none;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
	padding:0px;
}
.select2{
	width:100% !important;
}
label.inline{
	font-size: 12px;
 	opacity: 1;
}
textarea.formfeld{
	resize: none;
	width: 100%;
	border: solid 1px #dddddd;
	outline:none;
	height:100px;
}
.error, .sel_error{
	border-bottom: solid 1px #FE6566;
}
.check_err{
	position: absolute;
	height: 30px;
	bottom: -30px;
	left: 0;
	width: 100%;
	background-color: #FE6566;
	padding: 0 55px;
	display: none;
	align-items: center;
}

/* css for extensions */
.tab-pane{ padding-top:40px; }
.tooltip_wide{ min-width: 300px; }
.tooltip_wide .tooltip-inner{ max-width:600px; text-align:left; }
.toggle-group .btn-net{
	background:#184277;
	color:#fff;
	border:1px solid #efeff2;
}
.toggle-group .btn-gross{
	background:#9CBBE2;
	color:#000;
	border:1px solid #efeff2;
}
.toggle-group .toggle-handle{
	background-color: #efeff2;
	border-color: #efeff2;
}
.bootstrap-table .fixed-table-toolbar .columns-left{
	margin-top:0px !important;
	margin-bottom:0px !important;
}
.tooltip.show{ pointer-events: none; }

.jqtree-title{
	width: calc((100% - 400px) / 3);
}
.jqtree-element .operations , .jqtree-element .operations a{
	color: #888891;
}
#clientlogoprev img{
    height:80px;
    width:auto;
}

/* spinner */
.spin {
  display: inline-block;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#busyspinner{
    transition: all .5s ease;
    top: 50%;
    left: 50%;
    margin-left:-50px;
    position: fixed;
    display: none;
    color:#184277;
    z-index: 5000;
}
#busyspinner i{
    font-size: 200px;
    animation: 2s linear infinite busyspin;
    animation-play-state: inherit;
    transform: translate3d(-50%, -50%, 0);
    will-change: transform;
}

span.devstatus {
    color: #212529;
    font-size:22px;
}
span.devwarn {
    color: #212529;
    font-size:22px;
    cursor: pointer;
    margin-left:0.5em;
}
#dev_flow {
    width: 100%;
    height: 100%;
}

.jtk-node {
    outline:1px solid;
    padding:3px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:320px;
    min-height:80px:
    background-color:#fff;
}




@keyframes busyspin{
        0%{ transform: translate3d(-50%, -50%, 0) rotate(0deg); }
        100%{ transform: translate3d(-50%, -50%, 0) rotate(360deg); }
}

@keyframes zoomzoom{
    0% { transform: scale(1); }
    50% { transform: scale(1.25); }
    100% { transform: scale(1); }
}



/* device flow */

:root {
  --border-color: #cacaca;
  --background-color: #ffffff;

  --background-box-title: #f7f7f7;
}

/*html, body {
  margin: 0px;
  padding: 0px;
  width: 100vw;
  height: 100vh;
  overflow-x: hidden;
  font-family: 'Roboto', sans-serif;
}
*/

header {
  height: 66px;
  border-bottom: 1px solid var(--border-color);
  padding-left: 20px;
}
header h2 {
  margin: 0px;
  line-height: 66px;
}
header a {
  color: black;
}
.them-edit-link {
  position: absolute;
  top: 10px;
  right: 100px;
  color: black;
  font-size: 40px;
}
.them-edit-link a {
  text-decoration: none;
}

.github-link{
  position: absolute;
  top: 10px;
  right: 20px;
  color: black;
}

.wrapper {
  width: 100%;
  height: calc(100vh - 67px);
  display: flex;
}

.col {
  overflow: auto;
  width: 300px;
  height: 100%;
  border-right: 1px solid var(--border-color);
}

.drag-drawflow {
  line-height: 50px;
  border-bottom: 1px solid var(--border-color);
  padding-left: 20px;
  cursor: move;
  user-select: none;
}
.menu {
  position: absolute;
  height: 40px;
  display: block;
  background: white;
  width: 100%;
}
.menu ul {
  padding: 0px;
  margin: 0px;
  line-height: 40px;
}

.menu ul li {
  display: inline-block;
margin-left: 10px;
border-right: 1px solid var(--border-color);
padding-right: 10px;
line-height: 40px;
cursor: pointer;
}

.menu ul li.selected {
  font-weight: bold;
}

.btn-export {
  float: right;
  position: absolute;
  top: 10px;
  right: 10px;
  color: white;
  font-weight: bold;
  border: 1px solid #0e5ba3;
  background: #4ea9ff;
  padding: 5px 10px;
  border-radius: 4px;
  cursor: pointer;
  z-index: 5;
}

.btn-clear {
  float: right;
  position: absolute;
  top: 10px;
  right: 85px;
  color: white;
  font-weight: bold;
  border: 1px solid #96015b;
  background: #e3195a;
  padding: 5px 10px;
  border-radius: 4px;
  cursor: pointer;
  z-index: 5;
}
.swal-wide{
    width:80% !important;
}

.btn-lock {
  float: right;
  position: absolute;
  bottom: 10px;
  right: 140px;
  display: flex;
  font-size: 24px;
  color: white;
  padding: 5px 10px;
  background: #555555;
  border-radius: 4px;
  border-right: 1px solid var(--border-color);
  z-index: 5;
  cursor: pointer;
}

.bar-zoom {
  float: right;
  position: absolute;
  bottom: 10px;
  right: 10px;
  display: flex;
  font-size: 24px;
  color: white;
  padding: 5px 10px;
  background: #555555;
  border-radius: 4px;
  border-right: 1px solid var(--border-color);
  z-index: 5;
}
.bar-zoom svg {
  cursor: pointer;
  padding-left: 10px;
}
.bar-zoom svg:nth-child(1) {
  padding-left: 0px;
}

#drawflow {
  position: relative;
  width: calc(100vw - 301px);
  height: calc(100% - 50px);
  top: 0px;
  user-select: none;
  background: var(--background-color);
  background-size: 25px 25px;
  background-image:
   linear-gradient(to right, #f1f1f1 1px, transparent 1px),
   linear-gradient(to bottom, #f1f1f1 1px, transparent 1px);
}

.dbtn_dis{
    pointer-events: none;
    opacity:0.4;
}


/* Editing Drawflow */

.drawflow .drawflow-node {
  background: var(--background-color);
  border: 1px solid var(--border-color);
  -webkit-box-shadow: 0 2px 15px 2px var(--border-color);
  box-shadow: 0 2px 15px 2px var(--border-color);
  padding: 0px;
  width: 200px;
}

.drawflow .drawflow-node.selected  {
  background: white;
  border: 1px solid #4ea9ff;
  -webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
  box-shadow: 0 2px 20px 2px #4ea9ff;
}

.drawflow .drawflow-node.selected .title-box {
  color: #22598c;
  /*border-bottom: 1px solid #4ea9ff;*/
}

.drawflow .connection .main-path {
  stroke: #4ea9ff;
  stroke-width: 3px;
}

.drawflow .drawflow-node .input, .drawflow .drawflow-node .output {
  height: 15px;
  width: 15px;
  border: 2px solid var(--border-color);
}

.drawflow .drawflow-node .input:hover, .drawflow .drawflow-node .output:hover {
  background: #4ea9ff;
}

.drawflow .drawflow-node .output {
  right: 10px;
}

.drawflow .drawflow-node .input {
  left: -10px;
  background: white;
}

.drawflow > .drawflow-delete {
  border: 2px solid #43b993;
  background: white;
  color: #43b993;
  -webkit-box-shadow: 0 2px 20px 2px #43b993;
  box-shadow: 0 2px 20px 2px #43b993;
}

.drawflow-delete {
  border: 2px solid #4ea9ff;
  background: white;
  color: #4ea9ff;
  -webkit-box-shadow: 0 2px 20px 2px #4ea9ff;
  box-shadow: 0 2px 20px 2px #4ea9ff;
}

.drawflow-node .title-box {
  height: 50px;
  line-height: 50px;
  background: #000;
  border-bottom: #000;
  border-radius: 4px 4px 0px 0px;
  padding-left: 10px;
  color: #fff;
}
.drawflow .title-box svg {
  position: initial;
}
.drawflow-node .box {
  padding: 10px 20px 20px 20px;
  font-size: 14px;
  color: #555555;

}
.drawflow-node .box p {
  margin-top: 5px;
  margin-bottom: 5px;
}

.drawflow-node.welcome {
  width: 250px;
}

.drawflow-node.slack .title-box {
  border-radius: 4px;
}

.drawflow-node input, .drawflow-node select, .drawflow-node textarea {
  border-radius: 4px;
  border: 1px solid var(--border-color);
  height: 30px;
  line-height: 30px;
  font-size: 16px;
  width: 158px;
  color: #555555;
}

.drawflow-node textarea {
  height: 100px;
}


.drawflow-node.personalized {
  background: red;
  height: 200px;
  text-align: center;
  color: white;
}
.drawflow-node.personalized .input {
  background: yellow;
}
.drawflow-node.personalized .output {
  background: green;
}

.drawflow-node.personalized.selected {
  background: blue;
}

.drawflow .connection .point {
  stroke: var(--border-color);
  stroke-width: 2;
  fill: white;

}

.drawflow .connection .point.selected, .drawflow .connection .point:hover {
  fill: #4ea9ff;
}


/* Modal */
.modal {
  display: none;
  position: fixed;
  /* z-index: 7;*/
  z-index:1100;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.7);

}

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 400px; /* Could be more or less, depending on screen size */
}

.modal-lg .modal-content, .modal-xl .modal-content { width:auto; }

/* The Close Button */
.modal .close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: normal;
  cursor:pointer;
}

#diadevtabs{
    margin-top:40px;
}

#configbtns{
    margin:20px 0;
}
#configbtns #cmd_device_save{
	border: 1px solid #000;
	background-color: #000;
	position: absolute;
	top: 93px;
	right:20px;
}
#configbtns #cmd_device_save:hover{
	border: 1px solid #000;
	background-color: #fff;
	color: #000;
}
#cmd_device_save {
    width: 230px;
    height: 40px;
    font-size: 16px;
    margin-top: 23px;
}
.btn-secondary{
	background: #000;
	border-radius: 0;
	border:none;
	margin-left: auto;
	display: block;
	font-weight: bold;
}
.btn-secondary:hover{
	background: var(--c-green);
	color:#000;
}
#cmd_scan_net{
	border:none;
	background: url('../img/icon_search_white.svg') no-repeat right 15px center #000;
	background-size: 17px;
	color: #fff;
	font-size: 16px;
    width:160px;
	height: 40px;
	border-radius: 0;
	padding: 0;
	padding-right:20px;
	margin-bottom:50px;
	margin-left: auto;
	display: block;
	font-weight: bold;
}
#cmd_scan_net:hover{
	background: url('../img/icon_search.svg') no-repeat right 15px center var(--c-green);
	color: #000;
}
.subtitle{
	font-weight: bold;
    margin-bottom:20px;
    font-size:16px !important;
}
.card-body h3{
	margin-bottom: 10px;
	font-weight:bold;
}
.card-body fieldset{
	display: flex;
}
#SensorWrapper{
    display: flex;
    flex-wrap:wrap;
}

#SensorWrapper fieldset{
    flex-wrap:wrap;
}
.card-body .checkboxwrapper {
  display: flex;
  align-items: baseline;
  margin-bottom: 4px;
  width: 100%;
}
.card-body .checkboxwrapper .cbin{
  display: inline-flex;
  width: 50%;
  align-items: baseline;
}
.card-body .checkboxwrapper label {
  margin-left:0;
}
.card-body .checkboxwrapper label input[type="checkbox"], .card-body .checkboxwrapper label input[type="radio"] {
  margin-right:15px;
}
.card-body label {
    margin-left:15px;
}
.devconfig-body {
    padding:1.25rem;
    background: #F4F4F4;
    border-bottom: solid 1px #444;
}
.switchwrapper{
	flex-wrap: wrap;
	width: 50%;
	background: #F4F4F4;
	margin-bottom: 50px;
	padding-bottom: 40px;
    margin-right: 20px;
}
.switchwrapper:last-child{
	margin-right:0;
}
.switchwrapper .switchspan{
	background: #000;
	color: #fff;
	width: 100%;
	padding: 5px 0 5px 20px;
	margin-bottom: 50px;
	display: inline-block;
	font-weight: bold;
}
.switchwrapper > div{
	width: 100%;
	padding: 0 20px;
}
.card-body input{
	background: none;
	border:none;
	border-bottom: 1px solid #E3E3E3;
	width: 100%;
	font-weight: bold;
}
.card-body label{
	margin-top: 30px;
}
.card-body .checkboxwrapper label {
    margin-top:0;
}
select{
	background-color: none;
	background: url('../img/icon_arrow.svg') no-repeat right center;
	font-weight: bold;
	margin-bottom:0;
	width: 93%;
	margin-left: 20px;
}
.card-body select{
	margin:0;
	width: 100%;
}
.acc_white .card {
    background:#fff;
    color:#000;
    border:1px solid #000;
	border-radius: 0;
	margin-bottom:15px;
}
.acc_white .card:hover {
    background:#fff;
    color:#000;

	border-radius: 0;
	margin-bottom:15px;
}
.card-header{
	background: none;
    border-bottom:none;
    text-decoration: none;
}

 .acc_white button  {
    color:#000;
    text-decoration:none !important;
    cursor:pointer;
    padding-left: 0px;
	font-weight: bold;
}
.acc_white button:hover {
    color:inherit;
    text-decoration:none;
}
.acc_white button.collapsed::after{
    content: url('../img/icon_plus_black.svg');
    position:absolute;
    right:20px;
    top:20px;
}
.acc_white button::after{
    content: url('../img/icon_minus_black.svg');
    position:absolute;
    right:20px;
    top:12px;
}
 .acc_white .card-body{
    color:#000;
    background:#fff;
}
#configHosts td, #configHosts th {
    padding:0.5em;
    border-bottom:solid 1px #eee;
    display: table-cell;
}
#configHosts td:last-of-type {
    padding: 0.5em 0 0 0.5em;
}
.cmd_cleardev_net { cursor: pointer; }
/*
.acc_white button.cmd_cleardev_net {
	background: url('/img/icon_trashbin.svg') no-repeat right 10px center #fff;
	border: 1px solid #000;
	border-radius: 0;
	color:#000;
	width: auto;
	padding: 6px 35px 6px 15px ;
	margin-top: 20px;
	font-size: 14px;
	margin-left: auto;
	display: block;
	font-weight: normal;
}
*/
.card-body.row{
    margin-left:0;
    margin-right:0;
    padding: 0;
}
.card_grey .card, .card_grey .card-body{
    background:#F4F4F4;
}
.card_grey .card-header{
    background:#898989;
    padding-top: 12px;
}
/*.card_grey .card-header.card-header-regulator {
    background:#f00;
}*/
.powerCfg{
    display:none;
}

.card_grey button{
    color:#fff;
    text-decoration:none !important;
}
.card_grey button:hover {
    color:#fff;
    text-decoration:none;
}
.dragitem{
    background:#fff;
    padding:20px;
    cursor:pointer;
    display: flex;
    user-select:none;
    margin-top: 10px;
    padding-left: 10px;
    flex-direction: column;
}

.droparea{
    min-height:60px;
    width:100%;
    margin-top:20px;
    position:relative;
    background:#fff;
}
.droparea:empty::before {
    position:absolute;
    color:#898989;
    content:"Neuen Kontakt hier hinziehen";
    top:10px;
    left:10px;
    font-size:12px;
}
.tri-state-toggle {
    display: inline-flex;
    justify-content: center;
    border-radius: 50px;
    border: 3px solid #335b63;
    height: 35px;
    width: 100px;
    padding: 2px 5px;
    position: absolute;
    right: 12%;
    top: 10px;
}
.tri-state-toggle input {
    height: 25px !important;
    width: 25px !important;
    appearance: none;
    background-color: #fff;
    border-radius: 50%;
    opacity: 0.2;
    margin: 0 2px
}
.tri-state-toggle  input:hover {
  cursor: pointer;
}
.tri-state-toggle input:checked {
background-color: #fff;
  opacity: 1 !important;
}
.tri-state-toggle input:first-child.act{
    background-color:#FF0080;
    opacity: 0.3;
}
.tri-state-toggle input:last-child.act{
    opacity: 0.3;
    background-color:#8BFF2A;
}
.dropDeleteBtn{
    background: #898989;
    width: 165px;
    height: 45px;
    text-align: center;
    padding: 10px !important;
    margin-top: 20px;
    border-radius: 0;
}
.drop-block{
    padding:10px 20px 30px 20px;
    border-bottom: 20px solid #898989;
}

.drops-wrapper{
    margin-bottom: 10px;
    background: #b5b5b5;
    margin-top: 20px;
}
#actors #headingOne {
    height: 35px;
    padding: 0 15px;
    border-radius: 0;
}
#actors .card{
    border:none;
}
#actors .card{
    padding: 0;
}
#actors button.collapsed::after{
    content: url('../img/icon_plus_white.svg');
}
#actors button::after{
    content: url('../img/icon_minus_white.svg');

}
#actors #headingOne .btn-link::after{
    top: 7px;
}
#actors .grey, #virtualSwitches .grey{
    color: #898989;
    padding-bottom: 15px;
    font-weight: bold;
    font-size: 16px;
}
#actors .ctitle{
    color: #898989;
    font-weight: bold;
}
.contactmeta {
    display:flex;
    justify-content:space-between;
    position:relative;
}
.contactmeta .cntactmetabtns{
    position: absolute;
    top: -32px;
    right: -5px;
}
.contactmeta .cntactmetabtns span {
    margin-left:10px;
}
.contactmeta .actorname{
    color: #898989;
    font-size:0.9em;
}
.contacttoggle:active {
    animation: 0.2s linear zoomzoom;
    transform: scale(1);
    will-change: transform;
}

.card-body .addDropBtn{
    padding-left: 10px;
    background:#b5b5b5;
    padding-right:25px;
    position:relative;
}
.card-body .addDropBtn span {
    position: absolute;
  top: 8px;
}

.bgwhite{
    padding:20px 10px;
    width:100%;
    background:#fff;
}
.drop-block label, .drop-block input{
    background:#fff;
    margin:0;
    padding:0;
}

.drop-block input {
    border-bottom: 1px solid #898989;
}

#switch_1 .card-body{
    padding:inherit !important;
}
#virtualSwitches .btn-primary{
    height:35px;
    background: #898989;
    border:none;
    border-radius: inherit;
    font-weight: bold;
    width: 171px;
    text-align: left;
    margin-bottom: 50px;

}
#switchWrapper .card{
    border: none;
}
#switchWrapper .btn:hover{
    text-decoration:none;

}
.card-header:first-child {
  border-radius: inherit;
}
/*#switchAddBtn .fa::before{
    content: url("/img/plus-weiss.png");
    position: absolute;
    right: 30px;
    top: 40px;
}*/
.darkgrey{
    background: #898989;
    padding: 0 20px;
}
.darkgrey label{
    margin-top:0;
    color: #fff;
    margin-left: 0;
    font-size:13px;
    padding-top: 10px;
}
.darkgrey input{
    color:#fff;
    font-weight: bold;
    font-size:16px;
    height:25px;
}
.darkgrey select{
    font-size:16px;
    height:25px;
    filter: invert(1);
    border-bottom:1px solid #000;
}
.tempSensorWrapper{
    display:none;
}
.checkboxwrapper label{
    padding-top: 0px;
    padding-left: 5px;
    margin-bottom: 10px;
}
.darkgrey .checkboxwrapper{
    width: 32%;
    display: inline-flex !important;
}
#switchWrapper .btn_test{
    display:none;
}
#virtualSwitches.card_grey .card-body{
    background:#898989;
}
.addDropBtn, .switchtrash{
    color:#000;
}
.addDropBtn:hover, .switchtrash:hover{
    color:#000;
    text-decoration: underline;
}
.switchtrash{
    justify-content: end;
    display: flex;
    width: 188px;
    background: red;
    position: absolute;
    bottom: 0;
    right: 0;
    max-width:50%;
}
.switchtrash .fa-trash{
    padding-left: 10px;
    padding-top: 3px;
}
.card_grey .card-body div.checkboxwrapper {
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
}
/*
.acc_white button.cmd_cleardev_net:hover{
	background: url('/img/icon_trashbinred.svg') no-repeat right 10px center #fff;
	border: 1px solid #FF0000;
	color:#FF0000;
}
*/
.acc_grey .card{
    width:calc(50% - 20px);
    margin-right:20px;
}
.acc_grey .card-header{
    background:#000;
    color:#fff;
}
.acc_grey button {
    color:#fff;
}

.acc_grey .collapse {
    background: #F4F4F4;
}
.acc_grey button::after, .card_grey button::after {
    content: url('../img/icon_minus_white.svg');
}
.acc_grey button.collapsed::after, .card_grey button.collapsed::after {
    content: url('../img/icon_plus_white.svg');
}
.switchWrapper .card-body .btn:hover, #switchAddBtn:hover {
    opacity:0.5;
}
.noStagesInfo{
    display:none;
    width: calc(100% - 200px);
    position: absolute;
    bottom: 7px;
    font-weight: bold;
    opacity: 0.3;
}
#cmd_update {
    background: #000;
    color: #FFF;
    font-size: 16px;
    line-height: 16px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 25px;
    padding: 8px 14px;
    width:auto;
	margin-left: 0;
}
#cmd_update.isact{
    display:none;
}
#info-act{
    display:none;
    color:green;
}
#info-act.isact{
    display:block;
}
#configbtns #cmd_scan_net:hover, #configbtns #cmd_update:hover{
	border: 1px solid #fff;
	background-color: #000;
	color: #fff;
}
.s_wrapper{
    display: flex;
    align-items: end;
}

#dia_devices_net { overflow-x:hidden; padding-bottom: 0; }
#drawflow { display:flex; width:1170px; margin-left:1%; min-height: 800px; border:solid 1px #444; overflow: hidden; }
#simplipvTab{ min-height: calc(100vh - 397px);}
#drawflow .drawflow-node .inputs {align-self: flex-start;margin-top: 55px; }
#drawflow .drawflow-node .outputs { align-self: flex-end; margin-bottom: 5px;}
#drawflow .drawflow-node .input, .drawflow .drawflow-node .output { width:20px; height:20px; }
.lblIn, .lblOut { display:block; width:100%; margin-bottom:0px; height:25px; line-height:25px; padding: 0 18px; box-sizing:border-box; }
.lblOut { text-align:right; }
 div.lblOut:last-of-type { margin-bottom:7px; }
#drawflow .drawflow-node { align-items: inherit; }
#drawflow-node .title-box  { display:flex; margin-bottom:5px; cursor: all-scroll; }
#drawflow .title-box svg { width:24px; height:24px; align-self:center; margin-right:10px; margin-top:0px; fill:#fff;}
.drawflow-node input, .drawflow-node select, .drawflow-node textarea { font-size:14px; width:60%; }
.drawflow-node input[type=number] { text-align:right; }
.drawflow-node input[readonly] { border:none; cursor:default;}
.pvnode label { clear:left; display:inline-block; width:35%; line-height:25px; float:left; }
/*pvnode { pointer-events:none; }*/
.cloud_off { opacity:0.4; }
.pvnode { width: 300px; background:#ffffff; position: absolute;}
.PVWP, .PVinverter { left:10px; }
.PVinverter { height: 220px; }
.PVsimpliPV { left:420px; height:400px;}
.PVswitch, .PVactuator { left: 850px; height:280px;}
.jtk-default-label { margin-left:50px; padding-left:25px; font-size:0.8em; border-bottom:solid 1px #ccc;}

/* #simpliPV_sun2000.drawflow-node.pvnode.PVinverter.jtk-connected, .PVsimpliPV, .PVswitch{ */
.pvnode {
	border: 1px solid #000; border-radius: 5px 5px 5px 5px; box-shadow: 7px 7px 10px 0px rgba(0,0,0,0.45);
}
.pvmessage{
	background: var(--c-green);
	width: 100%;
	width: calc(100% + 40px);
	margin-left: -20px;
}
.mtop.subtitle{
	border-bottom: 1px solid #000;
	padding: 20px 0px 8px;
	width: 95%;
	margin-left: 40px;
}
.webmsg {
    height: 60px;
    padding-left:40px;
    font-family: Consolas, monospace;
}
.versionmsg {
    color:#ff0000;
	display:none;
}
.versionmsg a:link, .versionmsg a:hover {
    text-decoriation:unterline;
    font-weight:bold;
    color:#ff0000;
}
.versionmsg.show{
	display:block;
}
.jtk-connector, .jtk-overlay, .jtk-endpoint{
	cursor:pointer;
    interactivity:inert;
}
.jsonpre {
    visibility: hidden;
    height: 4em;

}
.nav-tabs .nav-link{
	background: none;
	border:none;
	color: #CCCCCC;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link.active{
	border-bottom: 5px solid var(--c-green);
	color:#000;
}
.devconfig fieldset[data-devgroup="inverter"]{
	display: block;
	margin-top: 20px;
}
.devconfig fieldset[data-devgroup="inverter"] input{
	cursor: pointer;
	margin-bottom: 10px;
}
.pvtable{
	margin-bottom: 40px;
}
.pvtable th, .pvtable td{
	padding-right:30px;
	padding-bottom: 10px;
	padding-top:10px;
	border-bottom: 1px solid #E3E3E3;
}
#mmdiv { width:1170px; min-height:400px; }
#mmdiv.mermaid .cluster-label span p { white-space: nowrap; font-size: 0.7em; }
/* #mmdiv.mermaid .cluster rect { fill: #70707030; } */
.op50 { opacity: 0.5; }
.bold { font-weight: bold; }
.dsearch {
    display: flex;
  justify-content: flex-end;
}
#dashsearch {
    width:100%;
    max-width:250px;
}


/* mobile */
@media screen and (max-width: 1800px){
    .center {
      padding: 0px 65px;
    }
}
@media screen and (max-width: 1250px){
    #nav li{
        margin-left: 40px;
    }
}
@media screen and (max-width: 1050px){
    .center {
      padding: 0px 25px;
    }
}
@media screen and (max-width: 992px){
    .menu-icon {
        margin-left: auto;
        order: 2;
        cursor: pointer;
        display: flex;
        justify-content: flex-end;
        align-items: baseline;
        padding: 32px 0px 10px 0;
        position: relative;
        user-select: none;
        visibility: visible;
    }

    .navicon {
        background: #fff;
        display: block;
        height: 2px;
        width: 26px;
        position: relative;
    }

    .navicon:before {
        top: 8px;
    }

    .navicon:after {
        top: -8px;
    }

    .navicon:before, .navicon:after {
        background: #fff;
        display: block;
        width: 100%;
        height: 100%;
        content: '';
        position: absolute;
        transition: all .2s ease-out;
    }
    #nav{
        position:absolute;
        top:71px;
        left:0;
        background:#000;
        width:100%;
        padding:20px 0;
        display:none;
    }

    .menu-btn:checked ~ #nav {
        display:block;
    }
    .menu-btn:checked ~ .menu-icon .navicon {
        background: transparent;
    }
    .menu-btn:checked ~ .menu-icon .navicon:before {
        transform: rotate(-45deg);
    }
    .menu-btn:checked ~ .menu-icon .navicon:after {
        transform: rotate(45deg);
    }
    .menu-btn:checked ~ .menu-icon .navicon:before,
    .menu-btn:checked ~ .menu-icon .navicon:after {
        top: 0;
    }
}
@media only screen and (max-width: 768px) {
    #nav li{
        margin-left: 40px;
    }
    .dia{
        padding: 20px;
    }
  .col {
    width: 50px;
  }
  .col .drag-drawflow span {
    display:none;
  }
  h3.diatitle {
      font-size:22px;
      line-height:30px;
  }

  #drawflow {
    width: calc(100vw - 51px);
  }

  .modal-content {
    width: 80%;
  }
 #SensorWrapper > div {
     width:100%;
     margin-right:0px;

  }
}
@media screen and (max-width: 556px){
    .darkgrey .checkboxwrapper {
        width:100%;
    }
}
