*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html { font-size: 100%; padding: 0; margin: 0;}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

body {
	font-family: 'Open Sans', Arial, sans-serif;
	color: #666;
	background: #f9f9f9;
}

a {
	color: #888;
	text-decoration: none;
}

a:hover,
a:active {
	color: #333;
}

/* Header Style */
.container > header {
	margin: 0 auto;
	padding: 1em;
	text-align: center;
	background: #1d1d1d;
}

.container > header h1 {
	font-size: 2.625em;
	line-height: 1.3;
	margin: 0;
	font-weight: 300;
}

.container > header h3{
	margin: 0;
}

/*
 * Image replacement
 */

.logo {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
	
	display: inline-block;	
    width: 78px;
    height: 43px;
	
    background-image: url(../img/logo.png);
	background-position:center;
	background-repeat:no-repeat;
	background-size:78px 43px;
}

.logo:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.grid {
	padding: 20px 20px 100px 20px;
	max-width: 1300px;
	margin: 0 auto;
	list-style: none;
	text-align: center;
}

.grid li {
	display: inline-block;
	width: 450px;
	height: 350px;
	margin: 10px;
	padding: 27px;
	text-align: left;
	background-image: url(imac.png);
	background-position:center;
	background-repeat:no-repeat;
	background-size:450px 350px;
}

.grid figure {
	position: relative;
	width: 396px;
	height: 220px;
	margin: 0;
	overflow: hidden;
}

.grid figure img {
	position: absolute;
	top: auto;
	bottom: 220px;
	display: block;
	height: auto;
	width: 100%;
	max-width: 100%;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: -webkit-transform 8s;
	-moz-transition: -moz-transform 8s;
	transition: transform 8s;
}
.no-touch .grid figure:hover img,
.grid figure.cs-hover img {
	-webkit-transform: translateY(220px);
	-moz-transform: translateY(220px);
	-ms-transform: translateY(220px);
	transform: translateY(220px);
}

.grid figcaption {
	position: absolute;
	top: auto;
	bottom: 0;
	width: 100%;
	height: 110px;
	text-align: center;
	background: rgba(0,0,0,0.5);
	opacity: 0;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s 0.3s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s 0.3s;
	transition: transform 0.4s, opacity 0.1s 0.3s;
}

.no-touch .grid figure:hover figcaption,
.grid figure.cs-hover figcaption {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s;
	transition: transform 0.4s, opacity 0.1s;
}

.grid figcaption h3 {
	padding: 0;
	color: #fff;
}

.grid figcaption a {
	text-align: center;
	padding: 5px 10px;
	border-radius: 2px;
	background: #fff;
	color: #000;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.grid figcaption a:hover {
	color: #fff;
	background: #2980b9;
}
.grid figcaption a.video {
	left: 20px;
	right: auto;
}


/* ==========================================================================
   PRELOADER
   ========================================================================== */

#preloader{
	position: fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:99999; /* makes sure it stays on top */
	background-color:#fff; /* change if the mask should have another color then white */
}

#status{
	position:absolute;
	top:50%; /* centers the loading animation vertically one the screen */
	left:50%; /* centers the loading animation horizontally one the screen */
	margin:-100px 0 0 -100px; /* is width and height divided by two */
	width:200px;
	height:200px;
	background-image:url(../img/AjaxLoader.gif); /* path to your loading animation */
	background-position:center;
	background-repeat:no-repeat;
	background-size:32px 32px;
}

/* Retina Display */
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
	.logo{
		background-image: url(../img/logo@2x.png);
	}
	.grid li {
		background-image: url(imac@2x.png);
		background-position:center;
		background-repeat:no-repeat;
		background-size:450px 350px;
	}
}