/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

:focus { outline: none; }

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
	
	o-	=	objets (non modifiable)
	l-	=	layout
		l-grid	=	grille
	b-	=	bloc (module)
		b-form	= 	formulaire
		b-menu 	=	navigation
	c-	=	composant
		c-btn	=	bouton
		c-lk	= 	link
	u-	=	utilities (non modifiable)
	p-	=	pattern
	th-	= 	Thème
	
	js-	=	Javascript interaction (dépendent d'un fichier.js)	
	
	ic-	=	icon

	b-blocName | c-componentName
	b-blocName__descendantName
	b-blocName--modName | c-componentName--modName
	b-blocName__descendantName--modName
	b-blocName__descendantName--modName--modVal
	b-blocName.is-state | c-componentName.is-state
	
*/
/* ---------------------------------------------------------
--- Reset */

	html { -webkit-tap-highlight-color: transparent; }
	
	h1, .h1,
	h2,	.h2,
	h3,	.h3,
	h4,	.h4,
	h5,	.h5,
	h6, .h6 {
		margin: 0;
		padding: 0;
	}

	figure { 
		margin: 0; 
/* 		padding: 1em; */
	}
	
	article { position: relative; }
	
	table { 
		table-layout: fixed;
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;
	}
	
	ul {
		margin: 0;
		padding-left: 0;
		list-style: none;
	}
	
	p { 
		margin-top: 0; 
		margin-bottom: 0;
		padding-bottom: 1.6rem;
	}
	
	*,
	*:before,
	*:after {
	  -webkit-box-sizing: border-box;
	     -moz-box-sizing: border-box;
	          box-sizing: border-box;
	}
		
	/* max values */
	img,
	table,
	td,
	blockquote,
	code,
	pre,
	textarea,
	input,
	video,
	svg { max-width: 100%; }

	body > script { display: none !important; }
	
	
/* reset form */

	button,
	input,
	optgroup,
	select,
	textarea {
	  margin: 0;
	  font: inherit;
	  color: inherit;
	}
	
	button {
	  overflow: visible;
	}
	
	button,
	select {
	  text-transform: none;
	}
	
	button,
	html input[type="button"],
	input[type="reset"],
	input[type="submit"] {
	  -webkit-appearance: button;
	  cursor: pointer;
	}
	
	button[disabled],
	html input[disabled] {
	  cursor: default;
	}
	
	button::-moz-focus-inner,
	input::-moz-focus-inner {
	  padding: 0;
	  border: 0;
	}
	
	input {
	  line-height: normal;
	}
	
	input[type="checkbox"],
	input[type="radio"] {
	  -webkit-box-sizing: border-box;
	          box-sizing: border-box;
	  padding: 0;
	}
	
	input[type="number"]::-webkit-inner-spin-button,
	input[type="number"]::-webkit-outer-spin-button {
	  height: auto;
	}
	
	input[type="search"] {
	  -webkit-box-sizing: content-box;
	          box-sizing: content-box;
	  -webkit-appearance: textfield;
	}
	
	input[type="search"]::-webkit-search-cancel-button,
	input[type="search"]::-webkit-search-decoration {
	  -webkit-appearance: none;
	}
	
	legend {
	  padding: 0;
	  border: 0;
	}
	
	textarea {
	  overflow: auto;
	}
	
	optgroup {
	  font-weight: bold;
	}
	
	button,
	[role="button"],
	input,
	label,
	select,
	summary,
	textarea {
	  -ms-touch-action: manipulation;
	      touch-action: manipulation;
	}
	

	input,
	button,
	select,
	textarea {
	  margin: 0;
	  line-height: inherit;
	  border-radius: 0;
	  border: 0;
	}
	
/*
	input[type="text"], input[type="password"],
	textarea, select {
	  font-size: 16px;
	}
*/
	
	textarea {
	  resize: vertical;
	}
	
	fieldset {
	  min-width: 0;
	  padding: 0;
	  margin: 0;
	  border: 0;
	}
	
	
	input[type="search"] {
	  -webkit-box-sizing: inherit;
	          box-sizing: inherit;
	  -webkit-appearance: none;
	}

/* ---------------------------------------------------------
--- Typo */

 	html { 
	 	-webkit-font-smoothing: antialiased;
		-webkit-text-size-adjust: none;
		font-size: .625em; 
		font-size: calc(1em * .625); 
	}
	
	body {
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "kern";
    -webkit-font-feature-settings: "kern";
    -moz-font-feature-settings: "kern";
    -moz-font-feature-settings: "kern=1";
    font-kerning: normal;
	}
	
	body, .body,
	h1, .h1,
	h2,	.h2,
	h3,	.h3,
	h4,	.h4,
	h5,	.h5,
	h6, .h6 {
		font-family: 'Marr Sans Web';
		font-weight:  500;
		font-style:   normal;
		font-stretch: normal;
		font-size: 1.4rem;
		letter-spacing: 0.01em;
		line-height: 1.7rem;
		font-variant-numeric: oldstyle-nums;
		-moz-font-feature-settings: "onum";
		-webkit-font-feature-settings: "onum";
		font-feature-settings: "onum";
	}
	
	
	

/* ---------------------------------------------------------
--- Layout -- */

	
	.l-wrapper { position: relative; }
	
		.l-header,
		.l-main,
		.l-footer {
			padding-left: 15px;
			padding-right: 15px;
		}
	
		.l-header,
		.l-footer {
			position: fixed; right: 0; left: 0;
			height: 44px;
			background-color: #FFF;
			z-index: 2;
		}
		.l-header { top: 0; }
		
		.l-main { margin-top: 44px; }
		
			.l-main--scroll .l-media img {
				margin-bottom: 5px; 
			}
		
			.l-article { 
				position: absolute; right: 0; bottom: 0; left: 0;
				max-height: 0;
				overflow: hidden;
				z-index: 1;
				background-color: #FFF;
			}
				.l-article__fonctions { display: none; }

			.l-grid { overflow: hidden; }
			
				.l-grid__item {
					position: relative;
					width: 192px;
					height: 192px;
					margin: 18px auto;
			        display: -webkit-box;
			        display: -ms-flexbox;
			        display: -webkit-flex;
			        display: flex;
			        -webkit-box-pack: center;
			        -ms-flex-pack: center;
			        -webkit-justify-content: center;
			        justify-content: center;
			        -webkit-box-align: center;
			        -ms-flex-align: center;
			        -webkit-align-items: center;
			        align-items: center;
				}

		.l-footer {
			bottom: 0;
			padding-top: 16px;
		}
		
@media (max-width: 62.49em) {
	
	.l-main--list { 
		margin-top: 48px; 
		padding-bottom: 32px;
	}
	
	.l-main--preview,
	.l-media {
		height: calc(100vh - 158px);
		position: relative;
	}
	
	.l-article.is-large { 
		padding: 13px 15px 15px 15px; 
		max-height: calc(100vh - 158px); 
	}
	
	
}

@media (min-width: 62.5em) {
	
	html,
	body,
	.l-wrapper { 
		height: 100%; 
		position: relative;
	}
	
		.l-header,
		.l-main,
		.l-footer {
			padding-left: 0;
			padding-right: 0;
		}
	
		.l-header,
		.l-footer {
			right: auto;
			width: 225px;
			padding-left: 22px;
		}
		
		.l-header {
			bottom: 50px;
			height: auto;
			padding-top: 17px;
		}
		.l-header--archives { width: 220px; }
		
		.l-main {
			position: relative;
			margin-top: 0;
			margin-bottom: 0;
			margin-left: 225px;
		}
		.l-main--preview {
			max-width: calc(100vh + 480px); 
			padding: 20px 0;
		}
		.l-main--list { 
			width: 696px; /* 646 + 50 */
			margin-left: 275px;
		}
		.l-main--scroll { 
			max-width: calc(100vh + 480px); 
			padding-top: 22px; 
		}
		.l-main--text {
			display: table;
			width: calc(100% - 275px);
			padding-top: 22px; 
			margin-left: 275px;
		}
		.l-main--text > * { 
			vertical-align: top;
			display: table-cell; 
		}
		.l-main--archives {
/* 			padding-top: 20px; */
			margin-left: 220px;
			z-index: 10;
		}
		.l-main--search {
			padding-top: 22px; 
		}
		
			.l-media {
				width: calc(100vh - 40px); 
				height: calc(100vh - 40px); 
			}
			
/*
			.l-main--scroll .l-media img {
				margin-bottom: 5px; 
			}
*/
			
			.l-article { 
				position: absolute; top: 0; bottom: 0; left: calc(100vh - 40px);
				max-height: none;
				overflow: inherit;
				width: 160px; 
				padding-top: 27px;
				background-color: #FFF;
			}
			.l-main--scroll .l-article {
				position: fixed; /* left: 820px; */
				left: calc(100vh + 225px - 40px); 
			}
			.l-article.is-large{ 
				right: 0; left: auto;
				width: 520px;
				padding-right: 20px;
			}

			.l-article__left { 
				float: left; 
				width: 130px;
				margin-left: 30px; 
			}
			.l-article__content { 
				float: left; 
				display: none;
			}
			
			
			.l-article.is-large .l-article__left {
				margin-right: 25px;
			} 
			
			.l-article.is-large .l-article__content {
				display: block;
				width: 315px;
			}
			
			.l-article.is-large .l-article__content {
				display: block;
				width: 315px;
			}
			.l-article.is-large .l-article__fonctions { display: block; }
			
			.l-article__footer { display: none; }
			.l-article.is-large .l-article__footer { display: block; }
				
	
				
			.l-grid { overflow: hidden; }		
				
				.l-grid__item {
					float: left;
					width: 256px;
					height: 256px;
					padding: 32px; 
					margin: 0;
			        display: -webkit-box;
			        display: -ms-flexbox;
			        display: -webkit-flex;
			        display: flex;
			        -webkit-box-pack: center;
			        -ms-flex-pack: center;
			        -webkit-justify-content: center;
			        justify-content: center;
			        -webkit-box-align: center;
			        -ms-flex-align: center;
			        -webkit-align-items: center;
			        align-items: center;
				}
				
		.l-footer {
			height: 50px; 
			line-height: 4.2rem;
			padding-top: 0;
			z-index: 11;
		}
		
		.l-footer--archives {
			height: auto;
			padding-bottom: 26px;
			line-height: 1;
		}
					
}


/* ---------------------------------------------------------
--- Composants -- */


	.c-media--portrait { max-height: 100%; }
	.c-media--lanscape { max-width: 100%; }
	.c-media--square { 
		max-width: 85%;
		max-height: 85%; 
	}
	.l-grid__item .c-media--square {
		max-width: 166px;
		max-height: 166px;
	}
	.b-list__media .c-media--square {
		max-width: 130px;
		max-height: 130px;
	}
	
	.c-logo { 
		padding-top: 15px;
		font-size: 2rem; 
		line-height: 1;
		letter-spacing: 0em;
	}

	.c-btn {
		display: inline-block;
	}
	
	.c-btn--menu {
		position: absolute; top: 0; right: 15px;
		height: 44px;
		padding-top: 15px;
		font-size: 2rem; 
		line-height: 1;
		letter-spacing: 0.018em;
	}
	
	.c-btn--lang { 
		font-size: 1.2rem; 
		letter-spacing: 0.05em;
		margin-right: 8px;
	}
	
	.c-btn--search {
		font-size: 1.7rem;
		margin-left: 12px;
	}
	
	.c-btn--next{ display: none; }
	
@media only screen and (min-width: 62.5em) {
	
	.c-btn--next {
		position: absolute; top: calc(75vh - 10px); right: 15px;
		display: inline-block;
		transform: translateY(-50%);
		text-align: center;
		z-index: 10;
	}
	.c-btn--next.hav-indexsup{ z-index: 100; }
}
	
	.c-btn--down {
		position: absolute; bottom: 61px; left: 50%;
		transform: translateX(-50%);
		text-align: center;
	}
	.c-btn--down img { width: 10px; }
	
	.c-btnToogleArticle {
		position: absolute; right: 15px; bottom: 15px;
		display: block;
		width: 22px;
		height: 22px; 
		background: url('../img/btnToogleArticleOpen.svg') no-repeat center center;
	}
	.c-btnToogleArticle.is-active { background: url('../img/btnToogleArticleClose.svg') no-repeat center center; }
			
	.c-btn--close {
		position: absolute; left: 50%; bottom: 15px;
		display: block;
		width: 22px;
		height: 22px; 
		margin-left: -11px;
		background: url('../img/btnClose.svg') no-repeat center center;
	}
	
	.c-pageTitle {
		max-width: 480px;
		overflow: hidden;
		font-size: 2.6rem;
		line-height: 7.7rem;
		text-align: center;
		color: #231F20;
	}
	
@media (max-width: 62.49em) {
	
	.c-btn--search,
	.c-pageTitle { display: none; }
	
}	
	
@media (min-width: 62.5em) {
	
	.c-logo { 
		padding-top: 8px;
		font-size: 2.6rem; 
	}
	
}

/* ---------------------------------------------------------
--- Blocs */


	.b-banner {
		background-color: #FFF;
		z-index: 1;
		text-align: center;
		padding-bottom: 14px;
	}
	
		p.b-editeur__titre { padding-bottom: 0; }
		
		p.b-editeur__texte { padding-bottom: 0; }
		
		.b-banner .b-editeur__titre,
		.b-banner .b-editeur.u-textCenter { color: rgb(150,150,150); }
		

	.b-modal {
		position: fixed; top: 0; right: 0; bottom: 0; left:0;
		z-index: -1;
		display: none;
	}
	
	.b-tooltip,
	.b-alert { display: none; }
	


@media (max-width: 62.49em) {
	
	.b-banner { padding-top: 25px; }
	
	.b-banner--grid { padding-top: 18px; }
	
	.b-banner__content,
	.b-banner__title { 
		font-size: 2rem; 
		line-height: 1.2;
	}
	
/*
	.b-banner__title > .p-textBlack::before {
		content: "\A";
		white-space: pre;
	}
*/
	.b-banner__title__intro { display: none; }
	
	.b-editeur { margin-top: 2.4rem; }
	
	
	.b-search { display: none; }
	
	.b-menu,
	.b-menu__content {
		position: relative;
		overflow: hidden;
		max-height: 0;
		background-color: #FFF;
		-webkit-transition:	max-height .3s ease;
		-moz-transition: 	max-height .3s ease;
		transition: 		max-height .3s ease;
	}
	.b-menu.js-open,
	.b-menu__content.js-open {
		min-height: calc(100vh - 79px);
		max-height: 100em;
		-webkit-transition:	max-height .3s ease;
		-moz-transition: 	max-height .3s ease;
		transition: 		max-height .3s ease;
	}
	
	.b-menu__content.js-open { 
		min-height: inherit;
		margin-top: -3px;
	}
	
	.b-menu__content__list { padding-bottom: 25vh; }
	
	.b-menu__item--n1 { 
		line-height: 45px; 
		text-align: center;
		font-size: 2rem;
	}
	
	.b-menu__item--n1:first-child,
	.b-menu__item--n1.js-active { padding-top: 18px; }
	
	.b-menu__item--n2 {
		font-size: 1.3rem;
		line-height: 2.8rem;
		text-align: left;
	}
	.b-menu__item--n1:nth-child(3) .b-menu__item--n2:first-child { display: none; }
	.b-menu__item--n1:nth-child(5) .b-menu__item--n2:nth-child(5) { padding-top: 2px; }
	
	.b-list--over .b-list__item {
		padding-bottom: 1em;
	}
	
	.b-list__text p { padding-bottom: 0; }	
	
	.p-contact .b-list__item { padding-bottom: 16px; }
	
	.b-text { 
		margin-top: 4px; 
		padding-bottom: 44px;
	}
	
	.b-text p { padding-bottom: .8rem; }
	
	.b-alert {
		display: block;
		margin-top: 109px;
		font-size: 2rem;
		line-height: 1.2;
		text-align: center;
	}
	
	.b-list__media,
	.b-tooltip--projets,
	.swiper-button-prev, 
	.swiper-button-next { display: none; }
	
	.p-actualites .b-list__media { display: block; }
	
}	

@media (min-width: 62.5em) {
	

/*! Menu */
	
	.b-menu { 
		margin-top: 37px;
	}
	
	.b-menu__item--n1 { 
		line-height: 2.7rem; 
	}
	.b-menu__item--n2 { 
		line-height: 2.3rem; 
	}
	
	.b-menu__item--n1 > a { 
		font-size: 1.7rem; 
		letter-spacing: 0.005rem;
	}
	.b-menu__item--n1 ul {
		padding-left: 14px; 
		padding-bottom: 4px; 
	}

	
	.b-menu__content { 
		display: none; 
	}
	
	.is-active + .b-menu__content { display: block; }
	

/*! Liste */
	
	.b-list { 
		padding-top: 23px; 
		margin-left: -8px;
	}
	.c-pageTitle + .b-list { 
		padding-top: 0; 
		margin-top: -6px;
	}
	
		.b-list__item,
		.p-actualites-passees .b-list--accordion .b-list__item { 
			position: relative; 
			max-width: 654px; 
			margin-bottom: 17px;
		}
		.b-list--accordion .b-list__item { margin-bottom: 0; }
	
		.b-list__title,
		.b-list__text,
		.b-list__complement {
			width: 488px;
			padding-left: 6px;
		}
		
		.b-list__title,
		.b-list__text--big,
		.b-list__externalLink {
			font-size: 2.6rem;
			line-height: 32px;
			letter-spacing: 0em; 
		}
		.b-list--accordion .b-list__title { 
			line-height: 30px;
			padding-bottom: 2px;
		}
		
		.b-list__title i { 
			font-family: 'Marr Sans Web italic';
		}
		.b-list__externalLink { 
			padding-bottom: 2px;
		}
	
		.b-list--accordion .b-list__title:hover { background-color: #BEBEBE; }
		
		
		.b-list__text { padding-top: 5px; }
		.b-list__text--big { padding-top: 1px; }
		
		.b-list__text p { padding-bottom: .8rem; }
		.b-list__text--big p { padding-bottom: 1.6rem; }
		
		.b-list:not(.b-list--accordion) .b-list__text p + p { padding-bottom: 4px; }
		
		
		.b-list__media {
			position: absolute; top: 0; right: 0; /* bottom: 38px;  */
			width: 152px;
			height: 152px;
			padding: 0;
	        /*display: -webkit-box;
	        display: -ms-flexbox;
	        display: -webkit-flex;
	        display: flex;*/
	        -webkit-box-pack: center;
	        -ms-flex-pack: center;s
	        -webkit-justify-content: center;
	        justify-content: center;
	        -webkit-box-align: center;
	        -ms-flex-align: center;
	        -webkit-align-items: center;
	        align-items: center;
	        text-align: center;
	        z-index: 10;
		} 
		.js-accordion__content .b-list__media img { max-height: 152px; }
		
		.b-list__text--big .b-list__externalLink {
			text-align: center;
		}
		.b-editeur + .b-list__externalLink { margin-top: -1.6rem; }
		
		.b-list__item.externalLink-activate {
			background-color: #AAA;
		}
		.externalLink-activate .b-list__externalLink a { color: white; }
		
		.externalLink-activate .b-list__media { display: none; }
		
		.b-list--over .b-list__media { display: none; }
		
		.b-list--over .b-list__item:hover .b-list__title .p-textBody,
		.b-list--over .b-list__item:hover .b-list__content { color: #FFF; }
		
		.b-list--over .b-list__item:hover .b-list__title,
		.b-list--over .b-list__item:hover .b-list__text { background-color: #BEBEBE; }
		
		.p-actualites-passees .b-list--over .b-list__item:hover .b-list__text { 
			background-color: #FFF; 
			color: rgb(150,150,150);
		}
		
		.b-list--over .b-list__item:hover .b-list__media { 
			display: block; 
			background-color: #FFF; 
		}
		
		.b-list__media .b-card__cover {
			top: 0;
			transform: translate(-50%, 0);
			text-align: left;
		}
		
		.b-list__media:hover .b-card__cover {
			display: block;	
		}
		
		.b-list .b-editeur + .b-editeur:not(.u-textCenter) { 
/* 			 margin-top: 13px; */
			 margin-top: -2px;
		}
		
		.b-list .b-editeur + .b-editeur.u-textCenter { margin-top: -15px; }
		
		
		.b-list .b-editeur__titre {
			font-size: 1.4rem;
			line-height: 1.5rem;
/* 			padding-bottom: 2px; */
			padding-bottom: 3px;
			color: #231F20;
		}
		
		
/*
		p.b-editeur.u-textCenter {
			padding-top: 4px; 
		}
*/
		
/*! Détails */		
		
	.b-article { padding-top: 2px; }	
	
	.b-article__footer--1col { padding-left: 185px; }
	
	
/*! Page de texte */

	.b-text {
		width: 480px;
		font-size: 2.6rem;
		line-height: 32px;
		letter-spacing: 0em;
	}
	.l-main--search .b-text p { padding-bottom: 0; }
	
	
	
	.b-media {
		position: fixed;
		width: calc(100% - 740px);
		max-width: 1508px;
		padding-left: 14px;
		padding-right: 94px;
	}
/* 	.l-main--text .b-media { height: 100%; } */
	
	.b-media__wrapper {
		min-width: 152px;
		width: 100%;
		height: 0;
		padding-bottom: 100%;
		overflow: hidden;
/* 		background-color: red; */
		position: relative;
	}
/*
	.l-main--text .b-media__wrapper {
		max-height: calc(100% - 44px);
		padding-bottom: 0;
	}
*/

	.b-media__container {
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
		padding: 0;
	}
	
	.l-main--text .b-media__wrapper { 
/*
		max-width: 1400px;
		max-height: 1400px;
*/
/*
		height: calc(100vh - 22px);
		padding-bottom: 0; 
*/
	}
		
/*
	.b-media__container {
		min-width: 152px;
		min-height: 152px;
		padding: 0;
		max-height: calc(100vh - 40px);	
	}
*/
	.b-media img { 
		max-width: 100%;
		max-height: 100%;
	}
	

/*! Banner page */	
	
	.b-banner {
		position: fixed; top: 0; right: 0; left: 210px;
		height: 96px;
		padding-bottom: 0;
	}
	.b-banner:hover { height: 124px; }
	
	.hav-banner { margin-top: 64px; }
	
	.b-banner__title {
		padding-top: 25px;
		font-size: 2.6rem;
/* 		letter-spacing: 0.015em; */
		letter-spacing: 0em;
		line-height: 1;
	}
	
	.b-banner__content {
		display: none;
		padding-top: 4px;
		font-size: 1.7rem;
/* 		letter-spacing: 0.020em; */
		letter-spacing: 0.005rem;
		line-height: 2.2rem;
		background-color: #FFF;
	}
	.b-banner:hover .b-banner__content { 
		display: block; 
		padding-bottom: 27px;
	}

	.b-banner__content > span { display: inline-block; }
	
	.b-banner .b-editeur + .b-editeur { margin-top: 3px; }
	
/*
	.b-banner .b-editeur__titre,
	.b-banner .b-editeur.u-textCenter { padding-top: 8px; }
*/
	
	.b-banner .b-editeur__titre { 
		line-height: 2.3rem; 
		padding-top: 8px;
	}
	
	.b-banner .b-editeur—-sansTitre > .b-editeur__texte { padding-top: 9px; }
	
	.b-banner .b-editeur__site { margin-top: 13px; }
	.b-banner .b-editeur—-sansTitre.u-textCenter + .b-editeur__site { margin-top: 0; }

	
	
/*! Tooltype */		
		
	.hav-tooltip { position: relative; }	
	
	.b-tooltip { position: absolute; }
	
	.hav-tooltip:hover .b-tooltip { display: block; }
	
	.b-tooltip__block {
		display: block;
		font-size: 1.4rem;
		letter-spacing: 0.01em;
		line-height: 1.6rem;
		padding: 6px;
		border: 2px solid #AAA;
		background-color: #FFF;
	} 
	
	.b-tooltip--preview { 
		left: -79px; 
		margin-top: 1px;
	}
	
	.b-tooltip--preview .b-tooltip__block {
		width: 180px;
		padding: 4px 6px 6px 5px;
	}	
	.b-tooltip--projets { top: -3px; left: 52px; }
	
	.b-tooltip--projets .b-tooltip__block {
		width: 116px;
		height: 77px;
		padding-top: 4px;
		margin-bottom: 4px;
		letter-spacing: 0;
	}
	[lang="en"] .b-tooltip--projets .b-tooltip__block:first-child {
		height: 93px;
	}
	.b-tooltip--projets .b-tooltip__block:hover {
		background-color: #AAA;
		color: #AAA;
	}
	.b-tooltip--projets .b-tooltip__block a { color: #231F20; }
	.b-tooltip--projets .b-tooltip__block:hover a { color: #FFF; }
	
	
/*! modal */

	.b-modal {
		position: fixed; top: 5px; right: 5px; bottom: 5px; left: 225px;
		padding-top: 16px;
		padding-right: 30px;
		padding-left: 50px;
		border: 2px solid #AAA;
		background-color: #FFF;
		z-index: 11;
		display: none;
	}
	.b-modal__wrapper {
		position: relative;
		max-width: 705px;
	}
	.b-modal.js-open {
		display: block;
	}	
	
	.b-modal__content { width: 100%; }

	.b-modal__close {
		position: absolute; top: 9px; right: 0;
		text-align: center;
	}
	
/*! formulaires */

	.b-form,
	.b-form__input {
		font-size: 2.6rem;
		letter-spacing: 0.015em;
		line-height: 3.2rem;
	}
		.b-form__block {
			padding: 0;
		}
		.b-form__block:not(:first-child) {
			margin-top: 3.2rem;
		}
		.b-form__block.b-form__block--btn { 
			margin-top: 2.8rem;
		}
		
		.b-form__group { overflow: hidden; }
		
		.b-form__label {
			width: 165px;
		}
		
		.b-form__input {
			position: relative;
			display: block;
			width: 100%;
			padding-right: 10px;
			padding-left: 10px;
/* 			padding-bottom: 5px; */
			padding-bottom: 0;
			padding-top: 0;
/* 			margin-top: 3px;  */
/* 			max-width: 540px; */
			height: 33px;
			background-color: transparent;
			color: #231F20;
		}
		.b-form__group label + .o-bfc { position: relative; }
		.b-form__group label + .o-bfc:before {
			position: absolute; top: 3px; right: 0; left: 0;
			height: 30px;
			display: block;
			content: '';
			background-color: #BEBEBE;
		}
		
		input:-moz-placeholder,
		input:focus {
		    box-shadow:none !important;
		}
		
		.b-form__check {
			position: relative;
			display: inline-block; 
		}
			.b-form__check input {
				position: absolute;
				opacity: 0;
				z-index: -1;
			}
			.b-form__indicator {
				position: absolute; top: -22px; left: 32px;
				display: block;
				width: 32px;
				height: 32px;
/* 				background-color: #FFF; */
				background-color: transparent;
				border: 2px solid #231F20;
			}
			
			.b-form__check  input:checked ~ .b-form__indicator:before,
			.b-form__check  input:checked ~ .b-form__indicator:after {
				position: absolute; top: 13px; left: -2px;
				display: block;
				content: '';
				width: 33px;
				height: 2px;
				background-color: #AAA;
				transform: rotate(45deg);
				z-index: -1;
			}
			.b-form__check  input:checked ~ .b-form__indicator:after {
				transform: rotate(-45deg);
			}
		
		.b-form__btn {
			height: 38px;
			padding-left: 10px;
			padding-right: 10px;
			line-height: 3.2rem;
			background-color: #AAA;
			color: #FFF;
		}
		.formNewlsetter  .b-form__btn,
		.b-modal .b-form__btn { padding-top: 3px; }
		
	@-moz-document url-prefix(){
		
		.formNewlsetter  .b-form__btn,
		.b-modal .b-form__btn { 
			padding-top: 0; 
			padding-bottom: 3px; 
		}
	}
		
		.b-form__btn:hover { background-color: #231F20; }
		.b-form__btn + .b-form__btn { margin-left: 38px; }
				
		.b-form__note {
			font-size: 1.7rem;
			line-height: 2.3rem;
			padding-left: 24px;
			margin-top: -3px;
		}
		
		.b-form--newsletter { 
			max-width: 790px;
			padding-top: 2.25rem; 
			padding-right: 35px;
			padding-left: 50px;
		}
		
		.b-form--newsletter .b-form__label { width: 105px; }
		
		.l-footer:not(.l-footer--archives) > * { float: left; }
		
		.b-search {
			position: relative;
			line-height: 3.6rem;
			background: transparent;
			-webkit-transition:	margin-left .3s ease;
			-moz-transition: 	margin-left .3s ease;
			transition: 		margin-left .3s ease;
			z-index: 2;
		}
		.b-search__group  { 
			position: absolute; top: 0; left: 0; 
			display: table;
		}
		
		.p-recherche .b-search .b-search__group:before,
		.b-search:hover .b-search__group:before {
			display: block;
			position: absolute; top: 3px; right: 3px; left: 3px; bottom: 3px;
			content: '';
			background-color: #AAA;
			color: white;
			z-index: -1;
		}
		.p-recherche .b-search,
		.b-search:hover { 
			margin-left: -53px;
			-webkit-transition:	margin-left .3s ease;
			-moz-transition: 	margin-left .3s ease;
			transition: 		margin-left .3s ease;
			color: white; 
		}
		
		.b-search__group > * { 
			display: table-cell;
		}
		.b-search__input {
			font-size: 1.7rem; 
			max-width: 0; 
			text-align: left;
		}
		
		.p-recherche .b-search .b-search__input,
		.b-search:hover .b-search__input	 { 
			max-width: none; 
			min-width: 115px; 
			margin-left: 9px;
			margin-right: 9px;
			background: transparent;
			color: #231F20;
		}
		

	
} /* END MQ 62.5em */

/*! card */

	.b-card {
		position: relative;
		width: 100%;
		height: 100%;
		display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
	}
	.l-main--text .b-card {
		display: block;
		text-align: left;
	}
	
	.b-card__media--portrait { max-height: 100%; }
	.b-card__media--lanscape { max-width: 100%; }
	.b-card__media--square { 
		max-width: 85%;
		max-height: 85%; 
	}
	.l-grid__item .b-card__media--square {
		max-width: 166px;
		max-height: 166px;
	}
	.b-list__media .b-card__media--square {
		max-width: 130px;
		max-height: 130px;
	}
	
	.b-card__cover {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: none;
		padding: 6px 8px;
		background-color: #AAA;
		color: #FFF;
	}
	.b-card:hover .b-card__cover { display: block; }
	
	.b-card__title { color: #231F20; }

	.b-card__link {
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
		display: block;
		cursor: pointer;
		font-size: 0;
	}
	
		
	
/*! Archives */


	.b-archives {
		min-width: 780px; /* 750 + 22 + 8 */
		max-width: 890px;
		padding-right: 22px; /* 22 + 8 */
	}
	
			.b-archives__row:before,
			.b-archives__row:after { 
				content: " "; 
				display: table;
			}
			.b-archives__row:after {
			    clear: both;
			}
		
				.b-archives__col { 
					float: left; 
					width: 30%;
					min-height: 26px;
					padding-top: 2px;
					padding-left: 8px;
					padding-right: 8px; 
					font-size: 17px;
/* 					line-height: 26px; */
				}
				.b-archives__col:last-child { width: 10%; }
				
				
	/* header */
	
		.b-archives__header { 
			position: fixed; top: 0; left: 220px;
			width: 100%;
			min-width: 758px;
			max-width: 868px;
			padding-top: 22px;
/* 			padding-bottom: 29px;  */
			padding-bottom: 25px; 
			background-color: #FFF;
			z-index: 1;
		}
	
			.b-archives__header .b-archives__col { 
				height: 30px;
				max-height: 30px;
				padding-top: 5px;
			}
				
			.b-archives__header .b-archives__col:hover,
			.b-archives__header .b-archives__col.is-active { 
				
				background-color: #231F1F; 
				background-image: url('../img/arrow-down.png');
				background-repeat: no-repeat;
				background-position-x: calc(100% - 7px);
				background-position-y: center;
			}
		
		
	/* list */
	
		.b-archives__list { margin-top: 77px; }
		
			.b-archives__list .b-archives__row:hover .b-archives__col { background-color: #BEBEBE; }
			.b-archives__list .b-archives__row.is-open .b-archives__col { background-color: #231F1F; }
			
			.b-archives .b-archives__item--order .b-archives__col:hover,
			.b-archives__list .b-archives__item:hover .b-archives__title,
			.b-archives__list .b-archives__row.is-open .b-archives__col { color: #FFF; }
		
		
	/* congent */
				
		.b-archives__content { 
			background-color: #FFF; 
			width: 100%;
		}
					
			.b-archives__content,
			.b-archives__grid,
			.b-archives__grid__wrapper {
				position: relative;
				overflow: hidden;
			}
			
				.b-archives__content.is-active { 
					padding-top: 18px;
					padding-bottom: 7px;
					border-bottom: 1px solid #231F1F;
					overflow: inherit;
				}
				
				.b-archives__content.is-active:before,
				.b-archives__content.is-active:after{
				    content: " "; 
				    display: table; 
				}
				.b-archives__content.is-active:after { clear: both; }
				
			
				.b-archives__functions {
					float: left;
					width: 154px;
					padding: 0 8px; 
					margin-top: -4px;
				}
				
					.b-archives__link {
						display: block;
						font-size: 1.4rem;
						line-height: 1.6rem;
					} 
					.b-archives__link--pub {
						position: absolute; top: 10px; left: -198px;
						font-size: 17px;
						line-height: 26px;
					}
					.b-archives__link--dlAll { }
					.b-archives__link--dlSelect { margin-top: 20px; }
				
				.b-archives__grid__wrapper { margin: 0 -8px; }
					
					.b-archives__grid__item { float: left; }
			
			
			
			.b-select { padding: 0 8px; }
		
				.b-select__media {
					width: 130px;
					height: 130px;
				}
				.b-select__check {
					position: relative;
					display: block;
					width: 100%;
					height: 26px;
/* 					line-height: 26px; */
					padding-top: 6px;
					text-align: center;
				}
					.b-select__check input {
						position: absolute;
						opacity: 0;
						z-index: -1;
					}
					.b-select__indicator {
						position: relative;
						display: inline-block;
						width: 14px;
						height: 14px;
/* 						background-color: #FFF; */
						background-color: transparent;
						border: 1px solid #231F20;
					}
					
					.b-select__check  input:checked ~ .b-select__indicator:before,
					.b-select__check  input:checked ~ .b-select__indicator:after {
						position: absolute; top: 5px; left: -3px;
						display: block;
						content: '';
						width: 19px;
						height: 1px;
						background-color: #000;
						transform: rotate(45deg);
						z-index: 1;
					}
					.b-select__check  input:checked ~ .b-select__indicator:after {
						transform: rotate(-45deg);
					}
			
			
	
	/* preview */
		
		.b-archivesPreview {
			width: 152px;
			height: 152px;
		}
	

/* ---------------------------------------------------------
--- Patterns */

	body { background-color: #FFF; }

	body,
	.p-textBody { color:  rgb(150,150,150); }
	
	a { 
		color: inherit; 
		text-decoration: none;
	}

	a:hover,
	a.is-active,
	.b-menu__item--n1.js-active > a,
	.l-article a,
	.h1,
	.b-list__title,
	.p-textBlack,
	.b-banner__content,
	.c-searchTag { color: #231F20; }
	
	.l-article a:hover,
	a.p-inverse { color:  #AAA; }
	a.p-inverse:hover { color:  #231F20; }
	
	

/* ---------------------------------------------------------
--- Objets :

	Grid | Table layout | Responsive Embed */
	
	.o-bfc { overflow: hidden; }
	
	.o-embed {
		display: block;
		overflow: hidden;
		position: relative;
		width: 100%;
		height: 0;
	}
	.o-embed--third 	{ padding-bottom : 33.33333%; }
	.o-embed--half 		{ padding-bottom : 50%; }
	.o-embed--16ninth	{ padding-bottom : 56.25%; } /* 9:16 = 0.5625 > 56.25% */
	.o-embed--4thirds 	{ padding-bottom : 75%; }
	.o-embed--equal		{ padding-bottom : 100%; }		
	
		.o-embed iframe {
		    position: absolute;
		    top:0;
		    left: 0;
		    width: 100%;
		    height: 100%;
		}


/* ---------------------------------------------------------
--- Interaction  */	

@media (max-width: 62.49em) {
	
	.b-menu__item--n1.js-hide { display: none; }
	
}


	.js-btViewArticle { display: none; }
	
	
@media only screen and (min-width: 62.5em) {
	
	.js-btViewArticle { display: block; }
	
	.l-article.is-large .js-btViewArticle { display: none; }
	
	.js-accordion__bt.is-open + .js-accordion__content { margin-top: -1px; }
}
	
	.js-accordion__bt { cursor: pointer; }
	
	.js-accordion__content,
	.js-accordion__content .b-list__media { 
		 overflow: hidden;
		 max-height: 0;
	}
	
	.js-accordion__bt.is-open + .js-accordion__content,
	.js-accordion__bt.is-open + .js-accordion__content .b-list__media { max-height: none; }

/*
	
/* ---------------------------------------------------------
--- Addons

	Slider \ Fancybox \ Tooltip */
	
	
	.swiper-container { height: calc(100vh - 158px); }

	
	
@media only screen and (max-width: 62.49em) {
	
	.swiper-container--menu.swiper-container-vertical>.swiper-scrollbar { right: -9999px; }
	
	.swiper-container.swiper-container--pInfoText {
		height: auto;
		overflow: inherit;
	}
	
	.swiper-container.swiper-container--pInfoText .swiper-wrapper { 
		display: block; 
		margin-bottom: 60px; 
	}
	
	.p-actualites .b-list__media,
	.swiper-container.swiper-container--pInfoText .swiper-slide {
		position: relative;
		width: 192px;
		height: 192px;
		margin: 18px auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
	}
	.swiper-container.swiper-container--pInfoText .swiper-slide .b-card { 
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
		text-align: center; 
	}
	
	.swiper-button-next,
	.swiper-button-prev { 
		width: 0;
		height: 0;
		top: -9999px;
		z-index: -10; 
	}
}
	
@media (min-width: 62.5em) {
	
    .swiper-container {
        width: 100%;
        height: 100%;
        margin-left: auto;
        margin-right: auto;
        z-index: -1;
    }
    
	.swiper-button-prev,
	.swiper-button-next {
		top: auto;
		left: auto;
		right: 20px;
/* 		width: calc(100vw - 230px); */
		width: calc(100vw - 245px);
		height: 17vh;
		background-repeat: no-repeat;
		background-size: 40px;
	}
	.swiper-button-prev {
		bottom: 20px;
		height: 23vh;
		background-image: url(../img/arrows-left.png);
		background-position: right bottom;
	}
	.swiper-button-prev:hover {
		background-image: url(../img/arrows-left--over.png);
	}
	.swiper-button-next { 
		bottom: calc(23vh + 20px);
		height: 50vh;
		background-image: url(../img/arrows-right.png);
		background-position: right center; 
	}
	.swiper-button-next:hover {
		background-image: url(../img/arrows-right--over.png);
	}
	
	.l-wrapper + .swiper-button-next + .swiper-button-prev,
	.l-wrapper + .swiper-button-next { position: fixed; }
} 
    
	    .swiper-container:not(.swiper-container--menu) .swiper-slide {
	        text-align: center;
	        /* Center slide text vertically */
	        display: -webkit-box;
	        display: -ms-flexbox;
	        display: -webkit-flex;
	        display: flex;
	        -webkit-box-pack: center;
	        -ms-flex-pack: center;
	        -webkit-justify-content: center;
	        justify-content: center;
	        -webkit-box-align: center;
	        -ms-flex-align: center;
	        -webkit-align-items: center;
	        align-items: center;
	    }
	    
	    .swiper-container--menu .swiper-slide { height: auto; }
    
/*
     .l-main--text .swiper-slide { text-align: left; }
     
     .l-main--text .swiper-container,
     .l-main--text .swiper-slide .b-card { height: calc(100vh - 22px); }
*/
  
/*     .l-main--text .swiper-slide, */
	.js-accordion__content .b-list__media .swiper-slide  {
		display: block;
	}
	

/* ==========================================================================
   Helper classes
   ========================================================================== */
   
 /*
 * Size
 */


 /*
 * flux
 */
   
   .u-inbl { display: inline-block; }
   .u-fl { float: left; }
   .u-fr { float: right; }
   
@media (min-width: 62.5em) {
	
	.u-inbl-\@jg	{ display: inline-block; }
	.u-fl-\@lg 		{ float: left; }
	.u-fr-\@lg 		{ float: right; }

}   

   
 /*
 * Position | Alignement
 */
 
 	.u-vaT { vertical-align: top; }
 	.u-vaM { vertical-align: middle; }
 	.u-vaB { vertical-align: bottom; }
   
/*
 * texte
 */   
   	
   .u-textCenter 	{ text-align: center; }
   .u-textLeft		{ text-align: left; }
   .u-textRight		{ text-align: right; }
   
   .u-textUppercase { text-transform: uppercase; }
   

/*
 * marge | padding
 */ 
   	.u-mT--1l { margin-top: 1.7rem; }
      	
/*
 * affichage /masquage 
 */	

	.u-visible-\@lg { display: none; }
	

@media (min-width: 62.5em) {
	
	.u-only-\@sm 	{ display: none; }
	.u-visible-\@lg	{ display: block; }
	
}


/*
 * Hide visually and from screen readers
 */

.u-hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.u-visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.u-invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.u-clearfix:before,
.u-clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.u-clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


/* ==========================================================================
   Dev
   ========================================================================== */
   
/*
	.l-wrapper	{background-color: aqua; }
	.l-header 	{background-color: blue;}
	.l-main 	{background-color: yellow;}
	.l-media 	{background-color: grey;}
	.l-article 	{background-color: fuchsia; }
	.l-footer 	{background-color: green; }
*/
