/* Global Helpers */

.right {
	float: right;
}


/* Typography */

body {
	color: #1F3F57;
	font-family: 'PlantinMTStd-Regular';
	font-size: 18px;
}

body, html {
	width: 100%;
	height: 100%;
}

p {
	line-height: 24px;
	margin-top: 25px;
	margin-bottom: 32px;
}

p a {
	font-family: 'PlantinMTStd-Regular';
	font-size: 18px;
	text-decoration: underline;
}

h1 {
	font-size: 18px;
	margin-top: 0;
	font-weight: normal;
}

header h2 a{
	cursor: pointer;
}

header h2 a:hover {
	text-decoration: underline;
}

h2, h1.apercu {
	font-family: 'Apercu Mono Regular', 'Courier New';
	font-size: 14px;
	margin-bottom: 5px;
	margin-top: .83em;
	font-weight: normal;
}

h2.parent {
	margin-bottom: 26px;
}

a {
	font-family: 'Apercu Mono Regular', 'Courier New';
	font-size: 14px;
}

.small {
	font-family: 'Apercu Mono Regular', 'Courier New';
	font-size: 12px;
}

.big {
	font-size: 32px;
	line-height: 38.4px;
}

.big a{
	font-size: 32px;
	line-height: 38.4px;
}

.video-holder {
  position: relative;
  height: 0;
  margin-bottom: 60px;
}

.video-holder-16-9 {
  padding-bottom: 56.25%; /* 16:9 */  
}

.video-holder-4-3 {
  padding-bottom: 75%; /* 4:3 */
}

.video-holder-9-16 {
  padding-bottom: 177.78%; /* 9:16 */
}

.video-holder iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Home page img/txt selector - Mobile */

.home-img-txt-selectors {
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.home-img-txt-selectors a {
	margin: 0 5px;
	font-size: 12px;
}

.home-img-txt-selectors a:hover,
.home-img-txt-selectors a:focus {
	outline: none;
	text-decoration: none;
	border-bottom: 2px solid;
}

@media( min-width: 950px ) {
	.home-img-txt-selectors {
		display: none;
	}
}

@media( min-width: 950px ) {
    p.portraitname {
      line-height: 670px;
    }
}

/* Home page image grid - Mobile */

#image-area-m {
	float: left;
	width: 100%;
	text-align: center;
	padding-bottom: 40px;
}

@media( min-width: 950px ) {
	#image-area-m {
		display: none !important; // Using important to override js injected styles when changing screen size from small to large.
	}
}

#image-area-m .image-area-inner-m {
	position: relative;
	display: inline-block;
	width: 240px; // Must be multiple of 120 to match width of thumbs + padding
	max-width: 100%;

	text-align: left;
	font-size: 0;
}

@media( min-width: 400px ) {
	#image-area-m .image-area-inner-m {
		width: 360px; // Must be multiple of 120 to match width of thumbs + padding
	}
}

@media( min-width: 500px ) {
	#image-area-m .image-area-inner-m {
		width: 480px; // Must be multiple of 120 to match width of thumbs + padding
	}
}

@media( min-width: 600px ) {
	#image-area-m .image-area-inner-m {
		width: 600px; // Must be multiple of 120 to match width of thumbs + padding
	}
}

#image-area-m .image-area-inner-m a {
	display: inline-block;
}

#image-area-m img {
	display: inline-block;
	width: 120px;
	height: auto;
	padding: 20px;
}

/* Home page image grid - Desktop */

#image-area {
	/* display: none; */
	max-width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

@media( min-width: 950px ) {
	#image-area {
		/* display: none; */
	}
}

#image-area img {
	/* display: none; */
	position: absolute;
	opacity: .15;
	width: auto;
	height: auto;
}

#image-area img:hover {
	opacity: 1;
}

/* Client list - Mobile */

#client-list-holder-m {
	display: none;
	float: left;
	width: 100%;
	padding-bottom: 40px;

	text-align: center;
}

@media( min-width: 950px ) {
	#client-list-holder-m {
		display: none !important; // Using important to override js injected styles when changing screen size from small to large.
	}
}

#client-list-holder-m #client-list {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
	width: 220px;
	max-width: 100%;

	text-align: left;
	font-size: 12px;
}

#client-list-holder-m #client-list a {
	font-size: 12px;
}

#client-list-holder-m #client-list ul {
	display: block;
}

/* Client list - Desktop */

#client-list {
	position: fixed;
	top: 45px;
	padding: 0;
	list-style-type: none;
	left: -250px;
	z-index: 1;
	-webkit-backface-visibility: hidden;
	font-family: 'Apercu Mono Regular', 'Courier New';
	font-size: 14px;

	transition: left .5s ease-in-out;
	-moz-transition: left .5s ease-in-out;
	-webkit-transition: left .5s ease-in-out;
}

#client-list.shown {
	left: 15px;

	transition: left .5s ease-in-out;
	-moz-transition: left .5s ease-in-out;
	-webkit-transition: left .5s ease-in-out;
}

#client-list ul {
	display: none;
	list-style-type: none;
	padding: 0 20px;
}

#client-list li {
	cursor: pointer;
}

#client-list a {
	text-decoration: none;
}

#client-list a:hover, #client-list span:hover {
	text-decoration: underline;
}

.active {
	text-decoration: underline;
}

/* Project Pages */

#project {
	padding-left: 15px;

	transition: padding-left .5s ease-in-out;
	-moz-transition: padding-left .5s ease-in-out;
	-webkit-transition: padding-left .5s ease-in-out;
}

@media (max-width: 1428px) {
	#project.smaller {
		padding-left: 8%;
	}
}

.project-introduction {
	margin-bottom: 30px;
}

#credits ul {
	list-style-type: none;
	padding: 0;
	margin-top: 0;
}

#images .row img {
	margin-bottom: 60px;
}

#team .team-image {
	margin-bottom: 75px;
	margin-top: 25px;
	width: 100%;
	-webkit-user-select:none;
	-webkit-touch-callout:none;
}

#team .row:nth-child(even) .col-md-7 {
	float: right;
}

#team .row:nth-child(odd) .col-md-5 {
	text-align: right;
}

.preload {
	display: none;
}

@media( max-width: 950px ) {
	#images .row img {
		margin-top: 0 !important;
	}

	#team .row:nth-child(odd) .col-md-5 {
		text-align: left;
	}

	#team .row:nth-child(even) .col-md-7 {
		float: none;
	}

	#team .team-image {
		margin-bottom: 10px;
	}
}

#images .row p {
	margin-bottom: 85px;
}

/* Nav */

nav {
	display: none;
	width: 100%;
	text-align: center;
}

@media ( min-width: 950px ) {
	nav {
		display: block;
		/* to take it out of the DOM so it's not creating space in the header */
		position: absolute;
		z-index: 1;
	}
}

nav a {
	font-size: 12px;
}

@media ( min-width: 950px ) {
	nav a {
		font-size: 18px;
	}
}

nav .active {
	border-bottom: 2px solid;
	text-decoration: none;
}

nav a:hover,
nav a:focus {
	outline: none;
	text-decoration: none;
	border-bottom: 2px solid;

}

nav ul {
	list-style-type: none;
	margin-top: 10px;
	padding-left: 0;
}

nav ul li {
	display: inline;
	padding-right: 5px;
	padding-left: 5px;
}

@media ( min-width: 950px ) {
	nav ul li {
		position: fixed;
		z-index: 1;
		padding: 0;
	}
}

nav ul .projects-li {
	display: none;
}

@media ( min-width: 950px ) {
	nav ul .projects-li {
		display: inline;
		top: 15px;
		left: 15px;
	}
}

@media ( min-width: 950px ) {
	nav ul .projects-li-m {
		display: none;
	}
}

@media ( min-width: 950px ) {
	nav ul .about-li {
		top: 15px;
		right: 15px;
	}

	nav ul .news-li {
		bottom: 15px;
		left: 15px;
	}

	nav ul .contact-li {
		bottom: 15px;
		right: 15px;
	}
}

nav #next-hover, 
nav #previous-hover {
	display: none;
}

@media ( min-width: 950px ) {

	nav #next-hover, 
	nav #previous-hover {
		display: block;
	}

	#next-hover, #previous-hover {
		position: fixed;
		height: 100%;
		width: 150px;
		top: 0;
	}

	#next-hover {
		right: 0;
	}

	#previous-hover {
		left: 0;
	}

	nav #next, 
	nav #previous {
		display: none;
	}

	nav #next {
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		right: 5px;
		top: 50%;
		margin-top: -11px;
	}

	nav #previous {
		transform: rotate(-90deg);
		-webkit-transform: rotate(-90deg);
		-moz-transform: rotate(-90deg);
		-o-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		left: -15px;
		top: 50%;
		margin-top: -11px;
	}

}

/* Single Project Page Nav */

.projects-nav-m {
	width: 100%;
	text-align: center;
	padding-bottom: 40px;
}

@media ( min-width: 950px ) {
	.projects-nav-m {
		display: none;
	}
}

#back-to-projects-link {
	display: none;
}

@media ( min-width: 950px ) {

	#back-to-projects-link {
		display: block;
		position: fixed;
		bottom: 15px;
		left: 0;
		right: 0;
		text-align: center;
	}

	#back-to-projects-link a{
		font-size: 18px;
	}

	#back-to-projects-link a:hover {
		text-decoration: none;
		border-bottom: 2px solid;
	}

}

/* Logo */


#home-logo {
	display: none;
}

@media ( min-width: 950px ) {
	#home-logo {
		display: block;
	}
}

#home-logo img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

#logo {
	display: none;
	background-image: url('../img/logo.png');
	width: 141px;
	height: 49px;
	background-position: left top;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin-top: 40px;
	margin-bottom: 30px;
}

@media ( min-width: 950px ) {
	#logo {
		display: block;
	}
}

#logo:hover {
	background-position: left bottom;
}

.logo-holder-m {
	width: 100%;
	float: left;
	text-align: center;
	z-index: 200;
	position: relative;
}

.logo-m {
	width: 75px;
	height: auto;
	margin-top: 20px;
	margin-bottom: 20px;

	cursor: pointer;
}

@media ( min-width: 950px ) {
	.logo-holder-m {
		display: none;
	}
}

/* News */

article.news {
	border-bottom: 1px solid;
	margin-bottom: 32px;
}

.more {
	display: none;
}

img.img-news {
	margin-bottom: 25px;
}

/* Page Transitions for desktop only */

@media ( min-width: 950px ) {
	#home-logo {
		-webkit-animation-duration: 1s;
		animation-duration: 1s;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
		-webkit-animation-name: fadeIn;
		animation-name: fadeIn;
	}

	/* #logo,
	#back-to-projects-link {
		-webkit-animation-duration: .5s;
		animation-duration: .5s;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
		-webkit-animation-delay: 3s;
		animation-delay: 3s;
		-webkit-animation-name: fadeIn;
		animation-name: fadeIn;
	} */

	#image-area {
		-webkit-animation-duration: 3s;
		animation-duration: 3s;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
		-webkit-animation-name: slideInDown;
		animation-name: slideInDown;
	}

	#project {
		/* -webkit-animation-duration: 3s;
		animation-duration: 3s;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
		-webkit-animation-name: slideInDown;
		animation-name: slideInDown; */
	}

	/*  ---------------------------------------------------------  Loading */
	.loading-overlay {
		display: none;
		position: fixed; 
		width: 100%;
		height: 100%;
		z-index: 999;
		opacity: 0.8;
		background-image: url('../img/loader.gif');
		background-repeat: no-repeat; 
		background-position: center;
		background-color: #fff;
		background-attachment: fixed;
	}
}
