.cursor {
  position: fixed;
  width: 6rem;
  height: 6rem;
  top: 0;
  left: 0;
  margin-top: -3rem;
  margin-left: -3rem;
  z-index: 9999999;
  pointer-events: none;
  transition: top .2s linear, left .2s linear, opacity .667s;
  display: none;
  opacity: 1;
}
  
.cursor-item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity .2s linear;
  background-color: #00aa00;
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.cursor-ready .cursor  {
  display: block;
}

.touch .cursor  {
  display: none;
}

.cursor-idle .cursor  {
  opacity: 0;
}