
/************************************ BODY & GENERAL ********************************
************************************************************************************/
html {scroll-behavior:smooth !important;}

html,body {
	
    overflow-x: hidden;
	width: 100%;
    height: 100%;
    padding: 0px;
	margin:0px;
	font-family: 'Muli', sans-serif;
	font-size:1em;
	font-weight:300;
	color:#686868;
	
}




a{
	text-decoration:none;
}


.contactez_nous {
	display:flex !important;
	flex-direction:column;
}

.icon_et_texte {
	display:flex !important;
	flex-direction:row;
	align-content:center;
	align-items:center;
}

.icon_et_texteimg {
	width:20px !important;
	height:20px !important;
	margin-right:10px !important;
}

.gallery_container {
	
	display:flex; 
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-top:50px;
	margin-bottom:50px;
	
}

.gallery_container img {
	width:300px !important; 
	height:300px !important;
	
}
/************************************ NAV ******************************************
************************************************************************************/

.header a {
  color: #686868;
  font-family: 'Muli', sans-serif;
  font-weight:300;
}


.header {
  background-color: #fff;
  position: fixed;
  width: 100%;
  z-index: 3;
  box-shadow: 0px 5px 15px rgba(0,0,0,0.5);
}

.header ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: #fff;
}

.header li a {
  display: block;
  padding: 20px 20px;
  border-right: 1px solid #f4f4f4;
  text-decoration: none;
}

.header li a:hover,
.header .menu-btn:hover {
  background-color: #f2f2f2;
}

.header .logo {
  display: block;
  float: left;
 width:50px;
 margin-left:10px;
 margin-top:5px;
}


/* menu */

.header .menu {
  clear: both;
  max-height: 0;
  transition: max-height .2s ease-out;
}

/* menu icon */

.header .menu-icon {
  cursor: pointer;
  display: inline-block;
  float: right;
  padding: 28px 20px;
  position: relative;
  user-select: none;
}

.header .menu-icon .navicon {
  background: #333;
  display: block;
  height: 2px;
  position: relative;
  transition: background .2s ease-out;
  width: 18px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

.header .menu-icon .navicon:before {
  top: 5px;
}

.header .menu-icon .navicon:after {
  top: -5px;
}

/* menu btn */

.header .menu-btn {
  display: none;
}

.header .menu-btn:checked ~ .menu {
  max-height: 240px;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}



@media (min-width: 50em) {
  .header li {
    float: left;
  }
  .header li a {
    padding: 20px 30px;
  }
  .header .menu {
    clear: none;
    float: right;
    max-height: none;
  }
  .header .menu-icon {
    display: none;
  }
}

/************************************ PRELUDE STYLES, MAIN PAGES TITLES *************
************************************************************************************/

.prelude {
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	background-image:url(images/background_1.svg);
	background-color:#00D974;
	background-size: cover;
    background-repeat: repeat;
	background-position: top center;
    background-attachment: fixed;
	width:100%;
	height:100vh;	
}

.prelude_content {
	margin-top:100px;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	width:80%;
	
}

.prelude2 {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background-image:url(images/background_1.svg);
	background-color:#00D974;
	background-size: cover;
    background-repeat: repeat;
	background-position: top center;
    background-attachment: fixed;
	width:100%;
	height:100vh;	
}

.prelude2_content {
	margin-top:100px;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	width:80%;
	
}

.title {
	margin-bottom:30px;
}

.main_illustration {
	width:400px;
	
}

.float {
	
	transform: translatey(0px);
	animation: float 5s ease-in-out infinite;
}
/************************************ FLOAT *****************************************
************************************************************************************/

@keyframes float {
	0% {
		
		transform: translatey(0px);
	}
	50% {
		
		transform: translatey(-20px);
	}
	100% {
		
		transform: translatey(0px);
	}
}

/************************************ hn et styles de polices ***********************
************************************************************************************/

h1 {
	font-family: 'Teko', sans-serif;
	text-transform: uppercase;
	color:white;
	font-size:2.8em;
	line-height:40px;
}

h1 p{
	font-family: 'Montserrat', sans-serif;
	font-weight:300;
	text-transform: uppercase;
	font-size:0.4em;
	line-height:0px;
}

.slogan {
	font-family: 'Roboto Slab', serif;
	font-weight:200;
	color:#3D3D3D;
	font-size:2.2em;
}

.focus_text {
	font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 16px;
}

h2{
	font-family: 'Teko', sans-serif;
	text-transform: capitalize;
	font-size:2.8em;
	color:#00D974;
	margin-bottom:0px;	
	margin-top:0px;
}

.h2_underline + p{
	font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 16px;
	color:#0E4F54;

}

.h2_underline{
	display:flex;
	flex-direction:column;
	width:auto;
	justify-content:center;
	line-height:40px;
}
.h2b {
	display:flex;
	justify-content:center;
}

h3 {
	font-family: 'Teko', sans-serif;
	text-transform: uppercase;
	font-size:20px;
	color:#00D974;
	margin-bottom:0px;	
	margin-top:0px;
	line-height:20px;
}
.h3a {
	font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 16px;
	color:#0E4F54;

}

.h3b {
	font-family: 'Teko', sans-serif;
	text-transform: uppercase;
	font-size:20px;
	color:white;
	margin-bottom:0px;	
	margin-top:0px;
	line-height:20px;
}
	
.light_green_underline{
	height:3px;
	width:50px;
	background-color:#00D974;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:30px;

} 

.white_underline{
	height:3px;
	width:50px;
	background-color:white;
	margin-left:auto;
	margin-right:auto;
	margin-top:10px;
	margin-bottom:20px;

}
.font_dark_green {
	color: #0E4F54;
}

.font_white {
	color:#CCCCCC !important;
}

.text_titre {
	    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 13px;
}

.h4a{
	line-height:10px;
	display:inline;
}
	
/*******************************************************BACKGROUNDS & COLORS FILLER ***************************************
****************************************************************************************************************/

.dark_green {
	background:#0E4F54;
	color:#CCCCCC;
}

.green_gradient {
	background:linear-gradient(to right, #00D974, #0E4F54);
	color:white;
}

.bg_2 {
	background-image:url('images/bg_2.jpg');
}

.bg_1 {
	background-image:url('images/bg_1.jpg');
	background-size:cover;
	background-position:center;
}

.bg_3 {
	background-color:rgba(0,0,0,0.3);
	padding:10px;
}

.bg_sols_pollues {
	background-image:url('images/bg_sols_pollues.jpg');
	background-size:cover;
	background-position:center;
	
}
/************************************ CTAs STYLES ***********************************
************************************************************************************/

.CTA1 {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color:white;
	background:#0E4F54;
	padding: 20px;
	font-size:16px;
	border-radius: 5px;
	display: inline-block;
	border: none;
	transition: all 0.4s ease 0s;
}

.CTA1:hover {
	background: #434343;
	letter-spacing: 1px;
	-webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	-moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
	transition: all 0.4s ease 0s;
}

.CTA1:active {
	background: #434343;
	letter-spacing: 1px;
	-webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	-moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
	transition: all 0.4s ease 0s;
}

.CTA2 {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color:white;
	background:#EDA002;
	padding: 10px;
	font-size:16px;
	border-radius: 5px;
	display: inline-block;
	border: none;
	transition: all 0.4s ease 0s;
	margin-top:10px;
	margin-bottom:10px;
}

.CTA2:hover {
	background: #00D974;
	letter-spacing: 1px;
	-webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	-moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
	transition: all 0.4s ease 0s;
}

.CTA2:active {
	background: #00D974;
	letter-spacing: 1px;
	-webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	-moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
	box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
	transition: all 0.4s ease 0s;
}

.CTA3 {
	margin-top: auto;
	border:solid 1px #0E4F54;
	color:#0E4F54;
	padding:5px;
	text-transform:uppercase;
}

.CTA3:hover {
	color:#00D974;
	border:solid 2px #00D974;
	letter-spacing: 1px;
	transition: all 0.4s ease 0s;
}

.CTA3:active {
	color:#00D974;
	border:solid 2px #00D974;
	letter-spacing: 1px;
	transition: all 0.4s ease 0s;
}

.CTA4 {
	border:solid 1px #00D974;
	color:#00D974;
	padding:5px;
	text-transform:uppercase;
	margin-top:auto;
	margin-bottom:20px;
}

.CTA4:hover {
	color:white;
	border:solid 2px white;
	letter-spacing: 1px;
	transition: all 0.4s ease 0s;
}

.CTA4:active {
	color:white;
	border:solid 2px white;
	letter-spacing: 1px;
	transition: all 0.4s ease 0s;
}

.CTA_container{
	margin-top:auto;
}

.CTA5 {
	
	border:solid 1px #0E4F54;
	color:#0E4F54;
	padding:5px;
	text-transform:uppercase;
	width:102px;
}

.CTA5:hover {
	color:#00D974;
	border:solid 1px #00D974;
	
}

.CTA5:active {
	color:#00D974;
	border:solid 1px #00D974;
	
}
/***********************************************BANDEAUX *****************************/

.bandeau{

	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-around;
	align-content:center;
	width:100%;
}

/************************************************CONTAINERS ARTICLES SECTIONS  MISE EN PAGE ***********************/

.logos_clients {
	display:flex;
	flex-direction:row;
	margin-bottom:30px;
	width:90%;
	flex-wrap:wrap;
	justify-content:center;
}

.logo_client_imgv {
	height:100px;
	padding:10px;
}
.logo_client_imgh {
	width:200px;
	padding:10px;
}

.container {
	width:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	align-content:center;
}

.content {
	width:80%;
	margin-bottom:20px;
	margin-top:20px;
}

.section_title {
	
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-top:50px;
	margin-bottom:50px;
	
}



.section_title p {
	width:50%;
	margin:0px;
}

.four_children {
	display: flex;
    flex-direction: row;
    justify-content: space-around;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 50px;
}

.four_columns {
	width: 250px;
    padding: 40px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
	text-align:center;
}

.two_children {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 30px;
}

.two_columns {
	width: 46%;
    display: flex;
    flex-direction: column;
    padding: 15px 15px;
}



/******************************** STYLES DES IMAGES ET ELEMENTS GRAPHIQUES *********************************/

.four_columns img {
	width:150px;
	height:150px;
	border-radius:75px;
	margin-bottom:20px;
}



.img_qui_sommes_nous {
	width: 100%;
    height: auto;
	margin-bottom:20px;
}

.rounds_container {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin: 10px 0px;
	color:#CCCCCC;
	font-family:'Montserrat' ,sans-serif;
}
  
 .round_text_container {
	 display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    width: 110px;
}

.round_container{
	border-radius: 50%;
    border: solid 5px #EDA002;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
	justify-content:center;
	font-weight:600;
}


.img_link_expertise {
	border: solid 3px white;
	padding:5px;
	border-radius:50% !important;
}

.text_img {
	display: flex;
    flex-direction: row;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 30px;
	
}	

.bg_img1{
	background-image: url(images/foreuse.jpg);
    width: 35%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	
}

.bg_img2{
	background-image: url(images/foreuse_boue.jpg);
    width: 35%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	
}

.text_af_img {
	width:65%;
	padding-left:10px;
}

.m_bottom {
	margin-bottom:30px;
}

/************************************ FORMULAIRE & CONTACT **************************/




#Layer_1:hover .in_blue {
	fill:#00D974;
}

.formulaire {
	width:300px;
	padding:20px;
	display:flex;
	flex-direction:column;
	box-shadow: 10px 5px 5px rgba(0,0,0,0.3);
	outline:none;
	margin-bottom:50px;
	
}

.form_width {
	width:100%;
	margin-bottom:20px;
	border:solid 1px #0E4F54;
}

input[name=email] {
	height:30px;
	padding:3px;
	outline:none;
}

.form_width:focus {
	border:solid 1px #00D974;
}

textarea {
	height:100px;
	outline:none;
	padding:3px;
}	

input[type=submit] {
	margin-top: auto;
	color:white;
	padding:5px;
	text-transform:uppercase;
	outline:none;
	background-color:#EDA002;
	margin:0 auto;
	border: none;
outline:none;
}

input[type=submit]:hover {
	color:white;
	background-color:#00D974;
	cursor:pointer;

}

input[type=submit]:active {
	color:white;
	background-color:#0E4F54;
	cursor:pointer;
}

/************************************************ LOI ELAN *************************************************/

.div_3children{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
}

.child_of3{
	padding:5px;
	margin-top:15px;
	margin-bottom:15px;
	min-width:300px;
	display:flex;
	flex-flow:column;
	align-items: center;
}
	
.terre {
	width:100px;
	margin-bottom:15px;
}

.etape {
	max-width:320px;
	min-width:320px;
	padding:5px 10px;
	border:solid 2px #686868;
	border-radius:15px;

}

.etape_finale {
	max-width:320px;
	min-width:320px;
	padding:5px 10px;
	border:solid 2px #00D974;
	border-radius:15px;

}

p img {
	width:20px;
	vertical-align:top;
	margin-right:5px;
}

.elan_link {
	color:#00D974;
	text-decoration:underline;
}

.arrow {
	width:20px;
}

/**************** NOTRE EXPERTISE ENTETE *****************/

.notre_exp_4children{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	width:80%;
}

.notre_exp_4children p{
	color:white;
	font-weight:;
}

.notre_exp_4children p:hover{
	color:white;
	font-weight:bold;
}


.module {
  position: relative;
  width:140px;
  height:140px;
  display:flex;
  flex-flow:column;
  justify-content:center;
  margin-bottom:10px;
 
}
.module::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 140px; height: 140px;
  background-image: url(images/ph4.jpeg);
  filter: grayscale(100%);
  border-radius:50%;
  border: solid 1px white;
}

.module:hover::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 140px; height: 140px;
  background-image: url(images/ph4.jpeg);
  filter: grayscale(0%);
   border-radius:50%;
   border:solid 2px white;
   font-weight:bold;
}
.module-inside {
  /* This will make it stack on top of the ::before */
  position: relative;
  text-align:center;
}
	
	
/************************************** FOOTER SPECIFIC *********************************/

.footer_specific a {
	text-decoration:underline;
	text-transform:uppercase;
	color:#CCCCCC;
}

.footer_specific a:hover {
	text-decoration:underline;
	text-transform:uppercase;
	color:#00D974;

}

.footer_specific a:active {
	text-decoration:underline;
	text-transform:uppercase;
	color:#00D974;

}

.footer_specific a:visited {
	text-decoration:underline;
	text-transform:uppercase;
	color:#CCCCCC;
}

p[class=footer_specific] img {
	width:15px;
	vertical-align: top;
    margin-right: 5px;
}
	
.footer_specific2{
	color:#CCCCCC;
	font-size:13px;
	padding:10px;
	text-decoration:underline;
}
/***********************************************************************************
************************************ RESPONSIVE ************************************
************************************************************************************
************************************************************************************/

@media (max-width: 800px) {
	
	
	.prelude {
		height:auto;
	}
	
	.prelude_content {
	margin-top:100px;
	display:flex;
	flex-direction:column-reverse;
	align-items:center;
	justify-content:center;
	width:90%;	
	margin-bottom:30px;
	}
	
	.title{
		display:flex;
		flex-direction:column;
	}
	
	.main_illustration {
		width:250px;
	}
	
	h1 p{
	font-family: 'Montserrat', sans-serif;
	font-weight:300;
	text-transform: uppercase;
	font-size:16px;
	line-height:0px;
	text-align:center;
	}
	
	
	h1 {
	text-align: center;
	}
	
	.slogan {
	font-size:30px;
	text-align:center;
	}
	
	.CTA_container {
	display:flex;
	justify-content:center;
}

.bandeau{

	width:100%;
	text-align:center;
}

.content {
width:90%}

.section_title {
	
	display:flex;
	flex-direction:column;
	align-items:center;
	flex-wrap:wrap;
	
}

.section_titleb {
	
	position:relative;
	margin-left:50%;
	margin-right:50%;
	margin-top:50px;
	justify-content:center;
	
}

.section_title h2 {
	width:100%;
	line-height:40px;
	text-align:center;
}

.section_title p {
	width:100%
}

.h2_underline{
	margin-bottom:20px;
}

.four_columns {
	width: 100%;
	padding: 40px 0px;
}

.two_children {
	display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 30px;
	
}

.two_columns {
	width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0px;
}

.formulaire {
	width:85%;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	
}
.div_3children{
	justify-content:center;
}
}


