.grid {
	position: relative;
	margin: 0 auto;
	max-width: 1000px;
	list-style: none;
	height: inherit;
}

/* Common style */
.grid figure {
	position: relative;
	overflow: hidden;
	background: rgb(255,255,255);
	/*text-align: center;*/
}

.grid figure img {
	position: relative;
	display: block;
	opacity: 0.8;
	height: auto;
	width: 100%;
}

.grid figure figcaption {
	color: rgb(255,255,255);
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

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

.grid figure figcaption,
.grid figure figcaption > a {
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
	text-indent: inherit;
  	white-space: normal;
  	opacity: 1;
}

.grid figure h1 {
	/*word-spacing: -0.15em;*/
	font-weight: 300;
}

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

.grid figure h1,
.grid figure h2 {
    position: relative;
}

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

.grid figure a.section {
  position: absolute;
  right: 0;
  top: 0;
  margin: 30px;
  padding: 7px 15px;
  border: 2px solid rgb(255,255,255);
  color: rgb(255,255,255);
  text-transform: uppercase;
  font-size: 8pt;
  font-weight: 800;
  z-index: 2;
}



/* Individual effects */

/*---------------*/
/***** Ruby *****/
/*---------------*/

figure.effect-ruby {
	background-color: rgb(255,255,255);
}

figure.effect-ruby img {
	opacity: 1;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-ruby:hover img {
	opacity: 0.9;
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}

figure.effect-ruby h1 {
	margin-top: 20%;
	color: rgb(47,47,47);
	font-weight: 800;
	-webkit-transition: color 0.25s ease-out;
  	-moz-transition: color 0.25s ease-out;
  	-ms-transition: color 0.25s ease-out;
  	-o-transition: color 0.25s ease-out;
  	transition: color 0.25s ease-out;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	/*-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);*/
}

figure.effect-ruby:hover h1 {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}








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

figure.effect-zoe figcaption {
	bottom: 0;
	padding: 15px 50px;
    height: auto;
	color: rgb(255,255,255);
	-webkit-transition: all 0.35s ease-in-out;
	-moz-transition: all 0.35s ease-in-out;
	-o-transition: all 0.35s ease-in-out;
	transition: all 0.35s ease-in-out;
	z-index: 2;
	position: absolute;
}

figure.effect-zoe:hover figcaption {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */
}

figure.effect-zoe img {
    opacity: 1;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
}

figure.effect-zoe:hover img {
    opacity: 0.9;
    -webkit-transform: scale(1);
    transform: scale(1);
}

figure.effect-zoe i {
    position: absolute;
    top: 50%;
    margin-top: -0.5em;
    left: 50%;
    margin-left: -0.5em;
    color: rgb(255,255,255);
    z-index: 1;
    opacity: 0;
	-webkit-backface-visibility: hidden; /* Fix for Chrome 37.0.2062.120 (Mac) */
	-webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.35s ease-in-out;
  	-moz-transition: all 0.35s ease-in-out;
  	-o-transition: all 0.35s ease-in-out;
  	transition: all 0.35s ease-in-out;
}

figure.effect-zoe:hover i {
    opacity: 0.9;
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
}






/* ---------- MEDIAs ---------- */
@media (max-width: 549px) {
 	.grid figure .section a {
    	margin: 15px;
  	}
  	figure.effect-zoe figcaption {
	    padding: 15px;
	}
}