.gap {
  height: 64px;
}

.card-image {
  min-height: 256px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.opacity {
  opacity: 0.75;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-10px); }
  60% { transform: translateY(-5px); }
}


.btn {  
  transition: 0.3s;
}

.btn:hover {
  transform: translateY(-3px);
}

.bounce-flat {
  transition: 0.3s;
}

.bounce-flat:hover {
  transform: rotate(0.5deg) scale(1.05);
}

.bounce {
  transition: 0.3s;
}

.bounce:hover {
  animation: bounce 2s infinite;
}

.bounce-once {
  transition: 0.3s;
  border-radius: 25px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  padding: 1rem;
}

.bounce-once:hover {
  transform: rotate(-1deg) scale(1.05);
}

.bounce-once img {
  width: 100%;
  border-radius: 20px;
}