/* @package trait-union
 * https://sirup.org
 */
 :root {
     --b: #1a1a1a;
     --w: #fff;
     
     --maincolor:#1330f0;
     --secondcolor:#da1919;
     
 
    --border_width: 3px;

     --gap:1rem;
     
     --halfgap:calc(0.5 * var(--gap));
     --quartergap:calc(0.25 * var(--gap));
     --gap2x:calc(2 * var(--gap));
     --gap3x:calc(3 * var(--gap));
     --gap4x:calc(4 * var(--gap));
 
     --dur:.3s:
 
     --bouce: cubic-bezier(0.23, 1.4, 0.320, 1);
     --o_circ: cubic-bezier(0, 0.55, 0.45, 1);
     --io_quart:cubic-bezier(0.76, 0, 0.24, 1);
 }
 /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*! box sizing */    *,::after,::before{box-sizing:inherit}html{box-sizing:border-box}
/*! Accessibility */ .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#primary[tabindex="-1"]:focus{outline:0}
/*! Alignments */    .alignleft{float:left;margin-right:1.5em;margin-bottom:1.5em}.alignright{float:right;margin-left:1.5em;margin-bottom:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto;margin-bottom:1.5em}
/*! Captions */      .wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}
/*! Galleries */     .gallery{margin-bottom:1.5em;display:grid;grid-gap:1.5em}.gallery-item{display:inline-block;text-align:center;width:100%}.gallery-columns-2{grid-template-columns:repeat(2,1fr)}.gallery-columns-3{grid-template-columns:repeat(3,1fr)}.gallery-columns-4{grid-template-columns:repeat(4,1fr)}.gallery-columns-5{grid-template-columns:repeat(5,1fr)}.gallery-columns-6{grid-template-columns:repeat(6,1fr)}.gallery-columns-7{grid-template-columns:repeat(7,1fr)}.gallery-columns-8{grid-template-columns:repeat(8,1fr)}.gallery-columns-9{grid-template-columns:repeat(9,1fr)}.gallery-caption{display:block}
/*--------------------------------------------------------------*/

@font-face {
    font-family: 'Trait Union';
    src: url('../fonts/EuclidCircularA-Regular-WebS.woff2') format('woff2'),
        url('../fonts/EuclidCircularA-Regular-WebS.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trait Union';
    src: url('../fonts/EuclidCircularA-Semibold-WebS.woff2') format('woff2'),
        url('../fonts/EuclidCircularA-Semibold-WebS.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Trait Union';
    src: url('../fonts/traitunion-Italic.woff2') format('woff2'),
        url('../fonts/traitunion-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

.entry-content p,
.maxWidth1200{
    max-width: 1200px;
}

.maxWidth960{
    max-width: 960px;
}

::selection{color: var(--w);background: var(--maincolor)}
::-moz-selection{color: var(--w);background: var(--maincolor)}
html{
    margin: 0 !important;
}
 html,body{
    font-family: 'Trait Union',sans-serif;
    font-size: 1.13em;
    line-height: 1.3;
    margin: 0;
    height: 100%;
    color: var(--b);
 }

body{
    border-top: 8px solid var(--maincolor);
}
h1,h2,h3,h4,h5{
    color: var(--maincolor);
    /*text-transform: lowercase;*/
}

a:active,
a:visited{
    color: var(--maincolor);
}

img{
    height: auto;
}

/* intro */

#intro{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  background: #fff;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}

#logoContainer{
    padding: 10%;
    position: relative;
    height: 100vh;
    width: 100%;
}
p.tagline{
    opacity: 0;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 16em;
    text-align: center;
    color: var(--maincolor);
    font-weight: bold;
    font-size: clamp(1.1em,2.5vw,2em);
}

#svg_logo path{
  transform-origin:50% 50%;
}
#svg_logo{
  display: block;
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
#t1,#r,#a,#i1,#t2,#d,#appostrophe,#u,#n1,#i2,#o,#n2,#point-i1,#point-i2{
  position: relative;
  z-index: 1;
  transform:translateY(-30%);
  opacity: 0;
}
#bouche,
#mask-bouche{
  position: relative;
  z-index: 0;
}


#intro .transition {
  overflow: hidden;
}
#intro .transition svg{
  width: 100vw;
  height: 200vh;
  object-fit:cover;
  position: relative;
}
#intro .transition svg path.mobile{
  display: none;
}
@media screen and (max-width:480px){
  #intro .transition svg path.mobile{
    display: block;
  }
  #intro .transition svg path:not(.mobile){
    display: none;
  }
}

.protected-post-form .btn{
    display: inline-block;
    font-weight: bold;
    border: 2px solid var(--maincolor);
    color: var(--maincolor);
    background: var(--w);
    border-radius :20px;
    padding: .5rem .8rem;
    margin-left: .3rem;
}

svg{
  margin: 0;
  padding: 0;
  line-height: 0;
}
.menu-toggle{
    display: none;
    border: none;
    cursor: pointer;
    position: fixed;
    z-index: 1000000;
    top: var(--halfgap);
    
    right: var(--halfgap);
    width: 65px;
    height: 65px;
    background: rgba(255,255,255,.85);
    /*display:grid;*/
    justify-content: center;
    align-content: center;
    text-align:center;
    border-radius: 4px;
    
}
.current-menu-item a{
    position: relative;
}
.current-menu-item a:after{
    content: '';
    width: var(--gap2x);
    height: var(--border_width);
    background: var(--maincolor);
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
}

.menu-toggle div{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.menu-toggle div span{
  position: absolute;
  top: 0;
  left: calc(50% - 20px);
  border-radius: 3px;
  width: 40px;
  height: 4px;
  background-color: var(--maincolor);
  transition: top 0.2s ease-in-out 0.4s, transform 0.4s ease-in-out, opacity 0.2s ease-in-out 0.2s, left 0.2s ease-in-out;
  -webkit-transition: top 0.2s ease-in-out 0.4s, transform 0.4s ease-in-out, opacity 0.2s ease-in-out 0.2s, left 0.2s ease-in-out;
}
.navOpen .menu-toggle div span{
    transition: top 0.2s ease-in-out, transform 0.4s ease-in-out 0.2s, opacity 0.1s ease-in-out 0.2s, left 0.4s ease-in-out;
    -webkit-transition: top 0.2s ease-in-out, transform 0.4s ease-in-out 0.2s, opacity 0.1s ease-in-out 0.2s, left 0.4s ease-in-out;
}

.menu-toggle div span:nth-child(1) {
  top: calc(50% - (12px + 2px))
}
.menu-toggle div span:nth-child(2),
.menu-toggle div span:nth-child(4) {
  top: calc(50% - 2px);
}
.menu-toggle div span:nth-child(3) {
  top: calc(50% + 10px)
}
.navOpen .menu-toggle{
    background: var(--maincolor);
}
.navOpen .menu-toggle span{
    background: var(--w);
}
.navOpen .menu-toggle div span:nth-child(3),
.navOpen .menu-toggle div span:nth-child(1) {
 transform-origin: center;
  transform: rotateY(90deg);
}
.navOpen .menu-toggle div span:nth-child(2) {
  transform: rotate(45deg);
}
.navOpen .menu-toggle div span:nth-child(4) {
  transform: rotate(-45deg);
}
header .site-branding>*{
    margin: 0;
}
header .site-branding{
    padding-top: var(--gap);
    color: var(--b);
}
header .site-branding strong{
    color: var(--maincolor);
}
header .site-branding .site-title svg{
    margin-left: -0.5rem;
}
a.logoPopup strong,
header .site-branding .site-title strong{
    display: none;
}

header .site-description{
    margin-top: var(--gap2x);
    padding-right: 0.3rem;
}


header.site-header{
    margin-left: var(--gap2x);
    margin-right: var(--gap2x);
    display: grid;
    align-items: start; 
    grid-gap: 5vw; 
    grid-template-columns: 340px 1fr;
    grid-template-columns: clamp(100px,28vw,340px) 1fr;
}
header.site-header#mastheadPopup{
    background: var(--maincolor);
    margin: 0;
    display: block;
    position: relative;
}
a.logoPopup{
    padding-left: var(--gap2x);
    padding-top: var(--gap);
    display: inline-block;
    width: 340px;
    margin-bottom: var(--halfgap);
}
.newsletter span.close,
header.site-header#mastheadPopup .close{
    position: absolute;
    top: var(--gap);
    right: var(--gap2x);
    width: 2em;
    height: 2em;
    
}
.newsletter span.close{
    right: 2px;
    width: 1.5em;
    height: 1.5em;
}
.newsletter span.close span,
header.site-header#mastheadPopup .close span{
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
}
.newsletter span.close span:last-child,
header.site-header#mastheadPopup .close span:last-child{
    transform: rotate(-45deg);
}
.newsletter span.close span{
    background: var(--maincolor);
}
header nav{
    
}
header .nav-menu{
    margin: 2.2rem 0 0 0;
    padding: 0;
    list-style:none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-end;
    align-content: flex-end;
    
}
header .nav-menu li{
    padding-left: .2em;
    padding-right: .2em;
}
header .nav-menu li.hidden{
    display: none;
}
header .nav-menu li a{
    font-size: clamp(0.9em,1.8vw,1.2em);
    font-weight: bold;
    text-decoration: none;
    color: var(--maincolor);
}

.news.wp-block-query ul.columns-3.is-layout-grid{
    gap:2.5em!important;
}
@media screen and (min-width: 769px){
    .news.wp-block-query ul.columns-3.is-layout-grid li{
        padding-right: 2rem;
    }
}
.news.wp-block-query h2.wp-block-post-title{
    font-size: 1.17em;
}
.news.wp-block-query h2.wp-block-post-title a{
    text-decoration: none;
}
.news.wp-block-query .wp-block-column.is-vertically-aligned-stretch{
    display: flex;
    flex-direction: column;
}
.news.wp-block-query .wp-block-column.is-vertically-aligned-stretch .wp-block-post-excerpt .wp-block-post-excerpt__excerpt,
.news.wp-block-query .wp-block-column.is-vertically-aligned-stretch .wp-block-post-excerpt{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.news.wp-block-query .wp-block-column.is-vertically-aligned-stretch .wp-block-post-excerpt .wp-block-post-excerpt__more-text a{
    color: var(--secondcolor);
    text-decoration: none;
}
@media (hover: hover) {
    .news.wp-block-query .wp-block-column.is-vertically-aligned-stretch .wp-block-post-excerpt .wp-block-post-excerpt__more-text a:hover{
        color: #fff;
        background: var(--secondcolor);
    }
}

.news.wp-block-query figure.wp-block-post-featured-image{
    margin-bottom: 0;
    border-radius: 1em;
    overflow: hidden;
}


body.single article.has-post-thumbnail{
    display: flex;
    flex-wrap: wrap;
    gap:2em;
}
body.single article.has-post-thumbnail .post-thumbnail{
    
    flex: 0 1 33%;
    max-width: 500px;  
}




body.single article.has-post-thumbnail .post-thumbnail img{
    max-width: 100%;
    border-radius: 1em;
}

.posted-on{
    color: #888;
}
body.single article.has-post-thumbnail .entry-content{
    
    flex: 1 0;
}
body.single article.has-post-thumbnail .entry-content p:first-child{
    margin-top: 0;
}

@media screen and (min-width: 769px){
    body.single.post header{
        position: relative;
    }
    body.single.post header .site-description h1{
        position: absolute;
        width: calc(100vw -  4 * var(--gap4x));
    }
    body.single article.has-post-thumbnail{
        margin-top: calc(4 * var(--gap3x));
    }
}
@media screen and (max-width: 769px){
  
    .wp-block-image img.wp-image-171{
        max-width: 3em;
    }
    body.single article.has-post-thumbnail .post-thumbnail{
        flex-basis: 100%;
    }
}

/*
// .wp-block-query-pagination{
//     display: grid!important;
//     grid-template-columns: 10em 1fr 10em;
//     grid-template-areas: "prev num next";
//     .wp-block-query-pagination-numbers{
//         grid-area: num;
//         display:flex;
//         flex-wrap:wrap;
//         gap: 0.5em;
//         justify-content: center;
//         .page-numbers{
//             padding: .2em 0.5em;
//         }
//         .page-numbers.current{
//             background: var(--wp--preset--color--green);

//         }
//     }
//     .wp-block-query-pagination-previous{
//         grid-area: prev;
//     }
//     .wp-block-query-pagination-next{
//         grid-area: next;
//         text-align: right;
//     }
//     @media screen and (max-width:$mobileBreakpoint) {
//         grid-template-columns: repeat(2,1fr);
//         grid-template-areas: "prev next";
//         .wp-block-query-pagination-numbers{
//             display: none;
//         }
//     }
// }/* #> PAGINATION */
.nav-links{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-template-areas: "prev next";
    padding: var(--gap2x) 0;
    font-size: 1.17em;
    font-weight: bold;
}
.nav-links .nav-subtitle{
    display: inline-block;
    transform: translateY(.15em);
}
.nav-links svg{
    width: 1em;
    line-height: 1.2em;
}
.nav-links svg path{
    fill:var(--secondcolor)!important;
}
.nav-links>div a{
    text-decoration: none;
}
.nav-links .nav-next{
    grid-area: next;
    text-align: right;
}

/*----- */
#page {
    min-height:100vh; 
    display:flex; 
    flex-direction:column; 
}
#page main{
    padding-left: var(--gap2x);
    padding-right: var(--gap2x);
    flex-grow:1; 
}
section h1{
    font-size: clamp(0.9em,1.8vw,1.2em);
}
.flickity-viewport {
  transition: height 0.2s;
}
/* no circle */
.flickity-button {
  background: transparent;
}
/* big previous & next buttons */
button.flickity-prev-next-button {
  width: 30px;
  height: 30px;
  
}
button.flickity-prev-next-button:hover{
    background: none;
}
/* icon color */
svg.flickity-button-icon path {
  fill: var(--secondcolor);
}

/* hide disabled button */
.flickity-button:disabled {
  visibility: hidden;
}
.events.list h1{
    font-size: 1.5em;
}
.events.list button.flickity-prev-next-button{
    top: calc(120px + 30px);
    /*bottom: calc(-2 * var(--gap3x));*/
    right: auto;
}
.events.list button.flickity-prev-next-button.flickity-prev-next-button.previous{
    left: calc(-1 * var(--halfgap));
}
.events.list button.flickity-prev-next-button.flickity-prev-next-button.next{
    left: calc(30px);
}



.event{
    border-left: var(--border_width) solid var(--maincolor);
    padding: var(--halfgap);
    width: auto;
    max-width: 27%;
    min-width: 260px;
    margin-right: var(--gap2x);
    padding-bottom: var(--gap2x);
}
.event .hidden-dates-shown.dates time{
    display: inline-block;
}
.event .hidden-dates-shown.dates{
    max-width: 300px;
}
.event .has-hidden-dates.dates time:not(.hidden):nth-child(n+4){
    display: none;
}
.event .dates[data-count="2"]{

}
.events.list .dates:not(.has-hidden-dates) button,
#primaryPopup .dates button{
    display: none;
}
.events.list .dates.has-hidden-dates button{
    background: none;
    border-color: var(--maincolor);
    color: var(--maincolor);
}
.event>time,
.event .dates{
    font-size: 0.8em;
}
.event a{
    color: var(--secondcolor);
    text-decoration: none;
    padding: 0 0.3rem;
}
/*.event .dates[data-count="2"],*/
.event .dates[data-count="1"]{
    /*font-size: 1.1em;*/
}


.event h2{
    margin: 0;
    font-size: clamp(0.9em,1.8vw,1.1em);
    color: var(--maincolor);
}
.events.list h1{
    color: var(--maincolor);
}
.events.list{
    list-style:none;
    padding: var(--gap2x) 0;
}
.dates time:before,
.dates time{
    display: inline-block;
    margin-right: 0.2rem;
}
.dates time:before{
    content: '|';
    margin-right: 0.35rem;
}
.dates time:first-child:before{
    content: '';
    display: none;
}
.eventslistContainer{
    margin-top: var(--gap3x);
    font-size: 0.7em;
}
.eventslistContainer .events.list{
    margin-top: 0;
    padding-top: 0;
}
.eventslistContainer h2{
    line-height: 1.1;
    font-size: 1.3em;
}
.eventslistContainer h2 span{
    color: var(--b);
    display: block;

}

.eventslistContainer .events.list li{
    display: inline-block;
    margin-bottom: var(--gap2x);
}

time.hidden{
    display: none;
}





.filters button{
    color: var(--maincolor);
    display: inline-block;
    margin: var(--gap2x) clamp(var(--gap),1.8vw,3em) var(--gap2x) 0;
    background: none;
    border: none;
    cursor: pointer;
}
.filters button.active{
    cursor: default;
    border-bottom: var(--border_width) solid var(--maincolor);
}

.societesGrid .societe>div>img{
    filter: grayscale(100%);
}


.societesGrid .societe>div>div.fakeImg,
.societesGrid .societe>div>img{
    max-height:calc(100% - var(--halfgap))!important;
    width: auto;
    max-width: 100%;
    margin-bottom: var(--halfgap);

}

.societesGrid .societe .more_p a.more{
    color: var(--secondcolor);
    text-decoration: none;
    padding: 0 0.3rem;
}

.societesGrid .societe .more_p{
    display: block;
    margin: 0;
    /*position: absolute;*/
    bottom: 0;
    /*align-self: flex-end;*/
    margin-top: auto;
    justify-content: flex-end;
}
.borderLeft{
    border-left: var(--border_width) solid var(--maincolor);
    padding: var(--halfgap);
}
.societesGrid {
   
   width: calc(100% + var(--gap2x));
   margin: calc(-1 * var(--gap2x)) 0 var(--gap4x) calc(-1 * var(--gap2x));
  width: calc(100% + var(--gap2x));
 /*   grid-template-columns: repeat(4,1fr);
    */
}
.societesGrid:after{
    content: "";
  clear: both;
  display: table;
}
.societesGrid .societe{
    
     position: relative;
    float: left;
    width: calc(25% - var(--gap2x));
    /*margin: var(--gap2x) 0 0 var(--gap2x);*/
    margin: var(--gap) 0 var(--gap2x) var(--gap2x);
    aspect-ratio: 4 / 3;
    padding-left: var(--border_width);
    max-width: 415px;
    background: var(--w);
}

a.overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.sirup_ajax_popup{
    position: fixed;

    overflow-y: auto;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    background: #fff;
}
.societesGrid .societe:after {
  content: "";
  display: block;
  padding-bottom: 60%;
}
.societesGrid .societe>div{
    position: absolute;
    width: 100%;
  height: 100%;
    display: grid;
    grid-template-rows: clamp(60px,14vh,140px) 1fr;
    grid-gap: var(--halfgap); 
}
.societesGrid .societe>div img{
    max-height: 140px;
    width: auto;
}
.societesGrid .societe .borderLeft{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    position: relative;
    flex:1;
}

.societesGrid .societe .minidesc{
    line-height: 1.1;
    font-size: .9em;
}
.societesGrid .societe h2{
    font-size: clamp(0.9em,1.8vw,1.1em);
    margin: 0;
    line-height: 1.1;
}

.hide { /* You can play with the seconds to change the "animation" */
  animation: hide .5s ease 0s 1 normal forwards;
  transform-origin: center;
}
.show { /* You can play with the seconds to change the "animation" */
    animation: show .5s ease 0s 1 normal forwards;    
    transform-origin: center;
}

@keyframes hide {
  0%{
    opacity: 1;
    transform: scale(1) translateX(0%);        
  }
  100% {
    transform: scale(1) translateX(-100vw);        
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
  }
}
@keyframes show {
  0%{
    transform: scale(1) translateX(-100vw);     
    width: 0;
    height: 0;
    margin: 0;   
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1) translateX(0);    
  }
}


#matosPass input[type="password"]{
    border: 2px solid var(--maincolor);
    color: var(--maincolor);
}
#matosPass button[type="submit"]{
    border: 2px solid var(--maincolor);
    background: var(--maincolor);
    color: var(--w);
    cursor: pointer;
    font-size: 0.7em;
    padding: 0.28rem;
    position: relative;
    top: -2px;
    font-weight: bold;
}
/*.fakeline span:after,
.fakeline span:before{
    content: '';
    width: 40em;
    height: 1em;
    display: block;
}*/
.fakeline span{
    display: block;
    width: 3em;
    height: 1em;
    margin-bottom: 0.5rem;
    background: #ddd;
}
.fakeline span:nth-child(2){
    width: 6em;
    
}
.fakeline span:nth-child(3){
    width: 8em;
    height: .7em;
}
.fakeline span:nth-child(4){
    width: 2.5em;
    height: .7em;
}
.fakeline span:nth-child(5){
    
    height: .7em;
}
.fakeimg{
    position: relative;
    width: 150px;
    height: 150px;
    border: 1px solid #ddd;
    margin-bottom: .5em;
}
.societesGrid .fakeimg{
    border: none;
}
.fakeimg:before{
  content:'';
  width: 0;height: 0;
  position: absolute;
  top:0px;bottom:0;left:-15px;right:0;
  margin:auto auto;
  border-style: solid;
  border-width: 0 30px 45px 30px;
  border-color: transparent transparent #ddd transparent;
}

.fakeimg:after {
  content:'•';
  font-size:54px;
  padding-bottom:25px;
  color:#ddd;
  line-height:0;
  width: 0;height: 0;
  position: absolute;
  top:-10px;bottom:0;left:-15px;right:-50px;
  margin:auto auto;
  border-style: solid;
  border-width: 0 20px 30px 20px;
  border-color: transparent transparent #ddd transparent;
}

.icon-lock {
  width: 35px;
  height: 35px;
  position: absolute;
  overflow: hidden;
  right: 5px;
  bottom: 5px;
  
}

.icon-lock .lock-top-1 {
  width: 40%;
  height: 40%;
  position: absolute;
  left: 50%;
  margin-left: -20%;
  top: 14%;
  background-color: #ddd;
  border-radius: 40%;
}

.icon-lock .lock-top-2 {
  width: 24%;
  height: 40%;
  position: absolute;
  left: 50%;
  margin-left: -12%;
  top: 22%;
  background-color: #fff;
  border-radius: 25%;
}

.icon-lock .lock-body {
  width: 60%;
  height: 48%;
  position: absolute;
  left: 50%;
  margin-left: -30%;
  bottom: 11%;
  background-color: #ddd;
  border-radius: 15%;
}

.icon-lock .lock-hole {
  width: 16%;
  height: 16%;
  position: absolute;
  left: 50%;
  margin-left: -8%;
  top: 51%;
  border-radius: 100%;
  background-color: #fff;
}

.icon-lock .lock-hole:after {
  content: "";
  width: 43%;
  height: 78%;
  position: absolute;
  left: 50%;
  margin-left: -20%;
  top: 100%;
  background-color: inherit;
}

.list.listematos{
    list-style:none;
    padding: 0;
     display: grid;

  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  grid-template-rows: masonry; /* this will do the magic */
  grid-gap: var(--gap2x);
}
.list.listematos li{
   /* float: left;*/
    border-left: var(--border_width) solid var(--maincolor);
    padding: var(--gap);
    /*margin-right: var(--gap);*/
}



.list.listematos li .prix.gratuit{
    display: none;
}
.list.listematos li .nbr small,
.list.listematos li .provenance{
    color: #777;
}

.list.listematos li .prix,
.list.listematos li .provenance,
.list.listematos li .desc{
    font-size: 0.7em;
}

.list.listematos li h2{
    color: var(--maincolor);
    margin: 0;
    margin-bottom: 0.5rem;
    font-size: 1em;
}
.list.listematos li:last-child:after{
    content: "";
  clear: both;
  display: table;
}
.gal.hasSlider a img{

    display: block;
}


.gal.hasSlider .flickity-prev-next-button.previous{
    left: 25px;
    transform: translateX(-100%) translateY(-50%);
}
.gal.hasSlider .flickity-prev-next-button.next{
    right: 8px;
    transform: translateX(100%) translateY(-50%);
    
}

.gal.hasSlider a{
  display: block;
  width: 90%; /* full width */
  margin-right: 10px;
}

.sirup_ajax_popup main,
.single-evenements main,
.single-societes-corsier main{
    display:grid;
    justify-content: center;
    align-content: center;
    flex-grow: 1;
}
.sirup_ajax_popup main article h1,
.single-evenements main article h1,
.single-societes-corsier main article h1{
    margin-top: 0;
}
.sirup_ajax_popup main article,
.single-evenements main article,
.single-societes-corsier main article{
    max-width: 968px;
    padding: var(--gap2x);
    display: grid;
    grid-template-columns: 30% 1fr;
    grid-gap: var(--gap);
}
.sirup_ajax_popup main article>img,
.single-evenements main article>img,
.single-societes-corsier main article>img{
    max-width: 100%;
    height: auto;
    justify-self: end;

}
.sirup_ajax_popup,
.single-evenements,
.single-societes-corsier{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.single-evenements main .dates{
    margin-bottom: var(--gap2x);
}

.single-evenements main h1{
    margin-bottom: 0;
}



#contact{
    margin: var(--gap) 0;
    padding-left: 0.5rem;
    color: var(--maincolor);
}
#contact span.adresse,
#contact a.phone,
#contact span[id^='obf_'],
#contact span.title{
    display: block;
}

.entry-content p a,
#contact span[id^='obf_'] a,
#contact a.phone,
#contact a{
    color: var(--maincolor);
}

.frm_forms .frm_form_field{
    margin-bottom: var(--gap);
}
.frm_forms #field_ocfup1{
    display: block;
    width: 100%;
}
.newsletter h4{
    margin: 0;
}

.newsletter input[type="submit"],
.frm_forms .frm_submit button.frm_button_submit{
    background: var(--maincolor);
    color: var(--w);
    border-radius: 9999px;
    font-size: 1.125em;
    padding: calc(.367em + 2px) calc(.633em + 2px);
    text-transform: lowercase;
    font-weight: bold;
    transition: all .3s ease;
    cursor: pointer;
}
.newsletter input[type="submit"]{
    margin-top: var(--gap);
    font-size: 1em;
    border:2px solid var(--maincolor);
}
.newsletter input[type="email"],
.newsletter input[type="text"],
.frm_forms .frm_submit .frm_button_submit,
.frm_forms input[type="email"],
.frm_forms textarea,
.frm_forms input[type="text"]{
    border:2px solid var(--maincolor);
    border-radius: 8px;
    padding: 4px var(--halfgap);
}
.frm_forms fieldset{
    border: none;
}

a.website{
    color: var(--maincolor);
    display: inline-block;
    margin: var(--gap) 0;
}

.edit-link{
    position: fixed;
    bottom: 0;
    left: 0;
    background: #3498db;
    
    display: inline-block;
    padding: 0.4rem;
    z-index: 100;
}
.edit-link a{
    font-weight: bold;
    text-transform: lowercase;
    text-decoration: none;
    color: var(--w);
}

.wp-block-button__link{
    background: var(--maincolor);
}
.single main .wp-block-button__link,
.single .desc .wp-block-button__link{
    background: none;
    padding: 0;
    border-radius: 0;
    color: var(--maincolor);
    border-bottom :var(--border_width) solid var(--maincolor);
}

.single main .wp-block-button__link:hover,
.single .desc .wp-block-button__link:hover{
    color: var(--secondcolor);
    border-bottom-color: var(--secondcolor);
}


.site-footer{
    position: relative;
}
.site-footer .wp-block-group{
    padding: var(--gap) var(--gap2x);
}
.site-footer .wp-block-columns{
    margin-bottom: 0;
}
p#impressum{
    position: absolute;
    bottom: 0;
    right: 0;
    padding-right: var(--gap);
    font-size: 12px;
}
.site-footer [style="flex-basis:50px"] .wp-block-image{
    margin-bottom: 0;
}

.site-footer a,
p#impressum a{
    color: var(--w);
    font-weight: bold;
    text-decoration: none;
}
p#impressum a strong{
    text-decoration: underline;
}

.newsletter{
    position: absolute;
    z-index: 4;
    right: 0;
    top: calc(185px - var(--gap));
    max-width: 280px;
    padding-top: var(--gap);
    overflow: hidden;
}
.newsletter .wp-block-buttons{
    font-size: .7em;
}
.newsletter .wp-block-buttons .wp-block-button em{
    font-style: normal;
}
.newsletter .wp-block-buttons .wp-block-button:last-child{
    margin-right: var(--gap2x)
}
.newsletter .wp-block-buttons .wp-block-button{
        transform: rotate(8deg);
    }

.newsletter{
    
}
.newsletter .inf-form{
    position: absolute;
    top: -3rem;
    font-size: 0.9em;
    padding: var(--gap);
    margin-right: var(--gap);
    padding-bottom: var(--gap2x);
    opacity: 0;
    background: rgba(255,255,255,.85);
    transform: translateX(110%);
    transition: all .35s ease-out;
}
.newsletterOpen .inf-form{
    position: relative;
    opacity: 1;
    transform: translateX(0);
}
.newsletter .wp-block-buttons{
    transition: all .2s ease;
}
.newsletterOpen .newsletter .wp-block-buttons{
    opacity: 0;
    transform: translateY(100px);
}

body.contact main .entry-content .wp-block-column h2{
    margin-top: 0;
}
body.contact main .entry-content #frm_form_1_container{
    max-width: 580px;

}


@media screen and (max-width: 1400px){
    header .nav-menu li a{
        font-size: clamp(0.9em,1.3vw,1.2em);
    }
}
@media screen and (max-width: 1260px){
    .societesGrid .societe{
        width: calc(33.32% - var(--gap2x));
    }
    .societesGrid .societe p.minidesc{
        font-size: .7em;
    }
    header.site-header{
        grid-template-columns: 24% 1fr;
        grid-gap: var(--gap)
    }
    body.contact main .entry-content .wp-block-columns.maxWidth1200{
        display: block
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){
        margin-left: auto;
        margin-right: auto
    }

}
@media screen and (min-width: 769px) and (max-width: 960px){
      header.site-header{
        grid-template-columns: 1fr;
        grid-gap: var(--gap)
    }
    header.site-header ul.nav-menu{
        margin-top: 0em;
        margin-bottom: 2em; 
        justify-content: space-between;
    }
    header.site-header .site-description h1{
        margin: 0
    }
}
@media screen and (max-width: 960px){
    .societesGrid .societe{
        width: calc(50% - var(--gap2x));
    }
    .newsletter .wp-block-buttons .wp-block-button{
        transform: rotate(3deg);
    }
     


    .newsletter .wp-block-buttons .wp-block-button br,
    .newsletter .wp-block-buttons .wp-block-button em{
        display: none
    }
   
    .wp-block-spacer[style="height:100px"]{
        height: 50px!important
    }
}

@media screen and (max-width: 768px){
    :root {
     --gap:.5rem;
    }
    header.site-header{

        grid-template-columns: 1fr;
        grid-gap: 0;
    }
    header .site-branding{
        max-width: 100%;
    }
    header.site-header .site-title{
        max-width: calc(100% - 100px);
    }
    header .site-description{
        margin-top: 40px;
    }
    header .site-description h1{
        font-size: 1.8em;
        line-height: 1.14
    }
    .menu-toggle{
        display: grid;
        z-index: 35;
    }
     .newsletter{
        top: 20vw

    }
    .menu-main-container{
        z-index: 30;
        background: var(--maincolor);
        position: fixed;
        top: var(--halfgap);
        right: var(--halfgap);
        width: 65px;
        height: 65px;
        opacity: 0;
        overflow: hidden;
        border-radius: 4px;
        transition: all .12s ease-out .12s,top .12s ease-out 0s,height .12s ease-out 0s,opacity 0s linear .25s;
        /*min-height: 100vh;*/
    }
    .navOpen .menu-main-container{
        top: 0;
        right: 0;
        opacity: 1;
        width: 100vw;
        border-radius: 0;
        height: 100vh;
        max-height: 100vh;
        overflow: auto;
        transition: height .25s ease-out .12s,top .25s ease-out .12s,width .12s ease-out 0s,right .12s ease-out 0s;
        display:grid;
        justify-content: center;
        align-content: center;
        text-align:center;
    }
    header .nav-menu,
    header.site-header nav ul li a,
    header.site-header nav ul li{
        display: block;
        text-align: center
    }
    header .nav-menu{
        display:grid;
        justify-content: center;
        align-content: center;
        text-align:center;
    }
    header.site-header nav ul li a{
        color: var(--w);
        font-size: 1.2em;
        display: inline-block;
        padding: .3rem 0;

    }
    header.site-header nav ul li{
        opacity: 0;

        transform: translateY(30px);
        transition: all .0s ease-out 0s;
    }
    header .nav-menu li.hidden{
        display: block
    }
    .navOpen header.site-header nav ul li{
        opacity: 1;
        transform: translateX(0);
        transition: all .32s ease-out .3s;
    }
    .navOpen header.site-header nav ul li:nth-child(1){transition-delay: .3s;}
    .navOpen header.site-header nav ul li:nth-child(2){transition-delay: .4s;}
    .navOpen header.site-header nav ul li:nth-child(3){transition-delay: .5s;}
    .navOpen header.site-header nav ul li:nth-child(4){transition-delay: .6s;}
    .navOpen header.site-header nav ul li:nth-child(5){transition-delay: .7s;}
    .navOpen header.site-header nav ul li:nth-child(6){transition-delay: .8s;}
    .navOpen header.site-header nav ul li:nth-child(7){transition-delay: .9s;}
    .navOpen header.site-header nav ul li:nth-child(8){transition-delay: 1s;}
    .navOpen header.site-header nav ul li:nth-child(9){transition-delay: 1.1s;}
    a.logoPopup{
        min-width: 200px;
        width: 40%;
        max-width: 260px;
    }
    .sirup_ajax_popup{
        width: 100vw;
    }
    .sirup_ajax_popup main article,
    .single-societes-corsier main article{
        grid-template-columns: 1fr;
        
        padding: var(--gap);
        max-width: 100vw;
        width: 100vw;
        grid-template-rows: auto 1fr;
    }
    .sirup_ajax_popup main article>img,
    .single-societes-corsier main article>img{
        margin-left: auto;
        margin-right: auto;
        display: block;

    }
    .societesGrid .societe .fakeimg{
        width: 90px;
        height: 90px
    }
    .societesGrid .societe{
        width: 100%;
        float: none;
        margin: var(--gap2x) var(--gap);
        max-width: unset;
        aspect-ratio: initial;
    }    
    .societesGrid .societe:after{
        content: none;
        display: none;
    }
    .societesGrid .societe>div{
        position: static;
        grid-template-rows: 1fr;
        grid-template-columns: 100px 1fr;
        grid-gap: var(--gap);
        gap: var(--gap);
    }
    .site-footer .wp-block-image figure.aligncenter{
        margin-left: 0
    }
    div.wp-block-spacer[style="height:62px"]{
        height: var(--gap2x)!important;
    }
    header .site-branding .site-description{
        width: 100%;
        max-width: 100%;
    }

}


@media (any-hover: hover) {


    .site-description{
        position: relative;
        width: 25em;
        font-size: clamp(0.9em,1.8vw,1.2em);
    }
    .societesGrid .societe:hover>div>img{
    filter: grayscale(0%);
    }
    .event:hover a,
    .societesGrid .societe:hover a.more{
        display: inline-block;
        background: var(--secondcolor);
        color: var(--w);
    }
    button.flickity-prev-next-button:hover svg.flickity-button-icon path {
        fill: var(--maincolor);
    }
    article a:hover,
    .entry-content span[id^='obf_'] a:hover,
    .main-navigation .menu li a:hover{
        color: var(--secondcolor)
    }
    .site-footer #impressum a strong,
    .site-footer a.wp-block-button__link strong,
    .site-footer span[id^='obf_'] a{
        display: inline-block;
        position: relative
    }
    .current-menu-item a:hover{
        cursor: default;
    }
    .current-menu-item a:hover:after{
        background: var(--secondcolor);
        
    }
    
    .site-footer #impressum a:hover strong:after,
    .site-footer a.wp-block-button__link:hover strong:after,
    .site-footer span[id^='obf_'] a:hover:after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: var(--secondcolor)
    }
    .newsletter input[type="submit"]:hover,
    .frm_forms .frm_submit button.frm_button_submit:hover{
        background: var(--w);
        color: var(--maincolor);
    }
}

