*,
*::before,
*::after {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

* {
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
  scrollbar-width: none;
  /* Firefox */
}

*::-webkit-scrollbar {
  display: none;
  /* Safari and Chrome */
}

.animate-appear {
  animation: appear 1s ease-in-out;
}

.animate-pulse-hover {
  animation: pulse-hover 3s infinite ease-in-out;
}

@keyframes appear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes pulse-hover {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }

  100% {
    transform: translateY(0);
  }
}

.fade-bottom {
  mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.max-w-container {
  max-width: 1200px;
}

.image {
  position: relative;
  width: 100vw;
  max-width: 256px;
  aspect-ratio: 1 / 1;
}
