*,
*:after,
*:before{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
   -webkit-tap-highlight-color: rgba(0,0,0,0);
}


  *{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  :focus{
    outline-color: lightgrey;
  }
  
  img::selection,
  header *{
	  background: none;
  }

html,body{
	overflow-x: hidden;
	min-height: 100vh;
	color: black;
}


li {
	list-style-type: none;
}


.enable-li ul,
.enable-li li {
	list-style-type: revert;
	padding: revert
}

a {
  text-decoration: none;
/*   color: inherit; */
color: black;
}

img{
  max-width: 100%;
}

/*
	img[data-src]{
		display: none;
	}
*/

table td{
    padding-right: 35px;
    vertical-align: text-top;
}
	
	
input{
	border: 0;
	padding-bottom: 2px;
	text-transform: uppercase;
	letter-spacing: 0;
	background: none;
	border-radius: 0;
/* 	padding: 3px; */
	color: inherit
}


input[type="text"]{
	width: 50px
}

input[type="search"]{
	border-bottom: 1px solid black;
	top:-3px;
}

	.white input[type="search"],
	header.active .search input[type="search"]{
		border-bottom: 1px solid white;
	}



  input:focus{
    outline: 0;
  }
  
  
  

html,body{
  font-family:"Helvetica Neue", Helvetica;
  color: black;
}

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

  .full{
    width: 100%;
  }

  .half{
    width: 50%;
  }
  
  
  @media (min-width: 700px){
  

    .full .half:nth-of-type(1){
      padding-right: 15px;
    }
  
    .full .half:nth-of-type(2){
      padding-left: 15px;
    }
  
  }

  .desktop{display:block;}
  
  .mobile{display:none;}
  
  @media (max-width: 700px){
  
    .desktop{display:none;}
    
	.mobile{display:block;}
	
    .half{
      width: 100%;
    }
  }

hr{
  position: relative;
  float: left;
  width: 100%;
  border: 0;
  margin-bottom: 5vw;
}

	@media (max-width: 700px){
	
		hr{
			margin-bottom: 50px;
		}
	
	}

.flex{
  display: flex;
  align-items: center;
}

.white, .white a{
  color: white;
}



.grayscale{
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

main, nav {
  position: relative;
  float: left;
  min-height: 101vh;
/*   width: 100vw; */
  width: 100%;
  padding: calc(10vw + 15px) 10vw;
  padding-bottom: 5vw;
}

  @media (min-width: 1800px){
  
    main,nav{
      padding: calc(10vw + 15px) 10vw;
      padding-bottom: 5vw;
    }
  
  }


.image-grid figcaption{
	opacity: 0;
}


.links{
	margin-top: 21px;
}
/*
@media (min-width: 1200px){
  
  main{
    padding: calc(7.5vw + 27px) 10vw;
  }

  .categories{
    margin-bottom: 2.5vw!important;
  }

}*/

@media (min-width: 700px){

  footer a{
	  margin: 0 5px;
  }

  footer a:nth-child(1){
  	  display:block;
	  clear: both;
  }
  

}

@media (max-width: 700px){

  main{
    padding: calc(20vw + 25px) 5vw;
  }
  
  footer{
  	  position: relative;
  	  float:left;
	  clear: both;
	  margin-bottom: 20px;
  }
  
  footer a:nth-child(1),
  footer a:nth-child(2){
  	  position: relative;
  	  float:left;
	  clear: both;
	  width: 100%;
	  text-align: center;
  }
  
  footer a:nth-child(3){
	  margin-right: 7px;
  }

}

footer{
	display: none;
}

footer,.footer{
  text-align: center;
  width: 100vw;
  padding: 5vw 10vw;
  padding-bottom: 2.5vw;
  line-height: 1.5;
}

.footer,footer.fixed{
  position: absolute;
  bottom: 0;
}





/* Index */


/* HOMEPAGE */

  .banner img,
  .banner video{
    position: absolute;
    top: 0;left: 0;
    width:100%;
    height: 100vh;
    object-fit: cover;
  }

  .banner{
    position: absolute;
    top: 0;left: 0;
    width:100%;
    height: 100vh;
  }


.post {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15vh;
  margin-bottom: 15vh;
}

  @media (max-width: 700px){
    
    .post{
      display: block;
      margin-bottom: 5vh;
    }


    .post .img{
      transform: scale(0.7);
      width: 100%;
      margin-right: 0!important;
      margin-bottom: 35px;
    }
    
    .post .links {
	    margin-top: 15px;
    }
    
    .post .grid:nth-child(1){
		display: flex;
		align-items: center;
		justify-content: center;
	    width: 100%;
    }

  }

  .post .img{
    width: 400px;
    height: 300px;
    background: #eee;
    margin-right: 70px;
  }

/* PRODUCTS */



.product {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15vh;
  margin-bottom: 15vh;
}


  @media (max-width: 700px){
    
    .product{
      display: block;
      margin-bottom: 5vh;
    }


    .product .img{
      transform: scale(0.7);
      width: 100%;
      margin-right: 0!important;
      margin-bottom: 35px;
    }
    
    .product .links {
	    margin-top: 15px;
    }




@media (min-width: 700px){

	.description{
		max-width: 400px;
	}

}

h3{
	margin-top: 21px;
}


/*  NEWS  */

.links{
	/*   margin-top: 1.25vw; */
/* 	margin-top: 21px!important; */
}

  .links a{
    position: relative;
    float: right;
    margin-right: 20px;
  }




/* PRACTICE */

.column{
  max-width: 700px;
  margin: 0 auto;
  display: block;
  float:none;
}

.half .grayscale{
	margin-bottom: 2.5vw;
}

.member{
  margin-bottom: 2.5vw;
}

.member img{
  padding: 5px;
  padding-right: 20px;
}

@media (max-width: 700px){

	.member{
		margin-bottom: 50px;
	}

	.member .grid{
		width: auto!important
	}
	
	.member img{
		max-width: 150px;
		padding-bottom: 20px;
	}
	
	.column h2{
		text-align: center;
		margin-top:30px;
		margin-bottom: 20px
	}

}


/* CONTACT */

.map{
  position: relative;
  float:left;
  width: 500px;
  height: 300px;
  margin-bottom: 10px;
}


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

@media (max-width: 700px){

  .maps{
    display: block;
  }

  .maps .grid{
    width: 100%;
    padding: 0!important;
    margin-bottom: 35px;
  }

  .map{
    width: 100%;
  }

  .map h5{
  }

}


/* Login */

#login{
	min-width: 350px;
	padding: 30px;
}

#login input{
	width: 100%;
}


#login input[type="email"],
#login input[type="password"]{
	border-bottom: 1px solid black;
	margin-top: 20px;
}



