/*----------------------- menu -----------------------*/
.menu {
    height: 400px;
	padding: 0;
	position: absolute;
    top:0;bottom:0;right:0;left:0;
    margin:auto 0 auto 6em;
	list-style: none;
    transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
}
.menu li {
	margin: 20px 0;
    width: 80px;
	height: 40px;
    transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
}
.button-rotate {
	cursor: pointer;
}
.container_box {
	width: 80px;
	height: 40px;
	position: relative;
    transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
}
#box {
	width: 100%;
	height: 100%;
	position: absolute;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	-webkit-animation: swaying 4s ease infinite;
	-moz-animation: swaying 4s ease infinite;
	-ms-animation: swaying 4s ease infinite;
	-o-animation: swaying 4s ease infinite;
	animation: swaying 4s ease infinite;
}

/*   keyframes swaying box   */

@-webkit-keyframes swaying {
 0%, 100% {
-webkit-transform:rotateY(-20deg);
}
 50% {
-webkit-transform:rotateY(40deg);
}
}
@-moz-keyframes swaying {
0%, 100% {
-moz-transform:rotateY(-20deg);
}
 50% {
-moz-transform:rotateY(40deg);
}
}
@-ms-keyframes swaying {
 0%, 100% {
-ms-transform:rotateY(-20deg);
}
 50% {
-ms-transform:rotateY(40deg);
}
}
@-o-keyframes swaying {
 0%, 100% {
-o-transform:rotateY(-20deg);
}
 50% {
-o-transform:rotateY(40deg);
}
}
@keyframes swaying {
0%, 100% {
transform:rotateY(-20deg);
}
 50% {
transform:rotateY(40deg);
}
}
#box .face {
	display: block;
	position: absolute;
	background: #000000;
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
	line-height: 40px;
	text-align: center;
	text-transform: uppercase;
	font-size: 11px;
    transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
.dashed:hover #box .face {
	background: #FFFFFF;
	border: 1px dashed #000000;
	color: #000000;
}
.dashed:active #box .face {
	background: #FFFFFF;
	border: 1px dotted #000000;
	color: #000000;
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
}
/*   faces size   */

#box .front, #box .back {
	width: 80px;
	height: 40px;
}
#box .top, #box .bottom {
	width: 80px;
	height: 40px;
}
#box .right, #box .left {
	width: 40px;
	height: 40px;
}
/*   faces positions   */

#box .front {
	transform: rotateY(0deg) translateZ(20px);
	-webkit-transform: rotateY(0deg) translateZ(20px);
	-moz-transform: rotateY(0deg) translateZ(20px);
	-ms-transform: rotateY(0deg) translateZ(20px);
	-o-transform: rotateY(0deg) translateZ(20px);
}
#box .back {
	transform: rotateX(180deg) translateZ(20px);
	-webkit-transform: rotateX(180deg) translateZ(20px);
	-moz-transform: rotateX(180deg) translateZ(20px);
	-ms-transform: rotateX(180deg) translateZ(20px);
	-o-transform: rotateX(180deg) translateZ(20px);
}
#box .top {
	transform: rotateX(-90deg) translateZ(20px);
	-webkit-transform: rotateX(90deg) translateZ(20px);
	-moz-transform: rotateX(-90deg) translateZ(20px);
	-ms-transform: rotateX(-90deg) translateZ(20px);
	-o-transform: rotateX(-90deg) translateZ(20px);
}
#box .bottom {
	transform: rotateX(-90deg) translateZ(20px);
	-webkit-transform: rotateX(-90deg) translateZ(20px);
	-moz-transform: rotateX(-90deg) translateZ(20px);
	-ms-transform: rotateX(-90deg) translateZ(20px);
	-o-transform: rotateX(-90deg) translateZ(20px);
}
#box .right {
	transform: rotateY(90deg) translateZ(60px);
	-webkit-transform: rotateY(90deg) translateZ(60px);
	-moz-transform: rotateY(90deg) translateZ(60px);
	-ms-transform: rotateY(90deg) translateZ(60px);
	-o-transform: rotateY(90deg) translateZ(60px);
}
#box .left {
	transform: rotateY(-90deg) translateZ(20px);
	-webkit-transform: rotateY(-90deg) translateZ(20px);
	-moz-transform: rotateY(-90deg) translateZ(20px);
	-ms-transform: rotateY(-90deg) translateZ(20px);
	-o-transform: rotateY(-90deg) translateZ(20px);
}
/*----------------------- cubes -----------------------*/

#cubes {
    vertical-align: middle;
    display:inline-block;
    line-height:1.2;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	-webkit-animation: swaying_cube 4s ease infinite;
	-moz-animation: swaying_cube 4s ease infinite;
	-ms-animation: swaying_cube 4s ease infinite;
	-o-animation: swaying_cube 4s ease infinite;
	animation: swaying_cube 4s ease infinite;
}
#overflow {
    position:absolute;
    right:0;left:0;
    margin:0 auto;
    width:200%;
    left:-50%;
    height:100%;
    text-align:center;
}
    
/*   keyframes swaying_cube   */

@-webkit-keyframes swaying_cube {
 0%, 100% {
-webkit-transform:rotateY(5deg);
}
 50% {
-webkit-transform:rotateY(-5deg);
}
}
@-moz-keyframes swaying_cube {
0%, 100% {
-moz-transform:rotateY(5deg);
}
 50% {
-moz-transform:rotateY(-5deg);
}
}
@-ms-keyframes swaying_cube {
 0%, 100% {
-ms-transform:rotateY(5deg);
}
 50% {
-ms-transform:rotateY(-5deg);
}
}
@-o-keyframes swaying_cube {
 0%, 100% {
-o-transform:rotateY(5deg);
}
 50% {
-o-transform:rotateY(-5deg);
}
}
@keyframes swaying_cube {
0%, 100% {
transform:rotateY(5deg);
}
 50% {
transform:rotateY(-5deg);
}
}
#cubes .container_cube {
	width: 200px;
	height: 200px;
	position: relative;
	display:inline-block;
	margin: 10px;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	transition: all 0.8s ease-in-out;
	-webkit-transition: all 0.8s ease-in-out;
	-moz-transition: all 0.8s ease-in-out;
	-ms-transition: all 0.8s ease-in-out;
	-o-transition: all 0.8s ease-in-out;
}
#cubes .container_cube.space {
	-webkit-animation: margin_cube 1s ease-in-out;
	-moz-animation: margin_cube 1s ease-in-out;
	-ms-animation: margin_cube 1s ease-in-out;
	-o-animation: margin_cube 1s ease-in-out;
	animation: margin_cube 1s ease-in-out;
}
	
/*   keyframes margin cube   */

@-webkit-keyframes margin_cube {
 0%, 100% {
margin:10px;
}
 50% {
margin:80px;
}
}
@-moz-keyframes margin_cube {
 0%, 100% {
margin:10px;
}
 50% {
margin:80px;
}
}
@-ms-keyframes margin_cube {
 0%, 100% {
margin:10px;
}
 50% {
margin:80px;
}
}
@-o-keyframes margin_cube {
 0%, 100% {
margin:10px;
}
 50% {
margin:80px;
}
}
@keyframes margin_cube {
 0%, 100% {
margin:10px;
}
 50% {
margin:80px;
}
}
/*   cube   */

#cubes .cube {
	width: 100%;
	height: 100%;
	position: absolute;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	transition: all 0.1s ease-in-out;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-ms-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
}
#cubes .cube .face {
	width: 200px;
	height: 200px;
	display: block;
	position: absolute;
	cursor: pointer;
	overflow: hidden;
	line-height: 200px;
	text-align: center;
	border: 1px solid #FFFFFF;
	background: #000000;
	text-transform: uppercase;
	font-size: 14px;
}
/*   hover mask   */

#cubes .upper {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	color: #FFFFFF;
	background: #000000;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
#cubes .upper img{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}
#cubes .lower {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	color: #000000;
	background: #FFFFFF;
	opacity: 0;
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-o-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}
#cubes .face:hover .upper {
	opacity: 0;
	-webkit-transform: scale(4);
	-moz-transform: scale(4);
	-o-transform: scale(4);
	-ms-transform: scale(4);
	transform: scale(4);
}
#cubes .face:hover .lower {
	opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}
/*   faces positions   */

#cubes .cube .front {
	transform: rotateY(0deg) translateZ(100px);
	-webkit-transform: rotateY(0deg) translateZ(100px);
	-moz-transform: rotateY(0deg) translateZ(100px);
	-ms-transform: rotateY(0deg) translateZ(100px);
	-o-transform: rotateY(0deg) translateZ(100px);
}
#cubes .cube .back {
	transform: rotateX(180deg) translateZ(100px);
	-webkit-transform: rotateX(180deg) translateZ(100px);
	-moz-transform: rotateX(180deg) translateZ(100px);
	-ms-transform: rotateX(180deg) translateZ(100px);
	-o-transform: rotateX(180deg) translateZ(100px);
}
#cubes .cube .right {
	transform: rotateY(90deg) translateZ(100px);
	-webkit-transform: rotateY(90deg) translateZ(100px);
	-moz-transform: rotateY(90deg) translateZ(100px);
	-ms-transform: rotateY(90deg) translateZ(100px);
	-o-transform: rotateY(90deg) translateZ(100px);
}
#cubes .cube .left {
	transform: rotateY(-90deg) translateZ(100px);
	-webkit-transform: rotateY(-90deg) translateZ(100px);
	-moz-transform: rotateY(-90deg) translateZ(100px);
	-ms-transform: rotateY(-90deg) translateZ(100px);
	-o-transform: rotateY(-90deg) translateZ(100px);
}
#cubes .cube .top {
	transform: rotateX(90deg) translateZ(100px);
	-webkit-transform: rotateX(90deg) translateZ(100px);
	-moz-transform: rotateX(90deg) translateZ(100px);
	-ms-transform: rotateX(90deg) translateZ(100px);
	-o-transform: rotateX(90deg) translateZ(100px);
}
#cubes .cube .bottom {
	transform: rotateX(-90deg) translateZ(100px);
	-webkit-transform: rotateX(-90deg) translateZ(100px);
	-moz-transform: rotateX(-90deg) translateZ(100px);
	-ms-transform: rotateX(-90deg) translateZ(100px);
	-o-transform: rotateX(-90deg) translateZ(100px);
}
/*   rotation transform for expose any face  */

#cubes .cube.show-front {
	transform: rotateY(0deg);
	-webkit-transform: rotateY(0deg);
	-moz-transform: rotateY(0deg);
	-ms-transform: rotateY(0deg);
	-o-transform: rotateY(0deg);
}
#cubes .cube.show-back {
	transform: rotateX(-180deg);
	-webkit-transform: rotateX(-180deg);
	-moz-transform: rotateX(-180deg);
	-ms-transform: rotateX(-180deg);
	-o-transform: rotateX(-180deg);
}
#cubes .cube.show-right {
	transform: rotateY(-90deg);
	-webkit-transform: rotateY(-90deg);
	-moz-transform: rotateY(-90deg);
	-ms-transform: rotateY(-90deg);
	-o-transform: rotateY(-90deg);
}
#cubes .cube.show-left {
	transform: rotateY(90deg);
	-webkit-transform: rotateY(90deg);
	-moz-transform: rotateY(90deg);
	-ms-transform: rotateY(90deg);
	-o-transform: rotateY(90deg);
}
#cubes .cube.show-top {
	transform: rotateX(-90deg);
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	-ms-transform: rotateX(-90deg);
	-o-transform: rotateX(-90deg);
}
#cubes .cube.show-bottom {
	transform: rotateX(90deg);
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	-ms-transform: rotateX(90deg);
	-o-transform: rotateX(90deg);
}
