.map-search-control {
  background-color: white;
  position: relative;
  font: 15px/20px "Helvetica Neue", Arial, Helvetica, sans-serif;
  z-index: 1;
  border-radius: 3px;
  width: 360px;
}

input[type="text"].map-search-input {
  font-size: 12px;
  width: 100%;
  border: 0;
  background-color: transparent;
  margin: 0;
  color: rgba(0, 0, 0, 0.5);
  padding: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: none;
}

.map-search-label {
  position: relative;
  display: flex;
  margin-bottom: 0;
}

.map-search-icon {
  padding-top: 12px;
  padding-left: 12px;
  font-size: 15px;
}

.map-search-results {
  background-color: #fff;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  left: 0;
  top: 100%;
  z-index: 1000;
  overflow: hidden;
  font-size: 12px;
  display: none;
}

.mapboxgl-ctrl-group button.map-search-result-button,
.mapboxgl-ctrl-group .map-search-result-empty {
  font-size: 14px;
  color: #585957;
  width: 100%;
  height: auto;
  padding: 6px 12px;
  text-align: left;
  font-size: 14px;
  max-width: calc(100% - 24px) %;
}

.mapboxgl-ctrl-group button.map-search-result-button {
  text-wrap: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.mapboxgl-ctrl-group .map-search-result-park button.map-search-result-button {
  font-weight: bold;
  color: hsl(94, 49%, 22%);
}

.mapboxgl-ctrl-group
  .map-search-result-rec_center
  button.map-search-result-button {
  font-weight: bold;
  color: hsl(19, 100%, 22%);
}

.mapboxgl-ctrl-group
  .map-search-result-outdoor_pool_groups
  button.map-search-result-button,
.mapboxgl-ctrl-group
  .map-search-indoor_pool_groups
  button.map-result-search-result-button {
  font-weight: bold;
  color: hsl(200, 100%, 24%);
}

.mapboxgl-ctrl-group .map-search-result-beach button.map-search-result-button {
  font-weight: bold;
  color: hsl(41, 87%, 36%);
}
