* { -o-box-sizing: border-box; box-sizing: border-box; }
body{ overflow-x: hidden;  position: relative;  }

#ismobile{ display:none;}

@media screen and (max-width:1000px){
	#ismobile{ display: block;}	
}


/*=============================================================*/
/*===== GENERIC ===============================================*/
/*=============================================================*/

main{ position: relative; z-index: 1;}

iframe{ display: block; }
strong{ font-weight: bold; }
figure{ display: block; margin: 0;}
a{ color: inherit; }
a:hover{ text-decoration-color:inherit;}
p:empty{ display: none;}

svg{ display: block; max-width: 100%; height: auto; }

sup{ font-size: 0.55em;}

/*=============================================================*/
/*===== HEADER ================================================*/
/*=============================================================*/


#logo{ display: none;}

#header{ pointer-events: none; position: fixed; top: 0; left:0; right: 0;  z-index:1000; }

#header nav{transition: height 0.6s cubic-bezier(0.25, 1, 0.5, 1); display: flex;max-width: 860px; height:260px; margin: auto; }
#header.fixed nav{ height: 200px;}

#mainmenu{ position: relative;width: 100%; list-style: none;  padding:0; margin:auto;  display: flex; align-items: center; justify-content:center; gap:30px; }
#mainmenu:before{ box-shadow:0 0 40px rgba(0,0,0,0.3);  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); content: ""; position: absolute; z-index:-1; bottom:200px; left:50%; width:200vw; transform: translateX(-50%); background:rgba(54, 80, 154,0.95); height:600px; }
#mainmenu:after{ transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1); content: ""; position: absolute; z-index: 10; top: 100%; left: 0; width: 100%; background: #ffffff; height: 5px;}

#header.fixed #mainmenu:before{ bottom:0; }
#header.fixed #mainmenu:after{ width:120vw; left:50%; transform: translateX(-50%); }


#mainmenu>*:nth-child(2),#mainmenu>*:nth-child(3){ order:1; }
#mainmenu>*:nth-child(4),#mainmenu>*:nth-child(5){ order:3; }

#mainmenu a{ color: #ffffff; text-decoration: none; pointer-events: auto; display: block; position: relative; padding:10px 15px; font-family: var(--wp--preset--font-family--titre); font-size:20px;}


#mainmenu .logo{transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1); order:2; z-index: 50; width:180px; position: relative; }
#mainmenu .logo>a{ padding:0;  position: absolute; width: 100%; top: 50%; transform: translateY(-50%); left: 0; }

#mainmenu .logo svg.shadow{ position: absolute; top:3px; left:3px; filter: blur(5px); z-index: -1; opacity: 0.3; }


#header.fixed #mainmenu .logo{ width: 140px;}


#mainmenu>li:not(.logo)>a{ perspective:300px;}
#mainmenu>li:not(.logo)>a:before{ content: ""; z-index: -1; transform: rotateX(40deg); position: absolute; top:-5px; left:0; right:0; height:calc(100% + 12px); background:#2b428b; }


#mainmenu>li a:hover{ color:var(--wp--preset--color--blue); }
#mainmenu>li a:hover:before{ background:#ffffff;  }

#mainmenu>li.active a{ color:var(--wp--preset--color--blue); }
#mainmenu>li.active a:before{ background:#ffffff !important; }


#showmenu{ display: none; }

@media screen and (max-width:1000px){
	
	#logo{ display:block; margin:10px auto; width:150px; position: relative; z-index: 1000;}
	#logo>img{ display:block; width:100%; height:auto; position: relative; z-index: 2; }
	#logo>img:nth-child(2){ z-index:1; position: absolute; top: 5px; filter:blur(5px); opacity:0.3; }


	#header{ pointer-events: auto; z-index: 1000; }
	
	#header:before{ box-shadow:0 0 40px rgba(0,0,0,0.3);  content: ""; position: absolute; z-index:-1; top:40px; left:0; width:100%; height:90px; background:var(--wp--preset--color--blue);}
	#header:after{ content: ""; position: absolute; z-index:-2; top:0; left:0; width:100%; height:40px; background:var(--wp--preset--color--white); }

	
	
	#header nav{ transition:all 0.3s linear;  opacity:0; pointer-events: none;  position: fixed; top:130px; left:0; right:0; padding: 50px; height:auto !important; background:rgba(43, 66, 139,0.95); backdrop-filter:blur(5px);  }
	#header nav.on{ opacity:1; pointer-events:auto;}
	
	#mainmenu{ flex-direction: column; gap:15px; }
	#mainmenu:before,#mainmenu:after{ content: none !important;}
	
	#mainmenu .logo{ display:none;}
	#mainmenu a{ font-size: 30px; pointer-events: inherit;}
	
	#mainmenu>li:not(.logo)>a:before{ background:rgba(255,255,255,0.1); }
	
	
	#showmenu{transition:all 0.3s ease-out; display: flex; width:60px; height:60px; align-self:center; position: absolute; top:50%; transform: translateY(-50%); right: 27px; }
	#showmenu div{ margin: auto; }
	#showmenu span{ transition: all 0.2s linear; display: block; width:34px; height:4px; background:var(--wp--preset--color--white);  }
	#showmenu span:not(:last-child){ margin-bottom:5px; }
	#showmenu span:nth-child(3){ margin-top:-9px; }
	#showmenu.on span:nth-child(1){ transform:scaleX(0);}
	#showmenu.on span:nth-child(2){ transform: rotate(45deg);}
	#showmenu.on span:nth-child(3){ transform: rotate(-45deg);}
	#showmenu.on span:nth-child(4){ transform:scaleX(0);}	
}


/*=============================================================*/
/*===== ARIANE ================================================*/
/*=============================================================*/
#ariane{ text-align: center; font-size: 0.9em;}

/*=============================================================*/
/*===== CONTENU ===============================================*/
/*=============================================================*/
main{ }



/*=============================================================*/
/*===== ACCUEIL ===============================================*/
/*=============================================================*/

body.home .mea{ margin-top:-11vw; position: relative; }
@media screen and (max-width:1000px){
	body.home section>.wp-block-cover:first-child{ padding-top: 200px !important; }
	body.home section>.wp-block-cover:first-child .wp-block-image.size-full img{ margin-top:20px; max-width: 140%; transform: translateX(-14%); }
}
/*=============================================================*/
/*===== INT ===================================================*/
/*=============================================================*/
@media screen and (max-width:1000px){
	body.int section>.wp-block-cover:first-child{ padding-top: 200px !important; padding-bottom:60px !important; }
	body.int:not(.page-id-79) section br{ display: none; }
	body .wp-block-columns.pieces{gap:20px; margin-top:20px !important; margin-bottom: 0; }
}
	
/*=============================================================*/
/*===== CF7 ===================================================*/
/*=============================================================*/
.wpcf7{ max-width:800px; margin-left: auto; margin-right: auto; }
.wpcf7 .cols{ display: flex; gap:var(--wp--preset--spacing--30);}
.wpcf7 .cols>*{ flex:1; position: relative;}
.wpcf7 br{ display: none;}
.wpcf7 p>label,.wpcf7 .label{ display:block; margin-bottom:15px;}
.wpcf7-form-control-wrap{ display:block; position: relative; }
.wpcf7-text, .wpcf7-textarea,.wpcf7-select{ outline: none; padding:12px; width: 100%; display: block; border-radius: 0; border:2px solid var(--wp--preset--color--black); }
.wpcf7-text:focus, .wpcf7-textarea:focus{background:var(--wp--preset--color--light-gray); }

.wpcf7-list-item:first-child{ margin-left: 0;}
.wpcf7-not-valid{ border-color:var(--wp--preset--color--black);  }
.wpcf7-not-valid-tip{ /*position: absolute; top:-20px; line-height:20px; right: 0;*/ text-align: center;font-size:var(--wp--preset--font-size--small);   }
.wpcf7-submit{cursor: pointer;display: block; padding:15px 20px; font-size: 1.1em; border: none; font-family:var(--wp--preset--font-family--titre); background: var(--wp--preset--color--black); color:var(--wp--preset--color--white); }
.wpcf7-form input[type=submit]:not(:disabled):hover{background:var(--wp--preset--color--black);}
.wpcf7-form input[type=submit]:disabled{ opacity: 0.5; filter:grayscale(1);}
@media screen and (max-width:1000px){
    .wpcf7 .cols{ flex-direction: column;}
	.wpcf7-list-item{ margin:0; display: block;}
	.wpcf7-submit{  margin: auto; }
}

/* ACCEPTANCE */
.wpcf7-acceptance{ display: block; margin:20px 0;  /*padding:20px; border:2px solid var(--wp--preset--color--light-gray);*/ }
.wpcf7-acceptance input[type="checkbox"]:not(:checked),.wpcf7-acceptance input[type="checkbox"]:checked{position: absolute; opacity: 0; pointer-events: none;}
.wpcf7-acceptance label{ cursor:pointer; }
.wpcf7-acceptance label>span{ font-size: 12px; text-align: left; position: relative; display: block; margin-left: 30px; width: calc(100% - 40px);}
.wpcf7-acceptance label>span:before{ border:1px solid #9da0a2;   position: absolute; content:"-"; display:block; left:-30px;  background:var(--wp--preset--color--white); color: var(--wp--preset--color--white); text-align: center; line-height:20px; font-size: 16px; width:20px;  }
.wpcf7-acceptance [type="checkbox"]:checked + span:before{content:"\2714"; color: var(--wp--preset--color--black);  }


.wpcf7 form.sent .wpcf7-response-output{ border:none !important; text-align: center; font-size: 1.2em; font-weight: 700;}

/*=============================================================*/
/*===== FOOTER ================================================*/
/*=============================================================*/
footer{ }


footer .bandeau{ background: url("../images/bandeau-footer.webp") center left no-repeat; background-size: cover;}


footer .wp-block-social-links .wp-block-social-link-label{ font-family:var(--wp--preset--font-family--titre); color: #ffffff; display: block; line-height:1;  font-size:20px !important; margin-left: 5px !important;}



footer .wp-block-column:nth-child(2),footer .wp-block-column:nth-child(3){ order:1; }
footer .logo{ order:2; width: 120px; flex:none !important; }
footer .wp-block-column:nth-child(4),footer .wp-block-column:nth-child(5){ order:3; }

@media screen and (max-width:1000px){
	
	footer .wp-block-columns{ gap:30px !important;}

	
	footer .bandeau{ background:none; margin-top: 180px; padding:0px 30px 30px 30px !important; }
	
	footer .bandeau .wp-block-columns{ margin:0 !important; }
	footer .bandeau .wp-block-column:first-child .wp-block-image{ position: absolute; left:0; width: 100%; bottom:calc(100% - 2px);background: url("../images/bandeau-footer.webp") center left no-repeat; background-size:cover; }
	footer .bandeau .wp-block-column:first-child .wp-block-image img{ display: block; width: 300px; margin: auto;}
	
	footer .bandeau .has-medium-font-size{ font-size: 1.4em !important;}
	
	footer .bandeau .wp-block-column:not(:first-child){ text-align: center; width: calc(50% - 15px) !important; flex:none !important; }
	footer .bandeau .wp-block-column:not(:first-child) svg{ margin: auto; }

	footer .bandeau .wp-block-social-links{ align-items: center;}
	
	footer>.wp-block-columns{  margin:0 !important; padding:30px !important; width: 100%;    }
	footer>.wp-block-columns br{ display: none;}
	footer .logo{ display: none;}
	
}

@media screen and (max-width:700px){
	/*footer>.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{ width:calc(50% - 15px) !important; flex:none !important; }*/

}
	
/*=============================================================*/
/*===== GUTENBERG =============================================*/
/*=============================================================*/
section>*,header>*,footer>*{ width:calc(100% - 60px);  max-width:var(--wp--style--global--content-size) !important; margin-left:auto; margin-right:auto; }
section>*.alignwide,footer>*.alignwide{ max-width:var(--wp--style--global--wide-size) !important; }
section>*.alignfull,footer>*.alignfull{ max-width:none !important; width: 100% !important; }
@media screen and (max-width:1000px){
	section>*,footer>*{ width:calc(100% - 40px); }
}

.wp-block-button__link{ text-decoration: underline; }
.wp-block-button__link:hover{ background:var(--wp--preset--color--black); color:var(--wp--preset--color--white); }
