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

#ismobile{ display:none;}

@media screen and (max-width:1150px){
	
	
	body{ padding-top:125px; }
	
	#ismobile{ display: block;}
}




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

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

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

sup{ font-size: 0.55em;}


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

#topbar{ margin-top:10px; }


#header{ position: sticky; z-index: 1000; top: 0; height:120px; pointer-events: none; }

body.admin-bar #header{ top:32px; }


#header>*{ transition:height 0.3s linear;  height: 100%; display: flex; align-items: center; background:linear-gradient(to right,#ffffff 20%,rgba(255,255,255,0.8) 60%); backdrop-filter: blur(10px); }
#header.fixed>*{ height:80px; box-shadow:0 0 30px rgba(0,0,0,0.15);  }

#header>*>nav{ display: flex; flex-direction: row; gap:20px; pointer-events: auto; align-items: flex-start;}

#logo{ width:250px; height:90px;  }
#logo img{transition:all 0.15s linear; display: block; width:inherit; height: auto; margin:0;  }
#header.fixed #logo{ width:150px; height:50px; }

#header ul{ list-style: none; margin:0;  }
#mainmenu{ flex:1; display: flex; justify-content: flex-end; flex-direction: row; gap:18px;  }
#mainmenu:not(:empty){ border-bottom:3px solid var(--wp--preset--color--brandcolor);}

#header.fixed #mainmenu{ border-color:transparent; }

#mainmenu>li{ position: relative; margin-bottom:-3px;  }
#mainmenu>li>a{ text-decoration: none; position: relative; text-transform: uppercase; padding:19px 10px; line-height: 1; display: block; }
#mainmenu>li:hover>a{ color:var(--wp--preset--color--black);}
#mainmenu>li.childs>a:after{ content:""; width: 12px; height: 8px; position: absolute; bottom:8px; left: 50%; transform: translateX(-50%); background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiA4IiB3aWR0aD0iMTIiIGhlaWdodD0iOCI+PHBhdGggZmlsbD0iIzg1ODU4NCIgZD0iTS41NCAyLjE1Yy0uMy0uMzMtLjMtLjg0IDAtMS4xNy4zMy0uMy44NC0uMyAxLjE3IDBMNiA1LjMgMTAuMjkuOThjLjMzLS4zLjg0LS4zIDEuMTcgMCAuMy4zMy4zLjg0IDAgMS4xN0w2LjU4IDcuMDNjLS4zMy4zLS44NC4zLTEuMTcgMHoiLz48L3N2Zz4=');  }

#mainmenu>li.active>a{ color:var(--wp--preset--color--brandcolor); font-weight:500; }

/*
.sub-menu{ box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px; padding:20px; display: flex; flex-direction: column; gap:0px; opacity:0; top:100%;  left:50%; transform: translateX(-50%); white-space: nowrap; position: absolute; pointer-events: none;background:#ffffff; }
.sub-menu>li:not(:first-child){ border-top:1px solid #f5f5f5;  }

*/
.sub-menu{ box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px; padding:10px; column-count: 2; grid-column-gap:10px; column-width: auto;  opacity:0; top:100%;  left:50%; transform: translateX(-50%); white-space: nowrap; position: absolute; pointer-events: none;background:#ffffff; }

#mainmenu>li.childs:hover>.sub-menu{ opacity:1; pointer-events: auto; }

.sub-menu>li{ padding:5px;  }


.sub-menu>li>a{ display: block; padding:5px 5px 5px 10px; font-size:0.95em; border-left:3px solid #cccccc;  }

.sub-menu>li>a:hover{ border-left-color:var(--wp--preset--color--brandcolor); color: #000000; }
.sub-menu>li.active>a{ color:var(--wp--preset--color--brandcolor); font-weight:500; text-decoration: none; border-left-color:var(--wp--preset--color--brandcolor); }



#showmenu{ display: none;}



/*=============================================================*/
/*===== CHILDS ================================================*/
/*=============================================================*/
#childs{ display: flex; flex-wrap: wrap; gap:50px; justify-content: center; margin-top: 30px; }
#childs>*{  max-width:360px; display: flex; flex-direction: column; gap:10px; }
#childs>*>*{ margin:0;}
#childs img{ display: block; aspect-ratio:16/9; width: 100%; height: auto; object-fit: cover; margin: 0; border-radius: 15px; }
#childs a{ font-weight: 600; color:var(--wp--preset--color--brandcolor) !important; font-size: 1.2em; }

/*=============================================================*/
/*===== CF7 ===================================================*/
/*=============================================================*/

.wpcf7{ max-width:600px !important; margin-left: auto; margin-right: auto; }
.wpcf7 .cols{ display: flex; gap:20px;}
.wpcf7 .cols>*{ flex:1; position: relative;}
.wpcf7 br{ display: none;}
.wpcf7 p{ margin-top: 0; margin-bottom:30px; }
.wpcf7 p>label,.wpcf7 .label{ display:block;}
.wpcf7-form-control-wrap{ display:block; position: relative; }
.wpcf7-text, .wpcf7-textarea,.wpcf7-select{ outline: none; padding:12px; width: 100%; display: block; border-radius:20px; border:2px solid var(--wp--preset--color--mid-gray); }
.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{ margin:auto;  cursor: pointer;display: block; padding:15px 20px; font-size: 1.1em; border-radius:999px; font-family:var(--wp--preset--font-family--contenu); background: none; border:2px solid var(--wp--preset--color--brandcolor); color:var(--wp--preset--color--brandcolor); }
.wpcf7-form input[type=submit]:not(:disabled):hover{background:var(--wp--preset--color--brandcolor); color: #ffffff;}
.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:0.9em; 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: left !important; padding:0 !important; margin:20px 0 0 0 !important;  }

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

footer .wp-block-columns{ justify-content:space-between !important; }

/*=============================================================*/
/*===== DIMENSIONS ============================================*/
/*=============================================================*/

header>*>*,#topbar>*,section>*{ width:calc(100% - 50px);  max-width:var(--wp--style--global--content-size) !important; margin-left:auto; margin-right:auto; }
header>*>*,#topbar>*,section>*.alignwide{ max-width:var(--wp--style--global--wide-size) !important; }
section>*.alignfull{ width: 100% !important; max-width:none !important; }

@media screen and (max-width:1150px){
    header>*{ width:calc(100% - 40px); }

}
