.ezsd{
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  z-index: 9999;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 18px;
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: visible;
}

.ezsd.left{ right: auto; left: 18px; }
.ezsd.right{ left: auto; right: 18px; }

.ezsd-item{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 22px;
  height: 14px;
  text-decoration: none;
  overflow: visible;
  margin-bottom: 0;
  transition: margin-bottom .2s ease;
}

/* dot */
.ezsd-item .dot{
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  opacity: .95;
  border: 2px solid transparent;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}

.ezsd-item:hover .dot{
  transform: scale(1.15);
  opacity: 1;
}

/* active dot */
.ezsd-item.is-active .dot{
  background: transparent;
  border: 2px solid #9fd3ff;
  position: relative;
}

.ezsd-item.is-active .dot::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}

/* label hidden first */
.ezsd-item .label{
  position: absolute;
  top: 22px;
  left: 50%;
  padding-right: 4px;
  transform: translateX(-50%);
/*  writing-mode: vertical-lr;   */
  writing-mode: sideways-lr;
  text-orientation: mixed;
  white-space: nowrap;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .5px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease;
}


.ezsd-item.is-active .label{
  opacity: 1;
  visibility: visible;
}