
/* Reset */

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

  li{
    list-style-type: none;
  }



/* Global */

html,body{
  font-family: Helvetica, arial, sans-serif;
  color:#16161d;
  line-height: 1.2;
}

a{
  color:black;
  text-decoration: none;
}

a:-webkit-any-link {
  text-decoration: none;
}

img{
  width:100%;
}

/* Typography */

p,.p{
  font-size:18px;
  line-height: 1.3;
  margin-bottom:14px;
  letter-spacing: 0.01em;
}

	.about p{
	}
	
h1,.h1{
  font-size:21px;
  line-height: 1.3;
  letter-spacing: 0;
}

h1{
  font-size:42px;
  line-height: 1;
  font-weight: bold;

}


h2{
  font-size:18px;
  line-height: 1.3;
  letter-spacing: 0;
}

li{
  font-size:12px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  font-family: Helvetica, arial, sans-serif;
}

h3, h3 p{
  font-size:14px;
/*   line-height: 1; */
  font-weight: 400;
  font-family: Helvetica, arial, sans-serif;
  margin-bottom: 7px;
}

h4{
  font-size:12px;
  font-weight:500;
  line-height: 1.3;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-family: Helvetica, arial, sans-serif;
}

h5{
	font-weight: normal;
}


.tagline,.swiper-slide h1{
	font-size:35px;
	max-width:855px;
	line-height: 1.4;
	padding: 200px 28px;
	font-weight: normal;
	text-align: center;
}

.tagline-container{
	display:flex;
	justify-content:center;
	align-items:center;
	height:100vh;
	background: #16161d;
	color: white;
}

.tagline span{
	margin:0;
	line-height:1.6;
	letter-spacing:0.5px;
}

.swiper-slide h1 span{
	padding-top: 14px;
	
}

.filters{
  display: flex;
  justify-content:center;
  flex-wrap: wrap;
  width:100%;
  margin:0 auto;
  padding:14px 7px;
}


.filters li{
  font-size:18px;
  color:lightgrey;
  cursor:pointer;
  margin:0px 28px;
  font-weight: bold;
}

.filters li.a{
  color:black;
}
/* Grid */

.grid{
  position: relative;
  float:left;
}

  .clear{
    clear:both;
  }

  .full{
    width:100%;
  }

  .half{
    width:50%;
  }

  .third{
    width:33.33%;
  }

    .two-thirds{
      width:66.66%;
    }

  .fourth{
    width:25%;
    /*margin-bottom:28px;*/
  }

  .sixth{
    width:16.66%;
  }
  
.square{
	height: 33.33vw;
}

.max-width{
	max-width: 1000px;
	margin: 0 auto;
	float:none;
	padding: 0 7px;
}
  
  
.right{
	text-align: right;
}

/* Spacing */

.padding{
  padding:3.5px;
}

  .padding--medium{
    padding:28px;
  }

  .padding--large{
    padding:56px;
  }

.margin{
  margin:21px;
}

  .margin-bottom{
    margin-bottom:28px;
  }

    .margin-bottom--large{
      margin-bottom:45px;
    }

  .margin-right{
    margin-right:14px;
  }

  .vh{
    height:90vh;
  }

.hide{
  display: none;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

  .center{
    position:absolute;
    top:50%;left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
  }

  .center-h{
    top:50%;
    transform:translateY(-50%);
  }

  .xx{
    clear:both;
  }

  .fourth-item{
    border:1px solid red;
  }

.flex{
  display: flex;
  justify-content: center;
}

.columns{
  column-count:2;
}

.inverse{
  background:#16161d;
  color:white;
}

.z{
  z-index:3;
}




main{
	min-height: 100vh;
}

nav{
  position: fixed;
  top: 0;left: 0;
  padding: 7px 7px;
  z-index:999;
  transition: 300ms;
  padding: 21px 28px;
  background: rgba(0,0,0,0);
}



  nav.relative{
	  position: relative;
	  float: left;
	  width: 100%;
  }


  nav svg#logo{
	  stroke:white;
  }
  
  nav.a svg#logo{
	  stroke:black!important;
  }
  
  nav.a{
  	background: rgba(255,255,255,1);
  }
  
.menu-icon{
	position: absolute;
	top:0;right:0;
	margin-top:3px;
/* 	top:26px;right:21px; */
	z-index:1000;
	cursor: pointer;
}

	.menu-icon.change{
		margin-top: 7px;
	}

	.menu-icon.a div{
		background: black!important;
	}

.container {
  display: block;
/*   cursor: pointer; */
  width:100%;
  height:100%;
}

.container figure.half {
	width:calc(50% - 3.5px);
/* 	padding:7px; */
}

.container figure.half + figure.half{
	width:calc(50% - 3.5px);
	float: right;
}

.container figure.half + figure.half + figure.half{
	float:left;
}

.container figure.half + figure.half + figure.half + figure.half{
	float:right;
}


.container figure.half + figure.half + figure.half + figure.half + figure.half{
	float:left;
}

.container figure.half + figure.half + figure.half + figure.half + figure.half + figure.half{
	float:right;
}


.bar1, .bar2, .bar3 {
  width: 30px;
  height: 2px;
  background-color: white;
  margin: 0;
  transition: 0.4s;
  transform-origin: 60% 50%;
}

.bar2{margin:7px 0px}

.change .bar1 {
  transform: rotate(-45deg);
}

.change .bar2 {opacity: 0;margin:0;}

.change .bar3 {
  transform: rotate(45deg) ;
}


.menu li{
  font-size:21px;
}

.menu-item{
  float:right;
  margin-left:21px;
  font-weight: 500;
  font-size:21px;
}

.menu-item a{
  /*height:28px;*/
  /*display: flex;*/
  /*align-items: center;*/
}

#menu-button{
  position: fixed;
  top:0;right:0;
  margin:21px;
  width:28px;
  z-index:9;
  cursor: pointer;
}
.button{
  /*background:#16161d;*/
  /*padding:10px 14px;*/
  border-radius:3px;
  /*color:white;*/
  /*letter-spacing: 0.02em;*/
  /*border:1px solid black;*/
  /*background:#eee;*/
  text-transform: uppercase;
  font-weight: 500;
  font-size:14px;
}


  hr{
    position: relative;
    float:left;
    width:100%;
    padding:35px;
    border:0;
  }

/* Home Page */

.banner{
  position: fixed;
  right:0;
}

.swiper-slide{
  background-color:#16161d;
}

.swiper-slide h1{
	color: white;
	position: absolute;
	top:50%;left:50%;
	transform: translate(-50%,-50%);
	text-align: center;
	font-weight: normal;
	width: 80%;
	max-width:800px;
	line-height: 1.2;
}

.swiper-slide p{
	font-size: 35px;
}
h1 span{
	display: block;
	font-size: 18px;
	line-height: 1.2;
	margin-top: 28px;
	text-transform: uppercase;
	font-weight: bold;
}

#landing-swiper .swiper-slide img{
  width:100vw;
  height: 100vh;
  object-fit: cover;
}


.swiper-button-next{
  background-size: 14px 44px;	
}

.swiper-button-prev{
  background-size: 14px 44px;	
}


.swiper-button-down{
    position: absolute;
    bottom:10px;
    left: 50%;
    transform: translateX(-50%);
    width: 27px;
    height: 27px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
  background-size: 14px 44px;
  transform: rotate(90deg)
}

@media (max-width:700px){
	.swiper-button-down{
		bottom: 150px
	}
}
 .swiper-pagination-bullet-active{
  background:black;
 }

 .swiper-lazy-preloader{
  width:20px;
 }

  .image{
    width:100%;
    height:30vw;
    background:#eee;
    overflow: hidden
  }
  
  	.image img{
  		width: 100%;
  		height: 100% ;
  		object-fit: cover;
  		transition: 500ms;
    }
    
    .image:hover img{
	    transform: scale(1.01)
    }
    
   .project{
	   cursor: pointer;
   }
    
   .project h2{
   		position: relative;
   		float:left;
   
   	margin:7px 0px 21px 0px;
/*
	   position: absolute;
	   top: 50%; left: 50%;
	   transform: translate(-50%,-30%);
	   transition: 500ms;
	   opacity:0;
	   color: white;
	   text-align: center;
	   width:90%;
	   z-index:20
*/
   }
    
    
   
/*
   .project:hover h2{
	   opacity: 1;
	   transform: translate(-50%,-50%);
	   
   }
*/
   

/*
   
   .project .image:after{
	   position: absolute;
	   content: '';
	   top:0;left:0;
	   width: 100%;height:100%;
	   background: hsla(0,0%,0%,0.5);
	   z-index:5;
	   opacity: 0;
   }

   
   .project:hover .image:after{
	   opacity: 1;
   }
*/



.title{
/* 	position: absolute; */
/* 	background:white; */
/* 	transform: translateY(-95%); */
	z-index: 5;
/* 	padding: 70px 35px 0px 35px; */
}

.description .grid{
	margin-bottom: 14px;
}

.description h3{
	line-height: 1.3;
}


.scrollFix{
	height: 100vh;
}

.radio{
  position: relative;
  float:left;
  width:14px;
  height:14px;
  margin:10px 5px 0px 0px;
  border:2px solid black;
}

  .radio .check{
    position: absolute;
    display: block;
    margin:2px;
    width:6px;
    height:6px;
    background:black;
  }



.project-name.a h1{
  text-decoration: underline;
  cursor: pointer;
}

#close{
  position: absolute;
  top:0;right:0;
  margin:21px;
  width:25px;
  cursor: pointer;
}

  /*#clsoe im*/

#menu{
  transform:translateX(-100%);
  transition:300ms;
  background:rgba(68,140,189,0.95);
  z-index:99;
  color:white;
}

  #menu.a{
    transform:translateX(0%);
  }

  #menu ul{
    display: none;
  }


#menu li{
  cursor: pointer;
  font-size:56px;
  margin-bottom:21px;
  font-family: Helvetica, arial, sans-serif;
}

  #menu li:hover{
    text-decoration: underline;
  }
  
  .justify{
	 text-align: justify
  }
  
  @media (max-width:700px){
	  
	 .justify{
	 	text-align: left;
	 }
  
  }
  
  .text p{
		font-size: 18px;
		}

.text p,.text h1,.text h2{
  margin-bottom:21px;
}

  .text h2{
	  margin-top: 21px;
  }


  .row{
    height:50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:10px;
  }

footer{
  background:#16161d;
  color: white;
  z-index:5;
  width:100%;
  line-height: 1.5;
}

	footer a {
		color: white;
	}


.mobile{
  display: none;
}

.desktop{
  display: block;
}

.columns{
  column-count:2;
  width:66.66%;
}
/*

.list p{
	line-height: 1.7;
}
*/

.service:nth-child(even) .half{
	float:right;
}
.overlay{
	position: fixed;
	top:0; left: 0;
	width: 100%;
	height: 100vh;
	background: hsla(0,0%,0%,0.3);
	z-index: 8;
	display: none;
}

	.overlay.change{
		display:block;
	}

.menu-button{
  position: absolute;
  top:7px;right:0;
  z-index:999;
  margin:7px;
}

.nav-drawer{
  position: fixed;
  top:0;right:0;
  min-width:350px;
  width:100vw;
  height: 100vh;
/*   transform: translateX(100%); */
  padding: 35px;
  z-index: 9;
  background: #16161d;
  color: white;
  display:none;
}
/*

  .nav-drawer.change{
	  transform: translateX(0);
  }
*/

  .nav-drawer li{
    position: relative;
    float:left;
    width:100%;
	clear:both;
	text-align: center;
    font-size:49px;
  }
  
  .nav-drawer a{
	  color: white;
  }

.contact{
	text-align: center;
	line-height: 1.5;
	margin-top:12px;
	clear:both;
	width: 100%;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 12px;
	letter-spacing: 0.05em;
}

.social{
	position: absolute;
	bottom: 0;
	right:0;
    margin:35px;
	line-height: 1.5;
}

 .social a{
 position: relative;
 float: right;
	clear: both;
	color: hsl(0,0%,50%);
 }


@media (min-width:1200px){

	.description:nth-child(1){
		width: 40%;
	}
	
	.description:nth-child(3){
		width: 60%;
	}

}

.container p:first-child{
  text-indent: 0;
}


.logo{
    opacity: 0;
}


.team{
	flex-wrap: wrap;
	justify-content: center;
}

.team .half{
	min-width:200px;
	max-width: 300px;
}


.box{
	height:300px;
	padding: 7px;
}


.box .fill{
width: 100%;
height:100%;
	background: #eee;
	
	display: flex;
	align-items: center;
	justify-content: center;

	
}

	#landing-swiper.swiper-container{
	   height: 100vh;
	}
   
   .swiper-container{
	   overflow: hidden;
	   background: black;
   }   
   
   
   
   .swiper-container.a .swiper-slide{
	   transform:scale(1)
   }

   .swiper-slide{
     transition:1s;
    cursor: pointer;
    transform:scale(1.025);
    opacity:1;
   }
   
   .swiper-slide img{
	   float: left;
   }
   
   .swiper-slide-active{
	   z-index: 9;
   }
   
 iframe{
	 width: 100%;
 }  

.desktop{display:block;}
.mobile{display:none;}


/* Mobile */

@media screen and (max-width:700px){

  .desktop{display:none;}
  .mobile{display:block;}

  .half, .third{
    width:100%;
  }
  .sixth,.fourth{
    width:50%;
  }

  h1{
    font-size:6vw!important;
  }
  
  .projects{
	  padding: 21px;
  }

  .project .image{
    height:90vw!important;
  }

  .vh{
    height:50vh;
  }

  .image{
    height:100vw;
  }

  #intro,.banner{
    position: relative;
    float: left;
  }

  #menu{
    height:100vh;
  }

  .start{
    height:auto;
    margin-top:50px;
  }

  .center-h{
    top:0;
    transform:none;
  }

  #menu-button g{
    stroke:black;
  }

  .padding--medium{
    padding:7px;
  }

  .project .half{
    height:100vw!important;
  }

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

  .logo{
    display: block;
  }

  .filters{
    position: relative;
    float:left;
    width: 100%;
    display: block;
  }

  .filters li{
    position: relative;
    float:none;
    margin:0 auto;
    display: block;
    clear:both;
    text-align: center;
    margin-bottom:0px;
    padding:3px 0px;
  }


   .desktop{
    display: none;
   }

   .mobile{
    display: block;
   }
   
   h1 span{
	   font-size: 12px;
   }

   
   .tagline{
	   font-size:4vw!important;
	   max-width: 100%!important;
   }
   
   @media screen and (max-width:700px){
   
   .tagline{
	   text-align: center;
   }
   
   }

  .text{
	  padding:0px 14px;
  }
  
  .social{
	  bottom: 100px;
  }
  

  
  .nav-drawer{
	  width: 100%;
  }



}
@media screen and (max-width:1250px){

	.text,.columns{
    	column-count: 2!important;
   }
   
}

@media screen and (max-width:1000px){

   .description,.scrollFix{
    position: relative!important;
    float:left;
    height: auto!important;
   }

   .text,.columns{
    column-count: 1!important;
   }
   
   
   footer .grid.fourth{
	   width: 100%;
   }



}
