.coin {
    width: 80px;
    height: 80px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    position: relative;
}

.coin div {
    width: 100%;
    height: 100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.coin img {
    width: 100%;
    height:100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.coin {
  transition: -webkit-transform 1s ease-in;
  -webkit-transform-style: preserve-3d;
}
.coin div {
  position: absolute;
  -webkit-backface-visibility: hidden;
}
.coin .blue {
  z-index: 100;
}
.coin .red {
  -webkit-transform: rotateY(-180deg);
}

.coin.red {
    -webkit-transform: rotateY(-180deg);
}

.coin.flipblue {
  -webkit-animation: flipBlue 5s ease-out forwards;
  -moz-animation: flipBlue 5s ease-out forwards;
    -o-animation: flipBlue 5s ease-out forwards;
       animation: flipBlue 5s ease-out forwards;
}
.coin.flipred {
  -webkit-animation: flipRed 5s ease-out forwards;
  -moz-animation: flipRed 5s ease-out forwards;
    -o-animation: flipRed 5s ease-out forwards;
       animation: flipRed 5s ease-out forwards;
}

@-webkit-keyframes flipBlue {
  from { -webkit-transform: rotateY(0); -moz-transform: rotateY(0); transform: rotateY(0); }
  to { -webkit-transform: rotateY(2880deg); -moz-transform: rotateY(2880deg); transform: rotateY(2880deg); }
}
@-webkit-keyframes flipRed {
  from { -webkit-transform: rotateY(0); -moz-transform: rotateY(0); transform: rotateY(0); }
  to { -webkit-transform: rotateY(3060deg); -moz-transform: rotateY(3060deg); transform: rotateY(3060deg); }
}