
/* Image Hover Effect */
.hovereffect {
	width: 100%;
	height: 100%;
	float: left;
	overflow: hidden;
	position: relative;
	text-align: center;
	cursor: default;
}

.hovereffect .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	padding: 3em;
	text-align: left;
}

.hovereffect img {
	display: block;
	position: relative;
	max-width: none;
	width: calc(100% + 60px);
	-webkit-transition: opacity .35s, -webkit-transform .45s;
	transition: opacity .35s, transform .45s;
	-webkit-transform: translate3d(-40px, 0, 0);
	transform: translate3d(-40px, 0, 0);
}

.hovereffect .overlay:before {
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border: 1px solid #fff;
	content: "";
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: opacity .35s, -webkit-transform .45s;
	transition: opacity .35s, transform .45s;
	-webkit-transform: translate3d(-20px, 0, 0);
	transform: translate3d(-20px, 0, 0);
}

.hovereffect a, .hovereffect p {
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transition: opacity .35s, -webkit-transform .45s;
	transition: opacity .35s, transform .45s;
	-webkit-transform: translate3d(-10px, 0, 0);
	transform: translate3d(-10px, 0, 0);
}

.hovereffect:hover img {
	opacity: .6;
	filter: alpha(opacity=60);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.hovereffect:hover .overlay:before, .hovereffect:hover a, .hovereffect:hover p {
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
