@import url('./plugins.css');
@import url('./helpers.css');

.dt-container {
  width: 100%;
}

.swiper {
  height: 100%;
}

.dt-container.edit {
  width: auto;
  float: right;
  width: calc(100% - 220px);
}

.swiper-slide {
  background: #000;
  overflow-x: hidden;
  overflow-y: hidden;
  min-height: 100vh;
}

.swiper-pagination-bullet-active {
  background-color: #fff !important;
}

.vertical-scroll {
  overflow-y: auto;
}

#loadingMessage {
  width: 100%;
  height: 100%;
  /*  z-index: 1000;*/
  /*  background: #fff;*/
  top: 0px;
  left: 0px;
  position: absolute;
}

.currencydown {
  background: rgba(132, 22, 12, 0.7) !important;
  background-clip: padding-box;
  border: 7px solid rgba(255, 255, 255, 0);
}

.currencyup {
  background: rgba(0, 128, 0, 0.7) !important;
  background-clip: padding-box;
  border: 7px solid rgba(255, 255, 255, 0);
}

.dt_block {
  display: flex;
  background: rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
  border: 7px solid rgba(255, 255, 255, 0);
  padding: 5px !important;
}

/* dirty fix for group component ... */

.mh.dt_block {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.mh.dt_block .col-icon {
  margin-top: 0px;
}

.dt_column {
  flex-direction: column;
}

.dt_content {
  width: 100%;
  margin: 0px 0px;
}

.fixedheight:not(.dt_column) .dt_content {
  display: flex;
  flex-direction: column;
  height: 100%
}

.dt_block .col-icon {
  margin-top: 5px;
  width: 45px !important;
}

.dt_title {
  font-weight: bold;
  font-size: 150%;
  margin: 5px 5px;
}

.dt_state {
  margin: 5px 5px;
  min-height: 1px;
}


.fixedheight .dt_state {
  height: 100%
}

.button .dt_state,
.frame .dt_state {
  margin: -5px;
}

.dt_block.dt_button .col-icon,
.dt_block.dt_button .dt_title {
  min-height: 55px;
  padding-top: 10px !important;
}

.dt_state iframe {
  width: 100%;
  max-width: 100%;
}

.frame iframe {
  transform-origin: 0 0;
}

.no-margin .dt_state {
  margin: -5px
}

.ios .dt_state {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch !important;
  height: 100%;
}

.ios iframe {
  height: 100%;
  min-width: 100%;
  width: 100%;
}

.streamplayer .title {
  font-size: 150%;
  font-weight: bold;
}

.fa-tv:before {
  font-size: 26px;
}

.col-currency {
  font-size: 18px;
  text-align: right;
}

.SonarrItem {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.SonarrBanner {
  width: 100%;
  padding: 5px;
}

.SonarrData {
  float: Left;
  width: 75%;
}

.SonarrPoster {
  float: Left;
  width: 25%;
  padding: 0px 5px 5px 10px;
}

.SonarrData span {
  display: block;
}

.SonarrBigTitle {
  transform: rotate(90deg);
  padding-top: 15px;
  font-size: 24px;
  text-transform: uppercase;
}

.SonarrTitleShow {
  font-size: 12px;
  font-weight: bold;
}

.SonarrEpisode {
  color: darkgray;
}

.SonarrDownloaded {
  color: lightskyblue;
}

.SonarrAirDate {
  color: darkgray;
}

.trashcan {
  margin-left: -4px;
  max-width: 30px;
  height: auto;
}

.modal {
  z-index: 9999;
}

.newblocksHolder {
  display: none;
  width: 220px;
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  float: left;
}

.newblocksHolder div.title {
  color: #fff;
  padding: 5px;
  margin: 5px;
  font-size: 17px;
  font-weight: bold;
  height: 35px;
}

.newblocksHolder .newblocks.plugins {
  height: 170px;
  overflow-y: scroll;
  overflow-x: hidden;
}

.newblocksHolder .newblocks.domoticz {
  height: calc(100% - 260px);
  overflow-y: scroll;
  overflow-x: hidden;
}

.newblocksHolder .newblocks>div {
  border: 1px solid #aaa;
  background: rgba(255, 255, 255, 0.2);
  margin: 5px;
  padding: 5px;
  color: #fff;
  box-sizing: border-box;
}

.skycon {
  margin: 10px auto 10px auto;
  display: block;
  width: 100%;
/*  max-width: 125px;*/
}

.skyconsmall {
  display: block;
  width: 100%;
  max-width: 125px;
}


/* BEGIN || Popup modal settings (need to sort and arrange first) */

.nav-pills>li>a {
  border-radius: 6px 6px 0px 0px;
  color: #000;
  font-size: 16px;
  background-color: #f6f6f6;
}

.nav-pills>li.active>a,
.nav-pills>li.active>a:focus,
.nav-pills>li.active>a:hover {
  background-color: #555;
}

.modal-dialog-custom .modal-content:not(.modal-url) .close {
  color: white;
  opacity: 0.7;
}

.modal-dialog-custom .modal-content:not(.modal-url) .close:focus, .modal-dialog-custom .modal-content:not(.modal-url) .close:hover {
  color: white;
  opacity: 1;
}

.modal-popup > [id^="block"] {
  height: 100%;
  min-height: 1px;
  overflow:auto;
}




/*
next css sets the default height of the frame popup
*/

/*
.popupheight {
  height: calc(95vh - 150px);
}
*/

.modal-body .glyphicon {
  color: #a80002;
  cursor: help;
}


.nav {
  border-bottom: 1px solid #e5e5e5;
  padding-left: 10px;
  padding-right: 10px;
}

.btn {
/*  text-transform: none !important;*/
  font-size: 16px;
  font-weight: 400;
}

.btn-secondary {
  color: #292b2c !important;
  border: 1px solid #ccc !important;
  background-color: #fff !important;
  padding: 0.5rem 1rem !important;
  border-color: #ccc !important;
}

.btn-primary {
  color: #fff;
  background-color: #5cb85c !important;
  padding: 0.5rem 1rem !important;
  border-color: #5cb85c !important;
}

.row {
  margin-bottom: 10px !important;
}

.label {
  font-weight: 400px !important;
}

.tab-pane {
  padding: 10px !important;
}

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #000;
}

.modal-dialog {
  min-width: 80%;
}

.modal-dialog-custom {
  min-width: 10px;
  width: 80%;
  height: 80%;
  margin: auto;
  margin: 5px;
}

.modal-dialog-custom .modal-content:not(.modal-url) {
  background-color: #222;
  color: white;
}

.modal-header {
  border-bottom: 0px !important;
}

.modal-content.url {
  background-color: white;
  color: black;
}



.material-switch>input[type='checkbox'] {
  display: none;
}

.material-switch>label {
  cursor: pointer;
  height: 0px;
  position: relative;
  width: 40px;
}

.material-switch>label::before {
  background: rgb(0, 0, 0);
  box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  content: '';
  height: 16px;
  margin-top: 0px;
  position: absolute;
  opacity: 0.3;
  transition: all 0.4s ease-in-out;
  width: 40px;
}

.material-switch>label::after {
  background: rgb(255, 255, 255);
  border-radius: 16px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  content: '';
  height: 24px;
  left: -4px;
  margin-top: 0px;
  position: absolute;
  top: -4px;
  transition: all 0.3s ease-in-out;
  width: 24px;
}

.material-switch>input[type='checkbox']:checked+label::before {
  background: inherit;
  opacity: 0.5;
}

.material-switch>input[type='checkbox']:checked+label::after {
  background: inherit;
  left: 20px;
}


/* END || Popup modal settings (need to sort and arrange first) */

/* .log */

.log {
  height: 200px
}

/*on IOS display:flex and height have to bubble down*/
.log .dt_content {
  height:100%;
  display: flex;
  flex-direction: column;
}

.log .dt_state{
  display:flex;
  flex-direction:column;
  height: 100%;
}


.log .items {
  height: 100%; 
  overflow: auto;
  width: 100%;
  overflow-wrap: anywhere
}

.log table {
  width: 100%;
  min-height: 5px;
}

.log tbody {
  width: 100%
}

.log tr {
  width: 100%
}

.modal-popup > div > .log {
  height: 100%
}

.log .items .level0 {
  color: #c70626;
}

.log .items .level1 {
  color: #067676;
}

.log .items .level2 {
  color: #ffffff;
}

.log .items .timestamp {
  white-space: nowrap;
  vertical-align: top;
}

.log .items .sep {
  width: 5px
}

/* end log */

.containsicalendar table.calendar {
  border-collapse: separate;
  border-spacing: 10px 0px;
}

.containsicalendar .calendar td {
  vertical-align: top;
  white-space: nowrap;
}

.containsicalendar td.caltitle {
  white-space: normal;
}

.colbar.transbg {
  padding: 6px 5px !important;
}

.colbar.transbg .logo {
  font-size: 20px;
  font-weight: bold;
  margin-top: -4px;
  margin-bottom: -4px;
}

.colbar.transbg .fab,
.colbar.transbg .fas,
.colbar.transbg .far {
  margin-top: 0px;
  font-size: 20px !important;
  margin-left: 10px;
}

.colbar.transbg .miniclock span {
  font-size: 15px !important;
  font-weight: bold !important;
}

.colbar span.settings,
.colbar span.fullscreen {
  cursor: pointer;
}

a.playlist {
  margin: 5px !important;
  display: inline-block;
  border: 1px solid #ccc;
}

.containsspotify #current {
  overflow: hidden;
}

.containsspotify #current .current_image {
  float: left;
  margin: 2px 0px 5px 2px;
  /*	width: calc(32% - 2px);*/
  width: 68px;
}

.containsspotify #current .current_image img {
  max-width: 64px;
}

.containsspotify #current .current_info {
  float: left;
  padding-left: 10px;
  width: calc(100% - 72px);
}

.containsspotify #current .current_artist {
  font-weight: bold;
}

.containsspotify #current .current_album {
  overflow: hidden;
  max-height: 33px;
}

.containsspotify #current .current_track {
  overflow: hidden;
  max-height: 33px;
}

.containsspotify .change {
  /*	background-color: #282828;*/
  display: block;
  margin-top: -4px;
  padding: 3px;
  padding-left: 4px;
  color: #fff;
}

.containsspotify .fas {
  font-size: 30px !important;
}

.containsspotify .shuffleoff {
  color: #aaa;
}

.containsspotify select.devices {
  width: 100%;
  max-width: 100%;
  color: #fff !important;
  background-color: transparent;
  border: 0px;
  padding-left: 0px;
}

.containsspotify select.devices option {
  color: #fff !important;
  background-color: #292b2c;
}

.spotback {
  margin: 5px;
}

.spottrack {
  background-color: #fff;
  width: 93%;
  border: 1px solid #ccc;
  height: 60px;
  margin: 5px;
}

.spotlist {
  background-color: #fff;
  width: 93%;
  border: 1px solid #ccc;
  margin: 5px;
  display: inline-block;
}

.modal-dialog.modal-spotify {
  width: 80%;
}

.spotlist img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.spotlist .spotify-info {
  padding-left:10px;
  padding-top:5px;
  padding-right:10px;
}

/* Thermostat CSS: */

.update {
  background: rgba(0, 0, 0, 0.6);
  border-radius: 0px;
  color: #fff;
  bottom: 0;
  font-weight: bold;
  right: 0;
  padding: 10px;
  position: absolute;
  z-index: 9999;
}

.editmode {
  color: white;
  background-color: red;
  bottom: 0;
  font-weight: bold;
  right: 0;
  padding: 10px;
  position: absolute;
  z-index: 9999;
}

.mh .btn-number {
  opacity: 0.5;
  color: white;
  background-color: rgb(34, 34, 34);
  border-radius: 0px;
  padding: 5px 5px 5px 5px;
  font-size: 20px;
  width: 30px;
  height: 100%;
  margin: auto;
}

.col-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  position: absolute;
  width: 45px;
  height: 100%;
  right: 0px;
  top: 0px;
  border: 0px !important;
}

.col-icondata {
  width: calc(100% - 45px);
  margin: -5px;
  padding: 5px;
  background: rgba(0, 0, 0, 0.1);
}

.col-icondata.hover {
  border: 0px !important;
}

.transbg.longpress::after {
  content:"";
  float: left;
  bottom:0;
  left:0;
  top:0;
  width:100%;
  height:100%;
  border-right: solid rgba(255,255,255,0.5) 5px;
  position: absolute;
}

.btn.plus {}

.btn.min {}

.btn.stop {
  transform: rotate(90deg);
  top: 19px;
  width: 70px;
  height: 33px;
  position: absolute;
  right: -20px;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 10px;
}

.col-button2 {
  z-index: 10;
  position: absolute;
  width: 62px;
  height: 100%;
  right: 0px;
  top: 0px;
}

.col-button1 {
  z-index: 10;
  position: absolute;
  width: 31px;
  height: 100%;
  right: 0px;
  top: 0px;
}

.titlegroups h3 {
  margin-left: 0px;
}

.blocktitle {
  font-size: 150%;
}

.up,
.down {
  height: 50%;
  width: 31px;
}

.btn-number:hover {
  color: black;
  background: rgba(255, 255, 255, 0.3) none repeat scroll 0 0 padding-box;
}

.title-input {
  font-size: 20px !important;
  margin-top: -2px;
  display: inline-block;
}

.map .dt_state {
  position: relative
}

.map .time {
  white-space: nowrap;
}

.map .item {
  vertical-align: top;
}

.map td {
  padding: 2px;
}

.map .state_map {
  height: 100%
}

.map .state_info {
  position: absolute;
  left: 10px;
  bottom: 10px;
  font-size: 175%;
  cursor: pointer;
}

.map .state_info *{
  color: rgb(80,80,80);
  background: rgba(255,255,255,0.9);
}

.map .state_refresh_time {
  margin-left: 10px;
}


.trafficmap {
  height: 100%;
}

.block_trafficmap {
  padding-left: 13px !important;
  padding-right: 13px !important;
  height: 200px !important;
}

.iconheating {
  margin-top: 2px;
}

@media only screen and (max-width: 1000px) {}


/************************/

@media only screen and (max-width: 767px) {
  .control label {
    font-size: 35px;
  }
}

.lastupdate {
  font-size: 10px;
  color: #bbb;
  white-space: nowrap;
}


/*To change the default height of the graph popup adapt the height value in custom.css
  Example:
.graphheight {
	height: 300px;
}
*/
.modal-dialog-custom .modal-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.modal-body {
  height: 100%;
}

/*
.modal.openpopup .frameclose {
  background-color: #fff;
  color: black;
  margin: 5px;
}
*/

.graphcontent {
  height: 100%;
  min-height: 1px;
}

.modal .graphcontent {
  height: calc(100vh - 250px);
}


/* graphwidth for small screens.*/

.graphwidth {
  min-width: 30px;
  width: 80%;
}

@media (max-width: 768px) {
/*  .graphwidth {
    width: 100vw;
  }*/
  .modal-dialog {
    width: 100%
  }
}

.graphheader {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.graphtitle {
  font-size: 150%;
}

.graphtitle span .fas {
  font-size: 16px !important;
}

.graphbuttons .btn {
  opacity: 0.5;
}

.graphbuttons .btn.active {
  opacity: 1;
}

.graph {
  flex: 1;
}

.block_graph {
  display: flex;
  flex-direction: column;
}

.selectedbutton {
  background-color: #abc !important;
}

.blockchange {
  background-color: #aaa !important;
}

html,
body {
  height: 100%;
  width: 100%;
  background-color: #000;
  overflow: hidden;
}

hr {
  border-color: #fff;
  border-width: 2px;
  max-width: 100%;
  opacity: 0.5;
  margin-top: 20px;
  margin-bottom: 20px;
}

.standby .swiper-slide {
  background-image: none !important;
  background-color: #313131;
}

.standby .far,
.standby .far.fa-small,
.standby .fas,
.standby .fas.fa-small,
.standby .fab,
.standby .fab.fa-small {
  color: #fff !important;
}

.standby .row {
  opacity: 0.7;
}

.standby .imgblock {
  opacity: 0.2;
}

a {
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  transition: all 0.35s;
  color: #f05f40;
}

div.morris-hover-point {
  color: #000 !important;
}

.auto_switches,
.auto_states,
.auto_dimmers,
.auto_media,
.auto_buttons {
  clear: both;
}

a:hover,
a:focus {
  color: #eb3812;
}

.fas.fa-newspaper,
.far.fa-newspaper {
  margin-left: 1px;
}

.fas.fa-lightbulb,
.far.fa-lightbulb {
  margin-top: 1px;
  margin-left: 6px;
}

.hidden {
  display: none;
}

div.mh {
  height: 85px;
}

div.mh h3 {
  padding-top: 6px;
}

/*
div.big {
  padding-top: 20px !important;
  padding-left: 18px !important;
}
*/

.sunriseholder,
.sunriseholder .wi {
  font-size: 14px !important;
}

.sunriseholder .wi-sunset {
  padding-left: 10px;
}

.sunriseholder .wi {
  padding-right: 5px;
  padding-top: 5px;
}

select,
select option {
  color: #000 !important;
  width: auto;
  max-width: 90%;
}

.title {
  font-size: 12px;
}

.wi {
  font-size: 30px;
}

.wi.wi-rain {
  margin-top: 0px;
}

.fas {
  font-size: 30px;
}

.far {
  font-size: 30px;
}

.fab {
  font-size: 30px;
}

.fas.fa-small {
  font-size: 20px;
}

.fas.fa-thermometer-half {
  margin-left: 8px;
  margin-top: 2px;
}

.fas.fa-calendar {
  margin-left: 4px;
  margin-top: 1px;
}

.fas.fa-thermometer-half.fa-thermometer-half-switch {
  margin-left: 4px;
}

.fas.fa-desktop {
  margin-top: 5px;
}

.fas.fa-fire {
  margin-top: 5px;
}

.fas.fa-plug {
  margin-top: 5px;
}

.fas.fa-music {
  margin-top: 5px;
}

.fas.fa-television,
.fas.fa-microchip {
  margin-left: 3px;
  margin-top: 2px;
}

.containshorizon .fas {
  margin-top: 8px;
}

.containsnzbget .fas {
  margin-top: 8px;
}

/*
.fas.fa-tint {
  margin-left: 5px;
  margin-top: 4px;
}
*/

.fas.fa-trash {
  margin-left: 8px;
}

.fas.fa-bolt {
  margin-left: 8px;
}

.wi.wi-wind-direction {
  margin-left: 4px;
  margin-top: 2px;
}

.fas.fa-toggle-off {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* For IE8 and earlier */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  margin: 0px;
  margin-left: 15px;
}

.smalltitle h3 {
  font-size: 12px !important;
  margin-left: 6px;
}

h1 {
  font-size: 35px;
}

p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.row>div {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

.clear {
  clear: both;
}

.transbg {
  padding-top: 15px;
  padding-bottom: 15px;
  border: 7px solid rgba(255, 255, 255, 0);
  background: rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

.transbg.dark {
  background: rgba(0, 0, 0, 0.5);
}

.dt_block.popup {
  background:unset;
}

.block_clock h1,
.block_clock h4 {
  margin-left: 0px !important;
}

.block_clock {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.with_controls {
  padding-top: 6px !important;
}


/*
Only add this hover on NON touch devices
*/

@media (hover: hover) {
  
  html.non-touch .hover:hover{
    background: rgba(255, 255, 255, 0.1);
    background-clip: padding-box;
    border: 7px solid rgba(255, 255, 255, 0);
  }

  html.non-touch .dial.hover:hover {
    background: inherit;
  }
  
}


.transbg.hover {
  cursor: pointer;
}

.transbg.hover.hovered {
  background: rgba(255, 255, 255, 0.1);
  background-clip: padding-box;
  border: 7px solid rgba(255, 255, 255, 0);
  cursor: pointer;
}

.iconslider {
  cursor: pointer;
}

.cast-button-container {
  padding: 13px !important;
}

.cast-button {
  height: 25px;
  width: 25px;
  padding: 1px;
  vertical-align: middle;
  display: inline;
  --disconnected-color: red;
  --connected-color: green;
}


.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  padding-right: 5px;
  padding-left: 5px;
}

.containsicalendar .transbg {
  padding-left: 11px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.column1.col-xs-5,
.column2.col-xs-5,
.column3.col-xs-2 {
  padding: 0px !important;
}

.row {
  margin: 0px !important;
}

.trainrow,
.trafficrow {
  font-size: 14px !important;
}

.trainrow strong,
.trafficrow strong {
  display: inline-block;
}

.col-icon {
  width: 40px !important;
  float: left;
  z-index: 10;
  padding-left: 5px;
  padding-right: 5px;
}

.col-data {
  width: calc(100% - 45px);
  float: left; 
}

.hasbackground .col-data {
  text-shadow: 0px 0px 10px black;
}

.right2col {
  padding-right: 70px;
}

.right1col {
  padding-right: 40px;
}

.no-icon {
  width: 100%;
}

.slider {
  margin-top: 7px;
  margin-right: 7px;
}

.rgbcontainer {
  display: flex
}

.rgbcontainer .slider {
  width: 100%
}

.rgbcontainer .rgbholder {
  flex: 0 0 50px
}

.weekday {
  margin-bottom: 5px;
}

.ui-widget.ui-widget-content {
  background-color: #aaa;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  width: 20px;
  height: 20px;
  margin-top: -4px;
  margin-left: -4px;
}

.buttonimg {
  max-height: 20px;
}

.ml {
  margin-left: 10px;
}

.mr {
  margin-right: 10px;
}

.navbar-default {
  background-color: white;
  border-color: rgba(34, 34, 34, 0.05);
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  transition: all 0.35s;
}

.navbar-default .navbar-header .navbar-brand {
  color: #f05f40;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

.navbar-default .navbar-header .navbar-brand:hover,
.navbar-default .navbar-header .navbar-brand:focus {
  color: #eb3812;
}

.navbar-default .navbar-header .navbar-toggle {
  font-weight: 700;
  font-size: 12px;
  color: #222222;
  text-transform: uppercase;
}

.navbar-default .nav>li>a,
.navbar-default .nav>li>a:focus {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 13px;
  color: #222222;
}

.navbar-default .nav>li>a:hover,
.navbar-default .nav>li>a:focus:hover {
  color: #f05f40;
}

.navbar-default .nav>li.active>a,
.navbar-default .nav>li.active>a:focus {
  color: #f05f40 !important;
  background-color: transparent;
}

.navbar-default .nav>li.active>a:hover,
.navbar-default .nav>li.active>a:focus:hover {
  background-color: transparent;
}

@media (min-width: 768px) {
  .navbar-default {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.3);
  }
  .navbar-default .navbar-header .navbar-brand {
    color: rgba(255, 255, 255, 0.7);
  }
  .navbar-default .navbar-header .navbar-brand:hover,
  .navbar-default .navbar-header .navbar-brand:focus {
    color: white;
  }
  .navbar-default .nav>li>a,
  .navbar-default .nav>li>a:focus {
    color: rgba(255, 255, 255, 0.7);
  }
  .navbar-default .nav>li>a:hover,
  .navbar-default .nav>li>a:focus:hover {
    color: white;
  }
  .navbar-default.affix {
    background-color: white;
    border-color: rgba(34, 34, 34, 0.05);
  }
  .navbar-default.affix .navbar-header .navbar-brand {
    color: #f05f40;
    font-size: 14px;
  }
  .navbar-default.affix .navbar-header .navbar-brand:hover,
  .navbar-default.affix .navbar-header .navbar-brand:focus {
    color: #eb3812;
  }
  .navbar-default.affix .nav>li>a,
  .navbar-default.affix .nav>li>a:focus {
    color: #222222;
  }
  .navbar-default.affix .nav>li>a:hover,
  .navbar-default.affix .nav>li>a:focus:hover {
    color: #f05f40;
  }
}

img.icon {
  max-width: 30px;
}

.off.icon {
  opacity: 0.4 !important;
}

.on.icon {
  opacity: 1 !important;
}

.mixed.icon {
  opacity: 1;
}

.blinds .fas.fa-arrow-up,
.blinds .fas.fa-arrow-down,
.blinds .fas.fa-stop-circle {
  font-size: 20px !important;
  margin-right: 3px !important;
}

@media (max-width: 975px) {
  div.mh {
    height: 75px;
  }
  .transbg.col-xs-1,
  .transbg.col-xs-2,
  .transbg.col-xs-3,
  .transbg.col-xs-4,
  .transbg.col-xs-5,
  .transbg.col-xs-6,
  .transbg.col-xs-7,
  .transbg.col-xs-8,
  .transbg.col-xs-9,
  .transbg.col-xs-10,
  .transbg.col-xs-11,
  .transbg.col-xs-12 {
    padding-top: 7px;
    padding-bottom: 7px;
  }
  .dt_block {
    padding: 2px !important;
  }

  /* dirty fix for group component ... */

  .mh.dt_block {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .dt_title,
  .dt_state {
    margin: 2px 2px;
  }
  .dt_block .col-icon {
    width: 36px !important;
    margin: 2px;
  }
  .button .dt_state,
  .frame .dt_state {
    margin: -2px;
  }
  .dt_title {
    font-size: 100%;
  }
  .cast-button-container {
    padding: 3px !important;
  }
  h1,
  h4 {
    margin-left: 0px !important;
  }
  img.icon {
    max-width: 15px !important;
  }
  .col-icon .fas,
  .col-icon .far,
  .col-icon .fab,
  .col-icon .wi {
    font-size: 15px !important;
  }
  
  .fa-tv:before {
    font-size: 12px;
  }
  .big .wi {
    font-size: 30px !important;
  }
  .col-icon {
    max-width: 26px !important;
  }
  .col-data {
    width: calc(100% - 30px);
  }
  .btn.stop {
    top: 14px;
    width: 60px;
    right: -14px;
  }
  .trashcan {
    max-width: 15px !important;
  }
  .iconheating {
    margin-top: 0px;
  }
  .title-input {
    font-size: 14px !important;
    margin-top: 0px;
  }
}

div.screen {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  background-position: center;
  color: white;
}


.section-heading {
  margin-top: 0;
}

.text-primary {
  color: #f05f40;
}

.no-gutter>[class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

.btn-default {
  color: #222222;
  background-color: white;
  border-color: white;
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  transition: all 0.35s;
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open>.dropdown-toggle.btn-default {
  color: #222222;
  background-color: #f2f2f2;
  border-color: #ededed;
}

.btn-default:active,
.btn-default.active,
.open>.dropdown-toggle.btn-default {
  background-image: none;
}

.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: white;
  border-color: white;
}

.btn-default .badge {
  color: white;
  background-color: #222222;
}

.btn-primary {
  color: white;
  background-color: #f05f40;
  border-color: #f05f40;
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  transition: all 0.35s;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open>.dropdown-toggle.btn-primary {
  color: white;
  background-color: #ee4b28;
  border-color: #ed431f;
}

.btn-primary:active,
.btn-primary.active,
.open>.dropdown-toggle.btn-primary {
  background-image: none;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #f05f40;
  border-color: #f05f40;
}

.btn-primary .badge {
  color: #f05f40;
  background-color: white;
}

.btn {
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  padding: 0px 5px 0px 5px;
  font-size: 120%;
  margin-right: 5px;
}

.btn-xl {
  padding: 15px 30px;
}

.btn-group .btn {
  font-size: 12px;
  font-weight: 400;
  padding: 2px 6px;
  margin-right: 2px;
}

.btn-group .btn.active {
  font-weight: 700;
}

.modal-login {
  max-height: 90%;
  max-width: 90%;
  min-width: 25% !important;
  margin: 0 auto;
  margin-top: 200px;
}

.content-login {
  display: block;
  font-family: Verdana;
  font-size: 22px;
  line-height: 22px;
  padding: 10px 0 0;
  color: #000;
}

.login {
  text-align: center;
  padding: 20px;
}

.login input[type='text'] {
  height: 30px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 2px;
  color: #000;
  font-family: 'Exo', sans-serif;
  font-size: 14px;
  font-weight: 400;
  padding: 4px;
}

.login input[type='password'] {
  height: 30px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 2px;
  color: #000;
  font-family: 'Exo', sans-serif;
  font-size: 14px;
  font-weight: 400;
  padding: 4px;
  margin-top: 10px;
}

.login input[type='button'] {
  height: 35px;
  padding: 6px;
  margin-top: 10px;
}

.login input[type='button']:hover {
  opacity: 0.8;
}

.login input[type='button']:active {
  opacity: 0.6;
}

.login input[type='text']:focus {
  outline: none;
  border: 1px solid rgba(0, 0, 0, 0.9);
}

.login input[type='password']:focus {
  outline: none;
  border: 1px solid rgba(0, 0, 0, 0.9);
}

.login input[type='button']:focus {
  outline: none;
}

::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}

::-moz-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}

::-moz-selection {
  color: white;
  text-shadow: none;
  background: #222222;
}

::selection {
  color: white;
  text-shadow: none;
  background: #222222;
}

img::selection {
  color: white;
  background: transparent;
}

img::-moz-selection {
  color: white;
  background: transparent;
}

body {
  webkit-tap-highlight-color: #222222;
}

#latetrain {
  color: red;
}

#notlatetrain {
  color: green;
}

#departureScheduled {
  font-size: 10px !important;
}

a:not([href]) {
  cursor: pointer;
}


/* EVOHOME START */

.text-grey {
  color: #bbb;
  white-space: nowrap;
}

.small_fa {
  font-size: 0.9em;
}

.select {
  background: transparent;
  border: 0;
  color: white !important;
}

.select option {
  border: 0;
  color: white !important;
  background-color: #222222;
}

.hide {
  display: none !important;
}


/* EVOHOME END */

.hr_thin {
  height: 0.8px;
  border: none;
  background-color: #fff;
  opacity: 0.2;
  margin-bottom: 0.5rem !important;
  margin-top: 0.5rem !important;
}

.modal {
  text-align: center;
}

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  min-width: 50%;
  margin-left:auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .modal:before {
    display: inline-block;
    vertical-align: middle;
    content: ' ';
    height: 100%;
  }

  .modal-dialog-settings {
    margin: 80px auto;
    vertical-align: top;
  }
}

/* START: NEWS BLOCK*/

#newsTicker {
  margin: 10px 0 0 15px;
  color: #333;
  padding-top: 0px;
  padding-left: 0px;
}

#newsTicker li {
  min-height: 72px;
  text-overflow: ellipsis;
  text-align: left;
  font-size: 14px;
  color: #fff;
  padding-left: 0px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.news .headline {
  margin-left: 0.5rem !important;
}

.news .headline .title,
.news .headline .description {
  margin-bottom: 0.5rem !important;
}

.news .headline .title {
  font-size: 14px;
}

.news .headline .description {
  font-size: 13px;
}

.news .headline .updated {
  font-size: 10px;
  opacity: 0.4;
}

.news_row {
  display: flex;
}

.news_image {
  flex: 0 0 16%;
}

.news_image img {
  width: 90%;
}

.news .dt_state {
  overflow: hidden;
}


/* END: NEWS BLOCK */


/* START: TOOLTIPSTYLE */

canvas {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.chartjs-tooltip {
  opacity: 1;
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  border-radius: 10px;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
  pointer-events: none;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  padding: 10px;
  z-index: 3;
}

.chartjs-tooltip.left {
  transform: translate(13%, -30%);
}

.chartjs-tooltip.right {
  transform: translate(-110%, -30%);
}

.chartjs-tooltip.bottom {
  transform: translate(-50%, -150%);
}

.chartjs-tooltip.left:before,
.chartjs-tooltip.right:before,
.chartjs-tooltip.bottom:before {
  border: solid;
  border-color: #111 transparent;
  border-color: rgba(0, 0, 0, 0.8) transparent;
  border-width: 16px 8px 0 8px;
  content: '';
  display: block;
  top: 57%;
  position: absolute;
}

.chartjs-tooltip.left:before {
  left: 0%;
  transform: rotate(90deg) translate(-100%, 100%);
}

.chartjs-tooltip.right:before {
  left: 100%;
  transform: rotate(270deg) translate(100%, 0%);
}

.chartjs-tooltip.bottom:before {
  left: 50%;
  top: 100%;
  transform: rotate(0deg) translate(-50%, 0%);
}

.chartjs-tooltip thead {
  border-collapse: collapse;
  border-bottom: solid thin;
}

.chartjs-tooltip tr {
  padding: 2px 0px;
}

.chartjs-tooltip th {
  padding-bottom: 5px;
}

.chartjs-tooltip th i {
  font-size: 12px;
  padding-right: 5px;
}

.chartjs-tooltip tbody tr:first-child td {
  padding-top: 5px;
}

.chartjs-tooltip tbody tr td:nth-child(2) {
  padding-right: 15px;
  white-space: nowrap;
}

.chartjs-tooltip tbody tr td:nth-child(3) {
  text-align: end;
}

.chartjs-tooltip tr.total {
  border-top: solid thin;
  border-bottom: solid thin;
  height: 25px;
  border-color: grey;
}

.chartjs-tooltip-key {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border-width: 2px;
}

.chartjs-tooltip-fa {
  font-size: 15px;
  margin-left: -2px;
  margin-top: 1px;
  margin-right: 5px;
}


/* END: TOOLTIPSTYLE */


/* START: GRAPH-MENU DEBUG */

.flex-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-column {
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.text-yellow {
  color: #f0ad4e !important;
}

.text-blue {
  color: #0275d8 !important;
}

.text-green {
  color: #5cb85c !important;
}

.text-red {
  color: #d9534f !important;
}

.graph-menu {
  color: white;
}

.graphbuttons .dropdown-menu {
  min-width: 131px !important;
}

.graph-menu hr {
  border-width: 1px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.graph-menu .modal-title,
.graph-menu .fas {
  font-size: 16px;
  margin: 0;
}

.graph-menu .modal-content {
  background-color: #222;
}

.graph-menu .modal-title .fas {
  padding-right: 5px;
}

.graph-menu div:not(.debug)>.fas {
  padding-right: 5px;
}

.graph-menu .flex-row {
  font-size: 14px;
}

.graph-menu .flex-row.title {
  justify-content: space-between;
}

.graph-menu .label {
  color: #939393;
  font-size: inherit;
  padding: 0;
  margin-right: 10px;
}

.graph-menu .devices,
.graph-menu .input-keys,
.graph-menu .output-keys,
.graph-menu .ylabels {
  padding-right: 20px;
}

.graph-menu .modal-header {
  padding-top: 20px;
  padding-bottom: 0px;
}

.graph-menu .device-list {
  width: 100%;
  flex: 1;
  background: #222;
  padding: 0px 10px;
  border: solid 0.5px white;
  border-radius: 3px;
  margin-right: 10px;
  overflow: scroll;
  max-height: 500px;
}

.graph-menu .device-list .device {
  font-size: 12px;
  border-bottom: solid 0.5px white;
  padding: 5px 0px;
  display: flex;
}

.graph-menu .device-list .device .idx {
  font-size: 12px;
  margin-right: 5px;
}

.graph-menu .device-list .device .idx .fas {
  font-size: 12px;
  margin-right: 5px;
}

.graph-menu .device-list .device .col-fas {
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex;
  flex-direction: column;
}

.graph-menu textarea {
  width: 60%;
  background: #222;
  color: grey;
}

.graph-menu .btn.debug {
  color: #222;
  background-color: white;
}


/* END: GRAPH-MENU DEBUG */


/* START: CAMERA COMPONENT */

.cam-container,
.cam-container .stream {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 20;
}

.cam-container .carousel-inner {
  position: relative;
  width: 100%;
  overflow: visible!important;
}

.cam-container .stream {
  position: fixed;
  background-color: #2e2e2e;
}

.cam-container .cam-tray {
  display: flex;
  flex: auto;
  justify-content: center;
  width: 100%;
  background-color: #2e2e2e;
  position: fixed;
  left: 0;
  bottom: 0;
  color: white;
  text-align: center;
  z-index: 31;
}

.cam-container .cam-tray.open {
  height: 15vh;
  box-shadow: 0px -10px 35px 0px rgba(0, 0, 0, 0.7);
}

.cam-container .cam-tray.shut {
  height: 0;
}

.cam-tray-item {
  padding: 10px;
  max-width: fit-content;
}

.cam-tray-caption {
  position: relative;
  bottom: 15%;
}

.cam-container .handle {
  position: absolute;
  width: 5%;
  height: 30px;
  bottom: 0;
  border-radius: 5px 5px 0px 0px;
  color: #5d5d5d;
  text-align: center;
  border: 0.5px solid #5d5d5d;
  border-bottom: 0;
  z-index: 30;
  left: 50%;
  padding-left: 0;
  margin-left: -2.5%;
  list-style: none;
  border: 0;
  box-shadow: inset 0px 4px 15px 0px rgba(0, 0, 0, 0.7);
  transition: all 0.1s ease-in-out;
  animation: pulse 2s infinite;
}

.cam-container .handle:hover {
  height: 45px;
}

.cam-container .handle i {
  font-size: 1.5vh;
  margin-top: 5%;
}

.cam-container .handle:hover i {
  font-size: 2.5vh;
  color: white;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.4);
  }
  70% {
    -webkit-box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0);
  }
}

@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.4);
  }
  70% {
    -moz-box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0);
    box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0);
  }
  100% {
    -moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0);
  }
}

.cam-container .handle.open {
  display: none;
}

.cam-container .cam-tray-img {
  border: 0px;
  height: 13vh;
  width: auto;
  border-radius: 20px;
  box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.7);
}

.cam-container .btn-group {
  top: 0;
  right: 0;
  position: absolute;
  padding: 20px;
}

.cam-container .carousel-control .glyphicon-chevron-left {
  left: 30%;
}

.cam-container .carousel-control .glyphicon-chevron-right {
  right: 30%;
}

.cam-container .cam-caption {
  position: absolute;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
  z-index: 30;
  right: 3%;
  margin-top: 1%;
}

.cam-container .carousel-inner .item img {
  height: 100vh!important;
}

.cam-container .carousel-indicators {
  bottom: 5%!important;
}

.carbon {
  background: linear-gradient(27deg, #151515 5px, transparent 5px) 0 5px, linear-gradient(207deg, #151515 5px, transparent 5px) 10px 0px, linear-gradient(27deg, #222 5px, transparent 5px) 0px 10px, linear-gradient(207deg, #222 5px, transparent 5px) 10px 5px, linear-gradient(90deg, #1b1b1b 10px, transparent 10px), linear-gradient( #1d1d1d 25%, #1a1a1a 25%, #1a1a1a 50%, transparent 50%, transparent 75%, #242424 75%, #242424);
  background-color: #131313;
  background-size: 20px 20px;
  background-clip: content-box;
}


/* END: CAMERA COMPONENT */


/* START: CORONAVIRUS */

.coronavirus .graphheader {
  height: 20px;
}

.coronavirus .graphtitle {
  width: 90%;
}

.coronavirus .graphheader .fx {
  font-size: 16px !important;
  margin-left: 10px;
}

.coronavirus .graphheader img {
  height: 20%;
  margin-right: 5px;
}

.coronavirus.block_report {
  font-size: 24px !important;
  padding: 15px 5px !important;
}

.coronavirus.block_report .fx {
  font-size: 150% !important;
}

.coronavirus.block_report .title {
  font-size: 14px !important;
  color: #ccc;
}

.coronavirus.block_report .title {
  font-weight: 900;
}

.coronavirus.block_report .flag {
  max-width: 100%;
}

.vertical-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}


/* END: CORONAVIRUS */


/* START: AGENDA */

.agenda table {
  border-collapse: separate;
  border-spacing: 10px 0px;
  margin-left: -10px;
}

.agenda td {
  vertical-align: top;
  white-space: nowrap;
}

.event .description {
  white-space: normal;
}

/* END: AGENDA */


/* START: NEW CALENDAR */

.cal_table {
  border-collapse: collapse;
  height: 100% !important;
}

.cal_table tr {
  display: flex;
}

.cal_table td {
  font-family: Arial, sans-serif;
  padding: 10px 5px;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  word-break: normal;
  border-color: white;
  color: white;
  background-color: #292b2c;
  display: inline-table;
}

.cal_table td:hover {
  background-color: #353738;
}

.cal_table td div {
  font-size: 1.2em;
  text-align: left;
}

.cal_table td>div {
  text-align: center;
}

.cal_table table tr div.event {
  white-space: wrap !important;
}

.cal_table td>div.historic>div {
  color: rgba(255, 255, 255, 0.3);
}

.cal_table td>div.header {
  background-color: #484848;
  max-width: inherit;
}

.cal_table td>div.today {
  background-color: #0275d8;
}

.cal_table td>div.event:hover,
.cal_table td>div.event.historic:hover>div {
  background-color: #f0ad4e;
  color: #292b2c;
}

.cal_table td>div.allday {
  background-color: #d9534f;
  border-radius: 2px;
}

.cal_table td>div.allday.hol {
  background-color: #428442;
  border-radius: 2px;
}

.cal_table td>div:not(:first-child) {
  display: inline-flex;
  margin: 3px 5px;
  display: flex;
}

.cal_table td div div:nth-child(1) {
  margin-right: 5px;
}

.cal-modal {
  position: absolute;
  width: 30%;
  height: 30%;
  background-color: #292b2c;
  z-index: 100;
  top: 0;
  top: 50%;
  left: 50%;
  margin-top: -10%;
  margin-left: -15%;
  padding: 1%;
  box-shadow: 0px 20px 20px 20px rgba(0, 0, 0, 0.5);
  color: white;
  border: solid 2px #292b2c;
  border-radius: 5px;
}

.cal-modal>.cal-title {
  font-size: 1.8em;
  font-weight: 900;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

.cal-modal>.cal-title>.far {
  float: right !important;
}

.cal-modal>.cal-info {
  overflow-y: auto;
  height: calc(100% - 55px);
  border-bottom: solid 1px #bebebe;
  border-top: solid 1px #bebebe;
  padding-top: 10px;
}

.cal-modal>.cal-footer {
  bottom: 0px !important;
  position: absolute;
  width: 93%;
  line-height: 2;
  text-align: center;
  height: 30px;
}

.cal-footer .cal-name {
  left: 47%;
  position: absolute;
}

.cal-modal>.cal-footer a {
  color: grey;
}

.cal-modal>.cal-footer a:hover {
  color: dodgerblue;
}

.cal-modal>.cal-footer a:nth-child(1) {
  float: left;
}

.cal-modal>.cal-footer a:nth-child(2) {
  float: right;
}

@media screen and (max-width: 1400px) and (max-height: 800px) {
  .cal_table td>div:first-child {
    text-align: center;
  }
  .cal_table td div {
    font-size: 0.9em;
    text-align: left;
  }
}


/* END: CALENDAR */


/* START: SECURITY PANEL */

@font-face {
  font-family: 'Audiowide';
  src: url('../font/Audiowide.eot');
  src: url('../font/Audiowide.eot?#iefix') format('embedded-opentype'), url('../font/Audiowide.woff') format('woff'), url('../font/Audiowide.ttf') format('truetype'), url('../font/Audiowide.svg#../font/Audiowide-7Italic') format('svg');
}

.sec-modal {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #1e1e1e;
  z-index: 1001;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bebebe;
}

.sec-body {
  background: rgb(31, 31, 31);
  height: 100%;
}

.security-panel {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: inherit;
  color: #bebebe;
  background-color: rgba(0, 0, 0, 0.2);
}

.sec-modal .sec-frame {
  position: relative
}

.sec-frame {
  border-radius: 5px;
  position: relative;
  width: 12em;
  margin: 0 auto
}

.sec-frame.decorated {
  background-image: url(../img/bg14.jpg);
  -webkit-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 6px 20px 5px rgba(0, 0, 0, 0.75), inset 0px 5px 7px -2px rgba(252, 252, 252, 0.2), inset 0 -14px 8px 2px rgba(0, 0, 0, 0.7);
  padding: 1em;
}

.sec-frame:not(.decorated) {
  background-color: rgba(0,0,0,0.2);
}

.sec-frame .keypad-header {
  display: flex;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2em;
  font-size: 100%;
}

.sec-frame .keypad-header .fas {
  font-size: 100% !important;
}

.sec-frame .keypad-header .text {
  margin: 0;
  color: #5a5959;
  text-shadow: 1px 2px 8px rgba(0, 0, 0, 1);
}

.sec-frame .keypad-header .fas {
  margin-right: 0.3em;
  -webkit-animation: rotateY 2s infinite linear;
  animation: rotateY 2s infinite linear;
  text-transform: uppercase;
  background: radial-gradient(circle, white, #000);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@-webkit-keyframes rotateY {
  to {
    -webkit-transform: rotateY(360deg);
  }
}

@keyframes rotateY {
  to {
    transform: rotateY(360deg);
  }
}

.sec-frame .keypad-footer {
  color: #494848;
  text-align: center;
  font-family: monospace;
  width: 100%;
  font-size: 50%;
  line-height: 2;
}

.sec-frame .keypad-input {
  margin: 0 2%;
}

.sec-frame .keypad-input table {
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
  margin: 0;
}

.sec-frame .keypad-input table td {
  width: 25%;
  padding: 2%;
}

.sec-frame .keypad-input table tr {
  white-space: nowrap;
}

.sec-frame .keypad-input .input-container {
  overflow: hidden;
  margin: 0 2%;
}

.sec-frame.decorated .keypad-input .input-container {
  box-shadow: 0px 2px 9px 1px rgba(0, 0, 0, 0.8);
}

.sec-frame .keypad-input .key-input {
  font-family: 'Audiowide' !important;
  width: 100%;
  border-radius: 3px;
  background-color: #161616;
  border: 0;
  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5), inset 0px 0px 15px 5px rgba(0, 0, 0, 0.8);
  color: #8fffd0;
  font-family: monospace;
  text-align: center;
  height: 100%;
  font-size: 70%;
}

.text-strobe {
  background: linear-gradient(to right, #e72a3a 10%, #fff 50%, #5bdaff 60%);
  background-size: auto auto;
  background-clip: border-box;
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: textclip 1.5s linear infinite;
}

@keyframes textclip {
  to {
    background-position: 200% center;
  }
}

.sec-frame .keypad-input .key {
  vertical-align: middle;
  background: #0a0a0a;
  color: #bebebe;
  border-radius: 5px;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-family: monospace;
  text-transform: uppercase;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 100%;
  line-height: 1.75;
}

.sec-frame.decorated .keypad-input .key {
  -webkit-box-shadow: 0px 11px 22px #000000, 0px 3px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  -moz-box-shadow: 0px 11px 22px #000000, 0px 3px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  box-shadow: 0px 11px 22px #000000, 0px 3px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
}

.sec-frame .keypad-input .key:not(.disabled):hover {
  filter: brightness(110%);
}

.sec-frame .keypad-input .key:not(.disabled):active {
  transform: scale(0.9);
  -webkit-box-shadow: 0px 2px 6px #000000, 0px 15px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 1), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  -moz-box-shadow: 0px 2px 6px #000000, 0px 15px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 1), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  box-shadow: 0px 2px 6px #000000, 0px 15px 15px rgba(0, 0, 0, 0.4), inset 0px 1px 0px rgba(255, 255, 255, 1), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
}

.sec-frame .keypad-input .key.h {
  border: 0 !important;
  cursor: auto;
}

.sec-frame .keypad-input .key[data-id='disarm'] {
  background-color: #1f451f !important;
}

.sec-frame .keypad-input .key[data-id='armhome'] {
  background-color: #5f4726 !important;
}

.sec-frame .keypad-input .key[data-id='armaway'] {
  background-color: #531e1d !important;
}

.sec-frame .keypad-input .key[data-id='dashticz'] {
  background-color: #1a3649 !important;
}

.sec-frame .keypad-input .digit,
.sec-frame .keypad-input .cancel,
.sec-frame .keypad-input .status {
  text-align: center;
  height: 100%;
  width: 100%;
}

.sec-frame .keypad-input .status:before {
  position: relative;
  font-family: 'Font Awesome 5 Free';
  mix-blend-mode: soft-light;
  font-weight: 900;
  font-size: 100%;
  color: rgba(130, 130, 130, 0.8);
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.8), 0 0 0 #000, 1px 1px 3px rgba(255, 255, 255, 0.7);
}

.sec-frame .keypad-input .status[data-id='disarm']:before {
  content: '\f09c';
}

.sec-frame .keypad-input .status[data-id='armhome']:before {
  content: '\e065';
}

.sec-frame .keypad-input .status[data-id='armaway']:before {
  content: '\f554';
}

.sec-frame .keypad-input .status[data-id='dashticz']:before {
  content: '\f2f6';
}

.sec-frame .keypad-input .key[data-id='cancel']:before {
  content: '\f104';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 100%;
}

.no-select {
  -webkit-user-select: none;
  /* Safari */
  -ms-user-select: none;
  /* IE 10+ and Edge */
  user-select: none;
  /* Standard syntax */
}

.screw {
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  border-radius: 100%;
  background: -moz-linear-gradient( -45deg, #adadad 0%, #e1e1e1 51%, #dddddd 68%, #f6f6f6 100%);
  background: -webkit-gradient( linear, left top, right bottom, color-stop(0%, #adadad), color-stop(51%, #e1e1e1), color-stop(68%, #dddddd), color-stop(100%, #f6f6f6));
  background: -webkit-linear-gradient( -45deg, #adadad 0%, #e1e1e1 51%, #dddddd 68%, #f6f6f6 100%);
  background: -o-linear-gradient( -45deg, #adadad 0%, #e1e1e1 51%, #dddddd 68%, #f6f6f6 100%);
  background: -ms-linear-gradient( -45deg, #adadad 0%, #e1e1e1 51%, #dddddd 68%, #f6f6f6 100%);
  background: linear-gradient( 135deg, #adadad 0%, #e1e1e1 51%, #dddddd 68%, #f6f6f6 100%);
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#adadad', endColorstr='#f6f6f6', GradientType=1);
  -moz-box-shadow: 0px 2px 4px #000;
  -webkit-box-shadow: 0px 2px 4px #000;
  box-shadow: 0px 2px 4px #000, -1px 3px 10px 7px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-image: -webkit-radial-gradient( 50% 0%, 8% 50%, hsla(0, 0%, 100%, 0.5) 0%, hsla(0, 0%, 100%, 0) 100%), -webkit-radial-gradient(50% 100%, 12% 50%, hsla(0, 0%, 100%, 0.6) 0%, hsla( 0, 0%, 100%, 0) 100%), -webkit-radial-gradient(0% 50%, 50% 7%, hsla(0, 0%, 100%, 0.5) 0%, hsla( 0, 0%, 100%, 0) 100%), -webkit-radial-gradient(100% 50%, 50% 5%, hsla(0, 0%, 100%, 0.5) 0%, hsla( 0, 0%, 100%, 0) 100%), -webkit-repeating-radial-gradient(50% 50%, 100% 100%, hsla(0, 0%, 0%, 0) 0%, hsla( 0, 0%, 0%, 0) 3%, hsla(0, 0%, 0%, 0.1) 3.5%), -webkit-repeating-radial-gradient(50% 50%, 100% 100%, hsla(0, 0%, 100%, 0) 0%, hsla(0, 0%, 100%, 0) 6%, hsla(0, 0%, 100%, 0.1) 7.5%), -webkit-repeating-radial-gradient(50% 50%, 100% 100%, hsla(0, 0%, 100%, 0) 0%, hsla(0, 0%, 100%, 0) 1.2%, hsla(0, 0%, 100%, 0.2) 2.2%), -webkit-radial-gradient(50% 50%, 200% 50%, hsla(0, 0%, 90%, 1) 5%, hsla( 0, 0%, 85%, 1) 30%, hsla(0, 0%, 60%, 1) 100%);
  opacity: 0.5;
}

.indent {
  -moz-box-shadow: inset 1px -6px 8px #222;
  -webkit-box-shadow: inset 1px -6px 8px #222;
  box-shadow: inset 1px -6px 8px #222;
  transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  -webkit-transform: rotate(150deg);
  height: 29%;
  width: 135%;
  margin-top: 41%;
  margin-left: -20%;
}

.sec-frame .screw.tl {
  top: 0.5em;
  left: 0.5em;
}

.sec-frame .screw.tr {
  top: 0.5em;
  right: 0.5em;
}

.sec-frame .screw.bl {
  bottom: 0.5em;
  left: 0.5em;
}

.sec-frame .screw.br {
  bottom: 0.5em;
  right: 0.5em;
}

.sec-frame td .status.key.disabled {
  background-color: #313131 !important;
  cursor: not-allowed;
}

.sec-frame[data-mode='2'] table tr:nth-child(4) td:nth-child(3) {
  display: none;
}


/* END: SECURITY PANEL */


/* START: DIAL */

.transbg.dial {
  background-color: rgba(0,0,0,0);
}

.block-center {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.mh2 {
  height: 170px !important;
}

.mh4 {
  height: 340px !important;
}

.dt_content .dial {
  
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  font-size: 240px;
  width: 1em;
  height: 1em;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  float: left;
  background-color: #8b8b8b;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.3), inset 0px 0px 6px 0px rgba(0, 0, 0, 1);
}

.dial:hover {
  cursor: default;
}

.dial.active:not(.fixed):hover:after {
  top: 0.11em;
  left: 0.11em;
  width: 0.78em;
  height: 0.78em;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.dial.p0 .bar,
.dial.p180 .bar,
.dial.p180 .fill,
.dial.p360 .bar,
.dial.p360 .fill {
  position: absolute;
  border: 0.08em solid;
  width: 0.78em;
  height: 0.78em;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  left: 0.03em;
  top: 0.03em;
}

.dial.p0 .bar,
.dial.p180 .bar {
  clip: rect(0em, 0.47em, 1em, 0em);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}

.dial.p180 .fill,
.dial.p360 .fill {
  clip: rect(0em, 0.5em, 1em, 0em);
  -webkit-transform: scaleX(-1) rotate(360deg);
  -moz-transform: scaleX(-1) rotate(360deg);
  -ms-transform: scaleX(-1) rotate(360deg);
  -o-transform: scaleX(-1) rotate(360deg);
  transform: scaleX(-1) rotate(360deg);
}

.dial.p360 .bar,
.dial.p360 .fill {
  clip: auto;
}

.slice.primary{
  color: #ffa500;
  color: var(--dial-color);
}

.slice.secondary {
  color: #307bbb;
}

.slice.positive {
  color: #28a745;
}

.slice.negative{
  color: #dc3545;
}

.dial.p180 .fill:after {
  content: '';
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

.dial *,
.dial *:before,
.dial *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.dial:after {
  position: absolute;
  top: 0.08em;
  left: 0.08em;
  display: block;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  background-color: whitesmoke;
  width: 0.84em;
  height: 0.84em;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in;
  -moz-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  background-color: transparent;
}

.dial .slice {
  position: absolute;
  width: 1em;
  height: 1em;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-140deg);
}

.dial .slice.splitdial-plus {
  transform: translate(-50%,-50%) rotateY(0deg) rotateX(0deg)!important;
}

.dial .slice.splitdial-minus {
  transform: translate(-50%,-50%) rotate(180deg)!important;
}

.dial:not(.p180):not(.p360) .slice,
.dial.p0 .slice {
  clip: rect(0em, 1em, 1em, 0.5em);
}

.dial.p180 .slice,
.dial.p360 .slice {
  clip: rect(0em, 1em, 1em, 0em)!important;
}

.dial .dial-container {
  position: absolute;
  width: 90%;
  height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in;
  -moz-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}

.dt_content .dial.active:not(.fixed):hover .dial-container {
  width: 80%;
  height: 80%;
/*  top: 6%;
  left: 6%;*/
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in;
  -moz-transition-timing-function: ease-in;
  -o-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}

.dial .draggable {
  width: 1em;
  height: 1em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.dial .dial-center {
  width: 85%;
  height: 85%;
  font-size: 10%;
  /*
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto auto;*/
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: radial-gradient(circle, #333, #444);
  box-shadow: inset 0 0 3px 0px rgba(0, 0, 0, 0.5), 0 0 11px 0px rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  z-index: 2;
  user-select: none;
}

.dt_content .dial.active:not(.fixed):hover .dial-center {
  width: 65%;
  height: 65%;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.dt_content .dial.fixed .dial-center {
  width: 95%;
  height: 95%;
}

.dial-menu .status {
  list-style-type: none;
  padding-left: 0;
  width: 130%;
  height: 100%;
/*  font-size: 9%;*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: center;
  text-align-last: center;
  -moz-text-align-last: center;
  color: #cccccc;
  border: 0;
  overflow-y: hidden;
  outline: none;

  justify-content: center;
  display: flex;
  flex-direction: column;
}

.dial-menu  {
    height: 90%;
    width: 90%;
    position: absolute;
    top: 5%;
    left:5%;
    border-radius: 50%;
    box-shadow: inset 0px 0.5px 0px rgba(255, 255, 255, 0.3), inset 0px 0px 2px rgba(255, 255, 255, 0.5), inset 0px 5px 8px 5px rgba(0, 0, 0, 0.8);
    background-color: #2a2a2a;  
    overflow:hidden;
}

.dial-menu .status li {
  text-align: center;
  text-align-last: center;
  -moz-text-align-last: center;
  max-width: 100% !important;
  width: 98%;
  line-height: 1.35;
}

.dial-menu .status li:hover:not(.selected),
.dial-menu .status li:focus:not(.selected),
.dial-menu .status li:active:not(.selected) {
  color: orange !important;
  color: var(--dial-color) !important;
}

.dial-menu .status li.selected {
  background: linear-gradient( to right, black 0%, #29261f 8%, var(--dial-color) 50%, #29261f 92%, black 100%);
  color: #393939;
  -moz-box-shadow: 5px 0px 15px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 5px 0px 15px rgba(0, 0, 0, 0.5);
  box-shadow: 5px 0px 15px rgba(0, 0, 0, 0.5);
}

.dial-menu-title {
 
}

.dial-menu-title-text {
/*
  position: absolute;
  text-align: center;
  bottom:0;
  width:100%;
  font-size: 9%;
  line-height:400%;
  color: orange;
  color: var(--dial-color);  
  */
}

.dial-menu-title-background {
  content:'';
  position: absolute;
  line-height:400%;
  bottom:0;
  left:0;
  text-align: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
    background: radial-gradient(circle, #333, #444);
  clip: rect( 6em, 12em, 12em, 0);
}

.dial-menu-title {
  position:absolute;
  width: 100%;
  height: 27%;
  bottom: 5%;
  left: 0;
  
/*  background: rgba(0,255,0,0.5);*/
  display: flex;
  justify-content: center;
  align-items: center;
  color: orange;
  color: var(--dial-color);  
}

.dial-menu.hastitle .status {
  height:85%;
  top:35%;
}
.dial .dial-face {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(0deg, #181818, #444, #4b4b4b);
  -webkit-box-shadow: inset 0px 0px 20px 5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: inset 0px 0px 20px 5px rgba(0, 0, 0, 0.5);
  box-shadow: inset 0px 0px 20px 5px rgba(0, 0, 0, 0.5);
}

.dial .dial-needle {
  width: 50%;
  height: 50%;
  position: absolute;
  left: 25%;
  top: 25%;
}

.dial .dial-needle::before {
  content: '';
  position: absolute;
  left: 35%;
  top: -53%;
  border-left: var(--needle-width) solid transparent;
  border-right: var(--needle-width) solid transparent;
  border-bottom: var(--needle-length) solid;
  border-bottom-color: orange !important;
  border-bottom-color: var(--dial-color) !important;
  clip: rect(7px, 1em, 1em, 0em);
  z-index: 2;
}

.dial .dial-needle::after {
  content: '';
  position: absolute;
  left: 36%;
  top: -49%;
  border-left: var(--needle-width) solid transparent;
  border-right: var(--needle-width) solid transparent;
  border-bottom: var(--needle-length) solid rgba(0, 0, 0, 1);
  transform: rotate(3deg);
  filter: blur(2px);
  z-index: 0;
}

.dial .dial-display,
.dial .value,
.dial .info {
  width: 100%;
  text-align: center;
  white-space: nowrap;
}



.dial .dial-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 90%;
}

.dial .value-unit {
  position: absolute;
  top: 30%;
  display: flex;
  align-items: center;
  left: 50%;
  transform: translate(-50%);
}

.dial .value-unit {
  font-size: 130%;
  line-height: 1em;
  color: #cccccc;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  z-index: 5;
}

.dial .unit {
  font-size: 0.7em;
  color: grey;
  margin-left: 0.2em;
}

.extra .unit {
  font-size: unset;
}

.animation {
  animation: fadeInLoad 2s;
}

.dial .device {
  position: absolute;
  top: 7%;
  color: #ffa500;
  font-size: 70%;
  white-space: normal;
  line-height: 1em;
  width: 80%;
  text-align: center;
  left: 50%;
  transform: translate(-50%);

  
}

.dial.text .value-unit {
  width: 95%;
/*  font-size: 10%;*/
}

.dial.text .value {
  white-space: normal;
}

.dial .info {
  position: relative;
  top: 28%;
  font-size: 60%;
  color: grey;
  line-height: 2em;
}

.dial .info.nosetpoint {
  margin-bottom: 7px;
}


.dial .extra {
  position: absolute;
  font-size: 60%;
  color: grey;
  display: flex;
  flex-direction: row;
  justify-content: center;
  top: 60%;
  line-height: 1.3em;
  width: 100%;
  flex-wrap: wrap;
}

.dial .extra.novalue {
  top: 30%;
}

.dial .item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.dial .itemlabel {
  margin-right: 0.3em
}

.dial .info {
  margin-top: auto;
  top: 0px;
}

.dial:hover .info {
  display:block
}

.dial .extra i {
  font-size: 1em;
}

.dial .extra img {
  width: 1em;
  margin-right: 0.25em;
}

.dial .item.primary{
  font-size: 150%;
  width:100%
}


.dataunit {
  display: flex;
  align-items: center;
}

.primary .data{
  font-size: 1.5em;
  line-height: 1.5em;
  color: #cccccc;
}

.dial .extra.hidden {
  visibility: hidden;
}

.dial.active:not(.fixed):hover .value {
  color: orange;
  color: var(--dial-color);
}

.dial-switch .extra {
  margin-top: 4%
}

.dial-switch .info {
  margin-bottom: 1em;
}

/*Some dial utility classes*/

.dial .w100 {
  width: 100%
}

.dial.active:not(.fixed):hover .value-unit .unit {
  font-size: 0.05em;
}

.dial.active:not(.fixed):hover .info,
.dial.active:not(.fixed):hover .device,
.dial.active:not(.fixed):hover .extra {
  display: none;
}

.dial-center.on {
  -webkit-box-shadow: 0 0 0 0.7em var(--dial-rgba);
  -moz-box-shadow: 0 0 0 0.7em var(--dial-rgba);
  box-shadow: 0 0 0 0.7em var(--dial-rgba);
}

.dial-flash {
  box-shadow: 0px 0px 30px 0px rgb(255, 165, 0) !important;
  box-shadow: 0px 0px 30px 0px var(--dial-color) !important;
}

.show-ring {
  border-width: 0.1em !important;
  left: 0.01em !important;
  top: 0.01em !important;
}

@keyframes fadeInLoad {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.dial-numbers {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: gray;
}

.dial-numbers span {
  font-size: 0.06em;
  width: 15%;
  text-align: center;
  position: absolute;
}


/* Dial face 360 degrees with 10 numbers */

.dial-numbers .number.seg_360_10_0 {
  transform: rotate(0.7rad);
  left: 12%;
  top: 78%;
}

.dial-numbers .number.seg_360_10_1 {
  transform: rotate(7.7rad);
  left: -2%;
  top: 53%;
}

.dial-numbers .number.seg_360_10_2 {
  transform: rotate(5.1rad);
  left: 2%;
  top: 27%;
}

.dial-numbers .number.seg_360_10_3 {
  transform: rotate(5.62rad);
  left: 18%;
  top: 8%;
}

.dial-numbers .number.seg_360_10_4 {
  transform: rotate(6.27rad);
  left: 42%;
  top: 0%;
}

.dial-numbers .number.seg_360_10_5 {
  transform: rotate(7rad);
  left: 67%;
  top: 8%;
}

.dial-numbers .number.seg_360_10_6 {
  transform: rotate(7.4rad);
  left: 84%;
  top: 27%;
}

.dial-numbers .number.seg_360_10_7 {
  transform: rotate(4.95rad);
  left: 88%;
  top: 53%;
}

.dial-numbers .number.seg_360_10_8 {
  transform: rotate(5.5rad);
  left: 74%;
  top: 78%;
}

.dial-numbers .number.seg_360_10_9 {
  transform: rotate(6.28rad);
  left: 42%;
  top: 90%;
}


/* Dial face 360 degrees with 12 numbers */

.dial-numbers .number.seg_360_12_0 {
  transform: rotate(0.64rad);
  left: 16.5%;
  top: 81.5%;
}

.dial-numbers .number.seg_360_12_1 {
  transform: rotate(7.4rad);
  left: 2%;
  top: 65%;
}

.dial-numbers .number.seg_360_12_2 {
  transform: rotate(4.7rad);
  left: -2.5%;
  top: 45%;
}

.dial-numbers .number.seg_360_12_3 {
  transform: rotate(5.25rad);
  left: 4%;
  top: 22%;
}

.dial-numbers .number.seg_360_12_4 {
  transform: rotate(5.77rad);
  left: 20.5%;
  top: 6.4%;
}

.dial-numbers .number.seg_360_12_5 {
  transform: rotate(6.26rad);
  left: 42%;
  top: 0.5%;
}

.dial-numbers .number.seg_360_12_6 {
  transform: rotate(6.85rad);
  left: 66%;
  top: 7%;
}

.dial-numbers .number.seg_360_12_7 {
  transform: rotate(7.3rad);
  left: 80.7%;
  top: 22%;
}

.dial-numbers .number.seg_360_12_8 {
  transform: rotate(7.83rad);
  left: 87%;
  top: 44%;
}

.dial-numbers .number.seg_360_12_9 {
  transform: rotate(5.17rad);
  left: 83%;
  top: 65%;
}

.dial-numbers .number.seg_360_12_10 {
  transform: rotate(5.65rad);
  left: 69%;
  top: 81.5%;
}

.dial-numbers .number.seg_360_12_11 {
  transform: rotate(6.28rad);
  left: 42%;
  top: 90%;
}


/* Dial face 280 degrees with 10 numbers */

.dial-numbers .number.seg_280_11_0 {
  transform: rotate(0.7rad);
  left: 12%;
  top: 78%;
}

.dial-numbers .number.seg_280_11_1 {
  transform: rotate(7.5rad);
  left: 1%;
  top: 63%;
}

.dial-numbers .number.seg_280_11_2 {
  transform: rotate(4.8rad);
  left: -2.5%;
  top: 42%;
}

.dial-numbers .number.seg_280_11_3 {
  transform: rotate(5.3rad);
  left: 5%;
  top: 21%;
}

.dial-numbers .number.seg_280_11_4 {
  transform: rotate(5.7rad);
  left: 20%;
  top: 6%;
}

.dial-numbers .number.seg_280_11_5 {
  transform: rotate(6.27rad);
  left: 42%;
  top: 0%;
}

.dial-numbers .number.seg_280_11_6 {
  transform: rotate(6.85rad);
  left: 65%;
  top: 6%;
}

.dial-numbers .number.seg_280_11_7 {
  transform: rotate(7.27rad);
  left: 80%;
  top: 21%;
}

.dial-numbers .number.seg_280_11_8 {
  transform: rotate(7.75rad);
  left: 87.5%;
  top: 42%;
}

.dial-numbers .number.seg_280_11_9 {
  transform: rotate(5.15rad);
  left: 84%;
  top: 63%;
}

.dial-numbers .number.seg_280_11_10 {
  transform: rotate(5.6rad);
  left: 71.5%;
  top: 80%;
}

.dial-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 95%;
  height: 95%;
}

.dial-switch input {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  z-index: 100;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  margin: 0;
}

.dial-switch .switch-face {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 50%;
  background: #b2ac9e;
  background: -moz-linear-gradient(#333333, #191919);
  background: -ms-linear-gradient(#333333, #191919);
  background: -o-linear-gradient(#333333, #191919);
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#191919));
  background: -webkit-linear-gradient(#333333, #191919);
  background: linear-gradient(#333333, #191919);
  color: #a5a39d;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  text-shadow: 0 2px 1px rgba(0, 0, 0, 0.25);
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.13), 0 5px 8px rgba(0, 0, 0, 0.3), 0 10px 10px 4px rgba(0, 0, 0, 0.3);
  z-index: -1;
  margin: 0;
}

.background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.dial .background {
  border-radius: 50%
}
/*needed? Remove for now ...
.dial-switch .switch-face:after {
  content: "";
  position: absolute;
  left: -20px;
  right: -20px;
  top: -20px;
  bottom: -20px;
  z-index: -2;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 0, 0, 0.15);
}
*/

.dial-switch .switch-face:before {
  content: "";
  position: absolute;
  left: -10px;
  right: -10px;
  top: -10px;
  bottom: -10px;
  z-index: -1;
  border-radius: inherit;
  box-shadow: inset 0 10px 10px rgba(0, 0, 0, 0.13);
  -webkit-filter: blur(1px);
  -moz-filter: blur(1px);
  -ms-filter: blur(1px);
  -o-filter: blur(1px);
  filter: blur(1px);
}

.dial-switch input:checked {
  width: 99%;
  height: 99%;
}

.dial-switch input:checked~.switch-face {
  box-shadow: 0 0 25px 1px var(--dial-rgba);
  color: orange;
  color: var(--dial-color);
  width: 95%;
  height: 95%;
}

.dial-switch .icon-off {
  font-size: 150%;
  color: rgba(128,128,128,0.5);
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.dial-switch input:checked~.switch-face .device {
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.dial-switch input:checked~.switch-face .fas {
  color: orange;
  color: var(--dial-color);
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.dial-switch input:checked~.switch-face .info {
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.dial-switch .icon-off:after {
  content: "";
  display: block;
  position: absolute;
  width: 90%;
  height: 90%;
  left: 50%;
  top: 50%;
  z-index: -1;
  margin: -45% 0 0 -45%;
  border-radius: 50%;
  background: #d2cbc3;
  background: -moz-linear-gradient(#161616, #6c6c6c);
  background: -ms-linear-gradient(#161616, #6c6c6c);
  background: -o-linear-gradient(#161616, #6c6c6c);
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#161616), to(#6c6c6c));
  background: -webkit-linear-gradient(#161616, #6c6c6c);
  background: linear-gradient(#161616, #6c6c6c);
  box-shadow: 0 -2px 5px rgba(255, 255, 255, 0.05), 0 2px 5px rgba(255, 255, 255, 0.1);
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
  -o-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.dial .blinds {
/*  font-size: 72%;*/
}

.dialbtn.up {
  background-color: rgba(0, 255, 0, 0.3);
  line-height: 3em;
  clip: rect(-2em, 12em, 3em, -2em);
  transform-origin: top;
}

.dialbtn.up::after {
  position: absolute;
  line-height: 3em;
  transform-origin: top;
  content: "";
  width: calc(100% - 0.7em);
  height: calc(100% - 0.4em);
  height: 2.8em;
  border-bottom: 0.2em solid rgba(0,0,0,0.6);
}

.dialbtn {
  position: absolute;
  top: 0px;
  left: 0px;
  height: calc(100% - 0.4rem);
  border-radius: 50%;
  border: 0.2rem;
  border-color: black;
  border-style: outset;
  width: calc(100% - 0.4rem);

  font-size: 100%;
  background-color: green;
  color: white;
  cursor: pointer;
  outline: none;
  transition: 0.2s all;
  transition-timing-function: cubic-bezier(.91,.8,.54,1.39);
  display: flex;
  justify-content: center;
  z-index: 10;
}
/* Adding transformation when the button is active */

.dialbtn:active,
.dialbtn.selected {
  transform: scale(0.9);
  /* Scaling button to 0.98 to its original size */
  box-shadow: 3px 2px 22px 1px rgba(0, 0, 0, 0.6);
  /* Lowering the shadow */
}

.dialbtn.up {
  background-color: rgba(64, 64, 64, 0.2);
  line-height: 3em;
  clip: rect(-2em, 10em, 2.9em, -2em);
  transform-origin: top;
}
.dialbtn.selected {
  background-image: radial-gradient(rgba(255,255,255,0.5), rgba(0,0,0,0));
}

.dialbtn.up::after {
  position: absolute;
  line-height: 3em;
  transform-origin: top;
  content: "";
  width: calc(100% - 0.5em);
  height: 2.7em;
  border-bottom: 0.2em solid rgba(0,0,0,0.6);
  left: 0.25em;
  top: 0;
}


.dialbtn.down {
  background-color: rgba(64, 64, 64, 0.2);
  clip: rect(5.7em, 10em, 10em, 0px);
  align-items: flex-end;
  line-height: 3em;
  transform-origin: bottom;
}

.dialbtn.down::after {
  position: absolute;
  line-height: 3em;
  transform-origin: top;
  content: "";
  width: calc(100% - 0.5em);
  height: calc(100% - 0.4em);
  height: 2.7em;
  border-top: 0.2em solid rgba(0,0,0,0.6);;
  top: 0em;
  left: 0em
}

.dialbtn.middle {
  background-color: rgba(0, 0, 0, 0.2);
  align-items: center;
  clip: rect(2.8em, 10em, 5.7em, 0px);
  display: flex;
  flex-direction: column;
}

.dialbtn.middle::after {
  position: absolute;
  line-height: 1em;
  content: "";
  width: calc(100% - 0.4em);
  height: 2.7em;
  border-top: 0.2em solid rgba(0,0,0,0.6);
  border-bottom: 0.2em solid rgba(0,0,0,0.6);
  left: 0;
}

.dialbtn .title {
  color: yellow;
}

.middle .icon {
   font-size: unset
}

.middle .text {
  font-size: 90%
}

.dialupdown .up .text, .dialupdown .down .text  {
  font-size:250%
}


/* END: DIAL */


/* Traffic */

#trafficweb iframe {
  width: 100%;
  height: 575px
}


/* start colorPicker */

.colorpicker {
  /*
  color: black;
  max-width: 90%;
  min-width: unset;
  width: 100%;*/
}

.colorpicker .modal-header {
  display: flex
}

.colorpicker .modal-title {
  width: 100%
}

.colorpicker .modal-dialog {
  max-width: 90%;
  min-width: unset;
  width: 90%;  
}

.colorpicker .modal-content {
  position: relative;
  background-color: white;
}

.colorpicker .cp-iro {
  overflow-x: auto;
  flex-wrap: wrap
}

.colorpicker .cp-buttons {
  margin-bottom: 10px;
}

.cp-buttons .btn {
  width: 4em
}

.colorpicker img {
  width: 100%
}

.colorpicker .cp-buttonsOnOff {
  background-color: rgba(0, 0, 0, 0.2);
}

.colorpicker .cp-buttonsOnOff .btn {
  padding-top: 10px;
  padding-bottom: 10px;
  color: darkgrey;
  background-color: lightgray
  /*  margin-top: 10px;
  margin-bottom: 10px;*/
  /*width: 48px;*/
}

.colorpicker .cp-buttonsOnOff .btn.active {
  /*  background-color: rgba(0,0,0,0.4)*/
  border-style: solid;
  border-color: black;
  border-width: medium;
  background-color: gray;
  color: white;
  /*width: 48px;*/
}

.cp-iro {
  display: inline-flex;
  align-items: center;
}

.cp-iro>div {
  margin: 0 10px
}


/*end colorpicker*/

/*garbage*/
.trashsep {
    width: 10px;
    text-align: center;
}

.trashdate {
    text-align: right;
}
/*end garbage*/

/*battery level*/

.battery-level {
  position: absolute;
  right:0;
  top:0;
  color: rgba(255, 255, 255, 0.5);
  margin-right: 3px;
  font-size: 15px
}

.battery-level.fa-battery-empty {
  color:red;
  z-index: 15;
}

.battery-percentage {
/*  position: absolute;
  top: 5px;
  left: 2px;*/
  width: 100%;
  text-align: center;
  font-size: 10px;
}

/*end battery level

/*tvguide*/

.tvguide tr {
  vertical-align: top
}
.tvtime {
  white-space: nowrap
}
.tvchannel {
  font-style: italic;
  white-space: nowrap
}

.tvtitle {
  font-weight: bold;
}

.tvsep {
  width: 1em;
  text-align: center;
}

/*end tvguide*/

/*debug*/
.debug ::selection {
  color:white;
  text-shadow: none;
  background: blue;
}
.debug .modal-body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y:auto;
}

.debug .tab-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y:auto;
}

.debug #debug-log {
  height: calc(100% - 2em);
}

.selectable, .selectable > * {
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  user-select: text
}

.debug #debug-items {
  height: 100%;
  overflow-y: auto;
}

.debug .debug-status {
  height: 2em
}

.debug #debug-status {
  height: calc(100% - 2em)
}

.debug .debug-memory-container {
  height: calc(100% - 8em)
}

.debug #debug-save {
  right: 4em;
  position: absolute;
  background: green;
}

.modal-dialog-custom .tab-content {

}

.modal-dialog-custom .debugitems {
  overflow-y: auto;
}

/*owm widget*/
.dt_block.owmwidget {
  background-color: unset 
}

/*public transport*/
.publictransport table {
  border-spacing: 5px 0px;
  border-collapse: separate;
}

.publictransport td {vertical-align: top;}

.publictransport .destination {
  font-style: bold;
}

.publictransport .via {
  font-style: italic;
  color:lightgray;
}

.publictransport .platform {
  white-space: nowrap;
}

.publictransport .transporttype {
  font-style: italic;
  color:lightgray;
}

.publictransport .delay {
  background-color: red;
  color: white;
}

.waqi {
  background-color: unset;
  padding: 0px !important;
  border: 0px;
}

.waqi .dt_state {
  margin: 0px;
}

.waqi.xxl {
  padding-top: 5px!important;
  padding-left: 10px!important;
}
.waqi.xxl iframe {
  background-color: #f6f9f7;
  border: 1px solid white;
  min-width: 100px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
}

.publictransport .remarks
{
  font-style: italic;
}
