body {
    margin: 0;
}

.card{
    -webkit-transform-style: preserve-3d;
    -webkit-perspective: 1000;
    -moz-transform-style: preserve-3d;
    -moz-perspective: 1000;
    width: 312px;
    height: 445px;
    position: relative;
}

#cardcontainer {
    display: inline-block;
    text-align: justify;
    position: absolute; right: 1ex;
}  
#cardcontainer:hover .back {  
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
}
#cardcontainer:hover .front {     
    -webkit-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);
}

.front, .back{
    position: absolute;
    -webkit-backface-visibility: hidden;
    -webkit-transition: -webkit-transform 400ms ease-in;
    -moz-backface-visibility: hidden;
    -moz-transition: -moz-transform 400ms ease-in;
    width: 100%;
    height: 100%;  
    font-family: Helvetica, Arial, sans-serif;
    color: #fff;   
    font-weight: bold;
}

.front{
    background: #7f37c2;
}

.back{
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    overflow: hidden;
}
