	
/*--------------------------------------------------
	Hero Section
---------------------------------------------------*/			
	
	#hero {		
		width:100%;
		height:auto;
		max-height:100%;
		position:relative;
		z-index:0;
	}
	
	#hero.landing {
		min-height:100vh;
		overflow:hidden;
		z-index:20;
		pointer-events:none;
	}
	
	#hero.has-image {
		z-index:2;
		height:100vh;
		overflow:hidden;
	}
	
	.layered-hero #hero.has-image {
		z-index:15;
	}
	
	#hero-styles {
		position: relative;
		width: 100%;
		height:auto;
		top: 0;
		left: 0;
		right: 0;
		display: block;
		margin: 0 auto;
		z-index:2;		
	}
	
	#hero.landing #hero-styles {
		height:100vh;
		position: fixed;
	}
	
	#hero.has-image #hero-styles {
		position: fixed;
		height:100vh;
	}
	
	#hero-caption {
		display: table;
		width: 100%;
		padding: 230px 80px 160px 80px;
		max-width:1280px;
		margin: 0 auto;
		height: 100%;
		position: relative;
		box-sizing: border-box;	
		text-align:left;
		pointer-events:initial;	
	}
	
	#hero.has-image #hero-caption {		
		padding: 20px;
		text-align:center;
	}
	
	#hero.landing #hero-caption {	
		padding: 80px 80px 80px 80px;
	}
	
	#hero #hero-caption .inner {
		vertical-align: top;
	}
	
	#hero.landing #hero-caption .inner {
		vertical-align: middle;
	}
	
	#hero.has-image #hero-caption .inner {
		vertical-align: middle;
	}	
	
	#hero-image-wrapper {
		position: fixed;
		width: 100vw;
		height: 100vh;
		z-index: 0;
		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;
	}
	
	.layered-hero #hero-image-wrapper {
		z-index: 12;
	}
	
	#hero-background-layer {
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		z-index:0;
	}
	
	#hero-bg-image {
		background-size:cover;
		position:absolute;
		background-position:center center;
		width:100%;
		height:100%;
		z-index:0;
		opacity:0;
		overflow:visible;
	}
	
	#hero-foreground-layer {
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		z-index:1;
	}
	
	#hero-fg-image {
		background-size:cover;
		position:absolute;
		background-position:center center;
		width:100%;
		height:100%;
		z-index:0;
		opacity:0;
		overflow:visible;
	}
	
	.load-project-page #hero-bg-image, .load-next-project #hero-bg-image, .load-project-page #hero-fg-image, .load-next-project #hero-fg-image {
		opacity:1;
		-webkit-transform: scale(1.02);
		transform: scale(1.02);	
	}
	
	.load-project-page-carousel #hero-fg-image {
		opacity:1;
		-webkit-transform: scale(1.05);
		transform: scale(1.05);	
	}
	
	#hero-fg-image::after {
		content: "";
		width: 100%;
		height: 60%;
		position: absolute;
		bottom: 0;
		left: 0;
		opacity:0.5;
		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 );
		-webkit-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
	}
	
	.load-project-thumb #hero-fg-image::after, .layered-hero #hero-fg-image::after {
		opacity:0
		
	}
	
	.hero-move-title {
		font-size: 90px;
		font-weight:500;
		line-height: 110px;
		position:relative;
		overflow:hidden;
		margin-bottom:0;
		color:#000;
		-webkit-text-stroke: 0.015em #000;	
	}
	
	.light-content .hero-move-title {
		color:#fff;
		-webkit-text-stroke: 0.015em #fff;	
	}
	
	.hero-move-title span {
		position: relative;
		display: block;
	}
	
	#hero .hero-move-title span {
		-webkit-transform: translateY(100px);
		transform: translateY(100px);
	}
	
	.hero-title {
		margin:0 auto;
		margin-top:0px;
		width:auto;
		font-size:90px;
		line-height:110px;
		font-weight: 500;
		z-index:10;
		color:#000;		
		position:relative;
		display:table;
		overflow:hidden;
		-webkit-text-stroke: 0.015em #000;		
	}
	
	.hero-title span {
		position:relative;
		display:block;
		-webkit-transform: translateY(120px);
		transform: translateY(120px);
	}
	
	.has-image .hero-title {
		height:auto;
	}
	
	.text-align-left .hero-title {
		margin:0;
		display:block;
		-webkit-transform: translateX(-4px);
		transform: translateX(-4px);
	}
	
	.light-content .hero-title {
		color:#fff;
		-webkit-text-stroke: 0.015em #fff;		
	}
	
	.load-project-page .hero-title, .load-project-page .hero-title span, .load-project-thumb-with-title .hero-title, .load-project-thumb-with-title .hero-title span {
		transform: translateY(0px)!important;
		-webkit-transform: translateY(0px)!important;
		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;
	}
	
	.load-next-page #hero .hero-move-title span {
		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;		
		position:relative;
		display:block;
		color:#000;
		opacity:0;
		transform: translateY(40px);
		-webkit-transform: translateY(40px);
	}
	
	.load-next-project .hero-subtitle, .load-project-thumb-with-title .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-footer {
		position: absolute;
		width: 100%;
		padding: 40px 80px;
		box-sizing: border-box;
		bottom: 0;
		left: 0;
		font-weight: 600;
		font-family: 'Poppins', sans-serif;
		font-size: 12px;
		line-height:60px;
		color:#000;
	}
	
	.light-content #hero-footer {
		color:#fff;
	}
	
	#hero-footer:after {
	  content: "";
	  clear: both;
	  display: table;
	}
	
	.hero-footer-left {
		float:left;
		opacity:0;
		cursor:pointer;
		transform: translateY(40px);
		-webkit-transform: translateY(40px);
	}
	
	.hero-footer-right {
		float:right;
		opacity:0;
		cursor:pointer;
		transform: translateY(40px);
		-webkit-transform: translateY(40px);
	}
	
	#share {
		top:-3px;
		right: -24px;
		position: relative;
	}
	
	#share::before {
		position: absolute;
		top: 0;
		left: -140px;
		content: attr(data-text);
		width: 120px;
		text-align:right;
	}
	
	#share .parallax-wrap {
		width: 60px;
		height: 60px;
		display: flex;
		position: relative;
		justify-content: center;
		align-items: center;
		float: left;
	}
	
	.landing-caption {
		position:absolute;
		margin-top:60px;
		opacity:0;
		transform: translateY(60px);
		-webkit-transform: translateY(60px);
	}
	
	#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-button.button-box {
		opacity:0;
		margin-top:30px;
		transform: translateY(30px);
		-webkit-transform: translateY(30px);
	}
	
/*--------------------------------------------------
	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: 230px 80px 160px 80px;
		max-width:1280px;
		margin: 0 auto;
		height: 100%;
		top:-20%;
		opacity:0;
		position: relative;
		box-sizing: border-box;
	}
	
	.next-page-title .inner {
		vertical-align: middle;
		text-align:left;
	}

	.page-title {
		font-weight: 500;
		margin-top: 0px;
		margin-bottom:0px;
		width:auto;
		z-index:10;
		color:#000;
		position:relative;
		display:table;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
	
	.light-content .page-title {
		color:#fff;
	}
	
	
	
	#page-nav .hero-move-title span {
		position: relative;
		display: block;
		-webkit-text-stroke-color: rgba(0,0,0,1);
		-webkit-text-stroke-width: 0.015em;
		-webkit-text-fill-color: transparent;
		-webkit-background-clip: text;
		background-repeat: no-repeat;
		transition: background-size .5s ease-in-out 0.1s;
		background-image: linear-gradient(135deg, #000 0%, #000 50%, transparent 50.1%);
  		background-size: 0% 100%;
	}
	
	.light-content #page-nav .hero-move-title span {
		-webkit-text-stroke-color: rgba(255,255,255,1);
		-webkit-text-stroke-width: 0.015em;
		-webkit-text-fill-color: transparent;
		-webkit-background-clip: text;
		background-repeat: no-repeat;
		transition: background-size .5s ease-in-out 0.1s;
		background-image: linear-gradient(135deg, #fff 0%, #fff 50%, transparent 50.1%);
  		background-size: 0% 100%;
	}
	
	#page-nav .hero-move-title:nth-child(2) span {
		transition: background-size .5s  ease-in-out 0s;
	}
	
	#page-nav .page-title:hover .hero-move-title:nth-child(1) span {
    	background-size: 220% 100%;
		transition: background-size .5s  ease-in-out 0s;
  	}
	
	#page-nav .page-title:hover .hero-move-title:nth-child(2) span {
    	background-size: 220% 100%;
		transition: background-size .5s  ease-in-out 0.1s;
  	}
	
	.load-next-page #page-nav .page-title .hero-move-title span {
    	background-size: 220% 100%;
  	}
	
	.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: 'Poppins', sans-serif;
	}
	
	.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: 1680px) {
	
	#hero-caption {
		padding: 180px 60px 120px 60px;
	}
	
	.next-page-title {
		padding: 180px 60px 120px 60px;
	}
	
}


@media only screen and (max-width: 1466px) {
	
	#hero-caption {
		padding: 220px 60px 140px 60px;
	}
	
	.hero-title {
		font-size: 80px;
		line-height: 100px;
	}
	
	.hero-move-title {
   		font-size: 80px;
		line-height: 100px;
	}
	
	#hero-footer {
		padding: 30px 60px;
	}
	
	.next-page-title {
		padding: 220px 60px 140px 60px;
	}
	
}

@media only screen and (max-width: 1200px) {
	
	.hero-title {
		font-size: 60px;
		line-height: 80px;
	}	
	
}

@media only screen and (max-width: 1024px) {	
	
	#hero-caption {
		padding: 200px 40px 140px 40px;
	}
	
	.hero-title {
		font-size: 50px;
		line-height: 70px;
	}
	
	.hero-move-title {
   		font-size: 50px;
		line-height: 70px;
	}
	
	#hero-footer {
    	padding: 20px 40px;
	}
	
	.next-page-title {
		padding: 200px 40px 140px 40px;
	}
	
}

@media only screen and (max-width: 767px) {
	
	#hero-caption {
		padding: 180px 30px 140px 30px;
	}
	
	.hero-title {
		font-size: 40px;
		line-height: 55px;
	}
	
	.hero-subtitle {
    	font-size: 14px;
	}
	
	.hero-move-title {
   		font-size: 40px;
		line-height: 55px;
	}
	
	#hero-footer {
		padding: 10px 30px;
	}
	
	.hero-footer-left .button-text {
		display:none;
	}
	
	.next-page-title {
		padding: 180px 30px 140px 30px;
	}
	
}

@media only screen and (max-width: 479px) {
	
	#hero-caption {
		padding: 140px 20px 100px 20px;
	}
	
	.hero-subtitle {
    	font-size: 12px;
	}
	
	#hero-footer {
		padding: 10px 20px;
	}
	
	.next-page-title {
		padding: 140px 20px 100px 20px;
	}
		
}			
	