Ciao ho fatto un effetto flip 3D su div, basato su una animazione css

codice:
@keyframes flip {
  0% {
      
    -webkit-transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;

  }
che funziona si, ma solo su firefox, mi aiutate a renderlo cross browser??cosa manca per gli altri browser? grazie dell'aiuto
questo è il codice
codice:
    
.flip-container {
    -webkit-perspective: 1000;
    -moz-perspective: 1000;
    -ms-perspective: 1000;
    perspective: 1000;

    -ms-transform: perspective(1000px);
    -moz-transform: perspective(1000px);
    -webkit-transform:perspective(1000px);
    
    -moz-transform-style: preserve-3d; 
    -ms-transform-style: preserve-3d; 
    -webkit-transform-style: preserve-3d; 

    border: 0px solid #ccc;
    width:100%;
    height:100%;
    font-family: arial;
}

        

            
/* END: Accommodating for IE */


    


.flipper {
    -webkit-transition: 0.6s;
    -webkit-transform-style: preserve-3d;
    -ms-transition: 0.6s;

    -moz-transition: 0.6s;
    -moz-transform: perspective(1000px);
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;

    transition: 0.6s;
    transform-style: preserve-3d;

    position: relative;
}

.front, .back {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    
    width:100%;
    height:100%;
    
}

.front {
            
    /*background: lightgreen;*/
    z-index: 2;
}

.back {
   /* background: lightblue;*/
            margin-left: 0 auto;
    margin-right: 0 auto;
}

.front .name {
    font-size: 2em;
    display: inline-block;
    background: rgba(33, 33, 33, 0.9);
    color: #f8f8f8;
    font-family: Courier;
    padding: 5px 10px;
    border-radius: 5px;
    bottom: 60px;
    left: 25%;
    position: absolute;
    text-shadow: 0.1em 0.1em 0.05em #333;
    display: none;

    -webkit-transform: rotate(-20deg);
    -moz-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg);
}



        
    
    
@keyframes flip {
  0% {
      
    -webkit-transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(-180deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;

  }

  
  50% {
      
    -webkit-transform: perspective(400px) translateZ(0) rotateY(-90deg) scale(.75);
    -ms-transform: perspective(400px) translateZ(0) rotateY(-90deg) scale(.75);
    transform: perspective(400px) translateZ(0) rotateY(-90deg) scale(.75);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
 
  }

  100% {
      
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0deg) scale(.99);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0deg) scale(.99);
    transform: perspective(400px) translateZ(0) rotateY(0deg) scale(.99);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
 
  }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    -ms-backface-visibility: visible;
    backface-visibility: visible;
}
    
.back{
    

    
    -webkit-animation: flip 8.5s 1; /* Safari 4+ */
    -moz-animation:    flip 8.5s 1; /* Fx 5+ */
    -o-animation:      flip 8.5s 1; /* Opera 12+ */
    animation:         flip 8.5s 1; /* IE 10+ */
        
    -webkit-animation-fill-mode:forwards;
    -moz-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
    display: none;  
} 
    
/*////////////////////////*/
    /*demo div element to flip*/
 
#pop1{
    width:600px;
    height:500px;  
}