/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* ##################################### */
/* ############### Fonts ############### */
/* ##################################### */
@font-face {
  font-family: 'icons';
  src: url('icons.71dd7cb6.eot?95076865');
  src: url('icons.71dd7cb6.eot?95076865#iefix') format('embedded-opentype'), url('icons.1be2e0dd.woff?95076865') format('woff'), url('icons.6ee6de81.ttf?95076865') format('truetype'), url('icons.0951003a.svg?95076865#icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* ##################################### */
/* ############# Animations ############ */
/* ##################################### */
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
/* ##################################### */
/* ############### Reset ############### */
/* ##################################### */
input,
button,
select,
textarea,
div {
  border-radius: 0;
  padding: 0;
  margin: 0;
  line-height: 100%;
  /* Needed for reasonable size calcuation of button*/
  background: none;
  border: 0;
  outline: 0;
  -moz-appearance: none;
}
input[type='number'] {
  -moz-appearance: textfield;
}
input:disabled {
  opacity: 1;
}
input:required {
  box-shadow: none;
}
select::-ms-expand {
  display: none;
}
/* ##################################### */
/* ############## General ############## */
/* ##################################### */
body,
html {
  height: 100%;
}
body,
button,
input,
a,
a:active,
a:hover,
a:link {
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  text-decoration: none;
}
.init-error {
  color: #000;
  padding: 20px;
}
.init-error ul {
  margin: 10px;
}
.init-error ul li {
  list-style-type: circle;
  margin-left: 20px;
  margin-top: 5px;
}
/* ##################################### */
/* ############## Layout ############### */
/* ##################################### */
body.dark-theme {
  background: #232323;
}
body.bright-theme {
  background: linear-gradient(to bottom, #dcdcdc 0%, #cccccc 76%);
  background-attachment: fixed;
}
#app,
#inner-app {
  height: 100%;
}
#inner-app.with-popup > .page,
#inner-app.with-popup > .top-menu {
  filter: blur(2px);
}
.page {
  height: 100%;
  padding-top: 46px;
  box-sizing: border-box;
  position: relative;
  opacity: 0.99;
}
.fullscreen .page {
  padding-top: 0;
}
.with-popup > .page {
  overflow: hidden;
}
.page.no-page {
  background-repeat: no-repeat;
  background-position: center center;
}
.dark-theme .page.no-page {
  background-image: url(background-indented-dark.faf21091.png);
}
.bright-theme .page.no-page {
  background-image: url(background-indented-bright.ba7a2f16.png);
}
/* ##################################### */
/* ############ Modal Popup ############ */
/* ##################################### */
.modal-background {
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
}
.modal {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.modal > .container {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.modal > .container > .window {
  flex: 1 1 85%;
  margin: 0 auto;
  position: relative;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 0 19px 0 rgba(0, 0, 0, 0.27);
  display: flex;
  flex-direction: column;
}
.desktop .modal > .container > .window {
  border-radius: 5px;
  max-height: 80%;
  flex: 1 1 1010px;
  max-width: 1010px;
}
.bright-theme .modal > .container > .window {
  background: #f1f1f1;
}
.desktop .bright-theme .modal > .container > .window {
  border: 1px solid #404040;
}
.dark-theme .modal > .container > .window {
  background: #3a3a3a;
}
.desktop .dark-theme .modal > .container > .window {
  border: 1px solid #000;
}
.modal > .container > .window.tiny {
  max-width: 300px;
  max-height: 200px;
}
@media screen and (max-height: 600px) {
  .modal > .container > .window {
    max-height: 100%;
  }
}
.modal > .container > .window > .header {
  font-size: 14px;
  white-space: pre;
  text-overflow: clip;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.desktop .modal > .container > .window > .header {
  flex: 30px 0 0;
}
.mobile .modal > .container > .window > .header {
  flex: 46px 0 0;
}
.bright-theme .modal > .container > .window > .header {
  color: #242323;
  border-bottom: 1px solid #d8d8d8;
}
.dark-theme .modal > .container > .window > .header {
  color: #b2b2b2;
  border-bottom: 1px solid #252525;
}
.modal > .container > .window > .header .close {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  height: 100%;
  padding: 0 13px 17px 30px;
  display: flex;
  align-items: center;
}
.bright-theme .modal > .container > .window > .header .close {
  color: #616161;
}
.dark-theme .modal > .container > .window > .header .close {
  color: #c1c1c1;
}
.modal > .container > .window > .body {
  flex: 1 1 0px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  position: relative;
}
.bright-theme .modal > .container > .window > .body {
  background: #d4d4d4;
  color: #616161;
}
.dark-theme .modal > .container > .window > .body {
  background: #272727;
  color: #fff;
}
.modal > .container > .window > .body.with-extra-footer {
  height: calc(100% - 39px - 57px - 67px - 5px);
}
.modal > .container > .window > .body .confirm-elaborate {
  padding: 20px;
  font-size: 12px;
  line-height: 18px;
  text-align: center;
}
.modal > .container > .window > .footer {
  flex: 0 0 auto;
}
.bright-theme .modal > .container > .window > .footer {
  border-top: 1px solid #d8d8d8;
}
.dark-theme .modal > .container > .window > .footer {
  border-top: 1px solid #252525;
}
.modal > .container > .window > .footer .buttons {
  text-align: center;
  justify-content: center;
  display: flex;
  height: 100%;
}
.modal > .container > .window > .footer .buttons button {
  height: 56px;
  background: transparent;
  font-size: 15px;
  box-sizing: border-box;
  cursor: pointer;
  flex: 1 1 180px;
}
.modal > .container > .window > .footer .buttons button:active {
  background: #ffffff;
}
.modal > .container > .window > .footer .buttons button:disabled {
  opacity: 0.3;
  cursor: inherit;
  background: none !important;
}
.modal > .container > .window > .footer .buttons button:first-child {
  margin: 0;
}
.desktop .modal > .container > .window > .footer .buttons button {
  border-radius: 0 0 5px 5px;
}
.bright-theme .modal > .container > .window > .footer .buttons button {
  color: #424242;
}
.bright-theme .modal > .container > .window > .footer .buttons button:hover {
  background: #fff;
}
.dark-theme .modal > .container > .window > .footer .buttons button {
  color: #fff;
}
.dark-theme .modal > .container > .window > .footer .buttons button:hover {
  background: rgba(255, 255, 255, 0.1);
}
.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  flex-direction: column;
}
.loading > .icon {
  width: 45px;
  height: 45px;
  opacity: 0.7;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rotation 0.6s infinite linear;
}
.dark-theme .modal .loading > .icon,
.dark-theme .login .loading > .icon {
  border: 2px solid #c1c1c1;
  border-right-color: transparent;
}
.bright-theme .modal .loading > .icon,
.bright-theme .login .loading > .icon {
  border: 2px solid #000;
  border-right-color: transparent;
}
.loading > .message {
  margin-top: 20px;
}
/* Reset top offset for page */
.modal .page {
  padding-top: 0;
}
/* ##################################### */
/* ######## Modal Customizations ####### */
/* ##################################### */
.modal .operator-screen .button-column {
  padding: 6px 3px;
}
.modal .operator-screen .info-and-input-column {
  padding: 6px 3px;
}
/* ##################################### */
/* ############# Top Menu ############## */
/* ##################################### */
.top-menu {
  display: flex;
  align-items: stretch;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 46px;
  box-sizing: border-box;
}
.bright-theme .top-menu {
  background: #e6e6e6;
  border-bottom: 1px solid #d8d8d8;
}
.dark-theme .top-menu {
  background: #3a3a3a;
  border-bottom: 1px solid #252525;
}
.top-menu.edit-mode {
  background-color: #0095df;
  border-bottom: 0;
  z-index: 1;
}
.fullscreen .top-menu {
  display: none;
}
/* When on iOS with an open modal dialog, the top menu can show up above faded background when pulling down unless the position of it is set to absolute */
.with-popup .top-menu {
  position: absolute;
}
.top-menu .button,
.icon-button {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  position: relative;
  cursor: pointer;
  width: 46px;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bright-theme .top-menu .button,
.bright-theme .icon-button {
  color: #424242;
}
.dark-theme .top-menu .button,
.dark-theme .icon-button {
  color: #c1c1c1;
}
.top-menu.edit-mode .button,
.top-menu.edit-mode .icon-button {
  background-color: #0095df;
  color: #fff;
  position: relative;
}
.top-menu .settings-button {
  font-size: 15px;
}
.top-menu .toggle-edit-mode {
  font-size: 17px;
}
.top-menu.edit-mode .icon-button.button-add-delete {
  font-size: 14px;
}
.top-menu.edit-mode .icon-button.button-approve-and-reject {
  font-size: 14px;
}
.top-menu .icon-button.label-position {
  font-size: 25px !important;
}
.top-menu .screen-title {
  padding: 0 15px;
  font-size: 14px;
  white-space: pre;
  flex: 1 1 100px;
  display: flex;
  align-items: center;
}
.bright-theme .top-menu .screen-title {
  color: #424242;
}
.dark-theme .top-menu .screen-title {
  color: #b2b2b2;
}
.top-menu .divider {
  width: 1px;
  margin: 8px 0;
}
.bright-theme .top-menu .divider {
  background: #b8b8b8;
}
.dark-theme .top-menu .divider {
  background: #545454;
}
.top-menu.edit-mode .divider {
  background: #2585c8;
}
.top-menu .is-dropdown {
  position: relative;
}
.top-menu .is-dropdown:after {
  content: '';
  position: absolute;
  bottom: 0;
  border: 3.8px solid transparent;
  left: calc(50% - 3.8px);
}
.bright-theme .top-menu .is-dropdown:after {
  border-top-color: rgba(0, 0, 0, 0.56);
}
.dark-theme .top-menu .is-dropdown:after {
  border-top-color: rgba(255, 255, 255, 0.26);
}
.top-menu.edit-mode .is-dropdown:after {
  border-top-color: rgba(255, 255, 255, 0.21);
}
.top-menu .drop-down {
  position: absolute;
  top: 100%;
  max-height: calc(100vh - 100%);
  overflow-y: auto;
  left: 0;
  padding: 1px;
  color: #fff;
  font-size: 11px;
  font-family: 'Open Sans', sans-serif;
}
.top-menu .drop-down {
  top: calc(100% + 1px);
}
.dark-theme .top-menu .drop-down {
  background: #3a3a3a;
}
.bright-theme .top-menu .drop-down {
  background: #e6e6e6;
}
.top-menu .drop-down .delete-screen {
  background: #f00 !important;
  color: #fff;
  font-size: 17px;
}
.top-menu.edit-mode .drop-down {
  background: #007cbf;
  top: calc(100%);
}
.top-menu .drop-down > .text-button {
  white-space: nowrap;
  height: 46px;
  width: auto;
  display: flex;
  align-items: center;
}
.top-menu .drop-down > .icon-button {
  white-space: nowrap;
  height: 46px;
  min-width: 46px;
  width: auto;
  display: flex;
  align-items: center;
}
.top-menu.edit-mode .drop-down > .icon-button:not(:last-child) {
  border-bottom: 1px solid #2585c8;
}
.top-menu .drop-down > .icon-button {
  background: transparent;
}
.bright-theme .top-menu .drop-down > .icon-button:hover {
  background: #ffffff;
}
.dark-theme .top-menu .drop-down > .icon-button:hover {
  background: #525252;
  color: #fff;
}
.top-menu.edit-mode .drop-down > .icon-button:hover,
.top-menu.edit-mode .drop-down > .text-button:hover {
  background: #0095df;
}
.top-menu.edit-mode .icon-button.button-add-delete .drop-down {
  min-width: 180px;
}
.top-menu.edit-mode .icon-button.button-add-delete .drop-down > div {
  padding: 0 14px;
}
.top-menu.edit-mode .drop-down > .icon-button {
  font-size: 14px;
}
.top-menu.edit-mode .type-menu {
  font-size: 14px;
}
/* ... */
.fullscreen-exit {
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  border-top: 42px solid rgba(0, 0, 0, 0.6);
  border-left: 42px solid transparent;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: none;
  align-items: center;
  justify-content: center;
}
.with-popup .fullscreen-exit {
  position: absolute;
}
.fullscreen-exit span {
  position: absolute;
  top: -35px;
  right: 8px;
  font-family: 'icons';
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
  color: rgba(255, 255, 255, 0.6);
  transform: rotate(180deg);
}
.fullscreen .fullscreen-exit {
  display: flex;
}
/* ##################################### */
/* ############# Side Bar ############## */
/* ##################################### */
.sidebar-mask {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.sidebar-mask.visible {
  pointer-events: auto;
  opacity: 1;
}
.sidebar {
  position: fixed;
  right: inherit;
  width: 250px;
  height: 100%;
  top: 0;
  display: flex;
  flex-direction: column;
  transition: width 0.3s;
}
.sidebar,
.sidebar .menu {
  background: #f0f0f0;
}
.sidebar:last-child {
  box-shadow: 8px 0px 7px 1px rgba(0, 0, 0, 0.14);
}
.sidebar > .header {
  background: #f8f8f8;
  border-bottom: 1px solid #d7d7d7;
  height: 46px;
  display: flex;
  align-items: stretch;
  box-sizing: border-box;
  flex: 0 0 46px;
}
.sidebar > .header .button-back {
  border-right: 1px solid #d8d8d8;
  margin: 4px 0;
}
.sidebar > .header .button-back span {
  transform: rotate(90deg);
}
/* Hack to move text next to icon closer to icon when there is a back button */
.sidebar > .header .button-back ~ .icon-button {
  margin-right: -8px;
}
.button-screen {
  font-size: 13px;
}
.button-machines {
  font-size: 13px;
}
.button-edit {
  font-size: 15px;
  top: -1px;
}
.sidebar > .header .title {
  font-size: 13px;
  align-self: center;
}
.sidebar-enter {
  transform: translate3d(-100%, 0px, 0px);
}
.sidebar-enter-active {
  /* Next tick of enter */
  transform: translate3d(0%, 0px, 0px);
  transition: all 0.3s;
}
.sidebar-leave {
  /* First tick of leave */
  transform: translate3d(0%, 0px, 0px);
}
.sidebar-leave-active {
  transition: all 0.1s;
  left: 0;
  transform: translate3d(-100%, 0px, 0px);
}
/* Apply blur */
.sidebar:after {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  transition: all 0.1s;
}
.sidebar.faded:after {
  pointer-events: auto;
}
.sidebar .menu {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.4s;
  opacity: 1;
  flex: 1 1 1px;
  position: relative;
}
.sidebar.sidebar-fullscreen .menu {
  overflow: visible;
}
/* Fade out the text in menus */
.sidebar.faded .menu {
  opacity: 0;
}
.sidebar .options {
  transition: all 0.4s;
  opacity: 1;
  box-sizing: border-box;
  font-size: 12px;
  background: #6e6e6e;
  color: #fff;
  overflow: hidden;
  flex: 0 0 46px;
}
.app-mdc .sidebar.options-open .options {
  flex-basis: 368px;
}
.app-dnc .sidebar.options-open .options {
  flex-basis: 184px;
}
.sidebar.faded .options {
  opacity: 0;
}
.sidebar .options .header {
  border-bottom: 1px solid #808080;
  height: 46px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar .options .header .button {
  font-family: 'icons';
  cursor: pointer;
  font-size: 18px;
  opacity: 0.5;
  transition: opacity 0.2s, transform 0.5s;
  user-select: none;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 16px;
}
.sidebar.options-open .options .header .button:first-child {
  /* Make the little gear spin */
  transform: rotate(180deg);
}
.sidebar .options .header .button:hover {
  opacity: 1;
}
.sidebar.sidebar-fullscreen .options .header .button {
  opacity: 0;
}
.sidebar.sidebar-fullscreen > .header {
  height: 0;
  overflow: hidden;
  flex: 0 0 0;
}
.sidebar:first-child.sidebar-fullscreen .menu {
  height: calc(100% - 48px);
  margin-top: -46px;
}
.sidebar .options .option {
  padding: 0 16px;
  height: 46px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #808080;
  box-sizing: border-box;
}
.sidebar .options .option:last-child {
  border-bottom: none;
}
.sidebar .options .option .title {
  flex: 1 1 50px;
}
.sidebar .options .option .title .category {
  font-size: 9px;
  color: #b2b2b2;
  margin-bottom: 3px;
}
.sidebar .options .option .switch {
  flex: 0 0 60px;
  display: flex;
  justify-content: flex-end;
}
.sidebar .options .option .switch input[type='range'] {
  -webkit-appearance: slider-horizontal;
  width: 100%;
}
.sidebar .options .option .switch select {
  border-radius: 2px;
  background: #c3c3c3;
  height: 24px;
  padding: 0 8px;
  line-height: 140%;
  font-size: 11px;
}
.sidebar.faded:nth-last-child(2):after {
  background: rgba(0, 0, 0, 0.2);
}
.sidebar.faded:nth-last-child(3):after {
  background: rgba(0, 0, 0, 0.4);
}
.sidebar.faded:nth-last-child(4):after {
  background: rgba(0, 0, 0, 0.6);
}
.sidebar.faded:nth-last-child(5):after {
  background: rgba(0, 0, 0, 0.8);
}
.sidebar.faded:nth-last-child(6):after {
  background: #000000;
}
.desktop .sidebar:nth-child(2) {
  left: calc(1 * 46px);
}
.desktop .sidebar:nth-child(3) {
  left: calc(2 * 46px);
}
.desktop .sidebar:nth-child(4) {
  left: calc(3 * 46px);
}
.desktop .sidebar:nth-child(5) {
  left: calc(4 * 46px);
}
.desktop .sidebar:nth-child(6) {
  left: calc(5 * 46px);
}
.desktop .sidebar:nth-child(6) {
  left: calc(6 * 46px);
}
.desktop .sidebar.sidebar-fullscreen {
  left: 0;
}
.sidebar a {
  font-size: 9px;
  padding: 0 16px;
  display: block;
  border-bottom: 1px solid #d1d1d1;
  cursor: pointer;
  font-size: 12px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.desktop .sidebar a {
  height: 38px;
}
.mobile .sidebar a {
  height: 46px;
}
.sidebar a.add {
  justify-content: center;
}
.sidebar a.active {
  background: #fff;
}
.sidebar,
.sidebar a {
  color: #626262;
}
.sidebar-fullscreen {
  width: 100%;
}
/* ##################################### */
/* ############## Colors ############### */
/* ##################################### */
/*.background-live {background-color: #2B3948; }*/
.background-1 {
  background-color: #e60000 !important;
}
.background-2 {
  background-color: #40d100 !important;
}
.background-3 {
  background-color: #0091f6 !important;
}
.background-4 {
  background-color: #ff5e00 !important;
}
.background-5 {
  background-color: #f2c700 !important;
}
.background-6 {
  background-color: #f600f9 !important;
}
.background-7 {
  background-color: #00d8ff !important;
}
.background-8 {
  background-color: #464646 !important;
}
.background-9 {
  background-color: #fdfdfd !important;
}
.background-10 {
  background-color: #bfbebe !important;
}
svg .background-1 {
  fill: #e60000;
}
svg .background-2 {
  fill: #40d100;
}
svg .background-3 {
  fill: #0091f6;
}
svg .background-4 {
  fill: #ff5e00;
}
svg .background-5 {
  fill: #f2c700;
}
svg .background-6 {
  fill: #f600f9;
}
svg .background-7 {
  fill: #00d8ff;
}
svg .background-8 {
  fill: #464646;
}
svg .background-9 {
  fill: #fdfdfd;
}
svg .background-10 {
  fill: #bfbebe;
}
.dark-theme .background-gradient-1 {
  background: linear-gradient(to bottom, rgba(230, 0, 0, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-2 {
  background: linear-gradient(to bottom, rgba(64, 209, 0, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-3 {
  background: linear-gradient(to bottom, rgba(0, 145, 246, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-4 {
  background: linear-gradient(to bottom, rgba(255, 94, 0, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-5 {
  background: linear-gradient(to bottom, rgba(242, 199, 0, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-6 {
  background: linear-gradient(to bottom, rgba(246, 0, 249, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-7 {
  background: linear-gradient(to bottom, rgba(0, 216, 255, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-8 {
  background: linear-gradient(to bottom, rgba(70, 70, 70, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-9 {
  background: linear-gradient(to bottom, rgba(253, 253, 253, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.dark-theme .background-gradient-10 {
  background: linear-gradient(to bottom, rgba(191, 190, 190, 0.1) 0%, rgba(43, 43, 43, 0.1) 30%) !important;
}
.button-indicator-1 {
  border-left-color: #e60000 !important;
}
.button-indicator-2 {
  border-left-color: #40d100 !important;
}
.button-indicator-3 {
  border-left-color: #0091f6 !important;
}
.button-indicator-4 {
  border-left-color: #ff5e00 !important;
}
.button-indicator-5 {
  border-left-color: #f2c700 !important;
}
.button-indicator-6 {
  border-left-color: #f600f9 !important;
}
.button-indicator-7 {
  border-left-color: #00d8ff !important;
}
.button-indicator-8 {
  border-left-color: #464646 !important;
}
.button-indicator-9 {
  border-left-color: #fdfdfd !important;
}
.button-indicator-10 {
  border-left-color: #bfbebe !important;
}
/* ##################################### */
/* ########## Connection Info ########## */
/* ##################################### */
.connection-info {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.connection-info .box {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  opacity: 0.7;
}
.connection-info .box .icon {
  font-size: 100px;
  font-family: 'icons';
  margin-bottom: 20px;
}
.connection-info .box .message {
  font-size: 30px;
  font-family: 'Oswald', sans-serif;
  text-align: center;
}
/* ##################################### */
/* ########### Fancy Toggle ############ */
/* ##################################### */
/* Source: http://www.cssscript.com/ios-7-style-switches-with-pure-css-css3/ */
.fancy-toggle > input,
.fancy-toggle > input:active {
  position: absolute;
  top: -5000px;
  height: 0;
  width: 0;
  opacity: 0;
  border: none;
  outline: none;
}
.fancy-toggle label {
  display: block;
  position: relative;
  padding: 10px;
  font-size: 11px;
  line-height: 19px;
  width: 55px;
  height: 15px;
  /*border-radius*/
  border-radius: 18px;
  background: #8c8c8c;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.1s;
}
.fancy-toggle label:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  line-height: 34px;
  text-indent: 40px;
  height: 22px;
  width: 22px;
  /*border-radius*/
  border-radius: 100%;
  top: -1px;
  left: 0px;
  right: auto;
  background: white;
  /*box-shadow*/
  transition: all 0.1s;
  box-sizing: border-box;
}
.fancy-toggle label:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #868686;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin-bottom: 2px;
  transition: all 0.2s;
}
.fancy-toggle > input:checked + label {
  box-shadow: inset 0 0 0 20px #13bf11;
}
.fancy-toggle > input:checked + label:before {
  left: calc(100% - 21px);
}
.fancy-toggle > input:checked + label:after {
  content: '';
  color: #fff;
}
/* ##################################### */
/* ############### Log In ############## */
/* ##################################### */
.login {
  width: 100%;
  height: calc(100% - 46px);
  background: #f0f0f0;
  box-sizing: border-box;
  margin-top: 46px;
  position: relative;
  overflow-y: auto;
}
.login .login-layer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  position: absolute;
  width: 100%;
  min-height: 100%;
}
.login .login-layer .logos {
  flex: 1 1 153px;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.login .login-layer .logos .logo {
  position: relative;
  flex-direction: row;
  padding: 7px;
  margin: 5px;
  border: 1px solid #e0e0e0;
  width: 196px;
  height: 175px;
  box-sizing: border-box;
  background: #f1f1f1;
}
.login .login-layer .logos .logo:hover {
  background: #ffffff;
}
.login .login-layer .logos .logo img {
  max-width: 109px;
  max-height: 109px;
  display: block;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 35px;
  user-select: none;
}
.login .login-layer .logos .logo img:hover {
  cursor: pointer;
}
.login .login-layer .logos .logo .logo-title {
  position: absolute;
  text-align: center;
  user-select: none;
  bottom: 7px;
  left: 7px;
  width: calc(100% - 14px);
}
.login .login-layer .logos .logo .bottom {
  display: flex;
  user-select: none;
}
.login .login-layer .logos .logo .bottom .name {
  flex: 1 1 1px;
}
.login .login-layer .logos .logo .bottom .name:before {
  font-family: 'icons';
  content: '\e812';
  margin-right: 8px;
}
.login .login-layer .logos .logo .bottom.not-logged-in .name:before {
  opacity: 0.5;
}
.login .login-layer .logos .logo .bottom .logout {
  cursor: pointer;
  flex: 0 0 auto;
  font-family: 'icons';
  color: red;
}
.login .login-layer .logos .logo .add {
  font-family: 'icons';
  cursor: pointer;
  font-size: 70px;
  opacity: 0.5;
  transition: opacity 0.2s, transform 0.5s;
  user-select: none;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login .login-layer .logos .logo .logo-button-container {
  position: absolute;
  right: 7px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
.login .login-layer .logos .logo .logo-button-container .logo-button {
  font-family: 'icons';
  margin-left: 8px;
  color: #000;
  cursor: pointer;
  font-size: 22px;
  opacity: 0.5;
  transition: opacity 0.2s, transform 0.5s;
  user-select: none;
}
.login .login-layer .logos .logo .arrow-button {
  position: absolute;
  user-select: none;
  font-family: 'icons';
  top: 45%;
  cursor: pointer;
}
.login .login-layer .connect {
  border: 1px solid #e0e0e0;
  background: #ffffff;
  padding: 7px;
  width: 275px;
  box-sizing: border-box;
  text-align: center;
  position: relative;
  /* Targets input fields and submit button */
}
.login .login-layer .connect .back-to-select-protocol {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'icons';
  transform: rotate(90deg);
  padding: 10px;
}
.login .login-layer .connect .logo {
  max-height: 110px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.login .login-layer .connect form {
  display: block;
}
.login .login-layer .connect input {
  width: 100%;
  height: 40px;
  font-size: 14px;
  box-sizing: border-box;
  font-size: 15px;
  border-radius: 2px;
}
.login .login-layer .connect .password {
  margin-top: 5px;
}
.login .login-layer .connect .input {
  position: relative;
  /* Targets input fields */
}
.login .login-layer .connect .input input {
  background: #aaa;
  color: #fff;
  font-weight: 300;
  padding-left: 54px;
}
.login .login-layer .connect .input:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 41px;
  height: 100%;
  background: #6e6e6e;
  background: rgba(0, 0, 0, 0.27);
  color: #fff;
  pointer-events: none;
  font-family: 'icons';
  display: flex;
  justify-content: center;
  align-items: center;
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.login .login-layer .connect .input.error input {
  background: #f00;
}
.login .login-layer .connect .username:before {
  content: '\e812';
}
.login .login-layer .connect .password:before {
  content: '\e811';
}
.login .login-layer .connect input::-webkit-input-placeholder {
  color: #e3e3e3;
}
.login .login-layer .connect input::-moz-placeholder {
  color: #e3e3e3;
}
.login .login-layer .connect input:-ms-input-placeholder {
  color: #e3e3e3;
}
.login .login-layer .connect input:-moz-placeholder {
  color: #e3e3e3;
}
.login .login-layer .connect input[type='submit'] {
  border: 1px solid #a7a7a7;
  color: #515151;
  margin-top: 15px;
  text-align: center;
}
.login .login-layer .connect input[type='submit']:active {
  background: #fff;
}
.login .login-layer .connect input[type='button'] {
  border: 1px solid #a7a7a7;
  color: #515151;
  margin-top: 15px;
  text-align: center;
  cursor: pointer;
}
.login .login-layer .connect .login-error {
  margin-top: 5px;
  font-size: 10pt;
  color: #d93025;
}
.login .login-layer .connect input[type='button'].AD-login {
  margin-top: 0;
  background-color: #156295;
  color: #e3e3e3;
}
.login .login-layer .connect input[type='button'].AD-login-error {
  margin-top: 0;
  background-color: #f00;
  color: #e3e3e3;
}
.login .login-layer .connect .login-separator {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0;
}
.login .login-layer .connect .login-separator .login-text {
  font-size: 11px;
  color: #909090;
  position: relative;
}
.login .login-layer .connect .login-separator .login-text::before,
.login .login-layer .connect .login-separator .login-text::after {
  content: "";
  position: absolute;
  height: 1px;
  background-color: #d3d3d3;
  top: 50%;
  width: 70px;
}
.login .login-layer .connect .login-separator .login-text::before {
  left: -80px;
}
.login .login-layer .connect .login-separator .login-text::after {
  right: -80px;
}
.login .login-layer.login-effect-enter {
  opacity: 0;
}
.login .login-layer.login-effect-enter.login-effect-enter-active {
  transition: opacity 0.3s;
  opacity: 1;
}
.login .login-layer.login-effect-exit {
  opacity: 1;
}
.login .login-layer.login-effect-exit.login-effect-exit-active {
  transition: opacity 0.3s;
  opacity: 0;
}
/**/
.sidebar .options.login-footer {
  display: flex;
  align-items: center;
}
.sidebar .options.login-footer .settings {
  font-family: 'icons';
  cursor: pointer;
  font-size: 18px;
  opacity: 0.5;
  transition: opacity 0.2s, transform 0.5s;
  user-select: none;
  display: flex;
  align-items: center;
  padding: 0 0 0 16px;
}
.sidebar .options.login-footer .footer-text {
  flex: 1 1 200px;
  margin-left: 15px;
  color: #ccc;
}
.sidebar .options.login-footer img {
  width: 96px;
  height: 25px;
  flex: 0 0 96px;
  margin-right: 15px;
}
/* ##################################### */
/* ######## Slideshow configure ######## */
/* ##################################### */
.bright-theme .slideshow-configure .screen-selector {
  background: #e2e2e2;
}
.dark-theme .slideshow-configure .screen-selector {
  background: #272727;
}
.slideshow-configure .screen {
  padding: 6px;
  display: flex;
  align-items: center;
  height: 38px;
  font-size: 12px;
  box-sizing: border-box;
}
.bright-theme .slideshow-configure .screen {
  background: #f3f3f3;
}
.dark-theme .slideshow-configure .screen {
  background: #6d6d6d;
}
.slideshow-configure .screen input {
  display: none;
}
.slideshow-configure .screen:not(:first-child) {
  margin-top: 1px;
}
.slideshow-configure .screen.selected {
  background: #169af6;
  color: #fff;
}
.slideshow-configure .screen span {
  margin: 0 6px;
  user-select: none;
}
.slideshow-configure .screen input {
  margin: 0 6px;
}
/* ##################################### */
/* ########## Slideshow Menu ########### */
/* ##################################### */
.slideshow-menu {
  position: fixed;
  display: flex;
  justify-content: center;
  width: 100%;
  top: 0;
  left: 0;
}
.slideshow-menu .inside {
  /*background: rgba(0, 0, 0, 0.5);*/
  display: flex;
  align-items: stretch;
  top: 0;
  left: 0;
  max-width: 100%;
  height: 46px;
  box-sizing: border-box;
  justify-content: stretch;
  position: relative;
  opacity: 0.99;
}
.desktop .slideshow-menu .inside {
  width: 360px;
}
.mobile .slideshow-menu .inside {
  width: 100%;
}
.slideshow-menu .inside:after {
  content: '';
  position: absolute;
  top: 0;
  height: 100%;
  z-index: -1;
}
.desktop .slideshow-menu .inside:after {
  left: -46px;
  right: -46px;
  border-right: 46px solid transparent;
  border-top: 46px solid rgba(0, 0, 0, 0.7);
  border-left: 46px solid transparent;
}
.mobile .slideshow-menu .inside:after {
  width: 100%;
  height: 46px;
  background: rgba(0, 0, 0, 0.7);
}
.slideshow-menu .inside > * {
  display: flex;
  align-items: center;
  justify-content: center;
}
.slideshow-menu .inside .status {
  flex-grow: 1;
}
.slideshow-menu .inside .button {
  height: 46px;
  width: 46px;
  cursor: pointer;
  flex-grow: 0;
  user-select: none;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 17px;
}
.slideshow-menu .inside .button.flipped {
  transform: rotate(180deg);
}
.slideshow-menu .inside .button.disabled {
  opacity: 0.6;
}
/* ##################################### */
/* ############ Modal Form ############# */
/* ##################################### */
.modal-form {
  overflow: hidden;
}
.bright-theme .modal-form {
  color: #343434;
}
.dark-theme .modal-form {
  color: #fff;
}
.modal-form .field {
  margin: 20px 10px;
}
.bright-theme .modal-form .field {
  background: #ffffff;
}
.dark-theme .modal-form .field {
  background: #6d6d6d;
}
.modal-form .field .header {
  padding: 8px 13px;
  font-size: 12px;
  position: relative;
  user-select: none;
}
.bright-theme .modal-form .field .header {
  background: #f5f4f4;
  border-bottom: 1px solid #cccccc;
}
.dark-theme .modal-form .field .header {
  background: #494949;
  border-bottom: 1px solid #272727;
  color: #b2b2b2;
}
.modal-form .field .header .switch {
  position: absolute;
  right: 5px;
  top: 5px;
}
.modal-form .field select {
  width: 100%;
  border: 0;
  margin: 0;
  padding: 8px 13px;
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'Open sans';
  font-weight: 300;
  height: 40px;
  line-height: 130%;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.bright-theme .modal-form .field select {
  background-color: #fff;
}
.dark-theme .modal-form .field select {
  background-color: #6d6d6d;
  color: #fff;
}
.modal-form .field > input {
  width: 100%;
  border: 0;
  margin: 0;
  padding: 8px 13px;
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'Open sans';
  font-weight: 300;
}
.bright-theme .modal-form .field > input {
  color: #000;
}
.dark-theme .modal-form .field > input {
  color: #fff;
}
.modal-form .field textarea {
  width: 100%;
  border: 0;
  margin: 0;
  padding: 8px 13px;
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'Open sans';
  font-weight: 300;
  height: 165px;
  line-height: 150%;
}
.dark-theme .modal-form .field textarea {
  color: #fff;
}
.modal-form .field .multi-input-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'icons';
}
.modal-form .field .multi-input-wrapper > input {
  width: 85%;
  border: 0;
  margin: 0;
  padding: 8px 13px;
  font-size: 16px;
  box-sizing: border-box;
  font-family: 'Open sans';
  font-weight: 300;
}
.bright-theme .modal-form .field .multi-input-wrapper > input {
  color: #000;
}
.dark-theme .modal-form .field .multi-input-wrapper > input {
  color: #fff;
}
.modal-form .field .multi-input-wrapper > select {
  width: 10%;
  margin: 0;
  padding: 8px 13px;
  box-sizing: border-box;
  font-family: 'Open sans';
  font-weight: 300;
}
.bright-theme .modal-form .field .multi-input-wrapper > select {
  color: #000;
  border-left: 1px solid #cccccc;
}
.dark-theme .modal-form .field .multi-input-wrapper > select {
  color: #fff;
  border-left: 1px solid #272727;
}
.modal-form .field .select-container {
  position: relative;
}
.modal-form .field .select-container:after {
  font-family: 'icons';
  font-size: 9px;
  content: '\e806';
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bright-theme .modal-form .field .select-container:after {
  border-left: 1px solid #dddddd;
}
.dark-theme .modal-form .field .select-container:after {
  border-left: 1px solid #272727;
  color: #cecece;
}
.modal-form .field .logo-selector-container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: left;
}
.bright-theme .modal-form .field .logo-selector-container {
  background-color: #e0e0e0;
}
.modal-form .field .logo-selector-container .logo-option {
  width: 120px;
  height: 100px;
  padding: 1px;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-collapse: collapse;
  position: relative;
}
.bright-theme .modal-form .field .logo-selector-container .logo-option {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
}
.dark-theme .modal-form .field .logo-selector-container .logo-option {
  background-color: #f1f1f1;
  border: 1px solid #272727;
}
.modal-form .field .logo-selector-container .logo-option .logo {
  max-width: 100%;
  max-height: 100%;
}
.modal-form .field .logo-selector-container .logo-close {
  position: absolute;
  top: 2px;
  right: 2px;
  padding: 6px;
  font-size: 10px;
  width: 10px;
  /* Adjust to the size you want */
  height: 10px;
  border-radius: 50%;
  /* Makes it a circle */
  background-color: #00000033;
  /* Or any color you want */
  color: #ffffff;
  /* Color of the 'x' */
  text-align: center;
  line-height: 11px;
  /* Vertically center the 'x' */
  cursor: pointer;
  /* To indicate it's clickable */
  display: none;
  /* By default, don't show it */
  font-family: 'icons';
}
.modal-form .field .logo-selector-container .logo-close:hover {
  background-color: #00000055;
  /* Or any color you want */
}
.modal-form .field .logo-selector-container .logo-option:hover .logo-close,
.modal-form .field .logo-selector-container .logo-option.selected .logo-close {
  display: block;
  /* Show it on hover or when selected */
}
.modal-form .field .logo-selector-container .add-logo {
  cursor: pointer;
  width: 120px;
  height: 100px;
  display: flex;
  padding: 1px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.bright-theme .modal-form .field .logo-selector-container .add-logo {
  background-color: #f1f1f1;
  border: 1px solid #e0e0e0;
}
.dark-theme .modal-form .field .logo-selector-container .add-logo {
  background-color: #a0a0a0;
  border: 1px solid #272727;
}
.modal-form .field .logo-selector-container .add-logo:hover {
  background-color: #ffffff;
}
.modal-form .field .logo-selector-container .upload {
  font-family: 'icons';
  cursor: pointer;
  color: #272727;
  font-size: 50px;
  opacity: 0.5;
  transition: opacity 0.2s, transform 0.5s;
  user-select: none;
  text-align: center;
}
.modal-form .preview-field {
  margin: 20px 10px;
  display: flex;
  justify-content: center;
}
.modal-form .preview-field .logo-preview {
  position: relative;
  flex-direction: row;
  padding: 7px;
  margin: 19px;
  border: 1px solid #e0e0e0;
  width: 196px;
  height: 175px;
  box-sizing: border-box;
  background: #f1f1f1;
}
.modal-form .preview-field .logo-preview:hover {
  background: #ffffff;
}
.modal-form .preview-field .logo-preview img {
  max-width: 109px;
  max-height: 109px;
  display: block;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 35px;
}
.modal-form .preview-field .logo-preview img:hover {
  cursor: pointer;
}
.modal-form .preview-field .logo-preview .logo-title {
  position: absolute;
  text-align: center;
  bottom: 7px;
  left: 7px;
  width: calc(100% - 14px);
  color: #626262;
}
/* ##################################### */
/* ######### Operator Screens ########## */
/* ##################################### */
/* Layout */
.operator-screen {
  width: 100%;
  /* iOS */
}
.operator-screen .body {
  margin: 0 auto;
}
.operator-screen.with-status .body {
  height: calc(100% - 84px);
}
.fullscreen .operator-screen.with-status .body {
  height: calc(100% - 130px);
}
.operator-screen.without-status .body {
  height: 100%;
}
.operator-screen .body .column-wrapper {
  height: 100%;
  padding: 0px 5px;
  box-sizing: border-box;
}
.operator-screen .button-column,
.operator-screen .info-and-input-column {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 57px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.desktop .operator-screen .column-wrapper {
  display: flex;
  justify-content: center;
}
.mobile .operator-screen .column-wrapper {
  display: block;
  max-height: 100%;
  margin: 0;
  padding: 0;
}
.desktop .operator-screen .button-column,
.desktop .operator-screen .info-and-input-column {
  padding: 10px 5px;
  max-width: min(500px, 50%);
}
/* ############## Buttons ############## */
.operator-screen .button-column .button {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  display: block;
  border: 0;
  border-radius: 2px;
  border-left: 8px solid transparent;
  font-size: 18px;
  padding: 0 20px;
  white-space: pre;
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
  overflow: hidden;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 57px;
  flex-basis: 57px;
  /* Safari compatibility */
  max-height: 68px;
  min-width: 200px;
  max-width: 500px;
}
.dark-theme .operator-screen .button-column .button {
  background: #616161;
  box-shadow: 0px 0px 0px 1px black;
  color: #dcdbdb;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.6);
}
.bright-theme .operator-screen .button-column .button {
  background: #f7f8f8;
  box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1);
  color: #4d4d4d;
  text-shadow: none;
}
.desktop .operator-screen .button-column .button {
  margin-top: 5px;
}
.mobile .operator-screen .button-column .button {
  margin-top: 3px;
}
.operator-screen .button-column .button .button-text {
  position: absolute;
  display: flex;
  max-width: 100%;
  min-width: 0px;
  align-items: center;
  height: 100%;
}
.operator-screen .button-column .button:before {
  content: '';
  width: 1px;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
}
.dark-theme .operator-screen .button-column .button:before {
  background-color: rgba(0, 0, 0, 0.2);
}
.bright-theme .operator-screen .button-column .button:before {
  background-color: rgba(0, 0, 0, 0.1);
}
.desktop .operator-screen .button-column .button:first-child {
  margin-top: 0;
}
.dark-theme .operator-screen .button-column .button.big {
  background: #a2a2a2;
  color: #fff;
}
.bright-theme .operator-screen .button-column .button.big {
  background: #fff;
  color: #4d4d4d;
}
.operator-screen .button-column .button.big:after {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  content: '\e804';
  font-size: 32px;
  color: #d4d4d4;
  height: 100%;
  top: 0;
  right: 0;
  position: absolute;
  padding-right: 20px;
  text-shadow: none;
  display: flex;
  align-items: center;
}
.operator-screen .button-column .button.fill {
  color: #fff;
}
.operator-screen .button-column .button.background-9 {
  color: #373737;
  text-shadow: none;
}
/* Active */
.dark-theme .operator-screen .button-column .button:active {
  color: #fff;
  background: #838383;
}
.bright-theme .operator-screen .button-column .button:active {
  color: #4d4d4d;
  background: #ffffff;
}
/* Big button */
.dark-theme .operator-screen .button-column .button.big:active {
  background: #b9b9b9;
  box-shadow: none;
}
.bright-theme .operator-screen .button-column .button.big:active {
  background: #fff;
  box-shadow: 0px 0px 0px 1px #848484;
}
/* Filled with specific color */
.operator-screen .button-column .button.fill:active {
  box-shadow: 0 0 0 1px #fff;
}
/* Disabled */
.operator-screen .button-column .button.disabled,
.operator-screen .button-column .button.disabled:active {
  box-shadow: none !important;
  text-shadow: none !important;
  border-left-color: transparent !important;
}
.dark-theme .operator-screen .button-column .button.disabled,
.dark-theme .operator-screen .button-column .button.disabled:active {
  background: #383838 !important;
  color: #585858 !important;
}
.bright-theme .operator-screen .button-column .button.disabled,
.bright-theme .operator-screen .button-column .button.disabled:active {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #b7b7b7 !important;
}
.operator-screen .button-column .button.disabled:after {
  display: none;
}
/* State */
.operator-screen .state {
  font-family: 'Oswald', sans-serif;
  font-size: 41px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: bold;
  position: relative;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.6);
  white-space: pre;
  text-overflow: clip;
  transition: font-size 0.1s;
  opacity: 0.99;
  /* Prevent h1 from showing up in modal dialogs */
}
.operator-screen .state h1 {
  z-index: 1;
}
.operator-screen .state.background-9 {
  color: #373737;
  text-shadow: none;
}
.operator-screen .state:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.1s;
}
.flash .operator-screen .state.flash:after {
  background-color: rgba(0, 0, 0, 0.2);
}
/* State: Arrows */
.operator-screen .state .left,
.operator-screen .state .right {
  position: absolute;
  width: 15%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  top: 0;
}
.operator-screen .state .left,
.operator-screen .state .left:before {
  left: 0;
}
.operator-screen .state .right,
.operator-screen .state .right:before {
  right: 0;
}
.operator-screen .state .left:after {
  right: -25px;
}
.operator-screen .state .right:after {
  left: -25px;
}
.operator-screen .state .left:after,
.operator-screen .state .left:before,
.operator-screen .state .right:after,
.operator-screen .state .right:before {
  content: '';
  position: absolute;
  border-style: solid;
  width: 0;
  height: 0;
}
.operator-screen .state .left:after,
.operator-screen .state .left:before {
  border-width: 42px 0 42px 25px;
  border-color: transparent transparent transparent rgba(0, 0, 0, 0.1);
}
.operator-screen .state .right:after,
.operator-screen .state .right:before {
  border-width: 42px 25px 42px 0;
  border-color: transparent rgba(0, 0, 0, 0.1) transparent transparent;
}
/* State full screen */
.fullscreen .operator-screen .state {
  height: calc(84px + 46px);
  font-size: 60px;
  letter-spacing: 4px;
}
.fullscreen .operator-screen .state .left:after,
.fullscreen .operator-screen .state .left:before {
  border-width: 65px 0 65px 25px;
}
.fullscreen .operator-screen .state .right:after,
.fullscreen .operator-screen .state .right:before {
  border-width: 65px 25px 65px 0;
}
/* Column */
.operator-screen .column {
  padding: 0 15px;
  margin-top: 1px;
  flex: 0 0 57px;
  height: 57px;
  /* Center text inside */
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dark-theme .operator-screen .column {
  background: #454545;
}
.bright-theme .operator-screen .column {
  background: rgba(255, 255, 255, 0.3);
}
.operator-screen .column.first {
  border-radius: 2px 2px 0 0;
}
.desktop .operator-screen .column.first {
  margin-top: 0;
}
.mobile .operator-screen .column.first {
  margin-top: 3px;
}
.operator-screen .column.last {
  border-radius: 0 0 2px 2px;
}
.operator-screen .column h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 12px;
  margin-top: 2px;
  /* To move it closer to the middle */
}
.dark-theme .operator-screen .column h3 {
  color: #bababa;
}
.bright-theme .operator-screen .column h3 {
  color: #666;
}
.operator-screen .column input {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  margin-top: -2px;
  font-size: 20px;
  line-height: 130%;
  /* It clips in Firefox without it */
}
.dark-theme .operator-screen .column input {
  color: #dcdbdb;
}
.bright-theme .operator-screen .column input {
  color: #323232;
}
/* Input field */
.operator-screen .input {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 56px;
  /* Safari compatibility */
  min-height: 57px;
  max-height: 68px;
  display: flex;
  align-items: stretch;
  position: relative;
}
.operator-screen .input.disabled:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.dark-theme .operator-screen .input.disabled:after {
  background: rgba(20, 20, 20, 0.6);
}
.bright-theme .operator-screen .input.disabled:after {
  background: rgba(208, 208, 208, 0.6);
}
.bright-theme .operator-screen .input {
  box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1);
}
.bright-theme .operator-screen .input.disabled {
  box-shadow: none;
}
.desktop .operator-screen .input {
  margin-top: 5px;
}
.mobile .operator-screen .input {
  margin-top: 3px;
}
.operator-screen .input > * {
  /* Center text inside */
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.operator-screen .input .title-and-input {
  flex: 1 1 100px;
  display: flex;
  flex-direction: column;
  align-content: stretch;
}
.dark-theme .operator-screen .input .title-and-input {
  background: #616161;
}
.bright-theme .operator-screen .input .title-and-input {
  background: #f3f3f3;
}
.operator-screen .input .title-and-input h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 12px;
  padding: 0 15px;
  flex: 4;
  /* Move text to bottom */
  display: flex;
  align-items: center;
}
.dark-theme .operator-screen .input .title-and-input h3 {
  color: #d4d4d4;
}
.bright-theme .operator-screen .input .title-and-input h3 {
  color: #323232;
}
.operator-screen .input .title-and-input input {
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  font-weight: 600;
  border-style: solid;
  border-top-width: 1px;
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-indent: 25px;
  flex: 6;
}
.dark-theme .operator-screen .input .title-and-input input {
  background: #838383;
  color: #eaeaea;
  border-color: #909090;
}
.bright-theme .operator-screen .input .title-and-input input {
  background: #fefefe;
  color: #4d4d4d;
  border-color: #ebeaeb;
}
.operator-screen .input .title-and-input input::-webkit-outer-spin-button,
.operator-screen .input .title-and-input input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.operator-screen .input .title-and-input input::-ms-clear {
  display: none;
}
.operator-screen .input .button {
  margin-left: 1px;
  border: 0;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 26px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  width: 46px;
  text-align: center;
}
.dark-theme .operator-screen .input .button {
  background: #616161;
  color: #dcdbdb;
}
.bright-theme .operator-screen .input .button {
  background: #f3f3f3;
  color: #777;
}
.dark-theme .operator-screen .input .button:active {
  background: #838383;
  color: #dcdbdb;
}
.bright-theme .operator-screen .input .button:active {
  background: #fff;
  color: #484848;
}
/* ############## Backdate ############# */
.table {
  display: table;
  width: 100%;
}
.table .row {
  font-size: 12px;
  display: table-row;
}
.bright-theme .table .row {
  background: #e8e8e8;
}
.dark-theme .table .row {
  background: #313131;
}
.table .row:not(:first-child):hover,
.table .row.selected {
  cursor: pointer;
}
.dark-theme .table .row:not(:first-child):hover,
.dark-theme .table .row.selected {
  background: #3e3e3e;
}
.bright-theme .table .row:not(:first-child):hover,
.bright-theme .table .row.selected {
  background: #f5f5f5;
}
.dark-theme .table .row.header {
  background: #3a3a3a;
}
.bright-theme .table .row.header {
  background: #f1f1f1;
}
.table .row .cell {
  padding: 12px 10px;
}
.table .row.header .cell {
  padding: 7px 10px;
}
.table .row .cell {
  display: table-cell;
  white-space: pre;
}
.bright-theme .table .row .cell {
  border-bottom: 1px solid #d7d7d7;
}
.dark-theme .table .row .cell {
  border-bottom: 1px solid #2b2b2b;
}
.modal .custom-input {
  background: #2aacea;
  margin-bottom: 5px;
  box-sizing: border-box;
  padding: 1px;
  font-family: 'Open sans';
}
.modal .custom-input,
.modal .custom-input input {
  font-weight: 300;
}
.modal .custom-input .header {
  height: 22px;
  font-size: 12px;
  display: flex;
  align-items: center;
  padding-left: 10px;
}
.modal .custom-input input {
  height: 43px;
  width: 100%;
  box-sizing: border-box;
  background: #d0edfb;
  padding-left: 10px;
  line-height: 150%;
  font-size: 16px;
  color: #01303f;
}
/* ##################################### */
/* ########### Live Screens ############ */
/* ##################################### */
.live-screen {
  /* Overview */
}
.desktop .live-screen {
  opacity: 0.99;
  position: auto;
  padding-top: calc(46px + 20px);
}
.desktop .fullscreen .live-screen {
  padding-top: 20px;
}
.live-screen .align_left {
  text-align: left;
  justify-content: flex-start;
}
.live-screen .align_center {
  text-align: center;
  justify-content: center;
}
.live-screen .align_right {
  text-align: right;
  justify-content: flex-end;
}
.live-screen .machines {
  transform-origin: 0 0;
  box-sizing: border-box;
}
.browser-not-ie .live-screen .machines {
  display: grid;
}
.live-screen .machines .machine {
  min-width: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 2px;
  position: relative;
  transition: opacity 0.3s;
  background: #505050;
  /* Animating machines in and out */
}
.live-screen .machines .machine.machine-enter {
  opacity: 0;
}
.live-screen .machines .machine.machine-enter-active {
  opacity: 1;
}
.live-screen .machines .machine.machine-exit {
  opacity: 1;
}
.live-screen .machines .machine.machine-exit-active {
  opacity: 0;
}
.live-screen .machines .machine.background-9 {
  color: #373737;
}
.dark-theme .live-screen .machines .machine {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.bright-theme .live-screen .machines .machine {
  box-shadow: none;
}
.desktop .live-screen .machines .machine {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.live-screen .machines .machine:after {
  pointer-events: none;
  content: ' ';
  position: absolute;
  top: -1px;
  /* Because of border-top */
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.1s;
  background: rgba(0, 0, 0, 0);
}
.flash .live-screen .machines .machine.flash:after {
  background: rgba(0, 0, 0, 0.2);
}
.live-screen .machines .machine .indicators {
  position: absolute;
  top: -1px;
  display: flex;
  background: rgba(0, 0, 0, 0.05);
}
.desktop .live-screen .machines .machine .indicators {
  right: 10px;
}
.mobile .live-screen .machines .machine .indicators {
  left: 0;
  right: 0;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  display: flex;
}
.live-screen .machines .machine .indicators .indicator {
  width: 87px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: 0;
  /* When the background is white, the text has to be dark */
}
.mobile .live-screen .machines .machine .indicators .indicator {
  flex: 1;
}
.live-screen .machines .machine .indicators .indicator div {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  position: relative;
}
.desktop .live-screen .machines .machine .indicators .indicator div {
  padding-bottom: 1px;
  height: 16px;
  font-size: 10px;
}
.mobile .live-screen .machines .machine .indicators .indicator div {
  height: 19px;
  font-size: 11px;
}
.live-screen .machines .machine .indicators .indicator div:after {
  pointer-events: none;
  content: ' ';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.1s;
  background: rgba(0, 0, 0, 0);
}
.flash .live-screen .machines .machine .indicators .indicator div.flash:after {
  background: rgba(0, 0, 0, 0.2);
}
.live-screen .machines .machine .indicators .indicator.inactive div {
  opacity: 0.3;
}
.live-screen .machines .machine .indicators .indicator.active div.background-9 {
  color: #000;
}
.mobile .live-screen .machines .machine .indicators .indicator:first-child {
  border-left: 0;
}
.mobile .live-screen .machines .machine .indicators .indicator:first-child div {
  border-top-left-radius: 2px;
}
.mobile .live-screen .machines .machine .indicators .indicator:last-child {
  border-right: 0;
}
.mobile .live-screen .machines .machine .indicators .indicator:last-child div {
  border-top-right-radius: 2px;
}
.live-screen .machines .machine .indicators .indicator:not(:first-child) {
  border-left: 0;
}
.live-screen .machines .machine .row {
  display: flex;
}
.mobile .live-screen .machines .machine .row {
  flex-wrap: wrap;
}
.live-screen .machines .machine .row .cell {
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}
.mobile .live-screen .machines .machine .row .cell {
  min-width: 50%;
  flex-basis: 50%;
  text-align: left;
  /* Override any custom alignment */
  justify-content: flex-start;
}
.mobile .live-screen .machines .machine .row.header {
  padding: 3px;
  margin-top: 21px;
  /* Make room for indicators */
}
.live-screen .machines .machine .row.header .cell {
  padding-top: 23px;
  padding-bottom: 8px;
  /* Hide title on header row */
}
.mobile .live-screen .machines .machine .row.header .cell {
  padding: 7px;
}
.desktop .live-screen .machines .machine .row.header .cell:first-child {
  padding-left: 10px;
}
.desktop .live-screen .machines .machine .row.header .cell:last-child {
  padding-right: 10px;
}
.live-screen .machines .machine .row.header .cell .title {
  font-family: 'Open Sans', sans-serif;
}
.desktop .live-screen .machines .machine .row.header .cell .title {
  display: none;
}
.mobile .live-screen .machines .machine .row.header .cell .title {
  font-size: 11px;
}
.live-screen .machines .machine .row.header .cell .value {
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
}
.desktop .live-screen .machines .machine .row.header .cell .value {
  letter-spacing: 0px;
  font-size: 30px;
  font-weight: 300;
  text-transform: uppercase;
}
.mobile .live-screen .machines .machine .row.header .cell .value {
  font-size: 21px;
  font-weight: normal;
  margin-top: 2px;
}
.desktop .live-screen .machines .machine .row.detail {
  padding-left: 10px;
  padding-right: 10px;
  background: rgba(0, 0, 0, 0.1);
  margin-bottom: 1px;
}
.desktop .live-screen .machines .machine .row.detail:last-child {
  margin-bottom: 0;
}
.mobile .live-screen .machines .machine .row.detail {
  display: block;
  flex-direction: column;
}
.live-screen .machines .machine .row.detail .cell {
  /* Make space between title and value */
}
.desktop .live-screen .machines .machine .row.detail .cell {
  font-family: 'Open Sans', sans-serif;
  display: flex;
  align-items: center;
  height: 19px;
}
.mobile .live-screen .machines .machine .row.detail .cell {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 10px;
  padding-right: 10px;
  background: rgba(0, 0, 0, 0.1);
  font-size: 20px;
  margin-top: 1px;
  display: flex;
  align-items: center;
}
.live-screen .machines .machine .row.detail .cell .title {
  padding-right: 3px;
}
.live-screen .machines .machine .row.detail .cell .title,
.live-screen .machines .machine .row.detail .cell .value {
  display: inline;
  font-size: 11px;
  opacity: 0.9;
}
.live-screen .machines .machine .row.detail:last-child {
  border-bottom: none;
}
.desktop .live-screen .machines .machine .expand {
  display: none;
}
.mobile .live-screen .machines .machine .expand {
  height: 39px;
  background: rgba(0, 0, 0, 0.2);
  font-family: 'icons';
  font-size: 24px;
  opacity: 0.5;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile .live-screen .machines .machine .detail-container {
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.3s;
  -moz-transition: max-height 0.3s;
  transition: max-height 0.3s;
}
.mobile .live-screen .overview {
  float: right;
  width: 30px;
  margin: 0 7px;
  position: fixed;
  right: 0;
  top: 46px;
}
.desktop .live-screen .overview {
  height: 30px;
  margin: 7px;
  display: flex;
  overflow: hidden;
}
.mobile .fullscreen .live-screen .overview {
  top: 0;
}
.live-screen .overview .machine-snippet {
  border-radius: 1px;
  background: #505050;
  display: flex;
  align-items: center;
  justify-content: center;
}
.live-screen .overview .machine-snippet.background-9 {
  color: #373737;
}
.dark-theme .live-screen .overview .machine-snippet {
  border-bottom: 1px solid transparent;
}
.bright-theme .live-screen .overview .machine-snippet {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.mobile .live-screen .overview .machine-snippet {
  padding: 5px 2px;
  margin-top: 7px;
}
.desktop .live-screen .overview .machine-snippet {
  padding: 2px 5px;
  margin-right: 7px;
  flex: 0 0 auto;
}
.live-screen .overview .machine-snippet.active {
  cursor: pointer;
}
.mobile .live-screen .overview .machine-snippet.active {
  padding: 10px 2px;
}
.desktop .live-screen .overview .machine-snippet.active {
  padding: 2px 10px;
}
.live-screen .overview .machine-snippet div {
  white-space: nowrap;
  font-size: 10px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.mobile .live-screen .overview .machine-snippet div {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  max-width: 20px;
  /* Twice font-size */
  display: inline-block;
}
.desktop .live-screen .overview .machine-snippet div {
  max-height: 20px;
  /* Twice font-size */
  display: inline-block;
}
/* Headers displayed outside of live-screen element */
.live-screen-headers {
  width: 100%;
  display: flex;
  align-items: stretch;
  padding: 2px 8px;
  box-sizing: border-box;
  position: fixed;
  top: 46px;
}
.live-screen-headers .align_left {
  text-align: left;
  justify-content: flex-start;
}
.live-screen-headers .align_center {
  text-align: center;
  justify-content: center;
}
.live-screen-headers .align_right {
  text-align: right;
  justify-content: flex-end;
}
.bright-theme .live-screen-headers {
  color: #424242;
  background: #e6e6e6;
  border-bottom: 1px solid #c6c6c6;
}
.dark-theme .live-screen-headers {
  color: rgba(255, 255, 255, 0.5);
  background: #3a3a3a;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.mobile .live-screen-headers {
  display: none;
}
.with-popup .live-screen-headers {
  position: absolute;
}
.fullscreen .live-screen-headers {
  top: 0;
}
.live-screen-headers div {
  font-size: 11px;
  font-family: 'Open Sans', sans-serif;
  padding: 2px 0;
  white-space: pre;
  overflow: hidden;
  box-sizing: border-box;
}
.live-screen-headers div:first-child {
  padding-left: 10px;
}
.live-screen-headers div:last-child {
  padding-right: 10px;
  border-right: none;
}
svg {
  overflow: hidden;
}
.dashboard {
  color: red;
}
.bright-theme .dashboard {
  color: #646464;
}
.dark-theme .dashboard {
  color: #ececec;
}
.dashboard .widget-row {
  display: flex;
  justify-content: stretch;
}
.desktop .dashboard .widget-row {
  margin: 0 4px 4px 4px;
}
.mobile .dashboard .widget-row {
  margin-bottom: 2px;
}
.desktop .dashboard .widget-row:first-child {
  margin-top: 4px;
}
.mobile .dashboard .widget-row:first-child {
  margin-top: 2px;
}
.dashboard .widget-row .widget-column {
  display: flex;
}
.dashboard .widget-row .widget-column-1 {
  min-width: 25%;
  flex: 1 1 25%;
}
.dashboard .widget-row .widget-column-2 {
  min-width: 50%;
  flex: 1 1 50%;
}
.dashboard .widget-row .widget-column-4 {
  min-width: 100%;
  flex: 1 1 100%;
}
.desktop .dashboard .widget-row .widget-column:not(:last-child) .widget {
  margin-right: 4px;
}
.mobile .dashboard .widget-row .widget-column:not(:last-child) .widget {
  margin-right: 2px;
}
.dashboard .widget {
  border-radius: 1px;
  display: flex;
  flex-direction: column;
  flex: 1 1 90%;
}
.bright-theme .dashboard .widget {
  background: #fdfdfd;
}
.dark-theme .dashboard .widget {
  background: #494949;
}
.dashboard .widget > h3 {
  font-family: 'Open Sans';
  font-size: 12px;
  padding: 8px;
  line-height: 100%;
  padding-bottom: 0;
  color: #909090;
}
.mobile .dashboard .widget > h3 {
  text-align: center;
}
/* ===== Header Widget ===== */
.dashboard .widget-header {
  padding: 10px;
  background: #fdfdfd;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  font-size: 14px;
}
.bright-theme .dashboard .widget-header {
  color: #403f3f;
}
.dark-theme .dashboard .widget-header {
  color: #ececec;
}
.dashboard .widget-row + .widget-row .widget-header {
  margin-top: 10px;
}
/* ===== Gauge Widget ===== */
.dashboard .widget-gauge {
  box-sizing: border-box;
}
.dashboard .widget-gauge svg {
  max-width: 150px;
  padding: 15px 8px 17px 8px;
  align-self: center;
}
.dashboard .widget-gauge svg .target {
  stroke-width: 2;
}
.bright-theme .dashboard .widget-gauge svg .target {
  stroke: #686868;
}
.dark-theme .dashboard .widget-gauge svg .target {
  stroke: #ececec;
}
.bright-theme .dashboard .widget-gauge svg {
  fill: #686868;
}
.dark-theme .dashboard .widget-gauge svg {
  fill: #ececec;
}
.bright-theme .dashboard .widget-gauge svg .placeholder {
  fill: #d3d2d2;
}
.dark-theme .dashboard .widget-gauge svg .placeholder {
  fill: #3c3c3c;
}
.dashboard .widget-gauge svg .graph.good {
  fill: #279e17;
}
.dashboard .widget-gauge svg .graph.expected {
  fill: #e8c53a;
}
.bright-theme .dashboard .widget-gauge svg .graph.bad {
  fill: #de0000;
}
.dark-theme .dashboard .widget-gauge svg .graph.bad {
  fill: #c11010;
}
.dashboard .widget-gauge svg .value {
  text-anchor: middle;
  dominant-baseline: central;
  font-size: 40px;
  font-weight: 300;
}
.dashboard .widget-gauge svg .sub-title {
  text-anchor: middle;
  dominant-baseline: central;
  font-size: 12px;
}
/* ===== Value Widget ===== */
.dashboard .widget.widget-value,
.dashboard .widget.widget-value > h3 {
  color: #ffffff;
}
.dashboard .widget.widget-value h3 {
  background: rgba(0, 0, 0, 0.2);
  padding-bottom: 8px;
  text-align: left;
  line-height: 14px;
}
.dashboard .widget.widget-value .body {
  height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dashboard .widget.widget-value .body .value {
  font-weight: 300;
  text-align: center;
}
.desktop .dashboard .widget.widget-value .body .value {
  font-size: 59px;
}
.mobile .dashboard .widget.widget-value .body .value {
  font-size: 42px;
}
.dashboard .widget.widget-value .body .sub-title {
  font-weight: 300;
  text-align: center;
}
.desktop .dashboard .widget.widget-value .body .sub-title {
  font-size: 17px;
}
.mobile .dashboard .widget.widget-value .body .sub-title {
  font-size: 14px;
  padding-bottom: 2px;
}
.dashboard .widget.widget-value.good {
  background: #279e17;
}
.bright-theme .dashboard .widget.widget-value.bad {
  background: #de0000;
}
.dark-theme .dashboard .widget.widget-value.bad {
  background: #c11010;
}
.bright-theme .dashboard .widget.widget-value.expected {
  background: #727272;
}
.dark-theme .dashboard .widget.widget-value.expected {
  background: #484848;
}
/* ===== Timeline Widget ===== */
.dashboard .widget-timeline {
  background: #fff;
  width: 100%;
  padding: 10px 10px 10px 10px;
  user-select: none;
}
.dashboard .widget-timeline .machine-title {
  font-family: 'Open Sans';
  font-size: 14px;
  line-height: 100%;
  color: #b2b2b2;
  margin-right: 10px;
}
.dashboard .widget-timeline .graph-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.dashboard .widget-timeline .graph {
  height: 40px;
  display: flex;
  position: relative;
  width: 100%;
  touch-action: none;
}
.dashboard .widget-timeline .canvas {
  position: relative;
  touch-action: none;
  border-radius: 5px;
}
.dashboard .widget-timeline .graph .loading-container {
  position: absolute;
  width: 100%;
  height: 40px;
  overflow: hidden;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dashboard .widget-timeline .graph .loading-text {
  font-family: 'Open Sans';
  font-size: 16px;
  color: #a6a6a6;
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.dashboard .widget-timeline .graph .loading-indicator {
  width: 200px;
  height: 100%;
  background: linear-gradient(90deg, transparent 33%, #575757 66%, transparent);
  position: absolute;
  left: 0;
  top: 0;
  animation: moveIndicator 2s linear infinite;
}
@keyframes moveIndicator {
  0% {
    left: -200px;
    opacity: 0%;
  }
  50% {
    left: -200px;
  }
  100% {
    left: calc(100%);
  }
}
.dashboard .widget-timeline .graph .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 5px;
}
.dashboard .widget-timeline .graph .date-container {
  width: 100%;
  height: calc(50% + 1px);
  display: flex;
}
.dashboard .widget-timeline .graph .hour-container {
  width: 100%;
  height: calc(50% - 1px);
  display: flex;
}
.dashboard .widget-timeline .graph .overlay .ruler {
  position: relative;
  width: 1px;
}
.dashboard .widget-timeline .graph .overlay .ruler .label {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  height: 100%;
  width: 50px;
  left: -25px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  justify-content: center;
}
.dashboard .widget-timeline .graph .overlay .date-ruler .label {
  left: 5px;
  justify-content: left;
}
.dashboard .widget-timeline .graph .overlay .ruler:before,
.dashboard .widget-timeline .graph .overlay .ruler:after {
  content: '';
  position: absolute;
  height: 20%;
  left: 50%;
  border-right: 1px solid rgba(255, 255, 255, 0.6);
}
.dashboard .widget-timeline .graph .overlay .date-ruler:before,
.dashboard .widget-timeline .graph .overlay .date-ruler:after {
  content: '';
  position: absolute;
  height: 50%;
  left: 50%;
  border-right: 1px solid rgba(255, 255, 255, 0.6);
}
.dashboard .widget-timeline .graph .overlay .ruler:before {
  top: 0;
}
.dashboard .widget-timeline .graph .overlay .ruler:after {
  bottom: 0;
}
.dashboard .widget-timeline .graph .bar {
  position: relative;
  transition: transform 0.2s;
  transform: scale(1, 1.2);
  animation: growY 0.2s forwards;
  border-radius: 3px;
  border: 0;
  -webkit-backface-visibility: hidden;
}
.dashboard .widget-timeline .graph .bar:after {
  content: '';
  position: absolute;
  height: 50%;
  width: 100%;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  box-sizing: border-box;
  transition: margin 0.2s, bottom 0.2s, height 0.2s;
}
.dashboard .widget-timeline .graph > .hover-segment-container {
  position: absolute;
  height: 40px;
  display: flex;
}
.dashboard .widget-timeline .graph > .magnifier .magnifier {
  display: none;
}
.dashboard .widget-timeline .graph > .magnifier .lens {
  position: absolute;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  margin-top: -22px;
  border: 2px solid #fff;
  overflow: hidden;
  border-radius: 5px;
}
.bright-theme .dashboard .widget-timeline .graph > .magnifier .lens {
  background: #727272;
}
.dark-theme .dashboard .widget-timeline .graph > .magnifier .lens {
  background: #484848;
}
.dashboard .widget-timeline .graph > .magnifier .lens:after {
  content: '';
  border-right: 1px solid #fff;
  height: 100%;
  left: calc(50%);
  top: 0;
  position: absolute;
}
.dashboard .widget-timeline .graph > .hover-info {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: fit-content;
  width: fit-content;
  min-width: 200px;
  background: #fff;
  box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.4);
  border-radius: 3px;
  z-index: 1;
  padding: 5px 10px;
  color: #000;
  transition: margin 0.2s;
}
.dashboard .widget-timeline .graph > .hover-info table {
  width: 100%;
}
.dashboard .widget-timeline .graph > .hover-info table td {
  font-size: 12px;
  height: 23px;
}
.dashboard .widget-timeline .graph > .hover-info table td:first-child {
  text-align: left;
}
.dashboard .widget-timeline .graph > .hover-info table td:nth-child(2) {
  text-align: right;
}
.dashboard .widget-timeline .graph > .hover-info table .status-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
}
.dashboard .widget-timeline .graph > .hover-info table .status-cell .status-color {
  min-width: 10px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  border: 1px solid gray;
  margin-left: 5px;
}
.dashboard .widget-timeline .graph > .info-arrow {
  position: absolute;
  background: #fff;
  z-index: 1;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  transition: margin 0.2s;
}
.dashboard .timeline-legend {
  display: flex;
  flex-direction: column;
}
.dashboard .timeline-legend .legend-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.dashboard .timeline-legend .legend-container .legend-item {
  padding: 8px 2px;
  display: flex;
  align-items: center;
}
.dashboard .timeline-legend .legend-container .legend-color {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  margin-right: 10px;
}
.dashboard .timeline-legend .legend-container .legend-label {
  font-size: 11px;
  white-space: nowrap;
}
/* ===== Table Widget ===== */
.dashboard .widget-table {
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
}
.dashboard .widget-table .headers {
  display: flex;
  margin-top: 6px;
}
.bright-theme .dashboard .widget-table .headers {
  border-bottom: 1px solid #b9b9b9;
  background: #fdfdfd;
}
.dark-theme .dashboard .widget-table .headers {
  border-bottom: 1px solid #848484;
}
.dashboard .widget-table .headers > * {
  flex: 1 1 1px;
  height: 26px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.dashboard .widget-table .headers,
.dashboard .widget-table .rows {
  font-size: 11px;
}
.desktop .dashboard .widget-table .rows {
  margin-bottom: 10px;
}
.desktop .dashboard .widget-table .headers,
.desktop .dashboard .widget-table .rows {
  margin-left: 20px;
  margin-right: 20px;
}
.mobile .dashboard .widget-table .rows {
  margin-bottom: 15px;
}
.mobile .dashboard .widget-table .headers,
.mobile .dashboard .widget-table .rows {
  margin-left: 15px;
  margin-right: 15px;
}
.dashboard .widget-table .rows .row {
  display: flex;
}
.bright-theme .dashboard .widget-table .rows .row {
  border-bottom: 1px solid #eaeaea;
}
.dark-theme .dashboard .widget-table .rows .row {
  border-bottom: 1px solid #575757;
}
.dashboard .widget-table .rows .row:last-child {
  border-bottom: none;
}
.bright-theme .dashboard .widget-table .rows .row:hover {
  background: #f5f5f5;
}
.dark-theme .dashboard .widget-table .rows .row:hover {
  background: #545454;
}
.dashboard .widget-table .rows .row > * {
  flex: 1 1 1px;
  height: 26px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
/* ===== Pie Widget ===== */
.dashboard .widget-pie {
  box-sizing: border-box;
}
.dashboard .widget-pie .graph-and-legend {
  display: flex;
  align-items: flex-start;
}
.desktop .dashboard .widget-pie .graph-and-legend {
  padding: 17px 20px;
}
.mobile .dashboard .widget-pie .graph-and-legend {
  padding: 17px 15px;
}
.desktop .dashboard .widget-pie .graph-and-legend svg {
  width: 150px;
  flex: 0 1 150px;
}
.mobile .dashboard .widget-pie .graph-and-legend svg {
  width: 130px;
  flex: 0 1 130px;
}
.desktop .dashboard .widget-pie .graph-and-legend svg {
  padding-right: 20px;
}
.mobile .dashboard .widget-pie .graph-and-legend svg {
  padding-right: 15px;
}
.dashboard .widget-pie .graph-and-legend svg .slice {
  opacity: 1;
  transition: opacity 200ms;
}
.dashboard .widget-pie .graph-and-legend svg .blur {
  opacity: 0.2;
}
.dashboard .widget-pie .graph-and-legend svg .slice-text {
  text-anchor: middle;
  dominant-baseline: central;
  font-size: 14px;
  pointer-events: none;
  fill: #ffffff;
}
.bright-theme .dashboard .widget-pie .graph-and-legend svg .has-glow {
  filter: url(#blur-filter);
  fill: rgba(255, 255, 255, 0.35);
  pointer-events: none;
}
.dark-theme .dashboard .widget-pie .graph-and-legend svg .has-glow {
  display: none;
}
.dashboard .widget-pie .graph-and-legend .legend {
  width: 100px;
  flex: 1 1 100px;
}
.dashboard .widget-pie .graph-and-legend .legend .entry {
  font-size: 11px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 5px 0;
}
.bright-theme .dashboard .widget-pie .graph-and-legend .legend .entry {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.dark-theme .dashboard .widget-pie .graph-and-legend .legend .entry {
  border-bottom: 1px solid #575757;
}
.dashboard .widget-pie .graph-and-legend .legend .entry > * {
  pointer-events: none;
}
.bright-theme .dashboard .widget-pie .graph-and-legend .legend .entry.focused {
  background: #f5f5f5;
}
.dark-theme .dashboard .widget-pie .graph-and-legend .legend .entry.focused {
  background: #545454;
}
.dashboard .widget-pie .graph-and-legend .legend .entry .indicator {
  border-radius: 4px;
  height: 8px;
  width: 8px;
  margin-right: 7px;
  flex: 0 0 8px;
}
.dashboard .widget-pie .graph-and-legend .legend .entry .label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 130%;
}
.dashboard .widget-pie .graph-and-legend .legend .entry .value,
.dashboard .widget-pie .graph-and-legend .legend .entry .percentage {
  width: 50px;
  flex: 0 0 50px;
  white-space: nowrap;
  text-align: right;
}
.dashboard .widget-pie .graph-and-legend .legend .entry .percentage {
  width: 30px;
  flex: 0 0 30px;
}
.mobile .dashboard .widget-pie .graph-and-legend .legend .entry .percentage {
  display: none;
}
.dashboard .widget-pie .graph-and-legend .legend .entry .progress {
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 1px;
}
.bright-theme .dashboard .widget-pie .graph-and-legend .legend .entry .progress {
  background: rgba(0, 0, 0, 0.2);
}
.dark-theme .dashboard .widget-pie .graph-and-legend .legend .entry .progress {
  background: #757575;
}
/* Tooltip */
.dashboard .widget .tooltip {
  position: absolute;
  pointer-events: none;
  color: #000;
}
.dashboard .widget .tooltip .inner {
  position: relative;
  left: -50%;
  bottom: calc(23px + 12px);
  white-space: nowrap;
  padding: 0 17px;
  background: #fff;
  border-radius: 1px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.dashboard .widget .tooltip .inner:after {
  content: '';
  position: absolute;
  top: calc(100% - 4px);
  left: calc(50% - 8px);
  z-index: 1;
  background: #fff;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.15);
}
.dashboard .widget .tooltip .inner .text {
  font-size: 12px;
  height: 23px;
  display: flex;
  align-items: center;
  z-index: 2;
}
/* ===== Bar Widget ===== */
.dashboard .widget-bar svg {
  height: 160px;
  width: 100%;
}
.bright-theme .dashboard .widget-bar svg {
  fill: #000;
}
.dark-theme .dashboard .widget-bar svg {
  fill: #ececec;
}
.desktop .dashboard .widget-bar .svg-wrap {
  margin: 0 20px 8px 20px;
}
.mobile .dashboard .widget-bar .svg-wrap {
  margin: 0 15px 8px 15px;
}
.dashboard .widget-bar svg .bar {
  transition: opacity 200ms;
}
.dark-theme .dashboard .widget-bar svg .target {
  fill: rgba(255, 255, 255, 0.04);
}
.bright-theme .dashboard .widget-bar svg .target {
  fill: rgba(0, 0, 0, 0.04);
}
.dark-theme .dashboard .widget-bar svg .target-stroke {
  stroke: rgba(255, 255, 255, 0.09);
  stroke-width: 1px;
}
.bright-theme .dashboard .widget-bar svg .target-stroke {
  /*stroke: rgba(0, 0, 0, 0.09);*/
  /*stroke-width: 1px;*/
}
.dashboard .widget-bar svg .bar.good {
  fill: url(#bar-gradient-good);
}
.dashboard .widget-bar svg .bar.bad {
  fill: url(#bar-gradient-bad);
}
.dashboard .widget-bar svg .bar.expected {
  fill: url(#bar-gradient-expected);
}
.dashboard .widget-bar svg .bar.blur {
  opacity: 0.2;
}
.dashboard .widget-bar svg .x-label {
  text-anchor: end;
  dominant-baseline: central;
  font-size: 10px;
  pointer-events: none;
}
.dashboard .widget-bar svg .y-label {
  text-anchor: end;
  dominant-baseline: central;
  font-size: 10px;
  pointer-events: none;
}
.dashboard .widget-bar svg .y-ruler {
  stroke-width: 1;
}
.bright-theme .dashboard .widget-bar svg .y-ruler {
  stroke: #ececec;
}
.dark-theme .dashboard .widget-bar svg .y-ruler {
  stroke: #575757;
}
.dashboard .widget-bar h3 {
  margin-bottom: 10px;
}
/* Table definition for machines and the headers above */
.desktop .machine-list .groups {
  padding: 0 5px 5px 5px;
}
.desktop .machine-list .groups .group {
  padding-top: 5px;
}
.mobile .machine-list .groups .group {
  padding-top: 2px;
}
.machine-list .groups .group .heading {
  font-size: 14px;
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.dark-theme .machine-list .groups .group .heading {
  background: #494949;
}
.bright-theme .machine-list .groups .group .heading {
  background: #f7f7f7;
  color: #393939;
}
.desktop .machine-list .groups .group .heading {
  border-radius: 2px 2px 0 0;
  height: 37px;
}
.mobile .machine-list .groups .group .heading {
  height: 51px;
}
.machine-list .groups .group .heading .title {
  flex: 1 1 100px;
}
.machine-list .groups .group .heading .expander {
  flex: 0 0 40px;
  text-align: center;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 10px;
}
.machine-list .groups .group .heading .expander div {
  transition: transform 200ms;
}
.machine-list .groups .group .heading .visibility-toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-list .groups .group .heading .visibility-toggle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .heading .visibility-toggle {
  flex: 0 0 50px;
  font-size: 16px;
}
.machine-list .groups .group .heading .visibility-toggle:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .machine-list .groups .group .heading .visibility-toggle:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .machine-list .groups .group .heading .visibility-toggle:before {
  background: rgba(0, 0, 0, 0.15);
}
.desktop .machine-list .groups .group .heading .visibility-toggle {
  font-size: 18px;
}
.machine-list .groups .group .heading .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-list .groups .group .heading .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .heading .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .machine-list .groups .group .heading .drag-handle {
  font-size: 18px;
}
.machine-list .groups .group .heading .sort-button {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-list .groups .group .heading .sort-button {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .heading .sort-button {
  flex: 0 0 50px;
  font-size: 16px;
}
.machine-list .groups .group .heading .sort-button:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .machine-list .groups .group .heading .sort-button:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .machine-list .groups .group .heading .sort-button:before {
  background: rgba(0, 0, 0, 0.15);
}
.machine-list .groups .group .body .machines .machine {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .machine-list .groups .group .body .machines .machine {
  height: 37px;
}
.mobile .machine-list .groups .group .body .machines .machine {
  height: 51px;
}
.mobile .machine-list .groups .group .body .machines .machine:first-child {
  border-top-width: 1px;
}
.bright-theme .machine-list .groups .group .body .machines .machine {
  color: #393939;
  border-color: transparent;
}
.dark-theme .machine-list .groups .group .body .machines .machine {
  border-color: #2b2b2b;
}
.machine-list .groups .group .body .machines .machine:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .machine-list .groups .group .body .machines .machine:before {
  background: #313131;
}
.bright-theme .machine-list .groups .group .body .machines .machine:before {
  background: #f1f1f1;
}
.machine-list .groups .group .body .machines .machine.selected:before,
.machine-list .groups .group .body .machines .machine:hover:before {
  transition: background 0s;
}
.dark-theme .machine-list .groups .group .body .machines .machine.selected:before,
.dark-theme .machine-list .groups .group .body .machines .machine:hover:before {
  background: #3e3e3e;
}
.bright-theme .machine-list .groups .group .body .machines .machine.selected:before,
.bright-theme .machine-list .groups .group .body .machines .machine:hover:before {
  background: #f7f7f7;
}
.machine-list .groups .group .body .machines .machine > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .machine-list .groups .group .body .machines .machine > .icon {
  font-size: 14px;
}
.mobile .machine-list .groups .group .body .machines .machine > .icon {
  font-size: 16px;
}
.machine-list .groups .group .body .machines .machine > .icon.muted {
  opacity: 0.5;
}
.machine-list .groups .group .body .machines .machine > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .body .machines .machine > .title:first-child {
  padding-left: 11px;
}
.machine-list .groups .group .body .machines .machine > .status {
  flex: 1 1 80px;
}
.edit-mode .machine-list .groups .group .body .machines .machine > .status {
  visibility: hidden;
}
.machine-list .groups .group .body .machines .machine > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.machine-list .groups .group .body .machines .machine > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .body .machines .machine > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.machine-list .groups .group .body .machines .machine > .time {
  flex: 1 1 50px;
}
.edit-mode .machine-list .groups .group .body .machines .machine > .time {
  visibility: hidden;
}
.machine-list .groups .group .body .machines .machine > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .machine-list .groups .group .body .machines .machine > .file {
  visibility: hidden;
}
.machine-list .groups .group .body .machines .machine > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.machine-list .groups .group .body .machines .machine > .file-time * {
  text-align: right;
}
.machine-list .groups .group .body .machines .machine > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .body .machines .machine > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .machine-list .groups .group .body .machines .machine > .file-time {
  visibility: hidden;
}
.machine-list .groups .group .body .machines .machine:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  pointer-events: none;
  content: '';
  display: block;
}
.machine-list .groups .group .body .machines .machine.status-offline:after,
.machine-list .groups .group .body .machines .machine.recent-error:after {
  background-color: red;
}
.machine-list .groups .group .body .machines .machine.status-disabled:after,
.machine-list .groups .group .body .machines .machine.status-stopped:after {
  background-color: #efa127;
}
.dark-theme .machine-list .groups .group .body .machines .machine.status-stopped .cell,
.dark-theme .machine-list .groups .group .body .machines .machine.status-disabled .cell {
  opacity: 0.3;
}
.bright-theme .machine-list .groups .group .body .machines .machine.status-stopped .cell,
.bright-theme .machine-list .groups .group .body .machines .machine.status-disabled .cell {
  opacity: 0.5;
}
.machine-list .groups .group .body .machines .machine .visibility-toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-list .groups .group .body .machines .machine .visibility-toggle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .body .machines .machine .visibility-toggle {
  flex: 0 0 50px;
  font-size: 16px;
}
.machine-list .groups .group .body .machines .machine .visibility-toggle:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .machine-list .groups .group .body .machines .machine .visibility-toggle:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .machine-list .groups .group .body .machines .machine .visibility-toggle:before {
  background: rgba(0, 0, 0, 0.15);
}
.desktop .machine-list .groups .group .body .machines .machine .visibility-toggle {
  font-size: 18px;
}
.machine-list .groups .group .body .machines .machine .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-list .groups .group .body .machines .machine .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .body .machines .machine .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .machine-list .groups .group .body .machines .machine .drag-handle {
  font-size: 18px;
}
.edit-mode .machine-list .groups .group .body .machines .machine .progress {
  display: none;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  transition: width 100ms;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine.status-send {
  color: #fff;
}
.dark-theme.not-edit-mode .machine-list .groups .group .body .machines .machine.status-send:before {
  background-color: #0b4961;
}
.bright-theme.not-edit-mode .machine-list .groups .group .body .machines .machine.status-send:before {
  background-color: #0a8bbb;
}
.dark-theme.not-edit-mode .machine-list .groups .group .body .machines .machine.status-send .progress {
  background-color: #00b2fa;
}
.bright-theme.not-edit-mode .machine-list .groups .group .body .machines .machine.status-send .progress {
  background-color: #00b8f5;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine.status-receive {
  color: #fff;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine.status-receive .progress {
  background-color: #00c909;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine.status-error {
  color: #fff;
}
.not-edit-mode .machine-list .groups .group .body .machines .machine.status-error .progress {
  background-color: red;
}
.machine-list .groups .group .body .machines .machine .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.machine-list .groups .group .body .machines .machine .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .machine-list .groups .group .body .machines .machine .controls .button {
  background: #9a9a9a;
}
.bright-theme .machine-list .groups .group .body .machines .machine .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .machine-list .groups .group .body .machines .machine .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .machine-list .groups .group .body .machines .machine .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .machine-list .groups .group .body .machines .machine .controls .button.stop,
.dark-theme .machine-list .groups .group .body .machines .machine .controls .button.restart,
.dark-theme .machine-list .groups .group .body .machines .machine .controls .button.disable {
  background: #db0000;
}
.bright-theme .machine-list .groups .group .body .machines .machine .controls .button.stop,
.bright-theme .machine-list .groups .group .body .machines .machine .controls .button.restart,
.bright-theme .machine-list .groups .group .body .machines .machine .controls .button.disable {
  background: #f70010;
}
.machine-list .groups .group .body .machines .machine .controls .button.start,
.machine-list .groups .group .body .machines .machine .controls .button.enable {
  background: #33b600;
}
.machine-list .groups .group .body .machines .machine .controls .button.send {
  background-color: #00b2fa;
}
.machine-list .groups .group .body .machines .machine .controls .button.receive {
  background-color: #00c909;
}
.machine-list .groups .group .body .machines .machine .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.machine-list .groups .group .body .machines .machine .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.machine-list .groups .group .body .machines .machine .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .machine-list .groups .group .body .machines .machine .controls {
  display: none;
}
.machine-list .groups .group .body .machines .machine.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.machine-list .groups .group .body .machines .machine.selected .controls .button {
  pointer-events: auto;
}
.machine-list .groups .group.collapsed .heading .expander div {
  transform: rotate(180deg);
}
.machine-list .groups .group.collapsed .body {
  display: none;
}
.machine-list .groups .group .titles {
  display: flex;
  flex-direction: row;
  font-size: 10px;
  align-items: center;
  height: 17px;
}
.machine-list .groups .group .titles > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .machine-list .groups .group .titles > .icon {
  font-size: 14px;
}
.mobile .machine-list .groups .group .titles > .icon {
  font-size: 16px;
}
.machine-list .groups .group .titles > .icon.muted {
  opacity: 0.5;
}
.machine-list .groups .group .titles > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .titles > .title:first-child {
  padding-left: 11px;
}
.machine-list .groups .group .titles > .status {
  flex: 1 1 80px;
}
.edit-mode .machine-list .groups .group .titles > .status {
  visibility: hidden;
}
.machine-list .groups .group .titles > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.machine-list .groups .group .titles > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .titles > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.machine-list .groups .group .titles > .time {
  flex: 1 1 50px;
}
.edit-mode .machine-list .groups .group .titles > .time {
  visibility: hidden;
}
.machine-list .groups .group .titles > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .machine-list .groups .group .titles > .file {
  visibility: hidden;
}
.machine-list .groups .group .titles > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.machine-list .groups .group .titles > .file-time * {
  text-align: right;
}
.machine-list .groups .group .titles > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-list .groups .group .titles > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .machine-list .groups .group .titles > .file-time {
  visibility: hidden;
}
.mobile .machine-list .groups .group .titles .file {
  text-align: right;
  padding-right: 11px;
}
.dark-theme .machine-list .groups .group .titles {
  background: #313131;
  color: #929292;
  border: 1px solid #2b2b2b;
}
.bright-theme .machine-list .groups .group .titles {
  background: #f1f1f1;
  color: #929292;
  border: 0;
  margin: 1px 0;
}
.desktop .dragged-group {
  padding-top: 5px;
}
.mobile .dragged-group {
  padding-top: 2px;
}
.dragged-group .heading {
  font-size: 14px;
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.dark-theme .dragged-group .heading {
  background: #494949;
}
.bright-theme .dragged-group .heading {
  background: #f7f7f7;
  color: #393939;
}
.desktop .dragged-group .heading {
  border-radius: 2px 2px 0 0;
  height: 37px;
}
.mobile .dragged-group .heading {
  height: 51px;
}
.dragged-group .heading .title {
  flex: 1 1 100px;
}
.dragged-group .heading .expander {
  flex: 0 0 40px;
  text-align: center;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 10px;
}
.dragged-group .heading .expander div {
  transition: transform 200ms;
}
.dragged-group .heading .visibility-toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-group .heading .visibility-toggle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-group .heading .visibility-toggle {
  flex: 0 0 50px;
  font-size: 16px;
}
.dragged-group .heading .visibility-toggle:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .dragged-group .heading .visibility-toggle:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .dragged-group .heading .visibility-toggle:before {
  background: rgba(0, 0, 0, 0.15);
}
.desktop .dragged-group .heading .visibility-toggle {
  font-size: 18px;
}
.dragged-group .heading .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-group .heading .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-group .heading .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .dragged-group .heading .drag-handle {
  font-size: 18px;
}
.dragged-group .heading .sort-button {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-group .heading .sort-button {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-group .heading .sort-button {
  flex: 0 0 50px;
  font-size: 16px;
}
.dragged-group .heading .sort-button:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .dragged-group .heading .sort-button:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .dragged-group .heading .sort-button:before {
  background: rgba(0, 0, 0, 0.15);
}
.dragged-group .body .machines .machine {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .dragged-group .body .machines .machine {
  height: 37px;
}
.mobile .dragged-group .body .machines .machine {
  height: 51px;
}
.mobile .dragged-group .body .machines .machine:first-child {
  border-top-width: 1px;
}
.bright-theme .dragged-group .body .machines .machine {
  color: #393939;
  border-color: transparent;
}
.dark-theme .dragged-group .body .machines .machine {
  border-color: #2b2b2b;
}
.dragged-group .body .machines .machine:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .dragged-group .body .machines .machine:before {
  background: #313131;
}
.bright-theme .dragged-group .body .machines .machine:before {
  background: #f1f1f1;
}
.dragged-group .body .machines .machine.selected:before,
.dragged-group .body .machines .machine:hover:before {
  transition: background 0s;
}
.dark-theme .dragged-group .body .machines .machine.selected:before,
.dark-theme .dragged-group .body .machines .machine:hover:before {
  background: #3e3e3e;
}
.bright-theme .dragged-group .body .machines .machine.selected:before,
.bright-theme .dragged-group .body .machines .machine:hover:before {
  background: #f7f7f7;
}
.dragged-group .body .machines .machine > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .dragged-group .body .machines .machine > .icon {
  font-size: 14px;
}
.mobile .dragged-group .body .machines .machine > .icon {
  font-size: 16px;
}
.dragged-group .body .machines .machine > .icon.muted {
  opacity: 0.5;
}
.dragged-group .body .machines .machine > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .body .machines .machine > .title:first-child {
  padding-left: 11px;
}
.dragged-group .body .machines .machine > .status {
  flex: 1 1 80px;
}
.edit-mode .dragged-group .body .machines .machine > .status {
  visibility: hidden;
}
.dragged-group .body .machines .machine > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.dragged-group .body .machines .machine > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .body .machines .machine > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.dragged-group .body .machines .machine > .time {
  flex: 1 1 50px;
}
.edit-mode .dragged-group .body .machines .machine > .time {
  visibility: hidden;
}
.dragged-group .body .machines .machine > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .dragged-group .body .machines .machine > .file {
  visibility: hidden;
}
.dragged-group .body .machines .machine > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.dragged-group .body .machines .machine > .file-time * {
  text-align: right;
}
.dragged-group .body .machines .machine > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .body .machines .machine > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .dragged-group .body .machines .machine > .file-time {
  visibility: hidden;
}
.dragged-group .body .machines .machine:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  pointer-events: none;
  content: '';
  display: block;
}
.dragged-group .body .machines .machine.status-offline:after,
.dragged-group .body .machines .machine.recent-error:after {
  background-color: red;
}
.dragged-group .body .machines .machine.status-disabled:after,
.dragged-group .body .machines .machine.status-stopped:after {
  background-color: #efa127;
}
.dark-theme .dragged-group .body .machines .machine.status-stopped .cell,
.dark-theme .dragged-group .body .machines .machine.status-disabled .cell {
  opacity: 0.3;
}
.bright-theme .dragged-group .body .machines .machine.status-stopped .cell,
.bright-theme .dragged-group .body .machines .machine.status-disabled .cell {
  opacity: 0.5;
}
.dragged-group .body .machines .machine .visibility-toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-group .body .machines .machine .visibility-toggle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-group .body .machines .machine .visibility-toggle {
  flex: 0 0 50px;
  font-size: 16px;
}
.dragged-group .body .machines .machine .visibility-toggle:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .dragged-group .body .machines .machine .visibility-toggle:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .dragged-group .body .machines .machine .visibility-toggle:before {
  background: rgba(0, 0, 0, 0.15);
}
.desktop .dragged-group .body .machines .machine .visibility-toggle {
  font-size: 18px;
}
.dragged-group .body .machines .machine .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-group .body .machines .machine .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-group .body .machines .machine .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .dragged-group .body .machines .machine .drag-handle {
  font-size: 18px;
}
.edit-mode .dragged-group .body .machines .machine .progress {
  display: none;
}
.not-edit-mode .dragged-group .body .machines .machine .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  transition: width 100ms;
}
.not-edit-mode .dragged-group .body .machines .machine.status-send {
  color: #fff;
}
.dark-theme.not-edit-mode .dragged-group .body .machines .machine.status-send:before {
  background-color: #0b4961;
}
.bright-theme.not-edit-mode .dragged-group .body .machines .machine.status-send:before {
  background-color: #0a8bbb;
}
.dark-theme.not-edit-mode .dragged-group .body .machines .machine.status-send .progress {
  background-color: #00b2fa;
}
.bright-theme.not-edit-mode .dragged-group .body .machines .machine.status-send .progress {
  background-color: #00b8f5;
}
.not-edit-mode .dragged-group .body .machines .machine.status-receive {
  color: #fff;
}
.not-edit-mode .dragged-group .body .machines .machine.status-receive .progress {
  background-color: #00c909;
}
.not-edit-mode .dragged-group .body .machines .machine.status-error {
  color: #fff;
}
.not-edit-mode .dragged-group .body .machines .machine.status-error .progress {
  background-color: red;
}
.dragged-group .body .machines .machine .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.dragged-group .body .machines .machine .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .dragged-group .body .machines .machine .controls .button {
  background: #9a9a9a;
}
.bright-theme .dragged-group .body .machines .machine .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .dragged-group .body .machines .machine .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .dragged-group .body .machines .machine .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .dragged-group .body .machines .machine .controls .button.stop,
.dark-theme .dragged-group .body .machines .machine .controls .button.restart,
.dark-theme .dragged-group .body .machines .machine .controls .button.disable {
  background: #db0000;
}
.bright-theme .dragged-group .body .machines .machine .controls .button.stop,
.bright-theme .dragged-group .body .machines .machine .controls .button.restart,
.bright-theme .dragged-group .body .machines .machine .controls .button.disable {
  background: #f70010;
}
.dragged-group .body .machines .machine .controls .button.start,
.dragged-group .body .machines .machine .controls .button.enable {
  background: #33b600;
}
.dragged-group .body .machines .machine .controls .button.send {
  background-color: #00b2fa;
}
.dragged-group .body .machines .machine .controls .button.receive {
  background-color: #00c909;
}
.dragged-group .body .machines .machine .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.dragged-group .body .machines .machine .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.dragged-group .body .machines .machine .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .dragged-group .body .machines .machine .controls {
  display: none;
}
.dragged-group .body .machines .machine.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.dragged-group .body .machines .machine.selected .controls .button {
  pointer-events: auto;
}
.dragged-group.collapsed .heading .expander div {
  transform: rotate(180deg);
}
.dragged-group.collapsed .body {
  display: none;
}
.dragged-group .titles {
  display: flex;
  flex-direction: row;
  font-size: 10px;
  align-items: center;
  height: 17px;
}
.dragged-group .titles > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .dragged-group .titles > .icon {
  font-size: 14px;
}
.mobile .dragged-group .titles > .icon {
  font-size: 16px;
}
.dragged-group .titles > .icon.muted {
  opacity: 0.5;
}
.dragged-group .titles > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .titles > .title:first-child {
  padding-left: 11px;
}
.dragged-group .titles > .status {
  flex: 1 1 80px;
}
.edit-mode .dragged-group .titles > .status {
  visibility: hidden;
}
.dragged-group .titles > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.dragged-group .titles > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .titles > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.dragged-group .titles > .time {
  flex: 1 1 50px;
}
.edit-mode .dragged-group .titles > .time {
  visibility: hidden;
}
.dragged-group .titles > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .dragged-group .titles > .file {
  visibility: hidden;
}
.dragged-group .titles > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.dragged-group .titles > .file-time * {
  text-align: right;
}
.dragged-group .titles > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-group .titles > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .dragged-group .titles > .file-time {
  visibility: hidden;
}
.mobile .dragged-group .titles .file {
  text-align: right;
  padding-right: 11px;
}
.dark-theme .dragged-group .titles {
  background: #313131;
  color: #929292;
  border: 1px solid #2b2b2b;
}
.bright-theme .dragged-group .titles {
  background: #f1f1f1;
  color: #929292;
  border: 0;
  margin: 1px 0;
}
.dragged-machine {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .dragged-machine {
  height: 37px;
}
.mobile .dragged-machine {
  height: 51px;
}
.mobile .dragged-machine:first-child {
  border-top-width: 1px;
}
.bright-theme .dragged-machine {
  color: #393939;
  border-color: transparent;
}
.dark-theme .dragged-machine {
  border-color: #2b2b2b;
}
.dragged-machine:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .dragged-machine:before {
  background: #313131;
}
.bright-theme .dragged-machine:before {
  background: #f1f1f1;
}
.dragged-machine.selected:before,
.dragged-machine:hover:before {
  transition: background 0s;
}
.dark-theme .dragged-machine.selected:before,
.dark-theme .dragged-machine:hover:before {
  background: #3e3e3e;
}
.bright-theme .dragged-machine.selected:before,
.bright-theme .dragged-machine:hover:before {
  background: #f7f7f7;
}
.dragged-machine > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .dragged-machine > .icon {
  font-size: 14px;
}
.mobile .dragged-machine > .icon {
  font-size: 16px;
}
.dragged-machine > .icon.muted {
  opacity: 0.5;
}
.dragged-machine > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-machine > .title:first-child {
  padding-left: 11px;
}
.dragged-machine > .status {
  flex: 1 1 80px;
}
.edit-mode .dragged-machine > .status {
  visibility: hidden;
}
.dragged-machine > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.dragged-machine > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-machine > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.dragged-machine > .time {
  flex: 1 1 50px;
}
.edit-mode .dragged-machine > .time {
  visibility: hidden;
}
.dragged-machine > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .dragged-machine > .file {
  visibility: hidden;
}
.dragged-machine > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.dragged-machine > .file-time * {
  text-align: right;
}
.dragged-machine > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.dragged-machine > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .dragged-machine > .file-time {
  visibility: hidden;
}
.dragged-machine:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  pointer-events: none;
  content: '';
  display: block;
}
.dragged-machine.status-offline:after,
.dragged-machine.recent-error:after {
  background-color: red;
}
.dragged-machine.status-disabled:after,
.dragged-machine.status-stopped:after {
  background-color: #efa127;
}
.dark-theme .dragged-machine.status-stopped .cell,
.dark-theme .dragged-machine.status-disabled .cell {
  opacity: 0.3;
}
.bright-theme .dragged-machine.status-stopped .cell,
.bright-theme .dragged-machine.status-disabled .cell {
  opacity: 0.5;
}
.dragged-machine .visibility-toggle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-machine .visibility-toggle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-machine .visibility-toggle {
  flex: 0 0 50px;
  font-size: 16px;
}
.dragged-machine .visibility-toggle:before {
  content: '';
  top: 4px;
  bottom: 4px;
  width: 1px;
  right: 0;
  position: absolute;
}
.dark-theme .dragged-machine .visibility-toggle:before {
  background: rgba(255, 255, 255, 0.15);
}
.bright-theme .dragged-machine .visibility-toggle:before {
  background: rgba(0, 0, 0, 0.15);
}
.desktop .dragged-machine .visibility-toggle {
  font-size: 18px;
}
.dragged-machine .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .dragged-machine .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .dragged-machine .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .dragged-machine .drag-handle {
  font-size: 18px;
}
.edit-mode .dragged-machine .progress {
  display: none;
}
.not-edit-mode .dragged-machine .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  transition: width 100ms;
}
.not-edit-mode .dragged-machine.status-send {
  color: #fff;
}
.dark-theme.not-edit-mode .dragged-machine.status-send:before {
  background-color: #0b4961;
}
.bright-theme.not-edit-mode .dragged-machine.status-send:before {
  background-color: #0a8bbb;
}
.dark-theme.not-edit-mode .dragged-machine.status-send .progress {
  background-color: #00b2fa;
}
.bright-theme.not-edit-mode .dragged-machine.status-send .progress {
  background-color: #00b8f5;
}
.not-edit-mode .dragged-machine.status-receive {
  color: #fff;
}
.not-edit-mode .dragged-machine.status-receive .progress {
  background-color: #00c909;
}
.not-edit-mode .dragged-machine.status-error {
  color: #fff;
}
.not-edit-mode .dragged-machine.status-error .progress {
  background-color: red;
}
.dragged-machine .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.dragged-machine .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .dragged-machine .controls .button {
  background: #9a9a9a;
}
.bright-theme .dragged-machine .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .dragged-machine .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .dragged-machine .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .dragged-machine .controls .button.stop,
.dark-theme .dragged-machine .controls .button.restart,
.dark-theme .dragged-machine .controls .button.disable {
  background: #db0000;
}
.bright-theme .dragged-machine .controls .button.stop,
.bright-theme .dragged-machine .controls .button.restart,
.bright-theme .dragged-machine .controls .button.disable {
  background: #f70010;
}
.dragged-machine .controls .button.start,
.dragged-machine .controls .button.enable {
  background: #33b600;
}
.dragged-machine .controls .button.send {
  background-color: #00b2fa;
}
.dragged-machine .controls .button.receive {
  background-color: #00c909;
}
.dragged-machine .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.dragged-machine .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.dragged-machine .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .dragged-machine .controls {
  display: none;
}
.dragged-machine.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.dragged-machine.selected .controls .button {
  pointer-events: auto;
}
/* Transfer file */
.transfer-file {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.transfer-file .path-bar {
  display: flex;
  flex: 0 0 auto;
  font-size: 12px;
  padding-left: 11px;
  align-items: stretch;
}
.dark-theme .transfer-file .path-bar {
  color: #ababab;
  background: #3a3a3a;
}
.bright-theme .transfer-file .path-bar {
  background: #f1f1f1;
  color: #828282;
}
.transfer-file .path-bar > div {
  padding: 5px 0;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
}
.transfer-file .path-bar > div:not(:last-child) {
  cursor: pointer;
  padding-right: 22px;
}
.dark-theme .transfer-file .path-bar > div:last-child,
.dark-theme .transfer-file .path-bar > div:hover {
  color: rgba(255, 255, 255, 0.75);
}
.bright-theme .transfer-file .path-bar > div:last-child,
.bright-theme .transfer-file .path-bar > div:hover {
  color: #212121;
}
.desktop .transfer-file .path-bar > div .full {
  display: none;
}
.mobile .transfer-file .path-bar > div {
  display: none;
}
.mobile .transfer-file .path-bar > div:nth-last-child(1) {
  display: flex;
  flex: 1 1 auto;
  padding-right: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}
.mobile .transfer-file .path-bar > div:nth-last-child(2) {
  display: flex;
  font-size: 0;
  width: 30px;
}
.mobile .transfer-file .path-bar > div:nth-last-child(2):before {
  position: absolute;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  transform: rotate(90deg);
  content: '\e806';
  /*visibility: visible;*/
  font-size: 12px;
}
.mobile .transfer-file .path-bar > div .full {
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  direction: rtl;
  max-width: 100%;
  padding-bottom: 1px;
}
.mobile .transfer-file .path-bar > div .full .bright-theme {
  color: rgba(0, 0, 0, 0.4);
}
.mobile .transfer-file .path-bar > div .full .dark-theme {
  color: rgba(255, 255, 255, 0.4);
}
.desktop .transfer-file .path-bar > div:not(:last-child):after {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  content: '\e806';
  /*flex: 0 0 auto;*/
  transform: rotate(-90deg);
  /*margin-right: 11px;*/
  font-size: 9px;
  position: absolute;
  right: 6px;
}
.mobile .transfer-file .path-bar {
  height: 51px;
}
.desktop .transfer-file .path-bar {
  height: 25px;
}
.transfer-file .files {
  margin-top: 1px;
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.transfer-file .files .file {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .transfer-file .files .file {
  height: 37px;
}
.mobile .transfer-file .files .file {
  height: 51px;
}
.mobile .transfer-file .files .file:first-child {
  border-top-width: 1px;
}
.bright-theme .transfer-file .files .file {
  color: #393939;
  border-color: transparent;
}
.dark-theme .transfer-file .files .file {
  border-color: #2b2b2b;
}
.transfer-file .files .file:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .transfer-file .files .file:before {
  background: #313131;
}
.bright-theme .transfer-file .files .file:before {
  background: #f1f1f1;
}
.transfer-file .files .file.selected:before,
.transfer-file .files .file:hover:before {
  transition: background 0s;
}
.dark-theme .transfer-file .files .file.selected:before,
.dark-theme .transfer-file .files .file:hover:before {
  background: #3e3e3e;
}
.bright-theme .transfer-file .files .file.selected:before,
.bright-theme .transfer-file .files .file:hover:before {
  background: #f7f7f7;
}
.transfer-file .files .file > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .transfer-file .files .file > .icon {
  font-size: 14px;
}
.mobile .transfer-file .files .file > .icon {
  font-size: 16px;
}
.transfer-file .files .file > .icon.muted {
  opacity: 0.5;
}
.transfer-file .files .file > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.transfer-file .files .file > .title:first-child {
  padding-left: 11px;
}
.transfer-file .files .file > .status {
  flex: 1 1 80px;
}
.edit-mode .transfer-file .files .file > .status {
  visibility: hidden;
}
.transfer-file .files .file > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.transfer-file .files .file > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.transfer-file .files .file > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.transfer-file .files .file > .time {
  flex: 1 1 50px;
}
.edit-mode .transfer-file .files .file > .time {
  visibility: hidden;
}
.transfer-file .files .file > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .transfer-file .files .file > .file {
  visibility: hidden;
}
.transfer-file .files .file > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.transfer-file .files .file > .file-time * {
  text-align: right;
}
.transfer-file .files .file > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.transfer-file .files .file > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .transfer-file .files .file > .file-time {
  visibility: hidden;
}
.transfer-file .files .file.is-dir:after {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  content: '\e806';
  flex: 0 0 auto;
  transform: rotate(-90deg);
  margin-right: 11px;
  font-size: 11px;
}
.dark-theme .transfer-file .files .file.is-dir .icon {
  color: #ffd71a;
}
.bright-theme .transfer-file .files .file.is-dir .icon {
  color: #efb018;
}
.dark-theme .transfer-file .files .file.is-file.known-extension .icon {
  color: #5ae200;
}
.bright-theme .transfer-file .files .file.is-file.known-extension .icon {
  color: #19c512;
}
.transfer-file .files .file.is-file .extension {
  font-size: 8px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  padding-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.desktop .transfer-file .files .file.is-dir .icon {
  font-size: 16px;
}
.bright-theme .transfer-file .files .file:before {
  background: #e7e7e7;
}
.bright-theme .transfer-file .files .file:hover:before,
.bright-theme .transfer-file .files .file.selected:before {
  background: #f1f1f1;
}
.transfer-file .files .file .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.transfer-file .files .file .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .transfer-file .files .file .controls .button {
  background: #9a9a9a;
}
.bright-theme .transfer-file .files .file .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .transfer-file .files .file .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .transfer-file .files .file .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .transfer-file .files .file .controls .button.stop,
.dark-theme .transfer-file .files .file .controls .button.restart,
.dark-theme .transfer-file .files .file .controls .button.disable {
  background: #db0000;
}
.bright-theme .transfer-file .files .file .controls .button.stop,
.bright-theme .transfer-file .files .file .controls .button.restart,
.bright-theme .transfer-file .files .file .controls .button.disable {
  background: #f70010;
}
.transfer-file .files .file .controls .button.start,
.transfer-file .files .file .controls .button.enable {
  background: #33b600;
}
.transfer-file .files .file .controls .button.send {
  background-color: #00b2fa;
}
.transfer-file .files .file .controls .button.receive {
  background-color: #00c909;
}
.transfer-file .files .file .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.transfer-file .files .file .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.transfer-file .files .file .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .transfer-file .files .file .controls {
  display: none;
}
.transfer-file .files .file.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.transfer-file .files .file.selected .controls .button {
  pointer-events: auto;
}
.transfer-file .receive-row {
  flex: 0 0 auto;
}
.desktop .transfer-file .receive-row {
  padding: 0 0 5px 5px;
}
.dark-theme.desktop .transfer-file .receive-row {
  background: #3a3a3a;
}
.bright-theme.desktop .transfer-file .receive-row {
  background: #f1f1f1;
}
.transfer-file .receive-row > div {
  display: flex;
  align-items: stretch;
  position: relative;
  background: #2aa625;
}
.desktop .transfer-file .receive-row > div {
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-width: 1px 0 1px 1px;
  height: 37px;
  border-radius: 2px 0 0 2px;
}
.mobile .transfer-file .receive-row > div {
  height: 51px;
}
.transfer-file .receive-row > div .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
}
.desktop .transfer-file .receive-row > div .icon {
  font-size: 14px;
}
.mobile .transfer-file .receive-row > div .icon {
  font-size: 16px;
}
.transfer-file .receive-row > div .icon.muted {
  opacity: 0.5;
}
.desktop .transfer-file .receive-row > div .icon {
  margin-left: -5px;
}
.transfer-file .receive-row > div input.filename {
  flex: 1 1 auto;
  font-size: 12px;
}
.transfer-file .receive-row > div input.filename::placeholder {
  color: #fff;
}
.transfer-file .receive-row > div .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
  opacity: 1;
}
.transfer-file .receive-row > div .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .transfer-file .receive-row > div .controls .button {
  background: #9a9a9a;
}
.bright-theme .transfer-file .receive-row > div .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .transfer-file .receive-row > div .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .transfer-file .receive-row > div .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .transfer-file .receive-row > div .controls .button.stop,
.dark-theme .transfer-file .receive-row > div .controls .button.restart,
.dark-theme .transfer-file .receive-row > div .controls .button.disable {
  background: #db0000;
}
.bright-theme .transfer-file .receive-row > div .controls .button.stop,
.bright-theme .transfer-file .receive-row > div .controls .button.restart,
.bright-theme .transfer-file .receive-row > div .controls .button.disable {
  background: #f70010;
}
.transfer-file .receive-row > div .controls .button.start,
.transfer-file .receive-row > div .controls .button.enable {
  background: #33b600;
}
.transfer-file .receive-row > div .controls .button.send {
  background-color: #00b2fa;
}
.transfer-file .receive-row > div .controls .button.receive {
  background-color: #00c909;
}
.transfer-file .receive-row > div .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.transfer-file .receive-row > div .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.transfer-file .receive-row > div .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .transfer-file .receive-row > div .controls {
  display: none;
}
.transfer-file .receive-row > div .controls .button {
  pointer-events: auto;
}
.transfer-file .receive-row > div .controls .button:first-child:before {
  display: none;
}
/* Embedded machine */
.embedded-machine {
  flex: 0 0 auto;
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .embedded-machine {
  height: 37px;
}
.mobile .embedded-machine {
  height: 51px;
}
.mobile .embedded-machine:first-child {
  border-top-width: 1px;
}
.bright-theme .embedded-machine {
  color: #393939;
  border-color: transparent;
}
.dark-theme .embedded-machine {
  border-color: #2b2b2b;
}
.embedded-machine:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .embedded-machine:before {
  background: #313131;
}
.bright-theme .embedded-machine:before {
  background: #f1f1f1;
}
.embedded-machine.selected:before,
.embedded-machine:hover:before {
  transition: background 0s;
}
.dark-theme .embedded-machine.selected:before,
.dark-theme .embedded-machine:hover:before {
  background: #3e3e3e;
}
.bright-theme .embedded-machine.selected:before,
.bright-theme .embedded-machine:hover:before {
  background: #f7f7f7;
}
.embedded-machine .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.embedded-machine .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .embedded-machine .controls .button {
  background: #9a9a9a;
}
.bright-theme .embedded-machine .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .embedded-machine .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .embedded-machine .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .embedded-machine .controls .button.stop,
.dark-theme .embedded-machine .controls .button.restart,
.dark-theme .embedded-machine .controls .button.disable {
  background: #db0000;
}
.bright-theme .embedded-machine .controls .button.stop,
.bright-theme .embedded-machine .controls .button.restart,
.bright-theme .embedded-machine .controls .button.disable {
  background: #f70010;
}
.embedded-machine .controls .button.start,
.embedded-machine .controls .button.enable {
  background: #33b600;
}
.embedded-machine .controls .button.send {
  background-color: #00b2fa;
}
.embedded-machine .controls .button.receive {
  background-color: #00c909;
}
.embedded-machine .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.embedded-machine .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.embedded-machine .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .embedded-machine .controls {
  display: none;
}
.embedded-machine.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.embedded-machine.selected .controls .button {
  pointer-events: auto;
}
.edit-mode .embedded-machine .progress {
  display: none;
}
.not-edit-mode .embedded-machine .progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  transition: width 100ms;
}
.not-edit-mode .embedded-machine.status-send {
  color: #fff;
}
.dark-theme.not-edit-mode .embedded-machine.status-send:before {
  background-color: #0b4961;
}
.bright-theme.not-edit-mode .embedded-machine.status-send:before {
  background-color: #0a8bbb;
}
.dark-theme.not-edit-mode .embedded-machine.status-send .progress {
  background-color: #00b2fa;
}
.bright-theme.not-edit-mode .embedded-machine.status-send .progress {
  background-color: #00b8f5;
}
.not-edit-mode .embedded-machine.status-receive {
  color: #fff;
}
.not-edit-mode .embedded-machine.status-receive .progress {
  background-color: #00c909;
}
.not-edit-mode .embedded-machine.status-error {
  color: #fff;
}
.not-edit-mode .embedded-machine.status-error .progress {
  background-color: red;
}
.embedded-machine:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  pointer-events: none;
  content: '';
  display: block;
}
.embedded-machine.status-offline:after,
.embedded-machine.recent-error:after {
  background-color: red;
}
.embedded-machine.status-disabled:after,
.embedded-machine.status-stopped:after {
  background-color: #efa127;
}
.dark-theme .embedded-machine {
  background: #3a3a3a;
  border: 1px solid #252525;
  /*border-width: 1px 0 1px 0;*/
  border-width: 0 0 1px 0;
}
.embedded-machine .icon {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.embedded-machine .column {
  flex: 1 1 100px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.embedded-machine .column .title {
  font-size: 10px;
  opacity: 0.5;
}
.embedded-machine .column .value {
  padding-top: 3px;
  padding-bottom: 2px;
  /* Padding is important when overflow is hidden */
  font-size: 12px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* Queue items */
.machine-queue {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.machine-queue .queue-items {
  flex: 1 1 100px;
  overflow: auto;
}
.machine-queue .queue-items .queue-item {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .machine-queue .queue-items .queue-item {
  height: 37px;
}
.mobile .machine-queue .queue-items .queue-item {
  height: 51px;
}
.mobile .machine-queue .queue-items .queue-item:first-child {
  border-top-width: 1px;
}
.bright-theme .machine-queue .queue-items .queue-item {
  color: #393939;
  border-color: transparent;
}
.dark-theme .machine-queue .queue-items .queue-item {
  border-color: #2b2b2b;
}
.machine-queue .queue-items .queue-item:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .machine-queue .queue-items .queue-item:before {
  background: #313131;
}
.bright-theme .machine-queue .queue-items .queue-item:before {
  background: #f1f1f1;
}
.machine-queue .queue-items .queue-item.selected:before,
.machine-queue .queue-items .queue-item:hover:before {
  transition: background 0s;
}
.dark-theme .machine-queue .queue-items .queue-item.selected:before,
.dark-theme .machine-queue .queue-items .queue-item:hover:before {
  background: #3e3e3e;
}
.bright-theme .machine-queue .queue-items .queue-item.selected:before,
.bright-theme .machine-queue .queue-items .queue-item:hover:before {
  background: #f7f7f7;
}
.machine-queue .queue-items .queue-item > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .machine-queue .queue-items .queue-item > .icon {
  font-size: 14px;
}
.mobile .machine-queue .queue-items .queue-item > .icon {
  font-size: 16px;
}
.machine-queue .queue-items .queue-item > .icon.muted {
  opacity: 0.5;
}
.machine-queue .queue-items .queue-item > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-queue .queue-items .queue-item > .title:first-child {
  padding-left: 11px;
}
.machine-queue .queue-items .queue-item > .status {
  flex: 1 1 80px;
}
.edit-mode .machine-queue .queue-items .queue-item > .status {
  visibility: hidden;
}
.machine-queue .queue-items .queue-item > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.machine-queue .queue-items .queue-item > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-queue .queue-items .queue-item > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.machine-queue .queue-items .queue-item > .time {
  flex: 1 1 50px;
}
.edit-mode .machine-queue .queue-items .queue-item > .time {
  visibility: hidden;
}
.machine-queue .queue-items .queue-item > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .machine-queue .queue-items .queue-item > .file {
  visibility: hidden;
}
.machine-queue .queue-items .queue-item > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.machine-queue .queue-items .queue-item > .file-time * {
  text-align: right;
}
.machine-queue .queue-items .queue-item > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.machine-queue .queue-items .queue-item > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .machine-queue .queue-items .queue-item > .file-time {
  visibility: hidden;
}
.machine-queue .queue-items .queue-item .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.machine-queue .queue-items .queue-item .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .machine-queue .queue-items .queue-item .controls .button {
  background: #9a9a9a;
}
.bright-theme .machine-queue .queue-items .queue-item .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .machine-queue .queue-items .queue-item .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .machine-queue .queue-items .queue-item .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .machine-queue .queue-items .queue-item .controls .button.stop,
.dark-theme .machine-queue .queue-items .queue-item .controls .button.restart,
.dark-theme .machine-queue .queue-items .queue-item .controls .button.disable {
  background: #db0000;
}
.bright-theme .machine-queue .queue-items .queue-item .controls .button.stop,
.bright-theme .machine-queue .queue-items .queue-item .controls .button.restart,
.bright-theme .machine-queue .queue-items .queue-item .controls .button.disable {
  background: #f70010;
}
.machine-queue .queue-items .queue-item .controls .button.start,
.machine-queue .queue-items .queue-item .controls .button.enable {
  background: #33b600;
}
.machine-queue .queue-items .queue-item .controls .button.send {
  background-color: #00b2fa;
}
.machine-queue .queue-items .queue-item .controls .button.receive {
  background-color: #00c909;
}
.machine-queue .queue-items .queue-item .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.machine-queue .queue-items .queue-item .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.machine-queue .queue-items .queue-item .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .machine-queue .queue-items .queue-item .controls {
  display: none;
}
.machine-queue .queue-items .queue-item.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.machine-queue .queue-items .queue-item.selected .controls .button {
  pointer-events: auto;
}
.machine-queue .queue-items .queue-item.suspended .icon,
.machine-queue .queue-items .queue-item.suspended .title {
  opacity: 0.5;
}
.machine-queue .queue-items .queue-item .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .machine-queue .queue-items .queue-item .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .machine-queue .queue-items .queue-item .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .machine-queue .queue-items .queue-item .drag-handle {
  font-size: 18px;
}
.bright-theme .machine-queue .queue-items .queue-item:before {
  background: #e7e7e7;
}
.bright-theme .machine-queue .queue-items .queue-item:hover:before,
.bright-theme .machine-queue .queue-items .queue-item.selected:before {
  background: #f1f1f1;
}
.machine-queue.sorting .queue-item:hover:before {
  background: transparent;
}
/* For drag-and-drop queue-items */
.queue-item {
  opacity: 0.99;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
  font-size: 12px;
  cursor: default;
  user-select: none;
  /* This is the machine background, made this way so the progress shows above it but below the text */
}
.desktop .queue-item {
  height: 37px;
}
.mobile .queue-item {
  height: 51px;
}
.mobile .queue-item:first-child {
  border-top-width: 1px;
}
.bright-theme .queue-item {
  color: #393939;
  border-color: transparent;
}
.dark-theme .queue-item {
  border-color: #2b2b2b;
}
.queue-item:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: background 100ms;
}
.dark-theme .queue-item:before {
  background: #313131;
}
.bright-theme .queue-item:before {
  background: #f1f1f1;
}
.queue-item.selected:before,
.queue-item:hover:before {
  transition: background 0s;
}
.dark-theme .queue-item.selected:before,
.dark-theme .queue-item:hover:before {
  background: #3e3e3e;
}
.bright-theme .queue-item.selected:before,
.bright-theme .queue-item:hover:before {
  background: #f7f7f7;
}
.queue-item > .icon {
  flex: 0 0 40px;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.desktop .queue-item > .icon {
  font-size: 14px;
}
.mobile .queue-item > .icon {
  font-size: 16px;
}
.queue-item > .icon.muted {
  opacity: 0.5;
}
.queue-item > .title {
  flex: 1 1 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.queue-item > .title:first-child {
  padding-left: 11px;
}
.queue-item > .status {
  flex: 1 1 80px;
}
.edit-mode .queue-item > .status {
  visibility: hidden;
}
.queue-item > .title-status {
  flex: 1 1 100px;
  min-width: 0;
}
.queue-item > .title-status .title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.queue-item > .title-status .status {
  font-size: 10px;
  opacity: 0.8;
}
.queue-item > .time {
  flex: 1 1 50px;
}
.edit-mode .queue-item > .time {
  visibility: hidden;
}
.queue-item > .file {
  flex: 1 1 150px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding: 1px 0;
}
.edit-mode .queue-item > .file {
  visibility: hidden;
}
.queue-item > .file-time {
  flex: 1 1 150px;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  display: flex;
  padding-right: 11px;
  min-width: 0;
}
.queue-item > .file-time * {
  text-align: right;
}
.queue-item > .file-time .file {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-bottom: 2px;
}
.queue-item > .file-time .time {
  opacity: 0.8;
  font-size: 10px;
}
.edit-mode .queue-item > .file-time {
  visibility: hidden;
}
.queue-item .controls {
  display: flex;
  flex-direction: row;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  pointer-events: none;
  justify-content: flex-end;
  align-items: stretch;
  opacity: 0;
  transition: opacity 100ms;
}
.queue-item .controls .button {
  padding: 2px 0;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dark-theme .queue-item .controls .button {
  background: #9a9a9a;
}
.bright-theme .queue-item .controls .button {
  background: #555555;
  color: #fff;
}
.mobile .queue-item .controls .button {
  flex: 0 1 64px;
  font-size: 18px;
}
.desktop .queue-item .controls .button {
  flex: 0 1 50px;
  font-size: 16px;
}
.dark-theme .queue-item .controls .button.stop,
.dark-theme .queue-item .controls .button.restart,
.dark-theme .queue-item .controls .button.disable {
  background: #db0000;
}
.bright-theme .queue-item .controls .button.stop,
.bright-theme .queue-item .controls .button.restart,
.bright-theme .queue-item .controls .button.disable {
  background: #f70010;
}
.queue-item .controls .button.start,
.queue-item .controls .button.enable {
  background: #33b600;
}
.queue-item .controls .button.send {
  background-color: #00b2fa;
}
.queue-item .controls .button.receive {
  background-color: #00c909;
}
.queue-item .controls .button:not(:first-child) {
  border-left: 1px solid #797979;
}
.queue-item .controls .button:first-child:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  right: 100%;
  width: 10px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.12) 100%);
}
.queue-item .controls .button.receive.disabled {
  background-color: rgba(0, 0, 0, 0.2);
  color: #2aa625;
}
.edit-mode .queue-item .controls {
  display: none;
}
.queue-item.selected .controls {
  transition: opacity 0s;
  opacity: 1;
}
.queue-item.selected .controls .button {
  pointer-events: auto;
}
.queue-item.suspended .icon,
.queue-item.suspended .title {
  opacity: 0.5;
}
.queue-item .drag-handle {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.mobile .queue-item .drag-handle {
  flex: 0 0 64px;
  font-size: 18px;
}
.desktop .queue-item .drag-handle {
  flex: 0 0 50px;
  font-size: 16px;
}
.desktop .queue-item .drag-handle {
  font-size: 18px;
}
.bright-theme .queue-item:before {
  background: #e7e7e7;
}
.bright-theme .queue-item:hover:before,
.bright-theme .queue-item.selected:before {
  background: #f1f1f1;
}
/* Machine log */
.machine-log {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.machine-log .log {
  flex: 1 1 0;
  overflow: auto;
  padding-left: 8px;
  padding-top: 6px;
}
.machine-log .log > div {
  line-height: 15px;
  white-space: pre;
  font-family: 'Courier New';
  font-size: 13px;
}
.bright-theme .machine-log .log > div {
  color: #000;
}
.machine-log .log > div.error {
  color: red;
}
.machine-log .log > div .time {
  margin-right: 5px;
}
/* Machine Options */
.machine-menu-enter.machine-menu .sidebar-mask {
  opacity: 0;
}
.machine-menu-enter-active.machine-menu .sidebar-mask,
.machine-menu-enter-done.machine-menu .sidebar-mask {
  opacity: 1;
  transition: opacity 0.3s;
}
.machine-menu-exit.machine-menu .sidebar-mask {
  opacity: 1;
}
.machine-menu-exit-active.machine-menu .sidebar-mask {
  opacity: 0;
  transition: opacity 0.3s;
}
.machine-menu .container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.machine-menu .container .window {
  position: relative;
  display: flex;
  margin: 0 auto;
  box-sizing: border-box;
  box-shadow: 0 0 19px 0 rgba(0, 0, 0, 0.27);
  flex-direction: column;
}
.mobile .machine-menu .container .window {
  height: 100%;
  width: 100%;
}
.desktop .machine-menu .container .window {
  flex: 1 1 85%;
  max-width: 250px;
  height: 100%;
  right: 0;
  margin: 0 0 0 auto;
  border-radius: 0;
}
.dark-theme .machine-menu .container .window {
  background: #272727;
}
.bright-theme .machine-menu .container .window {
  background: #f0f0f0;
}
.machine-menu .container .window > .header {
  font-size: 14px;
  white-space: pre;
  text-overflow: clip;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 46px 0 0;
  padding-left: 15px;
}
.bright-theme .machine-menu .container .window > .header {
  color: #242323;
  border-bottom: 1px solid #d8d8d8;
}
.dark-theme .machine-menu .container .window > .header {
  color: #b2b2b2;
  border-bottom: 1px solid #3c3c3c;
}
.machine-menu .container .window > .header .close {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  height: 100%;
  padding: 0 13px 17px 30px;
  display: flex;
  align-items: center;
}
.bright-theme .machine-menu .container .window > .header .close {
  color: #616161;
}
.dark-theme .machine-menu .container .window > .header .close {
  color: #c1c1c1;
}
.machine-menu .container .window > .body {
  overflow: auto;
}
.dark-theme .machine-menu .container .window > .body {
  color: #dadada;
}
.bright-theme .machine-menu .container .window > .body {
  color: #626262;
}
.machine-menu .container .window > .body .button {
  cursor: pointer;
  /* Center text inside */
  display: flex;
  align-items: center;
  /* align vertical */
  position: relative;
}
.bright-theme .machine-menu .container .window > .body .button {
  border-bottom: 1px solid #d1d1d1;
}
.desktop.bright-theme .machine-menu .container .window > .body .button:hover {
  background: #fff;
}
.dark-theme .machine-menu .container .window > .body .button {
  border-bottom: 1px solid #3c3c3c;
}
.desktop.dark-theme .machine-menu .container .window > .body .button:hover {
  background: #3c3c3c;
}
.machine-menu .container .window > .body .button:before {
  content: '';
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.machine-menu .container .window > .body .button.stop:before,
.machine-menu .container .window > .body .button.disable:before,
.machine-menu .container .window > .body .button.restart:before {
  background: #db0000;
}
.machine-menu .container .window > .body .button.start:before,
.machine-menu .container .window > .body .button.enable:before {
  background: #33b600;
}
.desktop .machine-menu .container .window > .body .button {
  height: 38px;
}
.mobile .machine-menu .container .window > .body .button {
  height: 57px;
}
.desktop .machine-menu .container .window > .body .button .title {
  font-size: 12px;
}
.mobile .machine-menu .container .window > .body .button .title {
  font-size: 14px;
}
.machine-menu .container .window > .body .button .icon {
  font-family: 'icons';
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
.desktop .machine-menu .container .window > .body .button .icon {
  font-size: 16px;
  flex: 0 0 40px;
}
.mobile .machine-menu .container .window > .body .button .icon {
  font-size: 18px;
  flex: 0 0 55px;
}
.machine-menu-enter.machine-menu .container .window {
  transform: translate3d(100%, 0px, 0px);
}
.machine-menu-enter-active.machine-menu .container .window {
  transform: translate3d(0%, 0px, 0px);
  transition: all 0.3s;
}
.machine-menu-exit.machine-menu .container .window {
  transform: translate3d(0%, 0px, 0px);
}
.machine-menu-exit-active.machine-menu .container .window {
  transform: translate3d(100%, 0px, 0px);
  transition: all 0.3s;
}
/* File preview */
.preview-file {
  padding-left: 8px;
  padding-top: 6px;
  line-height: 15px;
  white-space: pre;
  font-family: 'Courier New';
  font-size: 13px;
}
.preview-file .line-number {
  user-select: none;
  opacity: 0.5;
}
.dark-theme .preview-file {
  color: #ececec;
}
.bright-theme .preview-file {
  color: #000;
}
.shopfloor .machine {
  box-sizing: border-box;
  position: absolute;
  display: flex;
  background-color: #616161;
  transform-origin: center center;
}
.shopfloor .machine.background-9 {
  color: #373737;
}
.shopfloor .machine.rectangle {
  border-left: 1px solid rgba(255, 255, 255, 0.4);
}
.shopfloor .machine.circle {
  border: 1px solid transparent;
  border-radius: 100%;
}
.shopfloor .machine.circle svg {
  width: 100%;
  height: 100%;
}
.flash .shopfloor .machine.circle svg path.flash {
  opacity: 0.4;
}
.shopfloor .machine.circle:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: '';
  background: rgba(0, 0, 0, 0.3);
  border-radius: 100%;
  z-index: -1;
}
.shopfloor .machine:after {
  pointer-events: none;
  content: ' ';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.1s;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
}
.shopfloor .machine.circle:after {
  border: 1px solid transparent;
  border-radius: 100%;
}
.flash .shopfloor .machine.flash:after {
  background: rgba(0, 0, 0, 0.2);
}
.shopfloor .machine .label {
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  box-sizing: border-box;
  text-align: center;
  border-radius: 2px;
  font-size: 12px;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
}
.shopfloor .machine .label.left > *,
.shopfloor .machine .label.right > * {
  text-align: left;
}
.shopfloor .machine .label .status {
  font-weight: 300;
}
.shopfloor .machine .label .arrow {
  content: '';
  position: absolute;
  border-style: solid;
  border-color: transparent;
}
.shopfloor .machine .label.above .arrow {
  border-top-color: rgba(0, 0, 0, 0.6);
  top: 100%;
}
.shopfloor .machine .label.below .arrow {
  border-bottom-color: rgba(0, 0, 0, 0.6);
  bottom: 100%;
}
.shopfloor .machine .label.left .arrow {
  border-left-color: rgba(0, 0, 0, 0.6);
  left: 100%;
}
.shopfloor .machine .label.right .arrow {
  border-right-color: rgba(0, 0, 0, 0.6);
  right: 100%;
}
.shopfloor .machine .title {
  white-space: pre;
  text-overflow: clip;
  overflow: hidden;
}
.shopfloor .machine .status {
  white-space: pre;
  text-overflow: clip;
  overflow: hidden;
  line-height: 130%;
  font-weight: 300;
}
.shopfloor .floor {
  background-color: rgba(50, 50, 50, 0.05);
  box-sizing: border-box;
  position: absolute;
  transform-origin: top left;
  border: 1px dashed transparent;
}
.edit-mode .shopfloor .floor {
  border-color: #000;
}
.shopfloor.edit-mode:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
}
.shopfloor .resize,
.shopfloor .rotate,
.shopfloor .delete {
  width: 35px;
  height: 35px;
  border-radius: 17.5px;
  font-size: 17.5px;
  background: #0095df;
  color: #fff;
  position: absolute;
  font-family: 'icons';
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.shopfloor .floor > .resize {
  /* The floor resize button */
  bottom: -17.5px;
  right: -17.5px;
}
.shopfloor .machine .rotate-circle {
  position: absolute;
  border: 1px solid #3fa7f0;
  box-sizing: border-box;
  pointer-events: none;
}
.shopfloor .machine .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  flex: 1;
  overflow: hidden;
}
.shopfloor .machine .indicators {
  background: rgba(0, 0, 0, 0.4);
  flex-direction: column;
  display: flex;
}
.shopfloor .machine .indicators > * {
  flex-grow: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
}
.shopfloor .machine .indicators > *:after {
  pointer-events: none;
  content: ' ';
  position: absolute;
  top: -1px;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.1s;
  background: rgba(0, 0, 0, 0);
}
.flash .shopfloor .machine .indicators > *.flash:after {
  background: rgba(0, 0, 0, 0.2);
}
.shopfloor .machine .indicators > *:first-child {
  border-top-right-radius: 1px;
}
.shopfloor .machine .indicators > *:last-child {
  border-bottom-right-radius: 1px;
}
.shopfloor .machine.rectangle.before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: rgba(0, 0, 0, 0.05);
  width: 1px;
}
.page .machine-tooltip {
  position: absolute;
  pointer-events: none;
}
.machine-tooltip {
  color: #000;
}
.modal-background + .machine-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.modal-background + .machine-tooltip > div {
  height: 100%;
  max-height: 80%;
  max-width: 320px;
  flex: 1 1 320px;
  margin: 0 auto;
}
@media screen and (max-height: 600px) {
  .modal-background + .machine-tooltip > div {
    max-height: 100%;
  }
}
.modal-background + .machine-tooltip > div .actual-body {
  font-size: 12px;
}
.modal-background + .machine-tooltip .close {
  font-family: 'icons';
  -webkit-font-smoothing: antialiased;
  font-size: 12px;
  position: absolute;
  right: 0;
  top: 0;
  color: #fff;
  cursor: pointer;
  height: 100%;
  padding: 9px 13px 0 30px;
  box-sizing: border-box;
}
.modal-background + .machine-tooltip .actual-body {
  height: calc(100% - 55px - 45px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.modal-background + .machine-tooltip .footer {
  width: 100%;
}
.modal-background + .machine-tooltip .footer button {
  height: 45px;
  width: 100%;
  color: #0077bc;
  font-size: 15px;
  background: #fff;
  border-top: 1px solid #e4e4e4;
  box-sizing: border-box;
}
.page .machine-tooltip > div {
  width: 200px;
}
.machine-tooltip > div {
  background: #fff;
  white-space: pre;
  font-size: 10px;
  box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.2), 0 0 10px 3px rgba(0, 0, 0, 0.2);
  pointer-events: auto;
}
.page .machine-tooltip > div {
  position: relative;
  left: -50%;
  pointer-events: none;
  margin-bottom: 20px;
  margin-top: 20px;
  border-radius: 2px;
}
.machine-tooltip .header {
  color: #fff;
  background: #505050;
  position: relative;
}
.machine-tooltip .header:after {
  pointer-events: none;
  content: ' ';
  position: absolute;
  top: -1px;
  /* Because of border-top */
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.1s;
  background: rgba(0, 0, 0, 0);
}
.flash .machine-tooltip .header.flash:after {
  background: rgba(0, 0, 0, 0.2);
}
.machine-tooltip .header.background-9 {
  color: #373737;
}
.page .machine-tooltip .header {
  padding: 10px 15px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.modal-background + .machine-tooltip .header {
  padding: 14px 15px;
}
.machine-tooltip .header h1 {
  font-size: 14px;
}
.page .machine-tooltip .header h1 {
  font-size: 14px;
}
.modal-background + .machine-tooltip .header h1 {
  font-size: 15px;
}
.page .machine-tooltip .header div {
  margin-top: 2px;
}
.modal-background + .machine-tooltip .header div {
  font-size: 12px;
  margin-top: 5px;
}
.machine-tooltip .indicators {
  padding: 10px 15px 2px;
  border-bottom: 1px solid #d9d9d9;
}
.machine-tooltip .indicators .indicator {
  display: flex;
  margin-bottom: 7px;
}
.machine-tooltip .indicators .indicator .light {
  width: 18px;
  height: 9px;
  margin-right: 10px;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.machine-tooltip .body {
  padding: 10px 15px;
}
.machine-tooltip .body .row {
  display: flex;
  align-items: center;
}
.page .machine-tooltip .body .row {
  height: 15px;
}
.modal-background + .machine-tooltip .body .row {
  height: 21px;
}
.machine-tooltip .body .row:not(:last-child) {
  border-bottom: 1px solid #ededed;
}
.machine-tooltip .body .row .title {
  color: #747474;
  text-overflow: clip;
}
.machine-tooltip .body .row .value {
  text-overflow: clip;
}
.page .machine-tooltip .body .row .title {
  flex: 1 0 60%;
}
.page .machine-tooltip .body .row .value {
  flex: 1 0 40%;
}
.modal-background + .machine-tooltip .body .row .title {
  flex: 1 0 50%;
}
.modal-background + .machine-tooltip .body .row .value {
  flex: 1 0 50%;
}
