/***************************************************************************************** general */

body{
  font-size: 14px !important;
}

img, .wp-block-post-featured-image{
  border-radius: 10px !important;
}

.wp-block-image{
  margin-block-start: 24px!important;
}

.no-border-radius > *{
  border-radius : 0 !important;
}

h1{
  margin: 0 !important;
  font-family: var(--wp--preset--font-family--body) !important;
}

h2, h3, h4, h5{
  margin-top: 40px !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  font-family: var(--wp--preset--font-family--body) !important;
}

p{
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 12px !important;
}

p:last-child{
  margin-bottom: 0 !important;
}

p.has-large-font-size{
  line-height: 1.1em !important;
  color: var(--wp--preset--color--contrast);
  margin-bottom: 12px !important;
}

mark{
  background: none !important;
}

footer{
  display: flex;
  align-items: center;
  margin-top: 24px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  width: 100vw !important;
  min-height: 80px !important;
  background: #FFF;
}

@media only screen and (max-width: 768px) {
  footer{
    padding: 24px !important;
    box-sizing: border-box !important;
  }
}

footer > * {
  padding: 0 !important;
}

footer .wp-block-group{
  width: 100%;  
}

footer .wp-block-group .wp-block-columns{
  margin-bottom: 0 !important;
}

footer .wp-block-group .wp-block-columns .wp-block-column{
  margin-bottom : 0 !important;
}

footer .wp-block-group .wp-block-columns .wp-block-column .wp-block-group{
  gap: 0 !important
}

footer .wp-block-group .wp-block-columns .wp-block-column .wp-block-group p{
  margin-bottom: 0 !important
}

main{
  min-height: calc(100vh - 216px) !important;
}

ul{
  list-style-type: circle !important;
}

li {
  margin: 10px 0;
}

/***************************************************************************************** Columns */

.wp-block-columns .wp-block-columns{
  margin-bottom: 0 !important;
  margin-block-start: 24px;
}

.wp-block-columns{
  gap: 24px !important;
  margin-bottom: 24px !important;
}

.wp-block-columns .wp-block-column *:first-child{
  margin-top: 0!important;
}

@media only screen and (max-width: 768px) {
  .wp-block-columns{
    margin-bottom: 0 !important;
  } 
}

/***************************************************************************************** containers */

.padded-group{
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
  padding-top: 100px;
  padding-bottom: 100px;
  margin-top: 0 !important;
}

.padded-group h2{
  margin-top: 0 !important;
}

.fit-container{
  width: 100%;
  height: 100%;
  
}

img.fit-container{
  object-fit: cover;
}

/***************************************************************************************** Blog posts (preview) */

.wp-block-post{
  background: #FFF !important;
  padding: 40px !important;
  box-sizing: border-box !important;
  border-radius: 10px;
  display: flex !important;
  flex-direction: column !important;
}

.wp-block-post *{
  margin-bottom: 0 !important;
}

.wp-block-post .wp-block-group{
  margin-top: 0 !important;
}

li.wp-block-post .wp-block-post-title{
  margin-top: 0 !important;
  padding: 10px 0;
  font-weight: bold;
}

li.wp-block-post .wp-block-post-title{
  font-size: 22px !important;
}

li.wp-block-post .wp-block-post-title:not(first-child){
  margin-top: 5px !important;
}

.wp-block-post-excerpt{
  margin-top: 0 !important;
}

.wp-block-post-excerpt__excerpt{
  max-height: 95px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: #595856 !important;
}

.wp-block-post-excerpt__more-link{
  float: right;
  margin-top: 24px;
}

.taxonomy-category a{
  background-color: #E5E5E5 !important;
  font-size: 9px !important;
  font-weight: bold !important;
  padding: 2px 5px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-right: 5px;
}

.taxonomy-category a:last-child{
  margin-right: 0 !important;
}

.wp-block-post-terms__separator{
  display: none;
}

.wp-block-post-featured-image{
  margin-bottom: 15px !important;  
}

/***************************************************************************************** Posts pages */ 

h1.wp-block-post-title{
    margin-bottom: 0 !important;
}

.wp-block-post-excerpt__excerpt {
  max-height: 95px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: #595856 !important;
}


/**************************************************************************************** Article principal (home) */

.article-important > ul > li .wp-block-post-title{
  font-size: 22px !important;
}

/***************************************************************************************** Menu */

ul.mega-sub-menu li{
  width: fit-content !important;
  padding-top: 0 !important;
}

ul.mega-sub-menu:not(first-child){
  padding-top: 10px !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1{

}

@media only screen and (max-width: 768px) {
  #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle.mega-menu-open + #mega-menu-max_mega_menu_1 {
      display: block;
      width: 100vw;
  }
  
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 0!important;
    width: 100% !important;
  }
  
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1[data-effect="fade_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu{
    padding: 25px 50px !important;
  }

  ul.mega-sub-menu > li.mega-menu-item{
    margin-top: 10px !important;
  }
  
  li.mega-menu-item-has-children > ul.mega-sub-menu > li.mega-menu-item{
    margin-top: 0 !important;
  }
  
  .right-align-on-mobile{
    text-align: right !important;
  }

}

/***************************************************************************************** Card display */

/* for groups */ 
.card{
  padding: 40px;
  box-sizing: border-box;
  background: #FFF;
  border-radius: 10px;
  margin-top: 24px;
}

.card h2:first-child{
  margin-top: 0 !important;
}

.card p{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* for columns */ 
.card-column{
  padding: 16px;
  box-sizing: border-box;
  border-radius: 10px;
}

/***************************************************************************************** Quotes display */

.wp-block-quote{
  padding: 40px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  border-radius: 10px !important;
}

.wp-block-quote:not(first-child){
  margin-top: 25px !important;
}

.wp-block-quote p{
    font-size: 16px !important;
    font-style: normal !important;
    font-family: var(--wp--preset--font-family--nunito) !important;
}

.wp-block-quote p:last-child{
  font-size: 14px !important;
  text-align: right;
}

.wp-block-quote p:first-child:before{
  content: "\f10d";
  font-family: var(--wp--preset--font-family--font-awesome-6-free) !important;
  display: inline-block;
  font-size: 2em;
  margin-right: 20px;
  position: relative;
  line-height: 0;
  font-weight: bold;
}

/***************************************************************************************** Alignements */

.middle-aligned{
  display: flex;
  align-items: center;
}

.bottom-aligned{
  display: flex;
  align-items: flex-end;
}

/***************************************************************************************** Paddings et margins */

.no-padding{
  padding: 0 !important;
}

.no-padded{
  padding: 0 !important;
}

.no-margin-top{
  margin-top: 0 !important;
}

.no-margin-bottom{
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}

p.no-margin-bottom.has-large-font-size{
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}

/***************************************************************************************** Sizes */

.fit-container{
  height: 100% !important;
} 

.full-height{
  display: flex;
  height: 100vh;
}

/************************************************************************************** Details (accordéons) */

.wp-block-details .card{
  margin-top: 16px !important;
}

summary:focus{
  outline-style: none !important
}

/***************************************************************************************** Button card */

.wp-block-buttons.button-card{
  height: 100% !important;
}

.wp-block-buttons.button-card .wp-block-button{
  width: 100%;
}

.wp-block-buttons.button-card .wp-block-button a{
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  padding: 40px;
  box-sizing: border-box;
  border-radius: 10px;
  transition: 0.5s;
}

.wp-block-buttons.button-card .wp-block-button a mark{
  font-family: var(--wp--preset--font-family--font-awesome-6-free) !important;
  font-weight: bold;
  font-family: var(--wp--preset--font-family--font-awesome-6-free) !important;
  font-weight: bold;
  font-size: var(--wp--preset--font-size--large) !important;
  margin-right: 16px;
}

.wp-block-buttons.button-card .wp-block-button a:hover{
  transition: 0.5s;
}

/**************************************************************************************** Buttons with icon */

.wp-element-button{
  display: flex;
  align-items: center;
}

.wp-element-button img{
  margin-right: 10px;
  height: 40px;
  width: auto !important;
}

/**************************************************************************************** Other */

.is-layout-grid{
  gap: 24px !important;
}

.is-layout-flex{
  gap: 1rem;
}

.flex-direction-row{
  flex-direction: row !important;
}

/**************************************************************************************** A supprimer ? */

.icon{
  display: block;
  font-size: 22px;
  color: #FAFAFA;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  text-align: center;
  line-height:40px;
  padding: 5px;
  box-sizing: border-box;
  margin: 0 0 15px 0 !important;
}

.wp-block-image.icon img{
  vertical-align: center !important;
  display: flex;
}

.blue{
  background: #A5C8E4 !important;
  color: #FAFAFA !important;
}

.black{
  background: #212121 !important;
  color: #FAFAFA !important;
}

.green{
background: #A9E8B2 !important;
color: #FAFAFA !important;
}

.wp-block-button:hover{
  opacity: 0.9;
}

/**************************************************************************************** Image et texte */

p:has(img){
  display: flex;
  flex-direction: row;
  align-items: center;
}

p > img {
  margin-right: 24px;
}

/**************************************************************************************** table */

.wp-block-table thead{
  border-bottom: none !important;
  font-family: var(--wp--preset--font-family--roboto) !important;
  text-transform: uppercase;
}

@media screen and (max-width: 600px){
  .wp-block-table{
    font-size: 12px;
  }
  
  .wp-block-table td, .wp-block-table th{
    padding: 0.2em !important;
  }
  .wp-block-table th{
    white-space: nowrap;
  }
}

/**************************************************************************************** block fichier */

.card:has(.wp-block-file) p{
  /* height: 64px; */
}

.wp-block-file{
  margin-top: 24px !important;
}

.wp-block-file a{
  background-color: var(--wp--preset--color--contrast);
  border-radius: .33rem;
  border-color: var(--wp--preset--color--contrast);
  border-width: 0;
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--nunito);
  font-size: 0.9em;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: inherit;
  padding-top: 0.6rem;
  padding-right: 1rem;
  padding-bottom: 0.6rem;
  padding-left: 1rem;
  text-decoration: none;
  text-transform: uppercase;
}