html, body { margin: 0; padding: 0; width: 100%; height: 100%}
#map { width: 100%; height: 100%; margin: auto;}
.mapboxgl-popup {
  max-width: 400px;
  font: 14px/22px 'Helvetica Neue', Arial, Helvetica, sans-serif;
  color: black;
  line-height: 1em;
  font-weight: 300;
  text-shadow: 1 1 3px grey;
}

#menu {
  z-index: 10;

  position: absolute;
  top:  2px;
  left: 10px;

  width: 150px;
  padding: 5px 5px 5px 5px;

  font-family: 'Open Sans', sans-serif;
  border-radius: 5px;
}
.mapboxgl-ctrl-top-left {
  left: 155px!important;
}

#menu input[type="radio"] {display: none;}
#menu label, #menu a, #menu button {
  margin-left: 2px;
  margin-top:  2px;
  padding:    10px;
  width:     120px;
  height:     20px;
  
  text-align: center;
  color: white;
  text-transform: uppercase;
  font-size: 0.8em;

  opacity: 0.7;
  display: block;
  border-radius: 5px;
}
#menu input:nth-child(1) { background: #bd5942; }
#menu input:nth-child(2) { background: #7EB77B; }
#menu input:nth-child(3) { background: #40a7b8; }

#menu input:checked + label {
  width:  116px;
  height: 16px;
  border: solid 2px lightgrey;
  opacity: 1;
  box-shadow: 0 0 20px 1px black;
}
#menu input:hover + label, #menu a:hover {
  opacity: 1;
}

#menu a { background-color: #333333; text-decoration: none; }
#menu a img  { height: 40px; position: relative; top: -10px; left: -10px;  }
#menu a span { position: relative; top: -25px; }