.legitRipple {
  position: relative;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 0;
  /*
	Example for different transition-durations:

	&.longOpacity .legitRipple-ripple {
		transition-duration: .15s, .9s*4;
	}
	&.longDrop .legitRipple-ripple {
		transition-duration: .15s*5, .9s;
		transition-timing-function: linear, cubic-bezier(1, 0, 0.8, 0);
	}
	&.longOpacity.longDrop .legitRipple-ripple {
		transition-duration: .15s*5, .9s*4;
		transition-timing-function: linear, cubic-bezier(1, 0, 0.8, 0);
	}
	*/
}

.legitRipple-ripple {
  position: absolute;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  will-change: transform, width, opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  width: 0;
  opacity: 1;
  -webkit-transition: width 0.15s linear, opacity 0.9s ease-out;
  transition: width 0.15s linear, opacity 0.9s ease-out;
}

.legitRipple-ripple:before {
  content: "";
  padding-top: 100%;
  display: block;
}

img ~ .legitRipple-ripple {
  z-index: auto;
}

.legitRipple-template {
  display: none;
}

.legitRipple-custom {
  overflow: hidden;
}

.legitRipple-custom > * {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
