.grid {
	position: relative;
	margin: 0 auto;
	padding: 1em 0 4em;
	padding: 0em;
	list-style: none;
	text-align: center;
}

/* Common style */
.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	width: 100%;
	background: #000;
	text-align: center;
	cursor: pointer;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
}

.grid figure figcaption {
	position: absolute;
	padding: 2em;
	color: #fff;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

.grid figure .lead-text span {
	font-weight: 800;
}

.grid figure .lead-text {
	margin: 0;
	font-weight: 300;
}

.grid figure .description {
	margin: 0;
	letter-spacing: 1px;
	font-size: 68.5%;
}

.grid figure figcaption  a {
	opacity: 0;
}

/*---------------*/
/***** Bubba *****/
/*---------------*/

figure.effect-bubba {
	background: #9e5406;
}

figure.effect-bubba img {
	opacity: 0.7;
	transition: opacity 0.35s;
}

figure.effect-bubba:hover img {
	opacity: 0.4;
}

figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	content: '';
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-bubba figcaption::before {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: scale(0,1);
}

figure.effect-bubba figcaption::after {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: scale(1,0);
}

figure.effect-bubba .lead-text {
	padding-top: 30%;
	transition: transform 0.35s;
	transform: translate3d(0,-20px,0);
}

figure.effect-bubba .description {
	padding: 20px 2.5em;
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: translate3d(0,20px,0);
}

figure.effect-bubba:hover figcaption::before,
figure.effect-bubba:hover figcaption::after {
	opacity: 1;
	transform: scale(1);
}

figure.effect-bubba:hover .lead-text,
figure.effect-bubba:hover .description {
	opacity: 1;
	transform: translate3d(0,0,0);
}

/*---------------*/
/***** Sarah *****/
/*---------------*/

figure.effect-sarah {
	background: #42b078;
	background: #000;
}

figure.effect-sarah img {
	max-width: none;
	width: calc(100% + 20px);
	transition: opacity 0.35s, transform 0.35s;
	transform: translate3d(-10px,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

figure.effect-sarah:hover img {
	opacity: 0.4;
	transform: translate3d(0,0,0);
}

figure.effect-sarah figcaption {
	text-align: left;
}

figure.effect-sarah .lead-text {
	position: relative;
	overflow: hidden;
	padding: 0.5em 0;
}

figure.effect-sarah .lead-text::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #fff;
	content: '';
	transition: transform 0.35s;
	transform: translate3d(-100%,0,0);
}

figure.effect-sarah:hover .lead-text::after {
	transform: translate3d(0,0,0);
}

figure.effect-sarah .description {
	padding: 1em 0 0 0;
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: translate3d(100%,0,0);
}

figure.effect-sarah:hover .description {
	opacity: 1;
	transform: translate3d(0,0,0);
}

figure.effect-sarah:hover a {
	margin: 1em 0 0 0;
	opacity: 1;
	-we/bkit-transform: translate3d(0,0,0);
	tra/nsform: translate3d(0,0,0);
}

/*---------------*/
/***** Zoe *****/
/*---------------*/

figure.effect-zoe {
	background: #000;
background: transparent;
	border: 1px solid transparent;
	border: 1px solid white;
}

figure.effect-zoe:hover {
	border: 1px solid #ddd;
}

figure.effect-zoe figcaption {
	top: auto;
	bottom: 0;
	padding: 1em;
	height: 3.75em;
	background: #fff;
	color: #3c4a50;
	transition: transform 0.35s;
	transform: translate3d(0,100%,0);
	border: 1px solid transparent;
}

figure.effect-zoe img:hover {
	/*
	filter: brightness(10%);
  -moz-filter: brightness(10%);
  -webkit-filter: brightness(10%);
  -ms-filter: brightness(10%);
  -o-filter: brightness(10%);
	*/
}

figure.effect-zoe .lead-text {
	float: left;
}

figure.effect-zoe .icon-links a {
	float: right;
	color: #3c4a50;
	font-size: 1.4em;
}

figure.effect-zoe:hover .icon-links a:hover,
figure.effect-zoe:hover .icon-links a:focus {
	color: #252d31;
}

figure.effect-zoe .description {
	position: absolute;
	bottom: 5em;
	padding: 10px;
	color: #fff;
	background: rgba(0,0,0,.3);
	left: 50%;
	transform: translateX(-50%);
	width: 70%;
	text-transform: none;
	font-size: 90%;
	opacity: 0;
	-webkit-backface-visibility: hidden; /* Fix for Chrome 37.0.2062.120 (Mac) */
	transition: opacity 0.35s;
}

figure.effect-zoe .lead-text,
figure.effect-zoe .icon-links a {
	transition: transform 0.35s;
	transform: translate3d(0,200%,0);
}

figure.effect-zoe .icon-links a span::before {
	display: inline-block;
	padding: 8px 10px;
	font-family: 'feathericons';
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-eye::before {
	content: '\e000';
}

.icon-paper-clip::before {
	content: '\e001';
}

.icon-heart::before {
	content: '\e024';
}

figure.effect-zoe .lead-text {
	display: inline-block;
}

figure.effect-zoe:hover .description {
	opacity: 1;
}

figure.effect-zoe:hover figcaption,
figure.effect-zoe:hover .lead-text,
figure.effect-zoe:hover .icon-links a {
	transform: translate3d(0,0,0);
}

figure.effect-zoe:hover .lead-text {
	transition-delay: 0.05s;
}

figure.effect-zoe:hover .icon-links a:nth-child(3) {
	transition-delay: 0.1s;
}

figure.effect-zoe:hover .icon-links a:nth-child(2) {
	transition-delay: 0.15s;
}

figure.effect-zoe:hover .icon-links a:first-child {
	transition-delay: 0.2s;
}


/*-----------------*/
/***** Goliath *****/
/*-----------------*/

figure.effect-goliath {
	background: #df4e4e;
	background: #000;
}

figure.effect-goliath img,
figure.effect-goliath .lead-text {
	transition: transform 0.35s;
}

figure.effect-goliath img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

figure.effect-goliath .lead-text,
figure.effect-goliath .description {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 30px;
}

figure.effect-goliath .description {
	text-transform: none;
	font-size: 90%;
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: translate3d(0,50px,0);
}

figure.effect-goliath:hover img {
	transform: translate3d(0,-80px,0);
}

figure.effect-goliath:hover .lead-text {
	transform: translate3d(0,-100px,0);
}

figure.effect-goliath:hover .description {
	opacity: 1;
	transform: translate3d(0,0,0);
}

/*---------------*/
/***** Ming *****/
/*---------------*/

figure.effect-ming {
	background: #030c17;
}

figure.effect-ming img {
	opacity: 0.9;
	transition: opacity 0.35s;
}

figure.effect-ming figcaption::before {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	border: 2px solid #fff;
	box-shadow: 0 0 0 30px rgba(255,255,255,0.2);
	content: '';
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: scale3d(1.4,1.4,1);
}

figure.effect-ming .lead-text {
	margin: 20% 0 10px 0;
	transition: transform 0.35s;
}

figure.effect-ming .description {
	padding: 1em;
	opacity: 0;
	transition: opacity 0.35s, transform 0.35s;
	transform: scale(1.5);
}

figure.effect-ming:hover .lead-text {
	transform: scale(0.9);
}

figure.effect-ming:hover figcaption::before,
figure.effect-ming:hover .description {
	opacity: 1;
	transform: scale3d(1,1,1);
}

figure.effect-ming:hover figcaption {
	background-color: rgba(58,52,42,0);
}

figure.effect-ming:hover img {
	opacity: 0.4;
}


