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

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

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

@font-face {
    font-family: 'ubuntubold';
    src: url('../lib/fonts/ubuntu-bold-webfont.woff2') format('woff2'),
         url('../lib/fonts/ubuntu-bold-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: 1em;
	color: #000;
	touch-action: pan-y;
}
body.pace-running, body.lightbox { overflow: hidden; -webkit-overflow-scrolling: hidden; touch-action: none; }


body.pace-done div#body { display: 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.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;
    box-sizing: content-box;
}

div.container_content {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	z-index: 2;
}

div.container_content section {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}
div.container_content section.page { padding: 0 0 40px; }

a#anchor_top {
	position: absolute;
	top: 0;
	left: 0;
}








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

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

sup { font-size: 0.6em; }

address {  }

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

h1, h2, h3, h4, h5, h6 {
	font-family: "ubunturegular", Arial;
	font-weight: normal;
	color: #261387;
	line-height: 1.2em;
	text-transform: uppercase;
	/*overlflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;*/
}
h1 { font-size: 2.5em; }
h2 { font-size: 2.3571em; }
h3 { font-size: 1.92857em; }
h4 { font-size: 1.5714em; }
h5 { font-size: 1.28571em; }
h6 { font-size: 1em; }

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

div.block_form {
	position: relative;
	display: block;
	margin: 0 0 25px 0;
	padding: 0;
	width: 100%;
}

form label {
	display: block;
	margin: 0 0 4px 0;
	padding: 0;
	width: 100%;
	font-size: 1em;
	color: #000;
	line-height: 27px;
	text-align: left;
}

form input:focus { background: none; border: none; outline: none }

form input[type=text], form input[type=number], form input[type=tel], form input[type=email], form input[type=password] {
	display: block;
	margin: 0;
	padding: 10px 10px 9px;
	width: 100%;
	max-width: 480px;
	height: 40px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #261387;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	color: #000;
}
div.fake_input_text {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 480px;
}
form input[type=radio], form input[type=checkbox] {
	display: inline;
	padding: 0;
	width: auto;
	height: auto;
	background: none;
	border: none;
	font-size: 1em;
}

div.info, div.error { margin: 0; padding-bottom: 25px; line-height: 2.5em; color: green; }
div.error { color: red; }

form select {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 0 4px;
	width: 100%;
	max-width: 480px;
	height: 40px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #261387;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	color: #000;
}

form textarea, div.textarea {
	position: relative;
	display: block;
	margin: 0;
	padding: 5px 10px;
	width: 100%;
	max-width: 480px;
	height: 83px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #261387;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	color: #000;
	resize: none;
}
div.textarea { height: 320px }

form button, form input[type=button], form input[type=submit], a.button {
	position: relative;
	float: left;
	display: block;
	margin: 0 20px 0 0;
	padding: 0 25px;
	height: 40px;
	background: rgb(150,211,53);
	border: none;
	border-radius: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	font-weight: bold;
	line-height: 40px;
	color: #fff;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	overflow: visible;
	cursor: pointer;
}

.no-mobile a.button:hover { background: linear-gradient(90deg, rgba(147,165,241,1) 0%, rgba(150,211,53,1) 100%); color: #fff; text-decoration: none; }

p, ul , ol, blockquote { margin: 0; padding-bottom: 25px; line-height: 2.5em; }

table {
	margin-bottom: 25px;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	caption-side: bottom;
}

table th {
	background-color: #261387;
	color: #fff;
	font-size: 1.5em;
	font-family: "ubuntumedium", Arial;
	padding: 10px 15px;
	text-align: left;
	border: none;
	text-transform: uppercase;
}

table td {
	color: #000;
	border-bottom: 1px solid #261387;
	padding: 10px 15px;
	font-size: 0.9em;
}
table tr { background: #fff; }
table tr:nth-child(odd) { background: #ddd; }

caption {
	padding: 10px 15px;
	width: 100%;
	font-size: 0.8em;
}

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


.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; }



nav#contact_medias_sociaux {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: left;
}

nav#contact_medias_sociaux ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

nav#contact_medias_sociaux ul.niv0 li.niv0 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 15px 20px 20px 0;
}

nav#contact_medias_sociaux ul.niv0 li.niv0 a.niv0 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	font-family: "ubuntumedium", Arial;
	font-size: 1.125em;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	overflow: hidden;
}
nav#contact_medias_sociaux ul.niv0 li.niv0 a:before {
	content: "";
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 42px;
	height: 42px;
	background: center / contain no-repeat;
	filter: invert(11%) sepia(97%) saturate(6112%) hue-rotate(255deg) brightness(60%) contrast(110%);
	overflow: hidden;
}
.no-mobile nav#contact_medias_sociaux ul.niv0 li a:hover:before { filter: invert(67%) sepia(50%) saturate(621%) hue-rotate(40deg) brightness(106%) contrast(81%); }
.no-mobile nav#contact_medias_sociaux ul.niv0 li.niv0.hover a.niv0 { text-decoration: none; }
.no-mobile nav#contact_medias_sociaux ul.niv0 li.niv0.active a.niv0{ color: #96d335; }

nav#contact_medias_sociaux ul.niv0 li a span { display: none; }

nav#contact_medias_sociaux ul.niv0 li#contact_ms-item-27 a:before { background-image: url("../images/icn_fb.svg"); }
nav#contact_medias_sociaux ul.niv0 li#contact_ms-item-28 a:before { background-image: url("../images/icn_lin.svg"); }


section div.videoWrapperMax {
	position: relative;
    width: 100%;
    max-width: 640px;
}

section div.videoWrapper {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	margin-bottom: 30px;
	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 */
/*             */












/*             */
/*   HEADER    */
/*             */
header#containerHeader {
	position: fixed;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	background: transparent;
	background: rgba(37, 13, 155, 0);
	z-index: 20;
	
	-webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
header#containerHeader.bg { background: #250d9b; background: rgba(37, 13, 155, 1); }

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



header#containerHeader span.logo {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 10px;
	left: 0;
	width: 200px;
	height: 90px;
	background: center center no-repeat;
	background-size: contain;
	z-index: 40;
}
body.lang-fr header#containerHeader span.logo { background-image: url(../images/logo_fr.png); }
body.lang-en header#containerHeader span.logo { background-image: url(../images/logo_en.png); }

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

header#containerHeader span.logo a span { display: none; }


header#containerHeader div#block_all_menu {
	position: relative;
	float: right;
	display: block;
	margin: 0;
	padding: 0;
	width: calc(100% - 200px);
	z-index: 35;
}

header#containerHeader div#block_all_menu a.btn_mobile {
	position: absolute;
	display: none;
	margin: 0;
	padding: 0 10px;
	top: 31px;
	right: 0;
	width: 44px;
	height: 48px;
}
header#containerHeader div#block_all_menu a.btn_mobile span.txt { display: none; }
header#containerHeader div#block_all_menu a.btn_mobile span.icn { position: absolute; left: 0; right: 0; bottom: 0; margin: auto; width: 24px; height: 25px;  }

header#containerHeader div#block_all_menu a.btn_mobile span.icn2, 
header#containerHeader div#block_all_menu a.btn_mobile span.icn2:before, 
header#containerHeader div#block_all_menu a.btn_mobile span.icn2:after {
	cursor: pointer;
	border-radius: 1px;
	height: 5px;
	width: 24px;
	background: #fff;
	position: absolute;
	display: block;
	content: '';
}
header#containerHeader div#block_all_menu a.btn_mobile span.icn2:before { top: -10px;  }
header#containerHeader div#block_all_menu a.btn_mobile span.icn2:after { bottom: -10px; }

header#containerHeader div#block_all_menu a.btn_mobile span.icn2, 
header#containerHeader div#block_all_menu a.btn_mobile span.icn2:before, 
header#containerHeader div#block_all_menu a.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 div#block_all_menu.active a.btn_mobile span.icn2:before, 
header#containerHeader div#block_all_menu.active a.btn_mobile span.icn2:after { top: 0; }
header#containerHeader div#block_all_menu.active a.btn_mobile span.icn2 { background: transparent; }
header#containerHeader div#block_all_menu.active a.btn_mobile span.icn2:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
header#containerHeader div#block_all_menu.active a.btn_mobile span.icn2:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }




header#containerHeader div#block_all_menu div.menup {
	position: relative;
	display: block;
	margin: 0;
	padding: 20px 40px 0 0;
	width: 100%;
	z-index: 30;
}

header#containerHeader div#block_all_menu div.menup_bg {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	z-index: 30;
}

header#containerHeader div#block_all_menu div.menup nav {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}

header#containerHeader div#block_all_menu div.menup nav ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

header#containerHeader div#block_all_menu div.menup nav ul.niv0 { float: right; padding: 0; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0, header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang {
	position: relative;
	float: left;
	display: block;
	margin: 0;
	padding: 0 10px;
}

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27, 
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28 { padding: 15px 0 20px 0; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang { padding: 15px 10px 20px; margin: 0 10px; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:before, 
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:after {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	width: 1px;
	top: 15px;
	bottom: 20px;
	background: #fff;
	overflow: hidden;
}
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:before { left: 0; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:after { right: 0; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0:first-child { padding-left: 0; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0:last-child { padding-right: 0; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0 a.niv0 {
	position: relative;
	float: left;
	display: block;
	margin: 0;
	padding: 15px 7px 20px;
	font-family: "ubuntumedium", Arial;
	font-size: 1.125em;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	overflow: hidden;
}
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0 a.niv0:after {
	content: "";
	position: absolute;
	display: block;
	margin: 0 auto;
	padding: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 0;
	height: 5px;
	background: #fff;
	overflow: hidden;
	
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    transition: all .2s;
}
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.hover a.niv0 { text-decoration: none; }
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.active a.niv0{ color: #96d335; }
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.hover a.niv0:after, 
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.active a.niv0:after { width: 100%; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang a {
	position: relative;
	float: left;
	display: block;
	margin: 0;
	padding: 0 15px;
	font-family: "ubuntumedium", Arial;
	font-size: 1em;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	overflow: hidden;
}
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang a:hover { color: #96d335; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-phone a { margin: 15px 0; padding: 0 10px; background: rgb(150,211,53); border-radius: 10px; }
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-phone.hover a.niv0:after, 
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-phone.active a.niv0:after { display: none; }

header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27 a { padding: 7px 15px 20px; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27 a:before {
	content: "";
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url("../images/icn_fb.svg") center / contain no-repeat;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(73deg) brightness(100%) contrast(103%);
	overflow: hidden;
}
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27.hover a.niv0:after, 
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27.active a.niv0:after { display: none; }
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27 a:hover:before { filter: invert(67%) sepia(50%) saturate(621%) hue-rotate(40deg) brightness(106%) contrast(81%); }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-27 a span { display: none; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28 a { padding: 7px 15px 20px; }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28 a:before {
	content: "";
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	background: url("../images/icn_lin.svg") center / contain no-repeat;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(73deg) brightness(100%) contrast(103%);
	overflow: hidden;
}
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28.hover a.niv0:after, 
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28.active a.niv0:after { display: none; }
.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28 a:hover:before { filter: invert(67%) sepia(50%) saturate(621%) hue-rotate(40deg) brightness(106%) contrast(81%); }
header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-28 a span { display: none; }


header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 {
	position: absolute;
	display: none;
	margin: 0;
	padding: 0;
	top: 70px;
	left: 0;
	background: #fff;
	width: 320px;
}
header#containerHeader div#block_all_menu div.menup nav li.niv0.hover ul.niv1 { display: block; }

header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 li.niv1 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ccc;
}

header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 li.niv1 a.niv1 {
	position: relative;
	display: block;
	margin: 0;
	padding: 10px 15px 12px;
	font-family: "ubunturegular", Arial;
	font-size: 1.125em;
	text-decoration: none;
	color: #000;
	overflow: hidden;
}
.no-mobile header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 li.niv1 a.niv1:hover, 
header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 li.niv1.active a.niv1 { background: #96d335; color: #fff; text-decoration: none; }


header#containerHeader div#block_all_menu div.menup nav ul.niv2 { display: block; }
/*             */
/* FIN HEADER  */
/*             */















/*             */
/*  CAROUSEL   */
/*             */
div#carousel_container {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

div#carousel_container div.block_carousel {
	position: absolute;
	display: block;
	margin: auto;
	padding: 0;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	opacity: 0;
	overflow: hidden;
	z-index: 1;
	
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
}
div#carousel_container div.block_carousel.active { position: relative; opacity: 1; z-index: 2; }

div#carousel_container div.img {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	background: center no-repeat;
	background-size: cover;
	overflow: hidden;
	z-index: 1;
}

div#carousel_container div.img:before {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #250d9b;
	opacity: 0.35;
	z-index: 2;
}

div#carousel_container div.img img {
	position: relative;
	display: block;
	width: 100%;
	height: 100vh;
	min-height: 480px;
	object-fit: cover;
	object-position: 50% 50%;
	z-index: 1;
}

div#carousel_container div.middle {
	position: absolute;
	display: block;
	margin: 0;
	padding: 110px 0 0;
	top: 50%;
	right: 0;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	z-index: 2;
}

div#carousel_container div.txt h2 { margin: 0; padding: 0; font-size: 3em; color: #fff; text-transform: none; }
div#carousel_container div.txt h2 strong { position: relative; display: block; font-family: "ubuntubold", Arial; font-weight: normal; }
div#carousel_container div.txt p { margin: 0; padding: 20px 0 0; font-size: 1.375em; line-height: 1.2em; color: #fff; font-family: "ubunturegular", Arial; font-weight: normal; }
div#carousel_container div.txt p strong { font-family: "ubuntubold", Arial; font-weight: normal; }
/*             */
/*FIN CAROUSEL */
/*             */










/*             */
/*     PAGE    */
/*             */
section.page div.img.bg {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
}

section.page div.img.bg:before {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #250d9b;
	opacity: 0.5;
}

section.page div.img.bg img { display: block; width: 100%; height: 50vh; min-height: 480px; object-fit: cover; object-position: 50% 50%; }

section.page h1.title {
	font-family: "ubunturegular", Arial;
	font-size: 2.375em;
	text-transform: none;
	color: #000;
}
section.page h1.title strong { font-family: "ubuntubold", Arial; font-weight: normal; color: #274ce3; }
body.home section h1.title { display: none; }

section.page div#carousel_container.block_photo { border-bottom: 40px solid transparent; }
section.page div#carousel_container.block_photo div.img:before { display: none; }
section.page div#carousel_container.block_photo div.img img { height: 50vh; }
section.page div#carousel_container.block_photo div.img a:after {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 100%);
	z-index: 2;
}

section.page div#carousel_container.block_photo span.icn_photo {
	position: absolute;
	display: block;
	margin: 0;
	padding: 7px 22px 0 3px;
	bottom: 20px;
	left: 20px;
	width: 80px;
	height: 60px;
	background: url("../images/icn_photo.png") center no-repeat;
	background-size: contain;
	font-family: "ubuntubold", Arial;
	font-size: 1.75em;
	color: #fff;
	text-align: center;
	line-height: 1.2em;
	z-index: 2;
}

section.page div.block_equipement {
	position: relative;
	display: inline-block;
	margin: 0 0 0 -4px;;
	padding: 20px 20px 20px 24px;
	width: 50%;
	vertical-align: top;
	overflow: hidden;
}

section.page div.block_equipement div.img {
	position: relative;
	display: block;
	margin: 0 0 10px;
	padding: 0;
	width: 100%;
	border: 10px solid #250d9b;
	border-radius: 50%;
	overflow: hidden;
}

section.page div.block_equipement div.img:before {
	content: "";
	position: relative;
	display: block;
	margin: 0 0 100%;
	padding: 0;
	width: 100%;
}

section.page div.block_equipement div.img img {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.page div.block_equipement h3 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 1.25em;
	text-align: center;
	text-transform: none;
	color: #000;
}


section.contact div.block_contact_txt {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 100%;
	vertical-align: top;
}

section.contact div.block_contact_txt p { line-height: 1.6em; }

div.block_contact div.content a,
section.contact div.content a { color: #261387; font-weight: bold; }

section.contact div.block_extra_contact {
    position: relative;
    display: block;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}

section.contact div.block_extra_contact:before {
    content: "";
    position: absolute;
    display: block;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: url("../images/icn_maps.svg") center / contain no-repeat;
	filter: invert(11%) sepia(97%) saturate(6112%) hue-rotate(255deg) brightness(60%) contrast(110%);
}
/*             */
/*   FIN PAGE  */
/*             */










/*             */
/*     ASIDE   */
/*             */
aside#extracontent {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

aside#extracontent div.cols_2 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

aside#extracontent div.cols_2 > div.center { margin: 0; width: 100%; max-width: none; }

aside#extracontent div.mod_extra {
	position: relative;
	display: block;
	margin: 0;
	padding: 40px 0;
	width: 100%;
}

aside#extracontent div.mod_extra div.img.bg {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.15;
}

aside#extracontent div.mod_extra div.img.bg img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 1; }

aside#extracontent div.mod_extra h2.title {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 25px;
	font-family: "ubunturegular", Arial;
	font-size: 2.375em;
	color: #261387;
}
aside#extracontent div.mod_extra h2.title::first-line { font-family: "ubuntubold", Arial; color: #96d335; }
aside#extracontent div.mod_extra:nth-of-type(2n) h2.title { color: #96d335; }
aside#extracontent div.mod_extra:nth-of-type(2n) h2.title::first-line { color: #261387; }
aside#extracontent div.mod_extra.mod_contact h2.title { color: #274ce3; }
aside#extracontent div.mod_extra.mod_contact h2.title::first-line { color: #261387; }


aside#extracontent div.mod_extra.block_formation { background: #f7f7f7; }
aside#extracontent div.mod_extra.block_service { background: #dddddd; }



aside#extracontent div.smenu_all {
	position: relative;
	display: block;
	margin: 0 -20px;
	padding: 0;
	width: auto;
}

aside#extracontent div.smenu {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 20px;
	width: 50%;
	vertical-align: top;
}

aside#extracontent div.smenu div.img {
	position: relative;
	display: block;
	margin: 0 0 15px;
	padding: 0;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}

aside#extracontent div.smenu div.img:before {
	content: "";
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 176% 0 0;
	width: 100%;
}

aside#extracontent div.smenu div.img div.img_rect {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #17043f;
}

aside#extracontent div.smenu div.img img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; z-index: 1; }

aside#extracontent div.smenu div.img div.img_rect:before {
	content: "";
	position: absolute;
	display: block;
	margin: auto;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 45px;
	height: 45px;
	background: url("../images/icn_plus.png") center no-repeat;
	background-size: contain;
	opacity: 0;
	z-index: 3;
	
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
aside#extracontent div.smenu div.img div.img_rect:after {
	content: "";
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #17043f;
	opacity: 0;
	z-index: 2;
	
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

aside#extracontent div.smenu h3 {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	font-size: 1.125em;
	color: #000;
	text-align: center;
	text-transform: none;
	z-index: 2;
}

aside#extracontent div.smenu h3 strong { font-family: "ubuntubold", Arial; font-weight: normal; color: #274ce3; }

aside#extracontent div.smenu a.btn_smenu {
	position: absolute;
	display: block;
	margin: 0;
	padding: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 3;
}
aside#extracontent div.smenu a.btn_smenu span { display: none; }

.no-mobile aside#extracontent div.smenu:hover h3 { color: #274ce3; }
.no-mobile aside#extracontent div.smenu:hover div.img div.img_rect:before { opacity: 1; }
.no-mobile aside#extracontent div.smenu:hover div.img div.img_rect:after { opacity: 0.5; }


aside#extracontent div.mod_contact p { line-height: 1.6em; }

aside#extracontent div.mod_contact div.content,
aside#extracontent div.mod_contact div#map {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 100%;
	vertical-align: top;
}

aside#extracontent div.mod_contact div#map { height: 480px; }
/*             */
/*   FIN ASIDE */
/*             */











/*             */
/*   FOOTER    */
/*             */
footer#containerFooter {
    position: relative;
    display: block;
    margin: 0;
    padding: 10px 0;
    background: #250d9b;
    font-size: 0.875em;
    color: #fff;
}


footer#containerFooter nav {
    position: relative;
    float: right;
    display: inline-block;
    margin: 0 0 0 50px;
    padding: 0;
}

footer#containerFooter nav ul {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style: none;
}

footer#containerFooter nav ul li {
    position: relative;
    display: inline-block;
    margin: 0 0 0 20px;
    padding: 0;
}

footer#containerFooter nav ul li a {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #fff;
}
.no-mobile footer#containerFooter nav ul li a:hover { color: #96d335; text-decoration: underline; }


footer#containerFooter p { margin: 0; padding: 0; }
/*             */
/* FIN FOOTER  */
/*             */


















.no-mobile  div.lazy {
	background-color: #003461;
	opacity: 0.6;
	-webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    transform: scale(1.1);
	
	-webkit-transition: all 0.7s;
	-moz-transition: all 0.7s;
	transition: all 0.7s;
}
.no-mobile div.lazy.load {
	opacity: 1;
	-webkit-transform: scale(1) rotate(0.0001deg);
	-moz-transform: scale(1) rotate(0.0001deg);
	transform: scale(1) rotate(0.0001deg);
}



























/* ================================================================== */
/* === Responsive styles ============================================ */
/* ================================================================== */
@media only screen and (max-width: 1200px) {
	body.fixedHeight { padding: 0; }
	body.fixedHeight header#containerHeader { position: relative; padding: 0 !important; height: auto !important; min-height: 100%; background: #250d9b; overflow: scroll; }
	body.fixedHeight div#block_all_menu div.menup div.menup_bg { height: auto; }
	header#containerHeader div#block_all_menu { padding: 110px 0 0; width: 100%; }
	header#containerHeader div#block_all_menu a.btn_mobile { display: block; }
	header#containerHeader div#block_all_menu div.menup { display: none; padding: 0; }
	
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 { float: none; }
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0,
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang { float: none; padding: 0; margin: 0; width: 100%; height: auto; border-bottom: 1px solid #fff; }
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:before, 
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang:after { display: none; }
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0 a.niv0, 
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-lang a { float: none; padding: 22px 15px; line-height: 1.2em; }
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li#item-phone a { display: inline-block; padding: 15px; }
	header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0 a.niv0:after { margin: auto 0; top: 0; right: auto; height: 12px; }
	.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.hover a.niv0:after, 
	.no-mobile header#containerHeader div#block_all_menu div.menup nav ul.niv0 li.niv0.active a.niv0:after { width: 10px; }
	header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 { position: relative; display: block; top: auto; left: auto; background: none; width: auto; }
	header#containerHeader div#block_all_menu div.menup nav li.niv0 ul.niv1 li.niv1 a.niv1 { color: #fff; }
	
	
	header#containerHeader div#block_all_menu.active div.menup { display: block; }
	header#containerHeader div#block_all_menu.active div.menup nav { height: auto; }
	header#containerHeader div#block_all_menu.active a#btn_nav_mainmenu_close { display: block; }
	
	body.fixedHeight div.container_content, 
	body.fixedHeight footer#containerFooter { display: none !important; }
	
	
	table:not(.error), 
	table:not(.error) thead, 
	table:not(.error) tbody, 
	table:not(.error) th, 
	table:not(.error) td, 
	table:not(.error) tr { 
		display: block; 
	}
 
	table:not(.error) th { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
 
	table:not(.error) tr { border: 1px solid #261387; }
 
	table:not(.error) td {
		position: relative;
		padding-left: 50%; 
		border-bottom: 1px solid #ddd; 
		text-align: left !important;
		white-space: normal !important;
	}
 
	table:not(.error) td:before { 
		position: absolute;
		top: 10px;
		left: 15px;
		width: 45%; 
		padding-right: 15px;
		word-wrap: break-word;
		font-weight: bold;
	}
 
	table:not(.error) td:before { content: attr(data-title); }
	
	
	body, 
	section.parallax.page div.slide:first-of-type, 
	section.programmev2 div.slide:first-child { background-attachment: scroll; }
}


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

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

/* Tablets and landscape large smartphones */
@media only screen and (min-width: 700px) and (max-width: 1000px) {
    section div.videoWrapperMax.right { float: right; margin-left: 30px; }
    section div.videoWrapperMax.left { float: left; margin-right: 30px; }
    
	section.page div.block_equipement { width: 33.3333333333%; }
	
	aside#extracontent div.smenu { width: 25%; }
	aside#extracontent div.smenu h3 { font-size: 1em; }
}

@media only screen and (min-width: 1001px) and (max-width: 1200px) {
    section div.videoWrapperMax.right { float: right; margin-left: 30px; }
    section div.videoWrapperMax.left { float: left; margin-right: 30px; }
    
	section.page div.block_equipement { width: 25%; }
	
	aside#extracontent div.smenu { width: 25%; }

}

@media only screen and (min-width: 1200px){
    section div.videoWrapperMax.right { float: right; margin-left: 30px; }
    section div.videoWrapperMax.left { float: left; margin-right: 30px; }
    
	div#carousel_container div.txt h2 { font-size: 3.9375em; }
	div#carousel_container div.txt p { font-size: 1.75em; }
	
	section.page h1.title { font-size: 2.875em; }
	section.page div.section:nth-of-type(2n+1) div.img { float: left; margin: 0 30px 30px 0; width: 45%; }
	section.page div.section:nth-of-type(2n) div.img { float: right; margin: 0 0 30px 30px; width: 45%; }
	section.page div#carousel_container.block_photo { float: right; width: 50%; border-left: 40px solid transparent; }
	section.page div.block_equipement { width: 20%; }
	section.contact div.block_contact_txt { width: 50%; }
	section.contact div.block_contact_txt.form h3 { margin-top: 0; }
	
	
	aside#extracontent div.mod_extra h2.title { font-size: 2.875em; }
	aside#extracontent div.cols_2:before { content: ""; position: absolute; display: block; top: 0; right: 0; bottom: 0; width: 50%; background: #f7f7f7; }
	aside#extracontent div.cols_2 div.mod_extra { float: left; width: 50%; }
	aside#extracontent div.cols_2 div.mod_extra:nth-of-type(1) { padding-right: 40px; }
	aside#extracontent div.cols_2 div.mod_extra:nth-of-type(2) { padding-left: 40px; }
	aside#extracontent div.cols_2 > div.center { margin: 0 auto; width: 90%; max-width: 1280px; }
	aside#extracontent div.cols_2 div.mod_extra div.center { margin: 0; width: 100%; max-width: none; }
	aside#extracontent div.mod_contact div.content, aside#extracontent div.mod_contact div#map { width: 50%; }
	
	aside#extracontent div.smenu { width: 25%; }
}

/* Desktop screens */
@media only screen and (min-width: 1200px) and (max-width: 1499px){
	
}

/* Large screen */
@media only screen and (min-width: 1500px) and (max-width: 1799px){
	
}

/* Very large screen */
@media only screen and (min-width: 1800px){
	
}