  /*
html {
  margin: auto;
  padding: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: var(--bg-html);
  font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
  font-size: calc(0.8em + 1vw);
  font-weight: lighter;
}
  */

/*.app-body {*/
html {
  background-color: var(--bg-html);
  height: 100%;
  
}
body {
  cursor: pointer;
  -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
  -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
  -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
  /*
  position:    absolute;
  display: inline;
  width: 100%;
  */
  background-color: var(--bg-body);
  height:      100%;
  max-width: 800px;
  margin: auto;
  text-align:  center;
  color:       var(--ft-body);
  font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
  font-size: calc(0.8em + 1vw);
  font-weight: lighter;
}

* {
  -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
  box-sizing: border-box;
}

.consent {
  margin: 5px;
  padding: 20px;
  text-align: left;
  background-color: var(--bg-html);
}

@keyframes reset {
  0% { transform: translateX(0%); }
  100% { transform: translateX(100%); }
}
@keyframes slideIn {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0); }
}
@keyframes slideBack {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}


/* Navigation bar at top - 8% of height */
#navbar {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 1px;
  padding: 1px;
  height: 8%;
}
.btn-nav {
  position: relative;
  background-color: var(--bg-nav);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 120%;
}
.nav-on { 
  position: relative;
  background-color: var(--nav-on);
}

.btn-gray {
  background-color: var(--btn-gray);
  border-radius: 8px;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
}
.btn-green {
  background-color: #4CAF50; /* Green */
  border-radius: 8px;
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
}

.server {
  color:       var(--ft-body);
  background-color: var(--bg-body);
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
#server {
  width: 100%;
  height: 92%;
  overflow-y: scroll;
  background-color: var(--bg-body);
}

#header {
  min-height: 12%;
  font-size: 130%;
}

.title {
  font-size: 130%;
  font-weight: lighter;
}

#list {
/* list of activities
 * position relative, such that content can be positioned absolute within */
  position: relative;
  width: 100%;
  height: 80%;
  overflow-y: scroll;
}

.form-input {
  width:250px;
  border-radius: 5px;
  padding: 12px;
}

.input-eui {
  border-radius: 5px;
  padding: 12px;
  margin: 12px;
  width: 90%;
  max-width: 600px;
}

.input-postcode {
  border-radius: 5px;
  padding: 12px;
  margin: 12px;
  width: 50%;
  max-width: 300px;
}

#input {
  position: absolute;
  left: 0%;
  width:    100%;
  height:    20%;
}

#freetext {
  width: 90%;
  max-width: 750px;
  height:   40%;
  font-size:30px;
  border-radius: 5px;
}
#title {
  padding: 20px;
}
.buttons {
  max-height: 71%;
  min-height: 64%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow-y: scroll;
  margin: 6px;
  gap: 6px;
}

.oneCol {
  grid-template-columns: 1fr;
}

.btn {
  position: relative;
  background-position: center;
  background-repeat:no-repeat;
  background-size: auto 100%;
  background-color: var(--bg-btn);

  border-style: solid;
  border-radius: 8px;
  border-width: 2px;
  border-color: var(--border-color);
  box-shadow: 2px 2px var(--border-shadow);
  vertical-align: top;
  max-height: 200px;
  min-height: 50px;
}


.btn-title {
  margin-top: 10px;
  display: grid;
  color: var(--ft-body);
}

/* range slider */
#slider {
    height: 60%;
}
.slider-btn {
  width: 80%;
  height: 40%;
  margin-bottom: 20%;
  margin-left: auto;
  margin-right: auto;
  max-height: 200px;
  max-width: 250px;
}
.comfort-btn {
  width: 80%;
  height: 40%;
  margin-top: 10%;
  margin-bottom: 10%;
  margin-left: auto;
  margin-right: auto;
  max-height: 140px;
  max-width: 250px;
}
.slider-btn-OK {
  width: 30%;
  min-width: 160px;
  height: 150px;
  margin-top: 25px;
  margin-left: 35%;
}
.likert {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(5, auto);
}
.seven-scale {
  width: 87%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(7, auto);
  pointer-events: none;
  translate: 0px 35px;
  padding: 5px;
}
.slider {
  -webkit-appearance: none;
  background: var(--bg-btn);
  margin: 8px 0;
  width: 80%;
  height: 30px;
  border-radius: 12px;
}
.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 40px;
  height: 40px;
  border-radius: 50%; 
  background: #fff;
  cursor: pointer;
}
.time-slider {
  -webkit-appearance: none;
  background: var(--btn-gray);
  margin: 40px;
  width: 80%;
  height: 25px;
  border-radius: 12px;
}
.time-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 50px;
  height: 50px;
  border-radius: 50%; 
  background: green;
  cursor: pointer;
}

#footer {
  position: absolute;
  bottom: 0px;
  width: 100%;
  max-width: 800px;
  height: 8%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  padding: 1px;
}
.btn-footer {
  display: grid;
  background: var(--bg-footer);
}
.img-footer {
  height: 45px;
  margin: auto;
}
.help {
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0.8;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border-style: none;
  border-radius: 8px;
  color: var(--ft-help);
  background-color: var(--bg-help);
  transition: opacity 2s;
}
.help-float {
  position: absolute;
  text-align: left;
  opacity: 0.8;
  padding: 10px;
  border-style: none;
  border-radius: 8px;
  color: var(--ft-help);
  background-color: var(--bg-help);
  transition: opacity 2s;
}

.help-top {
  bottom: 10%;
  padding:30px;
  opacity: 0.9;
}
.no-help {
  display: none;
}
.help-relative {
  position: relative;
  margin: 5px;
}

div.icon-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  }
img.icon-item {
  border-style: solid;
  border-radius: 8px;
  border-width: 2px;
  border-color: var(--border);
  background-color: var(--bg-btn);
  box-shadow: 2px 2px var(--border-shadow);
  margin: 8px;
  width: 92%;
}

div.activity-row {
  display: grid;
  grid-template-columns: 1fr 1fr 3fr 1fr;
  border-style: solid;
  border-radius: 8px;
  border-width: 1px;
  border-color: var(--border);
  background-color: var(--bg-btn);
  box-shadow: 2px 2px var(--border-shadow);
  margin: 4px 5px;
}
div.activity-time {
  border-style: solid;
  border-radius: 8px;
  border-width: 1px;
  border-color: var(--btn-gray);
  width: 100%;
  margin: auto;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: medium;
  margin-left: 5px;
}
div.activity-item {
  width: 100%;
  margin: auto;
}
img.activity-enjoy {
  max-width: 40px;
  margin: auto;
}

img.activity-icon {
  width: 100%;
  margin: auto;
  max-height: 60px;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(var(--span), auto);
  gap: var(--gap);
  padding: 40px;
  overflow-y: hidden;
}
.feature-item-add {
  grid-column: span var(--span); /* / 1;*/
}
.feature-item {
  padding: 0px;
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  min-height: 40px;
  max-height: 80px;
  margin: 2px;
}
.feature-label {
  grid-column: 1 / span var(--span);
  position: relative;
  padding: 10px;
  border-style: none;
  border-radius: 8px;
}
.feature-label-float {
  position: absolute;
  padding: 10px;
  border-style: solid;
  border-radius: 8px;
  z-index:  1;
}

.feature-weekend {
    color: white;
}

.feature-date {
  grid-column: 1 / span var(--span);
  margin-top: 0px;
  border-style: none;
  border-radius: 8px;
  background-color: var(--bg-body);
}


.span-2 {
  grid-column: 1 / span 2;
}
/* energy qintiles */
.q5        { background-color: #7b3; }
.q4        { background-color: #6c5; }
.q3        { background-color: #5d6; }
.q2        { background-color: #4e5; }
.q1        { background-color: #3f3; }

.enjoy_1        { background-color: #c8c; }
.enjoy_2        { background-color: #ece; }
.enjoy_3        { background-color: #cec; }
.enjoy_4        { background-color: #8c8; }
.enjoy_5        { background-color: #5e5; }
.enjoy_null     { background-color: #fff; }
.enjoy_undefined { background-color: #fff; }
.enjoy_0        { background-color: #fff; }
.enjoy_-1       { background-color: #fff; }

.comfort_-3      { background-color: #5cf; }
.comfort_-2      { background-color: #6cd; }
.comfort_-1      { background-color: #8ca; }
.comfort_0       { background-color: #8c8; }
.comfort_1       { background-color: #cc8; }
.comfort_2       { background-color: #ec5; }
.comfort_3       { background-color: #fb3; }
.slider_comfort_-3     { background: #5cf; }
.slider_comfort_-2     { background: #6cd; }
.slider_comfort_-1     { background: #8ca; }
.slider_comfort_0      { background: #8c8; }
.slider_comfort_1      { background: #cc8; }
.slider_comfort_2      { background: #ec5; }
.slider_comfort_3      { background: #fb3; }
.btn-comfort_-3     { border-color: #5cf; }
.btn-comfort_-2     { border-color: #6cd; }
.btn-comfort_-1     { border-color: #8ca; }
.btn-comfort_0      { border-color: #8c8; }
.btn-comfort_1      { border-color: #cc8; }
.btn-comfort_2      { border-color: #ec5; }
.btn-comfort_3      { border-color: #fb3; }
.comfort_null     { background-color: #fff; }
.comfort_undefined { background-color: #fff; }

#list.eGraph {
  position: relative;
  margin: 0px;
  width: 100%;
  height: 80%;
}
.xLabel {
  transform: rotate(-90deg);
  position: absolute;
  width:    0;
  bottom:   10%;
  z-index:  1;
  font-size: 200%;
  font-weight: 500;
  opacity:   50%;
}

.loading {
  width: 100%;
}

.energy-year-container {
  position: absolute;
  height: 50%;
  width: 100%;
  bottom: 50%;
}

.energy-switch {
  position: absolute;
  top: 0%;
  right: 0%;
  z-index: 1;
}

.energy-all {
  position: absolute;
  height: 50%;
  transition: left 1s ease, right 1s ease;
}
.energy-all-month {
  position: absolute;
  font-size: 12pt;
  bottom: 5%;
}
.energy-all-day {
  position: absolute;
}
.energy-all-bar {
  position: absolute;
  border-width: 0px;
  border-style: none;
  border-radius: 8px;
  min-height: 4px;
}
.energy-month-container {
  position: absolute;
  height: 45%;
  width: 100%;
  bottom: 5%;
}
.energy-month-label {
  position: absolute;
  font-size: 12pt;
  bottom: 5%;
  width: 8%;
  right: 5%;
}
.energy-day-label {
  position: absolute;
  font-size: 12pt;
  bottom: 0%;
  transform: rotate(-90deg);
  transform-origin: top left;
}
.energy-act-item {
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  min-height: 40px;
  max-height: 80px;
}
.energy-bar {
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  min-height: 4px;
}

.energy-item {
  bottom:       10%;
  background-color: #ace; 
}
.energy-item-zero {
  background-color: #ccc; 
}
.energy-item-ref {
  background-color: #fcc; 
}

.energy-graph-label {
  position: absolute;
  top:      0%;
  font-size: 200%;
  font-weight: 500;
  opacity:   50%;
  margin-left: auto;
  margin-right: auto;
}

.energy-day-bar {
  bottom:       0%;
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-radius: 4px;
  min-height: 2px;
  background-color: #ace;
  border-color: #333; 
}
.energy-avg-line {
  position: absolute;
  background-color: #8888;
    height : 3px;
    width  : 89%;
    right  : 5%;
}
.energy-day-bar-ref {
  bottom:       0%;
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-radius: 2px;
  min-height: 4px;
  background-color: #f008; 
  border-color: #333;
}
.energy-day-bar-Sat {
  border-color: #ace; 
  border-width: 2px;
}
.energy-day-bar-Sun {
  border-color: #ace; 
  border-width: 2px;
}
.energy-all-bar {
  background-color: #ccc; 
}

.energy-item-self-ref {
  background-color: blue; 
  opacity: 0.2;
}

.act-item {
  display: flex;
  justify-content: center;
  background-color: #fff; 
  color: #fc8; 
  border-style: solid;
  border-width: 2px;
  opacity:      50%;
  border-radius: 25%;
}

.act-item-count {
    /* used on grid view
  */
  width: 20px;
  justify-content: center;
  background-color: #fff; 
  color:        #fc8; 
  border-style: solid;
  border-width: 2px;
  opacity:      80%;
  border-radius: 50%;
}

.day-label {
  position: absolute;
  top:      50%;
  font-size: 200%;
  font-weight: 500;
  opacity:   50%;
}
.hour-label {
  background-color: #ace; 
  color:        #333;
  border-style: solid;
  border-width: 2px;
  opacity:      60%;
  border-radius: 4px;
  z-index: 2;
}
.e-label {
  background-color: #ace; 
  color:        #333;
  border-radius: 4px;
  padding:       5px;
}
.act-label {
  background-color: #ea3; 
  color:        #333;
  border-radius: 4px;
  padding:       5px;
}
.act-label-add {
  background-color: #ea3; 
  color:        #333;
  background-color: #afa; 
  border-style: solid;
  border-radius: 4px;
  padding:       5px;
}
.weather-icon {
  position:     absolute;
  top:          0%;
/*  z-index:      1; */
}
.movable {
  transition: 0.5s;
}
#zoom-in {
  position:     fixed;
  bottom:       0px;
  right:        80px;
  width:        60px;
  height:       60px;
}
#zoom-out {
  position:     fixed;
  bottom:       0px;
  left:         80px;
  width:        60px;
  height:       60px;
}
#shift-left {
  position:     absolute;
  bottom:       0px;
  left:         0px;
  width:        70px;
  height:       70px;
}
#shift-right {
  position:     absolute;
  bottom:       0px;
  right:        0px;
  width:        70px;
  height:       70px;
}


/* CATEGORIES */

div.new            { border-color: #8c8; }
div.assign         { border-color: #00f; }
div.intervention   { border-color: #f00; }
div.study          { border-color: #0f0; }
div.care_self      { border-color: #cec; }
div.care_other     { border-color: #ace; }
div.care_house     { border-color: #eda; }
div.recreation     { border-color: #ece; }
div.travel         { border-color: #eea; }
div.food           { border-color: #cea; }
div.work           { border-color: #cde; }
div.other_category { border-color: #eec; }
div.comfort        { border-color: #aec; }
div.freetext       { border-color: #eec; }
div.custom         { border-color: #faa; }
div.night         { color: #00f; }



div.date {
  border-color: var(--bg-body);
  background-color: var(--bg-body);
  box-shadow: 0px 0px;
  font-weight: 700;
}
.blank {
  border-color: var(--bg-body);
  background-color: var(--bg-body);
  box-shadow: 0px 0px;
  visibility: hidden;
}


.bubble-title {
  left: 30%;
}
.bubble-time {
  left: 5%;
}
.bubble-enjoy {
  left: 60%;
}
.bubble {
  position:   relative;
  width:      35%;
  background: var(--bg-tip);
  border-radius: 20px;
  text-align: center;
  color:      var(--ft-body);
}
.bubble-bottom-left:before {
  position:     absolute;
  content:      "";
  width:        0px;
  height:       0px;
  border-left:  12px solid var(--bg-tip);
  border-right: 12px solid transparent;
  border-top:   12px solid var(--bg-tip);
  border-bottom: 12px solid transparent;
  left:         30%;
  bottom:       -24px;
}
.bubble-bottom-right:before {
  position:     absolute;
  content:      "";
  width:        0px;
  height:       0px;
  left:         60%;
  border-right: 24px solid var(--bg-tip);
  border-bottom: 24px solid transparent;
  bottom:       -24px;
}
.tip-text {
  display: inline;
  /* font-size: 150%; */
}
#zoom {
  position:     absolute;
  bottom:       5px;
  right:        5px;
  width:        100px;
  height:       100px;
}
:root {
  --bg-html:       #ccc;
  --bg-body:       #eee;
  --ft-body:       #444;
  --nav-on:        #666;
  --bg-nav:        #ccc;
  --nav:           #666;
  --ft-footer:     #444;
  --bg-footer:     #ccc;
  --border:        #eec;
  --border-color:  #eec;
  --border-shadow: #ddd;
  --bg-help:       #080;
  --ft-help:       #fff;
  --btn-gray:      #aaa;
  --bg-btn:        #fafafa;
  --bg-tip:        #aafaaa;
  --span: 7;
}

[scheme="light"] {
  --bg-html:       #ccc;
  --bg-body:       #eee;
  --ft-body:       #444;
  --nav-on:        #666;
  --bg-nav:        #ccc;
  --nav:           #666;
  --ft-footer:     #444;
  --bg-footer:     #ccc;
  --border:        #eec;
  --border-color:  #eec;
  --border-shadow: #eee;
  --bg-help:       #000;
  --ft-help:       #fff;
  --btn-gray:      #aaa;
  --bg-btn:        #fafafa;
}

[scheme="dark"] {
  --bg-html:       #333;
  --bg-body:       #111;
  --ft-body:       #bbb;
  --nav-on:        #aaa;
  --bg-nav:        #333;
  --nav:           #aaa;
  --ft-footer:     #bbb;
  --bg-footer:     #fff;
  --border:        #223;
  --border-color:  #223;
  --border-shadow: #222;
  --bg-help:       #fff;
  --ft-help:       #000;
  --btn-gray:      #555;
  --bg-btn:        #010101;
}

[zoom="in"] {
  --span: 8;
  --gap: 4px;
}
[zoom="out"] {
  --span: 16;
  --gap: 1px;
}

