@import url(http://fonts.googleapis.com/css?family=Lato:300,400,900);
*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.clearfix:before, .clearfix:after {
	content: '';
	display: table;
}
.clearfix:after {
	clear: both;
}
body {
	font-size: 100%;
	line-height: 1.25;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
}
a {
	color: #FF2A48;
	text-decoration: none;
	outline: none;
}
a:hover, a:focus {
	color: #2E3444;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
audio, canvas, video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden] {
display:none;
}
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
a:focus {
	outline: thin dotted;
}
a:active, a:hover {
	outline: 0;
}
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: bold;
}
dfn {
	font-style: italic;
}
hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}
mark {
	background: #ff0;
	color: #000;
}
code, kbd, pre, samp {
	font-family: monospace, serif;
	font-size: 1em;
}
pre {
	white-space: pre-wrap;
}
q {
	quotes: "\201C" "\201D" "\2018" "\2019";
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	border: 0;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 0;
}
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
legend {
	border: 0;
	padding: 0;
}
button, input, select, textarea {
	font-family: inherit;
	font-size: 100%;
	margin: 0;
}
button, input {
	line-height: normal;
}
button, select {
	text-transform: none;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled], html input[disabled] {
	cursor: default;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
-webkit-appearance:none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
border:0;
padding:0;
}
textarea {
	overflow: auto;
	vertical-align: top;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.grid-wrap {
	clear: both;
	margin: 0 auto;
	padding: 0;
	max-width: 1260px;
}
.grid {
	margin: 30px auto;
	padding: 0;
	list-style: none;
	min-height: 500px;
}
.js .grid {
	background: url(../images/loading.gif) no-repeat 50% 100px;
}
.js .grid.loaded {
	background: none;
}
.grid li {
	display: inline-block;
	overflow: hidden;
	width: 314px;
	text-align: left;
	vertical-align: top;
}
.js .grid li {
	display: none;
	float: left;
}
.js .grid.loaded li {
	display: block;
}
/* Title box */
.title-box h2 {
	display: block;
	margin: 7px;
	padding: 20px;
	background: #2E3444;
	color: #D3EEE2;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 300;
}
.title-box h2 a {
	display: block;
	font-weight: 900;
}
.title-box h2 a:hover {
	color: #D3EEE2;
}
/* Anchor and image */
.grid li > a, .grid li img {
	display: block;
	outline: none;
	border: none;
}
.grid li > a {
	position: relative;
	overflow: hidden;
	margin: 7px;
}
/* Curtain element */
.grid .curtain {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	background: #96cdc8;
}
.grid.swipe-right .curtain {
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}
.grid.swipe-down .curtain {
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
}
.grid.swipe-rotate .curtain {
	width: 200%;
	height: 200%;
	-webkit-transform: rotate3d(0, 0, 1, 90deg);
	transform: rotate3d(0, 0, 1, 90deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
}
/* Shadow */
.grid .curtain::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,1);
	content: '';
}
.grid.swipe-right .curtain::after, .grid.swipe-rotate .curtain::after {
	left: -100%;
}
.grid.swipe-down .curtain::after {
	top: -100%;
}
/* Title */
.grid li h3 {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 20px;
	width: 100%;
	background: #333333;
	color: #D3EEE2;
	text-align: right;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 800;
	font-size: 1em;
	-webkit-transition: -webkit-transform 0.2s, color 0.2s;
	transition: transform 0.2s, color 0.2s;
}
/* Pseudo element for hover effect */
.grid li > a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100.5%;
	height: 100.5%;
	border: 0px solid transparent;
	background: rgba(0,0,0,0);
	content: '';
	-webkit-transition: border-width 0.2s, border-color 0.2s;
	transition: border-width 0.2s, border-color 0.2s;
}
/* Hover effects */
.grid li.shown:hover h3 {
	color: #F00;
	-webkit-transform: translate3d(0, -30px, 0);
	transform: translate3d(0, -30px, 0);
}
.grid li.shown:hover > a::before {
	border-width: 14px;
	border-color: #2E3444;
}
/* Animations */

/* Swipe right */
.grid.swipe-right li.animate .curtain {
	-webkit-animation: swipeRight 1.5s cubic-bezier(0.6, 0, 0.4, 1) forwards;
	animation: swipeRight 1.5s cubic-bezier(0.6, 0, 0.4, 1) forwards;
}
 @-webkit-keyframes swipeRight {
 0% {
} /* fixes Chrome 35.0.1916.114 issue (easing breaks) */
 50%, 60% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(100%, 0, 0);
}
}
 @keyframes swipeRight {
 0% {
}
 50%, 60% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate(0);
}
 100% {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
}
/* Swipe down */
.grid.swipe-down li.animate .curtain {
	-webkit-animation: swipeDown 1.5s cubic-bezier(0.6, 0, 0.4, 1) forwards;
	animation: swipeDown 1.5s cubic-bezier(0.6, 0, 0.4, 1) forwards;
}
 @-webkit-keyframes swipeDown {
 0% {
} /* fixes Chrome 35.0.1916.114 issue (easing breaks) */
 50%, 60% {
-webkit-transform: translate3d(0, 0, 0);
}
 100% {
-webkit-transform: translate3d(0, 100%, 0);
}
}
 @keyframes swipeDown {
 0% {
}
 50%, 60% {
-webkit-transform: translate(0);
transform: translate(0);
}
 100% {
transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
}
/* Swipe rotate */
.grid.swipe-rotate li.animate .curtain {
	-webkit-animation: swipeRotate 1.5s ease forwards;
	animation: swipeRotate 1.5s ease forwards;
}
 @-webkit-keyframes swipeRotate {
 0% {
} /* fixes Chrome 35.0.1916.114 issue (easing breaks) */
 50%, 60% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
}
 100% {
-webkit-transform: rotate3d(0, 0, 1, -90deg);
}
}
 @keyframes swipeRotate {
 0% {
}
 50%, 60% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
 100% {
-webkit-transform: rotate3d(0, 0, 1, -90deg);
transform: rotate3d(0, 0, 1, -90deg);
}
}
/* Shadow */
.grid li.animate .curtain::after {
	-webkit-animation: fadeOut 1.5s ease forwards;
	animation: fadeOut 1.5s ease forwards;
	-webkit-animation-delay: inherit;
	animation-delay: inherit;
}
 @-webkit-keyframes fadeOut {
 0% {
} /* fixes Chrome 35.0.1916.114 issue (easing breaks) */
 50%, 60% {
opacity: 1;
}
 100% {
opacity: 0;
}
}
 @keyframes fadeOut {
 0% {
}
 50%, 60% {
opacity: 1;
}
 100% {
opacity: 0;
}
}
/* Hide image and title and show at half time */
.js .grid li img, .js .grid li h3 {
	visibility: hidden;
}
.grid li.animate img, .grid li.animate h3 {
	-webkit-animation: showMe 1.5s step-end forwards;
	animation: showMe 1.5s step-end forwards;
}
 @-webkit-keyframes showMe {
 from {
visibility: hidden;
}
 60%, 100% {
visibility: visible;
}
}
 @keyframes showMe {
 from {
visibility: hidden;
}
 60%, 100% {
visibility: visible;
}
}
.grid li.shown img, .grid li.shown h3 {
	visibility: visible;
}
