*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  color:#666;
}

img{
  border: 0;
  max-width:100%;
}

a{
  text-decoration: none;
  cursor:pointer;
  color:#666;
  transition:.7s color, .7s background-color;
}
a:focus{
  outline: none;
}
a:hover{
  transition:.3s color, .3s background-color;
}

h1{
  text-transform:uppercase;
  font-weight: 700;
  font-size: 40px;
  letter-spacing: 2px;
  text-align:center;
  margin-bottom: 15px; 
}

h2{
  text-transform:uppercase;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 2px;
  text-align:center;
}
h2.left{
  text-align:left; 
}
h2.margined{
  margin: 80px 0;
}
h2.margined-bottom{
  margin: 0 0 20px 0; 
}
h3{
  text-transform:uppercase;
  font-weight: 400;
  font-size: 25px;
  letter-spacing: 2px;
  text-align:center;
  margin-bottom: 80px;
}

h4{
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 5px;
}


p{
  margin-bottom: 15px;
}

ul, ol{
  margin: 0 0 15px 30px;
}

.light{
  font-weight: 300;
  line-height: 27px;
  letter-spacing: 1px;
}
.bold{
  font-family: futura-pt, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 2px;
}
.italic{
  font-style:italic;
}

.center{
  text-align:center;
}

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 85%;
  max-width: 1000px;
}
.container.narrow{
  max-width: 800px; 
}
.container.margined{
  margin: 80px auto; 
}

.panel{
  height:100vh;
  background-color:#000;
}


.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:100;
}
.header.dark{
  background-color:#000;
}

.header .logo{
  padding: 30px 60px;
  display:inline-block;
}
.header .logo img{
  width: 300px;
}
.headerspace{
  height: 105px;
}
#nav{
  font-size: 15px;
  letter-spacing: 2px;
}

.menubutton{
  display:block;
  position:absolute;
  right: 40px;
  top: 41px;
  color:#FFF;
  text-align:right;
  line-height: 20px;
}
.menubutton .text{
  display:inline-block;
  vertical-align:middle;
  transition:.5s opacity;
  padding-right: 10px;
}
#nav.here .menubutton .text{
  opacity:0;
  transition:.3s opacity;
}
.menubutton .circle{
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align:middle;
}
.menubutton .close{
  display: none;
  width: 20px;
  height: 20px;
  vertical-align:middle;
}

#nav.here .menubutton .circle{
  display:none;
}
#nav.here .menubutton .close{
  display:inline-block;
}



.navbar{
  list-style-type:none;
  margin:0;
  position:absolute;
  right: 70px;
  border: 1px solid #FFF;
  transition:.5s top;
}
#nav.gone .navbar{
  top: -300px;
  transition:.5s top;
}
#nav.here .navbar{
  top: 32px;
}

.navbar a{
  display: block;
  border-bottom: 1px solid #fff;
  text-align: right;
  padding: 10px 10px 10px 50px;
  color:#999;
  text-transform:uppercase;
  background-color:rgba(0,0,0,.6);
}
.navbar li:last-child a{
  border:none;
}
.navbar a.current{
  color:#FFF;
}
.navbar a:hover{
  color:#B5BE00;
}

.sticky{
  position:sticky;
  bottom:0;
}

.section {
  align-items: center;
  background-size:cover;
  background-position:Center center;
  bottom: 0;
  display: flex;
  justify-content: center;
  height: 100vh;
  position: sticky;
  width: 100%;
  z-index:9;
}


.section .bar{
  /*background-color:rgba(0,0,0,.5);*/
  width:100%;
  text-align:center;
  color:#FFF;
  padding: 30px;
  z-index:10;
  position:relative;
  letter-spacing: 4px;
  transition: 1s padding;
}
.section .bar:hover{
  padding: 10vh 30px;
  transition: .7s padding;
}
.section .bar span{
  display:block;
}
.section .bar .title1{
  font-weight: 700;
  font-size: 25px;
  line-height: 25px;
  text-transform:uppercase;
}
.section .bar .title2{
  font-size: 25px;
  line-height: 25px;
  text-transform:uppercase;
}
.section .bar .explore{
  font-size: 20px;
  margin-top: 15px;
}



.black{
  display: flex;
  justify-content: center;
  align-items:center;
  /*
  position: sticky;
  bottom: 0;
  */
  min-height: 100vh;
  background-color:#000;
  text-align:center;
  padding: 50px 0;
}
.black .icon img{
  width: 150px;
}

.black .text{
  font-size: 25px;
  line-height: 40px;
  font-weight:300;
  letter-spacing: 2px;
  color:#fff;
  max-width: 850px;
  padding: 0 20px;
  margin: 15vh auto;
}
.black .logotext img{
  width: 250px;
}


.grid{
  display:flex;
  flex-wrap:wrap;
  background-color:#000;
}
.grid a{
  width: 33.33333333333333333333%;
  position:relative;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
  padding-bottom: 20%;
  transition: 1s background-size, 1s width, 1s height;
}
.grid a.hidden{
  width:0;
  height:0;
  overflow:hidden;
  transition:1s width, 1s height;
}
.grid a .fade{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,.5);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  text-align:center;
  color:#FFF;
  padding: 15px;
  opacity:0;
  transition:.9s opacity;
}


.grid a:hover{
  background-size: 110% auto;
  transition: 5s background-size;
}
.grid a:hover .fade{
  opacity:1;
  transition:.3s opacity;
}

.grid a .fade .title{
  width:100%;
  font-weight: 700;
  text-transform:uppercase;
  font-size: 25px;
  line-height: 25px;
  letter-spacing: 2px;
}
.grid a .fade .title .location{
  font-weight:400;
  display:block;
}


.grid a .fade.always-in{
  opacity: .8;
}

.grid a .fade .title .summary{
  font-weight: 400;
  margin-top: 10px; 
  font-size: 0; 
  letter-spacing:0;
  line-height: 1.2; 
  text-transform: none;
  display:block;
  
}
.grid a:hover .fade .title .summary{
  font-size: 14px; 
  transition:.3s font-size; 
}

.projectimage{
  height: 65vw;
  background-size:cover;
  background-position:center center;
  background-repeat: no-repeat;
  background-color:#000;
}

.carousel{
  background-color:#000;
}

.contain{
  width: 100%;
  overflow:hidden;
}


.carousel-image {
  display: block;
  height:auto;
  width:100%;
  height: 100vh;
  background-size:contain;
  background-repeat: no-repeat;
  background-position:center center;
}

.carousel .flickity-page-dots{
  bottom: 40px;
}
.carousel .flickity-page-dots .dot{
  background-color:#CCC;
}
.carousel .flickity-page-dots .dot.is-active{
  background-color:#B5BE00;
}
.carousel .flickity-button{
  background:none;
  color:#666;
  transition:.3s color;
}
.carousel .flickity-button:hover{
  background:none;
  color:#fff;
  transition:.3s color;
}

.space{
  height: 100px;
}

.flex{
  display:flex;
  flex-wrap:wrap;
}
.flex .half{
  width: 46%;
  margin-right: 8%;
}
.flex .half:nth-child(2n+2){
  margin-right:0;
}

.light ul{
  list-style-type:none;
  margin: 0 0 30px 0;
}

.team{
  margin-bottom: 60px;
}
.team .mail{
  float:right;
}
.team .mail img{
  width: 25px;
}
.team .more{
  font-weight:400;
  text-transform:uppercase;
}

.invisible{
  display:none;
}
.visible{
  display:block;
}


.team-photo{
  float:right;
  margin: 0 0 15px 15px;
  border-radius: 100%;
  width: 30%;
}


.tabs{
  background-color:#000;
  color:#FFF;
  padding: 30px;
  text-align:center;
}
.tabs a{
  color:#FFF;
  display: inline-block;
  margin: 0 20px;
}
.tabs a.current{
  color: #B5BE00;
}



.scrolllink{
  position:absolute;
  bottom:5px;
  left:0;
  width:100%;
  display:block;
  color:#FFF;
  text-align:center;
  opacity: .5;
  transition:.3s opacity;
}
.scrolllink:hover{
  opacity: 1;
  transition:.3s opacity;
}


.blog-header{
  background-color:#000;
  padding: 40px 0;
}
.blog-header img{
  display:block;
  width: 100%;
}

.blog-header h1{
  color:#FFF;
  font-size: 20pt; 
  line-height: 1.2; 
  margin: 0 0 15px 0;
}

.blog{
  margin-top: 40px; 
  text-align:left; 
}

.blog h2{
  text-transform:uppercase;
  font-weight: 700;
  font-size: 18pt;
  text-align:left;
  margin: 40px 0 5px 0;
}

.blog h3{
  text-transform:uppercase;
  font-size: 16pt;
  letter-spacing: 2px;
  text-align:left;
  margin: 40px 0 5px 0;
}

.blog h4{
  font-size: 14pt;
  margin: 40px 0 5px 0;
}

.blog img{
  display:block;
  width: auto !important;
  height: auto !important; 
  margin: 25px auto; 
}

.blogback{
  margin: 40px auto;
  border-top: 2px solid #000; 
  padding-top: 15px; 
}


.button{
  display: inline-block; 
  background-color:#000;
  color:#FFF; 
  padding: 15px 30px; 
  margin-right: 20px; 
  font-size: 20px; 
}
.button:last-child{
  margin-right:0;
}

.button:hover{
  background-color:#B4BD00;
}


.accordion-item{
  margin-bottom: 15px; 
}
.accordion-header{
  display:block; 
  width:100%; 
  background:none;
  border:0;
  background-color:#000;
  color:#FFF; 
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;  
  text-align:left; 
  padding: 10px; 
  cursor:pointer;
}
.accordion-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.accordion-content-inner{
  padding: 15px; 
  background-color: #f1f1f1;
  margin-bottom: 15px; 
}