#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: 'Poppins', sans-serif;
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: 'Poppins', sans-serif;
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-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: '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;
} @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;
}
}