.map-leaflet .leaflet-control-attribution,
.map-leaflet .leaflet-control-attribution a {
  font-size: 12px;
  line-height: 14px;
}

.marker-cluster-small {
  background-color: rgba(46, 159, 84, 0.788);
  color: #fff !important;
}

.marker-cluster-small div {
  background-color: rgba(46, 159, 84, 0.349);
}

.marker-cluster-medium {
  background-color: rgba(19, 121, 82, 0.788);
  color: #fff !important;
}

.marker-cluster-medium div {
  background-color: rgba(19, 121, 82, 0.349);
}

.marker-cluster-large {
  background-color: rgba(8, 105, 80, 0.788);
  color: #fff !important;
}

.marker-cluster-large div {
  background-color: rgba(8, 105, 80, 0.349);
}

.marker-cluster {
  background-clip: padding-box;
  border-radius: 20px;
}

.marker-cluster div {
  border-radius: 15px;
  height: 30px;
  margin-left: 5px;
  margin-top: 5px;
  text-align: center;
  width: 30px;
}

.marker-cluster span {
  line-height: 30px;
}

.leaflet-cluster-anim .leaflet-marker-icon,
.leaflet-cluster-anim .leaflet-marker-shadow {
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

@keyframes pulsateAnimation {
  0% {
    opacity: 0;
    transform: scale(0.1);
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: scale(1.2);
  }
}

@keyframes bounceAnimation {
  0% {
    opacity: 0;
    transform: translateY(-2000px) rotate(-45deg);
  }

  60% {
    opacity: 1;
    transform: translateY(30px) rotate(-45deg);
  }

  80% {
    transform: translateY(-10px) rotate(-45deg);
  }

  to {
    transform: translateY(0) rotate(-45deg);
  }
}

.leaflet-marker .wrapper {
  position: relative;
}

.leaflet-marker .pin {
  background: #59bb7e;
  border-radius: 50% 50% 50% 0;
  height: 30px;
  left: 50%;
  margin: -20px 0 0 -20px;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  width: 30px;
}

.leaflet-marker .pin:after {
  background: #fff;
  border-radius: 50%;
  content: '';
  height: 26px;
  margin: 2px 0 0 2px;
  position: absolute;
  width: 26px;
}

.leaflet-marker .pin .bounce {
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-name: bounceAnimation;
}

.leaflet-marker .pulse {
  background: rgba(88, 187, 126, 0.365);
  border-radius: 50%;
  height: 14px;
  left: 50%;
  margin: 11px 0 0 -12px;
  position: absolute;
  top: 50%;
  transform: rotateX(55deg);
  width: 14px;
  z-index: -2;
}

.leaflet-marker .pulse:after {
  animation: pulsateAnimation 1s ease-out;
  animation-delay: 1.1s;
  animation-iteration-count: infinite;
  border-radius: 50%;
  box-shadow: 0 0 1px 2px #58bb7e;
  content: '';
  height: 40px;
  margin: -13px 0 0 -13px;
  opacity: 0;
  position: absolute;
  width: 40px;
}

.leaflet-marker img {
  border-radius: 50%;
  height: calc(100% - 6px);
  left: 3px;
  -o-object-fit: contain;
  object-fit: contain;
  overflow: hidden;
  position: absolute;
  top: 3px;
  transform: rotate(45deg);
  width: calc(100% - 6px);
  z-index: 1;
}
