.noise {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
}

.checker {
  background-size: 22px 22px;
  background-image:
    linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.12) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.12) 75%,
      rgba(0, 0, 0, 0.12)
    ),
    linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.12) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.12) 75%,
      rgba(0, 0, 0, 0.12)
    );
  background-position:
    0 0,
    11px 11px;
}

@keyframes pop {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  40% {
    transform: translate(-2px, -2px) rotate(-0.3deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

.pop-hover:hover {
  animation: pop 180ms ease-out;
}
