@charset "UTF-8";
/* CSS Document */

@font-face {
    font-family: 'source_sans_problack';
    src: url('../lib/fonts/sourcesanspro-black-webfont.woff2') format('woff2'),
         url('../lib/fonts/sourcesanspro-black-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'source_sans_probold';
    src: url('../lib/fonts/sourcesanspro-bold-webfont.woff2') format('woff2'),
         url('../lib/fonts/sourcesanspro-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'source_sans_prolight';
    src: url('../lib/fonts/sourcesanspro-light-webfont.woff2') format('woff2'),
         url('../lib/fonts/sourcesanspro-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'source_sans_proregular';
    src: url('../lib/fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
         url('../lib/fonts/sourcesanspro-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'brave_new_era_g98regular';
    src: url('../lib/fonts/bneg98-webfont.woff2') format('woff2'),
         url('../lib/fonts/bneg98-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}





*,
*:after,
*:before {
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
	height: 100%;
	-webkit-overflow-scrolling: touch;
}

body {
	display: block !important;
	margin: 0;
	padding: 0;
	min-height: 100%;
	background: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.25em;
	line-height: 1.8em;
	color: #231F20;
	touch-action: pan-y;
}
body.pace-running, body.lightbox { overflow: hidden; -webkit-overflow-scrolling: hidden; touch-action: none; }

div.center {
	position: relative;
	display: block;
	margin: 0 auto;
	padding: 0;
	width: 90%;
}
div.max-width { max-width: 1280px; }

div.overflow {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

div.overflow.scrolly { overflow-y: auto; }

div.noscroll {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 25px 0 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	
	-webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;f
    box-sizing: content-box;
}








/*         */
/* Général */
/*         */
canvas { display: block; }

a { color: #231F20; text-decoration: underline; touch-action: pan-y; }
.no-mobile a:hover { color: #231F20; text-decoration: none; }
a:active { color: #231F20; }
a:visited { color: #231F20; }

a.anchor {
	position: relative;
	display: block;
	margin: -110px 0 0;
	height: 110px;
	z-index: -1;
}

sup { font-size: 0.6em; }

address {  }

caption, th, td { vertical-align: top; }

h1, h2, h3, h4, h5, h6 {
	margin: 30px 0 15px;
	padding: 0;
	font-family: "source_sans_probold", Arial;
	font-weight: normal;
	color: #231F20;
	line-height: 1.2em;
}
h1 { font-family: "source_sans_problack", Arial; font-size: 2.5em; color: #077D92; }
h2 { font-size: 2em; color: #077D92; }
h3 { font-size: 1.7em; }
h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; }

main#containerMain img { max-width: 100%; height: auto; }
div.mapcanvas img { max-width: none !important; height: auto !important; }

div.block_form {
	position: relative;
	display: block;
	margin: 0 0 20px;
	padding: 0;
	width: 100%;
	max-width: 480px;
}

form div.disabled {
	position: absolute;
	display: block;
	top: 0;
	left: 190px;
	margin: 0;
	padding: 0;
	width: 192px;
	height: 25px;
	background: #fff;
	-khtml-opacity:0.6;
	-moz-opacity : 0.6;
	-ms-filter: "alpha(opacity=60)";
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
	filter : alpha(opacity=60);
	opacity : 0.6;
}

form label {
	display: block;
	margin: 0 0 4px 0;
	padding: 0;
	width: 100%;
	font-family: "source_sans_probold", Arial;
	font-size: 1em;
	font-weight: 400;
	color: #14A9C5;
	text-align: left;
}

form label.copy {
	display: inline-block;
	margin: 0;
	width: auto;
	vertical-align: middle;
}

form label span.error {
	display: block;
	margin: 7px 0 0 0;
	padding: 0;
	width: 100%;
	font-size: 0.875em;
	color: #ED0202;
	line-height: 1.2em;
}

form input:focus { background: none; border: 3px solid #000; outline: none }

form input[type=text], form input[type=number], form input[type=tel], form input[type=email], form input[type=password], form input[type=date], form input[type=file] {
	display: block;
	margin: 0;
	padding: 8px;
	width: 100%;
	background: #fff;
	border: 1px solid #000000;
	font-family: "source_sans_proregular", Arial;
	font-size: 1em;
	color: #000;
}
form input[type=date] { padding: 7px; }
div.fake_input_text {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}
form input[type=radio], form input[type=checkbox] {
	display: inline;
	padding: 0;
	width: auto;
	height: auto;
	background: none;
	border: none;
	font-size: 1em;
}

form select {
	position: relative;
	display: block;
	margin: 0;
	padding: 8px;
	width: 100%;
	background: #fff;
	border: 1px solid #000000;
	font-family: "source_sans_proregular", Arial;
	font-size: 1em;
	color: #000;
}

form textarea, div.textarea {
	position: relative;
	display: block;
	margin: 0;
	padding: 8px;
	width: 100%;
	height: 240px;
	background: #fff; 
	border: 1px solid #000000;
	font-family: "source_sans_proregular", Arial;
	font-size: 1em;
	color: #000;
	resize: none;
}
div.textarea { height: 320px }

form .error input[type=text], 
form .error input[type=number], 
form .error input[type=tel], 
form .error input[type=email], 
form .error input[type=password],
form .error input[type=date],it
form .error select, 
form .error textarea,
form .error div.select_cutie { border-width: 2px; border-color: #ED0202; }

form button, form input[type=button], form input[type=submit], a.button {
	position: relative;
	display: inline-block;
	margin: 10px 0px;
	padding: 15px 20px;
	background: #077D92;
	border: 1px solid transparent;
	font-family: "source_sans_probold", Arial;
	font-size: 1em;
	line-height: 25px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	overflow: visible;
	cursor: pointer;
	border-radius: 24px;
}
.no-mobile a.button:hover { background-color: #fff; border-color: #077D92; color: #077D92; text-decoration: none; }

form button.black, form input.black[type=button], form input.black[type=submit], a.button.black { background-color: #231F20; color: #fff; text-decoration: none; }
.no-mobile a.button.black:hover { background-color: #fff; border-color: #231F20; color: #231F20; text-decoration: none; }


p, ul , ol { margin: 0; padding-bottom: 15px; }

table {
	margin-bottom: 15px;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	caption-side: top;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
}

table th {
	background-color: #E6F0DC;
	color: #231F20;
	font-size: 1em;
	font-family: "source_sans_proregular", Arial;
	padding: 10px 15px;
	text-align: center;
	border-left: 1px solid #707070;
	border-bottom: 1px solid #707070;
	text-transform: uppercase;
}

table td {
	color: #231F20;
	border-left: 1px solid #707070;
	border-bottom: 1px solid #707070;
	padding: 10px 15px;
	font-size: 0.9em;
}
table tr { background: #fff; }
table tr:nth-child(odd) { background: #F7F7F7; }

table.noLineThrough tr { background: none; }
table.noLineThrough td { border-bottom: none; }
table.noLineThrough tr:nth-child(odd) { background: none; } 

caption {
	width: 100%;
	background-color: #077D92;
	color: #fff;
	font-size: 1.2em;
	font-family: "source_sans_probold", Arial;
	padding: 10px 15px;
	text-align: center;
	border: none;
	text-transform: uppercase;
}

ul { list-style-type: square; padding-left: 15px; color: #231F20; }
ol { list-style-type: decimal; padding-left: 17px; color: #231F20; }
ul li, ol li { margin-left: 15px; padding-bottom: 25px; }

.floatBreak { clear: both; display: block; width: 0; height: 0; font-size: 0; line-height: 0; overflow: hidden; }



.Image_Gauche { float: left; margin: 0 20px 20px 0; }
.Image_Droite { float: right; margin: 0 0 20px 20px; }
.Image_Gauche .Image_Gauche { float: none; margin: 0; }
.Image_Droite .Image_Droite { float: none; margin: 0; }

.vis_hidden {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	left: -10000px;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
}


div.block_cols {
	position: relative;
	display: block;
	margin: 0;
	padding: 45px 0;
	width: 100%;
}
div.block_cols.flex {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: stretch;
	gap: 45px
}
div.block_cols.flex.nogap { gap: 0; }
div.block_cols.flex.gap90 { gap: 90px; }
div.block_cols.flex.gap16 { gap: 16px; }
div.block_cols.flex.vacenter { align-items: center; }
div.block_cols.flex.vabottom { align-items: flex-end; }
div.block_cols.centerh { text-align: center; }
div.block_cols.flex.centerh { justify-content: center; }
div.block_cols.full { white-space: nowrap; }
div.block_cols.flex.full { gap: 0; flex-wrap: nowrap; }
div.block_cols.nowrap { white-space: nowrap; }
div.block_cols.flex.nowrap { flex-wrap: nowrap; }

div.block_cols > .col {
	position: relative;
	display: inline-block;
	margin: 0 0 45px;
	padding: 0;
	width: 100%;
	text-align: left;
	vertical-align: top;
}
div.block_cols.nogap > .col:last-of-type { margin-bottom: 0; }
div.block_cols.gap90 > .col:last-of-type { margin-bottom: 90px; }
div.block_cols.gap16 > .col:last-of-type { margin-bottom: 16px; }
div.block_cols > .col:last-of-type { margin-bottom: 0; }
div.block_cols.flex > .col { padding: 0; margin: 0; }
div.block_cols.flex.centerh > .col { text-align: center; }
div.block_cols.vacenter > .col { vertical-align: middle; }
div.block_cols.vabottom > .col { vertical-align: bottom; }
div.block_cols.flex.full > .col { flex: 0 0 auto; }
div.block_cols.full > .col { white-space: normal; }
div.block_cols > .col.right { text-align: right; }
div.block_cols.flex.nowrap > .col { flex: 0 0 auto; }
div.block_cols.nowrap > .col { white-space: normal; }


section div.videoWrapper {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 25px;
	margin-bottom: 25px;
	height: 0;
}

section div.videoWrapper iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}
/*             */
/* FIN GÉNÉRAL */
/*             */



/*                */
/*     Paging     */
/*                */
	div.paging {
		postion: relative;
		display: block;
		margin: 0;
		padding: 45px 0;
		width: 100%;
		text-align: center;
	}

	div.paging ul {
		postion: relative;
		display: inline-block;
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: center;
	}

	div.paging ul li {
		postion: relative;
		display: inline-block;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	div.paging ul li a, div.paging ul li.selected span {
		postion: relative;
		display: inline-block;
		margin: 0;
		padding: 0 13px;
		width: 48px;
		height: 48px;
		line-height: 48px;
		text-decoration: none;
	}
	div.paging ul li.selected span { background: #14A9C5; border-radius: 50%; color: #fff; }

	div.paging ul li a:hover { text-decoration: underline; }
/*                */
/*   FIN Paging   */
/*                */












/*             */
/*   HEADER    */
/*             */
header#containerHeader {
	position: fixed;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	background: #fff;
	z-index: 35;
}

header#containerHeader div.center { width: 100%; }


header#containerHeader span.logo {
	position: absolute;
	display: block;
	margin: auto 0;
	padding: 0;
	top: 0;
	left: 40px;
	width: 211px;
	height: 95px;
	z-index: 1;
}

header#containerHeader span.logo:before {
	content: "";
	position: absolute;
	display: none;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #231F20;
	z-index: 1;
}

header#containerHeader span.logo:after {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 211px;
	height: 95px;
	background: url(../images/logo.png) center center / contain no-repeat;
	z-index: 2;
}

header#containerHeader span.logo a {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
}



header#containerHeader div#block_all_menu {
	float: right;
	display: block;
	margin: 0;
	padding: 0;
	z-index: 2;
}


header#containerHeader div#block_all_menu nav.utilitaire {
	position: relative;
	display: none;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	z-index: 2;
}

header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style: none;
}

header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0 20px;
	vertical-align: middle;
}

header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li a {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	color: #000;
	text-decoration: none;
	background: center / contain no-repeat;
}
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li a:hover { text-decoration: underline; }

header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-8 { width: 82px; height: 42px; }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-8 a { width: 100%; height: 100%; background-image: url("../images/icn_fb.svg"); }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-8 a:hover { filter: invert(0%) sepia(0%) saturate(13%) hue-rotate(288deg) brightness(105%) contrast(100%); }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-8 a span { position: absolute; display: block; width: 0; height: 0; overflow: hidden; }

header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-64 { width: 82px; height: 42px; }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-64 a { width: 100%; height: 100%; background-image: url("../images/icn_insta.svg"); }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-64 a:hover { filter: invert(0%) sepia(0%) saturate(13%) hue-rotate(288deg) brightness(105%) contrast(100%); }
header#containerHeader div#block_all_menu nav.utilitaire ul.niv0 li.item-64 a span { position: absolute; display: block; width: 0; height: 0; overflow: hidden; }



header#containerHeader button.btn_mobile {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 110px;
	height: 110px;
	background: #fff;
	border: none;
	vertical-align: middle;
	z-index: 40;
}

header#containerHeader button.btn_mobile span.txt { display: none; }
header#containerHeader button.btn_mobile span.icn { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 34px; height: 35px; }

header#containerHeader button.btn_mobile span.icn2, 
header#containerHeader button.btn_mobile span.icn2:before, 
header#containerHeader button.btn_mobile span.icn2:after {
	content: '';
	position: absolute;
	display: block;
	width: 34px;
	height: 7px;
	background: #077D92;
	border-radius: 3px;
	cursor: pointer;
}
header#containerHeader button.btn_mobile span.icn2 { top: 14px;  }
header#containerHeader button.btn_mobile span.icn2:before { top: -14px;  }
header#containerHeader button.btn_mobile span.icn2:after { bottom: -14px; }

header#containerHeader button.btn_mobile span.icn2, 
header#containerHeader button.btn_mobile span.icn2:before, 
hheader#containerHeader button.btn_mobile span.icn2:after {
	-webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

header#containerHeader .active button.btn_mobile span.icn2:before, 
header#containerHeader .active button.btn_mobile span.icn2:after { top: 0; }
header#containerHeader .active button.btn_mobile span.icn2 { background: transparent; }
header#containerHeader .active button.btn_mobile span.icn2:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
header#containerHeader .active button.btn_mobile span.icn2:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }



header#containerHeader div.menup {
	position: absolute;
	display: none;
	margin: 0;
	padding: 180px 0 0;
	top: -100vh;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: auto;
	background: #77BACB;
	
	-webkit-transition: top .3s ease-in-out;
    -moz-transition: top .3s ease-in-out;
    transition: top .3s ease-in-out;
}

header#containerHeader div.menup div.allnav {
	position: relative;
	display: block;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	min-height: 100%;
}

header#containerHeader div.menup nav#navmainmenu {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 45px;
	width: 100%;
}

header#containerHeader div.menup nav#navmainmenu ul.niv0 {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
	z-index: 100;
}

header#containerHeader div.menup nav#navmainmenu ul.niv0 li.niv0 {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 100%;
	vertical-align: top;
}

header#containerHeader div.menup nav#navmainmenu ul.niv0 li.niv0 a.niv0 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 20px;
	min-width: 50%;
	font-family: "source_sans_probold", Arial, sans-serif;
	font-size: 1.65em;
	color: #231F20;
	text-decoration: none;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

header#containerHeader div.menup nav#navmainmenu ul.niv0 li.niv0 a.niv0 span {
	position: relative;
	display: inline-block;
	z-index: 2;
}

header#containerHeader div.menup nav#navmainmenu div.submenu.niv1 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

header#containerHeader div.menup nav#navmainmenu div.submenu.niv1 ul.niv1 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	list-style: none;
}

header#containerHeader div.menup nav#navmainmenu ul.niv1 li.niv1 {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 100%;
	vertical-align: top;
}

header#containerHeader div.menup nav#navmainmenu ul.niv1 li.niv1 a.niv1 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 10px;
	min-width: 50%;
	font-family: "source_sans_prosemibold", Arial, sans-serif;
	font-size: 1em;
	color: #231F20;
	text-decoration: none;
	
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

.no-mobile header#containerHeader div.menup nav#navmainmenu ul.niv1 li.niv1 a.niv1:hover { color: #231F20; }

header#containerHeader div.menup nav#navmainmenu ul.niv1 li.niv1 a.niv1 span {
	position: relative;
	display: block;
	z-index: 2;
}

header#containerHeader div.menup nav#navmainmenu div.submenu.niv2 { display: none; }



header#containerHeader div#block_all_menu div.menup p { margin: 0 0 20px; padding: 0; text-align: center; color: #231F20; }
header#containerHeader div#block_all_menu div.menup nav.utilitaire { display: inline-block; text-align: center; padding-bottom: 10px; margin-bottom: 20px; width: 100%; }

header#containerHeader div#block_all_menu div.menup nav.utilitaire ul.niv0 { text-align: center; }

header#containerHeader div#block_all_menu div.menup nav.utilitaire ul.niv0 li { margin-bottom: 10px; width: 100%; text-align: center; }
header#containerHeader div#block_all_menu div.menup nav.utilitaire ul.niv0 li#nav2_item-8 { width: 82px; }
header#containerHeader div#block_all_menu div.menup nav.utilitaire ul.niv0 li#nav2_item-64 { width: 82px; }
/*             */
/* FIN HEADER  */
/*             */












/*             */
/*    MAIN     */
/*             */
main#containerMain {
	position: relative;
	display: block;
	margin: 0;
	padding: 110px 0 0 ;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}

main#containerMain div.title_site {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	text-align: center;
}
body.home main#containerMain div.title_site {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	left: -10000px;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
}
main#containerMain div.title_site:before {
	content: "";
	position: absolute;
	display: block;
	margin: 0 0 20px;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: center / cover no-repeat;
	z-index: 1;
}
.media main#containerMain div.title_site:before { background-image: url(../../../media/default.jpg); }
.media_3000 main#containerMain div.title_site:before { background-image: url(../../../media/default_3000.jpg); }
.media_2000 main#containerMain div.title_site:before { background-image: url(../../../media/default_2000.jpg); }
.media_1500 main#containerMain div.title_site:before { background-image: url(../../../media/default_1500.jpg); }
.media_1280 main#containerMain div.title_site:before { background-image: url(../../../media/default_1280.jpg); }
.media_1024 main#containerMain div.title_site:before { background-image: url(../../../media/default_1024.jpg); }
.media_640 main#containerMain div.title_site:before { background-image: url(../../../media/default_640.jpg); }
.media_480 main#containerMain div.title_site:before { background-image: url(../../../media/default_480.jpg); }

main#containerMain div.title_site div.center { height: 380px; }

main#containerMain h1.title_site {
	position: absolute;
	display: inline-block;
  	top: 50%;
	left: -45px;
	margin: 0 auto;
	padding: 45px;
	background: #fff;
  	-ms-transform: translateY(-50%);
 	transform: translateY(-50%);
	z-index: 2;
}

main#containerMain div.block_section {
	position: relative;
	display: block;
	margin: 0;
	padding: 70px 0;
	width: 100%;
	overflow: hidden;
}

main#containerMain div.section_image {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 70px;
	width: 100%;
	overflow: hidden;
}
main#containerMain div.section_image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }



/*              */
/*    SPLASH    */
/*              */
	section#section_main div.img {
		position: relative;
		display: block;
		margin: 0;
		padding: 0;
		width: 100%;
		z-index: 1;
	}

	section#section_main div.img img {
		position: relative;
		display: block;
		width: 100%;
		height: calc(100vh - 110px);
		min-height: 420px;
		object-fit: cover;
		object-position: center;
	}

	section#section_main div.section_main_content {
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
		left: 0;
		margin: 0;
		padding: 15px 15px 0;
		width: 100%;
		background: #231F20;
		color: #fff;
		text-align: center;
		text-transform: uppercase;
		z-index: 2;
	}

	section#section_main div.section_main_content p { font-family: 'brave_new_era_g98regular', Arial; font-size: 2em; letter-spacing: 0.425em; }

	section#section_main div.section_main_content a.btn_scroll {
		position: absolute;
		display: block;
		right: 0;
		top: -70px;
		left: 0;
		margin: 0 auto;
		padding: 0;
		width: 46px;
		height: 46px;
		background: url("../images/icn_scroll.svg") center / contain no-repeat;
		z-index: 3;
		-webkit-animation: btnScroll 1s linear 0s infinite;
		animation: btnScroll 1s linear 0s infinite;
	}

	section#section_main span.logo_50 {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		padding: 0;
		width: 100%;
		height: 100%;
		max-width: 480px;
		max-height: 480px;
		background: center / contain no-repeat;
		z-index: 1;
	}

	.media section#section_main span.logo_50 { background-image: url(../images/label_50.png); }
	.media_3000 section#section_main span.logo_50 { background-image: url(../images/label_50_3000.png); }
	.media_2000 section#section_main span.logo_50 { background-image: url(../images/label_50_2000.png); }
	.media_1500 section#section_main span.logo_50 { background-image: url(../images/label_50_1500.png); }
	.media_1280 section#section_main span.logo_50 { background-image: url(../images/label_50_1280.png); }
	.media_1024 section#section_main span.logo_50 { background-image: url(../images/label_50_1024.png); }
	.media_640 section#section_main span.logo_50 { background-image: url(../images/label_50_640.png); }
	.media_480 section#section_main span.logo_50 { background-image: url(../images/label_50_480.png); }
/*              */
/* FIN SPLASH   */
/*              */




/*              */
/*     NEWS     */
/*              */
	main#containerMain section.news div.col div.image {
		position: relative;
		display: block;
		margin: 0 0 20px;
		width: 100%;
	}

	main#containerMain section.news div.col div.image img {
		position: relative;
		display: block;
		width: 100%;
		height: 220px;
		object-fit: cover;
		object-position: center;
		overflow: hidden;
		z-index: 2;
	}

	main#containerMain section.news div.col h2 { font-size: 1.5em; color: #4D7807; }
	main#containerMain section.news div.col span.date { display: none; }


	main#containerMain section.news div.section_image {
		margin: 0 0 45px;
		padding: 0;
	}

	main#containerMain section.news div.section_image:before {
		content: "";
		position: relative;
		display: block;
		padding: 0 0 100%;
		z-index: 1;
	}

	main#containerMain section.news div.section_image img {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		overflow: hidden;
		z-index: 2;
	}
/*              */
/*   FIN NEWS   */
/*              */




/*              */
/*    EVENTS    */
/*              */
	main#containerMain section.event div.section_image {
		margin: 0 0 45px;
		padding: 0;
	}

	main#containerMain section.event div.section_image:before {
		content: "";
		position: relative;
		display: block;
		padding: 0 0 100%;
		z-index: 1;
	}

	main#containerMain section.event div.section_image img {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		overflow: hidden;
		z-index: 2;
	}

	main#containerMain section.event h2 { margin-top: 0; font-size: 1.2em; color: #4D7807; }
	main#containerMain section.event h2 a { color: #4D7807; text-decoration: none; }
	main#containerMain section.event div.be_date { font-size: 0.8em; line-height: 1.2em; }
	main#containerMain section.event span.lieu { font-size: 0.8em; line-height: 1.2em; }
	main#containerMain section.event div.be_info { margin: 15px 0 0; }
/*              */
/*  FIN EVENTS  */
/*              */




/*              */
/*    BOURSE    */
/*              */
	main#containerMain section.bourse div.block_form { display: inline-block; margin: 0 0 70px; width: auto; }
	main#containerMain section.bourse section.mod_photo div.block_section { padding-top: 0; }
	main#containerMain section.bourse h2 { margin-top: 0; margin-bottom: 10px; font-size: 1.2em; color: #4D7807; text-transform: uppercase; }
	main#containerMain section.bourse div.bb_type { font-size: 0.8em; font-style: italic; line-height: 1.2em; }
	main#containerMain section.bourse div.bb_info { margin: 15px 0 0; }
/*              */
/*  FIN BOURSE  */
/*              */
/*             */
/*  FIN MAIN   */
/*             */












/*             */
/*   ASIDE     */
/*             */
aside#extrainfo {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}

aside#extrainfo section.module {
	position: relative;
	display: block;
	margin: 0;
	padding: 70px 0;
	width: 100%;
	overflow: hidden;
}




/*              */
/*     CTA      */
/*              */
	section.mod_ac div.col { padding: 85px 60px 20px !important; }
	section.mod_ac div.col div.image {
		position: relative;
		display: block;
		margin: 0 0 20px;
		width: 100%;
	}

	section.mod_ac div.col div.image:before {
		content: "";
		position: relative;
		display: block;
		padding: 0 0 100%;
		z-index: 1;
	}

	section.mod_ac div.col div.image:after {
		content: "";
		position: absolute;
		display: block;
		top: -55px;
		right: -50px;
		bottom: -20px;
		left: -50px;
		background: center / contain no-repeat;
		z-index: 1;
	}
	section.mod_ac div.col:nth-of-type(1) div.image:after { background-image: url(../images/bg_cta1.png); }
	section.mod_ac div.col:nth-of-type(2) div.image:after { background-image: url(../images/bg_cta2.png); }
	section.mod_ac div.col:nth-of-type(3) div.image:after { background-image: url(../images/bg_cta3.png); }

	section.mod_ac div.col div.image img {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		border-radius: 50%;
		overflow: hidden;
		z-index: 2;
	}

	section.mod_ac div.col h3 { font-size: 1.2em; text-align: center; }
	section.mod_ac div.col a {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 3;
	}
/*              */
/*   FIN CTA    */
/*              */




/*              */
/*     NEWS     */
/*              */
	section.mod_news div.block_news {
		position: relative;
		display: block;
		padding: 0 0 40px;
		width: 100%;
	}

	section.mod_news div.block_news div.image {
		position: relative;
		display: block;
		margin: 0 0 20px;
		width: 100%;
	}

	section.mod_news div.block_news div.image img {
		position: relative;
		display: block;
		width: 100%;
		height: 220px;
		object-fit: cover;
		object-position: center;
		overflow: hidden;
		z-index: 2;
	}

	section.mod_news div.block_news h3 { font-size: 1.2em; color: #4D7807; }
	section.mod_news div.block_news span.date { display: none; }
/*              */
/*   FIN NEWS   */
/*              */




/*              */
/*    EVENTS    */
/*              */
	section.mod_events div.block_event {
		position: relative;
		display: block;
		padding: 0 0 40px;
		width: 100%;
	}

	section.mod_events div.block_event h3 { margin-top: 0; font-size: 1.2em; color: #4D7807; }
	section.mod_events div.block_event h3 a { color: #4D7807; text-decoration: none; }
	section.mod_events div.block_event div.be_date { font-size: 0.8em; line-height: 1.2em; }
	section.mod_events div.block_event span.lieu { font-size: 0.8em; line-height: 1.2em; }
	section.mod_events div.block_event div.be_info { margin: 15px 0 0; }
/*              */
/*  FIN EVENTS  */
/*              */
/*             */
/*  FIN ASIDE  */
/*             */












/*             */
/*   FOOTER    */
/*             */
footer#containerFooter {
	position: relative;
	display: block;
	margin: 0;
	padding: 3rem 0 0;
	width: 100%;
	background: #231F20;
	color: #fff;
	z-index: 30;
}

footer#containerFooter h2 { color: #fff; }
footer#containerFooter a { color: #fff; }
/*             */
/* FIN FOOTER  */
/*             */












/*             */
/*     MENU    */
/*             */
body.menuopen, html.menuopen { height: 100%; overflow: hidden; }
body.menuopen header#containerHeader div.menup { display: block; top: 0; height: 100vh; z-index: 39; }
/*             */
/*  FIN MENU   */
/*             */




/* ================================================================== */
/* === Responsive styles ============================================ */
/* ================================================================== */
/* Smartphones */
@media only screen and (max-width: 469px) /*(max-width: 469px)*/ {
	
}

/* Large smartphones */
@media only screen and (min-width: 29.375em) and (max-width: 43.6875em) /*(min-width: 470px) and (max-width: 699px)*/ {
	
}

/* Tablets and landscape large smartphones */
@media only screen and (min-width: 43.75em) and (max-width: 62.5em) /*(min-width: 700px) and (max-width: 1000px)*/ {
	div.block_cols:not(.flex) > .col { margin: 0 45px 0 -4px; padding: 0 0 0 4px; }
	div.block_cols.nogap:not(.flex) > .col { margin: 0; }
	div.block_cols.gap90:not(.flex) > .col { margin-right: 90px; }
	div.block_cols.gap16:not(.flex) > .col { margin-right: 16px; }
	
	div.block_cols.col2 > .col, 
	div.block_cols.col3 > .col, 
	div.block_cols.col6 > .col { width: calc((100% - 45px) / 2); }
	
	div.block_cols.col2.nogap > .col, 
	div.block_cols.col3.nogap > .col, 
	div.block_cols.col6.nogap > .col { width: calc(100% / 2); }
	
	div.block_cols.col2.gap90 > .col, 
	div.block_cols.col3.gap90 > .col, 
	div.block_cols.col6.gap90 > .col { width: calc((100% - 90px) / 2); }
	
	div.block_cols.full > .col { width: 100%; }
	div.block_cols.gap90 > .col:last-of-type,
	div.block_cols.gap16 > .col:last-of-type { margin-bottom: 0; }
	
	div.block_cols.col2:not(.flex) > .col:nth-of-type(2n), 
	div.block_cols.col3:not(.flex) > .col:nth-of-type(2n), 
	div.block_cols.col6:not(.flex) > .col:nth-of-type(2n) { margin-right: 0; }
	
	
	main#containerMain section.news div.section_image { float: left; margin-right: 45px; width: calc(50% - 45px); }
	
	
	footer#containerFooter div.col:nth-of-type(3) { text-align: right; }
}

@media only screen and (min-width: 62.5625em) and (max-width: 74.9375em) /*(min-width: 1001px) and (max-width: 1199px)*/ {
	div.block_cols:not(.flex) > .col { margin: 0 45px 0 -4px; padding: 0 0 0 4px; }
	div.block_cols.nogap:not(.flex) > .col { margin-right: 0; }
	div.block_cols.gap90:not(.flex) > .col { margin-right: 90px; }
	
	div.block_cols.col2 > .col, 
	div.block_cols.col3 > .col, 
	div.block_cols.col6 > .col { width: calc((100% - 45px) / 2); }
	
	div.block_cols.col2.nogap > .col, 
	div.block_cols.col3.nogap > .col, 
	div.block_cols.col6.nogap > .col { width: calc(100% / 2); }
	
	div.block_cols.col2.gap90 > .col, 
	div.block_cols.col3.gap90 > .col, 
	div.block_cols.col6.gap90 > .col { width: calc((100% - 90px) / 2); }
	
	div.block_cols.full > .col { width: 100%; }
	div.block_cols.gap90 > .col:last-of-type,
	div.block_cols.gap16 > .col:last-of-type { margin-bottom: 0; }
	
	div.block_cols.col2:not(.flex) > .col:nth-of-type(2n), 
	div.block_cols.col3:not(.flex) > .col:nth-of-type(2n), 
	div.block_cols.col6:not(.flex) > .col:nth-of-type(2n) { margin-right: 0; }
	
	
	header#containerHeader div#block_all_menu nav.utilitaire { display: inline-block; }
	
	
	main#containerMain section.news div.section_image { float: left; margin-right: 45px; width: calc(50% - 45px); }
}

@media only screen and (min-width: 75em) /*(min-width: 1200px)*/ {
	div.block_cols:not(.flex) > .col { margin: 0 45px 0 -4px; padding: 0 0 0 4px; }
	div.block_cols.nogap:not(.flex) > .col { margin-right: 0; }
	div.block_cols.gap90:not(.flex) > .col { margin-right: 90px; }
	div.block_cols.gap16:not(.flex) > .col { margin-right: 16px; }
	
	div.block_cols.col2 > .col { width: calc((100% - 45px) / 2); }
	div.block_cols.col3 > .col { width: calc((100% - 90px) / 3); }
	div.block_cols.col5 > .col { width: calc((100% - 180px) / 5); }
	div.block_cols.col6 > .col { width: calc((100% - 225px) / 6); }
	
	div.block_cols.col2.nogap > .col { width: calc(100% / 2); }
	div.block_cols.col3.nogap > .col { width: calc(100% / 3); }
	div.block_cols.col5.nogap > .col { width: calc(100% / 5); }
	div.block_cols.col6.nogap > .col { width: calc(100% / 6); }
	
	div.block_cols.col2.gap16 > .col { width: calc((100% - 16px) / 2); }
	div.block_cols.col3.gap16 > .col { width: calc((100% - 32px) / 3); }
	div.block_cols.col5.gap16 > .col { width: calc((100% - 64px) / 5); }
	div.block_cols.col6.gap16 > .col { width: calc((100% - 80px) / 6); }
	
	div.block_cols.col2.gap90 > .col { width: calc((100% - 90px) / 2); }
	div.block_cols.col3.gap90 > .col { width: calc((100% - 180px) / 3); }
	div.block_cols.col5.gap90 > .col { width: calc((100% - 360px) / 5); }
	div.block_cols.col6.gap90 > .col { width: calc((100% - 450px) / 6); }
	
	div.block_cols.full > .col { width: 100%; }
	div.block_cols.gap90 > .col:last-of-type,
	div.block_cols.gap16 > .col:last-of-type { margin-bottom: 0; }
	
	div.block_cols.col2:not(.flex) > .col:nth-of-type(2n) { margin-right: 0; }
	div.block_cols.col3:not(.flex) > .col:nth-of-type(3n) { margin-right: 0; }
	div.block_cols.col5:not(.flex) > .col:nth-of-type(5n) { margin-right: 0; }
	
	header#containerHeader div#block_all_menu nav.utilitaire { display: inline-block; }
	header#containerHeader div.menup nav#navmainmenu ul.niv0 li.niv0 { width: 20%; }
	header#containerHeader div.menup nav#navmainmenu ul.niv0 li.niv0 a.niv0:after { display: none; }
	header#containerHeader div.menup nav#navmainmenu div.submenu.niv1 { display: block; }
	header#containerHeader div.menup nav#navmainmenu div.submenu.niv1:after { display: none; }
	
	
	main#containerMain section.news div.section_image { float: left; margin-right: 45px; width: calc(50% - 45px); }
	
	
	footer#containerFooter div.col:nth-of-type(3) { text-align: right; }
}

/* Desktop screens */
@media only screen and (min-width: 75em) and (max-width: 93.6875em) /*(min-width: 1200px) and (max-width: 1499px)*/ {
	div.block_cols.col6 > .col { width: calc((100% - 90px) / 3); }
	div.block_cols.col6.nogap > .col { width: calc(100% / 3); }
	div.block_cols.col6.gap90 > .col { width: calc((100% - 180px) / 3); }
	div.block_cols.col6:not(.flex) > .col:nth-of-type(3n) { margin-right: 0; }
}

/* Large screen */
@media only screen and (min-width: 93.75em) and (max-width: 112.4375em) /*(min-width: 1500px) and (max-width: 1799px)*/ {
	div.block_cols.col6 > .col { width: calc((100% - 135px) / 4); }
	div.block_cols.col6.nogap > .col { width: calc(100% / 4); }
	div.block_cols.col6.gap90 > .col { width: calc((100% - 270px) / 4); }
	div.block_cols.col6:not(.flex) > .col:nth-of-type(4n) { margin-right: 0; }
}

/* Very large screen */
@media only screen and (min-width: 112.5em) /*(min-width: 1800px)*/ {
	div.block_cols.col5:not(.flex) > .col:nth-of-type(5n) { margin-right: 0; }
	div.block_cols.col6:not(.flex) > .col:nth-of-type(6n) { margin-right: 0; }
}




/* ================================================================== */
/* ===      ANIMATION    ============================================ */
/* ================================================================== */
@keyframes btnScroll { 
    from {
		top: -70px;
        animation-timing-function: ease-in;
    }
    to {
		top: -75px;
        animation-timing-function: ease-out;
	}
}

@-webkit-keyframes btnScroll { 
    from {
		top: -70px;
        animation-timing-function: ease-in;
    }
    to {
		top: -75px;
        animation-timing-function: ease-out;
	}
}