@charset "UTF-8";
/* UTF-8 déclaré avant toute chose */

/******************************************************************
 * RÖCSSTI : une base CSS par Nicolas Hoffmann https://rocssti.net/
 * Builder : https://rocssti.net/builder-css
 * inspiré par http://www.knacss.com/
 *
 * RÖCSSTI est sous licence MIT : https://github.com/nico3333fr/ROCSSTI/blob/master/LICENSE
 * 
 * cette CSS est fournie telle quelle, sans aucune garantie d’aucun type, 
 * l’auteur ne saurait être tenu responsable de quoi que ce soit pour 
 * l’utilisation de RÖCSSTI.
 *
 * convention (à adapter si besoin)
 *  .parent
 *  .parent__enfant
 *  .parent--modifieur  
 * 
 * RTL = Right To Left => 
 * pour adapter un site dans une langue qui se lit de droite à gauche
 * prévu surtout pour sites multilingues avec LTR et RTL
 *
 * 
 * résumé
 * 01 -- reset
 * 02 -- ainsi font font font + structure Hx
 * 03 -- classes utilitaires + fix typos + styles "balises fixes"
 * 04 -- liens + icônes
 * 05 -- layout et modules
 * 06 -- structure (page / skip links / header / main content / footer)
 * 07 -- forms
 * 08 -- dans le contenu
 * 09 -- breakpoints mineurs entre desktop et tablettes
 * 10 -- homo tablettes - breakpoint majeur
 * 11 -- breakpoints mineurs entre tablettes et mobile
 * 12 -- mobile - breakpoint majeur
 * 13 -- breakpoints mineurs tout petit mobile
 * 14 -- print
 * 15 -- fix viewport 
 * 16 -- règles d’état
 * 17 -- bonus : Fixes IE
 */




/*
 *****************************************************************
 * 1 -- reset
 *****************************************************************
 */

/* spécial HTML 5 */
article, aside, datagrid, datalist, details, dialog, figure, footer, header, main, menu, nav, section { display: block; }
audio, canvas, progress, video { display: inline-block; }
abbr, eventsource, mark, meter, time, output, bb { display: inline; }

/* à commenter/fallback si vous vous souciez d’IE<8 */
html { box-sizing: border-box; }
*, *:before, *:after {
  box-sizing: inherit;
  outline: none;
}

/* reset minimum */
html, body, blockquote, ul, ol, form, button { margin: 0; padding: 0; }
button { border: 0; }
p, ul, ol, dl, blockquote, pre, td, th, label, textarea {
  font-size: 1em; /* equiv 14px */
  line-height: 1.5;
  margin: 1.5em 0;
}

/* reset buttons, bien les styler ensuite dans les forms */
input, select, textarea, optgroup, button {
  background: transparent;
  border: 0;
  font: inherit;
  /* -webkit-appearance: none; */
}

/* fix display img/iframe */
img,
iframe { vertical-align: middle; }

ul, ol { padding-left: 2em; }

.unstyled {
  padding-left: 0;
  list-style-type: none;
}

/* RTL */
[dir="rtl"] ul, 
[dir="rtl"] ol { 
  padding-left: 0; 
  padding-right: 2em;
}
[dir="rtl"] .unstyled {
  padding-right: 0;
}


/* la base correspond à 10px */
html { 
  font-size: 62.5%;
  /* IE9-IE11 math fixing. Voir https://connect.microsoft.com/IE/feedback/details/816709/ */
  /* Merci à @guardian, @victorbritopro, @eQRoeil & Knacss */
  font-size: calc(1em * 0.625);
}
body {
  background: #fff;
  color: #000;
  /*font-family: 'Nunito-Light', Arial, sans-serif;*/
  font-family: 'Montserrat-Regular', Arial, sans-serif;
  font-size: 1.7em; /* taille de base équiv à 14px */
  line-height: 1.5; /* à corriger si besoin est */
}


/*
 *****************************************************************
 * 02 -- ainsi font font font + structure Hx
 *****************************************************************
 */ 

/** Generated by FG **/
@font-face {
	font-family: 'Nunito-Light';
	src: url('../fonts/Nunito-Light.eot');
	src: local('☺'), url('../fonts/Nunito-Light.woff') format('woff'), url('../fonts/Nunito-Light.ttf') format('truetype'), url('../fonts/Nunito-Light.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}

/** Generated by FG **/
@font-face {
	font-family: 'Nunito-SemiBold';
	src: url('../fonts/Nunito-SemiBold.eot');
	src: local('☺'), url('../fonts/Nunito-SemiBold.woff') format('woff'), url('../fonts/Nunito-SemiBold.ttf') format('truetype'), url('../fonts/Nunito-SemiBold.svg') format('svg');
	font-weight: bold;
	font-style: normal;
}

/* calculées via https://rocssti.net/builder-css
 * basé sur http://soqr.fr/vertical-rhythm/ merci @goetter & @eQRoeil */

@font-face {
	font-family: 'Montserrat-Regular';
	src: url('../fonts/Montserrat-Regular.ttf');
	font-weight: normal;
	font-style: normal;
}@font-face {
	font-family: 'Hero-Regular';
	src: url('../fonts/Hero-Regular.ttf');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Hero-Light';
	src: url('../fonts/Hero-Light.ttf');
	font-weight: lighter;
	font-style: normal;
}
@font-face {
	font-family: 'Hero-Bold';
	src: url('../fonts/Hero-Bold.ttf');
	font-weight: bold;
	font-style: normal;
}

h1,
.h1 {
  display: block;
  font-size: 40px; 
  line-height: 1.3;
  margin: 0 0 .5em 0;
  /*font-family: 'Nunito-SemiBold';*/
  font-family: 'Hero-Bold';
  font-weight: normal;
}
.page-home h1, .page-home .h1 {
 /*font-family: 'Nunito-Light';*/
 font-family: 'Hero-Light';
  font-weight: normal;
}
/*.color-green { color: #15d491; }*/
h2,
.h2 {
  display: block;
  font-size: 34px; 
  line-height: 1.3;
  margin: 0 0 .5em 0;
  /*font-family: 'Nunito-SemiBold';*/
  font-family: 'Hero-Bold', Arial, sans-serif;
  font-weight: normal;
}
h3,
.h3 {
  display: block;
  font-size: 22px; 
  line-height: 1.3;
  margin: 0 0 .5em 0;
  /*font-family: 'Nunito-SemiBold';*/
  font-family: 'Hero-Bold', Arial, sans-serif;
  font-weight: normal;
}
h4,
.h4 {
  display: block;
  font-size: 18px; 
  line-height: 1.3;
  margin: 0 0 0 0;
  font-weight: normal;
}
h5,
.h5 {
  display: block;
  font-size: 20px; 
  line-height: 1.3;
  margin: 0 0 .5em 0;
  /*font-family: 'Nunito-SemiBold';*/
  font-family: 'Montserrat-Regular', Arial, sans-serif;
  font-weight: normal;
}
h6,
.h6 {
  display: block;
  font-size: 26px; 
  line-height: 1.3;
  margin: 0 0 .5em 0;
  /*font-family: 'Nunito-Light';*/
  font-family: 'Montserrat-Regular', Arial, sans-serif;
  font-weight: normal;
  color: #ad782b;
}

.uppercase {
  text-transform: uppercase;
}

/* autres classes utiles */
.smaller {
  font-size: 15px;
}
.small {
  font-size: .85714em; /* equiv 12px */
  line-height: 1.75;
  margin: 1.75em 0;
}
.big {
  font-size: 1.14286em; /* equiv 16px */
  line-height: 1.3125;
  margin: 1.3125em 0;
}
.bigger {
  font-size: 1.28571em; /* equiv 18px */
  line-height: 1.16667;
  margin: 1.16667em 0;
}
.biggest {
  font-size: 1.42857em; /* equiv 20px */
  line-height: 1.05;
  margin: 1.05em 0;
}

h1 + p { margin-top: 0; }
h2 + p { margin-top: 0; }
h3 + p { margin-top: 0; }
h4 + p { margin-top: 0; }

.mail:before {
	content: "";
	display: inline-block;
	width:22px;
	height: 22px;
	background: url(../images/email.svg) no-repeat center center;
	background-size: contain;
	position: relative;
	top:3px;
	margin: 0 .5em 0 0;
}

.tel:before {
	content: "";
	display: inline-block;
	width:22px;
	height: 22px;
	background: url(../images/phone.svg) no-repeat center center;
	background-size: contain;
	position: relative;
	top:3px;
	margin: 0 .5em 0 0;
}

.web:before {
	content: "";
	display: inline-block;
	width:22px;
	height: 22px;
	background: url(../images/web30p.svg) no-repeat center center;
	background-size: contain;
	position: relative;
	top:3px;
	margin: 0 .5em 0 0;
}

/*
 *****************************************************************
 * 03 -- classes utilitaires + fix typos + styles "balises fixes"
 *****************************************************************
 */

.noborder,
iframe,
dialog { border: 0; }

/*
 * repris de http://tinytypo.tetue.net/ de @tetue
 * tuné avec l’aide de http://www.nicolas-hoffmann.net/utilitaires/codes-hexas-ascii-unicode-utf8-caracteres-usuels.php
 *
 * voir https://en.wikipedia.org/wiki/Quotation_mark#Summary_table pour les références
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}
:lang(fr) > q {
  quotes: "\00AB\A0" "\A0\00BB" "\201C" "\201D" "\2018" "\2019";
}
:lang(en) > q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}
:lang(es) > q {
  quotes: "\00AB" "\00BB" "\201C" "\201D";
}
:lang(it) > q {
  quotes: "\00AB\A0" "\A0\00BB" "\201C" "\201D";
}
:lang(de) > q {
  quotes: "\201e" "\201c" "\201a" "\2018";
}
q:before {
  content: open-quote;
}
q:after {
  content: close-quote;
}

/* éviter interlignage disgracieux */
sup,
sub {
  vertical-align: 0;
  position: relative;
}
sup {
  bottom: 1ex;
}
sub {
  top: .5ex;
}

/* éviter marges supplémentaires sur éléments imbriqués */
li p,
li ul {
  margin-bottom: 0;
  margin-top: 0;
}
/* Vous ne passerez PAS (Gandalf) */
/*textarea,
table,
td,
th,
code,
pre,
samp,
div,
p,*/
.cut {
  word-wrap: break-word;
}
@supports (-webkit-hyphens: auto) or (-ms-hyphens: auto) or (hyphens: auto) {
  /*textarea,
  table,
  td,
  th,
  code,
  pre,
  samp,
  div,
  p,*/
  .cut {
    word-wrap: normal;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
}
/* pour supprimer la césure si besoin */
.nocut {
  word-wrap: normal;
}
@supports (-webkit-hyphens: auto) or (-ms-hyphens: auto) or (hyphens: auto) {
  .nocut {
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
  }
}

code,
pre,
samp {
  white-space: pre-wrap;
}
code {
  line-height: 1;
}
kbd {
  border: solid 1px;
  border-top-left-radius: .5em;
  border-top-right-radius: .5em;
  padding: 0 .25em;
}
table {
  margin-bottom: 1.5em;
  table-layout: fixed;
}
/* j’y tiens, les abbr c’est bon pour la planète */
/* seuls ceux ayant un title sont signalés */
abbr[title] {
  border-bottom: dotted 1px; 
  cursor: help;
  text-decoration: none;
  /* couleur héritée du texte */
} 

/* alignements de textes */
.alignright  { text-align: right; }
.aligncenter { text-align: center; }
.alignleft   { text-align: left; }

/* RTL */
[dir="rtl"] .alignright  { text-align: left; }
[dir="rtl"] .alignleft   { text-align: right; }





/*
 *****************************************************************
 * 04 -- liens + icônes
 *****************************************************************
 */

/* Liens */
a {
  color: #0061a1;
  cursor: pointer;
  text-decoration: none;
}
/* penser au focus */
a:focus,
a:hover,
a:active {
  color: #000;
}
/* éviter la bordure sur une image comprise dans un lien + fix bordure image IE */
a:link img,
a:visited img, 
img {
  border-style: none;
}

.nodecoration {
  text-decoration: none;
}

/* liens avec icônes, on peut utiliser les DATA-URI */

/* pour signaler liens externes */
/*a[href^="http://"],
a[href^="https://"] {

}*/
/* si URL complète sur un lien interne, virer signalement liens externes */
/*a[href^="http://www.mondomaine.com"] {

}*/
/* contact, liens mailto */
/*.mail,
a[href^="mailto:"] {

}*/
/* dont l’URL se termine par .pdf ou ce que vous voulez comme extension */
/*a[href$=".pdf"] {

}*/

/* facto icons */
/*[class*=icon-30] {
display: inline-block;
width: 30px;
height: 30px;
}*/

.download {
	display: inline-block;
	background: url(/layout/images/download.svg) no-repeat 0 0;
	background-size: contain;
	padding-left: 2em;
}


/*
 *****************************************************************
 * 05 -- layout et modules
 *****************************************************************
 */

/**
 * layout
 */


/* ça dépend, ça dépasse */
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
svg {
  height: auto;
  max-width: 100%;
}
/* pas de reset sur embed, object et video, ça fait foirer certains players */

/* utile pour gérer les floattants */
/* contient des floats */
.mod { 
  overflow: auto;
}
.mod--hidden,
.no-scroll { 
  overflow: hidden;
}

/* quelques floattants */
.left {
  float: left;
}
.right {
  float: right;
}


/* clearer les floats */
.clear {
  clear: both;
}
/*
.clearleft {
  clear: left;
}
.clearright {
  clear: right;
}
.clearhidden {
  clear: both;
  margin: 0;
  padding: 0;
  visibility: hidden;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
*/

/* RTL */
[dir="rtl"] .left {
  float: right;
}
[dir="rtl"] .right {
  float: left;
}

/*[dir="rtl"] .clearleft {
  clear: right;
}
[dir="rtl"] .clearright {
  clear: left;
}*/


/* gouttière */
.gut {
  height: 1px;
}

/* gestion du table-design en CSS */
.row {
  display: table;
  table-layout: fixed;
}
.inline-row {
  display: inline-table;
  table-layout: fixed;
}
.line {
  display: table-row;
}
.col {
  display: table-cell;
  vertical-align: top;
}
.col-noalign {
  display: table-cell;
}

/* alignements */
.aligntop    { vertical-align: top; }
.alignbottom { vertical-align: bottom; }
.alignmiddle { vertical-align: middle; }

/* block */
.bl {
  display: block;
}

/* inline-block, utile pour les grilles et pas seulement */
.inbl,
.grid {
  display: inline-block;
}

/* grid = élément d’une inline-grid */
.grid {
  vertical-align: top;
}

/* pour relativiser */
.relative {
  position: relative;
}

/* bloc centré */
.center {
  margin-left: auto;
  margin-right: auto;
}

/* activation de l’accélération matérielle */
.hardware-accelerated {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
}


/* largeurs de blocks */
.w1   { width: 1%; }
.w2   { width: 2%; }
.w3   { width: 3%; }
.w4   { width: 4%; }
.w5   { width: 5%; }
.w10  { width: 10%; }
.w20  { width: 20%; }
.w25  { width: 25%; }
.w30  { width: 30%; }
.w31  { width: 31%; }
.w33  { width: 33.333%; }
.w40  { width: 40%; }
.w45  { width: 45%; }
.w48  { width: 48%; }
.w49  { width: 49%; }
.w50  { width: 50%; }
.w60  { width: 60%; }
.w66  { width: 66.666%; }
.w70  { width: 70%; }
.w75  { width: 75%; }
.w80  { width: 80%; }
.w90  { width: 90%; }
.w100 { width: 100%; }

/* ici ajouter les largeurs en em */
/*.w960e { width: 60em; }*/
.w28e  { width: 28em; }

/* ici ajouter les largeurs en pixels */
/*.w500p { width: 500px; }*/
.w275px { width:275px; }
.w150px { width:150px; }
.h50 { height: 50px; }
.h75 { height: 75px; }

/* ici ajouter les largeurs max en em */
/*.mw960e { max-width: 60em; }*/

/* ici ajouter les largeurs max en pixels */
/*.mw960p { max-width: 960px; }*/

/* margins */
.mt0 { margin-top: 0; }
.mt1 { margin-top: 1em; }
.mt2 { margin-top: 2em; }
.mr0 { margin-right: 0; }
.mr1 { margin-right: 1em; }
.mr2 { margin-right: 2em; }
.mb0 { margin-bottom: 0; }
.mb1 { margin-bottom: 1em; }
.mb2 { margin-bottom: 2em; }
.mb3 { margin-bottom: 3em; }
.ml0 { margin-left: 0; }
.ml1 { margin-left: 1em; }
.ml2 { margin-left: 2em; }
.m0  { margin: 0; }
.m1  { margin: 1em; }
.m2  { margin: 2em; }

/* RTL = attention, utiliser avec précaution */
[dir="rtl"] .mr0 { margin-left: 0; }
[dir="rtl"] .mr1 { margin-right: inherit; margin-left: 1em; }
[dir="rtl"] .mr2 { margin-right: inherit; margin-left: 2em; }
[dir="rtl"] .ml0 { margin-right: 0; }
[dir="rtl"] .ml1 { margin-left: inherit; margin-right: 1em; }
[dir="rtl"] .ml2 { margin-left: inherit; margin-right: 2em; }

/* paddings */
.pt0 { padding-top: 0; }
.pt1 { padding-top: 1em; }
.pt2 { padding-top: 2em; }
.pt3 { padding-top: 3em; }
.pr0 { padding-right: 0; }
.pr1 { padding-right: 1em; }
.pr2 { padding-right: 2em; }
.pb0 { padding-bottom: 0; }
.pb1 { padding-bottom: 1em; }
.pb2 { padding-bottom: 2em; }
.pb3 { padding-bottom: 3em; }
.pb4 { padding-bottom: 4em; }
.pl0 { padding-left: 0; }
.pl1 { padding-left: 1em; }
.pl2 { padding-left: 2em; }
.p0  { padding: 0; }
.p1  { padding: 1em; }
.p2  { padding: 2em; }

/* RTL = attention, utiliser avec précaution */
[dir="rtl"] .pr0 { padding-left: 0; }
[dir="rtl"] .pr1 { padding-right: 0; padding-left: 1em; }
[dir="rtl"] .pr2 { padding-right: 0; padding-left: 2em; }
[dir="rtl"] .pl0 { padding-right: 0; }
[dir="rtl"] .pl1 { padding-left: 0; padding-right: 1em; }
[dir="rtl"] .pl2 { padding-left: 0; padding-right: 2em; }

/* spécial hr de 1px de haut */
hr {
  background-color: #C4C4C4;
  border: 0;
  color: #C4C4C4;
  height: 1px;
  margin: 0 0 0;
  padding: 0;
}

/* pour cacher du texte de manière accessible… toussââââ */
.invisible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.nonvisible { visibility: hidden; }

.hidden, [hidden] { display: none; } /* caché partout */
.nodesktop { display: none; } /* caché sur desktop */
/*.noprint   {} /* caché sur print */
/*.notablet  {} /* caché sur tablettes */
/*.nomobile  {} /* caché sur mobile */


/**
 * modules
 */

.navigation .js-nav-system__subnav {
	position: absolute;
	background: #f4f4f4;
    list-style: none;
    z-index: 100;
  	margin: 20px 0 0 0;
  	padding: 0;
}
.navigation .js-nav-system__subnav:before {
	content: "";
	display: block;
	width:20px;
	height: 20px;
	border: 10px solid #fff;
	border-bottom: 10px solid #f4f4f4;
	position: relative;
	top:-20px;
	left: calc(50% - 10px);
}
.navigation .js-nav-system__subnav__item {
  	margin: 0;
  	padding: 0;
  	list-style: none;
}
.navigation .js-nav-system__subnav__link {
  	margin: 0;
  	padding: .3em 1em;
  	display: inline-block;
  	text-decoration: none;
  	width: 100%;
}
.navigation .js-nav-system__subnav__link--active {
  	color: #333;
}

.filters .js-nav-system__subnav {
  position: absolute;
  top:48px;
  width: 300px;
  max-width: 300px;
  max-height: 450px;
  overflow-y: auto;
  background: #fff;
  border:2px solid #3381b4;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 100
}

.filters .js-nav-system__subnav__item {
  margin: 0;
  padding: 0;
  list-style: none;
}
.filters .js-nav-system__subnav__link {
  margin: 0;
  padding: .2em 1em;
  display: inline-block;
  text-decoration: none;
  width: 100%;
}
.filters .js-nav-system__subnav__link:hover, .filters .js-nav-system__subnav__link--selected {
	background: #3381b4;
	color: #fff;
}
.filters .js-nav-system__subnav__link--inactive {
    color: #ccc !important;
 	background: #fff !important;	
}
/*[data-visually-hidden="true"] {
  display: none;
}
[data-visually-hidden="false"] {
  display: block;
}*/
.filtersnav {
	display: inline-block;
	margin: 0;
  padding-left: 0;
}
.js-nav-system__subnav {
  display: none;
}
.js-nav-system__subnav[data-visually-hidden="false"] {
  display: block;
}

.filters .js-nav-system__item {
	display: inline-block;
	margin: 0;
	position: relative;
}
.filters .js-nav-system__link {
	color: #fff;
	background: #3381b4 url(../images/down.svg) no-repeat 97% center;
	padding: .5em 2.5em .5em 1em;
	display: inline-block;
	border:2px solid #3381b4;
	border-radius:10px 10px 10px 10px;
	margin: 0 .5em 0 0;
}
.filters .js-nav-system__item:hover .js-nav-system__link {
	border: 2px solid #3381b4;
	border-bottom: 2px solid #fff;
  position: relative;
  z-index: 7777777777;
	border-radius: 10px 10px 0px 0px;
	background-color: #fff;
	color: #0061a1;
  top: 1px;
}



/*.js-to_expand[aria-hidden=true],
.js-to_expand[data-hidden=true] {
  display: none;
}*/
.filter-expandmore__button {
  background: none;
  font-size: inherit;
  color: inherit;
}
/* optional */
/*.expandmore__symbol:before {
  content : '+ ';
}
.expandmore__button[aria-expanded=true] > .expandmore__symbol:before,
.expandmore__button[data-expanded=true] > .expandmore__symbol:before {
  content : '− ';
}*/

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxContent{margin-top:32px; overflow:visible; background:#000;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{background:#000; padding:1px;}
        #cboxLoadingGraphic{background:url(/layout/images/loading.gif) no-repeat center center;}
        #cboxLoadingOverlay{background:#000;}
        #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
        #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(/layout/images/controls.png) no-repeat 0 0;}
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxPrevious{background-position:0px 0px; right:44px;}
        #cboxPrevious:hover{background-position:0px -25px;}
        #cboxNext{background-position:-25px 0px; right:22px;}
        #cboxNext:hover{background-position:-25px -25px;}
        #cboxClose{background-position:-50px 0px; right:0;}
        #cboxClose:hover{background-position:-50px -25px;}
        .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
        .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
        .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
        .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
        .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}

/*
 * STYLES FOR CARROUSEL, EXAMPLES
 * en Français : STYLES POUR LE CARROUSEL, EXEMPLES 
 */
 
/* ------------------ carousel global styles ------------------ */

.carrousel__container {
  
}
.carrousel__content[aria-hidden=true] {
  display: none;
}
.carrousel__content[aria-hidden=true] {
  white-space: normal;
}

/* exemple styles */
.news-carrousel__container {
  white-space: nowrap;
}
.news-carrousel__control__list {
  position: absolute;
  list-style-type: none;
  top: 100%;
  right: 0;
  left: 0;
  margin-top: -3.5em;
  padding-left: 0;
  text-align: center;
  z-index: 1000;
}
.news-carrousel__control__list__item {
  display: inline-block;
  margin: 0 .5em;
}
.news-carrousel__control__list__link {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: #fff;
  border: 1px solid #666;
  border-radius: 1em;
}

.news-carrousel__button-container {
  position: absolute;
  display: none;

}
.news-carrousel__button__previous {
  top: 50%;
  margin-top: -18px;
  left: 0;
  margin-left: -35px;
}
.news-carrousel__button__next {
  top: 50%;
  margin-top: -18px;
  right: 0;
  margin-right: -35px;
}
.news-carrousel__button__button {
  margin: 0;
  padding: 0;
  background: transparent;
}


/* ------------------ transition slide ------------------ */
.slide .carrousel__content {
  display: inline-block;
  vertical-align: top;
  visibility: visible;
  width: 100%;
  position: relative;
  -webkit-transition: left .5s ease-in;
  -moz-transition: left .5s ease-in;
  -o-transition: left .5s ease-in;
  -ms-transition: left .5s ease-in;
  transition: left .5s ease-in;
  white-space: normal;
}

.slide .carrousel__content.visibility-off {
  visibility: hidden;
}



.carrouselslide-1-1.slide > div,
.carrouselslide-2-1.slide > div,
.carrouselslide-3-1.slide > div,
.carrouselslide-4-1.slide > div,
.carrouselslide-5-1.slide > div,
.carrouselslide-6-1.slide > div,
.carrouselslide-7-1.slide > div,
.carrouselslide-8-1.slide > div,
.carrouselslide-9-1.slide > div,
.carrouselslide-10-1.slide > div {
  left: 0;
}
.carrouselslide-1-2.slide > div,
.carrouselslide-2-2.slide > div,
.carrouselslide-3-2.slide > div,
.carrouselslide-4-2.slide > div,
.carrouselslide-5-2.slide > div,
.carrouselslide-6-2.slide > div,
.carrouselslide-7-2.slide > div,
.carrouselslide-8-2.slide > div,
.carrouselslide-9-2.slide > div,
.carrouselslide-10-2.slide > div {
  left: -100%;
}
.carrouselslide-1-3.slide > div,
.carrouselslide-2-3.slide > div,
.carrouselslide-3-3.slide > div,
.carrouselslide-4-3.slide > div,
.carrouselslide-5-3.slide > div,
.carrouselslide-6-3.slide > div,
.carrouselslide-7-3.slide > div,
.carrouselslide-8-3.slide > div,
.carrouselslide-9-3.slide > div,
.carrouselslide-10-3.slide > div {
  left: -200%;
}
.carrouselslide-1-4.slide > div,
.carrouselslide-2-4.slide > div,
.carrouselslide-3-4.slide > div,
.carrouselslide-4-4.slide > div,
.carrouselslide-5-4.slide > div,
.carrouselslide-6-4.slide > div,
.carrouselslide-7-4.slide > div,
.carrouselslide-8-4.slide > div,
.carrouselslide-9-4.slide > div,
.carrouselslide-10-4.slide > div {
  left: -300%;
}
.carrouselslide-1-5.slide > div,
.carrouselslide-2-5.slide > div,
.carrouselslide-3-5.slide > div,
.carrouselslide-4-5.slide > div,
.carrouselslide-5-5.slide > div,
.carrouselslide-6-5.slide > div,
.carrouselslide-7-5.slide > div,
.carrouselslide-8-5.slide > div,
.carrouselslide-9-5.slide > div,
.carrouselslide-10-5.slide > div {
  left: -400%;
}
.carrouselslide-1-6.slide > div,
.carrouselslide-2-6.slide > div,
.carrouselslide-3-6.slide > div,
.carrouselslide-4-6.slide > div,
.carrouselslide-5-6.slide > div,
.carrouselslide-6-6.slide > div,
.carrouselslide-7-6.slide > div,
.carrouselslide-8-6.slide > div,
.carrouselslide-9-6.slide > div,
.carrouselslide-10-6.slide > div {
  left: -500%;
}
.carrouselslide-1-7.slide > div,
.carrouselslide-2-7.slide > div,
.carrouselslide-3-7.slide > div,
.carrouselslide-4-7.slide > div,
.carrouselslide-5-7.slide > div,
.carrouselslide-6-7.slide > div,
.carrouselslide-7-7.slide > div,
.carrouselslide-8-7.slide > div,
.carrouselslide-9-7.slide > div,
.carrouselslide-10-7.slide > div {
  left: -600%;
}
.carrouselslide-1-8.slide > div,
.carrouselslide-2-8.slide > div,
.carrouselslide-3-8.slide > div,
.carrouselslide-4-8.slide > div,
.carrouselslide-5-8.slide > div,
.carrouselslide-6-8.slide > div,
.carrouselslide-7-8.slide > div,
.carrouselslide-8-8.slide > div,
.carrouselslide-9-8.slide > div,
.carrouselslide-10-8.slide > div {
  left: -700%;
}
.carrouselslide-1-9.slide > div,
.carrouselslide-2-9.slide > div,
.carrouselslide-3-9.slide > div,
.carrouselslide-4-9.slide > div,
.carrouselslide-5-9.slide > div,
.carrouselslide-6-9.slide > div,
.carrouselslide-7-9.slide > div,
.carrouselslide-8-9.slide > div,
.carrouselslide-9-9.slide > div,
.carrouselslide-10-9.slide > div {
  left: -800%;
}


.slide .carrousel__content[aria-hidden=true] {
  display: inline-block;
}



/* ------------------ transition fade ------------------ */
.fade .carrousel__content {
  -webkit-animation: fadein 1s;
  -moz-animation:    fadein 1s;
  -o-animation:      fadein 1s;
  -ms-animation:     fadein 1s;
  animation:         fadein 1s;
  white-space: normal;
}
.fade .carrousel__content[aria-hidden=true] {
  -webkit-animation: fadeout 1s;
  -moz-animation:    fadeout 1s;
  -o-animation:      fadeout 1s;
  -ms-animation:     fadeout 1s;
  animation:         fadeout 1s;
}

@-webkit-keyframes fadeout {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-moz-keyframes fadeout {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-o-keyframes fadeout {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-ms-keyframes fadeout {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeout {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

@-webkit-keyframes fadein {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-moz-keyframes fadein {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-o-keyframes fadein {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-ms-keyframes fadein {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadein {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}



/* ------------------ transition none ------------------ */
.none .carrousel__content {
  white-space: normal;
}


/* ------------------ State rules ------------------ */
.news-carrousel__control__list__link:focus,
.news-carrousel__control__list__link:hover,
.news-carrousel__control__list__link:active,
.news-carrousel__control__list__link[aria-selected=true] {
  background: #666;
}

/*
 *****************************************************************
 * 06 -- structure globale 
 *      (page / skip links / header / contenu principal / footer)
 *****************************************************************
 */

/* === page === */
body::before {
  content: 'desktop';
  display: none;
}

.page {
  margin: 0 auto;
  position: relative;
}

.container {
	max-width: 1260px;
	margin: 0 auto;
    padding: 0 2em;
}

.bg-white { background: #fff; }

/* === skip links = liens d’évitement === */
.skip {
	position: absolute;
	display: none;
}
/* skip__link = un lien d’évitement  */
/* idéalement mettez-les visibles pas uniquement au focus */
.skip__link {

}
/* sinon pensez à les rendre visibles au focus */
.skip__link:focus,
.skip__link:hover,
.skip__link:active {

}



/* === header === */
.header {
    z-index: 100;
    position: relative;
}
.loginbox {
	background: #0061a1;
	background-size: cover;
}
.loginbox a {
	color:#b6e0f7;
	font-size: 15px;
}
.loginbox-container {
	width:300px;
	margin: 0 auto;
	text-align: center;
	display: block;
}
.lostpass {
	font-size: 14px;
}
.loginbox h2 {
	font-size: 34px;
	color: #fff;
}
.loginbox h3 {
	color: #fff;
}
.wlogo {
	width:235px;
}
.navigation-container {
    margin: 1em 0 0 0;
    z-index: 100;
}
.topmenu--link {
	font-size: 16px;
	padding: 0 1em 0 1.5em;
}
.topmenu--item:last-child .topmenu--link {
	padding: 0 0 0 1.5em;
}
.topmenu--link--login {
	background: url(../images/login-top.svg) no-repeat left center;
	padding-left: 1.5em; 
}
.topmenu--link--benevole {
	background: url(../images/profile-top.svg) no-repeat left center;
	padding-left: 1.5em; 
}
.navigation--link {
	font-weight: bold;
	padding: 0 0.7em 0 0.7em;
	font-size: 18px;
}
.navigation--link--active {
	color: #000;
}
.navigation--item:last-child .navigation--link {
	padding: 0 0 0 1em;
}

/* === contenu principal === */
.main {
	background: url(../images/bg-grey@2x.jpg) repeat center center;
	/*background-size: cover;*/
	background-attachment: fixed;
	min-height: 550px;
}
.main.bg-white {
	background: #fff;
}

.main li {
	list-style-image: url(../images/bullet.svg);
	margin: 0 0 .3em 0;
}

.bannerhome {
	height: 500px;
	background: url(../images/header@2x.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}

.bannerhome_meeting {
	height: 500px;
	background: url(../images/header@2x_meeting.png) no-repeat center center;
	background-size: cover;
	position: relative;
}

@media screen and (max-width: 500px) {
  .bannerhome_meeting {
    height: 500px;
    background: url(../images/header_mobile@2x_meeting.png) no-repeat center center;
    background-size: cover;
    position: relative;
  }
}

.bannerhome .containerblack h1 {
	background: rgba(0,0,0,.6);
	border-radius: 30px;
	padding: .5em;
}

.bannerpage {
	height: 200px;
	background: url(../images/header@2x.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}

.bannerhome h1 {
	color: #fff;
	position: absolute;
	bottom:2em;
	left:0;
	right:0;
	margin: 0;
	text-align: center;
	font-size: 42px;
	line-height: 1.3em;
	margin: 0 4em;
	display: block;
}

.back:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(../images/back.svg) no-repeat center center;
	background-size: contain;
	position: relative;
	top:6px;
}

.filters {
	background: #0061a1;
	padding: 1em;
	border-radius: 10px;
	color: #fff;
	position: relative;
	top:-2em;
	font-size: 18px;
}

.options {
	margin-top: -1em;
}

.js-option {
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #fff url(../images/display-list.svg) no-repeat center center;
	background-size: 75% 75%;
}

.options--block {
	background: #fff url(../images/display-blocks.svg) no-repeat center center;
	background-size: 75% 75%;
}

.js-option--selected.options--block, .js-option:hover.options--block {
	background-color: #0061a1;
	background-image: url(../images/display-blocks2.svg);
}

.js-option--selected.options--list, .js-option:hover.options--list {
	background-color: #0061a1;
	background-image: url(../images/display-list2.svg);
}

.options--label {
	display: inline-block;
	vertical-align: middle;
	padding: .3em .5em 0 0;
}

.annonce, .organisation {
	background: #fff;
	border-radius: 10px;
	margin: 0 0 1em 0;
	padding: 2em 2em 2em 2em;
	min-height: 200px;
	
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
}

.annonce:hover, .organisation:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.logoorganisation img {
	height: 100px;
	width:200px;
	object-fit: contain;
}

.boxlogo {
	background: #fff;
	text-align: center;
	width: 200px;
	height: 200px;
}

.corner1 {
	background: #fff url(../images/corner1.svg) no-repeat left top;
}

.corner2 {
	background: #fff url(../images/corner2.svg) no-repeat left top;
}

.corner3 {
	background: #fff url(../images/corner3.svg) no-repeat left top;
}

.corner4 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.corner5 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.corner6 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.corner7 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.corner8 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.corner9 {
	background: #fff url(../images/corner4.svg) no-repeat left top;
}

.grid-annonce, .grid-organisation {
	width: 32%;
}

.grid-annonce-sep, .grid-organisation-sep {
	width: 2%;
}

.grid-annonce-sep--nodekstop, .grid-organisation-sep--nodesktop {
	display: none
}

.annonce-date {
	display: block; 
	color: #AE7900;
	font-size: 18px;
}

.annonce-title, .organsiation-organisation {
	display: block;
	/*font-family: 'Nunito-SemiBold';*/
	font-family: 'Hero-Bold', Arial, sans-serif;
	font-size: 25px;
	line-height: 1.3em;
}

.annonce-organisation {
	display: block;
	color: #000;
	font-size: 18px;
}

.grid-actualite {
	width: 23%;
}

.grid-actualite-sep {
	width: 2.66%;
}

.grid-actualite-sep--nodekstop {
	display: none
}

.actualite {
	border-radius: 10px;
	margin: 0 0 1em 0;
	padding: 1em 1em 0 1em;
}

.actualite img {
	border-radius: 10px;	
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
}

.actualite:hover img {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

picture_actu {
	display: block;
	width: 100%;
	height: 150px;
	object-fit:contain;
	background: #fff;
	border-radius: 10px;
	padding: 1em;
}

picture_actugrey {
	display: block;
	width: 100%;
	height: 150px;
	object-fit:contain;
	background: #eee;
	border-radius: 0;
	padding: 0;
}

.picture_actu img {
	object-fit:contain;
	width: 100%;
	height: 150px;
	background: #fff;
	border-radius: 10px;
	padding: 1em;
}

.picture_actugrey img {
	object-fit:contain;
	width: 100%;
	height: 150px;
	background: #f4f4f4;
	border-radius: 10px;
	padding: 0;
}

.actualite-date {
	display: block; 
	color: #AE7900;
	margin: 0.5em 0 0 0;
	font-size: 16px;
}

.actualite-title {
	display: block;
	/*font-family: 'Nunito-SemiBold';*/
	font-family: 'Hero-Bold', Arial, sans-serif;
	font-size: 22px;
	line-height: 1.3em;
	padding-bottom: 1em;
}

.grid-projet {
	width: 23%;
}

.grid-projet-sep {
	width: 2.66%;
}

.grid-projet-sep--nodekstop {
	display: none
}

.projet {
	border-radius: 10px;
	margin: 0 0 1em 0;
	padding: 1em 1em 0 1em;
}

.projet img {
	border-radius: 10px;
	
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
}

.projet:hover img {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.projet-date {
	display: block; 
	color: #AE7900;
	margin: 0.5em 0 0 0;
	font-size: 16px;
}

.projet-title {
	display: block;
	/*font-family: 'Nunito-SemiBold';*/
	font-family: 'Hero-Bold', Arial, sans-serif;
	font-size: 22px;
	line-height: 1.3em;
}

@supports (display: grid) {
	.grid-annonces, .grid-organisations, .grid-galeries {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[3];
		    grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.grid-actualites {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[4];
		    grid-template-columns: repeat(4, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.grid-projets {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[4];
		    grid-template-columns: repeat(4, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.grid-galerie {
		height:200px;
		position: relative;
		text-align: center;
	}
	.grid-galerie img {
		object-fit: contain;
		text-align: center;
		height:200px;
	}
	.list-annonces, .list-organisations, .list-actualites, .list-projets {
		display: block;
	}
	.list-annonces .annonce, .list-organisations .organisation {
		min-height: auto;
	}
	.grid-annonce, .grid-organisation , .grid-actualite, .grid-projet {
		width: auto;
		margin: 0;
	}
	.grid-annonce-sep, .grid-organisation-sep, .grid-actualite-sep, .grid-projet-sep {
		display: none;
	}
}

.color-black { color: #000; }

.joinus {
	background: url(../images/banner@2x.jpg) no-repeat center center;
	background-size: cover;
	border-radius: 10px;
	color: #fff;
	font-size: 19px;
}

.joinus h1 {
	font-size: 40px;
	line-height: 1.3em;
	margin: 0;
}

.page-home h2 {
	font-size: 40px;
	line-height: 1.3em;
	margin: 0;
}

.borderradius {
	border-radius: 10px;
}

.p-content {
	padding: 2em 90px;
}

.breadcrumb {
	font-size: 18px;
	color: #ae7900;
}

.breadcrumb:after {
	content: " | ";
	color: #ae7900;
}

.breadcrumb:last-child:after {
	display: none;
}

.box {
	background: #F2F2F2;
	border-radius: 10px;
}

blockquote {
  font-size: 26px;	
  /*font-family: 'Nunito-Light';*/
  font-family: 'Montserrat-Regular', Arial, sans-serif;
  color: #ad782b;
  padding: 50px;
  position: relative;
}

blockquote:before {
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	position: absolute;
	top:-35px;
	left:50%;
	margin-left: -35px;
	background: url(../images/quote.svg) no-repeat center center;
	background-size: contain;
}

.ok:before {
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	position: absolute;
	top:-35px;
	left:50%;
	margin-left: -35px;
	background: url(../images/ok.svg) no-repeat center center;
	background-size: contain;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* === footer === */
.footer {
	background: #0061a1;
	font-size: 16px;
}

.footermenu--link {
	color: #fff;
	padding: 0 1em;
}

.footermenu--link:hover {
	color: #fff;
	opacity: 0.6;
}

.footer .wlogo {
	width:165px;
}


/*
 *****************************************************************
 * 07 -- forms
 *****************************************************************
 */

/* donne envie de cliquer sur un bouton */
label,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled] {
  cursor: default;
}

/* évite un resize potentiellement foireux */
textarea {
  resize: vertical;
}
/* supprime un bug Firefox sur button */
button::-moz-focus-inner { border: 0; padding: 0; }

label,
button,
input,
select {
  vertical-align: middle;
}

/* à adapter selon le design voulu */
input,
select,
textarea {
  border: 1px solid #D49A15;
  border-radius: 10px;
  padding: .5em;
  width: 100%;
  color: #000;
  background: #fff;
}

select {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background: #fff url(../images/down.svg) no-repeat 97% center;
}
#id_benevole_datenaiss_dd { width: 110px; border-radius: 0; }
#id_benevole_datenaiss_mm { width: calc(100% - 220px); margin-left:-1px; border-radius: 0; }
#id_benevole_datenaiss_yy { width: 110px; margin-left:-1px;  }

.js-search {
	background: #bdd9e7 url(../images/search.svg) no-repeat 97% center;
	border: 0;
	border-radius: 10px;
	margin: 0;
	color:#0061a1;
	display: inline-block;
	width: 360px;
  padding: .6em;
}
.js-search::placeholder {
	color:#0061a1;
}
.js-search-box {
	display: inline-block;
	vertical-align: middle;
	/*height: 44px; ???? */
	position: relative;
}
.js-search-box:after {
	content: "";
	display: block;
	background: #fff url(../images/search.svg) no-repeat center center;
	width: 44px;
	height: 48px;
	line-height: 48px;
	border-radius: 0 10px 10px 0;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin-right: -1px;
}
.loginfield {
	display: inline-row;
	vertical-align: middle;
	height: 44px;
	position: relative;
	margin: 0 0 .5em 0;
	padding-left: 2.5em; 
}
.loginfield textarea{
	border-radius: 0 10px 10px 0;
	position: relative;
	top: 2px;
	height: auto;
}
.loginfield input, 
.loginfield select {
	border-radius: 0 10px 10px 0;
	position: relative;
	top: 2px;
	height: 2.6em;
}
.loginfield:before {
	content: "";
	display: block;
	background: #D49A15 url(../images/form-person.svg) no-repeat center center;
	width:44px;
	height: 44px;
	line-height: 44px;
	border-radius:  10px 0 0 10px ;
	position: absolute;
	top: 2px;
	bottom: 0;
	left: 0;
	margin-left: -1px;
}
.loginfield.adressfield.textarea { height: auto; }
.loginfield.adressfield.textarea textarea { margin-top: 0; margin-bottom: 0; }
.passfield:before { background-image: url(../images/form-password.svg); }
.datefield:before { background-image: url(../images/form-birthday.svg); }
.phonefield:before { background-image: url(../images/form-phone.svg); }
.mailfield:before { background-image: url(../images/form-mail.svg); }
.companyfield:before { background-image: url(../images/form-company.svg); }
.filefield:before { background-image: url(../images/form-file.svg); }
.imagefield:before { background-image: url(../images/form-image.svg); }
.videofield:before { background-image: url(../images/form-video.svg); }
.adressfield:before { background-image: url(../images/form-adress.svg); }
.worldfield:before { background-image: url(../images/form-world.svg); }
.infofield:before { background-image: url(../images/form-info.svg); }


/* pour les textes des champs */

.label {
	width: 7em;
	padding: 0.4em 0 0 0;
	font-size: 17px;
}

.mandatory { font-weight: bold; }

.field {
	vertical-align: middle;
}

.fieldset {
	background: #fff;
	padding: 2em;
	border-radius: 10px;
}

.legend { font-size: 14px; color: #808080; }

/* à adapter selon le design voulu */
.button {
  background: #AE7900;
  padding: .5em 1em .5em 1em;
  color: #fff;
  border-radius: 10px;
  /*font-family: 'Nunito-SemiBold';*/
  font-family: 'Montserrat-Regular', Arial, sans-serif;
  font-size: 22px;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}

.button-green {
  background: #AE7900;
}

.button:hover {
	background: #916100;
	color: #fff;
}

.button-green:hover {
	background: #AE7900;
	color: #fff;
}

.loginbox-container .button {
	width: 100%;
	font-size: 20px;
}

.loginbox-container a.loginlink {
	color: #fff;
	display: block;
	margin: 0 0 .5em 0;
	text-align: right 
}

.blockcolumn {
	column-count: 2;
	-webkit-column-gap: 40px; /* Chrome, Safari, Opera */
    -moz-column-gap: 40px; /* Firefox */
    column-gap: 40px;
}

.check + [class*="radio_custom"]:before,
.check + [class*="check_custom"]:before {
  content: '';
  speak: none;
  background: url("/layout/images/admin/radiobutton.svg") 0 0 no-repeat;
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  top: 2px;
  margin:0 5px 0 0;
}
.check + [class*="check_custom"]:before {
  background: url("/layout/images/admin/checkbox.svg") 0 0 no-repeat;
}
.check:checked + [class*="radio_custom"]:before,
.check:checked + [class*="check_custom"]:before {
  content: '';
  speak: none;
  background-position: 0 -300px !important;
}
.alert .check + [class*="radio_custom"]:before,
.alert .check + [class*="check_custom"]:before {
  content: '';
  speak: none;
  background-position: 0 -600px;
}

input.date-field {
	width: 150px !important;
}
.date-field-box {
	position: relative
}
.date-field-box:after {
	content: "";
	display: inline-block;
	width:32px;
	height: 41px;
	background: #D49A15 url(../images/admin/calendar.svg) no-repeat .2em .4em;
	position: absolute;
	top:-.5em;
	right: 0;
	border-radius: 0px 10px 10px 0px;
}

/* 
 * évite dimensionnement des radios, checkboxes et images
 * et un affichage différent sous IE 
 */
input[type="radio"],
input[type="checkbox"],
input[type="image"] {
  background-color: transparent;
  border: 0;
  width: auto;
}

/* pour annuler la taille des inputs ou autres */
.auto {
  width: auto;
}

/* messages d’erreur ou de confirmation */
.alert,
.alert input,
.alert textarea,
.alert select {
  color: #bf0000;
  font-weight: bold;
}
/* .redborder sert à débugger uniquement */
.alert input,
.alert textarea,
.alert select,
.redborder {
  border: 1px solid #bf0000;
}
.alert img {
  border: 0;
}

.alertbox {
    background: #ffd9d9;
    color: #bf0000;
    padding: 1em;
    border-radius: 10px;
    margin-bottom: 2em;
    text-align: center;
}
.successbox {
	background: #d5ffd4;
	color: #221f20;
	padding: .5em;
}
.alert.loginfield:before {
	background-color: #bf0000 !important;
}
/*.ok {

}*/

/* 
 * peut être complété par les attributs HTML5 required
 * exemple avec une couleur, penser à ne pas uniquement transmettre l’info ainsi
 */
/*select:required:invalid,
input:required:invalid,
input:focus:invalid,
textarea:required:invalid,
textarea:focus:invalid {
  background: #fef6f6;
  -moz-box-shadow: none;
}

input:focus:required:valid,
textarea:focus:required:valid,
select:focus:required:valid {
  background: #efe;
  -moz-box-shadow: none;
}*/




/*
 *****************************************************************
 * 08 -- dans le contenu (contenus spécifiques aux pages)
 *****************************************************************
 */

/* home */





/*
 *****************************************************************
 * 09 -- breakpoints mineurs entre desktop et tablettes
 *****************************************************************
 */

@media (max-width: 960px) {
	
  .bannerhome h1 { margin: 0 1em; }

}

/*
 *****************************************************************
 * 10 -- homo tablettes - breakpoint majeur
 *****************************************************************
 */ 

@media (max-width: 48em) { /* equiv 768px */
   
  /**
   * layout/modules
   */

  /* affichage des éléments */
  .nodesktop { display: block; }

  /* cachage des éléments inutiles, chabitte ! */
  .notablet { display: none; }
  
  /* linéarisation contenus flottants/table-layout */
  .autotablet, .footer .wlogo {
    float: none;
    display: block;
    width: auto;
  }

  /* margins */
  .ontablet-mt0 { margin-top: 0; }
  .ontablet-mt1 { margin-top: 1em; }
  .ontablet-mt2 { margin-top: 2em; }
  .ontablet-mr0 { margin-right: 0; }
  .ontablet-mr1 { margin-right: 1em; }
  .ontablet-mr2 { margin-right: 2em; }
  .ontablet-mb0 { margin-bottom: 0; }
  .ontablet-mb1 { margin-bottom: 1em; }
  .ontablet-mb2 { margin-bottom: 2em; }
  .ontablet-ml0 { margin-left: 0; }
  .ontablet-ml1 { margin-left: 1em; }
  .ontablet-ml2 { margin-left: 2em; }
  .ontablet-m0  { margin: 0; }
  .ontablet-m1  { margin: 1em; }
  .ontablet-m2  { margin: 2em; }

  /* paddings */
  .ontablet-pt0 { padding-top: 0; }
  .ontablet-pt1 { padding-top: 1em; }
  .ontablet-pt2 { padding-top: 2em; }
  .ontablet-pr0 { padding-right: 0; }
  .ontablet-pr1 { padding-right: 1em; }
  .ontablet-pr2 { padding-right: 2em; }
  .ontablet-pb0 { padding-bottom: 0; }
  .ontablet-pb1 { padding-bottom: 1em; }
  .ontablet-pb2 { padding-bottom: 2em; }
  .ontablet-pl0 { padding-left: 0; }
  .ontablet-pl1 { padding-left: 1em; }
  .ontablet-pl2 { padding-left: 2em; }
  .ontablet-p0  { padding: 0; }
  .ontablet-p1  { padding: 1em; }
  .ontablet-p2  { padding: 2em; }
  
  /* alignements de textes */
  .ontablet-alignleft   { text-align: left; }
  .ontablet-aligncenter { text-align: center; }
  .ontablet-alignright  { text-align: right; }

  /**
   * adaptation structure globale (page / skip links / header / contenu principal / footer)
   */
  body::before {
    content: 'tablet';
  }
  
  .displaymenu {
	  position: absolute;
	  z-index: 300;
	  width: 40px;
	  height: 40px;
	  background: #fff url(../images/burgericon.svg) no-repeat center center;
	  top:1em;
	  right:1em;
  }
  
  .displayfilters {
	  padding: 0;
	  background: #0061a1 url(../images/filters.svg) no-repeat center center;
  }
  
  .expandmore__button {
    width: 100%;
    min-height: 40px;
  }
  .expandmore__to_expand {
    display: block;
  }
  [data-hidden="true"].expandmore__to_expand {
    display: none;
  }
    
  .container--filtres {
    padding: 0;
  }
  
  /*.filtersbar {
	  background: #0061a1;
	  padding: 1em;
  }*/
  
  .filters {
	  top: 0;
    border-radius: 0;
  }
  
  .is-active {
	  background: #0061a1 url(../images/close.svg) no-repeat center center;
  }
  
  .header {
	  position: inherit;
  }
  
  .navigation-container {
	  position: absolute;
	  left: 0;
	  right: 0;
	  top: 0;
	  bottom: 0;
	  padding: 2em;
	  margin: 0;
	  z-index: 200;
	  background: #0061a1;
	  text-align: center;
  } 
  
  .navigation--item {
	  display: block;
	  color: #fff;
  }
  
  .navigation--link {
	  display: block;
	  color: #fff;
	  padding: .5em 0 !important;
	  border-bottom:1px solid #fff;
  }
  
  .navigation-container[aria-hidden=true] {
	  display: none;
  }
  
  .navigation-container[aria-hidden=false] {
	  display: block;
  }
  
  .navigation-container .js-nav-system__subnav {
	  display: block;
	  position: relative;
	  margin: 0;
	  background: transparent;
	  border:0;
  }
  
  .navigation-container .js-nav-system__subnav__link {
	  color: #fff;
  }
  
  .navigation-container .js-nav-system__subnav__link--active {
	  color: #000;
  }
  
  .navigation-container .js-nav-system__subnav:before {
	  display: none;
  }
  
  .filtersnav,
  .filtersnav .js-nav-system__item {
	  display: block;
    margin-bottom: .5em;
  }
  .filtersnav [data-hideshow-prefix-class="filter"] {
	  display: block;
  }
  .filtersnav .filter-expandmore__to_expand {
	  display: block;
	  position: static;
	  /*top: 0;*/
  }
  .filtersnav .js-nav-system__link {
    margin-right: 0;
  }
  .filtersnav .js-nav-system__link.notablet,
  .filtersnav .filter-expandmore__to_expand[data-hidden=true] {
    display: none;
  }
  
  .filter-expandmore__button {
    margin: 0;
    padding: .5em 1em;
    display: inline-block;
    text-decoration: none;
    width: 100%;
	  background: #3381b4 url(../images/down.svg) no-repeat 97% center;
	  color: #fff;
    border: 2px solid #3381b4;
    border-radius: 10px ;
  }
  .filter-expandmore__button[aria-expanded=true] {
  	border: 2px solid #fff;
  	border-radius: 10px 10px 0 0;
  	background-color: #fff;
  	color: #000 /*#0061a1*/;
  }
  
  /*.filtersnav .js-nav-system__item {
	  display: block;
	  margin: 0 0 1em 0;
  }*/
  .js-nav-system__subnav {
	  width: 100%;
    max-width: 100%;
    border: 2px solid #fff;
  }
  
  .js-search {
    width: 100%;
  }
  

  @supports (display: grid) {
	.grid-annonces, .grid-organisations {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[2];
		    grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.grid-actualites {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[2];
		    grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
	.grid-projets {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[2];
		    grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
	}
  }

	.p-content {
		padding: 1em ;
	}
  
  .footermenu--item {
	  display: block
  }
  
  .footermenu--link {
	  display: block;
	  padding: .2em 0;
  }
  
  /**
   * dans le contenu (contenus spécifiques aux pages)
   */

}




/*
 *****************************************************************
 * 11 -- breakpoints mineurs entre tablettes et mobile
 *****************************************************************
 */






/*
 *****************************************************************
 * 12 -- mobile - breakpoint majeur
 *****************************************************************
 */

@media (max-width: 40em) { /* equiv 640px */

  /**
   * layout/modules
   */

  /* affichage des éléments */
  .notablet { display: block; }

  /* cachage des éléments inutiles, chabitte ! */
  .nomobile { display: none; }

  /* linéarisation contenus flottants/table-layout */
  .automobile {
    float: none;
    display: block;
    width: auto;
  }
	
	.blockcolumn { column-count: 1; }
  
  /* margins */
  .onmobile-mt0 { margin-top: 0; }
  .onmobile-mt1 { margin-top: 1em; }
  .onmobile-mt2 { margin-top: 2em; }
  .onmobile-mr0 { margin-right: 0; }
  .onmobile-mr1 { margin-right: 1em; }
  .onmobile-mr2 { margin-right: 2em; }
  .onmobile-mb0 { margin-bottom: 0; }
  .onmobile-mb1 { margin-bottom: 1em; }
  .onmobile-mb2 { margin-bottom: 2em; }
  .onmobile-ml0 { margin-left: 0; }
  .onmobile-ml1 { margin-left: 1em; }
  .onmobile-ml2 { margin-left: 2em; }
  .onmobile-m0  { margin: 0; }
  .onmobile-m1  { margin: 1em; }
  .onmobile-m2  { margin: 2em; }

  /* paddings */
  .onmobile-pt0 { padding-top: 0; }
  .onmobile-pt1 { padding-top: 1em; }
  .onmobile-pt2 { padding-top: 2em; }
  .onmobile-pr0 { padding-right: 0; }
  .onmobile-pr1 { padding-right: 1em; }
  .onmobile-pr2 { padding-right: 2em; }
  .onmobile-pb0 { padding-bottom: 0; }
  .onmobile-pb1 { padding-bottom: 1em; }
  .onmobile-pb2 { padding-bottom: 2em; }
  .onmobile-pl0 { padding-left: 0; }
  .onmobile-pl1 { padding-left: 1em; }
  .onmobile-pl2 { padding-left: 2em; }
  .onmobile-p0  { padding: 0; }
  .onmobile-p1  { padding: 1em; }
  .onmobile-p2  { padding: 2em; }
  
  /* alignements de textes */
  .onmobile-alignleft   { text-align: left; }
  .onmobile-aligncenter { text-align: center; }
  .onmobile-alignright  { text-align: right; }

  /**
   * adaptation structure globale (page / skip links / header / contenu principal / footer)
   */
  body::before {
    content: 'mobile';
  }
  
  .bannerhome h1 { font-size: 34px; }

	.grid-annonces,  .grid-organisations {
		display: block;
		grid-auto-rows: 0;
		grid-column-gap: 0;
		grid-row-gap: 0;
	}
	.grid-annonce, .grid-organisation {
		display: block;
		margin: 0  0 1em 0;
		width: 100%;
		
	}
	.grid-actualites {
		display: block;
	}
	.grid-actualite {
		display: block;
		margin: 0 0 1em  0;
		width: 100%;
	}
	
	.grid-projets {
		display: block;
	}
	.grid-projet {
		display: block;
		margin: 0 0 1em  0;
		width: 100%;
	}
	.list-annonces {
		display: block;
	}

  
  /**
   * dans le contenu (contenus spécifiques aux pages)
   */

}




/*
 *****************************************************************
 * 13 -- breakpoints mineurs tout petit mobile
 *****************************************************************
 */

@media (max-width: 20em) { /* equiv 320px */

  /**
   * layout/modules
   */

  /* affichage des éléments */
  /*.nomobile { display: block; }*/

  /* cachage des éléments inutiles ! */
  .notinymobile { display: none; }

  /* linéarisation contenus flottants/table-layout */
  .autotinymobile {
    float: none;
    display: block;
    width: auto;
  }

  /**
   * adaptation structure globale (page / skip links / header / contenu principal / footer)
   */
  body::before {
    content: 'tinymobile';
  }
  
  /**
   * dans le contenu (contenus spécifiques aux pages)
   */

}





/*
 *****************************************************************
 * 14 -- print
 *****************************************************************
 */

@media print {
  /** 
   * ajouter là-dedans les éléments qui ont besoin d’être
   * resetés de manière très bourrine pour le print
   */
  body,
  html,
  .page,
  .reset4print {
    background-color: #fff;
    background-image: none;
    border: 0;
    box-shadow: none;
    color: #000;
    float: none;
    height: auto;
    margin: 0;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    position: static;
    width: auto;
    opacity: 1;
    visibility: visible;
    max-height: none;
    display: block;
  }

  body {
    padding: .5em;
  }

  /* cachage des éléments inutiles, chabitte ! */
  .noprint {
    display: none;
  }
  
  /* affichage éléments spécifiques au print */
  .onprint {
    display: block;
  }
  
  /* éviter saut de page hasardeux */
  blockquote, ul, ol {
    page-break-inside: avoid;
  }
  h1, h2, h3, caption {
    page-break-after: avoid;
  }
  
  /* affichage des liens, sauf pour image contenue */
  /* attention, penser à vérifier le résultat et penser 
   * à limiter cette possibilité aux liens dans le contenu */
  /*a:after {
    content: " (" attr(href) ") ";
  }
  a:after img {
    content: "";
  }*/

  /* ici fix propriétés particulières */


} /* end print */




/*
 *****************************************************************
 * 15 -- fix viewport
 *****************************************************************
 */

/* fix viewport pour Win8 (snap mode) et préparer le jour 
 * où le viewport sera supporté par tous les moteurs 
 *  
 * Exemples : http://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/
 * width=device-width   => width: device-width;
 * height=device-height => height: device-height;
 * initial-scale=2      => zoom: 2;
 * maximum-scale=2      => max-zoom: 2;
 * minimum-scale=0.5    => min-zoom: 0.5;
 * user-scalable=no     => user-zoom: fixed;
 * 
 * pour le snap mode de Win8 => seul width: device-width; fonctionne pour l’instant  
 */

@-webkit-viewport {
  width: device-width;
}
@-moz-viewport {
  width: device-width;
}
@-ms-viewport {
  width: device-width;
}
@-o-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}




/*
 *****************************************************************
 * 16 -- règles d’état
 *****************************************************************
 */

/*
 * Règles d’état = mises en bas pour être prioritaires
 *
 */

/*
.is-hidden,
[aria-hidden=true] {
  display: none;
}
*/




/*
 *****************************************************************
 * 17 -- bonus : Fixes IE
 *****************************************************************
 */

/*  
 * basé sur les classes conditionnelles sur l’élément HTML
 *  
 * à utiliser seulement si peu de corrections et 
 * pas d’impact sur les perfs sur les autres navigateurs
 *       
 */

/* less than IE 9 */
.oldies .nooldies {
  display: none;
}

.ie6 .noie6 {
  display: none;
}
.ie7 .noie7 {
  display: none;
}
.ie8 .noie8 {
  display: none;
}
.ie9 .noie9 {
  display: none;
}

.ie7 .col,
.ie7 .col-noalign,
.ie6 .col,
.ie6 .col-noalign {
  float: left;
}
.ie7 .row,
.ie6 .row {
  overflow: auto;
}

/* RTL */
[dir="rtl"] .ie7 .col,
[dir="rtl"] .ie7 .col-noalign,
[dir="rtl"] .ie6 .col,
[dir="rtl"] .ie6 .col-noalign {
  float: right;
}

blockquote.blockquote-a-propos {
	font-size: 23px;
   /*font-family: 'Nunito-Light';*/
    font-family: 'Montserrat-Regular', Arial, sans-serif;
    color: #78787D;
    padding: 50px;
    position: relative;
}
