/* Globals */
:root {
  --cl-blanc: #ffffff;
  --cl-gris-clair : #f8f8f8;
  --cl-gris : #E5E7EB;
  --cl-gris-fonce : #2c2c2c;
  --cl-gris-sombre: #111827;
  --cl-noir: #000;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  line-height:1.2;
}

/* Gutenberg Styles */
.has-blanc-color {color: var(--cl-blanc);}
.has-gris-clair-color {color: var(--cl-gris-clair);}
.has-gris-color {color: var(--cl-gris);}
.has-gris-fonce-color {color: var(--cl-gris-fonce);}
.has-gris-sombre-color {color: var(--cl-gris-sombre);}
.has-noir-color {color: var(--cl-noir);}

.has-blanc-background-color{background-color: var(--cl-blanc);}
.has-gris-clair-background-color{background-color: var(--cl-gris-clair);}
.has-gris-background-color{background-color: var(--cl-gris);}
.has-gris-fonce-background-color{background-color: var(--cl-gris-fonce);}
.has-gris-sombre-background-color{background-color: var(--cl-gris-sombre);}
.has-noir-background-color{background-color: var(--cl-noir);}

.overflow-container{position:relative; width:100%; overflow:hidden;}

.alignfull, .alignwide{
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.hidden{display:none;}

p{margin-bottom:10px;}

/* Global */

:root figure.wp-block-pullquote{padding:0; border:none; text-align:left; margin:40px 0; font-size:125%; line-height:1.2; font-style:italic;}
:root figure.wp-block-pullquote p{letter-spacing:0.6px; line-height:1.2;}
:root figure.wp-block-pullquote p:first-of-type:before{content:"“"}
:root figure.wp-block-pullquote p:last-of-type:after{content:"”"}
.wp-block-pullquote cite{text-transform:inherit;}

.wp-block-advgb-button a.wp-block-advgb-button_link{padding:15px 40px; font-size:90%;}

.wp-block-columns{gap:1rem 6rem;}
.wp-block-columns.gap0{gap:0;}
.wp-block-columns.gap05{gap:0.5rem;}
.wp-block-columns.gap1{gap:1rem;}
.wp-block-columns .wp-block-columns{gap:2rem;}

.wp-block-column.is-vertically-aligned-stretch{display:flex; flex-direction:column; justify-content:space-between;}

.aligncenter{width:max-content; margin:0 auto;}

.small-pad{padding:20px !important;}

.big-pad.wp-block-cover, .big-pad.wp-block-group{padding:100px;}

.wp-block-group.has-background{padding:1.5rem;}

.w100{width:100%;}
.w100 iframe{width:100%;}

figure.wp-embed-aspect-16-9 iframe{aspect-ratio:16/9; height:auto !important;}

ul{padding-left:20px}
ul li{margin-bottom:10px;}

.container{width:1536px; max-width:100%; margin:0 auto; padding:0 1.5rem}
.wp-block-group.alignwide > .wp-block-group__inner-container{width:1536px; max-width:100%; margin:0 auto;}
.wp-block-group.alignwide:not(.has-background) > .wp-block-group__inner-container{padding:0 1.5rem}

h1, h2, h3, h4, h5, h6{font-family: "Poppins", sans-serif;}
h1{font-weight:300; font-size:450%;}
h2{font-weight:300; font-size:225%;}

p.has-small-font-size, li.has-small-font-size{font-size:87.5% !important;}
p.has-medium-font-size, li.has-medium-font-size, ul.has-medium-font-size li{font-size:112.5% !important;}
ul.has-medium-font-size{font-size:100% !important;}
p.has-large-font-size, li.has-large-font-size{font-size:125% !important;}
p.has-xlarge-font-size, li.has-xlarge-font-size{font-size:150% !important;}
p.has-xxlarge-font-size, li.has-xxlarge-font-size{font-size:225% !important;}

body{font-family:"Jost", sans-serif; font-size:16px;}

.wp-block-button__link{font-size:100%;}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background){background-color:var(--cl-noir); border:1px solid var(--cl-noir)}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):hover{background-color:var(--cl-blanc); color:var(--cl-noir);}
.wp-block-button__link.has-blanc-background-color:hover{background-color:transparent; color:var(--cl-blanc)}
.wp-block-button .wp-block-button__link.is-style-outline, .wp-block-button.is-style-outline > .wp-block-button__link{border:1px solid var(--cl-noir);}
.wp-block-button .wp-block-button__link.is-style-outline:hover, .wp-block-button.is-style-outline > .wp-block-button__link:hover{background-color:var(--cl-noir); color:var(--cl-blanc)}


/* Header */
header{position:fixed; top:0; left:0; width:100%; background-color:rgba(255,255,255,0.95); color:var(--cl-noir); z-index:10; padding:15px; backdrop-filter:blur(4px); box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;}
header .container{display:flex; justify-content:space-between; align-items:center;}
#menu_principal ul{display:flex; gap:2rem; list-style:none; padding:0}
#menu_principal ul li{margin:0;}
#menu_principal ul li a{position:relative; color:var(--cl-gris-fonce); text-decoration:none; font-size:87.5%; font-weight:500;}
#menu_principal ul li a:after{content:""; width:0; height:2px; background-color:var(--cl-noir); position:absolute; bottom:-2px; left:0; transition:0.3s width ease 0s;}
#menu_principal ul li a.hover-active:after, #menu_principal ul li a:hover:after{width:100%;}

#show_menu, .smart-icon-menu, .smart-icon-menu2{display:none;}

.logo-container{font-size:150%; font-weight:600; color:var(--cl-gris-fonce); text-decoration:none;}
.logo-container a, .logo-container a:visited, .logo-container a:hover{color:var(--cl-gris-fonce); text-decoration:none;}
.logo-container img{height:18px; width:auto;}

header .wp-block-button__link{padding:0.5rem 1.5rem; font-size:87.5%;}

p{font-size:100%;}

.myCarousel{position:relative; height:100dvh; display:flex; justify-content:center; align-items:center;}
.myCarousel:before{content:""; z-index:3; position:absolute; inset:0; background-color:rgba(0,0,0,0.5)}
.carousel-txt-container{position:relative; z-index:5; color:var(--cl-blanc)}
.carousel-img-container{position:absolute; inset:0;}
.carousel-img-container figure{position:absolute;inset:0;margin:0;transform:translateX(100%);transition:transform 0.8s ease-in-out; z-index:0;}
.carousel-img-container figure img{width:100%;height:100%;object-fit:cover;}
.carousel-img-container figure.loading{transform:translateX(0); z-index:2; transition:transform 0s ease-in-out;}
.carousel-img-container figure.active{transform:translateX(0); z-index:2;}
.carousel-img-container figure.prev{transform:translateX(-100%); z-index:1;}


.wp-block-group.small{width:72rem; max-width:100%; margin:0 auto; padding:0 1.5rem}
.wp-block-group.small .wp-block-group.has-background{padding:2rem;}

.wp-block-group.extra-small{width:48rem; max-width:100%; margin:0 auto; padding:0 1.5rem}


@media all and (max-width:1199px){
  header{padding:10px 0;}
  #menu_principal ul{gap:1rem;}
  #menu_principal li{font-size:90%;}
}


@media all and (max-width:991px){
  header .container > .wp-block-buttons{display:none;}

  .smart-icon-menu{display:flex; height:47px; width:47px; justify-content:center; align-items:center; color:var(--cl-noir);}
  #menu_principal{position:fixed; top:67px; right:-100vw; width:350px; max-width:100%; height:100dvh; overflow-x:scroll; transition:0.3s all ease 0s; background-color:var(--cl-blanc); display:flex; flex-direction:column; justify-content:space-between; z-index:1000; padding:15px;}
  #show_menu:checked + #menu_principal{right:0;}
  
  #menu_principal ul{flex-direction:column;}
  #menu_principal li{font-size:100%;}

  #menu_principal ul .wp-block-buttons.is-content-justification-center{justify-content:flex-start;}

}

@media all and (max-width:781px){

  h1{font-size:400%;}
  h2{font-size:200%;}

  p.has-large-font-size, li.has-large-font-size{font-size:125% !important;}
  p.has-xlarge-font-size, li.has-xlarge-font-size{font-size:150% !important;}
  p.has-xxlarge-font-size, li.has-xxlarge-font-size{font-size:225% !important;}
}


@media all and (max-width:600px){
  header{padding:0;}
  header .container{padding:0 15px;}

  #menu_principal{top:47px;}


  h1{font-size:250%;}
  h2{font-size:135%;}

  p.has-medium-font-size, li.has-medium-font-size, ul.has-medium-font-size li{font-size:105% !important;}
  p.has-large-font-size, li.has-large-font-size{font-size:110% !important;}
  p.has-xlarge-font-size, li.has-xlarge-font-size{font-size:115% !important;}
  p.has-xxlarge-font-size, li.has-xxlarge-font-size{font-size:135% !important;}

  .wp-block-spacer{max-height:40px;}
  
  .container, .wp-block-group.has-background, .wp-block-group.alignwide:not(.has-background) > .wp-block-group__inner-container{padding:15px;}

  .wp-block-group.small{padding:0;}
  .wp-block-group.small .wp-block-group.has-background{padding:15px;}

}