	
/*--------------------------------------------------
	Hero Section
---------------------------------------------------*/			
	
	#hero {		
		width:100%;
		height:auto;
		max-height:100%;
		position:relative;
		z-index:0;
	}
	
	#hero.hero-hidden {
		height:0;
		visibility:hidden;
		opacity:0;
	}
	
	#hero.has-image {
		z-index:2;
		height:100vh;
		overflow:hidden;
	}
	
	#hero-styles {
		position: relative;
		width: 100%;
		height:auto;
		top: 0;
		left: 0;
		right: 0;
		display: block;
		margin: 0 auto;
		z-index:2;		
	}
	
	#hero.has-image #hero-styles {
		position: fixed;
		height:100vh;
	}
	
	#hero-caption {
		display: table;
		width: 100%;
		padding: 200px 80px 100px 80px;
		max-width:1280px;
		margin: 0 auto;
		height: 100%;
		position: relative;
		box-sizing: border-box;	
		text-align:left;	
	}
	
	#hero.has-image #hero-caption {		
		padding: 80px 80px 240px 80px;
		max-width:none;
	}
	
	#hero #hero-caption .inner {
		vertical-align: middle;
	}
	
	#hero.has-image #hero-caption .inner {
		vertical-align: bottom;
	}
	
	#hero-bg-wrapper {
		position: fixed;
		width: 100%;
		height: 100vh;
		z-index: 1;
		margin: 0 auto;
		left: 0;
		top:0;
		right: 0;
		-webkit-transition: filter 0.6s ease-in-out;
		transition: filter 0.6s ease-in-out;
		overflow: hidden;
	}
	
	#hero-bg-image::after {
		content: "";
		width: 100%;
		height: 60%;
		position: absolute;
		bottom: 0;
		left: 0;
		pointer-events: none;
		background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
		background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
	}
	
	#hero-image-parallax {
		position:absolute;
		width:100%;
		height:100%;
		transform-style: preserve-3d;
	}
	
	#hero-bg-image {
		background-size:cover;
		position:absolute;
		background-position:center center;
		width:100%;
		height:100%;
		z-index:0;
		opacity:0;
		perspective: 1000px;
		overflow:visible;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	
	.load-project-page #hero-bg-image, .load-next-project #hero-bg-image, .load-project-hover #hero-bg-image{
		opacity:1;
		-webkit-transform: scale(1.05);
		transform: scale(1.05);	
	}
	
	.load-project-page-carousel #hero-bg-image {
		opacity:1;
		-webkit-transform: scale(1.05);
		transform: scale(1.05);	
	}
	
	.hero-title {
		margin-top:30px;
		width:auto;
		font-size:48px;
		line-height:70px;
		font-weight: 500;
		z-index:10;
		color:#000;		
		position:relative;
		transform: translateY(15vh) translateX(-2px);
		-webkit-transform: translateY(15vh) translateX(-2px);
		opacity:0;
		display:block;
		height:140px;
	}
	
	.has-image .hero-title {
		height:auto;
	}
		
	
	.light-content .hero-title {
		color:#fff;		
	}
	
	.load-project-page .hero-title, .load-project-page-carousel .hero-title {
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		opacity:1!important;
	}
	
	.load-next-project .hero-title  {
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
		opacity:1!important;
	}
	
	.load-next-page .hero-title {
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
		opacity:1!important;
	}
	
	.hero-subtitle {
		font-size:16px;
		font-weight:600;
		line-height:20px;
		margin-bottom:0px;
		width: 100%;
		z-index: 10;
		opacity:0;
		position:relative;
		color:#000;
		transform: translateY(5vh);
		-webkit-transform: translateY(5vh);
	}
	
	.load-next-project .hero-subtitle, .load-project-page-carousel .hero-subtitle {
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
		opacity:1!important;
	}
	
	.load-next-page .hero-subtitle {
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
		opacity:1!important;
	}
	
	.load-project-page .hero-subtitle {
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
		opacity:1!important;
	}
	
	.light-content .hero-subtitle {
		color:#fff;		
	}
	
	#hero.has-image .hero-subtitle:before, .text-align-center .hero-subtitle:before {
		left:50%;
		margin-left:-10px;
	}
	
	.hero-bottom {
		position: absolute;
		width: 100%;
		height: 140px;
		padding: 60px 80px;
		box-sizing: border-box;
		bottom: 0;
		left: 0;
		font-weight: 600;
		font-family: "Spectral", Sans-serif !important;
		font-size: 12px;
		color:#000;
	}
	
	.light-content .hero-bottom {
		color:#fff;
	}
	
	.hb-left {
		float:left;
		height:20px;
		line-height:20px;
		opacity:0;
		cursor:pointer;
		transform: translateY(60px);
		-webkit-transform: translateY(60px);
	}
	
	.hb-right {
		float:right;
		height:20px;
		line-height:20px;
		opacity:0;
		cursor:pointer;
		transform: translateY(60px);
		-webkit-transform: translateY(60px);
	}

	.hb-left::before, .hb-right::before {
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 1px;
		background: rgba(0,0,0,1);
		transform: scaleX(1);
		transform-origin: left;
		transition: transform .2s ease-out;
	}
	
	.light-content .hb-left::before, .light-content .hb-right::before {
		background: rgba(255,255,255,1);
	}
  
    .hb-left:hover::before, .hb-right:hover::before {
		transform: scaleX(0);
		transform-origin: right;
	}
	
	#hero.error {
		height:calc(100vh - 140px);
	}
	
	#hero.error #hero-styles{
		position: fixed;
		height:calc(100vh - 140px);
	}
	
	#hero.error #hero-caption .inner {
		vertical-align: middle;
	}
	
	.error-title {
		font-weight: 700;
		font-family: "Spectral", Sans-serif !important;
		display:inline-block;
		vertical-align: top;
		margin:0 auto;
		margin-bottom:0px;
		width:auto;
		font-size:3.5vw;
		line-height:90px;
		color:#000;		
		position:relative;
	}
	
	.light-content .error-title {
		color:#fff;
	}
	
	.error-subtitle {
		font-size:14px;
		font-weight:600;
		line-height:20px;
		margin-bottom:0px;
		width: 100%;
		z-index: 10;
		position:relative;
		color:#000;
		margin-bottom:20px;
	}
	
	.light-content .error-subtitle {
		color:#fff;
	}
	
	
/*--------------------------------------------------
	Page Navigation
---------------------------------------------------*/	
	
	#page-nav {
		height: auto;
		width: 100%;
		color: #000;
		position: relative;
		margin-bottom: 0;
	}
	
	.light-content #page-nav {
		color: #fff;
	}
	
	.next-page-wrap {
		position: relative;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		overflow:hidden;
		z-index: 3;
		transform: translateY(0px);
		-webkit-transform: translateY(0px);
	}
	
	
	.next-page-title {
		display: table;
		width: 100%;
		margin: 0 auto;
		padding: 200px 80px 100px 80px;
		max-width:1280px;
		margin: 0 auto;
		height: 100%;
		position: relative;
		box-sizing: border-box;
	}
	
	.next-page-title .inner {
		vertical-align: middle;
		text-align:left;
	}

	.page-title {
		font-weight: 500;
		margin-top: 30px;
		height:140px;
		margin-bottom:0px;
		width:auto;
		font-size:48px;
		line-height:70px;
		z-index:10;
		color:#000;
		position:relative;
		display:block;
		opacity:0.4;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
	
	.light-content .page-title {
		color:#fff;
	}
	
	.page-title:hover, .page-is-changing .page-title {
		opacity:1;
	}
	
	.page-title span {
		background-image: linear-gradient(transparent calc(100% - 3px), #000 1px);
		background-size: 0;
		background-repeat: no-repeat;
		display: inline;
		transition: 0.5s ease;
	}
	
	.light-content .page-title span {
		background-image: linear-gradient(transparent calc(100% - 3px), #fff 1px);
	}
  
  	.page-title:hover span {    
      	background-size: 100%;
    }
	
	.page-is-changing .page-title span {
		background-size: 0;
		transition: 0.3s ease;
	}
	
	.subtitle-info, .subtitle-name {
		margin-bottom: 0;
		line-height: 20px;
		height:20px;
		overflow:hidden;
		position: relative;
		left: 0;
		display: block;
		font-size:16px;
		font-weight: 600;
		font-family: "Spectral", Sans-serif !important;
	}
	
	.subtitle-info {
		transform: translateY(20px);
		-webkit-transform: translateY(20px);
	}
	
	.subtitle-name {
		transform: translateY(50px);
		-webkit-transform: translateY(50px);
		opacity:0;
	}
	
	.light-content .subtitle-info, .light-content .subtitle-name {
		color: #fff;
	}	

	
/*--------------------------------------------------
	Responsive
---------------------------------------------------*/	

@media only screen and (max-width: 1466px) {
	
	#hero-caption {
		padding: 200px 60px 100px 60px;
	}
	
	#hero.has-image #hero-caption {	
		padding: 80px 60px 220px 60px;
	}
	
	.hero-bottom {
		height: 100px;
		padding: 40px 60px;
	}
	
	.next-page-title {
		padding: 200px 60px 100px 60px;
	}
	
}

@media only screen and (max-width: 1024px) {	
	
	#hero-caption {
		padding: 220px 40px 140px 40px;
	}
	
	#hero.has-image #hero-caption {	
		padding: 80px 40px 220px 40px;
	}
	
	.hero-bottom {
		height: 100px;
		padding: 40px 40px;
	}
	
	.next-page-title {
		padding: 220px 40px 140px 40px;
	}
	
	.page-title span, .light-content .page-title span {
		background-image: none;
	}
	
}

@media only screen and (max-width: 767px) {
	
	#hero-caption {
		padding: 200px 30px 140px 30px;
	}
	
	#hero.has-image #hero-caption {	
		padding: 80px 30px 220px 30px;
	}
	
	.hero-title {
		font-size: 36px;
		line-height: 50px;
		margin-top: 20px;
	}
	
	.hero-bottom {
		height: 80px;
		padding: 30px 30px;
	}
	
	.next-page-title {
		padding: 200px 30px 140px 30px;
	}
	
	.page-title {
		font-size: 36px;
		line-height: 50px;
		margin-top: 20px;
	}
	
}

@media only screen and (max-width: 479px) {
	
	#hero-caption {
		padding: 180px 20px 140px 20px;
	}
	
	#hero.has-image #hero-caption {	
		padding: 80px 20px 220px 20px;
	}
	
	.hero-title {
		font-size: 32px;
		line-height: 40px;
		margin-top: 20px;
	}
	
	.hero-bottom {
		height: 80px;
		padding: 30px 20px;
	}
	
	.next-page-title {
		padding: 180px 20px 140px 20px;
	}
	
	.page-title {
		font-size: 32px;
		line-height: 40px;
		margin-top: 20px;
	}
		
}