.react-calendar {
  width: 350px;
  max-width: 100%;
  background: white;
  border: 1px solid #a0a096;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.125em;
}
.react-calendar,
.react-calendar *,
.react-calendar *:before,
.react-calendar *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.react-calendar button {
  margin: 0;
  border: 0;
  outline: none;
}
.react-calendar button:enabled:hover {
  cursor: pointer;
}
.react-calendar__navigation {
  height: 44px;
  margin-bottom: 1em;
}
.react-calendar__navigation button {
  min-width: 44px;
  background: none;
}
.react-calendar__navigation button:enabled:hover,
.react-calendar__navigation button:enabled:focus {
  background-color: #e6e6e6;
}
.react-calendar__navigation button[disabled] {
  background-color: #f0f0f0;
}
.react-calendar__month-view__weekdays {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.75em;
}
.react-calendar__month-view__weekdays__weekday {
  padding: 0.5em;
}
.react-calendar__month-view__weekNumbers {
  font-weight: bold;
}
.react-calendar__month-view__weekNumbers .react-calendar__tile {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75em;
  padding: calc(0.75em / 0.75) calc(0.5em / 0.75);
}
.react-calendar__month-view__days__day--weekend {
  color: #d10000;
}
.react-calendar__month-view__days__day--neighboringMonth {
  color: #757575;
}
.react-calendar__year-view .react-calendar__tile,
.react-calendar__decade-view .react-calendar__tile,
.react-calendar__century-view .react-calendar__tile {
  padding: 2em 0.5em;
}
.react-calendar__tile {
  max-width: 100%;
  text-align: center;
  padding: 0.75em 0.5em;
  background: none;
}
.react-calendar__tile:disabled {
  background-color: #f0f0f0;
}
.react-calendar__tile:enabled:hover,
.react-calendar__tile:enabled:focus {
  background-color: #e6e6e6;
}
.react-calendar__tile--hasActive {
  background: #76baff;
}
.react-calendar__tile--hasActive:enabled:hover,
.react-calendar__tile--hasActive:enabled:focus {
  background: #a9d4ff;
}
.react-calendar__tile--active {
  background: #006edc;
  color: white;
}
.react-calendar__tile--active:enabled:hover,
.react-calendar__tile--active:enabled:focus {
  background: #1087ff;
}
.react-calendar--selectRange .react-calendar__tile--hover {
  background-color: #e6e6e6;
}

/* 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,
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;
  box-sizing: border-box;
}
/* 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;
}
html,
body {
  font-family: sans-serif;
  padding-top: 25px;
}
.react-calendar {
  width: 100% !important;
}
button.primary {
  color: #fff;
  border: 1px solid #00539f;
  background-color: #006edc;
  border-radius: 5px;
  padding: 5px 10px;
}
button.secondary {
  color: #00539f;
  border: 1px solid #00539f;
  background-color: #fff;
  border-radius: 5px;
  padding: 5px 10px;
}
.house {
  background-repeat: no-repeat;
  background-size: 100%;
}
.house--away {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20baseProfile%3D%22full%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2259%22%20width%3D%2265%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M59.838%2031.668l-5.83-4.687v13.035H54v-3.519s-3.381-2.028-3.908-2.438l-2.211-3.632c-.322-.56-.66-1.167-1.011-1.818a8.915%208.915%200%200%200-1.251-1.772%206.28%206.28%200%200%200-1.681-1.303c-.645-.341-1.832-.579-2.382-.533-1.576%200-12.068%206.987-12.445%208.25-.522%201.752-1.707%206.616-2.003%207.717a2.061%202.061%200%200%200%201.466%202.526%202.076%202.076%200%200%200%202.541-1.459c.296-1.1%201.553-7.165%201.553-7.165l3.702-2.134-4.072%2014.275-.193%201.118a4.907%204.907%200%200%201-.287%201.024c-.13.313-.354.67-.674%201.074-.322.404-.643.791-.963%201.163L26%2058.002h6s1.884-2.046%202.558-2.977a51.766%2051.766%200%200%200%201.49-2.142c.321-.499.658-.963%201.009-1.399.354-.433.594-.838.724-1.212.385-.869.638-1.832.768-2.888.129-1.055.612-1.918.932-2.789l4.647%204.188c.257.248.546.496.866.745.32.249.546.497.675.744%200%200%202.076%206.876%202.331%207.73h5s-1.877-10.003-3.148-11.344c-1.272-1.341-6.222-7.219-6.222-7.219l1.037-6.188c.322.437%201.703%202.427%202.781%203.276.6.467%206.461%203.89%206.544%203.939v17.541H12.008V40.016h-.016V26.913l-5.878%204.755-5.121-5.801%2032-25.865%2014%2011.316v-4.31h6.999v9.967l11.001%208.892-5.155%205.801zM45.5%2015.998a3.5%203.5%200%201%200%203.5%203.499%203.5%203.5%200%200%200-3.5-3.499z%22%2F%3E%3C%2Fsvg%3E");
}
.house--home {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20baseProfile%3D%22tiny%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2258%22%20viewBox%3D%2228%20-22%2064%2058%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M86.3%2010.2L81%205.9V36h-9V18.5c0-6.6-5.4-12-12-12s-12%205.4-12%2012V36h-9V5.8l-5.4%204.4L28%203.9%2060-22l14%2011.3v-3.8h7V-5l11%208.9-5.7%206.3zM60%2011.5c3.7%200%206.7%202.9%207%206.5v18H53V18c.3-3.6%203.3-6.5%207-6.5z%22%2F%3E%3C%2Fsvg%3E");
}
.sidebar {
  background: linear-gradient(to bottom, #1a2236 0%, #414152 100%);
  width: 250px;
  position: fixed;
  height: 100vh;
  color: #eee;
  padding-top: 20px;
}
.sidebar__house {
  margin: 0 20px 20px 20px;
}
.sidebar__home-controls {
  text-align: center;
  margin-bottom: 20px;
}
.sidebar__home-controls button {
  margin: 0 3px;
}
.sidebar__house-border {
  border: 3px solid transparent;
  border-radius: 100%;
  width: 130px;
  margin: 0 auto;
  padding: 10px;
}
.sidebar__house-border .house {
  margin: 0 auto;
  width: 100px;
  height: 100px;
}
.sidebar__house-border--away {
  border-color: red;
}
.sidebar__house-border--home {
  border-color: #5eef00;
}
.sidebar__status {
  position: absolute;
  bottom: 20px;
  width: 100%;
  padding: 0 20px;
}
.sidebar__stays {
  margin-bottom: 50px;
}
.sidebar h2 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 30px;
}
.home-controls__title {
  font-size: 1.4em;
  margin-bottom: 10px;
}
.user-status {
  width: 200px;
  margin: 0 auto;
  display: flex;
  margin-bottom: 10px;
}
.user-status__avatar {
  border-radius: 100%;
  padding: 2px;
  border: 1px solid #5eef00;
  margin-right: 10px;
}
.user-status__avatar--away {
  border-color: red;
}
.user-status__user-name {
  font-size: 1.3em;
  margin-bottom: 2px;
}
.user-status__about {
  font-size: 0.85em;
}
.user-status__about,
.user-status__about a {
  color: #bbb;
}
.body {
  width: calc(100vw - 250px);
  margin-left: 250px;
  background: #fafafa;
}
.body--with-padding {
  padding: 20px;
}
.body h2 {
  font-size: 1.5em;
  margin-bottom: 0.5em;
}
@media (max-width: 667px) {
  .sidebar {
    width: 100vw;
    position: static;
  }
  .sidebar--hidden-on-mobile {
    display: none;
  }
  .body {
    width: initial;
    margin-left: 0;
  }
}
.loading-spinner {
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibGRzLXNwaW5uZXIiIHdpZHRoPSIyMDBweCIgIGhlaWdodD0iMjAwcHgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIHN0eWxlPSJiYWNrZ3JvdW5kOiBub25lOyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSItMC45MTY2NjY2NjY2NjY2NjY2cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgzMCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSItMC44MzMzMzMzMzMzMzMzMzM0cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg2MCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSItMC43NXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoOTAgNTAgNTApIj4KICA8cmVjdCB4PSI0NyIgeT0iMjQiIHJ4PSI5LjQiIHJ5PSI0LjgiIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiBmaWxsPSIjMWEyMjM2Ij4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiIHZhbHVlcz0iMTswIiB0aW1lcz0iMDsxIiBkdXI9IjFzIiBiZWdpbj0iLTAuNjY2NjY2NjY2NjY2NjY2NnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDUwIDUwKSI+CiAgPHJlY3QgeD0iNDciIHk9IjI0IiByeD0iOS40IiByeT0iNC44IiB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgZmlsbD0iIzFhMjIzNiI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiB2YWx1ZXM9IjE7MCIgdGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49Ii0wLjU4MzMzMzMzMzMzMzMzMzRzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDE1MCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSItMC41cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgxODAgNTAgNTApIj4KICA8cmVjdCB4PSI0NyIgeT0iMjQiIHJ4PSI5LjQiIHJ5PSI0LjgiIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiBmaWxsPSIjMWEyMjM2Ij4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiIHZhbHVlcz0iMTswIiB0aW1lcz0iMDsxIiBkdXI9IjFzIiBiZWdpbj0iLTAuNDE2NjY2NjY2NjY2NjY2N3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMjEwIDUwIDUwKSI+CiAgPHJlY3QgeD0iNDciIHk9IjI0IiByeD0iOS40IiByeT0iNC44IiB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgZmlsbD0iIzFhMjIzNiI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiB2YWx1ZXM9IjE7MCIgdGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49Ii0wLjMzMzMzMzMzMzMzMzMzMzNzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDI0MCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSItMC4yNXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMjcwIDUwIDUwKSI+CiAgPHJlY3QgeD0iNDciIHk9IjI0IiByeD0iOS40IiByeT0iNC44IiB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgZmlsbD0iIzFhMjIzNiI+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiB2YWx1ZXM9IjE7MCIgdGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49Ii0wLjE2NjY2NjY2NjY2NjY2NjY2cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgzMDAgNTAgNTApIj4KICA8cmVjdCB4PSI0NyIgeT0iMjQiIHJ4PSI5LjQiIHJ5PSI0LjgiIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiBmaWxsPSIjMWEyMjM2Ij4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiIHZhbHVlcz0iMTswIiB0aW1lcz0iMDsxIiBkdXI9IjFzIiBiZWdpbj0iLTAuMDgzMzMzMzMzMzMzMzMzMzNzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDMzMCA1MCA1MCkiPgogIDxyZWN0IHg9IjQ3IiB5PSIyNCIgcng9IjkuNCIgcnk9IjQuOCIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGZpbGw9IiMxYTIyMzYiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSIgdmFsdWVzPSIxOzAiIHRpbWVzPSIwOzEiIGR1cj0iMXMiIGJlZ2luPSIwcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48L3N2Zz4=');
  background-position: center center;
  width: 100%;
}
.resource-loader__loading-spinner {
  width: 100vw;
  height: 100vh;
}
.resource-loader__loading-spinner .loading-spinner {
  height: 100%;
}
.login__panel {
  width: 50vw;
  margin: 30vh auto 0 auto;
  max-width: 500px;
}
.login__panel label {
  display: block;
  font-weight: bold;
  font-family: sans-serif;
  margin-bottom: 3px;
}
.login__panel p {
  margin-bottom: 20px;
}
.login__panel input[type="text"],
.login__panel input[type="password"] {
  width: 100%;
  font-size: 16px;
  border-radius: 5px;
  padding: 5px;
}
.login__panel input[type="submit"],
.login__panel input[type="button"] {
  font-size: 20px;
}
.modal__backdrop {
  background: rgba(78, 78, 78, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
}
.modal__container {
  border: 10px solid #757575;
  border-radius: 10px;
  width: 800px;
  background: #fff;
  left: calc(50% - 400px);
  position: absolute;
  top: 200px;
}
@media (max-width: 850px) {
  .modal__container {
    width: calc(100% - 20px);
    left: 10px;
    top: 30px;
  }
}
.eta-picker {
  font-family: sans-serif;
}
.eta-picker__body {
  padding: 20px;
}
.eta-picker__body h2 {
  font-size: 18px;
  margin-bottom: 10px;
  border-bottom: 1px solid #eee;
  padding-bottom: 5px;
}
.eta-picker__body > div {
  display: inline-block;
  width: 50%;
}
.eta-picker__selected-date {
  font-size: 1.4em;
  margin-bottom: 10px;
}
.eta-picker__selected-date-and-time {
  text-align: center;
  padding-top: 20px;
}
.eta-picker__footer {
  background: #eeeeee;
  border-top: 1px solid #757575;
  padding: 10px 20px;
  text-align: right;
}
.eta-picker__footer button.primary {
  margin-left: 10px;
}
@media (max-width: 630px) {
  .eta-picker__body > div {
    display: inline-block;
    width: 100%;
  }
}
.security {
  background: #6ba6c6;
  padding: 20px;
}
.security__camera-list {
  display: flex;
}
.security__camera {
  margin-right: 20px;
  width: 100%;
}
.security__camera img {
  border-top: 1px solid #fff;
  background-size: 50px;
}
.security__camera h3 {
  font-size: 0.8em;
  margin-bottom: 5px;
  color: white;
}
.security__camera:last-child {
  margin-right: 0;
}
@media (max-width: 768px) {
  .security__camera-list {
    display: block;
  }
  .security__camera {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .security__camera:last-child {
    margin-bottom: 0;
  }
}
.heating-heat-map {
  margin: 3px 0 31px 0;
}
.heating-heat-map__map {
  background: #fff;
  border: 1px solid #555;
  border-radius: 7px;
  height: 10px;
  overflow: hidden;
  margin-bottom: 5px;
}
.heating-heat-map__segment {
  height: 10px;
  float: left;
}
.heating-heat-map__segment--heating {
  background: #eb6d00;
}
.heating-heat-map__rest-of-day {
  height: 10px;
  float: left;
  border-left: 1px solid #6cb5b5ee;
}
.heating-heat-map__markers {
  position: relative;
}
.heating-heat-map__marker {
  position: absolute;
  font-size: 0.6em;
  width: 20px;
  margin-left: -10px;
  text-align: center;
}
.header {
  background-color: #161616;
  padding: 16px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 50;
}
.header__brand {
  color: #fff;
  font-size: 1.25rem;
  text-decoration: none;
  margin-right: 50px;
}
.header__nav-items {
  display: inline;
}
.header__nav-item {
  display: inline;
  padding-right: 20px;
}
.header__nav-item-link {
  color: rgba(255, 255, 255, 0.5);
  display: inline;
  text-decoration: none;
}
.header__nav-item-link--active,
.header__nav-item-link:hover {
  color: rgba(255, 255, 255, 0.75);
}
.header__nav-item-form {
  display: inline;
}
.header__nav-item-button {
  color: rgba(255, 255, 255, 0.5);
  border: none;
  font-size: 16px;
  cursor: pointer;
  background: none;
}
.header__nav-item-button:hover {
  color: rgba(255, 255, 255, 0.75);
}
.header__hamburger {
  float: right;
  display: none;
  color: white;
}
@media (max-width: 550px) {
  .header__nav-item {
    display: block;
    padding-top: 5px;
  }
  .header__nav-item-button {
    padding: 0;
  }
  .header__nav-items {
    display: none;
  }
  .header__nav-items--open {
    display: block;
  }
  .header__hamburger {
    display: inline;
  }
}
.timeline {
  padding-bottom: 0;
}
.timeline__loader {
  background-size: contain;
  height: 50px;
}
.day__header {
  font-weight: bold;
  margin: 20px 0 10px 7px;
}
.event {
  border: 1px solid #ececec;
  border-bottom-width: 0;
  padding: 10px;
}
.event:first-child {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.event:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-width: 1px;
}
.event__timestamp {
  margin-right: 20px;
}
.event__buttons {
  float: right;
}
.event__buttons a {
  color: #1e90ff;
}
.event__panel {
  margin-top: 15px;
}
.event__icon {
  display: inline-block;
  width: 18px;
  margin-right: 20px;
  text-align: center;
}
@media (max-width: 375px) {
  .event {
    font-size: 0.9em;
  }
  .event__icon {
    display: none;
  }
  .event__timestamp {
    margin-right: 15px;
  }
}
.tabs {
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
.tabs .tab {
  display: inline-block;
  padding: 10px;
  border-radius: 10px 10px 0 0;
  margin: 0 10px -1px 0;
}
.tabs .tab.tab--selected {
  border: 2px solid #ddd;
  border-bottom: 1px solid white;
}
.tabs .tab.tab--selected h2 {
  color: black;
}
.tabs .tab h2 {
  display: inline;
  color: #676767;
}
.tabs .tab h2 a {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 1100px) {
  .light-history__plot .rv-xy-plot__axis--horizontal .rv-xy-plot__axis__tick {
    display: none;
  }
  .light-history__plot .rv-xy-plot__axis--horizontal .rv-xy-plot__axis__tick .rv-xy-plot__axis__tick__text {
    display: none;
  }
  .light-history__plot .rv-xy-plot__axis--horizontal .rv-xy-plot__axis__tick:nth-of-type(4n + 1 /* every hour */) {
    display: inline;
  }
  .light-history__plot .rv-xy-plot__axis--horizontal .rv-xy-plot__axis__tick:nth-of-type(12n + 1 /* every 3 hours */) .rv-xy-plot__axis__tick__text {
    display: inline;
  }
}
.device-list li {
  border: 1px solid #ececec;
  padding: 10px;
  margin: 5px;
  border-radius: 2px;
}
.device-list li a {
  text-decoration: none;
  color: inherit;
}
.device-list .device-icon {
  width: 25px;
  display: inline-block;
  text-align: center;
  margin-right: 10px;
}
.group-list {
  display: grid;
  grid-template-columns: 1fr;
  padding: 5px;
}
.group {
  padding: 12px;
  color: #212121;
  display: inline-block;
}
.group__title {
  font-size: 16px;
  margin-bottom: 8px;
  margin-left: 5px;
}
.group__title-icon {
  margin-right: 5px;
}
.group__device-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 8px;
  grid-row-gap: 8px;
}
.group__device-control {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background: #ffffff;
  padding: 10px;
}
.group--full-width {
  grid-column: 1;
}
@media (min-width: 1024px) {
  .group-list {
    grid-template-columns: 1fr 1fr;
  }
  .group--full-width {
    grid-column: span 2;
  }
  .group--full-width .group__device-controls {
    grid-template-columns: repeat(4, 1fr);
  }
}
.device-control__icon-container {
  display: block;
  height: 36px;
  line-height: 36px;
  width: 36px;
  text-align: center;
  border-radius: 100px;
}
.device-control__icon-container--disabled {
  cursor: not-allowed;
}
.device-control__header {
  display: grid;
  grid-template-columns: 36px auto;
  grid-column-gap: 10px;
}
.device-control__footer {
  margin-top: 10px;
}
.device-control__footer .heating-heat-map {
  margin: 0;
}
.device-control__footer .heating-heat-map__map {
  margin-bottom: 0;
}
.device-control__name {
  color: #212121;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 5px;
}
.device-control__value {
  display: inline;
  font-size: 12px;
}
.device-control__value::before {
  content: " ⸱ ";
}
.device-control__value:first-child::before {
  content: "";
}

.react-vis-magic-css-import-rule {
  display: inherit;
}
.rv-treemap {
  font-size: 12px;
  position: relative;
}
.rv-treemap__leaf {
  overflow: hidden;
  position: absolute;
}
.rv-treemap__leaf--circle {
  align-items: center;
  border-radius: 100%;
  display: flex;
  justify-content: center;
}
.rv-treemap__leaf__content {
  overflow: hidden;
  padding: 10px;
  text-overflow: ellipsis;
}
.rv-xy-plot {
  color: #c3c3c3;
  position: relative;
}
.rv-xy-plot canvas {
  pointer-events: none;
}
.rv-xy-plot .rv-xy-canvas {
  pointer-events: none;
  position: absolute;
}
.rv-xy-plot__inner {
  display: block;
}
.rv-xy-plot__axis__line {
  fill: none;
  stroke-width: 2px;
  stroke: #e6e6e9;
}
.rv-xy-plot__axis__tick__line {
  stroke: #e6e6e9;
}
.rv-xy-plot__axis__tick__text {
  fill: #6b6b76;
  font-size: 11px;
}
.rv-xy-plot__axis__title text {
  fill: #6b6b76;
  font-size: 11px;
}
.rv-xy-plot__grid-lines__line {
  stroke: #e6e6e9;
}
.rv-xy-plot__circular-grid-lines__line {
  fill-opacity: 0;
  stroke: #e6e6e9;
}
.rv-xy-plot__series,
.rv-xy-plot__series path {
  pointer-events: all;
}
.rv-xy-plot__series--line {
  fill: none;
  stroke: #000;
  stroke-width: 2px;
}
.rv-crosshair {
  position: absolute;
  font-size: 11px;
  pointer-events: none;
}
.rv-crosshair__line {
  background: #47d3d9;
  width: 1px;
}
.rv-crosshair__inner {
  position: absolute;
  text-align: left;
  top: 0;
}
.rv-crosshair__inner__content {
  border-radius: 4px;
  background: #3a3a48;
  color: #fff;
  font-size: 12px;
  padding: 7px 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.rv-crosshair__inner--left {
  right: 4px;
}
.rv-crosshair__inner--right {
  left: 4px;
}
.rv-crosshair__title {
  font-weight: bold;
  white-space: nowrap;
}
.rv-crosshair__item {
  white-space: nowrap;
}
.rv-hint {
  position: absolute;
  pointer-events: none;
}
.rv-hint__content {
  border-radius: 4px;
  padding: 7px 10px;
  font-size: 12px;
  background: #3a3a48;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: left;
  white-space: nowrap;
}
.rv-discrete-color-legend {
  box-sizing: border-box;
  overflow-y: auto;
  font-size: 12px;
}
.rv-discrete-color-legend.horizontal {
  white-space: nowrap;
}
.rv-discrete-color-legend-item {
  color: #3a3a48;
  border-radius: 1px;
  padding: 9px 10px;
}
.rv-discrete-color-legend-item.horizontal {
  display: inline-block;
}
.rv-discrete-color-legend-item.horizontal .rv-discrete-color-legend-item__title {
  margin-left: 0;
  display: block;
}
.rv-discrete-color-legend-item__color {
  display: inline-block;
  vertical-align: middle;
  overflow: visible;
}
.rv-discrete-color-legend-item__color__path {
  stroke: #dcdcdc;
  stroke-width: 2px;
}
.rv-discrete-color-legend-item__title {
  margin-left: 10px;
}
.rv-discrete-color-legend-item.disabled {
  color: #b8b8b8;
}
.rv-discrete-color-legend-item.clickable {
  cursor: pointer;
}
.rv-discrete-color-legend-item.clickable:hover {
  background: #f9f9f9;
}
.rv-search-wrapper {
  display: flex;
  flex-direction: column;
}
.rv-search-wrapper__form {
  flex: 0;
}
.rv-search-wrapper__form__input {
  width: 100%;
  color: #a6a6a5;
  border: 1px solid #e5e5e4;
  padding: 7px 10px;
  font-size: 12px;
  box-sizing: border-box;
  border-radius: 2px;
  margin: 0 0 9px;
  outline: 0;
}
.rv-search-wrapper__contents {
  flex: 1;
  overflow: auto;
}
.rv-continuous-color-legend {
  font-size: 12px;
}
.rv-continuous-color-legend .rv-gradient {
  height: 4px;
  border-radius: 2px;
  margin-bottom: 5px;
}
.rv-continuous-size-legend {
  font-size: 12px;
}
.rv-continuous-size-legend .rv-bubbles {
  text-align: justify;
  overflow: hidden;
  margin-bottom: 5px;
  width: 100%;
}
.rv-continuous-size-legend .rv-bubble {
  background: #d8d9dc;
  display: inline-block;
  vertical-align: bottom;
}
.rv-continuous-size-legend .rv-spacer {
  display: inline-block;
  font-size: 0;
  line-height: 0;
  width: 100%;
}
.rv-legend-titles {
  height: 16px;
  position: relative;
}
.rv-legend-titles__left,
.rv-legend-titles__right,
.rv-legend-titles__center {
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
}
.rv-legend-titles__center {
  display: block;
  text-align: center;
  width: 100%;
}
.rv-legend-titles__right {
  right: 0;
}
.rv-radial-chart .rv-xy-plot__series--label {
  pointer-events: none;
}


/*# sourceMappingURL=app.7d65ea62aaadae4d7b1f.css.map*/