body {
	background-color: #333;
}

.card-content {
    height: -webkit-fill-available;
    text-align: center;
    font-size: 30px;
    display: flex;
    flex-direction: column;
    align-content: space-around;
    justify-content: space-around;
    align-items: center;
}
.card-paging {
	bottom: -5px;
	right: -5px;
	text-align: right;
	font-size: 14px;
}

.cards {
  position: relative;  
  list-style-type: none;
  padding: 0;
  min-width: 36em;
  max-width: 36em;
  margin: 15% auto 0;
}

.card {
  position: absolute;
  width: 36em;
  height: 350px;
  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) {
	#cards { position: relative; top: 15%;}
	.card { padding: 20px; min-width: 95vw; max-width: 95vw;}
}