body {
    position: absolute;
    height: 100%;
    width: 100%;
    overflow: hidden;
    font-family: "Open Sans", Arial;
}

.page-content {
    overflow: hidden;
    height: calc(100% - 65px); /* Minus height of header bar */
    display: flex;
}

#map-canvas {
    height: 100%;
    z-index: 0;
}

.deviceinfo-component {
    position: absolute;
    min-width: 400px;
    max-width: 400px;
    z-index: 5;
    height: 100%;
    margin: 0;
    border-radius: 0px;
    display: flex;
    overflow: hidden;
}

.deviceinfo-settings {
    z-index: 10;
    overflow: hidden;
    transition: 0.2s all;
    position: absolute;
    transform: translate(1000px);
}

.deviceinfo-settings.expanded {
    width: 100%;
    height: 100%;
    overflow: scroll;
    transform: translate(0, 0);
    overflow-y: auto;
}

.device-io-low-alarm, .device-io-high-alarm {
    margin: 10px;
}

.deviceinfo-info {
    max-height: 60px;
    border: 1px solid #e7e7e7;
}

.deviceinfo-background {
    background: white;
    height: 100%;
    flex: 1;
    position: ;
    border-radius: 5px;
    position: absolute;
    width: 100%;
    top: 0;
}

.deviceinfo-controls {
    z-index: 10;
    position: relative;
    overflow-y: auto;
    height: 100%;
    padding-bottom: 100px;
    background-color: #D9D9D9;
}

.label-io-control-title {
    position: relative;
    margin: auto;
    font-weight: bold;
    font-size: 20px;
    margin-left: 10px;
    flex: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.map-icon {
    font-size: 18px;
}

.device-settings-value-title {
    margin: auto;
    margin-left: 0;
    font-size: 18px;
}

.device-settings-value {
    margin: auto;
    margin-right: 0;
    font-size: 18px;
}

.device-io-low-alarm-label, .device-io-high-alarm-label {
    margin: 10px;
    margin-right: 0;
}

.device-io-submit-button {
    margin: 10px;
    margin-left: auto;
    margin-right: 10px;
}

#device-io-history-graph {
    max-height: 300px;
    padding: 15px;
    padding-top: 0;
}

.menulist-item {
    padding: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
    display: flex;
    cursor: pointer;
}

.menulist-item-text {
    margin: auto;
    margin-left: auto;
    margin-left: 15px;
    font-size: 18px;
    color: grey;
}

.menulist-item-text.selected {
    color: black;
}

.io-control {
    border-radius: 5px;
    height: 50px;
    flex: 1;
    display:flex;
    flex-direction: column;
    margin: 10px;
    height: 150px;
    box-shadow: none;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    background-color: white;
}

.wrapper-device-info, wrapper-simple-info {
    display: flex;
    flex-direction: row;
    background: white;
    box-shadow: 0px 0px 10px #bfbfbf8c;
    position: relative;
}

.wrapper-deviceio-close {
    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    cursor: pointer;
}

.io-control-canvas {
   /* display: block;
	position: absolute;
	box-sizing: border-box;
	height: 300px;
	width: 300px;
	margin-top: -70px;
	margin-left: -32px;*/
}

.label-io-control-value {
    position: relative;
    font-size: 24px;
    transition: all 0.2s ease 0s;
    margin: auto;
    margin-bottom: 10px;
}

.label-io-control-unit {
    font-size: 20px;
    margin-top: auto;
    margin-bottom: 1px;
    color: #5e5e5e;
    text-align: center;
    min-height: 20px;
}

.label-io-control-value.alarm {
  animation: color-change 0.5s infinite;
}

@keyframes color-change {
  0% { color: red; }
  50% { color: rgba(233, 100, 13, 0); }
  100% { color: red; }
}

/*seili styles */

.view-home {
    height: 100%;
}

.io-control-gauge {
    position: relative;
    height: 105px;
}

.io-control-value {
    display: flex;
    margin: auto;
    margin-bottom: 15px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: fit-content;
    height: 105px;
}

.account-management-view {
    background: white;
    position: absolute;
    z-index: 2;
    max-width: 600px;
    max-height: 600px;
    margin: auto;
    left: 0;
    right: 0;
    border-radius: 5px;
}

.state-change-view {
    background: white;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    max-width: 400px;
    max-height: 155px;
    overflow: hidden;
    margin: auto;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: -75.5px;
    border-radius: 5px;
}

.state-warning-back {
    padding-top: 10px;
    padding-right: 10px;
    margin-left: auto;
    font-size: 22px;
    cursor: pointer;
}

.label-state-warning {
    margin: 15px;
    font-weight: bold;
    margin-top: 0;
    text-align: center;
}

.wrapper-state-warning-item {
    margin: 10px;
    display: flex;
    justify-content: space-evenly;
}

.state-confirm-switch, .delete-confirm-switch, .timer-switch,
.bluetooth-switch, .j1939-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 29px;
    margin: auto;
    margin-right: 5px;
}

.state-confirm-switch input{
    opacity: 0;
    width: 0;
    height: 0;
}

.device-add-component {
    background: white;
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    padding: 8px;
    max-height: 40px;
    overflow-y: hidden;
    transition: all 0.2s;
    min-height: 40px;
    max-height: 40px;
    overflow: hidden;
    position: relative;
}

.device-add-component.visible {
    max-height: 250px;
}

.device-add-start {
    position: absolute;
    display: flex;
    flex-direction: column;
    transform: translate(-500px, 0);
    width: 95%;
    flex: 1;
    transition: 0.2s all;
}

.device-add-start.visible {
    transform: translate(0, 0);
}

.device-add-done {
    position: absolute;
    display: flex;
    flex-direction: column;
    transform: translate(500px, 0);
    width: 95%;
    flex: 1;
    transition: 0.2s all;
}

.device-add-done.visible {
    transform: translate(0, 0);
}

.device-add-label {
    margin-bottom: 10px;
}

.device-add-icon {
    background: url("../images/icon-plus.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin: auto;
    margin-right: 5px;
    width: 14px;
    height: 14px;
}

.deviceinfo-title {
	font-size: 20px;
	margin: auto;
	margin-left: 10px;
	font-weight: bold;
}

.deviceinfo-id {
}

.deviceinfo-id-title {
    display: flex;
    flex-direction: row;
    font-weight: bold;
}

.deviceinfo-title-content {
    display: flex;
    transition: 0.2s all;
}

.deviceinfo-icon {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 30px;
    height: 30px;
    color: #e9640d;
    font-size: 24px;
    padding: 1px;
    padding-top: 3px;
}

.deviceinfo-icon.disabled {
    filter: grayscale(1);
}

.deviceinfo-icon-border {
    border: 2px solid black;
    border-radius: 100px;
    padding: 5px;
    height: 30px;
    width: 30px;

}
.deviceinfo-name {
    display: flex;
    position: absolute;
    transform: translate(-1000px, 0);
    transition: 0.2s all;
    tabindex: -1;
}

.deviceinfo-name.visible {
    transform: translate(0, 0);
    width: 100%;
}

.deviceinfo-name-content {
    display: flex;
    overflow-x: hidden;
    overflow-y: hidden;
    max-height: 35px;
}

.leaflet-container {
    background: #ddd !important;
    outline: 0;
}

.deviceinfo-name-edit {
    background: url("../images/icon-edit.png");
    background-repeat: no-repeat;
    background-size: contain;
    height: 14px;
    width: 14px;
    margin: auto;
    margin-left: auto;
}

.deviceinfo-name-edit-content {
    border-radius: 100px;
    padding: 5px;
    padding-bottom: 0;
    padding-top: 5px;
}

.deviceinfo-drive-journal {
    cursor: pointer;
}

.devicename-update-back {
    background: url("../images/icon-arrow.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 16px;
    margin: auto;
    margin-left: 15px;
    transform: rotate(270deg);
    width: 16px;
}

.devicename-save-btn {
    padding: 0;
    padding-left: 10px;
    padding-right: 10px;
    max-height: 30px;
    margin-left: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.devicename-input {
    border: none;
    border: 1px solid #ffc0a1;
    border-radius: 3px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    max-height: 30px;
    padding-left: 10px;
}

.devicename-input:focus {
    outline: 1px solid #ff6417;
}

.deviceinfo-update-content {
    display: flex;
    position: absolute;
    transform: translate(1000px, 0);
    transition: 0.2s all;
    tab-index: -1;
}

.deviceinfo-update-content.visible {
    transform: translate(0, 0);
    width: 100%;
}

.component-controlsettings-header {
    display: flex;
    background: white;
    height: 65px;
    border: 1px solid #D4D4D4;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.2s;
    overflow-x: hidden;
}

.controlsettings-name-edit {
    transform: translate(800px, 0);
}

.control-settings-panel {
    display: flex;
    flex: 1;
    position: relative;

}

.control-settings-panel:hover {
    background: #00000014;
}

.deviceinfo-edit-mode {
    padding-right: 15px;
    padding-left: 15px;
    display: flex;
    cursor: pointer;
}

.controlsettings-name-holder {
    display: flex;
    transition: all 0.2s;
    transform: translate(-500px, 0);
    width: 100%;
}

.controlsettings-name-holder.visible {
    transform: translate(0, 0);
}

.deviceio-name-edit {
    padding-right: 10px;
    padding-left: 15px;
    display: flex;
    border-left: 1px solid #D4D4D4;
    z-index: 2;
    background-color: white;
}

.deviceio-title {
    margin: auto;
    margin-left: 10px;
    font-size: 20px;
    font-weight: bold;
}

.deviceio-name-edit-input {
    background: #ecf1f5;
    border: none;
    border-radius: 3px;
    margin: 0;
    flex: 1;
    border: 1px solid #d4d4d4;
}

.deviceio-name-edit-save {
    margin-left: 5px;

    border: 1px solid #d4d4d4;
}

.deviceio-name-edit-input-holder {
    display: flex;
    position: absolute;
    margin: 10px;
    transition: all 0.2s;
    transform: translate(600px, 0);
    width: 400px;
}

.deviceio-name-edit-input-holder.visible {
    transform: translate(0, 0);
}

.deviceio-name-edit:hover {
    background: #e9e9ed;
}

.deviceinfo-content {
    width: 100%;
    position: relative;
    overflow-x: hidden;
}

.deviceinfo-component.expanded {
    max-height: 200px;
}

.title_icon {
    height: 30px;
    margin: auto;
}

.main_logo {
    margin-top: 0px;
    max-height: 40px;
}

span.panel-title {
    font-size: 18px;
    vertical-align: middle;
    margin-left: 5px;
}

.panel-heading {
    padding: 10px;
}

.panel-heading {
    color: black !important;
    border-top: 3px solid #223d79 !important;
}

.panel-body {
    background-color: rgba(245,245,245,0.3);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: inherit;
    color: black !important;
}

label.list-group-item-text {
    font-weight: inherit;
    color: #696969;
}

.col-lg-4.col-md-4.col-sm-12.col-xs-12 {
    padding: 5px;
}

.no_content {
	margin: auto;
	margin-right: 0;
	margin-top: 20px;
	margin-left: 25px;

}

.editable_can_config_panel_component:hover {
    background-color: #f5f5f5;
    cursor: pointer;
}

.slidecontainer {
    margin: auto;
    display: flex;
}

.input_state_class_on {
    width: 30px;
    height: 30px;
    background-color: blue;
    border-radius: 50%;
}


.input_state_class_off {
    width: 30px;
    height: 30px;
    background-color: grey;
    border-radius: 50%;
}

.current_device {
    margin-left: 20px;
}

.graph_verical_divider {
    border-left: 1px solid #dfdfdf;
    margin: auto;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 10px;
    margin-right: 10px;
}

#chartdiv_1, #live_chartdiv_1 {
}

#chartdiv_2, #live_chartdiv_2 {
}

#live_chartdiv {
    height: 750px;
    width: 100%;
}

.range_select {
    display: flex;
}

.reset_zoom_class {
    color: #aaa;
    float: right;
    font-weight: bold;
    margin-right: 40px;
    cursor: pointer;
}

.refresh-button {
    float: left;
    padding: 10px;
    cursor: pointer;
}

#w_ver {
    position: absolute;
    right: 10px;
    bottom: 0;
    font-weight: bold;
}

.date_select_div {
    width: 800px;
}

#dropdownMenuButton {
    display: none;
}

.loading_data_info {
    display: none;
    text-align: center;
    margin-top: 80px;
    font-size: 25px;
}

.xdsoft_highlighted_default {
  background-color: #29f274 !important;
  color: black!important;
}

.info_btn {
    display: none;
    cursor: pointer;
}

.dialog_cancel {
    margin: 10px;
}

#settingsModalLabel {
    margin: 10px;
}

#info_dialog {
    min-width: 400px;
    max-width: 500px;
    height: 200px;
    border: solid red;
    display: none;
}

.alias_title {
    width: 20%;
    float: left;
    margin-right: 5%;
}

.alias_input {
    width: 50%;
}

.alias_save {
    margin-left: 5px;
}

.header_bg {
   background-color: #f8f9fa !important;
}

.graph_divider {
    background-color: #dfdfdf;
    height: 1px;
    margin-top: 5px;
    margin-left: 10px;
    margin-right: 10px;
}

.connection-info {
    height: 10px;
    float: left;
    width: 10px;
    margin-right: 10px;
    margin-top: 7px;
    border-radius: 50%;
}

.connection-info-not-connected {
    background-color: #dc3545 !important;
}

.connection-info-connected {
    background-color: green !important;
}

.connected_infodiv {
    width: 10px;
    height: 10px;
    float: left;
    border-radius: 50px;
    margin-top: 6px;
    margin-right: 10px;
}

.horizontal-space {
    margin-left: 15px;
}

.seili-navbar {
    background-color: white;
    border-bottom: 1px solid #ff761b4f;
    height: 50px;
}

.seili-navbar-logout {
    margin-right: 5px;
    border: 1px solid #d4d4d4;
    border-radius: 100px;
    padding: 8px;
    width: 45px;
    height: 45px;
    display: flex;
    margin-top: 2px;
}

.seili-navbar-title {
    color: #ff761b;
    font-weight: bold;
    height: 25px;
    margin: auto;
    margin-right: auto;
    margin-left: 15px;
    padding-top: 3px;
}

.seili-navitems {
    display: flex;
    background: white;
}

.navbar li a {
    cursor:pointer;
}

.nav-tab-active {
    border-top: 3px solid #f26e24 !important;
}

.nav-item.active a {
    background-color: transparent;
}

/** UploadFwFile-module */
.divider-area {
    height: 4px;
    width: 100%;
    margin-top: 50px;
    margin-bottom: 20px;
    background-color: lightgray;
    border-radius: 10px;
}


/** ViewAdmin-module */
.row-controls {
    margin-bottom: 40px;
}

.block-item-control {

}

.admin-edit-account {
    cursor: pointer;
}

.admin-delete-account {
    cursor: pointer;
}

.admin-edit-account-title, .admin-delete-account-title {
    width: 20px;
}

.add-account-div {
}

.account-type-select-div {
    margin: 15px;
    display: flex;
    flex-direction: column;
}

.account-type-select-title {
    margin: auto;
    margin-left: 0;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
}

.account-type-select {
    margin: auto;
    margin-right: 0;
    width: 100%;
}

.account-info-block {
    margin: 10px;
}

.wrapper-account-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    margin: 10px;
    border-radius: 5px;
    min-height: 45px;
    border: 1px solid #e7e7e7;
    height: max-content;
}

.wrapper-account-info-item {
    display: flex;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    min-height: 45px;
    cursor: pointer;
}

.label-account-info {
    margin: 15px;
    margin-bottom: 10px;
    font-weight: bold;
    margin-top: 0;
}

.label-remove-device {
    font-weight: bold;
}

.button-username-change, .button-password-change {
    min-width: 120px;
    margin: auto;
    margin-right: 5px;
}

.button-name-edit-cancel {
	margin: auto;
	margin-right: 10px;
	font-size: 18px;
	cursor: pointer;
}

.navitem-admin, .navitem-flash {
    display: none;
}

/** ViewSettings-module*/
.setting-block {
    margin-top: 10px;
}

.setting-item {
    border-radius: 3px;
}

/** ViewSettings-module*/
.setting-item-editable:hover {
    cursor:pointer;
    background-color: #f5f5f5;
  }

/** ViewSettings-module*/
.setting-item-header {
    font-size: 14px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

/** ViewSettings-module*/
.setting-item-text {
    font-size: 14px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

/** ViewSettings-module*/
.setting-item-right {
    flex:1;
    min-width:25px;
}

/** elemUtil.js */
.block-item-editable:hover {
    cursor:pointer;
    background-color: #f5f5f5;
  }

/** elemUtil.js */
.block-item-header {
    font-size: 14px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

/** elemUtil.js */
.block-item-text {
    font-size: 14px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

/** elemUtil.js */
.block-item-right {
    flex:1;
    min-width:25px;
}

/** UpdateBmsFw-module */
.checkbox-table-header {
    width: 50px;
    transform: scale(1.2);
}

/** UpdateBmsFw-module */
.checkbox-table-row {
    width: 50px;
}

/** UpdateBmsFw-module */
.upload-table-row:hover {
    background-color: #f5f5f5;
}

/** UpdateBmsFw-module */
.upload-dialog-title {
    margin-bottom: 10px;
}

/** UpdateBmsFw-module */
.upload-dialog-element {
    margin: 10px;
}

.popup-bg {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 10001;
    transition: 0.5s all;
    opacity: 0;
    pointer-events: none;
}

.popup-bg.moved-in {
    opacity: 1;
    pointer-events: all;
}

.popup {
    width: 600px;
    margin: auto;
    background-color: white;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    border-radius: 3px;
    transition: 0.5s all;
    transform: translate(0, -5000px);
}

.popup.moved-in {
    transform: translate(0, 0);
}

.accept-btn {
    min-width: 70px;
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    margin-left: auto;
    margin-right: 5px
}

.accept-btn:disabled {
    background-color: grey;
}

.cancel-btn {
    min-width: 70px;
    border: 1px solid #dee2e6;
    margin-left: 0;
    margin-right: 0;
}

.cancel-btn:disabled {
    background-color: grey;
}

.popup-title {
    display: flex;
    margin: 5px;
}

.popup-title-text {
    margin: auto;
    margin-left: 5px;
}

.popup-hr {
    border-bottom: 1px solid #dee2e6;
}

.switcharea {
    margin: 15px;
    flex: auto;
}

.switcharea-titlebar {
    display: flex;
}

.switcharea-label {
    margin: auto;
    margin-left: 0;
    font-weight: bold;
    font-size: 14px;
}

.switcharea-selection {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
}

.switcharea-selection-label {
    margin: auto;
    margin-left: 0;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
}

.switcharea-select {
    margin: auto;
    margin-right: 0;
    width: 100%;
}

.navitem.active {
    border-bottom: 3px solid #00529e;
}

.status-content {
    display: flex;
}

.view {
    border-radius: 3px;
    visibility: visible;
    min-height: 800px;
    overflow: hidden;
    opacity: 1;
    transition: all 0.2s linear;
    display: flex;
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    height: 100%;
}

.view.moved-out {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.view.no-height {

}

.no-device {
    transform: translate(0, 0);
    transition: all 0.3s linear;
    width: 100%;
}

.no-device.moved-out {
    z-index: -10;
    transform: translate(0, -300px);
    pointer-events: none;
    opacity: 0;
}

.iconcard {
    background-color: white;
    border: 1px solid #D4D4D4;
    border-radius: 3px;
    display: flex;
    flex: 1;
    flex-direction: column;
    height: 100%;
    max-width: 25%;
    max-height: 100px;
    min-height: 100px;
    padding-top: 5px;
    padding-bottom: 5px;
    display: inline-block;
    background: white;
    display: flex;
    padding: 0;
    overflow: hidden;
}

.iconcard.alarm {
    background: rgba(255, 0, 0, 0.2);
}

.iconcard-ripple.alarm {
    margin: auto;
    margin-top: 5rem;
    background-color: #fff;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position:relative;
    animation: alarmripple 0.5s linear infinite;
    background: rgba(255, 0, 0, 0.2);
    flex: 1;
    left: 0;
    right: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.iconcard-ripple.alarm::before,
.iconcard-ripple.alarm::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  border-radius: 50%;
  animation:inherit;
  animation-delay:1s;
}
.iconcard-ripple.alarm::after {
  animation-delay:2s;
}

@keyframes alarmripple {
  0% {
    box-shadow: 0 0 0 .7rem rgba(245, 39, 39, 0.2); /*rgba(255,255,255, 0.2);*/
  }
  100% {
    box-shadow: 0 0 0 8rem rgba(255,255,255, 0);
  }
}

.iconcard.onbackground {
    background: rgba(2, 119, 9, 0.2);
}

.iconcard-ripple.inputon {
    margin: auto;
    margin-top: 5rem;
    background-color: #b6d7bf;
    width: 1px;
    height: 1px;
    border-radius: 50%;
    position:relative;
    animation: inputonripple 4.5s linear infinite;
    background: rgba(255, 255, 255, 0.2);
    flex: 1;
    left: 0;
    right: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
@keyframes inputonripple {
  0% {
    box-shadow: 0 0 0 .7rem rgba(3, 160, 42, 0.2); /*rgba(255,255,255, 0.2);*/
  }
  100% {
    box-shadow: 0 0 0 8rem rgba(255,255,255, 0);
  }
}

.iconcard-highlight {
    flex: 1;
    display: flex;
    background-image: none;
    margin: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-top: 0;
    margin-bottom: 0;
    height: 100%;
    display: flex;
    margin: 0;
}

.iconcard-highlight.enabled {

    background-image: radial-gradient(#f000, #a1ffb000, #ff761b6e);
}

.iconcard-title {
    margin: auto;
    min-height: 25px;
    height: 25px;
    flex: 0.2;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: -moz-available;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

.iconcard-icon {
    background-size: contain;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    flex: 1;
    height: 60px;
    margin: auto;
    width: 60px;
    z-index: 100;
    left: 0;
    right: 0;
    position: absolute;
    top: 0;
    bottom: 0;

}

.infoitem {
    margin: auto;
    max-width: 200px;
}

.infoitem-title {
    font-weight: bold;
    min-height: 25px;
}

.infoitem-value {
    min-height: 25px;
}

.infopanel-container {
    border-bottom: 1px solid black;
}

.infoitem-connection {
    background: url("../images/webclient_icon_signal_strong.png");
    background-repeat: no-repeat;
    background-size: contain;
    height: 15px;
    width: 80px;
    margin: auto;
    margin-top: 5px;
    margin-left: 0px;
}

.infoitem-connection.moderate {
    background-image: url("../images/webclient_icon_signal_moderate.png");
}

.infoitem-connection.weak {
    background-image: url("../images/webclient_icon_signal_weak.png");
}

.infoitem-connection.disconnected {
    background-image: url("../images/signal_no_connection.png");
}

.multiinfoitem {
    display: flex;
    flex-direction: column;
    margin: auto;
    margin-left: 0;
    margin-right: 15px;
    font-size: 15px;
}

.infoitem-bg {
    display: flex;
    margin: auto;
    margin-right: 10px;
    margin-left: 10px;
    min-width: 295px;
}

.infoitem-arrow {
    background: url("../images/webclient_icon_arrow_down.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin: auto;
    height: 20px;
    width: 20px;
    transform: rotate(0deg);
}

.infoitem-arrow.selected {
    transform: rotate(180deg);
}

.no-device-selected {
    margin: auto;
	margin: 15px;
	text-align: center;
}

.infopanel {
    background-color: white;
    display: flex;
    flex-direction: column;
    max-height: 70px;
    transition: all 0.3s linear;
    transform: translate(0, 0);
    z-index: 1;
}

.infopanel.top-layer {
    z-index: 2;
}

.infopanel.moved-out {
    z-index: 0;
    transform: translate(0, -300px);
}

.infoitems {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: white;
}

.live_view_link {
    color: #959494;
    cursor: pointer;
}

.live_view_link.active {
    color: #00529e
}


a:hover {
    cursor: pointer;
}

.statusarea-infopanel {
    display: flex;
    flex-direction: column;
}

.table-title-div {
    font-weight: bold;
    margin-right: 20px;
}

.timer-settings {
    max-height: 300px;
    transition: all 0.2s;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}

.timer-settings.collapsed {
    max-height: 0px;
}

.message {
    text-align: center;
    margin: 15px;
}

.message.moved-out {
    display: none;
}

thead {
    background: #f8f9fa;
}

table {
    border: 1px solid #dfdfdf
}

.panel.moved-out {
    height: 0;
    opacity: 0;
    pointer-events: none;
}
.data-graph {
    margin: 0;
    margin-left: 0;
    margin-right: 0;
}

.no-data {
    margin: auto;
    z-index: 100;
    margin: auto;
    max-width: 300px;
    max-height: 50px;
    text-align: center;
    opacity: 1;
    transition: all 0.1s linear;
}

.no-data.moved-out {
    opacity: 0;
    pointer-events: none;
}

.setting-item-text {
    transition: all 0.2s;
}

.leaflet-top .leaflet-control-zoom {
    top: 20px !important;
    right: 15px !important;
    left: auto !important;
}
.leaflet-control-zoom-in {
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

.leaflet-control-zoom-out {
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}

.control-panel  {
	display: flex;
    flex-direction: row;
	background: white;
	z-index: 2;
    border-right: 1px solid #d4d4d4;
    background: #f5f5f5ed;
    height: 100%
}


.control-panel-device {
    min-width: 500px;
}

.control-panel-controls {
    width: 0;
    overflow-x: hidden;
    transition: 0.2s all;
}

.control-panel-controls.visible {
    width: 500px;
}

.controlsettings-controls {
    display: flex;
    flex-direction: column;
}

.controlsettings-graph {
    margin: 10px;
}

#controlsettings-graphview {
    border-radius: 5px;
    border: 1px solid #e5e6e4;
    overflow: hidden;
}

.list-item {
    border-bottom: 1px solid #ffd4b8;
    color: black;
}

.list-item.selected {
    background: #fff4e8;
}
.label-day {
    margin-left: 10px;
    margin-right: 10px;
}
.control-controls  {
    margin: auto;
    margin-left: auto;
    margin-right: 5px;
    display: flex;
    height: 50px;
    overflow-y: hidden;
}

.control-tabs  {
    display: flex;
    margin: auto;
    margin-left: 15px;
    margin-right: 5px;
}

.panel-heading {
    margin: 10px;
    border: 1px solid #dfdfdf !important;
    border-radius: 3px !important;
}

.setting-block {
    border: none !important;
    margin-top: 0 !important;
}

.device-select-info {
    width: 250px;
    height: 50px;
    display: flex;
    background: #e7e7e78c;
    margin-right: 5px;
    border-left: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
}

.device-select-info:hover {
    background: #e7e7e7;
    cursor: pointer;
}

.device-select-connected {
    margin: auto;
    width: 10px;
    height: 10px;
    background: blue;
    border-radius: 50%;
    float: left;
    opacity: 0;
}

.device-select-details {
    width: 170px;
    float: left;
    display: flex;
    flex-direction: column;
    margin-left: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    text-align: right;
}

.device-details-loading {
    margin-top: 15px;
    text-align: right;
    width: 100%;
}

.device-details-alias {
    float: left;
    font-weight: bold;
    text-align: left;
    margin: auto;
    margin-left: 0;
}

.device-details-id {
    float: left;
    margin-left: 0;
    text-align: left;
}

.device-select-button {
    text-align: center;
    cursor: pointer;
    display: flex;
    margin: auto;
    margin-right: 10px;
}

.device-select-icon {
    height: 20px;
    width: 20px;
    background-image: url('../images/webclient_icon_open.png');
    background-repeat: no-repeat;
    background-size: contain;
    margin: auto;
}

.device-list-body {
    max-height: 600px;
    overflow-y: auto;
}

.devices-list-header {
    margin-top: 10px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

#device_list_ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#device_list_ul li {
    border: 1px solid #ddd;
    margin-top: -1px;
    background-color: #f6f6f6;
    padding: 6px 6px 6px 20px;
    text-decoration: none;
    font-size: 18px;
    color: black;
    display: block;
    cursor: pointer;
    height: 40px;
}

#device_list_ul li:hover:not(.header) {
    background-color: #eee;
}

.devices-list {
    overflow-y: auto;
    max-height: 520px;
    min-height: 520px;
}

.devices-list-row {

}

.devices-list-item {
    width: 25%;
    float: left;
    text-overflow: ellipsis;
    overflow-x: hidden;
    white-space: nowrap;
}

.devices-list-item-connect-info {
    height: 10px;
    width: 10px;
    float: left;
    border-radius: 50%;
    margin-top: 7px;
    margin-right: 10px;
}

.devices-list-header-item {
    width: 25%;
    float: left;
    text-overflow: ellipsis;
    overflow-x: hidden;
    white-space: nowrap;
    font-weight: bold;
}

.devices-list-header-item-debugtriggers {
    width: 15%;
    float: left;
    text-overflow: ellipsis;
    overflow-x: hidden;
    white-space: nowrap;
    font-weight: bold;
}

.devices-list-header-connected {
    width: 20px;
    float: left;
}

.devices-list-sort-div {
    float: right;
    margin-right: 60px;
    color: lightgray;
}

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    -webkit-transform: none;
    transform: none;
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

.table-row {
    padding-top: 0;
    padding-bottom: 0;
}

.popup-body {
    overflow-y: hidden;
    display: flex;
    flex: auto;
}

#ViewAdmin-wrapper {
    display: flex;
    flex: auto;
    margin-left: 15px;
    margin-right: 15px;
}

#ViewAdmin-block-setting {
    flex: auto;
}

.label-item-box {
    margin-bottom: 10px;
}

.alias-disclaimer {
    padding: 10px;
    background: #f8d7da;
    color: #721c24;
    border-radius: 3px;
    border: 1px solid #f5c6cb;
    margin-bottom: 10px;
}

.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10;
}

.dashboard {
    min-width: 680px;
}

.hmenu-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: black;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s;
    overflow: hidden;
}

.hmenu {
}

.hmenu-bg.moved-in {
    opacity: 0.8;
}

.hmenu-panel {
    max-width: 400px;
    background-color: white;
    height: 100%;
    width: 800px;
    z-index: 11;
    position: absolute;
    transform: translate(-800px, 0);
    transition: transform 0.3s;
    overflow: hidden;
    border-right: 1px solid #d4d4d4;
    top: 0;
}

.hmenu-panel.moved-in {
    transform: translate(0, 0);
}

.item-list {
    overflow-y: auto;
    padding-bottom: 10px;
}

.device-item {
    overflow: hidden;
    position: relative;
    border-bottom: 1px black;
    transition: all 0.2s;
}

.hmenu-title {
    margin: auto;
    margin-left: auto;
    margin-left: 15px;
    font-size: 18px;
    color: #ff761b;
    font-weight: bold;
}

.hmenu-panel {
    display: flex;
    flex-direction: column;
}

.wrapper-name-info {
    transition: 0.2s all;
    transform: translate(0, 0);
}

.wrapper-name-info.moved-out {
    transform: translate(-1000px, 0);
}

.wrapper-name-edit {
    min-height: 38px;
    transition: 0.2s all;
    transform: translate(0, 0);
    margin: auto;
}
.wrapper-name-edit.moved-out {
    transform: translate(1000px, 0);
}

.input-device-name-edit {
    margin: auto;
    margin-right: 10px;
    border-radius: 100px;
    flex: 1;
}

.map-container {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.map-min-size {
    min-height: 420px;
}

.grid-block {
    border-color: #D4D4D4;
    background-color: "white";
    border-radius: 3px;
    height: 100%;
}

.card-content {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    min-height: 100px;
    margin-top: 10px;
}

.grid-padding {
    min-width: 160px;
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
}
.seiligauge {
    margin-bottom: 70px;
}
.hb-menu {
    height: 25px;
    margin: auto;
    margin-right: 0;
    margin-left: 15px;
}

.row.display-flex {
  display: flex;
  flex-wrap: wrap;
}

.no-row-margin {
    margin-left: 0px;
    margin-right: 0px;
}

.row.display-flex > [class*='col-'] {
  display: flex;
  flex-direction: column;
}

/** GaugeMeter styles */
.GaugeMeter{
  position: relative;
  text-align: center;
  overflow: hidden;
}

.GaugeMeter span,
.GaugeMeter b{
  margin: 0 23%;
  width: 54%;
  position: absolute;
  text-align: center;
  display: inline-block;
  color: RGBa(0,0,0,.8);
  font-weight: 100;
  font-family: "Open Sans", Arial;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.GaugeMeter[data-style="Semi"] b{
	margin: 0 10%;
	width: 80%;
}

.GaugeMeter s,
.GaugeMeter u{
  text-decoration: none;
  font-size: .8em;
  opacity: .5;
}

.GaugeMeter b{
  color: #000;
  font-weight: 300;
  font-size: .8em;
  opacity: .8;
}

.qr-code-holder {
    margin-left: auto;
    margin-top: 25px;
    margin-right: 15px;
    margin-bottom: 5px;
}

.account-actions {
    border-top: none;
    box-shadow: 0px 0px 6px 4px #bfbfbf8c;
    background: white;
    position: absolute;
    z-index: 1;
    right: 0;
    margin-right: 0px;
    margin-top: 0;
    min-width: 200px;
    border-radius: 5px;
    margin: 10px;
    top: -500px;
    transition: 0.2s all;
}

.account-actions.moved-in {
    top: 65px;
}

.leaflet-marker-icon-custom {
    background: white;
    padding: 5px;
    border-radius: 100px;
    border: 1px solid #ff761b;
    text-align: center;
}

.item-id {
    color: #737373;
}

.edit-button-grid{
    margin: auto;
    padding-left: 5px;
    margin-right: 0;
    margin: auto;
    margin-right: 5px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    color: #e9640d;
}

.edit-button-grid.monitor {
    background-image: url("../images/icon-lock.png");
}

.edit-button-ctrl {
    margin: auto;
    margin-left: 5px;
    margin-right: 0;
    background: url("../images/icon-edit.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin: auto;
    margin-right: 5px;
    width: 20px;
    height: 20px;
}

.component-threshold {
    margin-bottom: 10px;
}

.wrapper-product-info-text {
    margin-top: -1px;
}

.product-info-title {
  font-size: 28px;
}

.logo-webasto {
    margin: auto;
    margin-left: 5px;
    margin-right: 0;
    margin: auto;
    margin-right: 5px;
    width: 85px;
    height: 55px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.logo-webasto-heating-on{
    background: url("../image/300ppi/btn-heater-on.png");
}

.logo-webasto-heating-off{
    background: url("../image/300ppi/btn-heater-off.png");
}

.logo-webasto-ventilation-on{
    background: url("../image/300ppi/btn-ventilation-on.png");
}

.logo-webasto-ventilation-off{
    background: url("../image/300ppi/btn-ventilation-off.png");
}

.submit-button {
    box-shadow: 1px 1px 10px #bfbfbf8c;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.deviceinfo-info-background {
    display: flex; position: relative;
    flex: 1;
    z-index: 10;
    background: white;
    margin: 15px;
    border-radius: 5px;
    height: auto;
    max-height: fit-content;
    flex-direction: row;
}

.deviceinfo-info-background.active {
    background: #cacaca;
}

.alarm-modal-view {
    background: white;
    height: 100%;
    position: absolute;
    z-index: 2;
    max-width: 400px;
    max-height: 255px;
    overflow: hidden;
    margin: auto;
    left: 10px;
    right: 10px;
    top: 50%;
    margin-top: -75.5px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
}

.warning-background{
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    background: #000000d6;
    z-index: 15;
}

.alarm-modal-header{
    text-align: center;
    font-size: 1.3em;
    margin: 3px;
}

.alarm-modal-alarms {
    margin: 5px;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.alarm-row{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;
}

.alarm-pin-warning {
    margin: 5px;
}

.alarm-pin-name {
    margin: auto;
    margin-left: 10px;
}

.alarm-pin-slider {
    position: relative;
    display: inline-block;
    width: 55px;
    height: 28px;
    margin: auto;
    margin-right: 10px;
}

.alarm-pin-slider input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    left: 2px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.submit-alarms {
    margin: 10px;
    margin-top: auto;
    text-align: center;
}

.tooltip {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    left: 50%;
    margin-left: -60px;
}

.alarm-pin-name:hover .tooltip{
    visibility: visible;
}

.alarm-pin-name .tooltip::after {
    content: " ";
    position: absolute;
    bottom: 100%;
    left: 20%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}

.inactive {
    background-color: rgba(128, 128, 128, 0.3);
    cursor: default;
}

.io-control-label {
    display: flex;
    margin-top: 5px
}

.label-io-control-title-icon{
    width: 40px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 10px;
}

.label-io-control-icon{
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 63px;
    height: 63px;
    margin: auto;
}

.label-io-control-center{
    height: 63px;
    margin: auto;
}

.alarmed {
    animation: blinkingBorder 1.5s infinite;
}

.wrapper-full-logo {
    margin-left: 5px;
    height: 50px;
    width: 147px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../image/300ppi/logo-black.png);
}

.wrapper-navbar-product-info {
    margin-left: 5px;
    height: 50px;
    width: 147px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../image/300ppi/logo-black.png);
}

.wrapper-product-info {
    display: none;
}

.toaster {
    position: fixed;
    z-index: 399;
    right: 10px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
}

.toast-slice {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
    min-width: 250px;
    margin-left: -125px;
    background-color: white;
    color: black;
    text-align: left;
    border-radius: 5px;
    border: 1px solid black;
    margin: 5px;
}

.toast-crust {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 8px;
    padding-bottom: 0px;
    font-weight: bold;
}

.toast {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 8px;
}

.toast_success {
    background-color: rgba(0, 255, 0, 0.2);
}

.toast_error {
    background-color: rgba(255, 0, 0, 0.2);
}

.toast_info {
    background-color: hsl(189, 100%, 40%);
}

.toast_warning {
    background-color: hsl(49, 100%, 49%);
}

.wrapper-remove-device-confirm.moved-out {
    transform: translate(-1000px, 0);
}
.wrapper-remove-device-confirm {
    position: absolute;
    width: 445px;
    bottom: 0px;
    min-height: 38px;
    transition: 0.2s all;
    transform: translate(0, 0);
}

.wrapper-remove-device-info.moved-out {
    transform: translate(1000px, 0);
}
.wrapper-remove-device-info {
    transition: 0.2s all;
    transform: translate(0, 0);
}

.button-remove-device-cancel {
	margin-right: 10px;
	font-size: 18px;
	cursor: pointer;
}

.link-logout {
    font-size: 35px;
    margin-right: 5px;
}

.deviceinfo-wrapper {
    z-index: 10;
    transform: translate(-1000px, 0);
    transition: 0.2s all;
    background: white;
}

.deviceinfo-wrapper.expanded {
    transform: translate(0, 0);
}

.leaflet-top .leaflet-control-zoom {
	top: 20px !important;
	right: 15px !important;
	left: auto !important;
	border-radius: 100px;
    border: none;
}

.leaflet-control-zoom {
    box-shadow: 0px 2px 9px 3px #bfbfbfc7 !important;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
}

.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 100px;
	border-bottom-right-radius: 100px;
}

.account-manage, .account-logout {
    padding: 10px;
    cursor: pointer;
}

.account-management-wrapper {
    display: flex;
    flex-direction: column;
    max-height: 538px;
    height: 100%;
    overflow: auto;
}

.account-management-items {
    overflow: auto;
    padding-bottom: 80px;
}

.wrapper-info-item-texts {
    margin: auto;
    margin-left: 5px;
}

.horizontal-line.opaque {
   opacity: 0.5;
}

/*  Animations to fade the toast in and out */
@keyframes fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 30px; opacity: 1;}
}

@keyframes fadeout {
    from {bottom: 30px; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@keyframes blinkingBorder{
    0%  { border-color: crimson;}
    50% { border-color:transparent;}
    100%  { border-color: crimson;}
}

.account-management-view {
    top: 25px;
    overflow: hidden;
    height: 100%;
}

.alarm-modal-header {
    padding: 8px;
}

.account-device-actions {
    flex: 0.25;
    display: flex;
    flex-direction: column;
    margin: 20px;
    margin-top: 0;
    margin-left: 20px;
    margin-right: 5px;
}

.account-devices {
    display: flex;
}

.account-management-view-background {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    background: #000000d6;
    z-index: 15;
}

.wrapper-account-item-update {
    display: flex;
    flex-direction: column;
}

.title-account-item-update {
    font-weight: bold;
    padding: 15px;
    padding-left: 0;
    margin: auto;
    margin-left: 0;
}

.input {
	background: #86868617;
	color: #4f4f4f;
	border: 1px solid #6464645e;
	border-radius: 100px;
	padding: 8px;
	padding-left: 10px;
}

.label-item-update-hint {
    margin: 15px;
    margin-bottom: 5px;
}

.wrapper-item-update-result {
    display: flex;
    height: 50px;
    transition: 0.2s all;
    border-radius: 15px;
    margin: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.wrapper-item-update-result.hidden {
     display: none;
}

.label-item-update-result {
    margin: auto;
}

.deviceinfo-last-online {
    margin: auto;
    margin-right: 0;
}

.drive-journal-map {
    margin: 10px;
}

.input-account-item-update {
    display: none;
    margin: 10px;
    border-radius: 30px;
    padding: 8px;
    padding-left: 15px;
}

.input-account-username-new {
    display: flex;
    margin-bottom: 0;
}

.input-account-password {
    display: flex;
    margin-bottom: 15px;
}

.io-control-row {
    display: flex;
}

.io-control.editable {
    opacity: 1;
    border: 1px solid #e7e7e7;
    cursor: pointer;
}

.io-control.io-control-empty {
    opacity: 0;
    cursor: default;
}

.drive-journal-details {
    margin: 10px;
    font-weight: bold;
}

#drive-journal-graph {
    flex: 1;
    overflow: hidden;
    max-height: 100%;
}

.drive-journal-graph-wrapper {
    max-height: 300px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    border-radius: 0;
    z-index: 0;
}

.title-history-graph {
    margin-left: 0;
    font-weight: bold;
    font-size: 20px;
    padding: 15px;
}

.device-io-high-alarm-unit, .device-io-low-alarm-unit {
	margin: auto;
	margin-left: 0;
	margin-right: 0;
}

.range-slider {
    margin: auto;
}

.heater-input {
    margin: auto;
    margin-left: 10px;
    margin-right: 0;
}

.heater-mode {
    flex-direction: column;
}

#drive-journal-graph-values-wrapper {
    display: flex;
    padding: 10px;
    padding-bottom: 0;
}

.button-confirm-state {
    margin-left: 10px;
}

.deviceinfo-history-graph {
    display: flex;
    position: relative;
    min-height: 300px;
    flex: 1;
    z-index: 10;
    background: white;
    margin: 10px;
    border-radius: 5px;
    max-height: fit-content;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 35px;
  border-top-right-radius: 35px;
}

.leaflet-touch .leaflet-bar a:last-child {
    border-bottom-left-radius: 35px;
    border-bottom-right-radius: 35px;
}

.wrapper-no-devices-info, .wrapper-simple-devices-info {
    display: none;
    flex-direction: column;
    flex: 1;
}

.wrapper-no-devices-info.visible, .wrapper-simple-devices-info.visible {
    display: flex;
}

.input-device-add {
    flex: 1;
}

.wrapper-device-add-popup-body {
    display: flex;
    flex-direction: column;
}

.wrapper-notification-modal {
    display: flex;
    height: 50px;
    transition: 0.2s all;
    border-radius: 15px;
    margin: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.wrapper-notification-modal.hidden {
    display: none;
}

.device-add-result-text {
    margin: auto;
}

.device-add-popup {
    max-width: 500px;
    max-height: 500px;
}

.drive-journal-graph-slider-wrapper {
    margin-left: 20px;
    margin-right: 20px;
}

#drive-journal-graph {
    margin-left: 20px;
    margin-right: 20px;
}

#account-actions {
  right: 10px;
  left: auto;
  width: 200px;
  z-index: 1;
}

#account-actions.moved-in {
  top: 70px;
}

.wrapper-dropdown-select-item {
    cursor: pointer;
}

.wrapper-popup-body {
    overflow: auto;
}

.search-loader {
    margin: auto;
}

.loader {
    border: 8px solid #f3f3f3; /* background */
    border-top: 8px solid #ff8300c4; /* spinner */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 2s linear infinite;
}

.bluetooth-row, .j1939-row {
    display: flex;
    flex-direction: row;
    margin: 5px 0;
    cursor: pointer;
    margin-top: 15px;
}

.bluetooth-row-container, .j1939-row-container {
    margin: 10px;
    margin-bottom: 20px;
    margin-top: 0px;
}

.open-bluetooth-row {
    margin-left: 5px;
    margin-bottom: 5px;
}

.add-bt-address {
    width: min-content;
}

.found-bt-address-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 10px;
}

.save-bluetooth-type {
    width: min-content;
}

.device-timer-switch-wrapper, .device-bluetooth-switch-wrapper{
    width: 57px;
    margin: auto;
    margin-right: 0px;
}

.device-timer-first-row {
    font-weight: bold;
}

.timer-switch input{
    opacity: 0;
    width: 0;
    height: 0;
}

.wrapper-device-timer-selector{
    display: flex;
    margin: 5px;
}

.device-add-timer-wrapper {
    margin: 5px;
    display: flex;
    flex-direction: column;
}

.timer-pin-row, .timer-start-row, .timer-duration-row, .timer-repeat-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.timer-week-day {
    margin: 5px;
    margin-left: 10px;
    cursor: pointer;
    font-weight: bold;
    border: 1px solid #00000017;
    border-radius: 9px;
    padding: 5px;
    background: #d4d4d4;
    width: 100%;
    text-align: center;
}

.timer-day-selected {
    color: #ff8300c4;
}

.io-toggleable {
    opacity: 1;
    border: 1px solid #e7e7e7;
    cursor: pointer;
}

.bluetooth-pin-name {
    margin: auto;
    margin-left: 0px;
}

.bluetooth-switch-wrapper {
    display: flex;
    margin: 20px;
}

.etagy-pin-header {
    display: flex;
}
.etagy-pin-header > i {
    cursor: pointer;
}

.etagy-title, .etagy-title-edit {
    margin: auto;
    margin-left: 0px;
    margin-right: 10px;
    font-size: 20px;
}

.etagy-edit-name {
    margin: auto;
    margin-right: 15px;
    cursor: pointer;
}

.hidden {
    display: none !important;
}

.unbind-etagy, .confirm-unbind-etagy, .cancel-unbind-etagy {
    margin: 15px;
    width: min-content;
}

.navbar-quick-settings {
    cursor: pointer;
    display: flex;
    margin: auto;
    margin-right: auto;
    margin-right: 8px;
    font-size: 35px;
    color: #e9640d;
}

.title-icon {
    width: 20px;
    margin-right: 5px;
}

.j1939-row {
    cursor: auto;
}

.j1939-unit-title {
    margin-left: 10px;
}

.label-io-control-icon-j1939 {
    margin-bottom: -50px;
}

.etagy-unit-title {
    font-size: smaller;
    font-weight: bold;
    margin-left: 10px;
}

.device-id-qr {
    display: flex;
    transition: 0.2s all;
    border-radius: 15px;
    margin: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    flex-direction: column;
    text-align: center;
    height: auto;
}

.deviceinfo-tabs {
    display: flex;
    position: relative;
    z-index: 10;
    width: -moz-available;
    height: 94px;
    max-height: 60px;
    background: #D9D9D9;
}

.standardview-button, .pinview-button {
    flex: 1;
    max-height: 60px;
    cursor: pointer;
}

.simple-device-info-body {
    flex: 1;
    background: #D9D9D9;
}

.simple-info-row {
    margin: 10px;
    flex-direction: column;
}

.simple-info-value {
    margin-left: 5px;
}

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

@media only screen and (max-width: 1015px) {
    .deviceinfo-settings.expanded {
        width: 100%;
        transform: translate(0, 0);
        overflow-y: auto;
    }

    .io-control-gauge {
        width: 100%;
    }

    .deviceinfo-component {
        max-width: 400px;
        min-width: 300px;
    }
}

@media only screen and (max-width: 600px) {
    .page-content {
        flex-direction: column-reverse;
    }

    .map-min-size {
        min-height: 40%;
    }

    .control-panel {
        max-height: 70%;
        bottom: 0;
        margin-top: auto;
        width: 100%;
    }
    .control-panel-device {
        width: 100%;
        min-width: 0;
    }
    .hmenu-panel {
        width: 80%;
    }
    .control-panel  {
        display: flex;
        /*padding-top: 5px;*/
        background: white;
        z-index: 2;
        border-right: 1px solid #d4d4d4;
        background: #f5f5f5ed;
        height: 100%;
        width: 100%;
    }

    .control-panel-device {
        width: 100%;

        transition: 0.2s all;
        border-top: 1px solid #d4d4d4;
        transform: translate(-1000px, 0);
    }
    .control-panel-device.visible  {

        transform: translate(0, 0);
        width: 100%;
    }
    .control-panel-controls {

        border-top: 1px solid #d4d4d4;
        overflow-x: hidden;
        transition: 0.2s all;
        transform: translate(1000px, 0);
        position: absolute;
    }

    .control-panel-controls.visible {
        transform: translate(0, 0);

        width: 100%;
    }

    .deviceinfo-component {
        width: calc(100% - 20px);
        max-width: none;
    }

    .io-control-canvas {}

    .deviceinfo-component {
        height: 60%;
        bottom: 0;
        margin: 0;
        width: 100%;
    }

    .account-actions {
        left: 0;
    }

    .account-management-wrapper {
        flex-direction: column;
        overflow: auto;
        max-height: none;
    }

    .account-management-view {
        top: 0;
        overflow: hidden;
        height: 100%;
        top: 0;
        max-height: 100%;
    }

    .account-device-actions {
        display: none;
    }

    .button-username-change, .button-password-change {
        margin: 0;
        margin-top: 15px;
    }

    .wrapper-confirm-changes {
        flex-direction: row;
    }

    .account-device-add {
        flex-direction: column;
    }

    .input-device-add {
        margin: 10px;
        margin-bottom: 0;
    }

    .wrapper-name-info {
        flex-direction: column;
    }

    .button-name-edit {
        margin: 10px;
    }

    .wrapper-name-edit {
        flex-direction: column;
    }

    .button-device-name-edit-save {
        margin: 10px;
    }

    .button-device-add {
        margin: 10px;
    }

    .input-device-name-edit {
        margin: 10px;
    }

    .button-name-edit {
        margin: 10px;
    }

    .wrapper-remove-device-info {
        flex-direction: column;
    }

    .device-item-wrapper {
        margin: 0;
    }

    .button-remove-device {
        margin: 10px;
    }

    .label-remove-device {
        margin-left: 15px;
    }
    .label-io-control-value {
        font-size: 18px;
    }

    .label-io-control-unit {
        font-size: 18px;
    }

    .leaflet-top .leaflet-control-zoom {
        top: 0px !important;
        right: 0px !important;
    }

    .account-devices {}
}
