.leaflet-control-geocoder {
  border-radius: 2px;
  background: white;
  min-width: 26px;
  min-height: 26px;
  max-width: calc(100vw - 24px);
}

.leaflet-touch .leaflet-control-geocoder {
  min-width: 26px;
  min-height: 26px;
}

.leaflet-control-geocoder-expanded {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 272px;
}

.leaflet-control-geocoder a,
.leaflet-control-geocoder .leaflet-control-geocoder-icon {
  border-bottom: none;
  display: inline-flex;
}

.leaflet-control-geocoder .leaflet-control-geocoder-alternatives a {
  width: inherit;
  height: inherit;
}

.leaflet-control-geocoder a:hover,
.leaflet-control-geocoder .leaflet-control-geocoder-icon:hover {
  border-bottom: none;
  background-color: #AAB315;
}

.leaflet-control-geocoder-form {
  display: none;
  vertical-align: middle;
  min-width: 0;
}

.leaflet-control-geocoder-expanded .leaflet-control-geocoder-form {
  display: flex;
  align-items: center;
  min-width: 0;
}

.leaflet-control-geocoder-form input {
  font-size: 120%;
  border: 0;
  background-color: transparent;
  width: 246px;
  max-width: calc(100vw - 74px);
  min-width: 0;
  padding-left: 5px;
  padding-right: 6px;
}

.leaflet-control-geocoder-icon {
  flex: 0 0 26px;
  border-radius: 2px;
  width: 26px;
  height: 26px;
  border: none;
  background-color: #005B79 !important;
  background-image: url(images/geocoder3.png);
  background-repeat: no-repeat;
  background-size: 16px auto;
  background-position: center;
  cursor: pointer;
}

.leaflet-touch .leaflet-control-geocoder-icon {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
}

.leaflet-control-geocoder-throbber .leaflet-control-geocoder-icon {
  background-image: url(images/throbber.gif);
}

.leaflet-control-geocoder-form-no-error {
  display: none;
}

.leaflet-control-geocoder-form input:focus {
  outline: none;
}

.leaflet-control-geocoder-form button {
  display: none;
}

.leaflet-control-geocoder-error {
  flex-basis: 100%;
  margin-top: 8px;
  margin-left: 8px;
  display: block;
  color: #444;
}

.leaflet-control-geocoder-alternatives {
  display: block;
  flex-basis: 100%;
  width: 272px;
  min-width: 272px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.leaflet-control-geocoder-alternatives-minimized {
  display: none;
  height: 0;
}

.leaflet-control-geocoder-alternatives li {
  white-space: nowrap;
  display: block;
  overflow: hidden;
  padding: 5px 8px;
  text-overflow: ellipsis;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
  color: black;
}

.leaflet-control-geocoder-alternatives li a,
.leaflet-control-geocoder-alternatives li a:hover {
  width: inherit;
  height: inherit;
  background: inherit;
  border-radius: inherit;
  text-align: left;
  color: black;
}

.leaflet-control-geocoder-alternatives li:last-child {
  border-bottom: none;
}

.leaflet-control-geocoder-alternatives li:hover,
.leaflet-control-geocoder-selected {
  background-color: #f5f5f5;
  color: black;
}

.leaflet-control-geocoder-address-detail {
}

.leaflet-control-geocoder-address-context {
  color: #666;
}

@media (max-width: 520px) {
  .leaflet-control-geocoder {
  max-width: 272px;
}

.leaflet-control-geocoder-expanded {
  width: 272px;
  max-width: 272px;
}

.leaflet-control-geocoder-form input {
  width: 236px;
  max-width: 236px;
  font-size: 16px;
}

  .leaflet-control-geocoder-alternatives {
    flex-basis: 100%;
    width: 272px;
    min-width: 272px;
  }
}