.imagepin {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  max-width: 100%;
  /* margin: 30px auto; */
}
.imagepin .pins {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.imagepin img {
  display: block;
  margin: 0;
  width: 100% !important;
  height: auto;
}
.imagepin .pin {
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  z-index: 9;
  border-radius: 100%;
  position: absolute;
  opacity: 1;
  background: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid transparent;
  text-decoratio: none;
}
.imagepin .pin span {
  position: absolute;
  top: -10px;
  font-size: clamp(12px, 2vw, 13px);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  color: #111;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  padding: 5px 10px;
  border-radius: 5px;
  z-index: 10;
  line-height: 1;
  opacity: 0;
  transition: 0.2s all ease-in-out;
  -ms-transform: translate(44%, 0%);
  transform: translate(44%, 0%);
}
.imagepin .pin:hover {
  /* border-color: #fff; */
  border-color: #b8c8f3;
}
.imagepin .pin:hover:after {
  width: 7px;
  height: 7px;
}
.imagepin .pin:hover span {
  opacity: 1;
  top: -20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.imagepin .pin:active {
  border-color: #ffaa67;
}
.imagepin .pin:active:after {
  width: 20px;
  height: 20px;
}
.imagepin .pin:after {
  content: "";
  width: 20px;
  height: 20px;
  transition: 0.2s all ease-in-out;
  /* background: #fff; */
  background: #b8c8f3;
  position: relative;
  display: block;
  border-radius: 100%;
}
.imagepin .pin:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 50%;
  -webkit-animation: shockwave 2s 0.5s ease-out infinite;
          animation: shockwave 2s 0.5s ease-out infinite;
}
@-webkit-keyframes shockwave {
  0% {
    transform: scale(1);
    /* box-shadow: 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 1px #fff; */
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 1px #b8c8f3;
  }
  95% {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0), inset 0 0 30px rgba(0, 0, 0, 0);
  }
  100% {
    transform: scale(1.8);
  }
}
@keyframes shockwave {
  0% {
    transform: scale(1);
    /* box-shadow: 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 1px #fff; */
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 1px #b8c8f3;
  }
  95% {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0), inset 0 0 30px rgba(0, 0, 0, 0);
  }
  100% {
    transform: scale(1.8);
  }
}
.imagepin .pin:nth-of-type(1):before {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.imagepin .pin:nth-of-type(2):before {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.imagepin .pin:nth-of-type(3):before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.imagepin .pin:nth-of-type(4):before {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.imagepin .pin:nth-of-type(5):before {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.imagepin .pin:nth-of-type(6):before {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.imagepin .pin:nth-of-type(7):before {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.imagepin .pin:nth-of-type(8):before {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.imagepin .pin:nth-of-type(9):before {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
