#map {
  flex: 1;
  min-height: 0;
}

#map h1 {
  font-size: 1.25rem;
  margin: 0;
}

#map h2 {
  font-size: 1rem;
  margin: 0.25rem 0 0.5rem;
}

html,
body {
  font-family: Helvetica, sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  flex-direction: column;
  background: floralwhite;
}

body > form {
  display: flex;
  /*justify-content:space-between;*/
  align-items: center;
  margin: 0.5rem 1rem;
  gap: 0.5rem;
}

.legend {
  font-size: small;
  margin: 0.5rem 1rem;
}

input[type=text] {
  padding: 5px 5px;
}

input[type=submit] {
  padding: 5px 12px;
}

.custom-map-control-button {
  background-color: #fff;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.3);
  padding: 0 0.5em;
  font: 400 14px Helvetica, Arial, sans-serif;
  overflow: hidden;
  height: 34px;
  cursor: pointer;
}
.custom-map-control-button:hover {
  background: #ebebeb;
}

/*
 * Tiles are scaled by fractional amounts while zooming, which leaves hairlines
 * between them. Overlap the tiles during the animation only, so they stay
 * pixel-perfect at rest. Leaflet's plus-lighter blending has to be turned off
 * for this, otherwise the overlapping pixels add up to white.
 */
.leaflet-zoom-anim img.leaflet-tile {
  width: 257px !important;
  height: 257px !important;
  mix-blend-mode: normal;
}
