* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-family: "Helvetica Neue", Helvetica, sans-serif;
	-webkit-font-smoothing: antialiased;
}

html, body {
	height: 100%;
	background-color: black;
	color: white;
	font-size: 15px;
}

h1 {
	font-family: "fairplex-wide", sans-serif;
}

#nav-bar {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100px;
	background-color: rgba(0,0,0,.85);
	z-index: 10;
}

#title-art {
	position: absolute;
	left: 25px;
	top: 12px;
	cursor: pointer;
}

#menu {
	position: absolute;
	right: 0px;
	line-height: 100px;
	display: block;
}

.menu-button {
	position: absolute;
	right: 25px;
	top: 38px;
	opacity: .5;
	display: none;
	cursor: pointer;
}

#menu .menu-button:hover {
	opacity: 1;
}

#menu .close-button {
	position: absolute;
	right: 25px;
	top: 38px;
	opacity: .5;
	display: none;
	cursor: pointer;
}

#menu .close-button:hover {
	opacity: 1;
}

#menu ul {
    margin: 0px;
    padding: 0;
    list-style-type: none;
}

#menu li {
    display: inline;
    margin-right: 25px;
    font-family: "fairplex-wide", sans-serif;
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: .025em;
	opacity: .5;
	cursor: pointer;
}

#menu li:hover {
	opacity: 1;
}

#footer-bar {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 50px;
	background-color: rgba(0,0,0,.85);
	z-index: 10;
}

#copyright {
	display: flex;
	align-items: center;
	position: absolute;
	left: 25px;
	height: 50px;
	font-size: 9px;
	opacity: .5;
}

#social-icons {
	display: flex;
	align-items: center;
	position: absolute;
	right: 25px;
	height: 50px;
}

#social-icons img {
	margin-left: 20px;
	opacity: .5;
}

#social-icons img:hover {
	opacity: 1;
}

.panel {
	width: 100%;
	min-height: 100vh;
}

.container {
	width: 100%;
	min-height: calc(100vh - 150px);
	padding-top: 100px;
	padding-bottom: 50px;
	display: -webkit-flex;
    display: flex;
	justify-content: center;
	align-items: center;
}

#synopsis, #features, #characters, #production, #cast, #video, #screening, #press {
	display: none;
	opacity: 0;
}

#intro {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-intro.jpg');
}

#intro video {
	position: absolute;
	left: 50vw; 
	top: 50vh;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	overflow: hidden;
}

#synopsis {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-synopsis.jpg');
}

#synopsis-textbox {
	width: 650px;
	padding: 50px;
	padding-bottom: 25px;
	padding-right: 60px;
	background-image: url('images/synopsis-textbox.png');
	background-repeat:no-repeat;
    background-size:100% 100%;
    font-size: 15px;
    text-align: justify;
}

.dropcap {
	float: left;
	margin-right: 12px;
	margin-top: 4px;
}

#synopsis-textbox p {
	margin-bottom: 16px;
}

#features {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-features.jpg');
}

#features .container {
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-content: center;
    max-width: 1370px;
    margin-left: auto;
    margin-right: auto;
}

.feature-block {
	display: inline-block;
	margin: 12px;
	width: 250px;
	height: 225px;
	-webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.85);
	-moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.85);
	box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.85);
	color: black;
	cursor: pointer;
}

.feature-block:hover {
	color: #BD2026;
}

.feature-photo {
	width: 250px;
	height: 175px;
	background-size: 100%
	background-color: black;
}

.feature-name {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 50px;
	padding-left: 25px;
	padding-right: 25px;
	font-family: "fairplex-wide", sans-serif;
	font-size: 16px;
	text-transform: uppercase;
	text-align: center;
	background-color: white;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-image: url('images/features/bg-paper.jpg');
}

.feature-story {
	display: none;
	width: 100%;
	min-height: -moz-calc(100% - 150px);
	min-height: -webkit-calc(100% - 150px);
	min-height: -o-calc(100% - 150px);
	min-height: calc(100% - 150px);
	padding-top: 100px;
	padding-bottom: 50px;
	justify-content: center;
	align-items: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: scroll;
	background-image: url('images/bg-clouds.jpg');
}

.story-columns {
	column-count: 2;
	column-gap: 50px;
	width: 1200px;
	text-align: justify;
	vertical-align: top;
}

#feature-11-story .story-columns {
	margin-top: 25px;
	margin-bottom: 25px;
}

.story-columns .pullquote {
	color: #BD2026;
	margin-bottom: 25px;
}

.story-columns p {
	margin-bottom: 25px;
}

.story-headline {
	margin-bottom: 25px;
}

.story-photo {
	margin-bottom: 25px;
}

#characters {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-clouds.jpg');
}

#characters .container {
	align-content: center;
	-webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

#character-thumbs {
	margin: 50px;
	text-align: center;
}

#character-thumbs img {
	margin: 0px;
	cursor: pointer;
}

.character-columns {
	column-count: 2;
	column-gap: 100px;
	width: 1200px;
	text-align: justify;
	vertical-align: top;
	display: none;
	opacity: 0;
	font-size: 16px;
}

#ash-content {
	display: block;
	opacity: 1;
}

.character-columns p {
	margin-bottom: 25px;
}

.character-headline {
	margin-bottom: 50px;
}

.character-photo {
	margin-bottom: 25px;
}

#production, #cast {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-clouds.jpg');
}

#production-arrows, #cast-arrows {
	background-color: rgba(0,255,0,.5);
	width: 550px;
	position: absolute;
	top: 170px;
	left: calc(50vw - 275px);
    z-index: 2;
}

.left-arrow {
	position: absolute;
	left: 0px;
	opacity: .75;
	cursor: pointer;
}

.right-arrow {
	position: absolute;
	right: 0px;
	opacity: .75;
	cursor: pointer;
}

.left-arrow:hover, .right-arrow:hover {
	opacity: 1;
}

#production .container, #cast .container {
	align-content: center;
	-webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    opacity: 0;
    display: none;
}

#production h1, #cast h1 {
	font-family: "fairplex-wide", sans-serif;
	text-transform: uppercase;
	font-size: 48px;
	margin-top: 50px;
	margin-bottom: 10px;
}

#production h2, #cast h2 {
	font-family: "fairplex-wide", sans-serif;
	text-transform: uppercase;
	font-size: 16px;
	color: #BD2026;
	margin-bottom: 50px;
	letter-spacing: 3px;
	text-align: center;
}

.production-columns, .cast-columns {
	column-count: 2;
	column-gap: 50px;
	width: 1200px;
	text-align: justify;
	vertical-align: top;
	margin-bottom: 25px;
}

.production-columns p, .cast-columns p {
	margin-bottom: 25px;
}

#video {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-clouds.jpg');
}

.video-block {
	width: 500px;
	height: 100px;
	padding: 25px;
	margin-top: 25px;
	margin-bottom: 25px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-image: url('images/section-texture-75.png');
	cursor: pointer;
}

.video-block:hover {
	background-image: url('images/section-texture.png');
}

.vid-thumbnail {
	float: left;
	margin-right: 25px;
}

.vid-text h1 {
	text-transform: uppercase;
	font-size: 24px;
}

.vid-text h2 {
	text-transform: uppercase;
	font-size: 14px;
}

#video-modal {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.85);
	z-index: 50;
	display: none;
	justify-content: center;
	align-items: center;
}

#vid-container{
	position: absolute;
}

#video-modal .close-button {
	position: absolute;
	top: 0px;
	right: 0px;
	margin-bottom: 25px;
	opacity: .5;
	cursor: pointer;
}

#video-modal .close-button:hover {
	opacity: 1;
}

#vid-player {
	margin-top: 50px;
	width: 742px;
	height: 417px;
}

#press {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	background-image: url('images/bg-clouds.jpg');
}

#press-content {
	width: 550px;
}

.press-section {
	margin-top: 10px;
	margin-bottom: 25px;
}

#press h1 {
	text-transform: uppercase;
	margin-left: 5px;
	margin-bottom: 5px;
}

#press a {
	width: 242px;
	display: inline-block;
	background-image: url('images/section-texture-75.png');
	margin-bottom: 10px;
	margin-left: 5px;
	margin-right: 5px;
	color: white;
	text-decoration: none;
	padding: 10px;
	position: relative;
	text-transform: uppercase;
	font-weight: bold;
}

#press a:hover {
	background-image: url('images/section-texture.png');
}

#press a img {
	margin-right: 10px;
}

.press-lc {
	text-transform: none;
	font-weight: normal;
}

@media only screen and (max-width: 1320px) {
    #menu li {
	    margin-right: 20px;
    }
    
    #menu li:last-child {
	    margin-right: 25px;
    }
}

@media only screen and (max-width: 1280px) {
    #menu li {
	    font-size: 14px;
	    margin-right: 15px;
    }
    
    #menu li:last-child {
	    margin-right: 25px;
    }
    
    .story-columns, .character-columns, .production-columns, .production-columns {
	    column-count: 1;
		width: 550px;
	}
}

@media only screen and (max-width: 1150px) {
	#menu {
		display: none;
		width: 400px;
		line-height: 48px;
		background-color: black;
	}
	
	#menu ul {
		padding-left: 25px;
		padding-right: 25px;
		padding-bottom: 25px;
		padding-top: 75px;
	}
	
	#menu li {
    	display: block;
    	font-size: 24px;
    }
    
    .menu-button {
	    display: block;
    }
    
    #menu .close-button {
		display: block;
	}
	
	#character-thumbs {
		width: 500px;
	}
}

@media only screen and (max-width: 750px) {
	#menu {
		width: 100%;
	}
	
	#menu .mobile-hide {
		display: none;
	}
	
	#footer {
		position: relative;
	}
	
	#intro {
		background-image: url('images/bg-intro-mobile.jpg');
	}
}

@media only screen and (max-width: 575px) {
	#social-icons {
		display: none;
	}
}