@font-face {
  font-family: "OpenDyslexic";
  src:
    url("/style/font/OpenDyslexic-Regular.otf") format("opentype")
}

@font-face {
  font-family: "Luciole";
  src:
    url("/style/font/Luciole-Regular.ttf") format("opentype")
}





* {box-sizing : border-box; padding: 0;margin: 0;}
dialog {margin: auto}
select * {padding: 0 0.5em;}
ul {list-style: none;}
ol { padding-left: 15px; }
a img, :link img, :visited img, object, fieldset, dialog {border: none;}
a:active {outline: none;}
a {outline: none;}
address {font-style: normal;}
iframe {line-height : 1em; display: block;}
input, select, textarea {font-size: 100%;}
.clear {clear: both;}
div.clear {height: 0;}




/* accessibilité défaut */

:root {
    
    --quart-espace: 5px;
    --demi-espace: 10px;
    --espace: 20px;
    
    --section-1-3: calc(50vw - 200px);
	--section-2-3: calc(50vw + 183px);
    
    /* il faut pouvoir différencier les fonds et les textes */
    
    --couleur-fond-defaut: white;
    --couleur-texte-defaut: black;
    --couleur-fond-inverse: black;
    --couleur-texte-inverse: white;
    
    --couleur-fond-bleu: #00afad;
    --couleur-texte-bleu: #00afad;
    
    --couleur-fond-bleu-fonce: #006f7a;
    --couleur-texte-bleu-fonce: #006f7a;
    
    --couleur-fond-bleu-transparent: rgba(0,175,173,0.6);
    --couleur-fond-bleu-fonce-transparent: rgba(0,111,122,0.7);
    
    --couleur-fond-rouge: #7A0C4C;
    --couleur-texte-rouge: #7A0C4C;
    
    --couleur-fond-rouge-transparent: rgba(122,12,76,0.2);
    
    --couleur-fond-vert: #148167;
    --couleur-texte-vert: #148167;
    
    --couleur-fond-vert-transparent: rgba(20,129,103,0.2);
	
	/*
	
	--couleur-fond-orange: #14B8C7;
	--couleur-texte-orange: #14B8C7;
	
	--couleur-fond-orange-transparent: rgba(20,184,199,0.2);
	
	*/
	
	--couleur-fond-orange: #39bdad;
	--couleur-texte-orange: #39bdad;
	
	--couleur-fond-orange-transparent: rgba(57, 189, 173,0.2);
	
	--couleur-fond-gris-fonce: #58585a;
	--couleur-fond-gris-clair: #cdcdcd;
    
	--couleur-fond-sous-menu: linear-gradient(90deg, rgba(57,189,173,1) var(--section-1-3), rgba(0,111,122,1) var(--section-1-3));
	--couleur-btn-sous-menu: white;
	
	
	--couleur-bordure-defaut: #006f7a;
    --couleur-bordure-bleu-fonce-transparent: rgba(0,111,122,0.3);
    
    
    
    --police-famille: "Mukta", helvetica, arial, sans-serif;
    --police-taille: 1.6em;
    --police-hauteur-ligne: 1.8em;
    
    
    
    --text-decoration: none;
    
    --couleur-defaut-lien: black;
    --couleur-defaut-survol-lien: #148167;/* vert */
    --couleur-inverse-survol-lien: black;
    
    --couleur-defaut-lien-bleu: #00afad;
    --couleur-survol-lien-bleu: black;
    
    --couleur-defaut-lien-bleu-fonce: #006f7a;
    --couleur-survol-lien-bleu-fonce: black;
    
    --couleur-fond-survol-agenda: #00afad;/* bleu */
    --couleur-texte-survol-agenda: white;
    
    
    --couleur-bordure-btn-accessibilite: #006f7a;
    --couleur-fond-btn-accessibilite: white;
    --couleur-texte-btn-accessibilite: #006f7a;
    --couleur-fond-survol-btn-accessibilite: #006f7a;
    --couleur-texte-survol-btn-accessibilite: white;
    
    --couleur-bordure-btn-suite: #006f7a;
    --couleur-fond-btn-suite: #006f7a;
    --couleur-texte-btn-suite: white;
    --couleur-fond-survol-btn-suite: white;
    --couleur-texte-survol-btn-suite: #006f7a;
	
}


/* constraste renforçé */

.acc-high-contrast {
    
    --couleur-fond-defaut: #343643;
    --couleur-texte-defaut: white;
    --couleur-fond-inverse: white;
    --couleur-texte-inverse: white;
    
    --couleur-fond-bleu: #343643;
    --couleur-texte-bleu: white;
    
    --couleur-fond-bleu-fonce: #343643;
    --couleur-texte-bleu-fonce: white;
    
    --couleur-fond-bleu-transparent: #343643;
    --couleur-fond-bleu-fonce-transparent: #343643;
    
    --couleur-fond-rouge: #343643;
    --couleur-texte-rouge: white;
    
    --couleur-fond-rouge-transparent: #343643;
    
    --couleur-fond-vert: #343643;
    --couleur-texte-vert: white;
    
    --couleur-fond-vert-transparent: #343643;
	
	--couleur-fond-orange: #343643;
	--couleur-texte-orange: white;
	
	--couleur-fond-orange-transparent: #343643;
	
	--couleur-fond-gris-fonce: #343643;
	--couleur-fond-gris-clair: #343643;
    
	--couleur-fond-sous-menu: #343643;
	--couleur-btn-sous-menu: white;
	
	--couleur-bordure-defaut: white;
    --couleur-bordure-bleu-fonce-transparent: white;
    
    --couleur-fond-survol-agenda: white;
    --couleur-texte-survol-agenda: black;
    
    --couleur-bordure-btn-accessibilite: white;
    --couleur-fond-btn-accessibilite: #343643;
    --couleur-texte-btn-accessibilite: white;
    --couleur-fond-survol-btn-accessibilite: white;
    --couleur-texte-survol-btn-accessibilite: #343643;
    
    --couleur-bordure-btn-suite: white;
    --couleur-fond-btn-suite: white;
    --couleur-texte-btn-suite: #343643;
    --couleur-fond-survol-btn-suite: #343643;
    --couleur-texte-survol-btn-suite: white;
    
    --text-decoration: underline;
    
    --couleur-defaut-lien: white;
    --couleur-defaut-survol-lien: white;
    --couleur-inverse-survol-lien: white;
    
    --couleur-defaut-lien-bleu: white;
    --couleur-survol-lien-bleu: white;
    
    --couleur-defaut-lien-bleu-fonce: white;
    --couleur-survol-lien-bleu-fonce: white;
    
}

/* constraste inversé */

.acc-reverse-contrast {
    
    --couleur-fond-defaut: navy;
    --couleur-texte-defaut: #ff0;
    --couleur-fond-inverse: #ff0;
    --couleur-texte-inverse: #ff0;
    
    --couleur-fond-bleu: navy;
    --couleur-texte-bleu: #ff0;
    
    --couleur-fond-bleu-fonce: navy;
    --couleur-texte-bleu-fonce: #ff0;
    
    --couleur-fond-bleu-transparent: navy;
    --couleur-fond-bleu-fonce-transparent: navy;
    
    --couleur-fond-rouge: navy;
    --couleur-texte-rouge: #ff0;
    
    --couleur-fond-rouge-transparent: navy;
    
    --couleur-fond-vert: navy;
    --couleur-texte-vert: #ff0;
    
    --couleur-fond-vert-transparent: navy;
	
	--couleur-fond-orange: navy;
	--couleur-texte-orange: #ff0;
	
	--couleur-fond-orange-transparent: navy;
	
	--couleur-fond-gris-fonce: navy;
	--couleur-fond-gris-clair: navy;
    
	--couleur-fond-sous-menu: navy;
	--couleur-btn-sous-menu: #ff0;
	
	--couleur-bordure-defaut: #ff0;
    --couleur-bordure-bleu-fonce-transparent: #ff0;
    
    --couleur-fond-survol-agenda: #ff0;
    --couleur-texte-survol-agenda: navy;
    
    --couleur-bordure-btn-accessibilite: #ff0;
    --couleur-fond-btn-accessibilite: navy;
    --couleur-texte-btn-accessibilite: #ff0;
    --couleur-fond-survol-btn-accessibilite: #ff0;
    --couleur-texte-survol-btn-accessibilite: navy;
    
    --couleur-bordure-btn-suite: #ff0;
    --couleur-fond-btn-suite: #ff0;
    --couleur-texte-btn-suite: navy;
    --couleur-fond-survol-btn-suite: navy;
    --couleur-texte-survol-btn-suite: #ff0;
    
    --text-decoration: underline;
    
    --couleur-defaut-lien: #ff0;
    --couleur-defaut-survol-lien: #ff0;
    --couleur-inverse-survol-lien: #ff0;
    
    --couleur-defaut-lien-bleu: #ff0;
    --couleur-survol-lien-bleu: #ff0;
    
    --couleur-defaut-lien-bleu-fonce: #ff0;
    --couleur-survol-lien-bleu-fonce: #ff0;
    
}

.acc-luciole-font {
    --police-famille: "Luciole", helvetica, arial, sans-serif;
    --police-taille: 1.6em;
}

.acc-dyslexia-font {
    --police-famille: "OpenDyslexic", helvetica, arial, sans-serif;
    --police-taille: 1.6em;
}

.acc-high-lineheight {

    --police-hauteur-ligne: 2.2em;
	
}

.acc-none-justification * {
	text-align: left !important;
}




html {font-size: 62.5%;}

body {
    background-color: var(--couleur-fond-defaut);
    color: var(--couleur-texte-defaut);
    font-family: var(--police-famille);
    font-size: var(--police-taille);
    line-height: var(--police-hauteur-ligne);
}

a:link, a:visited {color : var(--couleur-defaut-lien)}

dialog {padding: var(--espace)}
dialog::backdrop {background-color: hsla(216.585, 65%, 12%, 0.8)}

.page,
.page_min,
.page1-3,
.page2-3 {
	width : 100%;
	max-width : 1200px;
}

.page,
.page_min {
	margin : 0 auto;
}

.page_min,
.page2-3 {max-width : 800px;}

.page1-3 {max-width: 400px;}

.col1-2,
.col1-3,
.col2-3,
.col3-4,
.col1-4,
.col1-5,
.col4-5 {float : left;}

section { width: 100%; }

.section1-3,
.section2-3 {float: left;}

.col{width: 100%; }
.col3-4{width: 75%;}
.col1-2{width: 50%;}
.col1-3{width: 33.33%;}
.col2-3{width: 66.66%;}
.col1-4{width: 25%;}
.col1-5{width: 20%;}
.col4-5{width: 80%;}

.section1-3 {width: var(--section-1-3);}
.section2-3 {width: var(--section-2-3);}

.flexParent {
    display: flex;
    flex-wrap: wrap;
}

.flex,
.flex1-1,
.flex1-2,
.flex1-3,
.flex2-3,
.flex3-4,
.flex1-4,
.flex1-5 { 
    display: flex;
}

.flex1-1{width: 100%;}
.flex3-4{width: 75%;}
.flex1-2{width: 50%;}
.flex1-3{width: 33.33%;}
.flex2-3{width: 66.66%;}
.flex1-4{width: 25%;}

.flex_menu {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding-left: 40px;
}

.flexColumn {
	flex-direction: column;
	display: flex;
}

.flex_right_top {
    justify-content: flex-end;
	display: flex;
}

.flex_right_center {
    justify-content: flex-end;
    align-items: center;
}
.flex_center_center {
    justify-content: center;
    align-items: center;
}

.flex_between_center {
    justify-content: space-between;
    align-items: center;
}

.flex_around_center {
    justify-content: space-around;
    align-items: center;
}

.flex_between_end {
    justify-content: space-between;
    align-items: flex-end;
}

.flex_between {
    justify-content: space-between;
}

.flex_center_bottom {
    justify-content: flex-end;
    align-items: center;
}

.flex_center_top {
    justify-content: flex-start;
    align-items: center;
}

.align_items_end {
	align-items: flex-end;
}

.align_self_center {
	align-self: center;
}

.column2 {
	column-gap: calc(var(--espace) * 4);
	columns: 2;
	text-align: justify;
}

.column3 {
	column-gap: calc(var(--espace) * 2);
	columns: 3;
	text-align: justify;
}

.margin_autoRight {margin-right: auto}
.padding{padding: var(--espace);}
.padding_big{padding: calc(var(--espace) * 2);}
.padding_huge{padding: calc(var(--espace) * 4);}
.padding_min{padding: calc(var(--espace) / 2);}
.padding_minLR{padding-left: calc(var(--espace) / 2); padding-right: calc(var(--espace) / 2);}
.padding_minTB{padding-top: calc(var(--espace) / 2); padding-bottom: calc(var(--espace) / 2)}
.paddingLR{padding-left: var(--espace); padding-right: var(--espace);}
.padding_bigLR{padding-left: calc(var(--espace) * 2); padding-right: calc(var(--espace) * 2);}
.padding_hugeLR{padding-left: calc(var(--espace) * 4); padding-right: calc(var(--espace) * 4);}
.paddingTB{padding-top: var(--espace); padding-bottom: var(--espace);}
.padding_bigTB{padding-top: calc(var(--espace) * 2); padding-bottom: calc(var(--espace) * 2);}
.padding_hugeTB{padding-top: calc(var(--espace) * 4); padding-bottom: calc(var(--espace) * 4);}
.padding_noTop{padding-top: 0;}
.padding_noBottom{padding-bottom: 0;}
.padding_noRight{padding-right: 0;}

.cache {display: none;}
.show-450 {display: none !important;}

.oHidden { overflow: hidden; }

.relative { position: relative; }

/*gestion des couleurs et des fonds  */
 
.bg_gris_fonce {background-color : var(--couleur-fond-gris-fonce); color : var(--couleur-texte-inverse);}
.bg_gris_clair {background-color : var(--couleur-fond-gris-clair); color : #000;}
.bg_defaut {background-color : var(--couleur-fond-defaut); color : var(--couleur-texte-defaut);}
.bg_vert {background-color: var(--couleur-fond-vert); color: var(--couleur-texte-inverse);}
.bg_vert_transparent {background-color: var(--couleur-fond-vert-transparent); color: var(--couleur-texte-vert);}
.bg_bleu {background-color: var(--couleur-fond-bleu); color: var(--couleur-texte-inverse);}
.bg_bleu_fonce {background-color: var(--couleur-fond-bleu-fonce); color: var(--couleur-texte-inverse);}
.bg_bleu_fonce_transparent {background-color: var(--couleur-fond-bleu-fonce-transparent); color: var(--couleur-texte-inverse);}
.bg_bleu_transparent {background-color: var(--couleur-fond-bleu-transparent); color: var(--couleur-texte-bleu);}
.bg_rouge {background-color: var(--couleur-fond-rouge); color: var(--couleur-texte-inverse);}
.bg_rouge_transparent {background-color: var(--couleur-fond-rouge-transparent); color: var(--couleur-texte-rouge);}
.bg_orange {background-color: var(--couleur-fond-orange); color: var(--couleur-texte-inverse);}
.bg_orange_transparent {background-color: var(--couleur-fond-orange-transparent); color: var(--couleur-texte-orange);}
.bg_slide {background-color: transparent; color: var(--couleur-texte-defaut);}

/*
.bg_gris_clair a:link, .bg_gris_clair a:visited, 
.bg_defaut a:link, .bg_defaut a:visited,
header.header-fix .section1-3 a:link,
header.header-fix .section1-3 a:visited,
.bg_slide a:link, .bg_slide a:visited {
    color : var(--couleur-texte-defaut);
} 
*/

.bg_gris_fonce a:link, .bg_gris_fonce a:visited,
.bg_vert a:link, .bg_vert a:visited,
.bg_bleu a:link, .bg_bleu a:visited,
.bg_bleu_fonce a:link, .bg_bleu_fonce a:visited,
.bg_bleu_transparent a:link, .bg_bleu_transparent a:visited,
.bg_rouge a:link, .bg_rouge a:visited,
.bg_orange a:link, .bg_orange a:visited {color : var(--couleur-texte-inverse);}

.bg_cover { background-position: center; background-size: cover; }


/*
.color_vert, .color_vert a { color: var(--couleur-texte-vert) !important; }
.color_bleu, .color_bleu a { color: var(--couleur-texte-bleu) !important; }
.color_bleu_fonce, .color_bleu_fonce a { color: var(--couleur-texte-bleu-fonce) !important; }
.color_rouge, .color_rouge a { color: var(--couleur-texte-rouge) !important; }
.color_orange, .color_orange a { color: var(--couleur-texte-orange) !important; }
*/

.color_vert {color: var(--couleur-texte-vert)}

.color_vert:link,
.color_vert:visited,
.color_vert a:link,
.color_vert a:visited {color: var(--couleur-texte-vert)}

.color_bleu {color: var(--couleur-texte-bleu)}

.color_bleu:link,
.color_bleu:visited,
.color_bleu a:link,
.color_bleu a:visited {color: var(--couleur-defaut-lien-bleu)}

.color_bleu_fonce {color: var(--couleur-texte-bleu-fonce)}

.color_bleu_fonce:link,
.color_bleu_fonce:visited,
.color_bleu_fonce a:link,
.color_bleu_fonce a:visited {color: var(--couleur-defaut-lien-bleu-fonce)}

.color_rouge {color: var(--couleur-texte-rouge)}

.color_rouge:link,
.color_rouge:visited,
.color_rouge a:link,
.color_rouge a:visited {color: var(--couleur-texte-rouge)}

.color_orange {color: var(--couleur-texte-orange)}

.color_orange:link,
.color_orange:visited,
.color_orange a:link,
.color_orange a:visited {color: var(--couleur-texte-orange)}


/* focus et survol */
a:link,
a:visited {text-decoration: none;transition:0.2s}

a:focus,
a:hover {
    text-decoration: var(--text-decoration);
    color: var(--couleur-defaut-survol-lien);
}

a.color_bleu:focus,
a.color_bleu:hover {color: var(--couleur-survol-lien-bleu)}

a.color_bleu_fonce:focus,
a.color_bleu_fonce:hover {color: var(--couleur-survol-lien-bleu-fonce)}

.bg_bleu_fonce a:focus,
.bg_bleu_fonce a:hover {
    color: var(--couleur-inverse-survol-lien);
}




.border_bleu_fonce { border: 1px solid var(--couleur-bordure-bleu-fonce-transparent) }

.section {padding : calc(var(--espace)) 0;}

.margin_auto{margin: 0 auto;}

.position_relative{position : relative;}
.block{display: block;}
.pointer { cursor: pointer; }

.float_right {float : right;}
.float_left {float : left;}

.align_center {text-align : center;}
.align_right {text-align : right;}

.light { font-weight: 300; }
.bold { font-weight: 700; }
.big { font-size: 120%; }
.small {
    font-size: 80%;
    line-height: calc(var(--police-hauteur-ligne) * 0.80);/* line-height: 1.5 */
}
.maj { text-transform: uppercase; }

.filigrane_rouge {
	background: var(--couleur-fond-rouge) no-repeat !important;
}

.top { padding-top: 49000 }
.logo_int { max-width: 300px; width: 100%; }

.bg_ariane { background-position: top right!important; padding-top: 40px; }

.lien_ariane {
    font-size: 120%;
    text-transform: uppercase;
    line-height: calc(var(--police-hauteur-ligne) * 0.85);/*line-height: 1.5;*/
    font-weight: 300;
}
.chevron_ariane { font-size: 130%; line-height: 1.4; font-weight: 300; }
.titre_ariane { font-size: 150%; line-height: 1.3 !important; margin-bottom: 0; }

.underline { text-decoration: underline; }

.video-responsive {
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	height: 0;
}
.video-responsive iframe, .video-responsive img {
	left:0;
	top:0;
	height:100%;
	width:100%;
	position:absolute;
}
.afterPlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	pointer-events: none;
	line-height: 1;
    background-color: var(--couleur-defaut-lien-bleu-fonce);
	border-radius: 100%;
	padding: 2px;
}

.galerie { overflow: hidden; }
.galerie a, .publi_lien { display: block; position: relative; }
.publi_container { display: block; overflow: hidden; aspect-ratio: 3/4; }
.publi { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.galerie a img, .publi_lien img { transition: 0.5s; }
/*.galerie a:hover img { transform: scale(0.9); }*/
.galerie a::before, .publi_lien::before, a.balade_lien::before {
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	background-color: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: 0.5s;
	z-index: 1;
}
.galerie a::after, .publi_lien::after, a.balade_lien::after {
	content: '\f00e';
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 200%;
	position: absolute;
	top: 50%;
	left: 50%;
	color: var(--couleur-texte-bleu-fonce);
	transform: translate(-50%,-50%);
	opacity: 0;
	text-shadow: 0px 5px 5px rgba(0, 0, 0, 1.0);
	transition: 0.5s;
	z-index: 2;
}
.publi_lien::after { content: '\f06e'; font-size: 150%; }
.galerie a:hover::before, .publi_lien:hover::before, a.balade_lien:hover::before { opacity: 1; }
.galerie a:hover::after, .publi_lien:hover::after, a.balade_lien:hover::after {
	opacity: 1;
	transform: translate(-50%,-50%) scale(3);
}

.img_recherche {
	height: 200px;
	position: relative;
	display: block;
	overflow: hidden;
}
.img_recherche img { transition: 0.5s; }
.img_recherche:hover img { transform: scale(1.1); }


.label_map { cursor: pointer; transition: 0.5s; padding: calc(var(--espace) / 2); }
.label_map + input { display: none; }
.label_map.on, .label_map:hover { background-color: var(--couleur-fond-inverse); color: var(--couleur-fond-defaut); }
.label_map.ico-map.on::before {
	content: 'X';
	font-family: var(--police-famille);
}

.balade_lien {
	position: relative;
	aspect-ratio: 1;
	display: block;
	line-height: 0;
}

#meteo {color: var(--couleur-texte-bleu-fonce); transition: 0.5s; }
.bg_defaut #meteo, .bg_slide #meteo { color: var(--couleur-texte-bleu-fonce); transition: 0.5s; }
/*.header-fix #meteo { color: var(--couleur-texte-bleu-fonce) !important; }*/
.img_meteo { max-width: 30px; display:block; }

.hr { width: calc(100% - 40px); height: 1px; margin: 20px 0 0 20px; opacity: 0.5; }

#map { max-height: calc(100vh - 50px);}
#map::before {
	content: '';
	display: block;
	padding-bottom: 133%;
}

#map .leaflet-bar a,
#map .leaflet-bar a { color: #000 !important; }
#map .leaflet-popup-content a, #map .leaflet-popup-content div {
	transition: 0.5s;
	color: var(--couleur-texte-defaut) !important;
	font-size: 1.5em;
	text-align: center;
}
#map .leaflet-popup-content a:hover { color: var(--couleur-texte-bleu-fonce) !important; }
#map .leaflet-popup-content-wrapper { background-color: var(--couleur-fond-defaut) !important;}


.h100 { height: 100%; }

.img_250 { display: block; height: 250px; }

/*.accueil_legendes label::before { min-width: 25px; }*/

.hover_toggle { cursor: pointer; }
.toggle { max-height: 0; opacity: 0; pointer-events: none; transition: 0.5s; }
.hover_toggle:hover ~ .toggle,
.toggle:hover,
.toggle:focus-within { max-height: 1000px; opacity: 1; pointer-events: auto; }

.word_break { word-break: break-word; }

.hover_bleu i { transition: 0.5s; }
.hover_bleu:hover i { color: var(--couleur-texte-bleu); }

.uneRubrique { min-height: 400px; }

.zoomup {transition: 0.5s;}
.zoomup:hover {transform: scale(1.2)}


/* animations */
.zoom_container {
	display: block;
	overflow: hidden;
	line-height: 0;
}

.zoomup { transition: 0.4s; }
.zoomup:is(:hover,:focus) {transform: scale(1.2);}

.zoomdown { transition: 0.4s; }
.zoomdown:is(:hover,:focus) {transform: scale(0.8);}

.zoomtourne { transition: 0.4s;}
.zoomtourne:is(:hover,:focus) {transform: rotate(15deg) scale(0.9);}

.zoominfini:is(:hover,:focus) {
	animation-duration: 0.8s;
	animation-name: zoominfini;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}
@keyframes zoominfini {
  from { transform: scale(1); }
  to   { transform: scale(1.2); }
}

.fade {
	opacity: 0;
	transition: 1s;
}
.fondu_top {
	opacity: 0;
	position: relative;
	transform: translateY(-200px);
	transition: all 1s, width 0s;
}
.fondu_bottom {
	opacity: 0;
	position: relative;
	transform: translateY(200px);
	transition: all 1s, width 0s;
}
.fondu_left {
	opacity: 0;
	position: relative;
	transform: translateX(-1000px);
	transition: all 1s, width 0s;
}
.fondu_right {
	opacity: 0;
	position: relative;
	transform: translateX(1000px);
	transition: all 1s, width 0s;
}
.animActive {
	opacity: 1;
	transform: none;
	z-index: 100;
}



/*** header  *****************************************/

header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 1001;
	background: var(--couleur-fond-defaut);
	min-height: 44px;
}

header > div {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	transition: 0.5s;
}

header.header-fix { box-shadow: 0px 2px 5px 0px rgb(0 0 0 / 75%); }
/*
désactivé

header.header-fix .section1-3 { background-color: #fff !important; color: #000 !important; }

*/

.headerNavMain {
	position: absolute;
	left: 0;
	width: 100%;
}

/*header .padding { padding: 10px; }*/
header .padding { padding: 5px; }

.illiwap { position:relative; }
.illiwap .illiwap_blanc { transition:0.5s }
.illiwap .illiwap_noir {
	position:absolute;
	top:50%;
	left:50%;
	opacity:0;
	transition:0.5s;
	transform: translate(-50%,-50%);
}
.header-fix .illiwap_blanc { opacity: 0; }
.header-fix .illiwap_noir { opacity: 1; }

	a.slider_logo {
		display: block;
		position: absolute;
		width: var(--section-1-3);
		top: 20%;
		left: 0;
		z-index: 12;
		text-align: center;
	}

	.slider_caption {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: var(--section-1-3);
		background-position: left 120px !important;
	}
	.slider_caption.bg_vert {background: /*url(/style/filigrane.png)*/ var(--couleur-fond-vert) no-repeat;}
	.slider_caption.bg_bleu {background: /*url(/style/filigrane.png)*/ var(--couleur-fond-bleu) no-repeat;}
	.slider_caption.bg_rouge, .bg_ariane.bg_rouge {background: /*url(/style/filigrane.png)*/ var(--couleur-fond-rouge) no-repeat;}

	.slider_caption { line-height: 1.2; }

	.slider_caption_texte {
		position: absolute;
		bottom: 20px;
		left: 80px;
		color: #fff;
		display: flex;
		text-shadow: 0px 2px 5px rgb(0 0 0 / 70%);
	}

	.slider_caption_div {
		line-height: 2.3;
		padding-left: 10px;
	}

	a#logo {
		position: absolute;
		top: 100px;
		left: calc(50vw - 600px);
		z-index: 50;
		display: block;
		max-width: 350px;
	}
	
	#slider {
		position: relative;
	}

	.slider_vert {
		background-color: var(--couleur-fond-vert);
		z-index: 11;
		width: var(--section-1-3);
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
	}

	.slider_breves {
		/*position: absolute;
		right: 0;
		bottom: 0;*/
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		z-index: 11;
		width: var(--section-1-3);
	}
	.flash_infos {
		width: 16.66%;
	}
	.lightslider_breves_parent {
		width: 83.33%;
	}
	.lightslider_breves {
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.2;
	}
	.breves_slide { padding: 0 calc(2 * var(--espace)); }

.demarchesEnLigne {
	position: fixed;
	top: 50%;
	right: 0px;
	border-radius: 50px;
	font-size: 75%;
	transform: translate(100%,-50%);
	z-index: 1000;
	width: calc(100% - 30px);
	max-width: 500px;
	transition: 0.5s;
}
.demarchesEnLigne:focus-within, .demarchesEnLigne.open {
	transform: translateY(-50%);
}
#openDemarches {
	background-color: var(--couleur-fond-bleu-fonce);
	color: var(--couleur-texte-inverse);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-100%,-50%);
	padding: 10px 15px;
	font-size: 200%;
	border-radius: 50px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	line-height: 0;
}


/*** parametres accessibilité (dialog) ***/
.acc {
    background: var(--couleur-fond-defaut);
    color: var(--couleur-texte-defaut);
}

    .acc_head {
	    display: flex;
	    justify-content: space-between;    
    }

        .acc_title {
            font-size: 1.75em;
            font-weight: 700;
            line-height: calc(var(--police-hauteur-ligne) * 0.75);/*line-height: 1.3;*/
        }
    
    .acc_head button {
	    background: var(--couleur-fond-defaut);
	    border: none;
	    font-size: 200%;
	    color: var(--couleur-defaut-lien);
    }


    .acc_body {
	    padding-top: var(--espace);
	    display: flex;
	    flex-wrap:wrap;
	    gap: var(--espace)
    }

	    .acc_option {
		    flex-grow: 1;
		    border: 5px solid var(--couleur-bordure-defaut);
		    border-radius: 5px;
		    padding: var(--espace);
		    background: var(--couleur-fond-defaut);
	    }

		    .acc_option legend {
			    margin-left: 20px;
			    border-radius: 5px;
			    padding: 5px 10px;
			    box-shadow: 0 0 0 5px var(--couleur-texte-inverse);
			    background: var(--couleur-fond-bleu-fonce);
			    color: var(--couleur-texte-inverse);
			    font-size: 1.375em;
			    font-weight: 700;
		    }


        .acc_option input {
	        border: 0 !important;
            clip: rect(1px, 1px, 1px, 1px) !important;
            -webkit-clip-path: inset(50%) !important;
            clip-path: inset(50%) !important;
            height: 1px !important;
            margin: -1px !important;
            overflow: hidden !important;
            padding: 0 !important;
            position: absolute !important;
            width: 1px !important;
            white-space: nowrap !important;
        }
        
        .acc_option label {
            position: relative;
            display: inline-block;
            vertical-align: middle;
            padding-left: 2.267em;
            margin: 0 1em 0.533em 0.5em;
            padding-top: 0.067em;
            padding-bottom: 0.067em;
            font-size: .938em;
            line-height: calc(var(--police-hauteur-ligne) * 0.90);/*line-height: 1.6;*/
	        cursor: pointer;
        }

        .acc_option label::before {
	        content: '';
            position: absolute;
            display: block;
            border-radius: 100%;
            top: 0;
            left: 0;
            width: 1.4em;
            height: 1.4em;
            border-width: 0.2em;
            border-style: solid;
            border-color: var(--couleur-bordure-defaut);
            background-color: #f9fcff;
        }
        
        .acc_option label::after {
	        content: '';
            position: absolute;
            display: block;
            border-radius: 100%;
            top: 0.4em;
            left: 0.4em;
            width: 1em;
            height: 1em;
            transition: all .2s;
            background-color: var(--couleur-fond-bleu-fonce);
        }

        .acc_option input:not(:checked)+label::after {
            opacity: 0;
            transform: scale(0);
        }

        .acc_option input:checked+label::before {
            border-color: var(--couleur-bordure-defaut);
        }



/*** navigation principale ***/

nav {width: 100%}

    nav > ul {
        display : flex;
        /*width: 100%;*/
    }

        /* liens principaux */
        .nav__primary {
            display : block;
	        padding : 5px;
	        font-size: 120%;
	        line-height: var(--police-hauteur-ligne);
	        height: 100%;
        }

        /* ... avec sous menu */
        .nav__primary.nav__btn {
            position: relative;
            display: flex;
            align-items: flex-end;
            padding: 15px calc(var(--espace) + 10px) 0;
            font-weight: 700;
            transition: 0.5s;
        }
	                
            .nav__btn > span {
                position: relative;
                z-index: 2;
            }
		        
        .nav__btn::before {
            content: '';
            width: calc(100% - 2*var(--espace));
            height: 5px;
            top: 0;
            left: var(--espace);
            position: absolute;
            transition: 0.5s;
            z-index: 1;
        }
    
        .nav__btn.rouge::before { background-color: var(--couleur-fond-rouge); }
	    .nav__btn.vert::before { background-color: var(--couleur-fond-vert); }
	    .nav__btn.bleu::before { background-color: var(--couleur-fond-bleu); }
	    .nav__btn.bleu_fonce::before { background-color: var(--couleur-fond-bleu-fonce); }

        /* sous-menu */		
        .nav__subsection {
            background: var(--couleur-fond-sous-menu);
            padding: calc(2*var(--espace));
            position: absolute;
            width: 100%;
            left: 0;
            z-index: 1002;
            box-shadow: 0px 2px 5px 0px rgb(0 0 0 / 75%);
            opacity: 0;
            text-transform: uppercase;
            transition: 0.2s;
            pointer-events: none;
        }
	 
        /* liens secondaires (sous-menu) */
        .nav__secondary {
            display: block;
            padding: var(--quart-espace) 0;
            font-size: 90%;
            font-weight: 400;
            line-height: calc(var(--police-hauteur-ligne) * 0.66);/*line-height:1.2;*/
        }

            .nav__secondary.big {
                font-size: 110%;
                font-weight: 600;
            }




/* survol et focus */

.nav__section:focus-within .nav__btn,
.nav__section:hover .nav__btn {color: var(--couleur-btn-sous-menu)}

.nav__section:focus-within .nav__btn::before,
.nav__section:hover .nav__btn::before { height: 100%; }

.nav__section:focus-within .nav__subsection,
.nav__section:hover .nav__subsection {
	opacity: 1;
	pointer-events: auto;
}



/*** nav accessibilité (aller au menu,...) ***/

.accessbilite {
    position: relative;
    z-index: 1000;
    display: flex;
    gap: var(--espace);
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    box-sizing: border-box;
    width: 100%;
    height: 0;
    opacity: 0;
    transition: .6s;
    pointer-events: none;
}

    .accessbilite:focus-within {
        height: auto;
        margin: 10px;
        opacity: 1;
    }
    

/*** nav lettres mobile annuaire ***/
#navLettres {
	/*display: none;*/
	position: absolute;
	top: 10px;
	right: 0px;
	height: 100%;
}
.navStickyLettres {
	background-color: var(--couleur-fond-defaut);
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	height: 100%;
	position: sticky;
	top: 50px;
	height: 70svh;
	text-align: center;
	font-weight: 600;
}
.navStickyLettres a { padding: 0 3px; text-decoration: underline; }


/*** form recherche ***/

#search {
    position: relative;
	/*background: var(--couleur-fond-bleu-fonce);*/
}

#search > div {
	display: flex;
	justify-content: center;
	height: 0;
	overflow: hidden;
	transition: all 0.5s;
}

#search > a {
    position: absolute;
    right: var(--espace);
    top: var(--espace);
    display: none;
    font-size: 200%;
}

#search.opened > div,
#search > div:focus-within {
    height: auto;
    padding: var(--espace);
    overflow: auto;
}

#search.opened > a,
#search > div:focus-within ~ a {display: block;}

#search input {
	width: 400px;
	max-width: 70%;
}

#search input:focus,
#search input:hover {
    outline: 0;
}



/*** boutons ***/

.btn, .like-btn {
    padding: calc(var(--espace) * 0.5);
    border: 2px solid transparent;
    display: block;
	transition: all 0.5s;
	font-size: 110%;
	line-height: calc(var(--police-hauteur-ligne) * 0.66);/*line-height: 1.2em;*/
	border-radius: 0!important;
}

.btn {
    background: var(--couleur-texte-defaut);
    color:  var(--couleur-fond-defaut);
    cursor: pointer;
}

	.btn:focus,
	.btn:hover {
		background: var(--couleur-fond-defaut);
		color: var(--couleur-texte-defaut);
	}
	


.btn.btn--primary {
    border-color: var(--couleur-bordure-defaut);
    color: var(--couleur-texte-bleu-fonce)!important;
    text-transform: uppercase
}

    .btn.btn.btn--primary:focus,
	.btn.btn.btn--primary:hover {
		background: var(--couleur-fond-bleu-fonce);
		color: white!important;
	}
	
.btn.btn--accessibilite {
    background: var(--couleur-fond-btn-accessibilite);
    border-color: var(--couleur-bordure-btn-accessibilite);
    color: var(--couleur-texte-btn-accessibilite);
    text-transform: uppercase
}

    .btn.btn--accessibilite:focus,
	.btn.btn--accessibilite:hover {
		background: var(--couleur-fond-survol-btn-accessibilite);
		color: var(--couleur-texte-survol-btn-accessibilite);
	}

.btn.like-btn:focus,
.btn.like-btn:hover {
	color: initial!important;
}





/*** liste + paragrahe  *****************************************/
	
	.article_texte a { color: var(--couleur-texte-bleu-fonce) !important; transition: 0.5s; position:relative; }
	.article_texte a::after { position: absolute; content: ''; left: 0; bottom: 0px; width: 100%; height: 1px; transition: 0.5s; }
	.article_texte a:hover { color: var(--couleur-texte-bleu) !important; }
	.article_texte a:hover::after { background-color: var(--couleur-texte-bleu) !important; }

	.article_texte ul, ul.list{
		list-style-type : disc;
		margin-left : 20px;
	}

	ul.inline li{
		display : inline-block;
		padding : 0 10px;
	}
	
	.section  p {
	    margin-bottom : 0.5em;
	    line-height: calc(var(--police-hauteur-ligne) * 0.85);/*line-height: 1.5;*/
	}
	
	.img_100 {
		max-width : 100%;
		display : block; 
		line-height : 1; 
		width : auto;
	}
	
	.img_cover {
		width : 100%;
		height : 100%;
		object-fit: cover;
	}
	
	.img_contain {
		width : 100%;
		height : 100%;
		object-fit: contain;
	}


/*** footer  *****************************************/ 

	/*footer {
		background: url(/style/filigrane-footer.png) var(--couleur-fond-bleu-fonce) !important;
		background-position: right center !important;
		background-repeat: no-repeat !important;
	}*/

	.footer_menu {line-height: calc(var(--police-hauteur-ligne) * 0.66);/*line-height: 1.2;*/}
	.footer_menu_lien { padding-bottom: 5px; display: block; }

	.nav-mentions li, .nav_rs li{
		display : inline-block;
	}

		.nav-mentions li a, .nav_rs li a{padding : 0 5px;}

		.nav-mentions li a {font-size : 75%; border-left : 1px solid; }

			.nav-mentions li:first-child a{
				border-left : none; 
			}
			
	.titre_footer {
		display :  block; 
		text-transform : uppercase; 
		font-size : 110%;
		font-weight : 600;
		margin-bottom : 5px;
	}

	#goTop {
		position: fixed;
		right: 10px;
		bottom: 10px;
		color: var(--couleur-texte-defaut);
		z-index: 999;
	}

/*** titre *****************************************/
h1, .like_h1 {
	font-size : 100%;
	font-weight: 400;
	margin-bottom: 10px;
}

h2, .like_h2 {
	font-weight: 700;
	font-size : 180%;
	margin-bottom: 10px;
}

h3, .like_h3 {
	font-weight: 400;
	font-size : 150%;
	margin-bottom: 10px;
}

h4, .like_h4 {
	font-size : 150%;
	font-weight: 400;
	margin-bottom: 10px;
}
.declaration_accessibilite h4 {font-size : 120%; }
h4.titre_article { font-size: 120%; font-weight: 700; }

.titre_trait { text-align: center; position: relative; display: block; }
.titre_trait span { position: relative; z-index: 2; padding: 0 20px; }
.titre_trait::before {
	content: '';
	position: absolute;
	height: 1px;
	width: 100%;
	bottom: 7px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.titre_trait_gauche {
	position: relative;
	padding-left: 50px;
}
.titre_trait_gauche::before {
	content: '';
	position: absolute;
	height: 1px;
	width: 30px;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	z-index: 1;
}
.titre_trait_gauche.trait_rouge::before { background-color: var(--couleur-fond-rouge); }
.titre_trait_gauche.trait_bleu_fonce::before { background-color: var(--couleur-fond-bleu-fonce); }
.titre_trait_gauche.trait_bleu::before { background-color: var(--couleur-fond-bleu); }
.titre_trait_gauche.trait_vert::before { background-color: var(---couleur-fond-vert); }

.p_trait p, .trait_top {
	position: relative;
	padding-top: 20px;
}
.p_trait p::before, .trait_top::before {
	content: '';
	position: absolute;
	height: 1px;
	width: 30px;
	top: 10px;
	left: 0;
	z-index: 1;
}
.trait_top::before { left: var(--espace); }
.color_rouge .p_trait p::before, .trait_top.trait_rouge::before { background-color: var(--couleur-fond-rouge); }
.color_bleu .p_trait p::before, .trait_top.trait_bleu::before { background-color: var(--couleur-fond-bleu); }
.color_bleu_fonce .p_trait p::before, .trait_top.trait_bleu_fonce::before { background-color: var(--couleur-fond-bleu-fonce); }
.color_vert .p_trait p::before, .trait_top.trait_vert::before { background-color: var(--couleur-fond-vert); }

.bg_orange .titre_trait span { background-color: var(--couleur-fond-orange); }
.bg_vert .titre_trait span { background-color: var(--couleur-fond-vert); }
.bg_orange .titre_trait::before, .bg_vert .titre_trait::before { background-color: #fff; }

.titre_trait.color_bleu span { background-color: #fff; }
.titre_trait.color_bleu::before { background-color: var(--couleur-fond-vert); }


/*** lien *****************************************/

.btn_suite {
	display : inline-block; 
	text-transform : uppercase;	
	padding : 5px 10px;
	background : var(--couleur-fond-btn-suite);
	border : 1px solid var(--couleur-bordure-btn-suite);
	color : var(--couleur-texte-btn-suite);
	transition: 0.5s;
	cursor: pointer;
}

.btn_suite:link,
.btn_suite:visited {
    color : var(--couleur-texte-btn-suite);
}

.btn_suite:hover,
.btn_suite.active {
	background-color: var(--couleur-fond-survol-btn-suite);
	color : var(--couleur-texte-survol-btn-suite);
	transform: scale(0.95);
}

.btn_fleche {
	display: inline-flex;
}

.btn_fleche::before {
	content: '';
	background-image: url(/style/ico/picto-simple-donzere-plus.png);
	background-size: contain;
	background-repeat: no-repeat;
	font-family: "Font Awesome 5 Free";
	margin-right: 5px;
	width: 30px;
	font-weight: 700;
	transition: 0.2s;
	margin-top: 3px;
}

.btn_fleche.color_bleu::before { color: var(--couleur-texte-bleu); }

.btn_fleche:hover {text-decoration: var(--text-decoration)}
.btn_fleche:hover::before {margin-right: 10px}

.btn_chevron {
	display: flex;
	line-height: 1.5;
}

.btn_chevron::before {
	content: '\f054';
	font-family: "Font Awesome 5 Free";
	padding-right: 5px;
	font-weight: 700;
	transition: 0.5s;
}

.btn_chevron:hover::before {
	padding-right: 10px;
}

	
	.btn_suite_gris {		
		background : grey;
		color : #fff;
	}
	

/*** actualites  *****************************************/

.actu {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	cursor: pointer;
	position: relative;
	height: 100%;
	/*border: 1px solid var(--couleur-bordure-bleu-fonce-transparent);*/
	overflow: hidden;
}

.actu img.img_contain {transition: 0.5s;}

/*
.actu .actu_legende {
	background-color: var(--couleur-fond-bleu-fonce);
	color: var(--couleur-texte-inverse);
	padding: 20px;
	transition: 0.5s;
	opacity: 0.75;
}
.actu:focus-within .actu_legende,
.actu:hover .actu_legende {
    opacity: 1;
    color: var(--couleur-inverse-survol-lien)
}
*/

.actu .actu_legende {
	position: absolute;
	/*top: 0;*/
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.85);
	color: var(--couleur-texte-inverse);
	padding: 20px;
	transition: 0.5s;
	opacity: 0;
}
.actu:focus-within .actu_legende,
.actu:hover .actu_legende {
    opacity: 1;
}
.actu:focus-within img.img_contain,
.actu:hover img.img_contain {
    transform: scale(1.05);
}

.actu_cache {
	max-height: 1000px;
	opacity: 1;
}

	.imgActu {
		display : block;
		height : 150px;
		overflow : hidden;
		position : relative;
	}	

		.imgActu img {
			max-height : 100%;
			margin : 0 auto;	
			position : absolute; 
			top : 50%; 
			left : 50%; 
			transform : translate(-50%,-50%);
		}
		
		
			.imgActu span{
				position : absolute; 
				top : 50%; 
				left : 50%; 
				transform : translate(-50%,-50%);
				text-transform : uppercase; 
				color : rgba(146,143,143,0.5);
				font-weight : 300;
				text-align : center;
				font-size : 95%;
			}
			
			.imgActu span::before{
				content : '\f030';
				font-family : "Font Awesome 5 Free"; 
				font-weight: bold;
				display : block;
				font-size : 200%;
				color : rgba(146,143,143,0.5);
			}

.publi, .publi_lien { border: 1px solid var(--couleur-bordure-bleu-fonce-transparent); margin-bottom: 10px; }


/*** agenda *****************************************/
.agenda { cursor: pointer; margin: 10px 0; transition: 0.5s; }

.agenda:focus,
.agenda:hover {
    background-color: var(--couleur-fond-survol-agenda);
    color: var(--couleur-texte-survol-agenda);
}

.agendate_container {
    position: relative;
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	aspect-ratio: 1;
}
.agendate {
	text-align: center;
	/*background-color: var(--couleur-fond-bleu);*/
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	aspect-ratio: 1;
	color: #fff;
	text-transform: uppercase;
	font-size: 80%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	line-height: 1.2em;
}
.agendate::before, .hover_goutte::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 1;
	transition: 0.5s;
}

.hover_goutte::before { background-color: transparent ; }
.hover_goutte:hover::before {background-color: rgba(0, 0, 0, 0.4);}

.hover_goutte { position: relative; }

.agendate_container::after, .hover_goutte::after {
	content: '';
	background-image: url(/style/ico/picto-simple-donzere-plus.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	transform: translate(-50%,-50%);
	opacity: 0;
	z-index: 2;
	transition: 0.5s;
}
.agendate .jour {
	line-height: 1;
	font-size: 250%;
	font-weight: 700;
	color: #fff;
	display: inline-block;
}
.agendate span {
	z-index: 2;
	position: relative;
	opacity: 1;
	transition: 0.5s;
}

.agenda:hover .agendate span {
	opacity: 0;
}
.agenda:hover .agendate_container::after, .hover_goutte:hover::after {
	opacity: 1;
	transform: translate(-50%,-50%) scale(1.5);
}

.agenda_resume {
	line-height: calc(var(--police-hauteur-ligne) * 0.66);/*line-height: 1.2;*/
	border-left: 1px solid #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hover_date > .agendate_container {
	aspect-ratio: auto;
	transition: 0.5s;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	background-color: rgba(0,0,0,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
}
.hover_date > .agendate_container span.agendate { background-color: transparent; padding: 0 10px; }
.hover_date > .agendate_container span.agendate::before { position: initial; }

.hover_date:hover > .agendate_container { opacity: 1; }


/*** contacts ***************************************/
.gridContacts .col1-3 { width: 100%; }

.gridContacts .unContact {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.gridContacts .gridContact1,
.gridContacts .gridContact2,
.gridContacts .gridContact3,
.gridContacts .gridContact4 {
	width: 33.33%;
	padding: 0 20px;
}

.gridContacts .gridContactBr { display: none; }

.btnGridContacts, .btnListContacts {
	display: inline-block;
	padding: 5px 10px;
	font-size: 150%;
	transition: 0.5s;
	border: 1px solid var(--couleur-fond-btn-suite);
}
.btnGridContacts::before, .btnListContacts::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
}
.btnGridContacts::before { content: '\f009'; }
.btnListContacts::before { content: '\f03a'; }

.btnGridContacts:is(:link,:visited), .btnListContacts:is(:link,:visited) {
	background: var(--couleur-fond-btn-suite);
	color: var(--couleur-texte-btn-suite);
}
.btnGridContacts:is(:focus,:hover,.on), .btnListContacts:is(:focus,:hover,.on) {
	background: var(--couleur-fond-survol-btn-suite);
	color: var(--couleur-texte-survol-btn-suite);
}


/*** icone  *****************************************/

	.ico { display: flex; align-items: center; }

	.ico::before{
		font-family : 'Font Awesome 5 Free'; 
		font-size : 120%; 
		padding-right : 10px;
	}

	.ico-bleu-fonce::before{ color: var(--couleur-texte-bleu-fonce); font-size:100% }
	
	 p.ico span{overflow : hidden; display : inline;}
	 p.ico::before{display : inline;}
	
	.ico-eye::before { content : "\f06e"; font-weight : bold;}
	.ico-map::before { content : "\f3c5"; font-weight : bold;}
	.ico-map-marker::before { content : "\f041"; font-weight : bold;}
	.ico-mobile::before { content : "\f3cd"; font-weight : bold;}
	.ico-phone::before { content : "\f095"; font-weight : bold;}
	.ico-web::before { content : "\f0ac"; font-weight : bold;}
	.ico-mail::before { content : "\f0e0"; font-weight : bold;}
	.ico-recherche::before { content : "\f002"; font-weight : bold;}
	.ico-compte::before { content : "\f2bd"; font-weight : bold;}
	.ico-pdf::before { content : "\f1c1"; font-weight : bold; }
	.ico-print::before { content : "\f02f"; font-weight : bold;}
	.ico-streetview::before {content : "\f21d"; font-weight : bold;}
	.ico-nav::before {content : "\f0c9"; font-weight : bold;}
	.ico-clock::before {content : "\f017"; font-weight : bold;}
	.ico-star::before {content : "\f005"; font-weight : bold; }
	.ico-laptop::before {content : "\f109"; font-weight : bold; }
	.ico-store::before {content : "\f54e"; font-weight : bold; }
	.ico-exchange::before {content : "\f362"; font-weight : bold; }
	.ico-desktop::before {content : "\f108"; font-weight : bold; }
	.ico-mouse::before {content : "\f8cc"; font-weight : bold; }
	.ico-parking::before {content: "\f540"; font-weight: bold;}
	.ico-parking-velo::before {content: "\f206"; font-weight: bold;}
	.ico-tour::before {content: "\f447"; font-weight: bold;}
	.ico-eglise::before {content: "\f51d"; font-weight: bold;}
	.ico-panier::before {content: "\f291"; font-weight: bold;}
	.ico-marche::before {content: "\f6ec"; font-weight: bold;}
	.ico-jumelles::before {content: "\f1e5"; font-weight: bold;}
	.ico-chevron::before {content: "\f054"; font-weight: bold;}
	.ico-calendar::before {content: "\f133";}
	.ico-wc::before {content: "\f7d8"; font-weight: bold;}
	.ico-bolt::before {content: "\f0e7"; font-weight: bold;}
	.ico-ecole::before {content: "\f549"; font-weight: bold;}
	.ico-sport::before {content: "\f434"; font-weight: bold;}
	.ico-salles::before {content: "\f494"; font-weight: bold;}
	.ico-services::before {content: "\f15c"; font-weight: bold;}
	.ico-parcs::before {content: "\f1bb"; font-weight: bold;}
	.ico-lieux::before {content: "\f030"; font-weight: bold;}
	.ico-dl::before {content: "\f56d"; font-weight: bold; font-size: 150%; }
	.ico-dl { align-items: flex-start; line-height: 1.2; }
	.ico-borne::before {content: "\f5e7"; font-weight: bold; }

/*** menu mobile ***/
/* Common styles of menus */

.dl-navdeploy {overflow : hidden;}

.dl-menu-resp {
	display : none;
	position: absolute;
	left : 0;
	top : 0;
	width: 100%;
	z-index : 500;
}

.dl-submenu {
    height: calc(100vh - 46px);
}
/*scrool bar chrome */
.dl-submenu { overflow: hidden; }
.dl-subviewopen > .dl-submenu { overflow: auto; }


.dl-menuwrapper {
	width: 100%;
	float: left;
	position: relative;
	z-index : 500;  
	-webkit-perspective: 1000px;
	perspective: 1000px;
	-webkit-perspective-origin: 50% 200%;
	perspective-origin: 50% 200%;
}

/*.dl-menuwrapper:first-child {
	margin-right: 100px;
}*/

.dl-menuwrapper button {
	background: var(--couleur-fond-bleu-fonce);
	border: none;
	position: relative;
	cursor: pointer;
	/*width: 46px;*/
	height: 50px;
	color : #fff;
	padding : 0px 10px 5px 35px; 
	font-size : 150%;
	z-index : 300;  
	outline: none;
	font-family: var(--police-famille);

}


.dl-menuwrapper button span{
	text-transform: uppercase;
	font-size : 45%;
	font-weight: 300;
}
.dl-menuwrapper button::after {
	position: absolute;
	left : 10px; 
	top: 0;
	line-height: 50px;
	font-family: 'Font Awesome 5 Free';
	/*speak: none;*/
	content: "\f0c9";
	font-weight : bold;
}


.dl-menuwrapper button.dl-active::after {
	content: "\f00d"; font-size : 75%; padding-left : 10px;}


.dl-menuwrapper button:hover,
.dl-menuwrapper button.dl-active,
.dl-menuwrapper ul {
	background: #aaa;
}


.dl-menuwrapper ul {
	padding: 0;
	list-style: none;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.dl-menuwrapper li {
	position: relative;
}

.dl-menuwrapper li a {
	display: block;
	position: relative;
	padding: 10px 30px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	font-weight:300;
	font-size : 90%;
	color: #fff;
	text-transform: uppercase;
	font-family: var(--police-famille);
	outline: none;
}

.no-touch .dl-menuwrapper li a:hover {
	background: rgba(255,248,213,0.1);
}

.dl-menuwrapper li.dl-back > a {
	padding-left: 30px;
	background: rgba(0,0,0,0.1);
	font-weight: 700;
}

.dl-menuwrapper li.dl-back:after,
.dl-menuwrapper li > a:not(:only-child):after {
	position: absolute;
	top: 0;
	line-height: 50px;
	font-family: 'Font Awesome 5 Free';
	/*speak: none;*/
	-webkit-font-smoothing: antialiased;
	content: "\f0da";
	font-weight : bold;
}

.dl-menuwrapper li.dl-back:after {
	left: 10px;
	color: rgba(255,255,255,0.8);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.dl-menuwrapper li > a:after {
	right: 10px;
	color: rgba(255,255,255,0.8);
}

.dl-menuwrapper .dl-menu {
	/*margin: 5px 0 0 0;*/
	position: absolute;
	width: 100%;
	opacity: 0;
	pointer-events: none;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.dl-menuwrapper .dl-menu.dl-menu-toggle {
	transition: all 0.3s ease;
}

.dl-menuwrapper .dl-menu.dl-menuopen {
	opacity: 1;
	pointer-events: auto;
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
	height: calc(100vh - 46px);
	overflow: scroll;
}

/* Hide the inner submenus */
.dl-menuwrapper li .dl-submenu {
	display: none;
}

/* 
When a submenu is openend, we will hide all li siblings.
For that we give a class to the parent menu called "dl-subview".
We also hide the submenu link. 
The opened submenu will get the class "dl-subviewopen".
All this is done for any sub-level being entered.
*/
.dl-menu.dl-subview li,
.dl-menu.dl-subview li.dl-subviewopen > a,
.dl-menu.dl-subview li.dl-subview > a {
	display: none;
}

.dl-menu.dl-subview li.dl-subview,
.dl-menu.dl-subview li.dl-subview .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu > li {
	display: block;
}

/* Dynamically added submenu outside of the menu context */
.dl-menuwrapper > .dl-submenu {
	position: absolute;
	width: 100%;
	top: 50px;
	left: 0;
	margin: 0;
}

/* Animation classes for moving out and in */

.dl-menu.dl-animate-out-1 {
	-webkit-animation: MenuAnimOut1 0.4s;
	animation: MenuAnimOut1 0.4s;
}

.dl-menu.dl-animate-out-2 {
	-webkit-animation: MenuAnimOut2 0.3s ease-in-out;
	animation: MenuAnimOut2 0.3s ease-in-out;
}

.dl-menu.dl-animate-out-3 {
	-webkit-animation: MenuAnimOut3 0.4s ease;
	animation: MenuAnimOut3 0.4s ease;
}

.dl-menu.dl-animate-out-4 {
	-webkit-animation: MenuAnimOut4 0.4s ease;
	animation: MenuAnimOut4 0.4s ease;
}

.dl-menu.dl-animate-out-5 {
	-webkit-animation: MenuAnimOut5 0.4s ease;
	animation: MenuAnimOut5 0.4s ease;
}

@-webkit-keyframes MenuAnimOut1 {
	0% { }
	50% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
	}
	75% {
		-webkit-transform: translateZ(-372.5px) rotateY(15deg);
		opacity: .5;
	}
	100% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimOut2 {
	0% { }
	100% {
		-webkit-transform: translateX(-100%);
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimOut3 {
	0% { }
	100% {
		-webkit-transform: translateZ(300px);
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimOut4 {
	0% { }
	100% {
		-webkit-transform: translateZ(-300px);
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimOut5 {
	0% { }
	100% {
		-webkit-transform: translateY(40%);
		opacity: 0;
	}
}

@keyframes MenuAnimOut1 {
	0% { }
	50% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		transform: translateZ(-250px) rotateY(30deg);
	}
	75% {
		-webkit-transform: translateZ(-372.5px) rotateY(15deg);
		transform: translateZ(-372.5px) rotateY(15deg);
		opacity: .5;
	}
	100% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
}

@keyframes MenuAnimOut2 {
	0% { }
	100% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		opacity: 0;
	}
}

@keyframes MenuAnimOut3 {
	0% { }
	100% {
		-webkit-transform: translateZ(300px);
		transform: translateZ(300px);
		opacity: 0;
	}
}

@keyframes MenuAnimOut4 {
	0% { }
	100% {
		-webkit-transform: translateZ(-300px);
		transform: translateZ(-300px);
		opacity: 0;
	}
}

@keyframes MenuAnimOut5 {
	0% { }
	100% {
		-webkit-transform: translateY(40%);
		transform: translateY(40%);
		opacity: 0;
	}
}

.dl-menu.dl-animate-in-1 {
	-webkit-animation: MenuAnimIn1 0.3s;
	animation: MenuAnimIn1 0.3s;
}

.dl-menu.dl-animate-in-2 {
	-webkit-animation: MenuAnimIn2 0.3s ease-in-out;
	animation: MenuAnimIn2 0.3s ease-in-out;
}

.dl-menu.dl-animate-in-3 {
	-webkit-animation: MenuAnimIn3 0.4s ease;
	animation: MenuAnimIn3 0.4s ease;
}

.dl-menu.dl-animate-in-4 {
	-webkit-animation: MenuAnimIn4 0.4s ease;
	animation: MenuAnimIn4 0.4s ease;
}

.dl-menu.dl-animate-in-5 {
	-webkit-animation: MenuAnimIn5 0.4s ease;
	animation: MenuAnimIn5 0.4s ease;
}

@-webkit-keyframes MenuAnimIn1 {
	0% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
	20% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		opacity: 0.5;
	}
	100% {
		-webkit-transform: translateZ(0px) rotateY(0deg);
		opacity: 1;
	}
}

@-webkit-keyframes MenuAnimIn2 {
	0% {
		-webkit-transform: translateX(-100%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes MenuAnimIn3 {
	0% {
		-webkit-transform: translateZ(300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
}

@-webkit-keyframes MenuAnimIn4 {
	0% {
		-webkit-transform: translateZ(-300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
}

@-webkit-keyframes MenuAnimIn5 {
	0% {
		-webkit-transform: translateY(40%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		opacity: 1;
	}
}

@keyframes MenuAnimIn1 {
	0% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
	20% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		transform: translateZ(-250px) rotateY(30deg);
		opacity: 0.5;
	}
	100% {
		-webkit-transform: translateZ(0px) rotateY(0deg);
		transform: translateZ(0px) rotateY(0deg);
		opacity: 1;
	}
}

@keyframes MenuAnimIn2 {
	0% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes MenuAnimIn3 {
	0% {
		-webkit-transform: translateZ(300px);
		transform: translateZ(300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
}

@keyframes MenuAnimIn4 {
	0% {
		-webkit-transform: translateZ(-300px);
		transform: translateZ(-300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
}

@keyframes MenuAnimIn5 {
	0% {
		-webkit-transform: translateY(40%);
		transform: translateY(40%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-1 {
	-webkit-animation: SubMenuAnimIn1 0.4s ease;
	animation: SubMenuAnimIn1 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-2 {
	-webkit-animation: SubMenuAnimIn2 0.3s ease-in-out;
	animation: SubMenuAnimIn2 0.3s ease-in-out;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-3 {
	-webkit-animation: SubMenuAnimIn3 0.4s ease;
	animation: SubMenuAnimIn3 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-4 {
	-webkit-animation: SubMenuAnimIn4 0.4s ease;
	animation: SubMenuAnimIn4 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-5 {
	-webkit-animation: SubMenuAnimIn5 0.4s ease;
	animation: SubMenuAnimIn5 0.4s ease;
}

@-webkit-keyframes SubMenuAnimIn1 {
	0% {
		-webkit-transform: translateX(50%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimIn2 {
	0% {
		-webkit-transform: translateX(100%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimIn3 {
	0% {
		-webkit-transform: translateZ(-300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimIn4 {
	0% {
		-webkit-transform: translateZ(300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimIn5 {
	0% {
		-webkit-transform: translateZ(-200px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn1 {
	0% {
		-webkit-transform: translateX(50%);
		transform: translateX(50%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn2 {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn3 {
	0% {
		-webkit-transform: translateZ(-300px);
		transform: translateZ(-300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn4 {
	0% {
		-webkit-transform: translateZ(300px);
		transform: translateZ(300px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn5 {
	0% {
		-webkit-transform: translateZ(-200px);
		transform: translateZ(-200px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		opacity: 1;
	}
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-1 {
	-webkit-animation: SubMenuAnimOut1 0.4s ease;
	animation: SubMenuAnimOut1 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-2 {
	-webkit-animation: SubMenuAnimOut2 0.3s ease-in-out;
	animation: SubMenuAnimOut2 0.3s ease-in-out;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-3 {
	-webkit-animation: SubMenuAnimOut3 0.4s ease;
	animation: SubMenuAnimOut3 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-4 {
	-webkit-animation: SubMenuAnimOut4 0.4s ease;
	animation: SubMenuAnimOut4 0.4s ease;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-5 {
	-webkit-animation: SubMenuAnimOut5 0.4s ease;
	animation: SubMenuAnimOut5 0.4s ease;
}

@-webkit-keyframes SubMenuAnimOut1 {
	0% {
		-webkit-transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(50%);
		opacity: 0;
	}
}

@-webkit-keyframes SubMenuAnimOut2 {
	0% {
		-webkit-transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(100%);
		opacity: 0;
	}
}

@-webkit-keyframes SubMenuAnimOut3 {
	0% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(-300px);
		opacity: 0;
	}
}

@-webkit-keyframes SubMenuAnimOut4 {
	0% {
		-webkit-transform: translateZ(0px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(300px);
		opacity: 0;
	}
}

@-webkit-keyframes SubMenuAnimOut5 {
	0% {
		-webkit-transform: translateZ(0);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(-200px);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut1 {
	0% {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(50%);
		transform: translateX(50%);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut2 {
	0% {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut3 {
	0% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(-300px);
		transform: translateZ(-300px);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut4 {
	0% {
		-webkit-transform: translateZ(0px);
		transform: translateZ(0px);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(300px);
		transform: translateZ(300px);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut5 {
	0% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateZ(-200px);
		transform: translateZ(-200px);
		opacity: 0;
	}
}

/* No JS Fallback */
.no-js .dl-menuwrapper .dl-menu {
	position: relative;
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

.no-js .dl-menuwrapper li .dl-submenu {
	display: block;
}

.no-js .dl-menuwrapper li.dl-back {
	display: none;
}

.no-js .dl-menuwrapper li > a:not(:only-child) {
	background: rgba(0,0,0,0.1);
}

.no-js .dl-menuwrapper li > a:not(:only-child):after {
	content: '';
}

/* Colors for demos */

/* Demo 1 */
.demo-1 .dl-menuwrapper button {
	background: var(--couleur-fond-bleu-fonce);
	border-top-right-radius: 45px;
}

.demo-1 .dl-menuwrapper button:hover,
.demo-1 .dl-menuwrapper button.dl-active,
.demo-1 .dl-menuwrapper ul {
	background: var(--couleur-fond-bleu-fonce);
}

/* Demo 2 */
.demo-2 .dl-menuwrapper button {
	background: #e86814;
}

.demo-2 .dl-menuwrapper button:hover,
.demo-2 .dl-menuwrapper button.dl-active,
.demo-2 .dl-menuwrapper ul {
	background: #D35400;
}

/* Demo 3 */
.demo-3 .dl-menuwrapper button {
	background: #08cbc4;
}

.demo-3 .dl-menuwrapper button:hover,
.demo-3 .dl-menuwrapper button.dl-active,
.demo-3 .dl-menuwrapper ul {
	background: #00b4ae;
}

/* Demo 4 */
.demo-4 .dl-menuwrapper button {
	background: #90b912;
}

.demo-4 .dl-menuwrapper button:hover,
.demo-4 .dl-menuwrapper button.dl-active,
.demo-4 .dl-menuwrapper ul {
	background: #79a002;
}

/* Demo 5 */
.demo-5 .dl-menuwrapper button {
	background: #744783;
}

.demo-5 .dl-menuwrapper button:hover,
.demo-5 .dl-menuwrapper button.dl-active,
.demo-5 .dl-menuwrapper ul {
	background: #643771;
}

#headerMobile {display: none;}

/*** masonry  ****************************************/
.masonry { 
	  display: flex;
	  flex-flow: row wrap;
	  width: 100%;

	}

	.masonry-brick {
	  flex: auto;
	  height: 375px;
	  min-width: 150px;
	  padding: 10px; /* Some gutter */
	}

	.masonry-brick:nth-child(4n+1) {
		width: 25%;
	}
	.masonry-brick:nth-child(4n+2) {
	  width: 66.66%;
	}
	.masonry-brick:nth-child(4n+3) {
	   width: 33.33%;
	}
	.masonry-brick:nth-child(4n+4) {
	   width: 50%;
	}

	.masonry-brick .img_100{ width: 100%; object-fit : cover; height : 100%;} 

.grid-sizer  {
    width : 33.33%;
    box-sizing : border-box;
    line-height : 1;
    float : left;
    position: absolute;
}

.grid-sizer1-2.grid-sizer  {
    width : 50%;
}
.grid-sizer1-4.grid-sizer  {
    width : 25%;
}

.masonry-css {
  column-gap: 0px;
}

.masonry-css > .item {
 transition : all 0.5s;
 /* margin: 0 0 1em;*/
}

/* Masonry-css on large screens */
@media only screen and (min-width: 1024px) {
  .masonry-css {
    column-count: 3;
  }
}

/* Masonry-css on medium-sized screens */
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  .masonry-css {
    column-count: 2;
  }
}

/* Masonry-css on small screens */
@media only screen and (max-width: 767px) and (min-width: 540px) {
  .masonry-css {
    column-count: 1;
  }
}



/* magnific popup */
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden;}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;appearance:none;display:block;outline:0;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}

/*! #######################################################################

	MeanMenu 2.0.7
	--------

	To be used with jquery.meanmenu.js by Chris Wharton (http://www.meanthemes.com/plugins/meanmenu/)

####################################################################### */

/* hide the link until viewport size is reached */
a.meanmenu-reveal {
	display: none;
}

/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
	float: left;
	width: 100%; 
	position: fixed;
	background: transparent;
	/*padding: 4px 0;*/
	/*min-height: 42px;*/
	z-index: 999999;
}

.mean-container a.meanmenu-reveal {
	padding : 6px 10px;
	position: absolute;
	top: 5px;
	right: 0;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	font-size: 60%;
	text-transform : uppercase;
	display: block;
	font-weight: 300;
	background : #71b9d6;
	z-index: 800;
	text-align : center;
}

a.meanmenu-reveal::before {
	content : "\f0c9"; 
	font-family : "Font Awesome 5 Free"; 
	font-weight : bold;
	text-align : center;
	padding-right : 5px;
	font-size : 250%; 
}

.mean-container a.meanclose { top : 5px;}
.mean-container a.meanclose::before { display : none;}

.mean-container a.meanmenu-reveal span {
	background : pink;
	position : relative;
	top : -5px;
}


.mean-container .mean-nav {
	float: left;
	width: 100%;
	background: #E9E9E9;
	/*margin-top: 44px;*/
}

.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
}

.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul li a {
	display: block;
	float: left;
	width: 100%;
	box-sizing : border-box; 
	padding: 1em 5%;
	margin: 0;
	text-align: left;
	color: #000;
	border-top: 1px solid #383838;
	border-top: 1px solid rgba(255,255,255,0.5);
	text-decoration: none;
	text-transform: uppercase;
}

.mean-container .mean-nav ul li li a {
	width: 80%;
	padding: 1em 10%;
	border-top: 1px solid #f1f1f1;
	border-top: 1px solid rgba(255,255,255,0.25);
	opacity: 0.75;
	filter: alpha(opacity=75);
	text-shadow: none !important;
	visibility: visible;
}

.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}

.mean-container .mean-nav ul li a:hover {
	background: #252525;
	background: rgba(255,255,255,0.1);
}

.mean-container .mean-nav ul li a.mean-expand {
	margin-top: 1px;
	width: 26px;
	height: 32px;
	padding: 12px !important;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	font-weight: 700;
	background: rgba(255,255,255,0.1);
	border: none !important;
	border-left: 1px solid rgba(255,255,255,0.4) !important;
	border-bottom: 1px solid rgba(255,255,255,0.2) !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
	background: rgba(0,0,0,0.9);
}

.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

/* popup gestion cookies */

body.cn-cookie-overlay {overflow: hidden; height: 100vh;}

.cn-cookie {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: 99999;
	top : 0;
	left: 0;
	background : rgba(0,0,0,.5);
	
}

.cn-cookie-content {
   display: block;
   position: fixed;
   max-width: 500px;
   min-width: 320px;
   height: auto;
   z-index: 100000;
   font-size: 16px;
   line-height: 18px;
   top : 50%;
   left: 50%;
   padding : 20px; 
   color: #000;
   background : #fff;
   transform : translate(-50%,-50%);
}

.cn-cookie strong {font-size : 30px; display : block; padding-bottom : 20px;}

.cn-cookie p {padding-bottom : 20px;}
.cn-cookie a.btnDenyCookies {
	text-decoration: underline; 
	padding-bottom : 10px;	
	display: block;
	color : #8c8c8c!important;
  text-align: center;
}
.cn-cookie a.btnAcceptCookies,
.cn-cookie a.btnDetailsCookies { 
  display: block;
  width : 100%;
  margin-bottom : 10px;
  color: #fff; 
  text-align: center;
  padding: 5px 10px;
  text-decoration: none;
  outline: none;
}
.cn-cookie a.btnAcceptCookies {
  background : #000;
  color : #fff!important; 
}

.cn-cookie a.btnDetailsCookies {
  border : 1px solid;
  color : #000!important; 
}


/*********************** responsive  ***************************************/

@media all and (max-width: 1600px) {

	.cache-1600 { display: none; }
	.small-1600, .nav_actu { font-size: 80%; }

}

@media all and (max-width: 1500px) {

	header .padding_hugeLR { padding-left: 0; }

}

@media all and (max-width: 1400px) {
	.nav__btn { padding: 0 10px }
}

@media all and (max-width: 1300px) {

	.w100-1300 { width: 100%; }

	header { min-height: 50px; }

	header .padding_hugeLR { padding-left: calc(var(--espace) * 3); padding-right: 0;  }

	.cache-1300 { display:none; }
	.dl-menu-resp {
		display : block;
	}

	/*.footerMenu {display: block;}*/

    /*
	#form-recherche {
		right: 0;
		transform: translateY(100%);
	}
	*/

	#headerMobile {position: fixed; top : 0; right: 0; width: 100%; background: transparent; /*height: 46px;*/ z-index : 500; display: block; }

}

@media all and (max-width: 1200px) {

	.w100-1200 { width: 100%; }
	.w33-1200 { width: 33%; }

	.ptb-1200 { padding-top: calc(var(--espace) * 2)}

	.auto-1200 { float: none; margin: auto; }

	a#logo { top: 100px; left: 0; }

}


@media all and (max-width: 1100px) {

	.w33-1100 { width: 33%; }

	a#logo { position: initial; }

}


@media all and (max-width: 1000px) {

	.w100-1000 { width: 100%; }
	.w50-1000 { width: 50%; }
	.w33-1000 { width: 33%; }

	.fl-1000 { float: left; }
	.auto-1000 { float: none; margin: auto }
	
	.cn-cookie a.btnAccept, .cn-cookie a.btnDeny {
		position : relative;
		top : inherit;
		display : block;
		right : inherit;
		margin : 10px auto 0 auto;
		max-width : 200px;
		transform : translateY(0);
	}
}

@media all and (max-width: 900px) {

	.w50-900 { width: 50% }

	.gridContacts .unContact { display: block; }

	.gridContacts .gridContact1,
	.gridContacts .gridContact2,
	.gridContacts .gridContact3,
	.gridContacts .gridContact4 {
		width: 100%;
		padding: 0;
	}

	.gridContacts .gridContactBr { display: block; }

	.btnsContacts { display: none; }
}

@media all and (max-width: 800px) {

	.w100-800 { width: 100% }
	.w66-800 { width: 66% }
	.w50-800 { width: 50% }
	.w33-800 { width: 33% }

	.o1-800 { order: 1; }
	.o2-800 { order: 2; }
	.o3-800 { order: 3; }
	.o4-800 { order: 4; }

	.toggle {
	    max-height: 1000px;
	    opacity: 1;
	    pointer-events: auto;
	}

	.column2 {
		-moz-columns: 1;
		-webkit-columns: 1;
		columns: 1;
	}

	.column3 {
		-moz-columns: 2 auto;
		-webkit-columns: 2 auto;
		columns: 2;
	}

	.cache-800 { display: none; }

	.auto-800 { float: none; margin: auto }

}


@media all and (max-width: 620px) {

	.fade,
	.fondu_top,
	.fondu_bottom,
	.fondu_left,
	.fondu_right {
		opacity: 1;
		transform: none;
		z-index: 100;
		transition: 0;
	}

	.demarchesEnLigne:focus-within, .demarchesEnLigne.open {
		transform: translate(50px, -50%);
	}

	#openDemarches {
		font-size: 150%;
		padding: 10px;
	}

	a#logo { margin: auto; }

	.slider_caption_div {
		line-height: 1.5;
	}

	.o1-620 { order: 1; }
	.o2-620 { order: 2; }
	.o3-620 { order: 3; }
	.o4-620 { order: 4; }

	.column3 {
		-moz-columns: 1;
		-webkit-columns: 1;
		columns: 1;
	}
	
	.cache-620 { display: none; }

	.auto-620 { float: none; margin: auto }

	/*header { overflow-x: hidden; }*/
	header li a.padding_min { padding: 10px 5px }
	
	.mean-container a.meanclose { top : 0px;  background: #626263;} 
	
	.page {padding : 0;}

	.w100-620 { width: 100% !important; }

	.col1-2, .col1-3, .col2-3, .col1-4  , .col3-4 , .col1-5:not(.agendate) , .col4-5:not(.agenda_resume) {float : none; width : 100%; }
	
	.flex1-2, .flex1-3, .flex2-3, .flex1-4 , .flex1-5 , .flex3-4  {width : 100%;}

	#get-parametres-accessibilite {
		padding: 0 10px;
	}

	#navLettres { display: block; }
	
}



@media all and (max-width: 450px) {

	#header_rs {
		/*background-color: var(--couleur-fond-inverse);
		color: var(--couleur-texte-defaut);*/
		position: absolute;
		right: 0%;
		top: 20px;
		transform: translateX(100%);
		transition: 0.5s;
	}

	#header_rs.on, #header_rs:hover, #header_rs:focus-within { transform: translateX(0px); }

	header > div { display: block; }

	.show-450 { display: inline-block !important; }

	.btnHeaderReseaux {
		background: var(--couleur-fond-bleu);
		border-radius: 15px;
		border-bottom-left-radius: 0;
	}

}

.acc-high-contrast .lSAction > a,
.acc-reverse-contrast .lSAction > a{
    background-color: var(--couleur-fond-inverse);
    opacity: 1!important;
    transition: none!important;
}