body, html {
	font-family: 'EuclidSquare-Regular', sans-serif;
	font-size: 18px;
	color:#1E1E1E;
	background-color: #FFF;
	font-weight: 400;
	min-height: 100%;
	
	text-rendering: auto;
	text-rendering: optimizeLegibility;
	text-rendering: geometricPrecision;
	font-smooth: always;
	
	font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	
	  overflow-x: hidden;
}


html{
background-repeat: no-repeat;
background-position:top center;
	
-webkit-animation: fadein 1s; 
-moz-animation: fadein 1s; 
-ms-animation: fadein 1s; 
-o-animation: fadein 1s; 
animation: fadein 1s;	
	
}


 * {
	padding: 0px;
	margin: 0px;
}


a {
	color:#1E1E1E;
	transition: color 0.5s;
	text-decoration: none;
	position: relative;
	display: inline-block;
    
    
	
}

 a.active:after, .link_underline a:after{
    content: "";
    display: block;
    width: 100%;
    border-bottom: 1px solid;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    box-sizing: border-box;
    position: absolute;
}

a:hover{
	text-decoration:none;

}


p {
	 line-height: 1.4em;
     padding-bottom: 20px;
}



h1, h2, h3, h4, h5{ 
	font-family: 'EuclidSquare-Regular', sans-serif;
	font-weight: 400;
	font-feature-settings: 'clig' 0;
	font-style: normal; 
	line-height: 1.2em;
	color: #1E1E1E;
}



h1 {
	font-size: 34px;
	padding-bottom:15px;

}




h2 {

	font-size: 34px;
	padding-bottom:15px;
	line-height: 1.1em;
}

h3{

   font-size: 24px;

}


b, strong{
	font-family: 'EuclidSquare-Semibold', sans-serif;
}


p.mise_en_avant, .mise_en_avant p{
	font-size: 28px !important;
	line-height: 1.4em !important;
}

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


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


.rond{
		border-radius: 2000px;
}

.txt_right{
	text-align: right;
}
.txt_center{
	text-align: center;
}

.fleche_oblique{
 transform: rotate(-45deg);
	display: inline-block;
	font-size: 16px;
	margin-right: 5px;
}


table , iframe{
	width: 100%;
}

.clear {
	clear: both;
}

*:focus {
    outline: 0;
}




.myhr, hr{
	position: relative;
	width: 100% ;
	background-color: #1E1E1E;
	height: 1px;
	margin-top: 30px;
	margin-bottom: 30px;
	border: none;
}

/*[data-monoaos]{
	opacity: 0;
}*/


img:not([src]):not([srcset]) {
  visibility: hidden;
}

.lazy_alpha {
opacity: 0;
}
.lazy_alpha:not(.initial) {
transition: opacity 1.5s;
}
.lazy_alpha.initial,
.lazy_alpha.loaded,
.lazy_alpha.error {
opacity: 1;
}


/*/////////////LINKS  BTN /////////*/


.firstlink, .ajaxpopup {
	cursor: pointer;
}



/*/////////////VIDEOS  /////////*/
.backgroundimg iframe, .backgroundimg iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
}

.videobackcountainer{
	overflow: hidden;
}


/*/////////////CONTENT INSIDE CONTAINER  /////////*/

#content{
	position:relative;
	/*min-height: 200vh;*/
}


.inside{
     box-sizing: border-box;
	position: relative;
	margin: auto;
	width: 80vw;
	padding: 0px 0px;
	
}
.inside_home_logo{
     box-sizing: border-box;
	position: relative;
	margin: auto;
	width: 80vw;
	padding: 0px 0px;
	
}

.container ul li {
    list-style: none;
    padding-left: 25px;
    position: relative;
    margin-bottom: 10px;
}

.container ul li::before {
    content: "";
	width: 10px;
	height: 1px;
	background-color: #323232;
    font-size: 20px;
    line-height: 20px;
    position: absolute;
    top: 10px;
    left: 0px;
}

/*///////////// MENU /////////*/

#menu_barre{
	width: 100%;
	margin-top: 44px;
	position: fixed;
	z-index: 1;
}

#menu_barre .inside{
	display: flex;
	justify-content:space-between;
}

body.home #logo{
	opacity: 0;

}
body.home #logo.visible{
	opacity: 1;
}

 #logo_scroll{
	top: -80px;
	font-size: 34px;
}


 #logo_scroll.invisible{
	opacity: 0;
}

#menu{
	display: flex;
	align-items: center;
}

#nav {
	list-style: none;
	float: left;
		
}
#nav li {
	float: left;
		
}

#nav  li a{
	font-size: 22px;
	 margin-left: 40px;
		
}
#nav  li a:hover{

}

.lan_nav{
	list-style: none;
	float: left;
	margin-left: 40px;
}

.lan_nav li{
	float: left;
    font-size: 12px;
}
.lan_nav a{
	text-transform: uppercase;
	font-size: 12px;
	color: #1E1E1E;
}

.home #nav  li a,.home .lan_nav a,.home  #logo_scroll{
	color: #FFF;
}

#menu.black  #nav  li a, #menu.black .lan_nav a{
	color: #1E1E1E !important;
}

/*///////////// MENU SOUS /////////*/


#menu_sous{
	text-align: center;
	margin-bottom: 100px;
}

#menu_sous ul{
	display: inline-block;
	list-style: none;
}

#menu_sous ul li{
	float: left;
	padding: 0px 30px;
}
#menu_sous  a{
	font-size: 15px;
	border-bottom: 1px solid #FFF;
}


/*///////////// HOME /////////*/

.home_intro{
	width: 100%;
	height: 100vh;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}
.home_intro  img{
	height: auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80vw;
	position: relative;
}

.home_listing{
	margin-bottom: 100px;

}

.home_intro_texte{
	margin: 70px 0px;
	font-size: 28px;
}

/*///////////// PAGES /////////*/

.maincontent{
	margin-bottom: 50px
}
.page_image_intro{
	margin-bottom: 70px;
	width: 100%;
}

.page_intro p, .page_texte p{
  font-size: 18px;
  line-height: 26px;
}

.type_link{
	border-top: 1px solid;
	border-bottom: 1px solid;
	display: block;
	font-size: 14px;
	line-height: 58px;
	background-image: url('/img/fleche_right');
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 30px;
	margin-top: 30px;
	margin-bottom: 20px;
}

.type_link:after{
	border-bottom: 0px !important;
}

.type .col p {
	font-size: 14px;
}




.emploi_texte p{
	font-size: 14px;
}


.team_col{
	border-bottom: 1px solid;
	padding-bottom: 20px;
	margin-bottom: 10px;
}

.team_col *{
	font-size: 14px;
}

.team_img{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;	
	background-color: #D8D8D8;
}

.team_img:after{
	content: '';
	padding-top: 125%;
	display: block;


	margin-bottom: 20px;
}

/*///////////// PROJETS FILTRES /////////*/
.projets_filters{
	text-align: center;
	
}
.projets_filters a{
	margin: 0 30px;
	 font-size: 12px;
	
}
.projets_filters a.active{
	font-weight: 400;
	
}


/*///////////// PROJETS LISTING /////////*/

.projets_archive_listing  .listing h2 {
    font-size: 12px;
}

/*///////////// PROJETS DETAILS /////////*/

.projet_detail_intro_img{
	width: 100%;
	height: auto;
	
}

h1.projet_titre{
	
	font-size: 148px;
	width: 100%;
	padding: 0px 15px 110px 0px;
	box-sizing: border-box;
	text-align: left;
	margin-left: -5px;
}


.projet_detail_header_container{
    aspect-ratio: 1528 / 1006;
	position: relative;
}
.projet_detail_header {
	position: absolute;
	height: 100%;
	width: calc(100% + (100vw - 100%) / 2);
	top: 0px;
	right: 0px;
}
.projet_detail_header img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}


.projet_detail{
	margin-top: 70px;
}

.projet_info{
  font-size: 13px;
	line-height: 20px;
}

.projet_texte p{
	
	font-size: 18px;
	line-height: 26px;
}

.projet_legende{
	margin-top: 10px;
	font-size: 13px;
}

.projet_col_texte p{
	font-size: 58px;
	text-align: center;
	
}
.projet_col_texte {
	padding: 100px 0;
	
}


.projet_autres{
	margin-top: 20px;
	
}
.projet_type {
	padding-top: 16px;
}

.projet_type a{
	margin-right: 10px;
}

.projets_autres{
	margin-bottom: 80px;
	margin-top: 50px;
}

.citation_left{
	margin-left: 3px !important;
	
}

.citation_left p{
	text-align: left;
	position: relative;
	padding-left: 25px;
}
.citation_left p:before{
 content: '';
  position: absolute;
  left: 0px;
  height: calc(100% - 58px);
  top: 20px;
  width: 1.5px;
  background-color: #1E1E1E;
	
}

.citation_center p{
	position: relative;
	text-align: center;
}

.citation_center p:after{
   content: '';
  position: absolute;
  left: 50%;
  height: 1.5px;
  bottom: -20px;
  width: 218px;
  background-color: #1E1E1E;
	
	transform: translateX(-50%);
}



/*///////////// INFOS/////////*/


.section{
	min-height: 500px;
}


/*/////////////OPEN CLOSE/////////*/
.openclose_box{
	margin-bottom: 60px;
	
}

.openclose_box .openclose_boxtittle {

 font-size:13px;
 padding-top:16px;
 padding-bottom:16px;
 border-top: 1px solid;
 border-bottom: 1px solid;
 cursor:pointer
}
.openclose_box.opened .openclose_boxtittle {
 border-bottom: 0px ;
}



.openclose_boxitem {
 display:none;
 font-size:15px;
 padding:20px 0 20px 0
}

.openclose_box.opened .openclose_boxitem {
 display:block;
  border-bottom: 1px solid;
}

/*/////////////LISTING/////////*/

.listing img{
	margin-bottom: 20px;
}

.listing h2{
	font-size: 28px;
	padding-bottom: 10px;
}
.listing {
	font-size: 12px;
}



/*/////////////FLEX/////////*/
.container_flex{
	display: flex;	
	
}

.justify-between {
    justify-content: space-between;
}


/*/////////////COLONNE/////////*/


.container_col {
	position: relative;
    margin-left: -15px;
    margin-right: -15px;

}

.container_col_team {
	position: relative;
    margin-left: -45px;
    margin-right: -45px;

}

.container_page {
	position: relative;
	margin-top: 170px;

}

.col_block {
    text-align: center;
    margin-left: -15px;
    margin-right: -15px;
}

.col_block .col {
    display: inline-block;
    float: none;
    vertical-align: text-top;
    text-align: left;
}



.col{
	float: left;
	position: relative;
	margin: 15px;
	box-sizing: border-box;
}

.projet_detail .col{
	
	margin: 50px 15px;
}

body.projets_all  .col{
	margin: 50px 15px !important;
}

.col_team{
	float: left;
	position: relative;
	margin: 45px;
	box-sizing: border-box;
}

.col_1{
	width:calc(((100% - (12*30px))/12)*1);
}
.col_2{
	width:calc((((100% - (12*30px))/12)*2) + (1 * 30px));
}
.col_3{
	width:calc((((100% - (12*30px))/12)*3) + (2 * 30px));
}
.col_3_team{
	width:calc((((100% - (12*90px))/12)*3) + (2 * 90px));
}

.col_4{
	width:calc((((100% - (12*30px))/12)*4) + (3 * 30px));
}
.col_5{
	width:calc((((100% - (12*30px))/12)*5) + (4 * 30px));
}
.col_6{
	width:calc((((100% - (12*30px))/12)*6) + (5 * 30px));
}
.col_7{
	width:calc((((100% - (12*30px))/12)*7) + (6 * 30px));
}
.col_8{
	width:calc((((100% - (12*30px))/12)*8) + (7 * 30px));
}
.col_9{
	width:calc((((100% - (12*30px))/12)*9) + (8 * 30px));
}
.col_10{
	width:calc((((100% - (12*30px))/12)*10) + (9 * 30px));
}
.col_11{
	width:calc((((100% - (12*30px))/12)*11) + (10 * 30px));
}
.col_12{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}


.col_2 img,.col_3 img, .col_4 img, .col_8 img, .col_6 img, .col_12 img, .col_full img{
	width:100% !important;
	
}


.col_center *{
	text-align:center;	
}

.col_right{
	float:right !important;	
}


.separator {
    width: 100%;
	float: left;

}

.col_full{
	background-position: top center;
/*	background-position: center center;*/
	background-size: 100% auto;
	background-repeat: no-repeat;
	 background-attachment:fixed;
	 width:calc(100% - 30px);
	clear: both;
	margin: 15px 0px;
}

.col_full:after{
	display:block;
	content:"";
	padding-top: 45%;
}

.col_full img{
	display:none;	
}
.col_full_cover{
	background-size:cover !important;
	
}





/*///////////// KEY /////////*/

@keyframes fadein {
 from {
opacity: 0;
}
 to {
opacity: 1;
}
}

/* Firefox < 16 */
@-moz-keyframes fadein {
 from {
opacity: 0;
}
 to {
opacity: 1;
}
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
 from {
opacity: 0;
}
 to {
opacity: 1;
}
}

/* Internet Explorer */
@-ms-keyframes fadein {
 from {
opacity: 0;
}
 to {
opacity: 1;
}
}

/* Opera < 12.1 */
@-o-keyframes fadein {
 from {
opacity: 0;
}
 to {
opacity: 1;
}
}



/*///////////// RESPONSIVE /////////*/


p {
    font-size: 34px;
}
.home_intro_texte {
    font-size: 34px;
}	
#nav li a {
  font-size: 34px;
}
.listing h2 {
    font-size: 34px;
}
	
#logo{
	font-size: 34px;
}
	
.lan_nav {
   margin-top: 15px;
}	
	
#menu_sous a {
    font-size: 18px;
}


@media all and (max-width:1680px){

p {
    font-size: 28px;
}
.home_intro_texte {
    font-size: 28px;
}	
#nav li a {
  font-size: 28px;
}
.listing h2 {
    font-size: 28px;
}
#logo{
	font-size: 28px;
}
 #logo_scroll{
	font-size: 28px;
}
	
.lan_nav {
   margin-top: 10px;
}	
	

h1 {
	font-size: 28px;
}


h2 {

	font-size: 28px;
}
	
#menu_sous a {
    font-size: 15px;
}
	
	
}

@media all and (max-width:1278px){

p {
    font-size: 22px;
}
.home_intro_texte {
    font-size: 22px;
}	
#nav li a {
  font-size: 22px;
}
.listing h2 {
    font-size: 22px;
}
	
#logo, #logo_scroll{
	font-size: 22px;
}	
.lan_nav {
    margin-top: 6px;
}	
	
.projet_col_texte p {
    font-size: 48px;
}
	
	
h1.projet_titre {
    font-size: 100px;
}
	
	
}


@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  
.mobile{
	display: block;
}
.nomobile{
	display: none;
}	
.home_intro,.col_full {

 background-attachment: scroll; 

}

}

/* Portrait */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  
.mobile{
	display: block;
}
.nomobile{
	display: none;
}  
.home_intro,.col_full {

 background-attachment: scroll; 

}

}


@media all and (max-width:860px){	
.container_col_team {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
}	
.col_team{
	float: left;
	position: relative;
	margin: 15px;
	box-sizing: border-box;
}
	
.col_3_team {
   width:calc((((100% - (12*30px))/12)*4) + (3 * 30px));
}
	
	
}


@media all and (max-width:810px){	
	
.mobile{
	display: block;
}
.nomobile{
	display: none;
}
	
.inside {
    box-sizing: border-box;
    position: relative;
    margin: auto;
    width: 100%;
    padding: 0px 15px;
	overflow: hidden;
}

.inside_home_logo {
    box-sizing: border-box;
    position: relative;
    margin: auto;
    width: 100%;
    padding: 0px 15px;
}
	
#logo span{
	display: none;
}	

	
#nav li a {
    margin-left: 20px;
}
	
.lan_nav{
	margin-left: 20px;
	margin-top: 4px;
}
	
#menu_sous ul li {
    padding: 0px 10px;
}
	
.projets_filters a {
    margin: 0 10px;
}
	

	
	
p {
    font-size: 18px;
}
.home_intro_texte {
    font-size: 18px;
}	
#nav li a {
  font-size: 18px;
}
.listing h2 {
    font-size: 18px;
}
	
	
#logo, #logo_scroll{
	font-size: 18px;
}	
	
	
.home_intro,.col_full {

 background-attachment: scroll; 

}
	
	
h1.projet_titre {
    font-size: 40px;
}	
	
.projet_col_texte p {
    font-size: 34px;
}
	
.projet_detail .col{
	
	margin: 30px 0px;
    width: 100%;
}
body.projets_all  .col{
	margin: 30px 0px !important;
   width: 100%;
}
	
.col_1{
	width:calc(((100% - (12*30px))/12)*1);
}
.col_2{
	width:calc((((100% - (12*30px))/12)*6) + (5 * 30px));
}
	
	
	
.col_3{
	width:calc((((100% - (12*30px))/12)*6) + (5 * 30px));
}

.col_4{
	width:calc((((100% - (12*30px))/12)*6) + (5 * 30px));
}
.col_5{
    width:calc((((100% - (12*30px))/12)*6) + (5 * 30px));
}
	
.projets_listing .col_3,	.projets_listing .col_4, .projets_listing .col_5{
		width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.projet_detail .col_3,	.projet_detail .col_4, .projet_detail .col_5{
		width:calc((((100% - (12*30px))/12)*12) + (11 * 30px)) !important;
}	
	
.col_6{
		width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_7{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_8{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_9{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_10{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_11{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
.col_12{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
	
	
.container_flex {
    flex-flow: column;
}

.container_flex .col_3, .container_flex .col_4, .container_flex .col_5,.container_flex .col_6{
		width: 100%;
	margin-bottom: 30px;
}

	
	
.home_listing {
    margin-bottom: 0px;
}
	
.projet_col_texte {
    padding: 0px;
}
.openclose_box {
    margin-bottom: 30px;
}
.type_link {
    margin-top: 0px;
}
	
.team .col.col_12{
		margin: 0px;
}
	
.emploi .col.col_4{
	width:calc((((100% - (12*30px))/12)*12) + (11 * 30px));
}
	
.container_page {

   /* margin-bottom: 160px;*/
}
	
p.mise_en_avant, .mise_en_avant p{
	font-size: 24px !important;
}
	
.type .col p, .type_link {
    font-size: 16px !important;
}

	
a.active::after, .link_underline a::after {
    bottom: 1px;
}	

#nav li a.active::after{
	bottom: 0px;
	}
	
.projet_detail_header{
	width: 100%;
}
.col_right.infos_projet{
display: none;
}

.col_right.infos_projet.mobile{
display: block;
}
	
}
	

