

/* CSS Document */


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	}



body {
	font-size: 16px;
	color:#222;
    background: #222;
    margin: 0 auto;
	padding: 0;
    }

*::-moz-selection {
	background-color:#222;
	background-position:initial initial;
	background-repeat:initial initial;
	color:#ffffff;
	}

::selection {
	background-color:#222;
	background-position:initial initial;
	background-repeat:initial initial;
	color:#ffffff;
	}

h1 { 
	font-family: 'Didot';
	font-weight:normal;
	font-size:3.5em;
	line-height:1.1em;
	padding: 0 125px 20px 125px;
	max-width:1100px;
	}  

h2 { 
	font-family: 'DIN-LightRegular';
	font-size:1.1em;
	text-align:left;
	line-height:2em;
	padding: 0 0 100px 125px;
	max-width:660px;

} 

h3 { 
	font-family: 'Didot';
	font-size:2.5em;
	color:#FFFFFF;
	text-align:center;
	line-height:1em;

}

h4 { 
	font-family: 'Didot';
	font-size:2em;
	line-height:1em;
	padding: 100px 0 20px 125px;

}



/* ---------------------------------------------------------------------- CONTAINER ---------------------------------------------------------------------- */

.container {
    width: 90%;
    height: 100%;
	background-color:#fff;
	max-width:1800px;
    }



/* ------------------------------------------------------------------------ HEADER ------------------------------------------------------------------------ */

.header {
	padding: 100px 0;
	}

	
/* --------------------- LOGO --------------------- */


.logo {
	margin:0 0 140px 100px;
	width:100px;
	}

	
#logo-svg {
	width:100px;
	height:100px;
	}

	
.lettre-j, .lettre-l {
	-webkit-transition:All .8s ease;
	-moz-transition:All .8s ease;
	-o-transition:All .8s ease;	
	}
	
	
.logo:hover .lettre-j {
	-webkit-transform: translate(-10px, 40px);
	-moz-transform: translate(-10px, 40px);
	-o-transform: translate(-10px, 40px);
	transform: translate(-10px, 40px);
	}	
	
.logo:hover .lettre-l {
	-webkit-transform: translateX(10px);
	-moz-transform: translateX(10px);
	-o-transform: translateX(10px);
	transform: translateX(10px);
	}	

	
.logo-safe {
         background: url(../img/logo.png);
         width: 110px;
         height: 110px;
     }		



/* --------------------- NAV --------------------- */	


.cl-effect-4 a {
	padding: 0 0 10px;
}


.cl-effect-4 a::after {
	position: absolute;
	top: 100%;
	left: 25%;
	width: 0;
	height: 2px;
	background: #222;
	content: '';
	opacity: 0;
	-webkit-transition: width 0.5s, opacity 0.5s, -webkit-transform 0.5s;
	-moz-transition: width 0.5s, opacity 0.5s, -moz-transform 0.5s;
	transition: width 0.5s, opacity 0.5s, transform 0.5s;
	-webkit-transform: translateX(10px);
	-moz-transform: translateX(10px);
	transform: translateX(10px);
}


.cl-effect-4 a:hover::after,
.cl-effect-4 a.active::after,
.cl-effect-4 a:focus::after {
	width: 50%;
	opacity: 1;
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	transform: translateX(0px);
}


nav.cl-effect-4 {
	text-align:center;
	margin:4% 0;
}


nav a {
	position: relative;
	display: inline-block;
	margin: 0 0 0 25px;
	outline: none;
	font-family: 'Didot';
	color: #333;
	text-decoration: none;
	font-weight: normal;
	font-size: 1.15em;
}


nav a:hover,
nav a:focus {
	outline: none;
}


/* ------------------------------------------------------------------------ FOOTER ------------------------------------------------------------------------ */

.footer {
	position:fixed;
	left:48%;
	bottom:8%;
	font-family: 'Didot';
	font-size:1em;
    }

	

/* ----------------------------------------------------------------------- HOMEPAGE ----------------------------------------------------------------------- */





	
.vignette {
	width: 25%;
	margin: 0;
	display: inline-block;
	padding: 0;
	position: relative;
	border: 0;
	background:#000000;
	}	
	
	 .vignettebis a {

	 position:absolute;
	 }
	 
	
 .vignettebis img {
	 width:100%;
	 height:100%;
	 position:relative;
	 
	 }	
	 
	 
.vignettebis {
	width: 25%;
	height:360px;
	margin: 0;
	display: inline-block;
	padding: 0;
	border: 0;
	background:red;
	}		 
	  

	
.box-hover {
	position: absolute;  
	background: no-repeat rgba(0, 0, 0, 0.5);
	top: 0;
	right:0;
	opacity: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-moz-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-o-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);      
	}	
	
	
.vignette:hover .box-hover {
	opacity: 1;
	}
		
	
		

.box .info {
	background: no-repeat rgba(0, 0, 0, 0.5);
	opacity: 0;
	-webkit-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-moz-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-o-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
    left: 0;    
	top: 0;
    position: absolute;    
	height:100%;
	width:100%;
	text-align:center;
	padding:45% 0;
	margin:0;
	}

	
.box:hover .info {
	opacity: 1;
	}
	

	
.box .text {   
	position: absolute;
	width: 75%;
	height: auto;
	top: 50%;
	left: 50%;
	border:0;
	text-align: center;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	}


.box .title {
	font-family: 'Didot';
	text-rendering: optimizeLegibility;
	color: #fff;
	text-transform:uppercase;
	font-size:3em;
	line-height:1em;
	letter-spacing:0px;
	}

	
.box .type {
	font-family: 'Didot-italic';
	padding-top:10px;
	color: #ababab;
    font-size:1.1em;
    letter-spacing:0px;
	text-transform:none;
	}	
	



	

.images-projet {
	width:100%;
	max-width:1800px;
	margin: -5px 0;
	}
		
.liens-projet {
	text-align:left;
	margin:150px 0 150px 100px;
	}
	
	
a.lien {
	font-family: 'Didot';
	font-weight:normal;
	font-size:3em;
	color:#000;
	margin: 0 10px;
	position:relative;
	z-index:24;
	color:#000;
	text-decoration:none
	}
	
 
a.lien:hover{
	z-index:25;
	}
 
a.lien span{
	display: none
	}
 
a.lien:hover span{
	display:block;
	position:absolute;
	bottom:35px; left:-40px; width:130px;
	color:#000;
	text-align: center;
	font-weight:none;
	}
	
	
	
/* ------------------------------------------------------------------ RESPONSIVE DESIGN ------------------------------------------------------------------ */

/*  ------------------------------------------ Mobile device ------------------------------------------ */



@media only screen and (min-width: 320px) and (max-width : 480px) {

.container {
    width: 100%;
	background-color:#fff;
    }



.header {
	padding: 60px 0;
	margin:0;
	}



.logo {
	margin:0 auto;
	text-align:center;
	width:100px;
	}


h1 { 
	font-family: 'Didot';
	font-weight:normal;
	font-size:1.6em;
	line-height:1.1em;
	padding: 0 40px 20px 40px;
	}  
	

h2 { 
	font-family: 'DIN-LightRegular';
	font-size:1.1em;
	text-align:left;
	line-height:1.6em;
	padding: 0 40px 60px 40px;

} 


h4 { 
	font-family: 'Didot';
	font-size:2em;
	line-height:1em;
	padding: 60px 40px 20px 40px;

}
	
.liens-projet {
	text-align:left;
	margin:100px 0 100px 40px;
	}	
	
}


/*  ------------------------------------------ Tablette device ------------------------------------------ */

@media only screen and (min-width: 481px) and (max-width : 768px) {
		
.container {
    width: 100%;
	background-color:#fff;
    }



.header {
	padding: 60px 0;
	margin:0;
	}



.logo {
	margin:0 auto;
	text-align:center;
	width:100px;
	}


h1 { 
	font-family: 'Didot';
	font-weight:normal;
	font-size:1.8em;
	line-height:1.1em;
	padding: 0 45px 20px 45px;
	}  
	

h2 { 
	font-family: 'DIN-LightRegular';
	font-size:1.1em;
	text-align:left;
	line-height:1.6em;
	padding: 0 45px 60px 45px;

} 


h4 { 
	font-family: 'Didot';
	font-size:2em;
	line-height:1em;
	padding: 60px 45px 20px 45px;

}
	
.liens-projet {
	text-align:left;
	margin:100px 0 100px 45px;
	}		
	
}

/*  ------------------------------------------ Laptop device ------------------------------------------ */

@media only screen and (min-width: 769px) and (max-width : 1281px) {
	
	
	h1 { 
	font-family: 'Didot';
	font-weight:normal;
	font-size:2.6em;
	line-height:1.1em;
	padding: 0 70px 20px 70px;
	} 
	
	h2 { 
	font-family: 'DIN-LightRegular';
	font-size:1.1em;
	text-align:left;
	line-height:1.6em;
	padding: 0 70px 60px 70px;

} 

h4 { 
	font-family: 'Didot';
	font-size:2em;
	line-height:1em;
	padding: 60px 70px 20px 70px;

}
	
	.logo {
	margin:0 0 0 60px ;
	text-align:center;
	width:100px;
	}	
	
	.liens-projet {
	text-align:left;
	margin:100px 0 100px 70px;
	}
	
}



.grid-gallery ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grid-gallery figure {
	margin: 0;
}

.grid-gallery figure img {
	display: block;
	width: 100%;
}

.grid-gallery figcaption h3 {
	margin: 0;
	padding: 48% 0;
}

.grid-gallery figcaption p {
	margin: 0;
}

/* Grid style */

#grid-gallery {
padding: 100px 0 0 0;
}


.grid-wrap {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.grid {
	margin: 0 auto;
}

.grid li {
	width: 33.33%;
	float: left;
	position:relative;
	cursor: pointer;
}

.grid figure {
	padding: 0;
	
}

.grid li:hover figure figcaption {
	opacity: 1;
}

.grid figcaption {
	background:rgba(0,0,0,0.7);
	opacity: 0;
	top:0;
	position: absolute;
	width:100%;
	height: 100%;
	-webkit-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-moz-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	-o-transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);
	transition: all 1100ms cubic-bezier(0.230, 1.000, 0.320, 1.000);   
}



/* Example media queries (reduce number of columns and change slideshow layout) */


@media screen and (max-width: 35em) {
	.grid li {
		width: 100%;
	}
}

@media screen and (max-width: 24em) {
	.grid li {
		width: 100%;
	}
}


h1 > a {
  position: relative;
  color: #222;
  text-decoration: none;
}

h1 > a:hover {
  color: #222;
}

h1 > a:before {
  content: "";
  position: absolute;
  width: 98%;
  height: 3px;
  bottom: 2px;
  left: 2px;
  background-color: #b69853;
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s;
}

h1 > a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(0.8);
  transform: scaleX(0.8);
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s;
}


h2 > a {
  position: relative;
  color: #222;
  text-decoration: none;
}

h2 > a:hover {
  color: #222;
}

h2 > a:before {
  content: "";
  position: absolute;
  width: 98%;
  height: 2px;
  bottom: -4px;
  left: 2px;
  background-color: #b69853;
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s;
}

h2 > a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(0.8);
  transform: scaleX(0.8);
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0s;
  transition: transform 0.3s ease-in-out 0s;
}


