/* --------------------------------------------------

   GLOBAL LAYOUT
   
-------------------------------------------------- */

html,
body,
#wrap {
	width:100%;
	height:100%;
}

body {
	background-color:#eee;
}

#covr,
#head,
#over,
#main,
#main-calques,
#main-flat,
#foot {
	position:relative;
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
}
#covr { z-index:100; }
#head { z-index:200; }
#over { z-index:250; }
#main, #main-flat, #main-calques { z-index:400; }
#foot { z-index:450; }

#covr {
	width:100%;
	background-color:#000;
}
#head {
	height:80px;
	padding:0 50px;
}
#over {
	display:none;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(17,17,17,.55);
}
#main {
	margin:0 auto;
	max-width:1080px;

    background: rgba(255,255,255,0.88);
    color: black;
    box-shadow: -1px 2px 5px 1px rgba(255,255,255,0.60);
    
}

#main-flat {
	margin:0 auto;
	max-width:1080px;
    color: black;    
}

#main-calques {
	margin:0 auto;
	max-width:350px;

    
    /*right: 200px;
    width: 400px;
    height: 800px;
    top: 50px;*/
    background: rgba(255,255,255,0.88);
    color: black;
    box-shadow: -1px 2px 5px 1px rgba(255,255,255,0.60);
    
}

#foot {
	margin:0 auto;
	max-width:1080px;
}
.clear{
	clear:both;
}




/* --------------------------------------------------

   GLOBAL LOADING
   
-------------------------------------------------- */

#global-loading {
	width:100%;
	height:100%;
	
	z-index:1337;
	position:fixed;
	top:0;
	left:0;
	
	background-color:#eee !important;
}
#global-loading-img {
	width:24px;
	height:24px;
	position:absolute;
	top:50%;
	left:50%;
	margin:-12px 0 0 -12px;
	background-image:url(img/loading.gif);
	background-repeat:no-repeat;
	background-position:0 0;
}

/* -------------------------
	.dark | .covr-full-page
------------------------- */

.dark #global-loading,
.covr-full-page #global-loading {
	background-color:#111 !important;
}
.dark #global-loading-img,
.covr-full-page #global-loading-img {
	background-image:url(img/loading-dark.gif);
}





/* --------------------------------------------------

	#HEAD
   
-------------------------------------------------- */


#head {
	text-transform:uppercase;
}
#head:after {
	content:'.';
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.has-covr #head {
	background-color:#fff;
}
.dark #head {
	background-color:#222;
}
.dark.home #head {
	background-color:#111;
}

/* (body.covr-full-page)
------------------------------- */

.covr-full-page #head {
	position:absolute;
	top:0;
	left:0;
	right:0;
	
	background:transparent;
}
.dark #head a,
.covr-full-page #head a {
	/*color:#fff;*/
    color:#cf0564;
	text-shadow:0 1px 1px rgba(0,0,0,.3);
}
.dark #head a:hover,
.dark #head .current a,
.covr-full-page #head a:hover,
.covr-full-page #head .current a {
	border-color:#cf0564;
}

/* (.covr-as-backgd)
------------------------------- */

.covr-as-backgd #head {
	position:fixed;
	top:0;
	left:0;
	right:0;
}

/* -------------------------------
	a
------------------------------- */

#head a {
	display:block;
	padding:0 2px 6px;
	
	color:#000;
	line-height:68px;
	text-decoration:none;
	
	border:0 solid transparent;
	border-width:6px 0 0 0;
	outline: none;

	-webkit-transition:border-color .8s ease-in-out;
}
#head a:hover,
#head .current a {
	border-color:#cf0564;
	-webkit-transition:border-color .6s ease-out;
}

/* -------------------------------
	#logo
------------------------------- */

#logo {
	margin:0;
	padding:0;
	
	float:left;
	
	font-family:'Abel',Arial,sans-serif;
	font-weight:300;
	font-size:1.615384em; /* = 21px */
	
	text-transform:uppercase;
	white-space:nowrap;
}

/* -------------------------------
	#menu-wrap
------------------------------- */

#menu-wrap {
	float: right;
}
#menu-wrap:after {
	content: ' ';
	display: block;
	clear: both;
}

/* -------------------------------
	#menu
------------------------------- */

#menu {
	margin:0 ;
	padding:0;
	list-style:none;
	
	float:left;
}
#menu li {
	float:left;
	margin-left:20px;
}
#menu li.mobile {
	display:none;
}

/* -------------------------------
	#lang
------------------------------- */

#lang {
	margin: 28px -20px 28px 50px;
	padding: 0 0 0 10px;
	list-style: none;
	float: left;

	border-left: 2px solid #666;
}
.dark #lang,
.covr-full-page #lang {
	color: #fff;
	border-left-color: #fff;
}
#lang li {
	float:left;
	margin-left:0;
}
#lang li + li:before {
	content: '-';
}
#lang li.mobile {
	display:none;
}
#lang a {
	display: inline-block;
	padding: 0 4px;
	line-height: 24px !important;
	float: none;
	border: none;
	outline: none;
}
#lang a:hover {
	text-decoration: underline;
}
#lang a.is-current {
	cursor: default;
	text-decoration: none;
}

/* -------------------------
	.toggle
------------------------- */

#head .toggle {
	display:none;
	
	float:right;
	border:none;
	
	padding:0 34px 0 20px;
	
	position:absolute;
	top:0;
	right:0;
	
	overflow:hidden;
	
	line-height:44px;
}

.covr-full-page #head .toggle {
	line-height:34px;
	background-color:#222;
	margin:5px;
	padding-left:10px;
	border-radius:2px;
}

#head .toggle:after {
	content:'';
	width:14px;
	height:8px;
	display:block;
	
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-4px;
	
	/* background-image:url(img/sprites.png); */
	background-repeat:no-repeat;
	background-position:-95px -5px;
}
.side-opened #head .toggle:after {
	background-position:-114px -5px;
}

/* -------------------------
	@media
------------------------- */

@media only screen and (min-width:1200px) {
	#head {
		font-size: 20px;
	}
	#menu li {
		margin-left: 30px;
	}
	/*#menu {
		margin-right: 100px;
	}*/
}

@media only screen and (min-width:1600px) {
	#head {
		font-size: 15px;
	}
}

@media only screen and (max-width:1000px) {
	#lang {
		margin-left: 40px;
	}
}

@media only screen and (max-width:1000px) {
	#logo {
		font-size: 1.38461em;
	}
}

@media only screen and (max-width:950px) {
	#head {
		padding-left: 30px;
	}
	#logo {
		font-size: 1.23076em;
	}
	#lang {
		margin-left: 30px;
		margin-right: -30px;
	}
	#menu li {
		margin-left: 18px;
	}
	#lang {
		border-left-width: 1px;
	}
}

@media only screen and (max-width:800px) {
	#head {
		height:60px;
		padding-left:25px;
		padding-right:25px;
	}
	#head a {
		line-height:48px;
	}
}

/*  MENU MOBILE
------------------------- */

@media only screen and (max-width:850px) {
	#head {
		height:44px;
		padding-left:10px;
		padding-right:10px;
	}
	#head,
	.has-covr #head {
		background-color:#222;
	}
	.covr-full-page #head {
		background-color:transparent;
	}
	
	#logo {
		font-size: 1.1em;
	}
	#logo a:hover {
		border-color:transparent !important;
	}

	#menu,
	#lang {
		display:none;
	}

	#menu li {
		float:left;
		margin-left:15px;
	}
	#head a {
		color:#fff;
		line-height:32px;
	}

	#head .toggle {
		display:block;
	}
}

/* --------------------------------------------------

	#COVR
   
-------------------------------------------------- */

/* -------------------------
	(.covr-full-page)
------------------------- */

.covr-full-page #covr {
	height:100%;
	padding-top:0;
}

/* -------------------------
	(.covr-as-backgd)
------------------------- */

.covr-as-backgd #covr {
	width:100%;
	height:100%;
	
	position:fixed;
	top:0;
	left:0;
}

/* -------------------------
	.readmore
------------------------- */

#covr .readmore { display:none; }
.covr-full-page #covr .readmore { display:block; }

#covr .readmore {
	z-index:10;
	
	position:absolute;
	left:0;
	bottom:0;
	
	padding-left:50px;
	
	/*color:#fff;*/
    color:#cf0564;
	text-shadow:0 1px 1px rgba(0, 0, 0, .3);
}
#covr .readmore .title {
	max-width:650px;
	
	/*font-family:'Futura',Arial,sans-serif;*/
	font-weight:200;
	/*font-size:4.615384em; /* 60px */
    font-size:3.615384em; 
	line-height:1.1;
	
	text-transform:uppercase;
}
#covr .readmore .infos {
	font-size:1.15384em; /* 15px */
	line-height:1.2;
	
	text-transform:uppercase;
}
#covr .readmore .infos .location {
	display:block;
}
#covr .readmore .infos .contract:before {
	content:'- ';
}
#covr .readmore a {
	position:relative;
	
	float:left;
	display:block;
	
	margin-top:15px;
	padding:4px 26px 4px 7px;
	
	color:#000;
	line-height:1.1em;
	background-color:#fff;
	text-transform:uppercase;
	text-decoration:none;
	text-shadow:none;
}
#covr .readmore a .icon {
	width:12px;
	height:7px;
	display:block;
	
	position:absolute;
	top:50%;
	right:7px;
	margin-top:-3px;
	
	/* background-image:url(img/sprites.png);*/
	background-repeat:no-repeat;
	background-position:-43px -5px;
}

/* READMORE PROJECT */ 
#covr .readmore.project_selection{
	background-color: #fff;
	padding: 10px 42px 10px 10px;
	left:20px;
	bottom:20px;
	background-image:url(img/arrow_home.gif);
	background-repeat:no-repeat;
	background-position:96% center;
}
#covr .readmore.project_selection .title{
	color:#000;
	font-size:2.1em;
}
#covr .readmore.project_selection a{
		margin-top: 0;
		color:#888;
		padding-left: 0px;
		background-color:transparent;
}
#covr .readmore.project_selection a .icon{
	background-image: none;
	width:0px;
	height:0px;
}
/* -------------------------
	@media
------------------------- */

@media only screen and (max-width:800px) {
	#covr .readmore.project_selection{
		display:none;
	}
}

@media only screen and (max-width:650px) {
	#covr .readmore {
		padding-left:25px;
	}
	#covr .readmore .title {
		font-size:3em;
	}
	#covr .readmore .infos {
		font-size:1em;
	}
}





/* --------------------------------------------------

   MAIN
   
-------------------------------------------------- */

#main {
	padding-top:30px;
}
#main:after {
	content:'.';
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	
	margin-top:30px;
}

/* -------------------------
	(body.dark)
------------------------- */

.dark {
	color:#fff;
	background-color:#111;
}
.dark #main {
	background-color:transparent;
}

/* -------------------------
	(body.covr-as-backgd)
------------------------- */

.covr-as-backgd #main {
	top:100%;
}





/* --------------------------------------------------

   FOOT
   
-------------------------------------------------- */

#foot {
	padding:20px;
	
	color:#444;
	font-size:0.9em;
	text-align:center;
}

#foot p {
	margin-bottom:0.5em;
}

/* -------------------------
	(body.dark)
------------------------- */

.dark #foot {
	color:#aaa;
}

/* -------------------------
	(body.covr-as-backgd)
------------------------- */

.covr-as-backgd #foot {
	top:100%;
	color:#ccc;
	/*background-color:#eee;*/
}

/* -------------------------
	.languages
------------------------- */

#foot p,
#foot ul {
	margin:0 0 .5em;
}

#foot ul {
	padding:0;
	list-style:none;
}
#foot ul li {
	display:inline;
}
#foot ul li + li:before {
	content:' - ';
}





/* --------------------------------------------------

   TITLE / INFOS
   
-------------------------------------------------- */


/* -------------------------
	#title
------------------------- */

#title {
	margin:0;
	/*margin:0 0 .5em;
	padding:0 0 .5em;
	border-bottom:1px solid #ccc;*/
	
	/* idem que h1 */
	font-family:Abel,'Futura',Arial,sans-serif;
	font-weight:200;
	font-size:4.615384em;
	line-height:1.1;
	text-transform:uppercase;
}

#title.smaller {
	font-size:2.3em; /* 30px */
	font-weight:300;
}

#title .subtitle {
	display:block;
	margin:.1em 0;
	
	color:#999;
	font-size:0.416666em;
	font-weight:300;
}

@media only screen and (max-width:500px) {
	#title .subtitle {
		font-size:0.8em;
		margin:.3em 0 .2em;
	}
}

@media only screen and (max-width:800px) {
	#title .subtitle {
		font-size:0.641025em;
		margin:.3em 0 .2em;
	}
}

/* -------------------------
	#infos
------------------------- */

#infos {
	color:#666;
	font-size:1.15384em;
	line-height:1.6em;
	text-align:left;
	text-transform:uppercase;
}
#infos .location {
	display:block;
}
#infos .status {
	/*display:block;*/
}
#infos .contract:before {
	content:'- ';
}

/* -------------------------
	#aside
------------------------- */

#aside a {
	text-transform:uppercase;
	text-decoration:none;
}
#aside a:hover {
	text-decoration:underline;
}
#aside a:after {
	content:'›';
	padding-left:.5em;
	display:inline-block;
}


#infos,
#aside {
	width:50%;
	margin-bottom:1.61538em;
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
			box-sizing:border-box;
}
#infos {
	float:left;
	text-align:left;
	padding-right:10px;
}
#aside {
	float:right;
	text-align:right;
	padding-left:10px;
	white-space:nowrap;
}

/* -------------------------
	@media
------------------------- */

@media only screen and (max-width:800px) {
	#title {
		font-size:3em; /* 39px */
	}
	#infos {
		font-size:1em;
	}
}

@media only screen and (max-width:500px) {
	#title {
		font-size:2.3em; /* 30px */
		font-weight:300;
	}
	#infos,
	#aside {
		width:auto;
		float:none;
		padding:0;
		margin-bottom:0;
	}

}




/* --------------------------------------------------
	
	AUTOLOAD
	
-------------------------------------------------- */

.autoload {
	display:block;
	text-align:center;
	font-size:1.38461em;
}



/* --------------------------------------------------
	
	LISTS
	
-------------------------------------------------- */

/* --------------------------------------------------
	PAGINATION
-------------------------------------------------- */

.pagination {
	margin:0;
	padding:0;
	list-style:none;
}
.pagination:after {
	content:'.';
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.pagination .prev {
	float:left;
}
.pagination .next {
	float:right;
}
.pagination .next a:after { content:'›'; margin-left:.5em; }
.pagination .prev a:before { content:'‹'; margin-right:.5em; }
.pagination a,
.pagination span {
	/*display:block;*/
    display: inline;
	text-transform:uppercase;
}
.pagination a {
	text-decoration:none;
}
.pagination span {
	color:#888;
}

/* --------------------------------------------------
	.page-loading
-------------------------------------------------- */

.page-loading {
	height: 40px;
	display: block;
	background-image:url(img/loading-dark.gif);
	background-repeat:no-repeat;
	background-position:center center;
}

/* --------------------------------------------------
	.not-found
-------------------------------------------------- */

.not-found {
	text-align:center;
}






/* --------------------------------------------------
	
	PROJECTS
	
-------------------------------------------------- */

/* --------------------------------------------------
	PROJECTS MAP
-------------------------------------------------- */

#projects-map {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
#projects-map img {
	width:auto;
	height:auto;
	max-width:none;
	max-height:none;
	display:inline;
}
#projects-map .infobox h2 {
	font-size:1.4em;
}
#projects-map .infobox p {
	font-weight:1.2em;
}
#projects-map .infobox a {
	text-decoration:none;
}
#projects-map .infobox a:hover {
	text-decoration:underline;
}

/* -------------------------
	#projects-map-markers
------------------------- */

#projects-map-markers {
	max-width:500px;
	margin:0 auto;
	padding:0;
	list-style:none;
	text-align:left;
	border-top:1px solid #ddd;
}
#projects-map-markers ul {
	margin:0;
	padding:0;
	list-style:none;
	
	display:none;
	background-color:#f8f8f8;
}
#projects-map-markers li.opened > ul {
	display:block;
}
#projects-map-markers a,
#projects-map-markers .parent {
	display:block;
	padding:.5em 0;
	line-height:1.1em;
	text-decoration:none;
	border-bottom:1px solid #ddd;
}
#projects-map-markers .parent {
	font-size:1.4em;
	position:relative;
	text-transform:uppercase;
	cursor:pointer;
	-webkit-user-select:none;
			user-select:none;
}
#projects-map-markers .parent:after {
	content:'';
	display:block;
	width:14px;
	height:8px;
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-4px;
	/*background-image:url(img/sprites.png);*/
	background-repeat:no-repeat;
	background-position:-133px -5px;
}
#projects-map-markers li.opened > .parent:after {
	background-position:-152px -5px;
}
#projects-map-markers a span {
	text-transform:none;
	float:right;
	font-size:12px;
	color:#999;
}
#projects-map-markers a.hidden {
	display:none;
}
#projects-map-markers a.all {
	text-transform:uppercase;
	background-color:#f2f2f2;
}
#projects-map-markers ul a {
	padding:.8em 10px;
}

@media only screen and (max-width:760px) {
	#projects-map-markers {
		margin-top:-51px;
	}
}

@media only screen and (max-width:500px) {
	#projects-map-markers {
		margin-top:-31px;
	}
}

* --------------------------------------------------
	SEARCH BAR
-------------------------------------------------- */

.search-bar:after {
	content:'.';
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.search-bar {
	color:#999;
	margin:-.5em 0;
	position:relative;
	line-height:2em;
	font-size:1.15384em; /* 15px */
	text-align:left;
	text-transform:uppercase;
}
.search-bar .quick-search {
	/*float:left;*/
	position:relative;
}
.search-bar .search-more {
	float:right;
	text-align:right;
	/*padding-left:20px;
	border-left:1px solid #666;*/
	
	/*position:absolute;
	top:0;
	right:0;
	bottom:0;*/
}
.search-bar .search-more a {
	color:inherit;
	display:inline-block;
	text-decoration:none;
	position:relative;
	font-size: .7em;
	/*padding-right:24px;*/
}
.search-bar .search-more a:hover {
	color:#fff;
}
/*.search-bar .search-more a:after {
	content:'';
	display:block;
	width:14px;
	height:8px;
	
	position:absolute;
	top:50%;
	right:0;
	margin-top:-4px;
	
	background-image:url(img/sprites.png);
	background-repeat:no-repeat;
	background-position:-95px -5px;
}*/
.search-bar .search-more a.on:after {
	background-position:-114px -5px;
}

/* -------------------------
	PROJECT MENU
------------------------- */

.project-menu{
	list-style-type: none;
	padding:0;
}
.project-menu li{
	float:left;
	margin-right: 15px;
}
.project-menu li.current_page_item, .project-menu li:hover{
	border-bottom: 3px solid #cf0564;
}
.project-menu li a{
	text-decoration:none;
}
.project-menu li.current_page_item  a, .project-menu li a:hover{
	color:#cf0564;
}





.toggle_menu_sub{
	display:none;
}

@media only screen and (max-width:800px) {
	.search-bar .quick-search,
	.search-bar .search-more {
		width:auto;
		float:none;
	}
	.search-bar .search-more{
		text-align:right;
		border:none;
		padding-top: 15px;
		clear: both;
	}
	.quick-search input{
		width:100%;
	}
	.project-menu-div{
		float: none;
		/*margin-bottom:15px;*/
	}
	.twitter-typeahead{
		width:100%;
	}
}



/* -------------------------
	.field label
------------------------- */

.advanced-search .field label {
	float:left;
	width:150px;
	display:block;
	margin-left:-150px;
	padding-right:20px;
	text-align:right;
	
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
			box-sizing:border-box;
}

/* --------------------------------------------------
	
	IFRAMES
	
-------------------------------------------------- */

.iframe-wrap {
	height:0;
	display:block;
	margin:0 0 1em;
	position:relative;
	padding-top:56.25%; /* 16/9 */
	background:#333;
}
.iframe-wrap iframe {
	width:100%;
	height:100%;
	margin:0;
	position:absolute;
	top:0;
	left:0;
}


/* --------------------------------------------------
	
	SIDE
	
-------------------------------------------------- */

#side {
	width:100%;
	z-index:150;
	background-color:#222;
}
.covr-full-page #side {
	padding-top:44px;
}



/* --------------------------------------------------
	.menu
-------------------------------------------------- */

#side .menu {
	margin:0;
	padding:0;
	list-style:none;
	background-color:#ddd;
	border-top:1px solid #181818;
}

/* -------------------------
	a
------------------------- */

#side .menu a {
	display:block;
	
	padding:0 15px;
	
	color:#eee;
	line-height:44px;
	text-decoration:none;
	text-transform:uppercase;
	
	background-color:#222;
	
	border-top:1px solid #282828;
	border-bottom:1px solid #181818;
}
#side .menu a:hover {
	color:#fff;
	background-color:#333;
	border-top-color:#333;
	border-bottom-color:#000;
}

#side .menu .current-menu-item  > a {
	color:#fff;
	background-color:#181818;
	border-top-color:#111;
	border-bottom-color:#080808;
	margin-left:4px;
}
#side .menu .current-menu-item  > a:hover {
	background-color:#282828;
}



/* --------------------------------------------------
	.lang
-------------------------------------------------- */

#side .lang {
	margin:0;
	padding:10px 20px;
	list-style:none;
	background-color:#222;
	border-top:1px solid #282828;
	text-align: right;
	font-size: 0;
	line-height: 0;
}

/* -------------------------
	a
------------------------- */

#side .lang li {
	display:inline-block;
	margin-left: 10px;
}
#side .lang a {
	display:inline-block;
	
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;

	color:#eee;
	font-size: 12px;
	text-decoration:none;
	text-transform:uppercase;
	
	background-color:#444;
	border-radius: 50%;
	outline: none;
}
#side .lang a.is-current {
	cursor: default;
}
