



/* ---------------------------------------------------------------------------------------



		CSS DU PLUGIN
		¯¯¯¯¯¯¯¯¯¯¯¯¯

		MODE VERTICAL


		Ce CSS écrase certaines données du stylesheet général.
		Vous pouvez le changer manuellement.

		Android supporte mal les transitions.
		La class "android" règle le problème.
		Android 2.3 supporte mal position: fixed; et overflow: scroll;
		La classe "no-fixed" règle le problème.



--------------------------------------------------------------------------------------- */




/* Polices locales via font-face
--------------------------------------------------------------------------------------- */
	/* Utilisé pour les icônes */
	/*@font-face {
		font-family: 'guifx';
		src: url('../font/guifx_v2_transports-webfont.eot');
		src: url('../font/guifx_v2_transports-webfont.eot?#iefix') format('embedded-opentype'),
			 url('../font/guifx_v2_transports-webfont.woff2') format('woff2'),
			 url('../font/guifx_v2_transports-webfont.woff') format('woff'),
			 url('../font/guifx_v2_transports-webfont.ttf') format('truetype'),
			 url('../font/guifx_v2_transports-webfont.svg#guifx_v2_transportsregular') format('svg');
		font-weight: normal;
		font-style: normal;
	}*/


/* Styles généraux
--------------------------------------------------------------------------------------- */
	/* Animation du menu vertical */
	.vAnimationMargin .menuMobile_nav {
		-webkit-transition: -webkit-transform 0.5s ease;
		transition: transform 0.5s ease;
	}


/* Conteneurs
--------------------------------------------------------------------------------------- */
	/* Overlay sur le site */
	.vMenuFiltre body:before {
		content: ""; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 99;
		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBoAAAAhQCBuMOYEwAAAABJRU5ErkJggg==);
		background: rgba(0,0,0,0.5);
		opacity: 0; visibility: hidden;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	.vMenuFiltre.vMenu-open body:before {opacity: 1; visibility: visible;}


	@media only screen and (min-width: 960px) {
		.vMenuFiltre body:before {display: none;}
	}


/* Icônes
--------------------------------------------------------------------------------------- */
	.menuMobile_nav li.avecSousMenu > a:before,
	.menuMobile_nav li a.vRetour:before {font: 400 20px/100% "guifx"; color: #000; display: inline-block;}

	/* Flèche du sous-menu */
	.menuMobile_nav li.avecSousMenu > a:before {content: "\e901"; font:8px "epq";}
	.menuMobile_nav li.avecSousMenu.actif > a:before {content: ""; width: 17px; height: 1px; margin-top: 0; margin-left: -1px; background: #000;}

	.vMenu-v-3 .menuMobile_nav li.avecSousMenu.actif > a:before {content: ">";}

	/* Flèche de retour | Type 3 */
	.menuMobile_nav li a.vRetour:before,
	.i-vFlecheRetour:before {content: "<"; position: relative; top: 1px; margin-right: 5px;}


/* Menu mobile
--------------------------------------------------------------------------------------- */
	.menuMobile_nav {
		position: fixed; left: 0; top: 85px; bottom: 0; z-index: 110;

		/* Padding ajouté pour y ajouter le bouton de fermeture */
		padding-top: 0;

		width: 80%; margin-left: -80%;
		overflow-x: hidden; overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		/* Règle un problème sur iPhone */
		/* http://webdesign.tutsplus.com/tutorials/css3-animations-the-hiccups-and-bugs-youll-want-to-avoid--webdesign-4867 */
		-webkit-transform: translateZ(0);
		background: #fff;
	}

	#vMenuMobile li.hdMenu {border-top: 1px solid #e7e7e7;}

	/* Ouverture à droite */
	.vMenu-droit .menuMobile_nav {margin-left: auto; margin-right: -80%; left: auto; right: 0;}

	.menuMobile_nav li {position: relative; border-bottom: 1px solid #e7e7e7;}
	.menuMobile_nav li a {
		display: flex; justify-content:flex-end; padding:20px 25px !important; position: relative;
		font-size:14px; line-height: 1.25em; text-decoration: none; text-align: right; outline: none;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		-webkit-tap-highlight-color: transparent;
		background: #fff; color: #231e1b; 
	}
	.menuMobile_nav li a:hover img {}
	.menuMobile_nav li.avecSousMenu a.niv1 {border-left:7px solid #fff; padding-left: 23px; border-bottom:1px solid #fff;}
	.menuMobile_nav li.avecSousMenu a.niv2 {border-left:4px solid #fff; padding-left: 26px; border-bottom:1px solid #fff;}
	.menuMobile_nav li.avecSousMenu.actif > a.niv1  {border-left-color:#1d96d4; border-bottom:1px solid #e7e7e7;}
	.menuMobile_nav li.avecSousMenu.actif > a.niv2  {border-left-color:#ffb2b2; border-bottom:1px solid #e7e7e7;}

	.menuMobile_nav li.hdMenu a {padding:14px 20px;}
	.menuMobile_nav li a:hover  {color:#fff; background: rgba(36,32,33,.9); outline: none;}
	.menuMobile_nav li a:active {background: #000; outline: none;}
	.menuMobile_nav li a.actif  {/*background: #000;*/outline: none;}

	/* Lien avec flèche */
	.menuMobile_nav li.avecSousMenu > a {padding-right: 55px;}
	.menuMobile_nav li.avecSousMenu > a:before {position: absolute; top: 50%; margin-top: -0.5em; right: 42px;}

	/* Sous-menu */
	/* Premier niveau */
	.menuMobile_nav ul ul {display: none;}
	.menuMobile_nav ul ul a {font:700 16px 'amasis'; padding-left: 30px; background: #fff;}
	/* Deuxième niveau */
	.menuMobile_nav ul ul ul a {font:300 13px 'flama'; padding-left: 60px; background: #fff;}


	/* Si Position: fixed; n'est pas supporté */
	.no-fixed .menuMobile_nav {overflow-x: initial; overflow-y: initial; position: absolute;}
	/* Si CSS3 est supporté */
	.csstransforms3d .menuMobile_nav {margin-left: 0; left: -100%;}
	/* Ouverture à droite */
	.csstransforms3d.vMenu-droit .menuMobile_nav {margin-left: auto; margin-right: 0; left: auto; right:-80%;}


	@media only screen and (min-width: 768px) {
		.menuMobile_nav {width: 53%; margin-left: -53%;}
		.vMenu-droit .menuMobile_nav {margin-right: -53%;}

		.menuMobile_nav li.avecSousMenu > a:before {right:33px;}

		/* Si CSS3 est supporté */
		.csstransforms3d .menuMobile_nav {width: 53%; margin-left: 0; left: -53%;}
		.csstransforms3d.vMenu-droit .menuMobile_nav {margin-left: auto; margin-right: 0; left: auto; right: -53%;}
	}
	@media only screen and (min-width: 1160px) {
		/* Effet hover seulement sur bureau pour éviter des problèmes sur mobile | Utiliser seulement si nécessaire */
		/*.menuMobile_nav li a:hover  {background: #383838; outline: none;}*/
	}


/* Type 2
--------------------------------------------------------------------------------------- */
	/* Flèche du sous-menu */
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu a:before {display: none;}

	/* Icône du + */
	.vMenu-v-2 .menuMobile_nav li .vWrapType2 a.vAfficherSousMenu span:before {
		display: block; content: "\e901"; font:8px "epq";
		position: absolute; top: 50%; margin-top: -2px; left: 0; /*margin-left: -32px;*/
	}
	.vMenu-v-2 .menuMobile_nav li.actif > .vWrapType2 > a.vAfficherSousMenu span:before {content: ""; width: 17px; height: 1px; margin-top: 0; margin-left: -1px; background: #000;}

	/* Menu mobile */
	/* Lien avec + */
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu > .vWrapType2 {position: relative;}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu > .vWrapType2 > a {margin-right: 50px; padding-right: 0;}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu > .vWrapType2 > a.vAfficherSousMenu {
		position: absolute; top: 0; right: 0; bottom: 0;
		width: 58px; display: block; margin: 0; padding-left: 0;
		text-align: center; vertical-align: middle;
	}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu > .vWrapType2 > a.vAfficherSousMenu span {
		position: absolute; top: 0; right: 0; bottom: 0; left: 0;
	}


	.vMenu-v-2 .menuMobile_nav li.avecSousMenu.actif {border: 0;}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu.actif > .vWrapType2 {border-bottom:1px solid #e7e7e7;}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu.actif > .vWrapType2 a.niv1  {border-left-color:#1d96d4;}
	.vMenu-v-2 .menuMobile_nav li.avecSousMenu.actif > .vWrapType2 a.niv2  {border-left-color:#ffb2b2;}

	@media only screen and (min-width: 768px) {
		.vMenu-v-2 .menuMobile_nav li.avecSousMenu > .vWrapType2 > a.vAfficherSousMenu {width:48px;}
	}


/* Type 3
--------------------------------------------------------------------------------------- */
	/* Menu mobile */
	.vMenu-v-3 .menuMobile_nav {overflow-x: hidden; overflow-y: initial; height: 100%;}

	.vMenu-v-3 .menuMobile_nav .btnMenuMobile {z-index: 5;}

	/* Premier niveau */
	.vMenu-v-3 .menuMobile_nav ul {
		position: absolute; top: 0; left: 0; bottom: 0; width: 100%; display: block;
		overflow-x: hidden; overflow-y: auto;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
		-webkit-overflow-scrolling: touch;
		z-index: 1;
		margin-left: 100%;

		/* Padding ajouté pour y ajouter le bouton de fermeture */
		padding-top: 50px;

		background: #3B3B3B;
	}

	.vMenu-v-3 .menuMobile_nav ul a span.i-vFlecheRetour {margin-right: 10px;}

	/* Place le menu principal au dessus */
	.vMenu-v-3 .menuMobile_nav ul:first-of-type {z-index: 2; margin-left: 0;}

	/* Cache le menu précédent */
	.vMenu-v-3 .menuMobile_nav ul.menuPrec,
	.vMenu-v-3 .menuMobile_nav ul.menuPrec.actif {margin-left: -100%; z-index: 1;}

	/* Affiche le menu choisi */
	.vMenu-v-3 .menuMobile_nav ul.actif {z-index: 2; margin-left: 0;}

	/* Si Position: fixed; n'est pas supporté */
	.vMenu-v-3.no-fixed .menuMobile_nav ul {bottom: auto;}


	/* Sous-menu */
	/* Premier niveau */
	.vMenu-v-3 .menuMobile_nav ul.niv1 {background: #2d2d2d;}
	.vMenu-v-3 .menuMobile_nav ul.niv1 a {background: #2d2d2d; border-bottom: 1px solid #313131;}
	.vMenu-v-3 .menuMobile_nav ul.niv1 a:hover {background: #383838;}
	.vMenu-v-3 .menuMobile_nav ul.niv1 a:active {background: #000;}

	/* Deuxième niveau */
	.vMenu-v-3 .menuMobile_nav ul.niv2 {background: #1e1e1e;}
	.vMenu-v-3 .menuMobile_nav ul.niv2 a {padding-left: 20px; background: #1e1e1e; border-top-color: #313131; border-bottom-color: #141414;}
	.vMenu-v-3 .menuMobile_nav ul.niv2 a:hover {background: #383838; outline: none;}
	.vMenu-v-3 .menuMobile_nav ul.niv2 a:active {background: #000; outline: none;}

	/* Si CSS3 est supporté */
	.vMenu-v-3.csstransforms3d .menuMobile_nav ul.menuPrec {
		margin-left: 0;
		-webkit-transform: translate3d(-100%,0,0);
		-ms-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}
	/* Android hack */
	.vMenu-v-3.android .menuMobile_nav ul.menuPrec {
		-webkit-transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
		left:-100%;
	}


/* Ouverture du menu
--------------------------------------------------------------------------------------- */
	.vMenu-open body {overflow: hidden; position: absolute;width:100%;}
	.no-fixed.vMenu-open body {overflow: inherit;}
	.vMenu-open .entete .btnMenuMobile {display: none;}
	.vMenu-open #vMenuMobile .btnMenuMobile {display: none; left:none; right: 23px;}

	/* Menu */
	.vMenu-open .menuMobile_nav {margin-left: 0;}
	.vMenu-droit.vMenu-open .menuMobile_nav {margin-left: auto; margin-right: 0;}

	/* Si CSS3 est supporté */
	.csstransforms3d.vMenu-open .menuMobile_nav {
		-webkit-transform: translate3d(100%,0,0);
		-ms-transform: translate3d(100%,0,0);
		transform: translate3d(100%,0,0);
	}
	.csstransforms3d.vMenu-droit.vMenu-open .menuMobile_nav {
		-webkit-transform: translate3d(-100%,0,0);
		-ms-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}

	/* Android hack */
	.android.vMenu-open .menuMobile_nav, .android.vMenu-droit.vMenu-open .menuMobile_nav {
		-webkit-transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
	.android.vMenu-open .menuMobile_nav {left:0;}
	.android.vMenu-droit.vMenu-open .menuMobile_nav {right:0; left: auto;}


	@media only screen and (min-width: 768px) {
		.vMenu-open #vMenuMobile .btnMenuMobile {right: 11px;}

		/* Android hack */
		.android.vMenu-open .menuMobile_nav, .android.vMenu-droit.vMenu-open .menuMobile_nav {
			-webkit-transform: translate3d(0,0,0);
			-ms-transform: translate3d(0,0,0);
			transform: translate3d(0,0,0);
		}
		.android.vMenu-open .menuMobile_nav {left:0;}
		.android.vMenu-droit.vMenu-open .menuMobile_nav {right:0; left: auto;}
	}
	@media only screen and (min-width: 1160px) {
		.vMenu-open body {overflow: inherit; position: relative;}

		/* Menu */
		.vMenu-open .menuMobile_nav {display: none;}
		.vMenu-open.vMenu-droit .menuMobile_nav {display: none;}
	}


/* Icone hamburger
--------------------------------------------------------------------------------------- */
	.btnMenuMobile {
		display: block;
		height: 50px; width: 60px;
		padding: 15px;
		-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
		cursor: pointer; outline: none;
		/*background: #21A4DD;*/
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		-webkit-tap-highlight-color: transparent; z-index: 9999;
	}
	.btnMenuMobile:selection {background: transparent;}

	.btnMenuMobile > span {padding: 10px 0; display: block; position: relative;}

	.btnMenuMobile > span span:before,
	.btnMenuMobile > span span:after,
	.btnMenuMobile > span span {
		height: 1px; width: 100%;
		background-color: #fff; content: "";
		border: none; display: block;
		-webkit-transition: transform 0.5s ease;
		transition: transform 0.5s ease;
	}


	.activeTop.entete .btnMenuMobile > span span:before,
	.activeTop.entete .btnMenuMobile > span span:after,
	.activeTop.entete .btnMenuMobile > span span {background-color: #000 !important;}

	.btnMenuMobile > span span:before {position: absolute; top: 0;}
	.btnMenuMobile > span span:after {position: absolute; bottom: 0;}
	.btnMenuMobile > span span {}


	.vMenu-open .btnMenuMobile > span span:before,
	.vMenu-open .btnMenuMobile > span span:after,
	.vMenu-open .btnMenuMobile > span span {background-color: #000;}

	/* Animation de l'icône */
	.csstransforms.vMenu-open .btnMenuMobile > span,
	.csstransforms .btnMenuMobile.ferme > span {position: relative; top: -1px;}
	.csstransforms.vMenu-open .btnMenuMobile > span span:before,
	.csstransforms .btnMenuMobile.ferme > span span:before {
		top: 50%;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.csstransforms.vMenu-open .btnMenuMobile > span span:after,
	.csstransforms .btnMenuMobile.ferme > span span:after {
		top: 50%; bottom: auto;
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.csstransforms.vMenu-open .btnMenuMobile > span span,
	.csstransforms .btnMenuMobile.ferme > span span {background: none;}


	/* Dispositions */
	.entete .btnMenuMobile {position: absolute; top: 15px; right:18px;}
	.vMenu-droit .entete .btnMenuMobile {left: auto; right:10px;}
	.menuMobile_nav .btnMenuMobile {position: absolute; right: 0; top: 15px;}
	.vMenu-droit .menuMobile_nav .btnMenuMobile {left: auto; right: 0;}


	@media only screen and (min-width: 768px) {
		.entete .btnMenuMobile {position: absolute; left: 0; top: 15px; right: 0; margin: auto}
		.vMenu-droit .entete .btnMenuMobile {right: 30px;}
	}



	@media only screen and (min-width: 1160px) {
		.entete .btnMenuMobile {display: none;}
	}
