.tm-rotate-box {
	position: relative;
	text-align: center;
	
	.flipper {
		position: relative;
		&:hover {
			.box {
				transform-style: preserve-3d;
				transition: transform 1s cubic-bezier(.3, 1, .6, 1);
			}
		}
	}
	
	.to-left,
	.to-right {
		.front {
			transform: rotateY(0deg);
		}
	}
	
	.to-top,
	.to-bottom {
		.front {
			transform: rotateX(0deg);
		}
	}
	
	.to-top {
		.back {
			transform: rotateX(-180deg);
		}
		&:hover {
			.front {
				transform: rotateX(180deg);
			}
			.back {
				transform: rotateX(0deg);
			}
		}
	}
	
	.to-bottom {
		.back {
			transform: rotateX(180deg);
		}
		&:hover {
			.front {
				transform: rotateX(-180deg);
			}
			.back {
				transform: rotateX(0deg);
			}
		}
	}
	
	.to-left {
		.back {
			transform: rotateY(180deg);
		}
		&:hover {
			.front {
				transform: rotateY(-180deg);
			}
			.back {
				transform: rotateY(0deg);
			}
		}
	}
	
	.to-right {
		.back {
			transform: rotateY(-180deg);
		}
		&:hover {
			.front {
				transform: rotateY(180deg);
			}
			.back {
				transform: rotateY(0deg);
			}
		}
	}
	
	.thumb-wrap {
		-webkit-perspective: 1000px;
		perspective: 1000px;
	}
	
	.box {
		background-size: cover;
		border-radius: 5px;
		min-height: 370px;
		z-index: 1;
		transform-style: preserve-3d;
		backface-visibility: hidden;
		perspective: inherit;
		transition: transform .8s cubic-bezier(.5, .2, .2, .8);
		
		&:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			border-radius: inherit;
		}
	}
	
	.back {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		.content-wrap {
			top: 50%;
			left: 0;
			transform: translate3d(0, -50%, 50px) scale(.9);
		}
	}
	
	.content-wrap {
		position: absolute;
		width: 100%;
		display: block;
		transform-style: preserve-3d;
		perspective: inherit;
		backface-visibility: hidden;
		padding: 50px 30px;
		z-index: 2;
		top: 50%;
		left: 0;
		transform: translate3d(0, -50%, 50px) scale(.9);
	}
	
	.heading {
		font-size: 24px;
		color: #ffffff;
		margin-bottom: 0;
	}
	
	.text {
		color: rgba(255, 255, 255, .55);
		margin: 32px auto 0;
		max-width: 420px;
	}
	
	.tm-button {
		margin-top: 78px;
		color: #ffffff;
	}
}
