/*
Theme Name: Serial Pictures 2015
Theme URI: http://www.example.com/
Description: A theme for WordPress.
Author: Dave Funkhouser, Drew Baker, Funkhaus
Author URI: http://www.funkhaus.us
Version: 1.0


Fonts:
    font-family: 'SweetSansOnAir-Regular', Helvetica, Arial, sans-serif;
    font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;    


Colors:
    Black: #222222;
    Grey: #CCCCCC;
    Dark Grey: #71797B;

/*-------------------------------------------------------------- */

	@import url('fonts/fonts.css');

/*
 * Globals 
 */
	html {
	    height: 100%;
	    width: 100%;	 	
	}
	body { 
	    font-family: 'SweetSansOnAir-Regular', Helvetica, Arial, sans-serif;
	    font-size: 100%; 
	    color: #222222;
	    margin: 0;
	    padding: 0;
	    height: 100%;
	    width: 100%;
	    letter-spacing: 3px;

	    -webkit-font-smoothing: antialiased;
	    text-rendering: optimizeLegibility;
	}
    h1,h2,h3,h4,h5,h6 {
        margin: 0;
        padding: 0;
        line-height: 1;
        font-weight: normal;
    }	
    ::selection {
        color: #ebebe3;
        background: #222;
    }
    ::-moz-selection {
        color: #ebebe3;
        background: #222;
    }	

/* 
 * Links 
 */
	a { 
	    color: #222222; 
	    text-decoration: none;
	    outline: none;	    
	}
	a:hover { 
	    color: #222222;
	}
	a img {
	   border: none;
	}
	

/* 
 * Page Structure 
 */
	#container {
	    display: -webkit-box;
	    display: -moz-box;
	    display: -ms-flexbox;
	    display: -webkit-flex;
	    display: flex;

		-webkit-flex-direction: column;		
		flex-direction: column;		
		-webkit-align-items: center;		
		align-items: center;		
		-webkit-justify-content: space-between;	
		justify-content: space-between;
			
		padding: 0 25px;
		min-height: 100%;
		box-sizing: border-box;
		min-width: 700px;
	}
	#header {
		width: 100%;
		height: 40px;
		min-height: 40px;		
	}
	#content {
		width: 100%;	
		position: relative; 
		min-width: 700px;
		background-position: center center;
		background-size: cover;	
	}
	#footer {
		width: 100%;
		height: 90px;
		min-height: 90px;		
	}


/* 
 * Menus
 */ 
	.menu {
		padding: 0;
		margin: 0;
		list-style: none;		
	}
	.menu li {
		margin: 0;
		padding: 0;
	}	
	/* Main Menu */
	.main-menu {
		font-size: 80%;
		text-align: center;
		text-transform: uppercase;
		position: relative;
		top: 32%;
	}
	.main-menu li {
		display: inline-block;
		margin: 0 35px;
	}
	.main-menu li:first-child {
		margin-left: 0;
	}
	.main-menu li:last-child {
		margin-right: 0;
	}	
	.main-menu a {
		display: block;
		padding: 10px;
		color: #CCCCCC;
	}
	.main-menu a:hover,	
	.main-menu .current-page-ancestor a,
	.main-menu .current-menu-item a {
		color: #222222;
	}


/* 
 * Pagination Component
 */
	.pagination {
		position: absolute;
		top: 40px;
		right: 25px;
		z-index: 120;
		font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;    				
		font-size: 70%;
		color: #222222;
		z-index: 210;
	}
	.pagination a {
		padding: 5px;
		height: 15px;
	}	
	.pagination .svg {
		position: relative;
		top: 3px;
	}	
	.pagination path {
		fill: #222222;
	}
	.pagination a:first-child {
		padding-right: 0;
	}
	.pagination a .left.svg {
		margin-right: 12px;
	}
	.pagination a:last-child {
		padding-left: 0;
	}
	.pagination a .right.svg {
		margin-left: 12px;
	}
	.pagination a {
		color: #222222;		
	}
	.close-button {
		padding: 20px;
		font-size: 0;
		position: absolute;
		top: 22px;
		left: 5px;
		z-index: 220;
	}
	.close-button path {
		fill: #000;
	}


/* 
 * Frame Component
 */
	.frame {
		height: calc(100vh - 40px - 90px);
		width: 100%;
		min-width: 700px;
		background-position: center center;
		background-size: cover;
		position: relative;
	}


	
/* 
 * Logo Component
 */ 
	#logo-wrap {
		height: 50px;
		width: 100%;
		text-align: center;
		position: absolute;
		z-index: 210;
		top: 0;
		left: 0;		
		background-image: url(images/logo-cutout.svg);
		background-position: center -1px;
		background-repeat: repeat-x;
		border-bottom: none;
	}
	#logo {
		width: 500px;
		height: 80px;
		margin: 0 auto;
		font-size: 0;	
		display: block;
	}


/*
 * Name Component
 */	
	.name {
		height: 50px;
		font-size: 16px;
		text-transform: uppercase;
		line-height: 1;		
		text-align: center;
	}
	.name a {
		font-size: 137%;	
	}	 	
	.name a:hover {
		color: #cccccc;
	}	
		

/* 
 * Home
 */
	.home .main-menu a {
		color: #222222;
	}
	.home .main-menu a:hover {
		color: #CCCCCC;
	}
	.slideshow {
		position: relative;	 
		overflow: hidden;	
	}
	.slide {
		position: absolute;
		background-color: #f1f1f1;		
		top: 0;
		left: 0;
	}
	.slide .play-button-large {
    	position: absolute;
    	top: 80px;
    	left: 20%;
    	right: 20%;
    	bottom: 140px;
    	margin: auto;
    	opacity: 0;
	}
	.slide .play-button-large .svg {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	margin: 10px 0 0 -21px;
	}	
	.slide .play-button-large:hover {
    	opacity: 1;
	}	
	.slide .meta {
		position: absolute;
		bottom: 35px;
		left: 50px;
		right: 50px;
		text-align: center;
		color: white;
		opacity: 0;
	}
	.slide .meta .title {
		display: inline-block;
		padding: 10px 20px;
		cursor: pointer;
		position: relative;
		font-size: 130%;
		text-transform: uppercase;
	}
	.slide .meta span {
		display: block;
	}
	.slide .meta .line-1 {
		font-size: 18px;
		margin-bottom: 1%;		
		color: white;		
	}
	.slide .meta .line-2 {
		font-size: 14px;
		color: white;		
	}
	.slide .meta .title:hover span {
		opacity: 0;
	}
	.play-button {
		opacity: 0;
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
	}
	.play-button .svg {
		position: absolute;
		margin: -9px 0 0 -57.5px;
		top: 50%;
		left: 50%;		
	}	
	.slide .meta .title:hover .play-button {
		opacity: 1;
	}
	.cycle-slide-active .meta {
		opacity: 1;
	}	
	.browse {
		position: absolute;
		top: 0;
		bottom: 0;
		cursor: pointer;
		z-index: 110;
		font-size: 0;
		width: 20%;
		opacity: 0;
	}
	.browse .svg {
		position: absolute;
		top: 50%;
		margin-top: -21px;		
	}
	.browse.prev {
		left: 0;
	}
	.browse.prev .svg {
		left: 25px;
	}
	.browse.next {
		right: 0;
	}
	.browse.next .svg {
		right: 25px;
	}	
	.browse:hover {
		opacity: 1;
	}
	/* Home Video Player */
	.tree-home .pagination a,
	.tree-home .pagination {
		color: #000;
		fill: #000;
	}
	.tree-home .close-button path,
	.tree-home .pagination path {
		fill: #000;
	}
	.tree-home .close-button:hover path,	
	.tree-home .pagination a:hover path,
	.tree-home .pagination a:hover {
		fill: #222222;		
		color: #222222;
	}
	.tree-home .title .line-1 {
		color: #000;
	}
	.tree-home .title .line-2 {
		color: #71797b;
	}

/* 
 * Intro Animation
 */
	.home.intro .frame {
		height: calc(70vh - 40px - 90px);
	}
	.intro-slide {
		background-color: #f1f1f1;		
		top: 0;
		left: 0;
		z-index: 200;		
		position: absolute;
		height: 100%;
		width: 100%;
		background-size: 2560px auto;
		background-repeat: no-repeat;
	}
	.home #main-menu {
		display: none;
	}	
	.home.no-intro #main-menu {
		display: block;
	}
	.home.intro .browse {
    	display: none;
	}	


/*
 * Directors List
 */
	#content.directors-list {
		overflow: hidden;
	} 
	.directors-list .frame,
	.fallback .frame {
		vertical-align: middle;
		display: table-cell;
		height: calc(100vh - 40px - 90px);
		width: calc(100vw - 25px - 25px);
	}
	.directors-menu {
		font-size: 175%;
		text-transform: uppercase;
		padding: 100px 0 40px 0;
		list-style: none;
		text-align: center;
	}
	.directors-menu li.column {
		display: inline-block;
		vertical-align: top;
		text-align: right;
	}
	.directors-menu li.column:first-child {
		text-align: left;
	}
	.directors-menu li ul {
		margin: 0 55px;
		padding: 0;
		list-style: none;	
	}	
	.directors-menu li ul li {	
		margin: 0;
		padding: 0;
		display: block;		
	}
	.directors-menu a {
		display: inline-block;
		color: white;
		padding: 1.5vh 0;
		font-size: 18px;
	}
	.directors-menu a:hover {
		color: white;
	}
	.directors-menu a.active {
		opacity: 1;
	}	
	.directors-menu a.inactive {
		opacity: 0.5;
	}		

/*
 * Styling for stretch-reveal background
 */
	.background.size-reveal {
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		height: 1440px;
		width: 2560px;
		margin-left: -1280px;
		margin-top: -720px;
		left: 50%;
		top: 50%;
	}

/* 
 * Work Grid
 */
	.work-grid {
		text-align: center;
		max-width: 1800px;
		line-height: 0;
		font-size: 0;
	}
	.work-grid .name {
		margin-bottom: 35px;
		height: auto;
	}
	.work-grid .name .switch {
		display: inline-block;
		position: relative;
	}
	.work-grid .name a {
		font-size: 18px;
	}
	.work-grid .name .switch:hover a {
		opacity: 0;
	}
	.work-grid .name span {
		position: absolute;
		font-size: 18px;
		opacity: 0;
		right: 0;
		left: 0;
	}
	.work-grid .name .switch:hover span {
		opacity: 1;
	}
	.work-grid .frame {
		height: auto;
	}
	.post-block .overlay .title {
		position: absolute;
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
	}
	.work-block {
		display: inline-block;
		position: relative;
		margin: 2px;
		background-color: #f1f1f1;	
		width: 380px;
		height: 214px;	
	}
	.work-block .overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.4);
		opacity: 0;
		font-size: 16px;
		line-height: 1;		
	}
	.work-block .overlay .title {
		position: absolute;
		bottom: 20px;
		left: 20px;
		right: 20px;
		font-size: 90%;
		color: white;		
		text-transform: uppercase;		
	}
	.work-block:hover .overlay {
		opacity: 1;
	}
 
 
/* 
 * Work Detail
 */ 
	#content.work-detail {
		max-width: 1200px;
	}
	.work-detail {
		text-align: center;
		position: relative;
	}
	.work-detail #logo-wrap {
		position: relative;
	}
	.work-detail .frame {
		background-color: transparent;
		vertical-align: middle;
		display: table-cell;
		margin: auto;
		max-width: 1200px;
		width: 100vw;
		font-size: 0;
	} 
	.work-detail .title {
		text-transform: uppercase;
		padding-top: 20px;
		font-size: 0.8rem;
	}
	.work-detail .name a {
		font-size: 18px;
		color: #000;
	}
	.work-detail .title .line-1 {
		color: #000;
	}
	.work-detail .title .line-2 {
		color: #71797b;
	}
	.work-detail .name a:hover {
		color: #222222;
	}	
	.title .line-2 {
		color: #222222;
	}
	.title .line-1 {
		color: #CCCCCC;
	}	


/* 
 * Contact
 */
	#content.contact {
		vertical-align: middle;
		overflow: hidden;
	}
	.contact .frame {
	    display: table-cell;
	    height: calc(100vh - 40px - 90px);	    		
	    width: 100vw;		
	    background-color: transparent;
	    vertical-align: middle;	    
	}
	.contact .section {
		margin: 60px auto;
		max-width: 1300px;
		padding: 0 80px;
	}
	.contact .section.locations .title {
		display: none;
	}
	.contact .representation .title {
		font-size: 15px;
		line-height: 43px;
	}
	.contact .section:first-child {
		margin-top: 100px;
	}	
	.contact .entry {
		color: white;
		font-size: 70%;
		font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;    		
		text-align: justify;
		line-height: 1.6;
		text-transform: uppercase;
	}

	/* Delete This */
	.contact .entry > p {
		display: none;
	}

	.contact .entry ul {
		margin: 0;
		padding: 0;
		list-style: none;
		width: 100%;	

	    display: -webkit-inline-flex;			
	    display: inline-flex;
	    -webkit-flex-direction: row;
	    flex-direction: row;
		-webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
	    -webkit-justify-content: space-between;
	    justify-content: space-between;
	    -webkit-align-content: center;
	    align-content: center;
	    -webkit-align-items: flex-start;		
	    align-items: flex-start;		

	}
	.contact .entry ul li {
		margin: 0;
		padding: 0;
		display: inline-block;
	    flex: 0 1 auto;
	    align-self: auto;		
		vertical-align: top;
		min-width: 200px;
		font-size: 14px;
	}
	.contact .entry p {
		margin: 9px 0 0;
	}
	.divider {
	    color: white;
	    width: 100%;
	    margin: 20px auto;
	    overflow: hidden;
	    text-align: left;   
	    line-height: 1.4em;
	    text-transform: uppercase;
	}
	.divider:after {
	    content: "";
	    vertical-align :top;
	    display :inline-block;
	    width: 100%;
	    height: 0.65em;
	    border-bottom: 1px solid white;
	    margin: 0 -55% 0 1%;
	}
	.email {
		color: white;
		display: inline-block;
	}
	.email .svg {
		position: relative;
		top: 2px;
	}	
	.email:hover,
	.email:hover path {
		fill: white;
		color: white;		
	}	
	/* Locations */
	#post-36 .divider {
		display: none;
	}
	
	/* Social Links */	
	.contact .social-links {
		margin: 40px auto;
		max-width: 1300px;
		font-size: 70%;
		font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;
		color: white;
		text-transform: uppercase;				
		padding: 0 80px;		
	}
	.contact .social-links a {
		display: inline-block;
		vertical-align: middle;
		margin: 0 8px;
	}
	.social-links a .background {
		fill: white;
	}
	.social-links a:hover .background {
		opacity: 1;
	}			



/* 
 * Fallback (used for about page)
 */
	#content.fallback {
		background-position: center center;
		background-size: cover;
		overflow: hidden;
	}
	#content.fallback .page {
		position: relative;
	}
	#content.fallback .frame {
		overflow: hidden;
	}
	.fallback .entry {
		color: white;
		margin: 120px auto 80px auto;
		padding: 0 50px;
		max-width: 1200px;
		color: white;
		font-size: 110%;
		font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;    		
		text-align: justify;
		line-height: 1.4;
	}
	.fallback .entry p {
		margin-right: 44%;
	}
	.fallback.align-left .entry p {
		margin-left: 44%;
		margin-right: auto;
	}	
	.entry h2 {
		font-family: 'SweetSansOnAir-Regular', Helvetica, Arial, sans-serif;
		font-size: 15px;
		text-transform: uppercase;
	}



/* 
 * Category
 */ 
	#content.category {
		position: static;
		max-width: 1800px;
	}
	.category .frame {
		text-align: center;
		overflow: hidden;
		height: auto;
		background-color: #f1f1f1;
		padding-top: 50px;
	}
	.post-block {
		box-sizing: border-box;
		position: relative;
		float: left;
		background-size: cover;
		background-position: center center;
		border: 2px solid #fff;
		padding-bottom: 28.125%;
		height: 0;
		width: 50%;
	}
	.post-block img {
		display: none;
	}
	.post-block .overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		opacity: 1;
		background-color: rgba(0, 0, 0, 0.4);
		color: white;		
	    display: -webkit-flex;
	    display: flex;
	    -webkit-flex-direction: column;
	    flex-direction: column;
	    -webkit-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	    -webkit-justify-content: center;
	    justify-content: center;
	    -webkit-align-content: center;
	    align-content: center;
	    -webkit-align-items: center;
	    align-items: center;	
	    opacity: 0;	
	}
	.post-block .overlay .title {
		display: inline-block;
		padding: 30px;
	    color: white;
	    font-size: 90%;
	    font-size: 14px;
	    text-transform: uppercase;
	}	
	.post-block:nth-child(1),
	.post-block:nth-child(2) {
		padding-top: 25px;
		border-top: 0;
	}
	.post-block:hover .overlay {
		opacity: 1;
	}	
	


/* 
 * Single
 */ 
	.single {
		
	} 
	.single .title {
		text-align: center;
		line-height: 1.4;
		margin: 0 80px 30px 80px;
		text-transform: uppercase;
	}	
	.single .media {
		text-align: center;
		max-width: 1280px;
		margin: 0 auto 30px auto;
	}	
	.single .entry {
		max-width: 740px;
		margin: 30px auto;
		font-family: 'ITCFranklinGothicStd-BkCd', Helvetica, Arial, sans-serif;
	}
	.single .entry img {
		width: 100%;
		height: auto;
	}
	.single .entry a {
		text-decoration: underline;
	}	
	.single .social-links {
		color: #cccccc;
		text-align: center;
		font-size: 60%;
		text-transform: uppercase;
	}
	.single .social-links span {
		display: block;
		margin-bottom: 20px;
	}
	.single .social-links a {
		display: inline-block;
		margin: 0 8px;
	}	
	.single .social-links path {
		fill: #cccccc;
	}	
	.single .social-links a:hover .background {
		opacity: 1;
	} 
 
 
/* 
 * Footer
 */ 
	#footer .title {
		text-align: center;
		position: relative;
		top: 43%; 	
		font-size: 80%;
		text-transform: uppercase;
	}
	#footer .title span {
		margin: 0 3px;
		display: inline-block;
	}

/*
 * Break Point Overrides
 */
	/* Less than 1000px */
	.breakpoint-1000 .contact .social-links,
	.breakpoint-1000 .contact .section {
		max-width: 470px;
	}
	.contact .section.representation {
		margin-top: 137px;
	}
	.breakpoint-1000 .contact .section li {
		margin-bottom: 40px;
	}
	.breakpoint-1000 .directors-menu li.column {
		min-width: auto;
	}
	/* Less than 750px */
	.breakpoint-750 .contact .section {
		margin-bottom: 0;			
		max-width: 470px;			
	}	
	.breakpoint-750 .contact .section li {
		margin-bottom: 40px;
	}
	.breakpoint-750 .directors-menu li {
		text-align: center;
	}
	.breakpoint-750 .contact .social-links {
		max-width: 470px;	
		margin: 0 auto 40px auto;
	}	
	.breakpoint-750 .pagination {
		-webkit-transform: scale(2);		
		transform: scale(2);
		right: 60px;
	}
	.breakpoint-750	.close-button {
		-webkit-transform: scale(2);
		transform: scale(2);
		left: 10px;		
	}

	@media (min-width: 1200px) {
		.directors-menu li.column {
			min-width: 565px;
		}
	}
	@media (max-width: 900px) {
		.background.size-reveal {
			margin: auto;
			height: auto;
			width: auto;
			left: auto;
			top: auto;
			bottom: -168px;
			right: -680px;
			left: -680px;
			top: -168px;
		}
		#content.fallback .page {
			padding-top: 500px;
		}
		.fallback .background.size-reveal {
			-webkit-transform: translate3D(-300px, -194px, 0);
			transform: translate3D(-300px, -194px, 0);
		}
		.fallback.align-left .background.size-reveal {
			-webkit-transform: translate3D(350px, -199px, 0);
			transform: translate3D(350px, -199px, 0);
		}
		#content.fallback .entry p {
			margin-right: 0;
			margin-left: 0;
		}
		.post-block {
			padding-bottom: 56.25%;
			width: 100%;
		}
	}

/*
 * Mobile specific
 */
	.is-mobile .overlay {
		opacity: 1;
	} 
    .is-mobile .work-grid .name .switch span {
        display: none;
    }
    .is-mobile.single #header,
    .is-mobile.category #header {
        height: 100px;
    }
	
	

/*
 * Animations
 */
	/* Color */
	a {
		transition: color 0.4s;
	}

	/* Opacity */
	.play-button-large,
	.directors-menu a,    
	.svg .background,
	.overlay,
	.play-button,
	.slide .meta span,
	.name span,
	.browse,
	.name a {
		transition: opacity 0.4s;
	}

    /* Everything */
    svg path {
		transition: 0.4s;
    }



/*
 * Tools 
 */
    #tagline {
        display: none;
    }
    .post-edit-link {
		font-size: 10px;
		color: inherit;
		text-transform: uppercase;
    }



/*
 * 404 Error
 */
    .error-404 {
        text-align: center;
        font-size: 32px;
    }


/*
 * Wordpress Required 
 */
	.alignleft { 
	    display: inline; 
	    float: left;
	}
	.aligncenter { 
	    clear: both; 
	    display: block; 
	    margin: 0 auto 10px auto; 
	}
	.alignright { 
	    display: inline; 
	    float: right;
	}
	img.alignleft { 
	    margin: 0 10px 10px 0;
	}
	img.alignright { 
	    margin: 0 0 10px 10px;
	}
	img.aligncenter { 
	    margin: 0 auto 10px auto;
	}
	
	.wp-caption { 
	    background: #f1f1f1; 
	    color: #888; 
	    text-align: center; 
	    margin-bottom: 15px; 
	    width: auto !important;
	    -moz-border-radius: 0 0 4px 4px;
	    border-radius: 0 0 4px 4px;
	}
	.wp-caption img { 
	    margin: 0px;
	}
	.wp-caption p.wp-caption-text { 
	    margin: 0 0 5px; 
	    padding: 4px; 
	    font-style: italic;
	}