.cards {
  position: relative;  
  list-style-type: none;
  padding: 0;
  min-width: 30em;
  max-width: 30em;
  margin: 20% auto 0;
}

.card {
  position: absolute;
  min-width: -webkit-fill-available;
  top: 0;
  left: 0;
  z-index: 2;
  
  background: #ccc;
  border-radius: 30px;
  padding: 40px;
  box-shadow: 0 0 40px #000;
  transform: translateY(0) rotate(4deg) translateX(25px) scale(1);
  transform-origin: 0 0;
  
  transition: transform 0.6s cubic-bezier(.8,.2,.1,0.8) 0.1s,
    background 0.4s linear;
  
  cursor: pointer;
  user-select: none;
  
  :last-child { margin-bottom: 0; }
}

.card--next { 
  z-index: 5; 
  transform: translateY(-25px) rotate(4deg) translateX(25px) scale(1);
}

.card--out {
  animation: card-out 0.6s cubic-bezier(.8,.2,.1,0.8);
  transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95);
  z-index: 1;
  background: #bbb;
}

@keyframes card-out {
  0% { z-index: 20; transform: translateY(0px) rotate(-4deg); }
  50% { transform: translateY(-120%) rotate(-5deg) translateX(-40px); }
  80% { z-index: 1; }
  100% { transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95); }
}

.card--current {
  cursor: auto;
  user-select: auto;
  position: relative;
  z-index: 10;
  opacity: 1;
  background: #EEE;
  transform: rotate(-1deg) translateX(0%) scale(1);
}

@media (max-width: 576px) {
	.card { padding: 20px; min-width: 90%; max-width: 90%;}
}