body {
  margin: 0;
  padding: 0;
  font: 16px sans-serif;
}
* {
  box-sizing: border-box;
}
#wrap {
  width: 100dvw;
  height: 100dvh;
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
}
#map {
  width: 100dvw;
  height: 100dvh;
}
.leaflet-marker-icon.my-location {
  transform-origin: center;
}
#position {
  display: flex;
  flex-flow: row nowrap;
  position: fixed;
  z-index: 1000;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  color: #000;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
}
#position > .coords {
  width: 50%;
  padding: 0.5em;
  text-align: center;
}
#position > .speed,
#position > .heading {
  width: 25%;
  padding: 0.5em;
  text-align: center;
  border-left: 1px solid #ccc;
}

button#show-my-location {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  background-color: #fff;
  border: none;
  border-radius: 2px;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
  background-image: url('/center.svg');
  background-size: 16px 16px;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 400;
}
button#show-my-location.active {
  background-image: url('/globe.svg');
}