/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
	color: #222;
}

html {
	font-size: 1em;
	line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@font-face {
    font-family: 'alte_haas_groteskregular';
    src: url('fonts/altehaasgroteskregular-webfont.eot');
    src: url('fonts/altehaasgroteskregular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/altehaasgroteskregular-webfont.woff') format('woff'),
         url('fonts/altehaasgroteskregular-webfont.ttf') format('truetype'),
         url('fonts/altehaasgroteskregular-webfont.svg#alte_haas_groteskregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'alte_haas_groteskbold';
    src: url('fonts/altehaasgroteskbold-webfont.eot');
    src: url('fonts/altehaasgroteskbold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/altehaasgroteskbold-webfont.woff') format('woff'),
         url('fonts/altehaasgroteskbold-webfont.ttf') format('truetype'),
         url('fonts/altehaasgroteskbold-webfont.svg#alte_haas_groteskbold') format('svg');
    font-weight: normal;
    font-style: normal;

}

body {
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-weight: lighter;
	color: #333;
}

h1, h2, h3, h4, h5, h6 {
	/*font-family: 'alte_haas_groteskregular';*/
	font-weight: lighter;
	margin: 0;
}

h1 { font-size: 2.1em; }
h2 { font-size: 1.9em; }
h3 { font-size: 1.7em; }
h4 { font-size: 1.5em; }
h5 { font-size: 1.3em; }
h6 { font-size: 1em; }

a {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #e71f58;
}

body {
	-webkit-transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-moz-transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-ms-transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-o-transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#header {}

#intro {
	background-color: rgba(231, 31, 88, 0.9);
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	-webkit-transition: -webkit-transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-moz-transition: -moz-transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-ms-transition: -ms-transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-o-transition: -o-transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
#intro.hide {
	-webkit-transform: translate3d(0,-200%,0);
	-moz-transform: translate3d(0,-200%,0);
	-ms-transform: translate3d(0,-200%,0);
	-o-transform: translate3d(0,-200%,0);
	transform: translate3d(0,-200%,0);
}
	#intro h1 {
		position: relative;
		top: 50%;
		margin-top: -1em;
		font-family: 'alte_haas_groteskregular';
		font-size: 5em;
		line-height: 1em;
	}

section {
	position: relative;
}
	a.next {
		position: absolute;
		bottom: 0.2em;
		width: 100%;
		color: #fff;
		display: block;
		font-size: 4em;
		text-align: center;
		line-height: 1em;
	}
	a.next span {
		display: inline-block;
		padding: 0 0.3em;
		background-color: rgba(0, 0, 0, 0.1);
		border-radius: 4px;
	}
	a.next span i { opacity: 0.9; }

#banner {
	background: url('/img/rachel+justin-starwars-bride-groom-wedding-san-diego-california.jpg') no-repeat 50% 25%;
	background-size: cover;
	overflow: hidden;
	height: 100%;
	position: relative;
	text-align: center;
	color: #fff;
}
	#banner article {
		position: relative;
		top: 5%;
	}
		#banner h3 {
			font-size: 0.9em;
			color: #666;
		}
		#banner h1 {
			font-family: 'alte_haas_groteskbold';
			line-height: 1em;
			color: #e71f58;
			letter-spacing: -0.05em;
		}
		#banner p {
			opacity: 0;
			position: absolute;
			right: 200%;
		}
	#banner .video-cover {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
	}
	#banner .video,
	#banner .canvas {
		position: fixed;
		left: 0;
		top: 0;
	}
	html.portrait #banner .video,
	html.portrait #banner .canvas {
		left: 50%;
		-ms-transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

#about {
	height: 100%;
	background-color: #e71f58;
	color: #fff;
	text-align: center;
}
	#about h2 {
		position: relative;
		top: 20%;
		padding: 0 1em;
		font-size: 2em;
	}

#work {
	padding: 4em 1em;
	text-align: center;
	background-color: #fff;
}
	#work-menu {
		margin: 1em 0;
	}
	.fix-work-menu #work-menu ul {
		position: fixed;
		z-index: 999;
		top: 0;
		width: 100%;
	}
		#work-menu ul {
			margin: 0;
			padding: 1em 0;
			list-style: none;
			border-top: 1px solid #ccc;
			border-bottom: 1px solid #ccc;
			background-color: #fff;
		}
			#work-menu li {
				display: inline-block;
				width: 32%;
			}

#contact {
	background-color: #e71f58;
	color: #fff;
	padding: 4em 1em;
	text-align: center;
}
	#contact ul {
		display: inline-block;
		margin: 1em;
		padding: 0;
		list-style: none;
	}
		#contact li {
			display: inline-block;
			margin: 0;
			font-size: 2.5em;
		}
			#contact a {
				display: inline-block;
				padding: 0 0.2em;
				color: #fff; 
			}

#footer {
	position: relative;
	padding: 2em 1em;
	background-color: #fff;
	color: #999;
	text-align: center;
	font-size: 0.8em;
}

body.loading #banner {
	background: none !important;
}

body.loading #reel {
	opacity: 0;
}

#reel {
	margin: 2em 0;
	opacity: 1;

	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}
	#reel article {
		margin: 2em 0;
		width: 100%;
	}
		#reel article a {
			position: relative;
			display: block;
			width: 100%;
		}
		#reel article.video a:before {
			display: inline-block;
			content: '\f04b';
			font-family: 'FontAwesome';
			position: absolute;
			left: 3%;
			bottom: 5%;
			padding: 0.5em 1em 0.4em 1em;
			color: #fff;
			font-size: 1em;
			background-color: rgba(231, 31, 88, 1);;
			border-radius: 4px;
		}
		#reel article.player a:before,
		#reel article.player a img {
			display: none;
		}
			#reel article a img {
				width: 100%;
				border-radius: 4px;
			}

.modal {
	display: none;
}






/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	/* IE 6/7 fallback */
	*text-indent: -9999px;
}

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

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
	display: none !important;
	visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *	`contenteditable` attribute is included anywhere else in the document.
 *	Otherwise it causes space to appear at the top and bottom of elements
 *	that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *	`:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.clearfix:after {
	clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 41em) {
	/* Style adjustments for viewports that meet the condition */
	
}

@media only screen and (min-width: 640px) {
	/* Style adjustments for viewports that meet the condition */
	
	html.no-touch #banner {
		background: url('/img/rachel+justin-starwars-bride-groom-wedding-san-diego-california.jpg') no-repeat center center fixed;
		background-size: cover;
	}
	
	#banner article {
		font-size: 1.7em;
	}
	
	#about {
		padding: 4em 0;
	}
		#about h2 {
			font-size: 2em;
			padding: 0 2em;
		}
		#about a.next { display: none; }
	
	#reel article {
		width: 31%;
		margin: 1%;
}

@media only screen and (min-width: 768px) {
	body.show-modal .modal {
		display: block;
		position: fixed;
		z-index: 1000;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.8);
	}

	.modal-content {
		display: inline-block;
		position: relative;
		top: 50%;
		left: 50%;
		height: 90%;
		text-align: center;
		-ms-transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}

	.modal-content .close-modal {
		position: absolute;
		right: -1.1em;
		top: -1.1em;
		font-size: 2em;
		color: rgba(255, 255, 255, 0.5);
	}
	.modal-content .close-modal:hover {
		color: rgba(255, 255, 255, 0.9);	
	}

	.modal-content iframe,
	.modal-content img {
		background-color: rgba(0, 0, 0, 0.1);
	}
}

@media only screen and (min-width: 800px) {
	#reel article {
		width: 23%;
		margin: 1%;
	}
}

@media only screen and (min-width: 1200px) {
	html.no-touch #banner {
		background: url('/img/rachel+justin-starwars-bride-groom-wedding-san-diego-california.jpg') no-repeat center center fixed;
		background-size: cover;
	}
}

@media print,
	   (-o-min-device-pixel-ratio: 5/4),
	   (-webkit-min-device-pixel-ratio: 1.25),
	   (min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
	* {
		background: transparent !important;
		color: #000 !important; /* Black prints faster: h5bp.com/s */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
	 * Don't show links for images, or javascript/internal links
	 */

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group; /* h5bp.com/t */
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}
