/* fonts */
/* https://fonts.google.com/ */
@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")
}
@font-face {
	font-family: "Rubik";
	src: url(/style/font/Rubik/static/Rubik-Light.ttf);
	font-display: swap;
	font-weight: 300;
}
@font-face {
	font-family: "Rubik";
	src: url(/style/font/Rubik/static/Rubik-Regular.ttf);
	font-display: swap;
	font-weight: 400;
}
@font-face {
	font-family: "Rubik";
	src: url(/style/font/Rubik/static/Rubik-Medium.ttf);
	font-display: swap;
	font-weight: 500;
}
@font-face {
	font-family: "Rubik";
	src: url(/style/font/Rubik/static/Rubik-SemiBold.ttf);
	font-display: swap;
	font-weight: 600;
}
@font-face {
	font-family: "Rubik";
	src: url(/style/font/Rubik/static/Rubik-Bold.ttf);
	font-display: swap;
	font-weight: 700;
}
/* variables */
:root {
	--font: "Rubik",arial,sans-serif;
	--font-titre: "Rubik",arial,sans-serif;
	--padding: 30px;
	--jaune : #fbb317;
	--bleu : #006c82;
	--rouge : #f17276;
	--vert : #80c45d;
	--bg-jaune : #fbb317;
	--bg-bleu : #006c82;
	--bg-rouge : #f17276;
	--bg-vert : #80c45d;
	--gris-clair: #cdcdcd;
	--gris-fonce: #58585a;
	--blanc: #fff;
	--noir: #000;
	--facebook: #3b5998;
	--instagram: #e1306c;
	--font-size: 1.8em;
	--line-height: 1.5em;
	--shadow: rgba(0,0,0,0.2);
}

.acc-reverse-contrast {
	--bg-jaune: #ff0;
	--bg-bleu: #ff0;
	--bg-rouge: #ff0;
	--bg-vert: #ff0;
	--jaune: navy;
	--bleu: navy;
	--rouge: navy;
	--vert: navy;
	--gris-clair: navy;
	--gris-fonce: navy;
	--blanc: navy;
	--noir: #ff0;
	--facebook: #ff0;
	--instagram: #ff0;
	--force-clair: #ff0 !important;
	--force-fonce: navy !important;
	--shadow: rgba(225,225,0,0.2);
}

.acc-high-contrast {
	--bg-jaune: #fff;
	--bg-bleu: #fff;
	--bg-rouge: #fff;
	--bg-vert: #fff;
	--jaune: #000;
	--bleu: #000;
	--rouge: #000;
	--vert: #000;
	--gris-clair: #000;
	--gris-fonce: #fff;
	--blanc: #000;
	--noir: #fff;
	--facebook: #fff;
	--instagram: #fff;
	--force-clair: #fff !important;
	--force-fonce: #000 !important;
	--shadow: rgba(225,225,255,0.2);
}

.acc-high-contrast .heroLegende::before,
.acc-reverse-contrast .heroLegende::before { display: none; }

.acc-high-contrast .force-clair,
.acc-reverse-contrast .force-clair,
.acc-high-contrast .dynamicText a,
.acc-reverse-contrast .dynamicText a,
.acc-high-contrast a.btn_suite,
.acc-reverse-contrast a.btn_suite,
.acc-high-contrast input.btn_suite,
.acc-reverse-contrast input.btn_suite { color: var(--force-clair) !important; }
.acc-high-contrast .force-fonce,
.acc-reverse-contrast .force-fonce { color: var(--force-fonce) !important; }
.acc-high-contrast .fillBleu *,
.acc-reverse-contrast .fillBleu * { fill: var(--force-clair) !important; }

.acc-luciole-font {
    --font: "Luciole", helvetica, arial, sans-serif;
	--font-titre: "Luciole", helvetica, arial, sans-serif;
}

.acc-dyslexia-font {
    --font: "OpenDyslexic", helvetica, arial, sans-serif;
	--font-titre: "OpenDyslexic", helvetica, arial, sans-serif;
}

.acc-high-lineheight {
    --line-height: 2.2em;
}

.acc-none-justification * {
	text-align: left !important;
}

/* default styles */
*,*::before,*::after {box-sizing: border-box;padding: 0;margin: 0;}
select * {padding: 0 0.5em;}
ul, ol {list-style: none;}
a img, :link img, :visited img, object, fieldset {border: none;}
a:focus, a:hover, :link, :visited {text-decoration: none;}
iframe {line-height: 1em; display: block;}
table {border-collapse: collapse;}
html {font-size: 62.5%;scroll-behavior: smooth;}
body {overflow-x: hidden;background-color: var(--blanc);color: var(--noir);font-family: var(--font);font-size: var(--font-size); /* equiv 14px */line-height: var(--line-height);}
input, select, textarea {font-size: 100%;}
.clearfix::after {content: ".";display: block;height: 0;font-size:0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;}
* html .clearfix{height: 1%;}
.clearfix{display: block;}
.mir {letter-spacing: -1000em;}
* html .mir {text-indent: -999em;overflow: hidden;}
html>body .mir {letter-spacing: normal;text-indent: -999em;overflow: hidden;}
.clear {clear: both;}
div.clear {height: 0;}
.no-wrap {white-space: nowrap;}
.errorOutput {font-weight: bold;padding: 0.5em 20px;border-top: 2px solid #eee;border-bottom: 2px solid #eee;background: transparent url(/style/alert.gif) no-repeat left center;}
a:link, a:visited {color: #008cd9;}

/* sections et blocs */
.page, .page_min {
	width: min(100%,1300px);
	margin: 0 auto;
}
.page_min {width: min(100%,800px);}
.page_demi {width: min(100%,650px);}
.section {padding: calc(var(--padding)*2) 0; position: relative;}

.col1-2, .col1-3, .col2-3,
.col3-4, .col1-4, .col1-5 {
	float: left;
}
.col,.flex1-1{width: 100%;}
.col3-4,.flex3-4{width: 75%;}
.col1-2,.flex1-2{width: 50%;}
.col1-3,.flex1-3{width: 33.33%;}
.col2-3,.flex2-3{width: 66.66%;}
.col1-4,.flex1-4{width: 25%;}
.col1-5,.flex1-5{width: 20%;}

/* flexbox */
.flexParent {
    display: flex;
    flex-wrap: wrap;
}
.flex, .flex1-1, .flex1-2, .flex1-3,
.flex2-3, .flex3-4, .flex1-4, .flex1-5 {
    display: flex;
}
.flexColumn {
	flex-direction: column;
	display: flex;
}
.flex_between {
    justify-content: space-between;
}
.flex_start_center {
    justify-content: flex-start;
    align-items: center;
}
.flex_center_center {
    justify-content: center;
    align-items: center;
}
.flex_between_center {
    justify-content: space-between;
    align-items: center;
}
.flex_end_center {
    justify-content: flex-end;
    align-items: center;
}
.flex_around_center {
    justify-content: space-around;
    align-items: center;
}
.alignSelfEnd { align-self: flex-end; }

/* columns */
.gap, .column2, .column3 { column-gap: var(--padding); }
.column2 { columns: 2; }
.column3 { columns: 3; }

/* padding margin */
.padding{ padding: var(--padding); }
.paddingMin{ padding: calc(var(--padding)/2); }
.paddingBig{ padding: calc(var(--padding)*2); }
.paddingLR{
	padding-left: var(--padding);
	padding-right: var(--padding);
}
.paddingTB{ 
	padding-top: var(--padding);
	padding-bottom: var(--padding);
}
.paddingNoTop {padding-top: 0;}
.paddingNoBottom {padding-bottom: 0;}

.margin_auto{margin: 0 auto;}
.marginNoBottom, .section p.marginNoBottom {margin-bottom: 0;}

/* gestion des couleurs/fonds */
.bg {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.bg_jaune, .decouvrir_montboucher .bg_rubrique {background-color: var(--bg-jaune); color: var(--blanc);}
.bg_bleu, .municipalite .bg_rubrique {background-color: var(--bg-bleu); color: var(--blanc);}
.bg_rouge {background-color: var(--bg-rouge); color: var(--blanc);}
.bg_vert, .vivre_a_montboucher .bg_rubrique {background-color: var(--bg-vert); color: var(--blanc);}
.bg_gris_fonce {background-color: var(--gris-fonce); color: var(--blanc);}
.bg_gris_clair {background-color: var(--gris-clair); color: var(--noir);}
.bg_blanc {background-color: var(--blanc); color: var(--noir);}
.bg_noir {background-color: var(--noir); color: var(--blanc);}

.bg_gris_clair a:is(:link,:visited),
.bg_blanc a:is(:link,:visited) {color: var(--noir);}
.bg_gris_fonce a:is(:link,:visited),
.bg_noir a:is(:link,:visited),
.bg_jaune a:is(:link,:visited),
.bg_bleu a:is(:link,:visited),
.bg_rouge a:is(:link,:visited),
.bg_vert a:is(:link,:visited),
.bg_rubrique a:is(:link,:visited) {color: var(--blanc);}

.jaune { color: var(--jaune) !important; }
.bleu { color: var(--bleu) !important; }
.rouge { color: var(--rouge) !important; }
.vert { color: var(--vert) !important; }

.hide {display: none;}
.block {display: block;}
.inlineBlock {display: inline-block;}
.relative{position: relative;}
.oHidden {overflow: hidden;}
.show-1250 { display: none !important; }

.radius { border-radius: 5px; }
.shadow { box-shadow: 0 0 10px var(--shadow); }

.border { border: 1px solid var(--noir); }

.separation {
	margin: auto;
	height: 1px;
	background-color: #000;
	width: calc(1300px - 2 * var(--padding));
}

.float_left {float: left;}
.float_right {float: right;}

.souligne { text-decoration: underline; }

.h100 { height: 100%; }
.h200 { height: 200px !important; }
.imgContain { object-fit: contain; }

/* textes */
.section p {margin-bottom: 20px;}
.align_center {text-align: center;}
.align_right {text-align: right;}

.maj {text-transform: uppercase;}
.italic {font-style: italic;}
.noItalic {font-style: normal;}

.thin {font-weight: 100 !important;}
.extralight {font-weight: 200 !important;}
.light {font-weight: 300 !important;}
.normal {font-weight: 400 !important;}
.medium {font-weight: 500 !important;}
.semibold {font-weight: 600 !important;}
.bold {font-weight: 700 !important;}
.extrabold {font-weight: 800 !important;}
.black {font-weight: 900 !important;}

.big { font-size: 120%; line-height: 1.2; }
.extrabig {font-size: 140%; line-height: 1.2;}
.small {font-size: 80%;}
.extrasmall {font-size: 60%;}

/* 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;
}

.transition05 { transition: 0.5s; }
.transition1 { transition: 1s; }
.transition15 { transition: 1.5s; }
.transition2 { transition: 2s; }
.transition25 { transition: 2.5s; }

.rond { position: relative; }
.rond::before {
	content: '';
	display: block;
	padding-bottom: 100%;
}

/* header */
header {
	position: fixed;
	width: 100%;
	z-index: 101;
	top: 0;
	left: 0;
}
main { padding-top: 182px; }

a#logo img.img_100 { transition: 0.5s; }
header.fix a#logo img.img_100 { max-width: 80px; }

/* menu */
nav#mainNav ul { text-align: center; }
nav#mainNav li { display: inline-block; position: relative; }
nav#mainNav li a, nav#mainNav li span {
	display: block;
	padding: 10px;
	position: relative;
	font-weight: 700;
	text-transform: uppercase;
	transition: 0.5s;
	font-size: 95%;
}
#menuBurger, #openNav { display: none; }

/* effets passage de souris */
/*nav#mainNav li a:is(:hover,:focus) {
	
}*/
.municipalite li#nav-municipalite > span,
nav#mainNav li#nav-municipalite > span:is(:hover,:focus) { color: var(--bleu); }
.vivre_a_montboucher li#nav-vivre-a-montboucher > span,
nav#mainNav li#nav-vivre-a-montboucher > span:is(:hover,:focus) { color: var(--vert); }
.decouvrir_montboucher li#nav-decouvrir-montboucher > span,
nav#mainNav li#nav-decouvrir-montboucher > span:is(:hover,:focus) { color: var(--jaune); }

/* sous-menu */
nav#mainNav .sousMenuParent ul {
	text-align: left;
	position: absolute;
	max-height: 0;
	overflow: hidden;
	box-shadow: 0px 0px 5px var(--shadow);
	transition: 0.5s;
}
nav#mainNav .sousMenuParent ul li { display: block; }
nav#mainNav .sousMenuParent:is(:hover,:focus-within) ul,
nav#mainNav .sousMenuParent a:is(:hover,:focus) + ul {max-height: 500px;}
nav#mainNav .sousMenuParent ul a {white-space: nowrap;}
nav#mainNav .burgerOnly {display: none !important;}

/* transformation en menu burger */
@media all and (max-width: 1250px) {

	nav#mainNav .burgerOnly { display: block !important; }

	nav#mainNav ul {
		position: absolute;
		display: flex;
		flex-direction: column;
		width: 100vw;
		height: calc(100vh - 118px);
		top: 118px;
		right: calc(var(--padding) / -2);
		padding: calc(var(--padding) / 2);
		text-align: left;
		transform: translateX(100%);
		transition: 0.5s;
	}
	nav#mainNav > ul {
		overflow: hidden;
		z-index: 1;
	}
	nav#mainNav li { display: block; }

	/* sous-menu */
	nav#mainNav .sousMenuParent > a::after {
		content: '\f0da';
		font-family: "Font Awesome 6 Free";
		font-weight: 700;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
	}

	nav#mainNav #openNav:not(:checked) ~ ul .sousMenuParent ul { display: none; }
	nav#mainNav .sousMenuParent ul, nav#mainNav .sousMenuParent a:hover + ul {
		position: fixed;
		/*top: 0;*/
		left: 100%;
		max-height: none !important;
		z-index: 2;
		transform: none;
		box-shadow: none;
	}
	nav#mainNav .sousMenuParent > a.open + ul {	left: 0; }

	/* bars */
	#menuBurger { display: block; padding : 10px}
	#menuBurger label {
		cursor: pointer;
		position: relative;
		display: block;
		width: 85px;
	}
	#menuBurger label::before,
	#menuBurger label::after {
		content: '';
	}
	#menuBurger label span,
	#menuBurger label::before,
	#menuBurger label::after {
		width: 20px;
		height: 2px;
		background-color: #000;
		transition: 0.5s;
		margin-top : 5px;
		display: block;
		transform-origin: left;
	}
	#menuBurger label b {
		display: block;
		position: absolute;
		top : 50%;
		transform: translateY(-50%); 
		left: 30px;
		line-height: 1em;
		font-weight: 400;
		text-transform: uppercase;
	}

	/* burger ouvert */
	nav#mainNav #openNav:checked ~ #menuBurger ~ ul { transform: none; }
	nav#mainNav #openNav:checked + #menuBurger label::before { transform: rotate(45deg); }
	nav#mainNav #openNav:checked + #menuBurger label span { opacity: 0; }
	nav#mainNav #openNav:checked + #menuBurger label::after { transform: rotate(-45deg); }

	nav#mainNav li a::before { display: none !important; }

	nav li#nav-accessibilite { display: none; }

	.show-1250 { display: block !important; }

}


/* slider */
.heroAccueil, .heroAccueil .lsOneSlide { overflow: visible !important; }
.heroLegende {
	font-size: 150%;
	font-weight: 600;
	width: 590px;
	max-width: 100%;
	position: absolute;
	bottom: calc(0px - var(--padding) * 2);
	left: calc(50% + var(--padding));
}
.heroLegende::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	opacity: 0.3;
	z-index: 1;
	pointer-events: none;
}
.heroLegende.bg_jaune::before { background-color: var(--jaune); }
.heroLegende.bg_bleu::before { background-color: var(--bleu); }
.heroLegende.bg_rouge::before { background-color: var(--rouge); }
.heroLegende.bg_vert::before { background-color: var(--vert); }
.heroLegende p {
	position: relative;
	z-index: 2;
}


/* svg */
.rubriquesAccueil svg {
	display: inline-block;
	max-width: 100%;
	width: 100px;
	max-height: 100px;
}
.fillBleu * { fill: var(--bleu) !important; }


/* panneau */
.panneauBefore {
	display: flex;
	align-items: center;
}
.panneauBefore::before {
	content: url(/style/panneau-pocket.png);
	padding-right: 10px;
}


/* accueil */
.section1Accueil { padding-top: calc(var(--padding) * 5); }
.logoFb, .logoIg { /*padding-right: var(--padding);*/ }
.logoFb i { color: var(--facebook); }
.logoIg i { color: var(--instagram); }

.rubriquesAccueil .lsOneSlide {
	display: flex;
	flex-direction: column;
	justify-content: end;
	align-items: center;
}
.rubriquesAccueil .surtitre {
	padding-top: 20px;
}
.afterLettre::after {
	content: url(/style/accueil/lettre-info-montboucher.png);
	position: absolute;
	bottom: -8px;
	right: 0px;
}
.afterPanneau::after {
	content: url(/style/accueil/panneau-pocket-montboucher.png);
	position: absolute;
	bottom: -8px;
	right: 10px;
}


/* agenda */
.agendaImg, .actuImg {
	display: block;
	overflow: hidden;
	position: relative;
}
.agendaImg::before, .actuImg::before {
	content: '';
	padding-bottom: 56.25%;
	display: block;
}
.agendaImg img, .actuImg img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	transition: 0.5s;
}
.agendaImg:hover img, .actuImg:hover img {
	transform: translate(-50%, -50%) scale(1.2);
}
.agendaDate, .agendaDetailDate {
	padding: 5px 10px;
	line-height: 1.2;
}
.agendaDate {
	position: absolute;
	/*top: 210px;*/
	left: var(--padding);
	transform: translateY(-50%);
}
.agendaDate.agendaNoImg { top: var(--padding); left: 0px; }
.agendaTitre, .actuTitre {
	font-size: 110%;
	font-weight: 700;
	text-transform: none;
	padding-top: 15px;
	margin-bottom: 10px;
}


/* accessibilité */
dialog { margin: auto;}
dialog::backdrop {background-color: hsla(216.585, 65%, 12%, 0.8)}
.acc {
    background: var(--blanc);
    color: var(--noir);
}

    .acc_head {
	    display: flex;
	    justify-content: space-between;    
    }

        .acc_title {
            font-size: 1.75em;
            font-weight: 700;
            line-height: calc(var(--line-height) * 0.75);/*line-height: 1.3;*/
        }
    
    .acc_head button {
	    background: var(--blanc);
	    border: none;
	    font-size: 200%;
	    color: var(--noir);
    }


    .acc_body {
	    padding-top: var(--padding);
	    display: flex;
	    flex-wrap:wrap;
	    gap: var(--padding)
    }

	    .acc_option {
		    flex-grow: 1;
		    border: 5px solid var(--noir);
		    border-radius: 5px;
		    padding: var(--padding);
		    background: var(blanc);
	    }

		    .acc_option legend {
			    margin-left: 20px;
			    border-radius: 5px;
			    padding: 5px 10px;
			    box-shadow: 0 0 0 5px var(--blanc);
			    background: var(--blanc);
			    color: var(--noir);
			    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(--line-height) * 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(--noir);
            /*background-color: #f9fcff;*/
        }
        
        .acc_option label::after {
	        content: '';
            position: absolute;
            display: block;
            border-radius: 100%;
            top: 0.3em;
            left: 0.3em;
            width: 0.8em;
            height: 0.8em;
            transition: all .2s;
            background-color: var(--noir);
        }

        .acc_option input:not(:checked)+label::after {
            /*
			opacity: 0;
            transform: scale(0);
            */
			background: transparent;
        }

        .acc_option input:checked+label::before {
            border-color: var(--noir);
        }


/* articles */
.repertoire {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	position: absolute;
	height: 100%;
	top: 0;
	right: 0;
	z-index: 1;
	font-size: 150%;
}
.repertoire a {
	display: block;
	padding: 5px 10px;
}
.repSticky {
	position: sticky;
	top: 139px;
}


/* footer */
footer { border-top: 1px solid; }
.nav-mentions li{display: inline-block;}
.nav-mentions li a{
	padding: 0 5px;
	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;
}

/* listes */
ul.list, .dynamicText ul {
	list-style-type: disc;
	margin-left: 15px;
	margin-bottom: 20px;
}
ul.inline li{
	display: inline-block;
	padding: 0 10px;
}

/* images */
.img_100 {
	display: block;
	line-height: 1;
	max-width: 100%;
	width: auto;
	height: auto;
}
.img_cover {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.img_contain {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* titres */
h1, .like_h1, h2, .like_h2, h3, .like_h3, h4, .like_h4 {
	font-family: var(--font-titre);
	line-height: 1.2;
	margin-bottom: var(--padding);
}
h2, .like_h2 {
	font-size: 200%;
	font-weight: 700;
}
h3, .like_h3 {
	font-size: 120%;
	font-weight: 600;
	text-transform: uppercase;
}
h4, .like_h4 {
	font-size: 110%;
	font-weight: 600;
	margin-bottom: 10px;
}
.surtitre {
	font-weight: 300;
	text-transform: uppercase;
	margin-bottom: 10px !important;
}
.beforeTitre {
	position: relative;
	padding-top: 20px;
}
.beforeTitre::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 0;
	width: 100px;
	height: 8px;
	border-radius: 5px;
}
.beforeBleu::before {
	background-color: var(--bleu);
}
.beforeRouge::before {
	background-color: var(--rouge);
}
.beforeVert::before {
	background-color: var(--vert);
}
.beforeJaune::before {
	background-color: var(--jaune);
}
.beforeBlanc::before {
	background-color: var(--blanc);
}

/* liens */
.btn_suite, .btn_close {
	display: inline-block; 
	text-transform: uppercase;
	background: transparent;
	font-family: var(--font);
	font-weight: 600;
	border: none;
	appearance:none;
	transition: all 0.5s;
	cursor: pointer;
	padding: 10px 0;
	font-size: 90%;
}

	.btn_suite::after {
		content: '\f35a';
		font-family: 'Font Awesome 6 Free';
		font-weight: bold;
		padding-left: 5px;
		font-size: 90%;
	}

	.btn_close::before {
		content: '\f057';
		font-family: 'Font Awesome 6 Free';
		font-weight: bold;
		padding-right: 5px;
		font-size: 90%;
	}

.btn_suite:is(:hover),
.btn_close:is(:hover) {
	padding-left: 20px;
}
.dynamicText a { text-decoration: underline;}
.bg_bleu .dynamicText a,
.bg_vert .dynamicText a,
.bg_jaune .dynamicText a { color: var(--blanc) !important; }

/* iframe responsive 16/9 */
.video-responsive {
	overflow:hidden;
	padding-block-end:56.25%;
	position:relative;
	height:0;
}
.video-responsive iframe {
	left:0;
	top:0;
	height:100%;
	width:100%;
	position:absolute;
}

/* icônes */
.ico { display: inline-flex; }
.ico::before{
	font-family: 'Font Awesome 6 Free'; 
	font-size: 100%;
	padding-right: 5px; 
	font-weight: bold;
}
.ico-regular::before{
	font-weight: normal;
}
p.ico span{overflow: hidden; display: inline;}
p.ico::before{display: inline;}

.ico-eye::before { content: "\f06e";}
.ico-map::before { content: "\f3c5";}
.ico-map-marker::before { content: "\f041";}
.ico-mobile::before { content: "\f3cd";}
.ico-phone::before { content: "\f879";}
.ico-web::before { content: "\f0ac";}
.ico-mail::before { content: "\f0e0";}
.ico-recherche::before { content: "\f002";}
.ico-compte::before { content: "\f2bd";}
.ico-pdf::before { content: "\f1c1";}
.ico-print::before { content: "\f02f";}
.ico-streetview::before {content: "\f21d";}
.ico-nav::before {content: "\f0c9";}
.ico-clock::before {content: "\f017";}
.ico-star::before {content: "\f005"; }
.ico-laptop::before {content: "\f109"; }
.ico-store::before {content: "\f54e"; }
.ico-exchange::before {content: "\f362"; }
.ico-desktop::before {content: "\f108"; }
.ico-ete::before {content: "\f185"; }
.ico-hiver::before {content: "\f2dc"; }

/* 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}

/* responsive */
@media all and (max-width: 1300px) {
	.w50-1300 { width: 50%; }
	.w100-1300 { width: 100%; }
	.repertoire a { padding: 10px 2px; }
}

@media all and (max-width: 1280px) {
	header.fix a#logo, #mainNav { padding: calc(var(--padding) / 2); }
}

@media all and (max-width: 1200px) {
	.lColumnReverse { flex-direction: column-reverse; }
	.lCache { display: none; }
	.l1-1 { width: 100%; }
	.l1-2 { width: 50%; }
	.l1-3 { width: 33.33%; }
	.l1-4 { width: 25%; }

	.heroLegende {
		left: 20px;
	}
}

@media all and (max-width: 1000px) {
	.mColumnReverse { flex-direction: column-reverse; }
	.mCache { display: none; }
	.m1-1 { width: 100%; }
	.m1-2 { width: 50%; }
	.m1-3 { width: 33.33%; }
	.m1-4 { width: 25%; }
	.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);
	}
	
	a#logo img.img_100 { max-width: 150px; }
	main { padding-top: 139px; }

	.heroLegende {
		font-size: 100%;
		padding: var(--padding);
		width: 50%;
	}
}

@media all and (max-width: 850px) {
	.heroLegende {
		font-size: 100%;
	}
}

@media all and (max-width: 800px) {
	.w100-800 { width: 100%; }
	.heroLegende {
		font-size: 80%;
		padding: calc(var(--padding) / 2) var(--padding);
	}
}

@media all and (max-width: 700px) {
	.w100-700 { width: 100%; }
}

@media all and (max-width: 640px) {
	html, body { overflow-x: hidden; }
	.sColumnReverse { flex-direction: column-reverse; }
	.sCache { display: none; }
	.col1-2, .col1-3, .col2-3, .col1-4, .col3-4, .col1-5 {float: none; width: 100%; }
	.flex1-2, .flex1-3, .flex2-3, .flex1-4, .flex3-4, .flex1-5 {width: 100%;}
	.s1-1 { width: 100%; }
	.s1-2 { width: 50%; }
	.s1-3 { width: 33.33%; }
	.s1-4 { width: 25%; }

	.heroLegende { width: calc(100% - 40px); }

	.agendaTitre { padding-left: 70px; }

	.afterLettre::after, .afterPanneau::after {
		display: none;
	}
}

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

}
