.card {
    display: inline-block;
    margin: 8px;
    perspective: 1000;
    -webkit-perspective: 1000;
}

.card.flip .flipper {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.card, .front, .back {
    width: 128px;
    height: 128px;
}

.front, .back {
    border-radius: 16px;
    background-size: 128px;
    box-shadow: 0 0 6px black;
}

/* flip speed goes here */
.flipper {
    transition: 0.6s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;

    position: relative;
}

/* hide back of pane during swap */
.front, .back {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;

    position: absolute;
    top: 0;
    left: 0;
}

/* front pane, placed above back */
.front {
    z-index: 2;
}

/* back, initially hidden pane */
.back {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
