
/* BANDEAU */
#bandeau {padding:0; position:fixed; left:0px; top:0px; width:100%; z-index:3000;}
#global:not(.global-accueil).no-bandeau #bandeau {background:#fff;}
.lg {height:120px; }
.sm {height:60px; }

/* Bandeau réduit */
#bandeau.sm {background:#fff; }
#bandeau.sm #bandeau-haut {height:0; overflow:hidden; }
#bandeau.sm #bandeau-conteneur {height: 100%;}
#bandeau.sm #bandeau-contact {}
#bandeau.sm #logo a img { image-rendering: initial; }

#bandeau.sm #menu-conteneur { }
#bandeau.sm #menu {}
#bandeau.sm #menu .menu-element .menu-element-contenu > a > span > span, 
#bandeau.sm #menu .menu-element .menu-element-contenu > a:visited > span > span, 
#bandeau.sm #menu .menu-element .menu-element-contenu > span > span { }

#bandeau-mobile {display:none;}
/* Bandeau non réduit */
#bandeau-conteneur {position: relative; z-index: 400; height:100%; width:100%; }

#bandeau-contact {position:relative; z-index:40;  height:100%;}
#bandeau-contact > .global {max-width: 1560px; position:relative; z-index:40;  height: 100%; display: grid; grid-template-columns: repeat(24, [col-start] 1fr);-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: stretch;-ms-flex-align: stretch;align-items: stretch;}

#bandeau-logo {grid-row:1; grid-column: col-start 1 / span 4;   height: 100%;   }
#menu-conteneur {grid-row:1; grid-column: col-start 5 / span 15; }
#bandeau-elements {grid-row:1; grid-column: col-start 20 / span 5; }
 
#bandeau #logo {padding:0px 0 0 1px;width:100%;position:relative; z-index:10;  max-width:190px;  height: 100%;  }
#bandeau #logo a,
#bandeau #logo a:visited {color:#ffffff; text-decoration:none;    height: 100%;  letter-spacing: 1.6px; font-weight:700; text-transform:uppercase; font-size:10px; display: flex;  flex-wrap: wrap; justify-content: center; align-items: flex-start;  flex-direction: column;}
#bandeau #logo a img {height:auto; width:100%; }

/* ELEMENTS BANDEAU */
#bandeau-elements {  height: 100%;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -ms-flex-wrap: wrap;  flex-wrap: wrap;  -webkit-box-pack: end;  -ms-flex-pack: end;  justify-content: flex-end;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;}
#bandeau-elements .bandeau-element {margin: 0 0 0 10px;}
#bandeau-elements .bandeau-element a,
#bandeau-elements .bandeau-element a:visited {text-decoration: none; color:#000000; font-size: 14px; font-weight: 400;  padding:8px 16px;  border-radius:60px;display: -webkit-box;display: -ms-flexbox;display: flex;}
#bandeau-elements #bandeau-inscription a,
#bandeau-elements #bandeau-inscription a:visited {text-transform: uppercase; color:#205e70; font-weight: 600; background:#5ed1c3; -moz-box-shadow: 0px 0px 3px rgba(2,3,3,0.2); -webkit-box-shadow: 0px 0px 3px rgba(2,3,3,0.2);  box-shadow: 0px 0px 3px rgba(2,3,3,0.2);}
#bandeau-connexion {}

/* MENU */
/* Menu niveau 1 */
#menu-conteneur { height:100% !important; clear:right; }
#menu-wrapper {height:100%; }
#menu {list-style:none; margin:0px auto; padding: 0; height:100%; }
#menu > .global {text-align:right; position:relative; z-index:30; height:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } 

#menu .menu-element { display:inline-block; vertical-align:top; position:relative; z-index:30; height:100%; margin:0 15px; }
#menu #menu-1 {margin-left:0 !important; }
#menu #menu-2 {margin-right:0 !important; }
#menu .menu-element .menu-element-contenu {height:100%;}
#menu .menu-element .menu-element-contenu > i { display: none;}
#menu .menu-element .menu-element-contenu > span { cursor:default; }
#menu .menu-element .menu-element-contenu > a,
#menu .menu-element .menu-element-contenu > a:visited {display:block; height:100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#menu .menu-element .menu-element-contenu > a > span,
#menu .menu-element .menu-element-contenu > a:visited > span,
#menu .menu-element .menu-element-contenu > span {color: #4B465C; font-weight:500; text-align: center; height:100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#menu .menu-element .menu-element-contenu > a > span> span,
#menu .menu-element .menu-element-contenu > a:visited > span> span,
#menu .menu-element .menu-element-contenu > span > span { font-size:15px; position:relative; padding: 10px 0 7px; -webkit-box-sizing:border-box; box-sizing:border-box; } 
#menu .menu-element .menu-element-contenu em {font-style:normal; font-size:12px; display:block; text-transform:uppercase;} 
#menu .menu-element.menu-grand {}
#menu .menu-element.menu-grand .menu-element-contenu > a > span,
#menu .menu-element.menu-grand .menu-element-contenu > span {padding:0px 0 1px; }
#menu .menu-element .menu-element-contenu > a,
#menu .menu-element .menu-element-contenu > a:visited {text-decoration:none; }
#menu .menu-element .menu-element-contenu > a:hover {text-decoration:none; }

/** SINON **/
#menu .menu-element.selected .menu-element-contenu > a > span, 
#menu .menu-element.selected .menu-element-contenu > span,
#menu .menu-element:hover .menu-element-contenu > a > span, 
#menu .menu-element:hover .menu-element-contenu > span {}

#menu .menu-element:hover .smenu-conteneur { animation : affichageSousMenu 300ms linear 350ms 1 forwards; } 
 
@keyframes affichageSousMenu {
 from {
	 visibility: hidden; 
	 opacity: 0; 
 }
 to {
	 visibility: visible; 
	 opacity: 1; 
 }
}

/* Sous menu niveau 1 */
#menu .smenu-conteneur {visibility: hidden; opacity: 0; position:absolute; left:0px; z-index:200; width:265px; min-height:20px; background: #205e70; }
#menu .smenu-conteneur .global {padding:0 !important; }
#menu .smenu-conteneur .smenu-scroll-up,
#menu .smenu-conteneur .smenu-scroll-down {display: none;position:relative; z-index: 10;}
#menu .smenu-conteneur .smenu-scroll-up::before {content:"\f106"; font-family: FontAwesome; font-size: 15px;  line-height: 9px; width:100%; height: 10px; display: block;  text-align: center; }
#menu .smenu-conteneur .smenu-scroll-down::after {content:"\f107"; font-family: FontAwesome; font-size: 15px;  line-height: 9px; width:100%; height: 10px; display: block;  text-align: center;}
#menu .smenu-centre { margin:0 !important; padding:0 !important; list-style:none; width:100%; text-align: left; }
#menu .smenu-conteneur.scrollable .smenu-centre {position:relative; z-index: 10; overflow-y: auto; }
#menu .smenu-conteneur.scrollable .smenu-scroll-up,
#menu .smenu-conteneur.scrollable .smenu-scroll-down { display: block; }
#menu .smenu-centre-menus {position:relative; z-index: 11; padding:14px 0; }
#menu .smenu-element > span { cursor:default; }
#menu .smenu-element > a {text-decoration:none; }
#menu .smenu-element > a > span,
#menu .smenu-element > span {color:#fff; text-align:center; padding:8px 10px; width: 100%; font-size:14px; position: relative; z-index: 2; font-weight:300; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -khtml-box-sizing:border-box; -webkit-transition: margin-right 300ms ease-in-out; -moz-transition: margin-right 300ms ease-in-out; -ms-transition: margin-right 300ms ease-in-out; -o-transition: margin-right 300ms ease-in-out; transition: margin-right 300ms ease-in-out;}

#menu .smenu-element > span > span,
#menu .smenu-element > a > span > span { display: block; max-width:calc(100% - 30px); height: 100%; }
#menu .smenu-element > a > span::after,
#menu .smenu-element > span::after {content:"\f105"; font-family:FontAwesome; font-size:21px; color:#5ed1c3; margin-left: 0; opacity:0; height: 100%; margin-top: 2px; -webkit-transition: margin 300ms ease 0ms; -moz-transition: margin 300ms ease 0ms; -ms-transition: margin 300ms ease 0ms; -o-transition: margin 300ms ease 0ms; transition: margin 300ms ease 0ms; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#menu .smenu-element.selected > span,
#menu .smenu-element.selected > a > span,
#menu .smenu-element:hover > a > span,
#menu .smenu-element:hover > span {color:#5ed1c3; }
#menu .smenu-element.selected > a > span::after,
#menu .smenu-element.selected > span::after,
#menu .smenu-element:hover > a > span::after,
#menu .smenu-element:hover > span::after {opacity:1; margin-left:15px; }

@media all and (max-width:1540px) {
	#menu > .global {padding: 0;}
	#menu .menu-element {margin: 0 10px;}
}

@media all and (max-width:1380px) {
	.lg { height: 120px;}
	.sm { height: 75px;}
	
    #bandeau-logo {	grid-column: col-start 1 / span 8;}
	#menu-conteneur {grid-row: 2; grid-column: col-start 1 / span 24;}
	#menu > .global {-webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly;}
	#bandeau-elements {	grid-column: col-start 14 / span 11;}
}

@media all and (max-width:885px) {
	#menu .menu-element {  margin: 0 7px;}
	#menu .menu-element .menu-element-contenu > a > span > span, #menu .menu-element .menu-element-contenu > a:visited > span > span, #menu .menu-element .menu-element-contenu > span > span {font-size: 14px;}
}

@media all and (max-width:810px) {
			
	/* Bandeau */	
	.noscroll #bandeau-haut,
	.noscroll #bandeau-contact #logo,
	.noscroll #bandeau-contact #bandeau-elements  {display:none; }
		
	#bandeau.sm #bandeau-contact #logo {display:none; }
	#bandeau.sm #bandeau-conteneur {height:auto; }
			
	#bandeau.sm #bandeau-mobile {height: 28px; width: 25px; left: 5px; top: 0px; padding: 3px 5px; }
		
	#bandeau.sm {background:#fff;}
	/* Si telephone et mail restent dans le bandeau en sm */
	#bandeau.sm #bandeau-contact {	position: absolute; right: 0; top: 0; width: calc(100% - 50px); height: 35px; z-index: 400; }
	#bandeau.sm #bandeau-contact #logo {display:none; }
	#bandeau.sm #bandeau-elements {position: absolute; top: 0px; right: 10px; z-index: 200; height: 35px; margin: 0;}
	#bandeau.sm #bandeau-elements .bandeau-element a, 
	#bandeau.sm #bandeau-elements .bandeau-element a:visited {padding: 5px 16px;}

	.lg { height: 100px; }
	.sm { height: 35px; border:none; }
		
	#bandeau {background: #fff;}
	#bandeau-contact {opacity:1;  -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; transition: all 400ms ease-in-out; }
	#bandeau-contact > .global {display:block; padding: 0 5px;}
	
	#bandeau-logo { height:auto;}
	#bandeau #logo {float:none; padding:10px 0 0; margin:0 auto; width: 185px;}
	#bandeau #logo a img {height:auto; width:100%; margin: 0 auto; }
	#bandeau-elements {height: 45px; margin-top: 10px;}

		/* bas */
	/* Menu mobile */
	#bandeau-mobile {min-width: inherit; width: 85px; height: 30px; padding: 5px; margin: 0px; position: absolute; left: 5px; bottom: 2px; z-index: 99999; cursor: pointer; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
	#bandeau-mobile.open {left: 10px; top: 0; bottom:unset; }
	#bandeau-mobile.open span,
	#bandeau.sm #bandeau-mobile span {display:none; }
	#bandeau-mobile span {color: #205e70; text-transform: uppercase; font-size: 17px; font-weight: 500; }
	#bandeau-mobile .hamburger {position: relative; display: inline-block; width: 24px; height: 1px; color: #205e70; font: bold 14px/.4 Helvetica; text-transform: uppercase; text-indent: -55px; background: #205e70; -webkit-transition: all .2s ease-out; -moz-transition: all .2s ease-out; -o-transition: all .2s ease-out; transition: all .2s ease-out; }
	#bandeau-mobile .hamburger::before, 
	#bandeau-mobile .hamburger::after { content: ''; width: 24px; height: 1px; background: #205e70; position: absolute; left: 0; -webkit-transition: all .2s ease-out; -moz-transition: all .2s ease-out; -o-transition: all .2s ease-out; transition: all .2s ease-out; }
	#bandeau-mobile .hamburger::before { top: -9px; }
	#bandeau-mobile .hamburger::after { bottom: -9px; }
	#bandeau-mobile .hamburger.active { background: #fff; left: 0px; }
	#bandeau-mobile .hamburger.active::before {background: #205e70; top: 0; -webkit-transform: rotateZ(45deg); -moz-transform: rotateZ(45deg); -ms-transform: rotateZ(45deg); -o-transform: rotateZ(45deg); transform: rotateZ(45deg); }
	#bandeau-mobile .hamburger.active::after {background: #205e70; bottom: 0; -webkit-transform: rotateZ(-45deg); -moz-transform: rotateZ(-45deg); -ms-transform: rotateZ(-45deg); -o-transform: rotateZ(-45deg); transform: rotateZ(-45deg); }	
	#bandeau:not(.sm) #menu-conteneur,
	#bandeau #menu-conteneur { padding: 0; position: fixed; z-index: 9999; top: 0; left: 0; height: 100% !important; width: 80%; width: calc(100% - 45px); background: #fff; -webkit-transition: transform 0.5s; -khtml-transition: transform 0.5s; -moz-transition: transform 0.5s; -ms-transition: transform 0.5s; -o-transition: transform 0.5s; transition: transform 0.5s; -webkit-transform: translateX(-100%); -khtml-transform: translateX(-100%); -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); overflow: hidden; }
	#bandeau #menu-conteneur.open {display: block; -webkit-transform: translateX(0%); -khtml-transform: translateX(0%); -moz-transform: translateX(0%); -ms-transform: translateX(0%); -o-transform: translateX(0%); transform: translateX(0%); }
	
	#bandeau #menu-wrapper {padding: 0 10px 10px; overflow-y: scroll; margin-top: 40px; height:calc(100% - 50px); }	
	#menu > .global {padding: 30px 10px 0; display:block; width:100%;  box-sizing: border-box;}
	#menu > .global > div {display:block; width:100%;}
	#menu > .global #barre-menu {display:none;}
	#menu .menu-element,
	#menu .menu-element.menu-grand {height:auto !important; margin:10px 0px 0 !important; display:block; padding:0 0 10px 5px; border-bottom:1px solid #edecec; }
	
	#menu .menu-element .menu-element-contenu {display:-webkit-box;display:-ms-flexbox;display:flex; -webkit-box-pack:start; -ms-flex-pack:start; justify-content:flex-start; -webkit-box-align:center; -ms-flex-align:center; align-items:center;}
	#menu .menu-element .menu-element-contenu > i { cursor:pointer; display: block; color: #205e70; font-size: 22px;  margin-left: 20px; }
	
	#menu .menu-element .menu-element-contenu > a > span > span,
	#menu .menu-element .menu-element-contenu > a:visited > span > span,
	#menu .menu-element .menu-element-contenu > span > span,
	#menu .menu-element.menu-grand .menu-element-contenu > a > span > span, 
	#menu .menu-element.menu-grand .menu-element-contenu > span > span {padding:5px; text-align:left; color:#222222; border:none; font-size:16px; }
	#menu .menu-element br {display:none; }
	
	#menu .menu-element .menu-element-contenu > a > span > span::after,
	#menu .menu-element .menu-element-contenu > span > span::after,
	#menu .menu-element.selected .menu-element-contenu > a > span > span::after,
	#menu .menu-element.selected .menu-element-contenu > span > span::after,
	#menu .menu-element:hover .menu-element-contenu > a > span > span::after,
	#menu .menu-element:hover .menu-element-contenu > span > span::after {display:none !important; }	
	
	#menu .menu-element.selected .menu-element-contenu > a > span,
	#menu .menu-element.selected .menu-element-contenu > span {font-weight:500; }
	#menu .menu-element.selected .menu-element-contenu > a > span > span,
	#menu .menu-element.selected .menu-element-contenu > span > span {color:#205e70; }
		
	#menu .menu-element:hover .smenu-conteneur { -webkit-animation-play-state:paused; -moz-animation-play-state:paused; animation-play-state:paused; }
	
	#menu .smenu-conteneur {margin-top:6px; width:100%; padding:0; visibility: visible; opacity: 1; position:relative; left:0 !important; top:0 !important; background:none; min-height: 0; display:none;}
	#menu .smenu-centre {border:none; margin:0; width:auto; }
	#menu .ssmenu-conteneur-images {display:none !important; }
	#menu .smenu-centre-menus {float:none; width:auto; border-radius: 0; padding:0 ; }
	#menu .smenu-conteneur .smenu-element{display:block; width:auto; }
	#menu .smenu-element > a > span, 
	#menu .smenu-element > span {color:#205e70; font-size: 15px;padding: 5px 10px; min-height: 0;    text-align: left;  -webkit-box-pack: start;  -ms-flex-pack: start;  justify-content: flex-start;}
	#menu .smenu-element > a, #menu .smenu-element > a:hover {text-decoration:none; }
	#menu .smenu-element > a > span::after, #menu .smenu-element > span::after {transition:none; color:#fff; }
	
	#menu .smenu-element.selected > a > span,
	#menu .smenu-element:hover > a > span,
	#menu .smenu-element.selected > span,
	#menu .smenu-element:hover > span {background:#205e70; color:#fff; }
	
	#menu .ssmenu-element > a > span,
	#menu .ssmenu-element > span {padding:5px 0 10px 20px; }	
}

@media all and (max-width: 700px) {	
	#bandeau-elements .bandeau-element a, 
	#bandeau-elements .bandeau-element a:visited {  font-size: 13px; padding: 7px 15px;}

}
@media all and (max-width: 625px) {
	#bandeau-haut .global {padding:0;}
}

@media all and (max-width:435px) {	
	
	/** SI BORDER AUTOUR DE L'ENVELOPPE ET PAS DE TEXTE POUR LE MAIL */	
	#bandeau-telephone { margin:0; }
	#bandeau-telephone i {display:none; }
	#bandeau-telephone span, #bandeau-telephone a, #bandeau-telephone a:visited {font-size: 14px; }
	#bandeau-email {width: 32px; }
	#bandeau #bandeau-email a {padding: 0 5px; width: calc(100% - 10px); }
}

@media all and (max-width:385px) {	
	#bandeau-mobile {left: 5px; width: 80px; }
	#bandeau-mobile span {font-size: 15px; }
}