/* 3D mixins
========================================================*/
.perspective(@value){
    perspective: @value;
    -webkit-perspective: @value;
    -moz-perspective: @value;
    -o-perspective: @value;
}
.preserve-3d(){
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
}
.backface-visibility(@value){
    -webkit-backface-visibility: @value; 
    -moz-backface-visibility: @value; 
    -ms-backface-visibility: @value; 
    backface-visibility: @value; 
}
.transform-origin(@origin){
    transform-origin: @origin;
    -webkit-transform-origin: @origin;
    -moz-transform-origin: @origin;
    -o-transform-origin: @origin;
}
.rotateX(@deg){
    transform: rotateX(@deg);
    -webkit-transform: rotateX(@deg);
    -moz-transform: rotateX(@deg);
    -o-transform: rotateX(@deg);
} 
.rotateY(@deg){
    transform: rotateY(@deg);
    -webkit-transform: rotateY(@deg);
    -moz-transform: rotateY(@deg);
    -o-transform: rotateY(@deg);
}    
.rotateZ(@deg){
    transform: rotateZ(@deg);
    -webkit-transform: rotateZ(@deg);
    -moz-transform: rotateZ(@deg);
    -o-transform: rotateZ(@deg);
}
.flipX{
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}
.flipY{
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    filter: FlipV;
    -ms-filter: "FlipV";
}
.flipXY{
    .flipX();
    .flipY();
}