:root {
  --margin: 2rem;
  --teal-050: #effcf6;
  --teal-100: #c6f7e2;
  --teal-200: #8eedc7;
  --teal-300: #65d6ad;
  --teal-400: #3ebd93;
  --teal-500: #27ab83;
  --teal-600: #199473;
  --teal-700: #147d64;
  --teal-800: #0c6b58;
  --teal-900: #014d40;

  --blue-grey-050: #f0f4f8;
  --blue-grey-100: #d9e2ec;
  --blue-grey-200: #bcccdc;
  --blue-grey-300: #9fb3c8;
  --blue-grey-400: #829ab1;
  --blue-grey-500: #627d98;
  --blue-grey-600: #486581;
  --blue-grey-700: #334e68;
  --blue-grey-800: #243b53;
  --blue-grey-900: #102a43;
}
body {
  max-width: 960px;
  padding: 1em;
}

a[role=button] {
  cursor: pointer;
}

a.selected {
  font-weight: bold;
  text-decoration: underline;
  color: black;
}

.map-container {
  height: 70vh;
  width: 100%;
  display: flex;
}

.sidebar {
  max-width: 20vw;
  flex: 1 30%;
  padding: 0 10px;
  overflow: hidden;
}

.sidebar-inner-scroller {
  overflow: hidden scroll;
  height: calc(100% - 46px);
}

#map {
  height: 100%;
  width: 100%;
  flex: 1 70%;
}

.calendars {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.calendar {
  margin: 1em;
  border: 2px solid var(--blue-grey-200);
  border-radius: 8px;
  padding: 0.5em;
  flex: 1 100%;
}

@media screen and (min-width:36rem) {
  .calendar {
     flex: 0 40%;
  }
  .streets {
    column-count: 2;
  }
}

/* For the month */
.month-indicator {
  color: var(--blue-grey-700);
  text-align: center;
  font-weight: 500;
  margin-bottom: 1em;
}

/* CSS grid used for the dates */
.day-of-week,
.date-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.day-of-week > * {
  font-size: 0.7em;
  color: var(--blue-grey-400);
  font-weight: 500;
  letter-spacing: 0.1em;
  font-variant: small-caps;
  text-align: center;
}

/* Dates */
.date-grid {
  margin-top: 0.5em;
}

.date-grid a[data-dow='mo'] {
  grid-column: 1;
}

.date-grid a[data-dow='di'] {
  grid-column: 2;
}

.date-grid a[data-dow='mi'] {
  grid-column: 3;
}

.date-grid a[data-dow='do'] {
  grid-column: 4;
}

.date-grid a[data-dow='fr'] {
  grid-column: 5;
}

.date-grid a[data-dow='sa'] {
  grid-column: 6;
}

.date-grid a[data-dow='so'] {
  grid-column: 7;
}

/* Style for each day */
.date-grid a {
  height: 4.5ch;
  line-height: 4.5ch;
  text-align: center;
  background-color: transparent;
  color: var(--blue-grey-600);
}

.date-grid a:hover,
.date-grid a:focus {
  outline: none;
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-700);
}

.date-grid a:active,
.date-grid a.is-selected {
  background-color: var(--teal-100);
  color: var(--teal-900);
}
