/*
Theme Name: Alcandre
Description: Theme enfant de Divi
Author: Sébastien Gentet
Author URI: https://www.alegoria.fr
Template: Divi
Version: 1.1
*/
#page-container{
	overflow:hidden;
}
#left-area ul, .comment-content ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul, body.et-pb-preview #main-content .container ul{
	padding:0 0 23px 2em;
}
ul>li {
	padding-left:5px;
}
.picto-correct::before {
    content: url(images/correct.png);
    display: block;
    float: left;
    margin-right: 10px;
    margin-top: 5px;
}

.nolink>a{
	pointer-events: none;
}
#et-main-area{
	overflow-x: hidden;
}



/*---------------------------------------------------
                                               SLIDER ACCUEIL
-----------------------------------------------------*/
#monSlider .et_pb_slide_description{
	position: absolute;
    top: 0;
    padding: 5vw 2vw;
}


/*---------------------------------------------------
                                               MENU ACCUEIL FOOTER
-----------------------------------------------------*/
#menu-menuprimary, #menu-menuprimary .fullwidth-menu-nav, #menu-menuprimary-en, #menu-menuprimary-en  .fullwidth-menu-nav, footer .menu-menuprimary nav.et-menu-nav{
	width:100vw;
	padding:0!important;
	z-index:10!important;
}
#menu-menuprimary ul, #menu-menuprimary-en ul, #menu-menuprimary .fullwidth-menu-nav ul, #menu-menuprimary-en .fullwidth-menu-nav ul, footer .menu-menuprimary .et-menu-nav ul{
	padding: 0 !important;
	display: flex;
	width: 100%;
	align-items: stretch;
}
#menu-menuprimary ul {
	width: 100%;
	padding: 0 !important;
	color: #fff;
	font-weight: bold;
	display: flex;
	align-items: center;
	}
#menu-menuprimary li, #menu-menuprimary-en li, #menu-menuprimary .fullwidth-menu-nav li, #menu-menuprimary-en .fullwidth-menu-nav li, footer .menu-menuprimary .et-menu-nav li{
	width:25%;
	text-align:center;
	padding: 0 !important;
	margin:0!important;
	color:#fff;
	font-weight: bold;
	display: flex;
	align-items: center;
}
ul#menu-menuprimary li.menu-item::before, ul#menu-menuprimary-en li.menu-item::before {
	display: none;
}
ul#menu-menuprimary li:nth-child(1), #menu-menuprimary .fullwidth-menu-nav li:nth-child(1), ul#menu-menuprimary-en li:nth-child(1), #menu-menuprimary-en .fullwidth-menu-nav li:nth-child(1), footer .menu-menuprimary .et-menu-nav li:nth-child(1){
	background-color: #1C3444;
}
ul#menu-menuprimary li:nth-child(2), #menu-menuprimary .fullwidth-menu-nav li:nth-child(2), ul#menu-menuprimary-en li:nth-child(2), #menu-menuprimary-en .fullwidth-menu-nav li:nth-child(2), footer .menu-menuprimary .et-menu-nav li:nth-child(2){
	background-color: #2D4A5E;
}
ul#menu-menuprimary li:nth-child(3), #menu-menuprimary .fullwidth-menu-nav li:nth-child(3), ul#menu-menuprimary-en li:nth-child(3), #menu-menuprimary-en .fullwidth-menu-nav li:nth-child(3), footer .menu-menuprimary .et-menu-nav li:nth-child(3){
	background-color: #4E7C97;
}
ul#menu-menuprimary li:nth-child(4), #menu-menuprimary .fullwidth-menu-nav li:nth-child(4), ul#menu-menuprimary-en li:nth-child(4), #menu-menuprimary-en .fullwidth-menu-nav li:nth-child(4), footer .menu-menuprimary .et-menu-nav li:nth-child(4){
	background-color: #7BB2D8;
}
ul#menu-menuprimary li:nth-child(5){
	background-color: #A2B0C1;
}
ul#menu-menuprimary li:nth-child(6){
	background-color: #F2F2F2;
}
ul#menu-menuprimary li:nth-child(6) a{
	color:#333 !important;
}

ul#menu-menuprimary li.current-menu-item:nth-child(6) a{
	color:#333;
}
ul#menu-menuprimary li.current-menu-item a, ul#menu-menuprimary-en li.current-menu-item a{
	text-decoration: underline;
}

ul#menu-menuprimary li>a, #menu-menuprimary .fullwidth-menu-nav li>a , ul#menu-menuprimary-en li>a, #menu-menuprimary-en .fullwidth-menu-nav li>a , footer .menu-menuprimary .et-menu-nav li>a{
    padding: 28px 0!important;
    color: #fff;
	display: block;
	width:100%;
	font-size: 14.5px;
	line-height:1.1em;
}
ul#menu-menuprimary li>a:hover, #menu-menuprimary .fullwidth-menu-nav li>a:hover, ul#menu-menuprimary-en li>a:hover, #menu-menuprimary-en .fullwidth-menu-nav li>a:hover, footer .menu-menuprimary .et-menu-nav li>a:hover{
    color: #333;
	background-color: #A1A1A1;
}
@media (max-width: 980px){
	.menu-menuprimary .et_pb_menu__menu{
		display:block;
	}
	.menu-menuprimary .et_mobile_nav_menu{
		display:none;
	}
	.menu-menuprimary .et-menu-nav li{
		width:100%;
	}
}
/*-------------Add description to Divi theme menu items----------------------*/
span.menu-item-description {
    display: block;
    color: #fff;
	opacity: 0.75;
    padding-top: 5px;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
	transition: all .4s ease-in-out;
}
ul#menu-menuprimary li:hover .menu-item-description {
    color: #333;
	transition: all .4s ease-in-out;

}




/*---------------------------------------------------
                                               MAIN MENU
-----------------------------------------------------*/

.nav li li {
    line-height: 1em;
}
/******************SUB MENU**************/
.et_pb_menu .et_pb_menu__menu>nav>ul ul{
	padding:0;
}
ul.sub-menu{
	min-width:430px;
}
.et-menu li li.menu-item-has-children>a:first-child:after {
    top: calc(50% - 7.5px);
	font-family: "Font Awesome 5 Free";
	content:"\f055";
	margin-right:-7px;
}
.et-menu .menu-item-has-children>a:first-child:after{
	
}

/*First Level*/
.et_pb_menu .et_pb_menu__menu>nav>ul>li>ul{
	top: calc(100%);
    right: 0!important;
	left:inherit!important;
}

ul.sub-menu li {
    width: 100%;
    padding: 4px 0 3px 0;
	/*border-bottom: 1px solid #7f7f7f;*/
}
ul.sub-menu li::before {
    width: 0%;
    content:"";
	position: absolute;
	top:0;
	left: 0;
	bottom:0;
	right:0;
	transition:all 0.4s;
	z-index:-1;
	background: #1E3049;
}
ul.sub-menu li:hover::before {
    width: 100%;
    content:"";
	position: absolute;
	top:0;
	left: 0;
	bottom:0;
	right:0;
	transition:all 0.2s;
	z-index:-1;
}
/*Next Level*/
.nav li.et-reverse-direction-nav li ul {
    left: auto;
    right: calc(100%);
}
.nav li li ul{
	top:-3px;
}
.et-menu li li a {
    width: 100%;
}
/*Backgrounds ul levels*/
.et_pb_menu_1_tb_header.et_pb_menu .nav li ul{
	background:inherit!important;
}
.et_pb_menu .et_pb_menu__menu>nav>ul>li>ul{
	background:red!important;
}
.et_pb_menu .et_pb_menu__menu>nav>ul>ul>ul{
	background:#2B2B2B;
}
.separateur_sous-onglet {
    border-top: 3px solid #7BB3D8;
}
.seconde_importance a{
	font-weight: normal!important;
	text-transform: none!important;
}

.et_mobile_menu .first-level > a {
background-color: transparent;
position: relative;
}
.et_mobile_menu .first-level > a:after {
font-family: 'ETmodules';
content: '\4c';
font-weight: normal;
position: absolute;
font-size: 16px;
top: 13px;
right: 10px;
}
.et_mobile_menu .first-level > .icon-switch:after{
content: '\4d';
}
.second-level {
display: none;
}
.reveal-items {
display: block;
}
.et_mobile_menu {
margin-top: 20px;
width: 230%;
margin-left: -65%;
}
/*---------------------------------------------------
                                               MENU PAGES
-----------------------------------------------------*/
.menupage ul li{
    border-width: 0px!important;
    border-radius: 0px;
    background-color: #4e7c97;
	margin-right:10px!important;
	margin-bottom:5px!important;
	transition:all 0.3s ease-in-out;
}
.menupage ul li:hover{
   background-color: #1f547f;
	box-shadow: 7px 6px 0px 0px rgba(0,0,0,0.12);;
	transition:all 0.3s ease-in-out;
}
.menupage ul li a{
	color: #ffffff!important;
	letter-spacing: 2px;
    font-size: 12px;
    font-weight: 800!important;
    text-transform: uppercase!important;
    padding:10px 20px!important;
}
.menupage ul li a:hover{
	color: #ffffff!important;
	opacity: 1!important;
}
@media (max-width: 980px){
	.menupage .et_pb_menu__menu{
		display:block;
	}
	.menupage .et_mobile_nav_menu{
		display:none;
	}
}
/*---------------------------------------------------
                                               TITLES
-----------------------------------------------------*/
.title-border-bottom-01 h1, .title-border-bottom-02 h1, .title-border-bottom-03 h1,.title-border-bottom-04 h1, .title-border-bottom-05 h1,
.title-border-bottom-01 h2, .title-border-bottom-02 h2, .title-border-bottom-03 h2,.title-border-bottom-04 h2, .title-border-bottom-05 h2,
.title-border-bottom-01 h3, .title-border-bottom-02 h3, .title-border-bottom-03 h3,.title-border-bottom-04 h3, .title-border-bottom-05 h3,
.title-border-bottom-01 h4, .title-border-bottom-02 h4, .title-border-bottom-03 h4,.title-border-bottom-04 h4, .title-border-bottom-05 h4{
	border-bottom: 5px solid #e0e0e0;
    position: relative;
    padding-bottom: 5px;
    display: inline-block;
	margin-bottom:12px; 
	margin-top: 0;
}
.title-border-bottom-01 h1::before, .title-border-bottom-02 h1::before, .title-border-bottom-03 h1::before, .title-border-bottom-04 h1::before, .title-border-bottom-05 h1::before,
.title-border-bottom-01 h2::before, .title-border-bottom-02 h2::before, .title-border-bottom-03 h2::before, .title-border-bottom-04 h2::before, .title-border-bottom-05 h2::before,
.title-border-bottom-01 h3::before, .title-border-bottom-02 h3::before, .title-border-bottom-03 h3::before, .title-border-bottom-04 h3::before, .title-border-bottom-05 h3::before,
.title-border-bottom-01 h4::before, .title-border-bottom-02 h4::before, .title-border-bottom-03 h4::before, .title-border-bottom-04 h4::before, .title-border-bottom-05 h4::before{
	content: "";
    position: absolute;
    width:40%;
    display: inline-block;
	bottom:-5px;
}

.title-border-bottom-01 h1::before, .title-border-bottom-01 h2::before, .title-border-bottom-01 h3::before, .title-border-bottom-01 h4::before{
	border-bottom: 5px solid #1C3444;
}
.title-border-bottom-02 h1::before, .title-border-bottom-02 h2::before, .title-border-bottom-02 h3::before, .title-border-bottom-02 h4::before{
	border-bottom: 5px solid #2D4A5E;
}
.title-border-bottom-03 h1::before, .title-border-bottom-03 h2::before, .title-border-bottom-03 h3::before, .title-border-bottom-03 h4::before{
	border-bottom: 5px solid #4E7C97;
}
.title-border-bottom-04 h1::before, .title-border-bottom-04 h2::before, .title-border-bottom-04 h3::before, .title-border-bottom-04 h4::before{
	border-bottom: 5px solid #ee800e;
}
.title-border-bottom-05 h1::before, .title-border-bottom-05 h2::before, .title-border-bottom-05 h3::before, .title-border-bottom-05 h4::before{
	border-bottom: 5px solid #a03030;
}

@media (max-width: 981px){
	.title-border-bottom-01 h1, .title-border-bottom-02 h1, .title-border-bottom-03 h1,.title-border-bottom-04 h1, .title-border-bottom-05 h1{
		text-transform:uppercase;
	}
	.title-border-bottom-01 h2, .title-border-bottom-02 h2, .title-border-bottom-03 h2,.title-border-bottom-04 h2, .title-border-bottom-05 h2{
	}
}

/*---------------------------------------------------
                                               PAGES HEADER
-----------------------------------------------------*/
.bannerpages{
	display: flex;
	height:70vh;
}

.bannerpages .et_pb_fullwidth_header_container{
	max-width: 100% !important;
	padding: 25px;
}

.bannerpages h1{
	margin:0;
}

.bannerpages .et_pb_fullwidth_header_container.left{
	display:block;
}

.banner-80vh{
	height:80vh;
}

@media (max-width: 981px){
	.banner-80vh{
		height:30vh;
	}
}

/*---------------------------------------------------
                                               PAGE QUI SOMMES-NOUS
-----------------------------------------------------*/
.who-we-are-first-page .et_pb_team_member_image{
	display: block;
    float: none;
    width: auto;
    margin: 0 auto;
    text-align: center;
    border-radius: 1000px;
    overflow: hidden;
    width: 200px;
    height: 200px;
	-webkit-box-shadow: 0px 0px 0px 5px  #333;
	-moz-box-shadow: 0px 0px 0px 5px  #333;
	box-shadow: 0px 0px 0px 5px  #333;
	 transition: all .35s;
}
.who-we-are-first-page .et_pb_team_member_image img{
	 -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
  	filter: grayscale(100%);
	 transition: all .35s;
}
.who-we-are-first-page:hover > .et_pb_team_member_image{
	-webkit-box-shadow: 0px 0px 0px 5px  #FF8900;
	-moz-box-shadow: 0px 0px 0px 5px  #FF8900;
	box-shadow: 0px 0px 0px 5px  #FF8900;
	 transition: all .35s;
}
.who-we-are-first-page:hover > .et_pb_team_member_image img{
	 -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
	 transition: all .35s;
}
.who-we-are-first-page:hover > .et_pb_team_member_description h4, .who-we-are-first-page:hover > .et_pb_team_member_description p{
	color:#4e7c97;
	 transition: all .35s;
}
.who-we-are-first-page .et_pb_team_member_description{
	margin-top:10px;
	border-top:#FF8900 0px solid;
}
.who-we-are-first-page .et_pb_team_member_description h4{
	padding-top:15px;
}

/* 
** CENTRER DU CONTENU VERTICALEMENT 
** Voir tuto : https://www.divi-community.fr/snippets-divi/centrer-du-contenu-verticalement
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}

.wpml-ls-menu-item .wpml-ls-flag {
    margin: 0 5px;
    width: 22px;
    height: 18px;
}
.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer{
	margin:0!important;
}
.wpml-ls-legacy-list-horizontal .wpml-ls-flag{
	width:auto!important;
	height:25px!important;
}


/*
 * ** MENU FLOTTANT
 * 
 * */
.menu-flottant {
    width:35em; /* Largeur des items du menu*/
    float: right; /* Je veux que le menu soit à droite*/
    position:fixed; /* Le menu est fixe à l'écran*/
    z-index:9999; /* Il sera au dessus de tous les éléments*/
    bottom: 10%; /* Il sera à 40% du bord supérieur de l'écran*/
    font-size: 1em; /* Taille de la police*/
    line-height: 3px; /* Hauteur de ligne du menu*/
    color: #fff; /* Couleur de la police*/
    font-weight:600; /* Mettre le texte en gras*/
    text-transform:uppercase; /* Mettre le texte en majuscule*/
    right: -31em; /* Décalage du menu sur la droite pour masquer le texte et ne laisser que les icônes de visibles*/
}
.menu-flottant ul {
    list-style: none; /* Le menu est une liste, mais je ne veux pas afficher les puces*/
    margin: 0; /* Choix des marges internes et externes*/
    padding: 0;
}
.menu-flottant ul li {
    display:block; /* Définition des items en tant que bloc*/
    background-color: #333; /* Couleur de fond*/
    height: 3.5em; /* Hauteur des items du menu*/
    padding: 1em 1.5em; /* Marges internes des items du menu*/
    position: relative; /* On leur attribut une position relative*/
    -webkit-transition: -webkit-transform 0.5s; /* Effet de déplacement au passage de la souris*/
    -moz-transition: -webkit-transform 0.5s; /* On le définit plusieurs fois pour assurer la compatibilité entre les navigateurs*/
	transition: transform .5s;
}
/*Couleurs de fond des items du menu*/
.menu-flottant ul li:nth-child(1) { 
	background-color: #ffaf01; /* 1er item du menu*/
} 
.menu-flottant ul li:nth-child(2) { 
	background-color: #7bb2d8; /* 2e item du menu*/
} 
.menu-flottant ul li:nth-child(3) { 
	background-color: #4e7c97; /* 3e item du menu*/
} 
.menu-flottant ul li:nth-child(4) { 
	background-color: #2d4a5e; /* 4e item du menu*/
} 
.menu-flottant ul li:nth-child(5) { 
	background-color: #2d4a7e; /* 5e item du menu*/
} 
/* Si vous en avez plus de 3, ajouteZ ici les mêmes lignes en remplaçant les chiffres et couleurs*/

/* Création de la transformation CSS qui permet d'afficher le menu au passage de la souris*/
.menu-flottant ul li:hover {
    -webkit-transform: translateX(-31em);
    transform: translateX(-31em);
}

/* Mise en forme des liens du menu*/
.menu-flottant ul li a {
    display:block; /* On les définit en tant que bloc*/
    color: #FFF; /* Couleur du texte*/
    text-decoration: none; /* On ne veut pas qu'ils soient soulignés par exemple*/
    position: absolute; /* On leur attribut une position absolue*/
    font-size:1em; /* Taille de la police*/
    line-height: 1.5em; /* Hauteur de ligne*/
    height:2em; /* Hauteur*/
    top:0; /* Positionnement*/
    bottom:0;
    right: 0.1em;
    margin:0 auto;
    padding:1em 1.5em;
}
  
/* Mise en forme des icônes du menu*/
  .menu-flottant ul li span {
    float: text-align center;  /* On les cale à gauche */
    line-height: 1.5em; /* Hauteur de ligne */
    height:0.5em;
    padding-bottom: 2em;
  }  



/* ==== Max Mega Menu : panneau mobile plein écran & scrollable ==== */
@media (max-width: 980px){
  /* Panneau mobile (MMM) : occuper l’écran, scroller dans le panneau */
  .mega-menu-wrap.mega-menu-mobile-open .mega-menu{
    position: fixed !important;
    top: 64px;               /* ajuste selon la hauteur réelle de ton header sur mobile (56–80px) */
    left: 0; right: 0;
    bottom: 0;
    height: calc(100vh - 64px);
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 99999;
  }

  /* Empêcher la page de scroller quand le menu est ouvert */
  body.mega-menu-open,
  body.mega-menu-mobile-open{
    overflow: hidden !important;
    height: 100vh;
  }
}

/* ==== Si (en plus) tu utilises encore le menu mobile Divi quelque part ==== */
@media (max-width: 980px){
  .mobile_nav.opened .et_mobile_menu{
    position: fixed !important;
    top: 64px;               /* même valeur que ci-dessus */
    left: 0; right: 0; bottom: 0;
    height: calc(100vh - 64px);
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 99999;
  }
}

/* Sécurité : le header doit passer au-dessus du contenu */
#main-header, #top-header { z-index: 100000 !important; }


