html {
  height: 100%;
  font-size: 16px;
  line-height: 24px;
  background-color: #e1f4fc;
  font-family: sans-serif;
  font-weight: 700;
  overflow: hidden; }

body {
  padding: 0;
  margin: 0;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #444; }

*:after, *:before, * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Questrial', sans-serif;
  text-transform: uppercase;
  font-weight: 100;
  line-height: 2.1;
  letter-spacing: 2px; }

img {
  max-width: 100%; }

iframe {
  border: 0; }

a:link,
a:visited {
  color: #0b2e50; }

#__bs_notify__ {
  display: none !important; }

app-error {
  pointer-events: none; }

app-loader {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  opacity: 1;
  padding: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  app-loader.hidden {
    opacity: 0;
    pointer-events: none; }

app-menu {
  opacity: 1;
  height: 100vh;
  width: 100vw;
  z-index: 10;
  pointer-events: none; }
  app-menu.hidden {
    opacity: 0;
    pointer-events: none; }
  app-menu:after {
    content: '';
    display: block;
    background-color: black;
    position: absolute;
    width: 100vw;
    height: 100vh;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: -1;
    opacity: 0;
    -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -o-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93); }
  app-menu.expanded:after {
    opacity: 1; }

ov-app {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e1f4fc; }

trip-indicator {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 20px 7px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 1px dashed rgba(11, 46, 80, 0.2); }
  trip-indicator:empty {
    display: none; }
  trip-indicator p {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center; }

trip-info {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 100%;
  max-width: 620px;
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 12px; }

trip-selector {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 100%;
  max-width: 620px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 34px; }
  trip-selector .label {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%; }
  trip-selector .stop-selector,
  trip-selector .trip-selector {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 7px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 50%;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  trip-selector .trip-selector {
    margin-top: 0; }
  trip-selector .stop-selector {
    padding-bottom: 0; }
  trip-selector button {
    margin-left: -1px;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  trip-selector select {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 80%;
    -ms-flex: 1 1 80%;
    flex: 1 1 80%; }
  trip-selector .no-trips {
    margin-top: 2px;
    line-height: 1.2;
    font-size: 14px;
    font-weight: 100; }

@media all and (min-width: 500px) {
  trip-selector {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    trip-selector .trip-selector {
      margin-top: 7px; } }

button {
  display: block;
  font-size: 16px;
  line-height: 1.3;
  padding: 7px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #aaa;
  -webkit-box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
  box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background-color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e5e5e5));
  background-image: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background-image: -o-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background-image: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  background-repeat: repeat;
  background-position: 0 0;
  -webkit-background-size: .65em auto, 100%;
  background-size: .65em auto, 100%; }
  button::-ms-expand {
    display: none; }
  button:hover {
    border-color: #888;
    z-index: 2; }
  button:focus {
    z-index: 2;
    border-color: #aaa;
    -webkit-box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222;
    outline: none; }

.label {
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 100;
  letter-spacing: 2px;
  line-height: 1.7;
  margin-top: 4px;
  opacity: .6;
  margin-bottom: 3px; }

select {
  display: block;
  font-size: 16px;
  line-height: 1;
  padding: 7px;
  padding-right: 30px;
  width: 100%;
  cursor: pointer;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #aaa;
  -webkit-box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
  box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230b2e50%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e5e5e5));
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230b2e50%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230b2e50%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), -o-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230b2e50%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
  background-repeat: no-repeat, repeat;
  background-position: right .7em top 50%, 0 0;
  -webkit-background-size: .65em auto, 100%;
  background-size: .65em auto, 100%;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  position: relative;
  white-space: nowrap;
  overflow: hidden; }
  select::-ms-expand {
    display: none; }
  select:hover {
    border-color: #888;
    z-index: 2; }
  select:focus {
    z-index: 2;
    border-color: #aaa;
    -webkit-box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222;
    outline: none; }
  select option {
    font-weight: normal;
    padding: 0; }

.app-title {
  margin: 0;
  text-align: left;
  padding: 14px 40px 10px 7px;
  font-size: 16px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  -webkit-transform: translateY(-7px);
  -ms-transform: translateY(-7px);
  transform: translateY(-7px);
  z-index: 8;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, #e1f4fc), to(rgba(225, 244, 252, 0)));
  background: -webkit-linear-gradient(#e1f4fc 90%, rgba(225, 244, 252, 0) 100%);
  background: -o-linear-gradient(#e1f4fc 90%, rgba(225, 244, 252, 0) 100%);
  background: linear-gradient(#e1f4fc 90%, rgba(225, 244, 252, 0) 100%); }

.build-by {
  padding: 7px;
  color: #e1f4fc;
  -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
  font-weight: 100;
  opacity: 0;
  font-size: 12px;
  line-height: 1.3;
  margin-top: auto;
  width: 100%; }
  .build-by a {
    color: #e1f4fc; }

.expanded .build-by {
  opacity: .5;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.favorite-button {
  color: #b4b4b4;
  -webkit-transform: translateZ(-1);
  transform: translateZ(-1);
  -webkit-transition: color 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), text-shadow 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: color 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), text-shadow 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: color 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), text-shadow 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: color 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), text-shadow 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: color 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), text-shadow 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93); }
  .favorite-button svg {
    display: block;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    max-width: 20px;
    width: 20px; }
  .favorite-button:focus {
    color: #b4b4b4; }
  .favorite-button:not(.favorite) {
    -webkit-filter: grayscale(1);
    filter: grayscale(1); }

.favorite-button.show-animation {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  z-index: 10; }
  .favorite-button.show-animation:not(.favorite) svg {
    -webkit-animation: remove 0.7s cubic-bezier(0.95, 0.18, 0.32, 1.01);
    animation: remove 0.7s cubic-bezier(0.95, 0.18, 0.32, 1.01); }
  .favorite-button.show-animation.favorite svg {
    -webkit-animation: zoom 0.9s cubic-bezier(0.95, 0.18, 0.32, 1.01);
    animation: zoom 0.9s cubic-bezier(0.95, 0.18, 0.32, 1.01); }

@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); }
  50% {
    -webkit-transform: scale(4) rotate(-10deg);
    transform: scale(4) rotate(-10deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@keyframes zoom {
  0% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); }
  50% {
    -webkit-transform: scale(4) rotate(-10deg);
    transform: scale(4) rotate(-10deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-webkit-keyframes remove {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    opacity: 1; }
  30% {
    -webkit-transform: scale(0.5) translateY(0);
    transform: scale(0.5) translateY(0);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    opacity: 1; } }

@keyframes remove {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    opacity: 1; }
  30% {
    -webkit-transform: scale(0.5) translateY(0);
    transform: scale(0.5) translateY(0);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    opacity: 1; } }

.heart-icon-base {
  fill: #C03A2B; }

.heart-icon-glimpse {
  fill: #ED7161; }

.illustration {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -o-object-fit: contain;
  object-fit: contain;
  max-height: 60%;
  max-width: 70vw; }

.info-field {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  text-align: left;
  padding: 7px;
  min-width: 150px; }
  .info-field .value {
    line-height: 1.5;
    font-weight: 100;
    font-size: 16px; }

.menu-toggle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: absolute;
  right: 11px;
  top: 13px;
  cursor: pointer;
  z-index: 10;
  pointer-events: auto;
  padding: 10px;
  height: 40px;
  background-color: #e1f4fc;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0.3s, opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0.3s, opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0.3s, opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  opacity: 1; }
  .menu-toggle .bar {
    width: 20px;
    height: 2px;
    background-color: #0b2e50;
    -webkit-transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -o-transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: all 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93); }
  .menu-toggle.expanded {
    background-color: transparent;
    -webkit-transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0s;
    -o-transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0s;
    transition: background-color 0s cubic-bezier(0.67, -0.07, 0.49, 0.93) 0s; }
    .menu-toggle.expanded .bar {
      background-color: #ffc72d; }
    .menu-toggle.expanded .bar:nth-child(2) {
      opacity: 0;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg); }
    .menu-toggle.expanded .bar:nth-child(1) {
      -webkit-transform: translateY(9px) rotate(135deg);
      -ms-transform: translateY(9px) rotate(135deg);
      transform: translateY(9px) rotate(135deg); }
    .menu-toggle.expanded .bar:nth-child(3) {
      -webkit-transform: translateY(-9px) rotate(-135deg);
      -ms-transform: translateY(-9px) rotate(-135deg);
      transform: translateY(-9px) rotate(-135deg); }

.hidden > .menu-toggle {
  opacity: 0; }

@media all and (min-width: 620px) {
  .menu-toggle {
    right: -webkit-calc(50% - 289px);
    right: calc(50% - 289px); } }

.menu-wrapper {
  background-color: #0b2e50;
  width: 100%;
  height: 100%;
  max-width: 620px;
  padding: 50px 7px 7px;
  -webkit-clip-path: circle(0px at -webkit-calc(100% - 24px) -webkit-calc(0% + 23px));
  clip-path: circle(0px at calc(100% - 24px) calc(0% + 23px));
  -webkit-transition: -webkit-clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: -webkit-clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-clip-path 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: safe center;
  -webkit-justify-content: safe center;
  -ms-flex-pack: safe center;
  justify-content: safe center;
  will-change: auto;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }
  .menu-wrapper .menu-link {
    padding: 7px;
    color: #e1f4fc;
    -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -o-transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0;
    font-weight: 100; }
  .menu-wrapper .illustration {
    -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -o-transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  .menu-wrapper.expanded {
    pointer-events: auto;
    -webkit-clip-path: circle(120vmin at 50vw 50vh);
    clip-path: circle(120vmin at 50vw 50vh); }
    .menu-wrapper.expanded .illustration,
    .menu-wrapper.expanded .menu-link {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); }

@media all and (min-width: 620px) {
  .menu-wrapper {
    -webkit-clip-path: circle(0px at -webkit-calc(50% + 310px - 32px) -webkit-calc(0% + 23px));
    clip-path: circle(0px at calc(50% + 310px - 32px) calc(0% + 23px)); } }

.page {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 100vh;
  width: 100%;
  max-width: 620px;
  padding: 7px;
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-filter 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-filter: none;
  filter: none;
  overflow-x: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  .page.hidden {
    opacity: 0; }
  .page.menu-expanded {
    -webkit-transform: translate(-50%, 270px);
    -ms-transform: translate(-50%, 270px);
    transform: translate(-50%, 270px);
    opacity: 0; }

.progress-bar {
  height: -webkit-calc(100% - 8px);
  height: calc(100% - 8px);
  background-color: #e5e5e5;
  position: absolute;
  top: 50%;
  left: 4px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: width .5s ease-in-out;
  -o-transition: width .5s ease-in-out;
  transition: width .5s ease-in-out;
  -webkit-border-radius: .3em;
  border-radius: .3em;
  max-width: -webkit-calc(100% - 8px);
  max-width: calc(100% - 8px);
  background-image: -webkit-repeating-linear-gradient(135deg, white, white 11px, transparent 10px, transparent 28px);
  background-image: -o-repeating-linear-gradient(135deg, white, white 11px, transparent 10px, transparent 28px);
  background-image: repeating-linear-gradient(-45deg, white, white 11px, transparent 10px, transparent 28px);
  -webkit-background-size: 40px 40px;
  background-size: 40px 40px;
  -webkit-animation: move 1s linear infinite;
  animation: move 1s linear infinite; }

.progress-bar-wrapper {
  text-align: center;
  padding: .4em;
  margin: 7px;
  position: relative;
  -webkit-border-radius: .5em;
  border-radius: .5em;
  background-color: #0b2e50;
  width: -webkit-calc(100% - 40px);
  width: calc(100% - 40px); }
  .progress-bar-wrapper .label {
    mix-blend-mode: difference;
    -webkit-filter: invert(1) contrast(9);
    filter: invert(1) contrast(9);
    z-index: 2;
    font-weight: 100;
    font-size: 11px;
    color: #0b2e50; }

@-webkit-keyframes move {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

@keyframes move {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

.punctuality.early .value {
  color: #ED7161; }

.punctuality.negative .value {
  color: #C03A2B; }

.range-label {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 100;
  letter-spacing: 2px;
  line-height: 1.7;
  margin: 7px;
  color: white; }

.settings {
  padding: 7px;
  -webkit-transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -o-transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  transition: transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), opacity 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93), -webkit-transform 0.3s cubic-bezier(0.67, -0.07, 0.49, 0.93);
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
  opacity: 0; }
  .settings .label {
    color: #e1f4fc; }
  .settings input {
    width: 100%;
    margin: 10px 0; }

.expanded > .settings {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }
