@charset "UTF-8";
body {
  height: 100vh;
  margin: 0 1em;
  background: #202020;
  color: #efefef;
}

body > p > label {
  margin-right: 1em;
}

#main_menu {
  display: flex;
  flex-flow: column;
  align-items: center;
  height: 100vh;
}

#title {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  font-size: 35px;
  flex: 1;
}

#options {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  flex: 1;
}

#options > button {
  margin: 10px;
}

#session_list {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
}

#session_list > button {
  margin: 10px;
}

#footer {
  font-size: small;
}

#timer {
  display: flex;
  flex-flow: column;
  align-items: center;
  background: #202020;
}

#timer.timesup {
  background: white;
}

#step_name {
  font-size: 2em;
  width: 85vw;
  text-align: center;
}

#timer.timesup #step_name {
  color: #202020;
}

#time_label {
  font-size: 40vw;
}

#timer.timesup #time_label {
  animation: 1s infinite alternate time_label_blink;
}

#timer.timesup #timer_buttons {
  display: none;
}

#timer_buttons .timer_button_bottom {
  margin: 10px;
}

#cancel_timesup {
  display: none;
  width: 8em;
  justify-content: center;
}

#timer.timesup #cancel_timesup {
  display: inherit;
}

#focus {
  background: black;
  border: none;
}

button {
  border: none;
  color: #efefef;
  font-size: 1.25em;
  padding: 10px;
  border-radius: 15px;
  background: #545454;
}

.cancel_button {
  position: absolute;
  top: 5px;
  right: 5px;
  height: 2.5em;
  width: 2.5em;
  border-radius: 50%;
}

.cancel_button:before {
  content: "✕";
}

@keyframes time_label_blink {
  to {
    color: white;
  }
  to {
    color: #202020;
  }
}
.toggle {
  margin: 0 0 1.5rem;
  box-sizing: border-box;
  font-size: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
.toggle input {
  width: 0;
  height: 0;
  position: absolute;
  left: -9999px;
}
.toggle input + label {
  margin: 0;
  padding: 0.75rem 2rem;
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  border: solid 1px #DDD;
  background-color: #FFF;
  font-size: 1rem;
  line-height: 140%;
  font-weight: 600;
  text-align: center;
  transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;
  /* ADD THESE PROPERTIES TO SWITCH FROM AUTO WIDTH TO FULL WIDTH */
  /*flex: 0 0 50%; display: flex; justify-content: center; align-items: center;*/
  /* ----- */
}
.toggle input + label:first-of-type {
  border-radius: 6px 0 0 6px;
  border-right: none;
}
.toggle input + label:last-of-type {
  border-radius: 0 6px 6px 0;
  border-left: none;
}
.toggle input:hover + label {
  border-color: #213140;
}
.toggle input:checked + label {
  background-color: #4B9DEA;
  color: #FFF;
  box-shadow: 0 0 10px rgba(102, 179, 251, 0.5);
  border-color: #4B9DEA;
  z-index: 1;
}
.toggle input:focus + label {
  outline: dotted 1px #CCC;
  outline-offset: 0.45rem;
}
@media (max-width: 800px) {
  .toggle input + label {
    padding: 0.75rem 0.25rem;
    flex: 0 0 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
