
/* @import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,200;0,500;0,800;1,200;1,500;1,800&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@200;400;700;800;900&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Jost&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora&display=swap');


:root {
    
    --font-sans : 'Jost', sans-serif;
    --font-sans-secondary : 'Jost', sans-serif;
    --font-serif : 'Lora', serif;

    --black-200:#020202;
    --black-300:#080808;
    --black-500:#0A0000;
    
    
    --grey-200:#7C7777;
    
    --grey-300: #A5A4A4;
    --grey-500: #AAA6A6;
    --grey-800: #E4E4E4;

    
    --red-500:#D32727;

    --blue-500: #53D2F5;

    

    --header-shadow : 0px 0px 13px 5px rgba(0,0,0,0.05);
    --default-font-size : 18px;
    --default-gap : 20px;
    
    --main-width-desktop:800px;
    --main-width-tablet:600px;
    --main-width-mobile:350px;
    --main-grid-columns-count : 12;
    --main-grid-columns-count-mobile : 8;
    --main-grid-columns-width-desktop : calc((var(--main-width-desktop) - var(--default-gap) * ( var(--main-grid-columns-count) - 1)) / var(--main-grid-columns-count));
    --main-grid-columns-width-tablet : calc((var(--main-width-tablet) - var(--default-gap) * ( var(--main-grid-columns-count) - 1)) / var(--main-grid-columns-count));
    --main-grid-columns-width-mobile : calc((var(--main-width-mobile) - var(--default-gap) * ( var(--main-grid-columns-count-mobile) - 1)) / var(--main-grid-columns-count-mobile));
    --main-width : var(--main-width-desktop);
    --categ-width : 87px;
    --categ-height : 46px;

    --fw-thin : 100;	
    --fw-extra-light : 200;	
    --fw-light : 300;	
    --fw-normal : 400;	
    --fw-medium : 500;	
    --fw-semi-bold : 600;	
    --fw-bold : 700;	
    --fw-extra-bold : 800;	
    --fw-black : 900;	
    --fw-extra-black : 950;

    --col-span : 1;
    --row-span : 1;


    --test:1000;--color-categ-focus:#D32727;--color-categ-en-ce-moment:#0256A3;--color-categ-emois:#53D2F5;--color-categ-au-large:#28AE94;--color-categ-en-chantier:#E36414;
}

/* shortcodes */
.categ {
    --categ-color : black;
}

.categ-label {
    color : var(--categ-color);
    text-transform: uppercase;
    font-family: var(--font-sans-secondary);
    font-weight: var(--fw-extra-bold);
    letter-spacing: 0.02em;
    margin-left: 3px;
}

.categ-color {
    color : var(--categ-color);
}

.categ-au-large { --categ-color : var(--color-categ-au-large); } 
.categ-emois { --categ-color : var(--color-categ-emois); } 
.categ-en-ce-moment { --categ-color : var(--color-categ-en-ce-moment); } 
.categ-en-chantier { --categ-color : var(--color-categ-en-chantier); } 
.categ-focus { --categ-color : var(--color-categ-focus); } 

html, body {
    margin : 0;
    width:100%;
    font-family : var(--font-serif);
    background : white;
    font-size: var(--default-font-size);
    color: var(--black-500);
    line-height: 1.2em;
}

h1,h2,h3,h4,h5 {
    font-family : var(--font-sans);
    color: var(--black-500);
    font-weight: bold;
    line-height: 1em;
    position: relative;
    padding: 0;
    margin: 0;
}

h1 {font-size: 2rem; margin: 1em 0;}
h2 {font-size: 1.5rem; margin-top: 50px;}
h3 {font-size: 1.5rem;}
h4 {font-weight: 1.2rem;}
h5 {font-size: 1rem;}

hr {
    border-top: 1px solid var(--grey-300);
    border-bottom: none;
    margin:0;
}

a {
    color: inherit;
    /* font-weight: bold; */
    text-decoration: none;
}

.section a {
    text-decoration: underline;
}

p {
    font-size: 1rem;
    line-height: 1.4em;
}

nav ul {
    padding:0;
}
nav ul > li {
    list-style: none; 
}

ol {
    list-style-position: inside;
    list-style: none;
    counter-reset: ol-counter;
    padding:0;
}

ol > li {
    counter-increment: ol-counter;
}

ol > li:before {
    content: counter(ol-counter) ". ";
    color: red;
    font-weight: bold;
}

.main {
    width : 100%;
    margin: 0px auto 0px auto;
    box-sizing: border-box;
}
.page {
    width:100%;
}

.section {
    position: relative;
    box-sizing: border-box;
}

.section p {
    line-height: 1.4em;
}

.section.bordered-top {
    border-top: 1px solid var(--grey-300);
    padding-top: var(--default-gap);
}
.fullwidth {
    width:100%;
    --p:calc((100% - var(--main-width))/2);
    padding-right: var(--p);
    padding-left: var(--p);
}

.mainwidth {
    width:var(--main-width);
    margin: auto;
}

.grid { 
    display : grid; 
    --col-count : 1;
    --col-width : 1fr;
    grid-template-columns: repeat(var(--col-count), var(--col-width)); 
    gap: var(--default-gap);
}


.test {
    background: red;
}


.border-before:before {
    content: '';
    display: block;
    --c1 : transparent;
    --c2 : var(--grey-300);
    background-image: linear-gradient(to right, var(--c1) 2px, var(--c2) 2px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    grid-column: 1 / span all;
    height: 1px;
    width: 100%;
    margin-bottom: var(--border-margin, var(--default-gap));
}


.border-after:after {
    content: '';
    display: block;
    background-image: linear-gradient(to right, transparent 2px, var(--grey-300) 2px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    grid-column: 1 / span all;
    height: 1px;
    width: 100%;
    margin-top: var(--border-margin, var(--default-gap));
}


.authors {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:50px 50px;
}


/*#region Main Header */

.header-shadow {
    box-shadow: var(--header-shadow);
}

.main-logo img{
    height: 60px;
}



.main-header {
    position: relative;
    display: grid;
    padding: 0px 35px 0px 35px;
    align-items: center;
    justify-items: flex-start;
    box-shadow: var(--header-shadow);
    overflow: hidden;
    /* grid-template-columns: 1fr auto auto; */
    /* grid-template-areas: 'logo menu search'; */
    grid-template-columns: 1fr auto;
    grid-template-areas: 'logo menu';
    margin-bottom: 20px;
    position: sticky;
    background-color: white;
    z-index: 10;
    gap:var(--default-gap);
    top:0;
    --p:calc((100% - var(--main-width))/2);
    padding-right: var(--p);
    padding-left: var(--p);
}

.page-header {
    grid-template-columns: auto calc(1rem * var(--font-size-correction) * 170) auto;
    grid-template-areas: 'menubt logo search';
    padding: 10px 35px;
    position: sticky;
    top: 0;
    background: white;
    z-index: 10;
}

.main-logo {
    grid-area: logo;
}

.main-nav-search-btn {
    grid-area: search;
}
.main-menu-header-btn {
    grid-area: menubt;
}
/*#endregion Main Header */

/*#region Main Nav */

.main-nav-container {
    
}

.front-nav-container {
    display: flex;
    position: sticky;
    z-index: 20;
    top:0px;
    background:white; 
    width: 100%;
    padding: 0px 0;
    grid-area: menu;
}

.front-nav-container .main-nav-search-btn {
    /* position: absolute;
    right: 38px;
    align-self: center; */
}

.page-nav-container {
    border-bottom: 1px solid var(--grey-800);
    margin-top: 14px;
}

#main-menu-bloc {
    position: relative;
}

#main-menu-btn {
    cursor: pointer;
    position: absolute;
    display: grid;
    grid-template-areas: 'a';
    transform-origin: center;
    transition: all 0.25s;
    align-items: center;
    z-index: 2;
    /* position: absolute;
    left:calc(var(--p) + var(--main-grid-columns-width-desktop) + var(--default-gap)); */
}

#main-menu-btn > *{
    grid-area: a;
 }

 #main-menu-btn .main-menu-btn-icon{
    position: relative;
    transition: all 0.25s;
    left:15px;
  }

#main-menu-btn[open]{
  transform: rotate(90deg);
}

#main-menu-btn[open] .main-menu-btn-icon{
    transform: rotate(-90deg);
  }

#main-menu-header-btn {
    width: 20px;
    height: 20px;
    background-image: url('./assets/images/main-menu-header-btn-open.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}

#main-menu-header-btn[open] {
    background-image: url('./assets/images/main-menu-header-btn-close.svg');
}

#main-menu-container {
    box-sizing: border-box;
    background-color: white;
    z-index: 1;
    transition: all 0.25s;
    pointer-events: none;

}

#main-menu-container:not([open]) {
    opacity: 0;
}

#main-menu-container[open] {
    opacity: 1;
    pointer-events: all;
}

#main-menu-container ul {
    display: flex;
    flex-direction: column;
    gap: var(--default-gap);
    margin: 0;
    align-items: center;

}

#main-menu-container ul > li {
    font-family: var(--font-sans-secondary);
    text-transform: uppercase;
    font-weight: var(--fw-extra-bold);
}

#main-menu-container li a:hover {
    color: var(--categ-color);
}

#main-menu-container .social-links {
    margin: 40px 0px 0px 0px;
    display: flex;
    align-items: center;
    gap:var(--default-gap);
}

#main-menu-container {
    /* 
    position:fixed;
    box-sizing: border-box;
    padding: 50px 0;
    top:80px;
    left:0;
    width: 100%;
    height: 100vh; */

    position:fixed;
    box-sizing: border-box;
    padding: 50px 25px 25px 25px;
    --menu-width : 220px;
    top:70px;
    left:20px;
    z-index: 1;
    width: var(--menu-width);
    height: auto;
    box-shadow: rgb(0 0 0 / 50%) 0px 10px 20px 0px;
}

#main-menu-container .main-menu-content {
    margin: auto;
    width: min-content;
    min-width: 200px;
    display: flex;
    justify-items: center;
    flex-direction: column;
    align-items: center;
}



.main-nav {
    grid-column: 1/-1;

    width: 100%;
}
.main-nav ul {
    padding-top : var(--default-gap);
    padding-bottom : var(--default-gap);
    gap : var(--default-gap);
    margin: 0px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.main-nav li {
    list-style: none;
    grid-column: span 3;
}

.main-nav li a {
    font-size: 0.75rem;
    font-weight: var(--fw-extra-bold);
    font-family: var(--font-sans-secondary);
    letter-spacing: 0.006em;
    color: var(--black-500);
    text-transform: uppercase;
}

.main-nav li a:hover {
    color: var(--categ-color);
    text-decoration: underline;
}


.main-nav li:nth-child(1) {
    grid-column: 2 / span 3;

}


/*#endregion Main Nav */

/*#region Article */


article {
    /* position: relative;
    background: rgb(240,240,240);
    height: 100%; */
}

article:hover .title,
article:active .title,
article .author:hover,
article .author:active,
.colored-hover:hover,
.colored-hover:active,
.colored-hover:hover:before,
.colored-hover:active:before
{
    color:var(--categ-color);
}

article .feature img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

article .title {
 margin : 1rem 0;
}

.social-links a img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}



/*#region Page Archive */

.page-archive {
 
}

.articles-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}


/*#endregion Page Archive */




/*#region Footer */

.main-footer {
    margin-top: 130px;
    color: white;
    background: black;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-content: center;
    padding-inline: 10px;
}

.footer-categs-container {
    display: flex;
    flex-wrap: nowrap;
    color: white;
    justify-content: space-evenly;
}

.footer-nav {
    display: flex;
    justify-content: flex-start;
    font-family: var(--font-sans-secondary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    gap : var(--default-gap);
}

.footer-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap:var(--default-gap);
    
    padding-bottom: var(--default-gap);
    padding-top: var(--default-gap);
}



.footer-block h3{
    font-family: var(--font-sans-secondary);
    font-size: calc(1rem * var(--font-size-correction) * 12);
    text-transform: uppercase;
    color: white;
    margin-bottom: 12px;

}

.footer-block p{
    margin:0;
    line-height: calc(1rem * var(--font-size-correction) * 20);
    font-size: calc(1rem * var(--font-size-correction) * 14);
    font-family: var(--font-sans-secondary);
    font-weight: var(--fw-medium);
}

.footer-block .footer-group {
    margin-bottom: 40px;
}

.logo-footer {
    filter: invert();
}

.footer-partenaires {
    display : flex;
    gap : var(--default-gap);
    flex-wrap: wrap;
    justify-content: center;
}

.footer-partenaires img {
    width: 150px;
}

.footer-mailing-link{
    display: flex;
    font-family: var(--font-sans-secondary);
    font-weight: var(--fw-light);
    align-items: center;
    justify-content: center;
    gap:5px;
    text-decoration: underline;
    font-size: 12px;
    margin-top: 50px;
}

.footer-mailing-link img {
    height: 1.5em;
    overflow: hidden;
    border-radius: 25%; 
}

/*#endregion Footer */



/*#region Search Form */
.main-nav-search-btn {
    /* position: absolute;
    right: 38px;
    top:10px; */
    width: 30px;
    cursor: pointer;
}

.main-nav-search-btn .search-icon{
    width: 100%;
}
   .main-search-form {
       position: fixed;
       inset: 0;
       z-index: 1000;
       background: rgba(5,5,5,0.5);
       display: none;
       justify-items: center;
       align-items: flex-start;
       padding-top: 200px;
   }
   
   .main-search-form h2 {
       font-size: calc(1rem * var(--font-size-correction) * 14);
       font-family: var(--font-serif);
       margin: 0px 0px 15px 0px;
   }
   
   .main-search-form .container{
       position: relative;
       width: 60%;
       background: white;
       padding: 60px 40px 80px 40px;
       display: grid;
       justify-items: center;
       align-items: center;
   
   }
   
   .main-search-form .search-field {
       border:1px var(--grey-800) solid;
       height: 70px;
       width:100%;
       max-width: 530px;
       font-size: calc(1rem * var(--font-size-correction) * 40);
       font-family: var(--font-sans-secondary);
       padding:20px;
   
   }
   
   .main-search-form .search-icon {
       position: absolute;
       top:28px;
       right:37px;
   }
   
   .main-search-form .search-field:focus {
       outline: none;
       background: var(--grey-800);
   
   }
   
   .main-search-form .search-field::placeholder {
       color: transparent;
   }
   
   .main-search-form .search-submit {
       display: none;
   }
   
   .main-search-form .screen-reader-text {
       display: none;
   } 
/*#endregion Search Form */


.wp-block-gallery {
    --img-height : 350px;
}

.wp-block-gallery:fullscreen {
    --img-height : 100vh;
}

.wp-block-gallery .fullscreen-btn {
    position: absolute;
    top:10px;
    right:10px;
    background-color: rgba(0,0,0,0.2);
    width: 20px;
    height: 20px;
    background-image: url(./assets/images/icon-enter-fullscreen.svg);
    background-position: center center;
    background-size: 10px 10px;
    background-repeat: no-repeat;
    transition: all 0.3s;
    cursor: pointer;
}

.wp-block-gallery:fullscreen .fullscreen-btn{
    background-image: url(./assets/images/icon-exit-fullscreen.svg);
}
.wp-block-gallery .fullscreen-btn:hover{
    background-color: rgba(0,0,0,0.5);
}

.blocks-gallery-grid {
    background-color: transparent;
    height: 100%;
    display: grid;
    grid: 100% / auto-flow 100% !important;
    gap: 1ch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior: contain;
    position: relative;
    /* touch-action: pan-x; */
}

.wp-block-gallery::before,
.wp-block-gallery::after
 {
    --s:20px;
    width:var(--s);
    height:var(--s);
    content: '';
    position: absolute;
    top: calc(var(--img-height) / 2 - var(--s) / 2);
    background-image: url(./assets/images/icon-galerie-arrow.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
    cursor: pointer;
    mix-blend-mode: screen;
    pointer-events: all;
}

.wp-block-gallery::before { left: 5px; transform: rotate(180deg);}
.wp-block-gallery::after { right: 5px; }


.blocks-gallery-item {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    height: 100%;
    width: 100% !important;
}

.blocks-gallery-item figure {
    height: 100%;
    width: 100%;
    display: grid !important;
    justify-content: center !important;
    grid-template-columns: 1fr;
    grid-template-rows: var(--img-height) auto;
}

.wp-block-gallery:fullscreen .blocks-gallery-item figure {
    display: block !important;
}

.blocks-gallery-item figure img {
    object-fit: contain !important;
    width: 100%;
    height: 100%;
    background-color: black;
}



.blocks-gallery-item figure .blocks-gallery-item__caption {
    background: none;
    padding: 0;
    margin: 5px 0 0 0;
    display: flex;
    flex-direction: column;
    position: relative;
    height: min-content;
    overflow: hidden;
    align-self: flex-start;
}

.wp-block-gallery:fullscreen .blocks-gallery-item figure .blocks-gallery-item__caption {
    position: absolute;
    bottom: 0;
    background-color: rgba(0,0,0,0.8);
    z-index: 2;
    padding: 2vw;
    color:var(--grey-800) !important;
}

.blocks-gallery-item figure .blocks-gallery-item__caption-count {
    font-family: var(--font-sans-secondary) !important;
    font-weight: var(--fw-extra-light) !important;
    font-size: calc(1rem * var(--font-size-correction) * 22) !important;
    color:var(--grey-500) !important;
    margin: 5px 0 0 0;
    display: inline;
}


.blocks-gallery-grid::-webkit-scrollbar {
    display: none;
    width: 5px;
    height: 5px;
}
  
/* Track */
.blocks-gallery-grid::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey; 
}

/* Handle */
.blocks-gallery-grid::-webkit-scrollbar-thumb {
    background: white; 
    width: 5px;
    height: 5px;
}

/* Handle on hover */
.blocks-gallery-grid::-webkit-scrollbar-thumb:hover {
    background: #b30000; 
}


/*DESKTOP*/
@media screen and (min-width: 1001px) {


    #main-menu-header-btn {
        display: none;
    }

    #main-menu-container {
        position:absolute;
        padding: 50px 25px 25px 25px;
        --menu-width : 220px;
        --btn-offset : 45px;
        top:90px;
        /* left: calc((100vw - var(--main-width)) / 2); */
        left:calc(-1 * var(--menu-width)/2 + var(--btn-offset));
        z-index: 1;
        width: var(--menu-width);
        height: auto;
        box-shadow: rgb(0 0 0 / 50%) 0px 10px 20px 0px;
    }
    
    #main-menu-container[open] {
        top:80px;
    }

    #main-menu-container .main-menu-content {
        margin: auto;
        width: 100%;
    }
    

    .section {
        /* display: grid; */
        grid-column: 1 / span 16;
        /* grid-template-columns: repeat(16,1fr); */
        /* gap: 0 var(--default-gap); */
    }


/*GRID HELPERS*/

.grid-1 { --col-count : 1;}
.grid-2 { --col-count : 2;}
.grid-3 { --col-count : 3;}
.grid-4 { --col-count : 4;}
.grid-5 { --col-count : 5;}
.grid-6 { --col-count : 6;}
.grid-7 { --col-count : 7;}
.grid-8 { --col-count : 8;}
.grid-9 { --col-count : 9;}
.grid-10 { --col-count : 10;}
.grid-11 { --col-count : 11;}
.grid-12 { --col-count : 12;}


.col-1 { grid-column: 1 / span var(--col-span) !important;}
.col-2 { grid-column: 2 / span var(--col-span) !important;}
.col-3 { grid-column: 3 / span var(--col-span) !important;}
.col-4 { grid-column: 4 / span var(--col-span) !important;}
.col-5 { grid-column: 5 / span var(--col-span) !important;}
.col-6 { grid-column: 6 / span var(--col-span) !important;}
.col-7 { grid-column: 7 / span var(--col-span) !important;}
.col-8 { grid-column: 8 / span var(--col-span) !important;}
.col-9 { grid-column: 9 / span var(--col-span) !important;}
.col-10 { grid-column: 10 / span var(--col-span) !important;}
.col-11 { grid-column: 11 / span var(--col-span) !important;}
.col-12 { grid-column: 12 / span var(--col-span) !important;}

.row-1 { grid-row: 1 / span var(--row-span) !important;}
.row-2 { grid-row: 2 / span var(--row-span) !important;}
.row-3 { grid-row: 3 / span var(--row-span) !important;}
.row-4 { grid-row: 4 / span var(--row-span) !important;}
.row-5 { grid-row: 5 / span var(--row-span) !important;}
.row-6 { grid-row: 6 / span var(--row-span) !important;}
.row-7 { grid-row: 7 / span var(--row-span) !important;}
.row-8 { grid-row: 8 / span var(--row-span) !important;}
.row-9 { grid-row: 9 / span var(--row-span) !important;}
.row-10 { grid-row: 10 / span var(--row-span) !important;}
.row-11 { grid-row: 11 / span var(--row-span) !important;}
.row-12 { grid-row: 12 / span var(--row-span) !important;}


.col-span-1 { --col-span: 1 ; grid-column: span var(--col-span);}
.col-span-2 { --col-span: 2 ; grid-column: span var(--col-span);}
.col-span-3 { --col-span: 3 ; grid-column: span var(--col-span);}
.col-span-4 { --col-span: 4 ; grid-column: span var(--col-span);}
.col-span-5 { --col-span: 5 ; grid-column: span var(--col-span);}
.col-span-6 { --col-span: 6 ; grid-column: span var(--col-span);}
.col-span-7 { --col-span: 7 ; grid-column: span var(--col-span);}
.col-span-8 { --col-span: 8 ; grid-column: span var(--col-span);}
.col-span-9 { --col-span: 9 ; grid-column: span var(--col-span);}
.col-span-10 { --col-span: 10 ; grid-column: span var(--col-span);}
.col-span-11 { --col-span: 11 ; grid-column: span var(--col-span);}
.col-span-12 { --col-span: 12 ; grid-column: span var(--col-span);}

.row-span-1 { --row-span: 1 ; grid-row: span var(--row-span);}
.row-span-2 { --row-span: 2 ; grid-row: span var(--row-span);}
.row-span-3 { --row-span: 3 ; grid-row: span var(--row-span);}
.row-span-4 { --row-span: 4 ; grid-row: span var(--row-span);}
.row-span-5 { --row-span: 5 ; grid-row: span var(--row-span);}
.row-span-6 { --row-span: 6 ; grid-row: span var(--row-span);}
.row-span-7 { --row-span: 7 ; grid-row: span var(--row-span);}
.row-span-8 { --row-span: 8 ; grid-row: span var(--row-span);}
.row-span-9 { --row-span: 9 ; grid-row: span var(--row-span);}
.row-span-10 { --row-span: 10 ; grid-row: span var(--row-span);}
.row-span-11 { --row-span: 11 ; grid-row: span var(--row-span);}
.row-span-12 { --row-span: 12 ; grid-row: span var(--row-span);}

}
/*END DESKTOP*/

/*#region Tablet & Mobile */
 @media screen and (max-width: 1000px) {


    :root {
        --default-gap : 10px;
    }

    .main-header {
        display: flex;
        justify-content: space-between;
    }

    .main-search-form {
        display: none;
    }

    .main-nav-soutenez-nous {
        display: none;
    }

    .footer-nav {
        flex-direction: column;
        margin-top: 10px;
        align-items: center;
    }

    .footer-block {
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    .section > *{
        grid-column: 1 / -1;
    }

    .main-nav-container {
        display: none;
    }

    .main-nav {
        box-shadow: none;
        --p:0px;
    }
    

    .main-nav > ul{
        flex-direction: row;
        justify-content: space-between;
        gap:0;
        --p:0px;
    }

    .main-nav li {
        width: 100%;
        background:var(--categ-color);
        color: white;
        padding:5px;
    }

    /* nav li a {
        display: inline-block;
        width: 70%;
    } */
    

    .main-nav li a {
        color: white;
        font-size: 0.8em;
        width: 50%;
    }


    .border-before-on-mobile:before {
        content: '';
        display: block;
        background-image: linear-gradient(to right, transparent 2px, var(--grey-300) 2px);
        background-size: 4px 1px;
        background-repeat: repeat-x;
        grid-column: 1 / span all;
        height: 1px;
        width: 100%;
        margin: 10px 0 20px 0px;
    }

    #main-menu-btn {
        display: none;
    }

    .hide-on-mobile {
        display: none;
    }

    .main-logo {
        margin: 0px;
    }

    #main-menu-container {
        position:fixed;
        box-sizing: border-box;
        padding: 50px 0;
        top:48px;
        left:0;
        width: 100%;
        height: 100vh;
        z-index: 10;
        box-shadow: none;
    }
  
}
/*#endregion Tablet & Mobile */

/*#region Tablet */
@media screen and (min-width: 721px) and (max-width: 999px) {
    :root {
        --main-width : var(--main-width-tablet);
    }

    
}
/*#endregion Tablet */

/*#region Mobile */
@media screen and (max-width: 720px) {
    :root {
        --main-width : var(--main-width-mobile);
    }
   
    .wp-block-gallery {
        --img-height : 200px;
    }

    #front-page-header {
        grid-template-columns: 1fr;
        grid-template-areas: 
        'nav '
        'logo '
        'col2'
        'col1'
        'col3';
    }
    .m-section {
        position: relative;
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(8,1fr);
        gap: 0 var(--default-gap);
        box-sizing: border-box;
        margin-bottom: 20px;
    }

    .grid {
        --col-width : var(--main-grid-columns-width-mobile);
    }

    .m-grid-1 { --col-count : 1;}
    .m-grid-2 { --col-count : 2;}
    .m-grid-3 { --col-count : 3;}
    .m-grid-4 { --col-count : 4;}
    .m-grid-5 { --col-count : 5;}
    .m-grid-6 { --col-count : 6;}
    .m-grid-7 { --col-count : 7;}
    .m-grid-8 { --col-count : 8;}

    .m-col-1 { grid-column: 1 / span var(--col-span) !important;}
    .m-col-2 { grid-column: 2 / span var(--col-span) !important;}
    .m-col-3 { grid-column: 3 / span var(--col-span) !important;}
    .m-col-4 { grid-column: 4 / span var(--col-span) !important;}
    .m-col-5 { grid-column: 5 / span var(--col-span) !important;}
    .m-col-6 { grid-column: 6 / span var(--col-span) !important;}
    .m-col-7 { grid-column: 7 / span var(--col-span) !important;}
    .m-col-8 { grid-column: 8 / span var(--col-span) !important;}

    .m-row-1 { grid-row: 1 / span var(--row-span) !important;}
    .m-row-2 { grid-row: 2 / span var(--row-span) !important;}
    .m-row-3 { grid-row: 3 / span var(--row-span) !important;}
    .m-row-4 { grid-row: 4 / span var(--row-span) !important;}
    .m-row-5 { grid-row: 5 / span var(--row-span) !important;}
    .m-row-6 { grid-row: 6 / span var(--row-span) !important;}
    .m-row-7 { grid-row: 7 / span var(--row-span) !important;}
    .m-row-8 { grid-row: 8 / span var(--row-span) !important;}


    .m-col-span-1 { --col-span: 1 ; grid-column: span var(--col-span);}
    .m-col-span-2 { --col-span: 2 ; grid-column: span var(--col-span);}
    .m-col-span-3 { --col-span: 3 ; grid-column: span var(--col-span);}
    .m-col-span-4 { --col-span: 4 ; grid-column: span var(--col-span);}
    .m-col-span-5 { --col-span: 5 ; grid-column: span var(--col-span);}
    .m-col-span-6 { --col-span: 6 ; grid-column: span var(--col-span);}
    .m-col-span-7 { --col-span: 7 ; grid-column: span var(--col-span);}
    .m-col-span-8 { --col-span: 8 ; grid-column: span var(--col-span);}


    .m-row-span-1 { --row-span: 1 ; grid-row: span var(--row-span);}
    .m-row-span-2 { --row-span: 2 ; grid-row: span var(--row-span);}
    .m-row-span-3 { --row-span: 3 ; grid-row: span var(--row-span);}
    .m-row-span-4 { --row-span: 4 ; grid-row: span var(--row-span);}
    .m-row-span-5 { --row-span: 5 ; grid-row: span var(--row-span);}
    .m-row-span-6 { --row-span: 6 ; grid-row: span var(--row-span);}
    .m-row-span-7 { --row-span: 7 ; grid-row: span var(--row-span);}
    .m-row-span-8 { --row-span: 8 ; grid-row: span var(--row-span);}

 
}
/*#endregion Mobile */

/*#region Helpers */

.col-full { grid-column: 1 / -1 ; width: 100%;}
.img-xl { grid-column: 4 / span 10 ;}
.img-xxl { grid-column: 1 / span 16 ;}
.uppercase {text-transform: uppercase;}

.dashed-separator:after,
.dashed-separator-bottom:after {
    content:'';
    display: block;
    background-image: linear-gradient(to right, transparent 2px, var(--grey-800) 2px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    grid-column: 1 / span all;
    height: 1px;
    width: 100%;
}

.dashed-separator:before,
.dashed-separator-top:before {
    content:'';
    display: block;
    background-image: linear-gradient(to right, transparent 2px, var(--grey-800) 2px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    grid-column: 1 / span all;
    height: 1px;
    width: 100%;
}

.solid-separator:after,
.solid-separator-bottom:after {
    content:'';
    display: block;
    background-image: linear-gradient(to right, var(--grey-800), var(--grey-800));
    background-size: 4px 1px;
    background-repeat: repeat-x;
    grid-column: 1 / span all;
    height: 1px;
    width: 100%;
}

.solid-separator:before,
.solid-separator-top:before {
    content:'';
    display: block;
    background-image: linear-gradient(to right, var(--grey-800), var(--grey-800));
    background-size: 4px 1px;
    background-repeat: repeat-x;
    height: 1px;
    width: 100%;
    grid-column: 1 / span all;
    margin-bottom: 10px;
}
/*#endregion Helpers */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
/*#endregion Miscellaneous */


/*WPCF7*/
.wpcf7 {
    /* background-color: #EEEEEE; */
    padding: 1px 1rem;
    box-sizing: border-box;
    border: none;
    margin : 1rem 0;
    font-family: var(--font-sans);
}

.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select
{
    width: 100%;
}










