.button {
	display: inline-block;
	width: 150px;
	height: 45px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	position: relative;
	-webkit-perspective: 300px;
	perspective: 300px;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button span {
	display: block;
	position: absolute;
	width: 150px;
	height: 45px;
	border: 1px solid #fff;
	text-align: center;
	line-height: 45px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	pointer-events: none;
}
.button span:nth-child(1) {
	background-color: rgba(100,100,100,0.3);
	color: #aff;
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -23.5px;
	-moz-transform-origin: 50% 50% -23.5px;
	transform-origin: 50% 50% -23.5px;
}
.button span:nth-child(2) {
	background-color: rgba(150,150,150,0);
    color: #fff;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -23.5px;
	-moz-transform-origin: 50% 50% -23.5px;
	transform-origin: 50% 50% -23.5px;
}
.button:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.button:hover span:nth-child(2) {
	background-color: transparent;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}


