/*
Theme Name: Somain app
Author:  intégration Olivier Coudre, design Benjamin Faure
Author URI: https://ville-somain.fr
Description: theme pour la webapp du la ville de somain
Version: 1.2
Text Domain: site
Tags: ACF safari safari-fullscreen
*/

/*
SVG icons
*/
[class^="svg-icon"], [class*=" svg-icon"] {height: 1em; width: 1em; display: inline-block; stroke: none; fill: currentColor}
[class^="svg-icon-outline"], [class*=" svg-icon-outline"] {height: 1em; width: 1em; display: inline-block; stroke: currentColor; fill: none}


/**
 * Global & Structure
 */
* {box-sizing: border-box;}
*:after,
*:before {box-sizing: inherit;}

html {scroll-behavior: smooth;overflow-y:scroll ;scroll-padding-top: 192px;}

:where(html){
  --container-gap-v:var(--size-2);
  --container-w: calc(1200px + ( var(--container-gap-v) * 2 ) );
  --primary:#0B58A1;

  --secondary:#e4a374;
  --white:#fff;
  --black:#000;
  --text:var(--black);

  --grey-1:#161D23;
  --grey-2:#1c1b1f;
  --grey-4:#3C3950;
  --grey-5:#5f727f;
  --grey-6:#bebebe;
  --grey-7:#dcdcdc;
  --grey-8:#EEEFF4;
  --grey-9:#F5F4F0;
  --bg: var(--grey-9);
  --bg2: var(--white);

  --text-onprimary:var(--white);
  --text-bg:var(--text);
  --text-bg2:var(--text);
  --link:var(--text);
  --link-hover:var(--primary);
  accent-color: var(--primary);
  --accent-color: var(--primary);
  --marker:'•';

  --input-text:var(--text);
  --input-bg:var(--white);
  --input-border:var(--white);


  --btn-bg:var(--primary);
  --btn-text:var(--white);
  --btn-bg-hover:var(--white);
  --btn-text-hover:var(--primary);
  --btn-border-color:var(--primary);

  --topbar-h: 84px;
  --footer-height:556px;

  --size-1:8px;
  --size-2:16px;
  --size-3:24px;
  --size-4:32px;
  --size-5:40px;
  --size-6:48px;
  --size-7:56px;
  --size-8:64px;
  --size-default:var(--size-2);

  --ease-2: cubic-bezier(.25,0,.4,1);

  --radius-small:var(--size-1);
  --h2-margin:var(--size-2);
  --p-margin:var(--size-2);


  --img-radius:var(--radius-small);
  --btn-radius:var(--radius-small);
  --input-radius:var(--radius-small);

}

@media (min-width: 1025px) {
  :where(html) {
    --h2-margin:var(--size-4);
    --p-margin:var(--size-4);
  }
}

:focus-visible:not(:focus) {outline-color: var(--primary) ;transition: outline-offset 145ms var(--ease-2)}
:where(:not(:active):focus-visible) {outline-offset: 5px ;transition-duration: .25s}

@media (prefers-color-scheme: dark) {
  :where(html) :where(#mobile-menu,.sitepwa_banner-install) {
    --black:#fff;
    --white:#000;
    --primary:#4faafa;
    /*
    --text: var(--gray-1);
    --bg:var(--gray-8);
    --bg2: var(--grey-1);
    --neutral:var(--grey-9);
    --text-bg:var(--white);
    --text-bg2:var(--grey-6);*/
    color-scheme: dark;
  }
}

/*
animations
*/
@keyframes fadeIn {
  0% {opacity: 0;}
  to {opacity: 1;}
}
@keyframes fadeInDown {
  0% {opacity: 0; transform: translateY(-100%) }
  to {opacity: 1; transform: translateY(0) }
}
@keyframes fadeInRight {
  0% {opacity: 0; transform: translateX(100%) }
  to {opacity: 1; transform: translateX(0) }
}
@keyframes fadeInRightSmall {
  0% {opacity: 0; transform: translateX(7%) }
  to {opacity: 1; transform: translateX(0) }
}

@keyframes fadeInUp {
  0% {opacity: 0;transform: translate3d(0,40px,0) }
  to {opacity: 1;transform: translateZ(0) }
}
@keyframes zoomIn {
  0% {opacity: 0;transform: scale3d(.3,.3,.3);}
  to {opacity: 1;}
}
.scroll-obs [data-onvisible] {opacity: 0; }
.animate__fast {--duration:.75s; }
.animate__slow {--duration:2s; }
.animate__delay-0 {animation-delay: .1s; }
.animate__delay-1 {animation-delay: .5s; }
.animate__delay-2 {animation-delay: .7s; }
.animate__delay-3 {animation-delay: .9s; }
.animate__delay-4 {animation-delay: 1.1s; }
.animate__delay-5 {animation-delay: 1.3s; }
.animate__delay-6 {animation-delay: 1.5s; }
.animate__delay-7 {animation-delay: 1.9s; }
.animate__delay-8 {animation-delay: 2.3s; }

.animate__fadeInDown {
  animation-name: fadeInDown;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}

.animate__fadeIn {
  animation-name: fadeIn;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInRight {
  animation-name: fadeInRight;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInRightSmall {
  animation-name: fadeInRightSmall;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInUp {
  animation-name: fadeInUp;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__zoomIn  {
  animation-name: zoomIn;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both;
}

/*
fonts
*/

body { font-family:var(--font-base);color:var(--text);background-color: var(--bg);margin: 0;font-weight: 400;font-size: 1rem;line-height: 1.5;}
h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5{font-family: var(--font-title);margin: 0;font-weight: 700}


a {text-decoration:none;color: inherit; transition: color .3s;text-underline-offset: 0.2em;}
a:is(:hover,:active,:focus-visible) {color: var(--primary);text-decoration: underline;}

body{
  --h1_size:18px;
  --h1_lh:1;
  --h2_size:18px;
  --h2_lh:1.2;
  --h3_size:16px;
  --h3_lh:1.2;
  --h4_size:16px;
  --h4_lh:1.2;
}
h1,.h1 {font-size: var(--h1_size);line-height: var(--h1_lh);}
h2,.h2 {font-size: var(--h2_size);line-height: var(--h2_lh);color:var(--primary)}
h3,.h3 {font-size: var(--h3_size);line-height: var(--h3_lh);}
h4,.h4 {font-size: var(--h4_size);line-height: var(--h4_lh);}
h5,.h5 {font-size: 16px;line-height: 1.2;}


@media (min-width: 1200px) {
  /*body {
    --h1_size:48px;
  }*/

}
figure {margin: 0;padding: 0;}
p {margin: 0;}
.text-normal {font-size: 1rem;}

/*
global
*/
.ie-alert {padding: 2em; border: red solid 2px;z-index: 999;background: white;position: relative; }

.ns {display: none;} /* email antispam */

label {color:inherit;cursor: pointer;}
table {margin: 1rem 0; }
ul {margin:0; list-style-type: none; padding: 0;}
img {max-width: 100%;height: auto;display: block;}
address {font-style: normal;}
hr {margin-block: var(--size-2);}
dt,dd {margin: 0;}


/* container */

.container {margin-inline: var(--container-gap-v);}
@media (min-width: 992px) {
  .container {max-width: 992px;margin-inline:auto;padding-inline: var(--container-gap-v);}
}
@media (min-width: 1025px) {
  .container {max-width: var(--container-w);margin-inline:auto;padding-inline: var(--container-gap-v);}
}

/*
utils
*/
.invisible-label,
.invisible-checkbox {position: fixed; opacity: 0; left: 0;top: 0;pointer-events: none}

.hidden,
.visible-xs,
.visible-md,
.visible-md-flex,
.visible-lg,
.visible-lg-flex,
.visible-desktop {display: none;}

@media (min-width: 768px) {
  .visible-xs {display: block;}
  .hide-xs {display: none;}
}

@media  (min-width: 1025px) {
  .visible-md {display: block;}
  .visible-md-flex {display: flex;}
  .hide-md {display: none;}
}
@media  (min-width: 1200px) {
  .visible-lg,
  .visible-desktop {display: block;}
  .visible-lg-flex {display: flex;}
  .hide-lg,
  .hide-desktop {display: none;}
}

.sr-only,
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px); overflow: hidden; position: absolute !important; height: 1px; width: 1px; }

/*
buttons
*/

.btn {

  cursor: pointer;
  padding: 1em 1em;
  display: inline-flex;
  text-decoration: none;
  border-radius: var(--btn-radius);
  color: var(--btn-text);
  background-color:var(--btn-bg);
  border: solid 2px var(--btn-border-color);
  font-size: var(--btn-fontsize,14px);
  font-weight: 400;

  line-height: 1;
  transition: .3s;
}
.btn-small {padding: 1em;}
.btn:not(.btn-disabled):active {transform: translateY(.2rem);}
.btn.btn-active,
.btn:is(:hover,:focus,:active):not([disabled]) {
  background-color: var(--btn-bg-hover);
  color: var(--btn-text-hover);
  text-decoration: none;
}

.btn-primary:not([disabled]) {
  --btn-fontsize:1rem;
  font-weight: bold;
  border: 0;
  text-decoration: underline;
}

.btn-primary.btn-active,
.btn-primary:is(:hover,:focus):not([disabled]) ,
[type='submit'].btn-primary:is(:hover,:focus,:active):not([disabled]) {

  color: var(--text-ongradient); }

/* btn-secondary bouton fond blanc , contour noir, texte noir*/
.btn-secondary {
  --btn-bg:var(--white);--btn-text:var(--black);--btn-border-color:rgba(0, 0, 0, 0.2);
  --btn-bg-hover:var(--primary);--btn-text-hover:var(--text-onprimary)}

.btn-small {padding: 0.5em 1em;font-weight: 400;}
.btn-medium {border-width:3px;padding:12px 22px;font-size: 19px;font-weight: 400;}
.btn-disabled,
input[type="submit"][disabled],
button[disabled],
button[disabled]:hover {background-color: #747474;cursor: not-allowed;border-color:#747474 }


/**
 * Wordpress styles
 */
.alignleft {float: left}
.alignright {float: right}
.aligncenter {display: block;margin-left: auto;margin-right: auto;text-align: center;}
figure.wp-caption.alignleft,img.alignleft {margin: 5px 20px 5px 0}
.wp-caption.alignleft {margin: 5px 10px 5px 0}
figure.wp-caption.alignright,img.alignright {margin: 5px 0 5px 20px}
.wp-caption.alignright {margin: 5px 0 5px 10px}
img.aligncenter {margin: 0 auto;display: block;}
img.alignnone {margin: 0;display: block;}
.wp-caption .wp-caption-text,.entry-caption,.gallery-caption {color: #220e10;font-size: 18px;font-style: italic;font-weight: 300;margin: 0 0 24px;text-align: center;}
div.wp-caption.alignright img[class*="wp-image-"] {float: right}
div.wp-caption.alignright .wp-caption-text {padding-left: 10px}
.wp-caption.alignleft + ul,.wp-caption.alignleft + ol {list-style-position: inside}


/*
  Accessibility
*/
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px); overflow: hidden; position: absolute !important; height: 1px; width: 1px; user-select: none;display: block;}
.skip a {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip a:where(:focus,:focus-visible) {z-index: 10; top: 0; left: 0; width:auto; height:auto; }
@media (max-width:767px){
  .skip{display: none;}
}

/*
header
*/
html {scroll-padding-top:var(--topbar-h)}
body.header-fixed {padding-top: var(--topbar-h);}
.header-fixed .site-header {position: fixed; left: 0; right: 0; top: 0; background: var(--bg);
  z-index: 2000; /* same index as lightbox .slbOverlay index */
}

/*
main
*/
body.footer-fixed .site-main {margin-bottom: var(--footer-height);position: relative;z-index: 1;background-color: var(--bg);}

.site-main {
  padding-block: var(--size-2) calc(72px + 1rem);
}
.site-main .container-text {padding-bottom: 64px;}
.home .site-main .container-text {padding-bottom: 64px;}
@media (min-width: 1025px) {
  .site-main .container-text{padding-bottom: 128px;}
}



/*.rank-math-breadcrumb {padding:0;margin:0 0 1rem;font-size: 14px;font-weight: 400;}
.rank-math-breadcrumb a{text-decoration: none;display: inline-block;padding-block:4px ;position: relative;text-decoration: none;}
.rank-math-breadcrumb .separator {padding-inline: 1rem;display: inline-block;}
.rank-math-breadcrumb>p {display: flex;align-items: center;flex-wrap: wrap;}*/

.entry-title,
.page-title {margin: 0;/*line-height: 1.2;*/}

.page-header.has-feat {display: grid;grid-template-areas: "cell";color:var(--white)}
.page-header.has-feat >*{grid-area:cell}
.page-header.has-feat .page-title {align-self: end;
  text-align: right;
  text-shadow: 0px 0px 10px rgb(0 0 0 / 30%);
  /*line-height: 1.1em;*/
  margin-right: 33px;
  margin-bottom: 155px;
}


.page-header.no-feat {padding-block: var(--size-2);margin-bottom: var(--size-2);}
.page-header .entry-terms {margin-top: var(--size-1);display: flex;gap:var(--size-1);font-size: 10px;}
.page-header .entry-term {display: inline-block;background-color: var(--white); padding: 4px 8px;
    border-radius: var(--size-2);line-height: 1;}

/* text styles */

:where(.entry-content) a:not([class]) {text-decoration: underline;}

.entry-content p+*{margin-top: var(--p-margin);}
.entry-content p+h2{margin-top: var(--size-4);}
:where(.entry-content) :is(h1,h2,h3, h4, h5, h6) {margin-block: 2rem 1rem;}
:where(.entry-content) h2 {margin-bottom: var(--h2-margin);}
.entry-content h3 {margin-block:var(--size-3)}
.entry-content :is(h1,h2,h3, h4, h5, h6):first-child {margin-top: 0;}
.entry-content :is(h1,h2,h3, h4, h5, h6):last-child {margin-bottom: 0;}
.entry-content strong {font-weight: 700;}
.entry-content p>img {border-radius:var(--img-radius)}
.entry-content span>img {display: inline-block;}

.entry-content ul {padding: 0;margin:0;}
.entry-content ul:not([class]) {padding: 0 0 0 1rem;margin: 1rem 0;list-style-type: disc;list-style-position: outside;list-style-type: initial}
.entry-content ul:not([class]) li+li {margin-top: 1rem;}

.entry-content :where(ul:not([class]))>li::marker {font-weight: bold;color: var(--accent-color);content:var(--marker) ' '}

/*.entry-content :where(ol:not([class]))>li::marker {font-weight: bold;color: var(--accent-color);content:var(--marker) ' '}*/
:where(.entry-content) :where(ul,ol)>li+li {margin-top: 1em;}

.entry-content p>iframe {width: 100%;max-width: 700px;aspect-ratio: 16 / 9;height: auto;}

/* post list */
.posts-list-simple ul{margin: 1rem 0;list-style-type: disc;list-style-position: inside;}
.posts-list-simple a{padding: .5rem;}
.posts-list-simple li+li{margin-top: 0.5em;}

/*
sections
*/
.entry-section {padding-block:64px}
.entry-section:first-of-type{border-top: var(--grey-7) solid 2px;}
.section-title {margin-bottom: 64px }
@media (min-width: 1025px) {
  .entry-section {padding-block:128px}
}


/* bloc nav */

.nav-list {display: flex;gap:var(--size-2);flex-direction: column;margin-block:var(--size-2)}
.nav-list a{border-radius:var(--btn-radius) ;background-color: var(--white);padding: var(--size-2);font-size: 14px;border: 2px solid rgba(0, 0, 0, 0.2);display: flex;gap:var(--size-1);text-decoration: none;transition: .3s;align-items: center;}
.nav-list a:is(:hover,:active,:focus){background-color: var(--primary);color: var(--text-onprimary);}
.nav-list .page-icon {width: 24px;height: 24px;}
.nav-list .arrow {margin-left: auto;width: 32px;height: 32px;color:var(--primary)}

.nav-grid {display: grid;gap:var(--size-2);grid-template-columns: repeat( auto-fit, minmax(160px, 1fr) );margin-block:var(--size-2)}
.nav-grid a{display: flex;gap:10px;justify-content: center; align-items: center;flex-direction: column;background-color: var(--white);padding: var(--size-2);border-radius:var(--btn-radius);text-decoration: none;transition: .3s;min-height: 140px;}
.nav-grid a:is(:hover,:active,:focus){background-color: var(--primary);color: var(--text-onprimary);}
.nav-grid a span {text-align: center;text-wrap: balance;}
.nav-grid .page-icon {width: auto;height: 42px;color:var(--primary)}
.nav-grid .page-icon path{fill:currentColor !important;}
.nav-grid a:is(:hover,:active,:focus) .page-icon{color: inherit;}
.nav-grid .arrow {display: none;}
@media (min-width:992px) {
  .nav-grid {grid-template-columns: repeat( auto-fit, minmax(260px, 1fr) );gap:var(--size-4)}
  .nav-grid a {padding: var(--size-4)}
  .nav-grid .page-icon {height: 84px}
}

/* splide carousel */

.splide {padding-inline: 0;margin-bottom: 0;}
.splide:not(:last-child) {margin-bottom: 0;}
.splide .splide__arrow--prev {left: 0;}
.splide .splide__arrow--next {right: 0;}
.splide .splide__arrows {display: none;}
.splide .splide__arrow {width: 4rem;height: 4rem;transition: .3s;}
.splide .splide__arrow:not([disabled]) {opacity: 1;}
.splide .splide__arrow:hover {opacity: 1;background-color: var(--primary);}
.splide .splide__arrow svg {transition: .3s;height: 3.2em;width: 3.2em;}
.splide .splide__arrow:hover svg{fill: #fff}

@media (min-width:1025px) {
  .splide .splide__arrows {display: block;}
  .section-type-text.splide {padding-inline: 2rem}
}

@media (min-width:1200px) {
  .section-type-text .splide {padding-inline: 4rem}
  .splide .splide__arrows {display: block;}
}
.splide__list {gap:0;align-items: stretch;}

.splide .splide__pagination {gap: var(--size-4);position: static;padding-top: calc(32px - 7px);padding-bottom: 32px;justify-content: flex-start;
  padding-inline:  var(--container-gap-v);
}
.splide__pagination .splide__pagination__page {border: var(--white) solid 8px;border-left:0;border-right:0; border-radius: 0;opacity: 1;background-color: var(--black);
width: 60px;height: 18px;display: block;padding: 0; cursor: pointer; }
.splide__pagination .splide__pagination__page.is-active {
  transform:scale(1);
  height: calc(16px + 7px);
  background-color: var(--black);
}
@media screen and (min-width:1200px) {
  .splide .splide__pagination {position: absolute;padding-left :128px;bottom: 0; left: 0; }
}
a.gal-lightbox {border-radius: var(--radius);display: block;overflow: hidden;background-color: var(--bg);position: relative;color: white}
a.gal-lightbox>svg{
  fill: #fff;
  width: 3rem;
  height: 3rem;
  padding: .8rem;
  background-color: var(--primary);
  border-radius: 100%;
  position: absolute;
  left: 50%;top: 50%; transform: translate(-50%,-50%);
  opacity: 0;
  transition: opacity .3s
}

a.gal-lightbox>img{transition: opacity .3s}
a.gal-lightbox:hover>img{opacity: 0.5;}
a.gal-lightbox:hover>svg{opacity: 1;}
.splide__slide img {border-radius: var(--radius);max-width: none;width: 100%;}

@media (min-width:1025px) {
  .splide__slide img {height: 900px;object-fit:cover  }
}
.splide .item {display: grid;
  grid-template-areas:
  "img"
  "text";
}

.splide .item .text {background-color: var(--white);padding: var(--size-4);}
@media (min-width:1025px) {
  .splide .item {grid-template-areas: "cell"}
  .splide .item figure,
  .splide .item .text {grid-area:cell}
  .splide .item .text {padding: 64px width: 50%;z-index: 2;justify-self: start; align-self: end;}
  .splide .item .item-title {padding-bottom: 64px;display: block;}
}
@media (min-width:1200px) {
  .splide .item .text {padding-left:128px;width: 50%;}

}


.splide.thumbnail-carousel {display: none;}
@media (min-width:768px) {
  .splide.thumbnail-carousel {position: absolute;bottom: var(--space);left: calc(33.33% + var(--space) );
    display: block;
    padding:0;margin: 0 ;
  }
  .splide.thumbnail-carousel .splide__slide img {width: 98px;height: 72px;object-fit: cover;}
  .splide.thumbnail-carousel .splide__slide {opacity: 0.6;border: 0 !important ;transition: opacity .3s;filter: grayscale(100%);}
  .splide.thumbnail-carousel .splide__slide:hover,
  .splide.thumbnail-carousel .splide__slide.is-active {opacity: 1 ;filter: none}
}




/*
home
*/

.home .site-main {display: grid; gap: var(--size-4);}
.home .nav-grid {margin-block: 0;}
@media (min-width:768px) {
  .home .site-main {
    grid-template-areas:
        "signal signal"
        "news events";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content 1fr;
  }
  .home .nav-grid {grid-area:signal;gap: var(--size-4);}
}
/*
page
*/
.singular-content >.wp-post-image {border-radius: var(--img-radius) var(--img-radius) 0 0;width: 100%;}
.singular-content .section-text{background-color: var(--white);padding: var(--size-2);font-size: 14px;border-radius: 0 0 var(--img-radius) var(--img-radius) }
@media (min-width:992px) {
  /*.singular-content {max-width: 480px}*/
  /*.singular-content {display: grid;grid-template-columns: 1fr 1fr}*/
  /*.singular-content >.wp-post-image {border-radius: var(--img-radius) 0 0 var(--img-radius);}
  .singular-content .section-text {border-radius: 0 var(--img-radius) var(--img-radius) 0;}*/
}
/*
actu list
*/

.posts-list {display: grid;gap: var(--size-2); margin-bottom: var(--size-8);}
.post-list-item {/*--overview-h:calc(2em + 24px); max-width: 688px; overflow: hidden; position: relative;padding-bottom: var(--overview-h); */}

.post-list-item .entry-content {padding: var(--size-2);background-color: var(--white);}
.post-list-item img {border-radius:var(--img-radius) var(--img-radius) 0 0;width: 100%;}
.post-list-item .entry-excerpt {margin-top: 10px;}
.post-list-item .entry-date {margin-top: 10px;font-size: 10px}
.post-list-item .entry-date time{padding: 4px 8px; border-radius: var(--size-2);background-color: var(--grey-9);display: inline-block;}
@media (min-width: 800px) {
  .posts-list {display: grid;gap: var(--size-4);
    /*grid-template-columns: 464px 464px*/
    /*--nbcol:2;
    --col-w:calc( (100% - var(--container-gap-v) - var(--size-4) * ( var(--nbcol) - 1)) / var(--nbcol) );
    grid-template-columns: repeat(var(--nbcol), var(--col-w));*/
    grid-template-columns: repeat( auto-fit, minmax(300px, 1fr) );
  }
  .post-list-item .entry-text {position: absolute;transition:.3s ease-out;left: 0;right: 0;}
  .post-list-item:not(:hover,:active,:focus) .entry-title {text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .post-list-item:where(:hover,:active,:focus) .entry-text {transform:translateY(calc(-100% + var(--overview-h) ) )}
}
.posts-list.has-filter[data-filter="month-current"] .post-list-item:not(.month-current) {display: none;}
.posts-list.has-filter[data-filter="month-next"] .post-list-item:not(.month-next) {display: none;}

.no-js .SC-btn-group.filter-months {display: none;}

.posts-list.has-search .entry-header {display: none;}
.posts-list.has-search .post-list-item:not(.found) {display: none;}
@media (min-width: 1025px) {
  .posts-list {
    --nbcol:3;
    /*--col-w:calc( (var(--container-w) - var(--size-4) - var(--size-4)) / var(--nbcol) );
    grid-template-columns: repeat(var(--nbcol), var(--col-w));*/
  }
}
/* pagination */
.section-pagination {background-color: var(--bg2);color:var(--text-bg2);padding:var(--size-4)}
.pagination  {display: flex;gap: 1rem;flex-wrap: wrap;}

.pagination .page-link {background-color: var(--bg2);color: var(--text-bg2); line-height: 1;height: 48px;
border: solid 1px var(--black);display: flex; gap:1rem;transition: .3s;aspect-ratio: 1; align-items: center;
justify-content: center;text-decoration: none;}

.pagination .page-link:where(:hover,:active),
.pagination .page-link.current {background-color: var(--black);color: var(--white)}
.pagination .page-link.pagination-previous,
.pagination .page-link.pagination-next {padding:0 1rem;width:auto;aspect-ratio:auto}
@media (max-width: 1025px) {
  .pagination  {font-size: 14px; margin: 0;  }
  .pagination .page-link {height: 36px; }
}

/*
single actu included on page search
*/
.search .singular .feat-img {}
/*
single actu
*/
/*.single .page-header {display: flex;gap:20px;flex-direction: column;margin-bottom: var(--size-2);}
.single .page-header.has-feat .page-title {text-shadow:none;color:var(--grey-2);text-align: left;padding: 0;margin: 0;}

.single-post .single .entry-meta {margin-top: 2rem;}
:where(.single,.blog) .entry-meta {display: flex;gap: 1em; margin-bottom: var(--size-3);}
:where(.single,.blog) .entry-date {width: fit-content;}
.single .entry-date .date-label {font-weight: 700;  }
.post-categories {display: flex;gap: 1em; align-items: center;}
.single .post .entry-content {margin-bottom: 60px;}
.single .post .entry-content a{color:var(--secondary);text-decoration: none;transition: .3s}
.single .post .entry-content a:where(:hover,:focus,:active){color:var(--primary)}
.single .site-social-share {padding-bottom: 60px;}*/


/* widgets  */
.widget:not(.widget-social)>.widget-title {margin-bottom: var(--size-3);}
.widget :where([type=text],[type=search]) {padding:.5rem}
.widget.widget-social {display: flex;gap:var(--size-1);align-items: center}

.contact-items>li{display: flex;gap:var(--size-1);align-items: center}
.contact-items>li+li{margin-top: var(--size-2);}
.contact-items .svg-icon {width: 20px;height: 20px;}

/*
gallery
*/

.card-grid,
.gallery-grid {display: grid;justify-content: center;gap: var(--size-3) var(--size-2);margin-block: var(--size-4);}
.card-grid img,
.gallery-grid img{max-width: none;width: 100%;}
.card-grid img {aspect-ratio: 1;object-fit: cover}

.gallery-grid >*{text-align: center;}

.nbcol-3
.gallery-col-3,
.gallery-col-2 {grid-template-columns:  1fr 1fr}

.gallery-col-4,
.gallery-col-5 {grid-template-columns:  repeat(2,1fr)}
@media  (min-width:768px) {
  .card-grid,
  .gallery-grid {gap: var(--size-2)}
  .gallery-col-2 {grid-template-columns:  repeat(2,1fr)}
  .nbcol-3,
  .gallery-col-3 {grid-template-columns:  repeat(3,1fr)}
  .gallery-col-4 {grid-template-columns:  repeat(4,1fr)}
  .gallery-col-5 {grid-template-columns:  repeat(4,1fr)}

}
@media screen and (min-width:1025px) {
  .card-grid,
  .gallery-grid {gap: var(--size-8)}
  .gallery-col-4 {grid-template-columns:  repeat(4,1fr)}
  .gallery-col-5 {grid-template-columns:  repeat(5,1fr)}
}

.news-gallery {display: none;}
.news-lightbox-item,
.lightbox-item,
.gallery-item{position: relative;border-radius: var(--img-radius);display: block;/*overflow: clip;*/}

.news-lightbox-item::after,
.lightbox-item::after,
:not(.gallery-link-none)>.gallery-item::after {
  content: '';
  position: absolute;
  z-index: 2;
  background: var(--black) url(img/loupe.svg) no-repeat;
  background-position: center;
  background-size:32px;
  width: 60px;height: 60px;

  left: 50%;
  top: 40%;
  transform: translate(-30px,-70px);

  transition:.5s;
  opacity: 0;
  pointer-events: none;
}
@media (min-width:1025px) {
  .news-lightbox-item::after,
  .lightbox-item::after,
  :not(.gallery-link-none)>.gallery-item::after {
    width: 80px;height: 80px;
    transform: translate(-40px,-40px);
  }
}
.news-lightbox-item:hover:after,
.lightbox-item:hover:after,
.gallery-item:hover:after{opacity: 1; top: 50%;}

.gallery .logo-item {aspect-ratio:267 / 171}
.gallery .logo-item img {transition:.3s;object-fit: contain;height: 100%;}
.gallery .logo-item:hover img {opacity: 0.5;}

/* shortcodes */

.SC-btn-group {display: grid;grid-auto-flow: column;gap:var(--size-2);grid-auto-columns: 1fr;--btn-fontsize:14px;margin-bottom: var(--size-2);}
.SC-bloc {}
.SC-bloc .btn {display: flex;align-items: center;justify-content: center;gap:var(--size-2)}
.SC-bloc .btn>img {width: 24px;height: 24px;object-fit: contain;}
.SC-bloc .btn:is(:hover,:active,:focus)>img {filter:invert(1);}

/*
contact
*/

.wpcf7 {padding: 0;}
@media (min-width: 768px) {
  .wpcf7-form {position: relative;}
}

.wpcf7-form {display: grid;gap: 20px;}
.wpcf7-form label {display: block;}


[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number],
[type=password], [type=tel], [type=text], [type=time], [type=url], [type=week],[type=search],
textarea {
  outline:none;
  color: var(--input-text);padding: 1rem ;width: 100%;
  border:0;
  font-size: inherit;
  border-radius: var(--input-radius);
  background-color: var(--input-bg);
  border: var(--input-border) solid 1px;
}
::placeholder {color: var(--input-text);font-family: var(--font-base);font-size: 1em;}

select.wpcf7-form-control {padding: 1rem; width: 100%;
  font-size: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;       /* Remove default arrow */
  color: var(--input-text);
  background-color:  var(--input-bg);
  background-image: url("img/select-arrow.svg");   /* Add custom arrow */
  background-position: center right 1rem;
  background-size: 1.5em;
  background-repeat: no-repeat;
}

/*.wpcf7 input:focus {border-color: var(--secondary)}*/

.red {color: #ff5408;}
.form-grid {display: grid;gap:var(--size-4)}
@media (min-width: 768px) {

  .form-grid {gap:var(--size-4);grid-auto-flow: column;}
  .form-submit-row {display: flex;align-items: center;}
}
.your-message {margin-bottom: 1rem;display: block;}
span.wpcf7-list-item {margin-left: 0;}

.wpcf7-not-valid {border: #bf2b47 solid 2px;}
span.wpcf7-not-valid-tip {/*position: absolute; right: 0; top: -2.7rem;*/font-size: .9em}
#your-message+span.wpcf7-not-valid-tip {top: -5.8em}
.wpcf7-validation-errors {color: #bf2b47; }

.form-submit {position: relative;margin-top: var(--size-2);}
.wpcf7-submit {width: 100%;justify-content: center;}
.wpcf7 .wpcf7-spinner {margin: 0 1rem;top: 0.9rem;position: absolute;right: 0;}
.wpcf7 form .wpcf7-response-output {margin: 0;border-radius:var(--input-radius) }
.wpcf7 .small,
.wpcf7 small {font-size: 0.9rem;}


@media (min-width: 1025px) {
  .wpcf7-form {position: relative;}
  .wpcf7 .wpcf7-file {margin-bottom: 1.5rem;}
  .wpcf7-submit {width: auto;justify-content:flex-start}
  .wpcf7 .wpcf7-spinner {left: 10em; right: auto;}
  .wpcf7 form .wpcf7-response-output {margin: 0 !important;line-height: 1.4;}
}

/* search */
.search-form {margin-bottom: var(--size-2);}
[type=search] {border: 2px solid rgba(0, 0, 0, 0.2);transition: border .3s}
[type=search]:is(:focus) {border-color: var(--primary)}

/*
footer
*/

.site-footer {padding-top:var(--size-8); background-color: var(--bg); color:var(--text); border-top:var(--grey-7) solid 2px}
body.footer-fixed .site-footer{position: fixed;z-index: -1;left: 0;right: 0;bottom: 0;}
.site-footer .site-footer-col {display: grid;gap:var(--size-4)}
@media (max-width: 1025px) {
  .site-footer {padding-bottom: 90px}
  .site-footer .widget-title {font-weight: bold}
  .site-footer .menu a{padding: var(--size-1) 0;display: block;}
}
.footer-1 address {font-size: 1rem;line-height: 1.3em;}
@media (min-width: 1025px) {
  .site-footer .site-footer-col {display:flex;justify-content: space-between;}
  .site-footer .menu {display: grid;gap:var(--size-1)}
}
.footer-3,
.footer-1 {display: flex;gap:var(--size-2);flex-direction: column;}

.widget_media_image img{display: block;}
.footer-3 .widget_media_image {width: 150px;}
.site-footer .brand-image {width: 200px;margin-top: 16px;}
.site-footer .site-desc {font-size: 23px;}
.site-footer .social-items {display: flex;gap:var(--size-2)}
.site-footer .social-items a{display: grid;line-height: 1;background-color: var(--black);color:var(--white);border-radius:32px;aspect-ratio: 1;width: 32px;place-items:center}

.site-footer .footer{--size-gap:var(--size-4); margin-top: var(--size-gap);padding-block:var(--size-gap);border-top:var(--grey-7) solid 1px}
.site-footer .footer>.container {display: grid;gap:var(--size-2)}
.site-footer .footer .menu {display: grid;gap:var(--size-1)}
@media (min-width: 1025px) {
  .footer-3,
  .footer-1 {gap:var(--size-3)}
  .site-footer .footer>.container {display: flex;justify-content: center;gap:var(--size-4)}
  .site-footer .footer .menu {display: flex; gap:var(--size-4)}
}


/*
plugins
*/

@media print {
  body{font-size: 14px;}
  blockquote {margin: 0;}
  a[href]:after {content: none; }
  .page-title {margin-top: 1em;}
  hr {margin: 1rem auto 2rem; }
  p+h2 {margin-top: 1rem; }
  p+h3 {margin-top: 1rem; }
}

/*
plugin cookie notice
*/
.cookies-refused #cookie-notice, .cookies-accepted #cookie-notice {position: static; }
#cookie-notice .cn-button {margin-bottom: 0;}
#cn-revoke-text {color: white;}
#cookie-notice .cn-buttons-container .cn-button:not(.cn-button-custom) {border-radius: 0}
.cookie-revoke-container {background-color: #fff;}
.grecaptcha-badge {visibility: hidden;}

/*
plugin wpforms
*/
.wpforms-form input{
  --wpforms-field-border-radius: var(--radius-small);
  --wpforms-container-border-radius: var(--radius-small);
}
form.wpforms-form input[type=checkbox]:checked:before {background-color: var(--primary);}
form.wpforms-form input[type=checkbox]:checked:after {border-left-color:var(--text-onprimary);border-bottom-color:var(--text-onprimary)}
button.wpforms-submit {width: 100%;}

div.wpforms-container-full .wpforms-form .wpforms-field .row-current-location {text-align: center;margin-bottom: var(--wpforms-field-size-input-spacing);}
.row-current-location .btn {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  gap: 10px;
  padding: 8px 20px;
  border-radius: 16px;
  background-color: var(--wpforms-button-background-color-alt, var(--wpforms-button-background-color));
  color: var(--wpforms-button-text-color);
}
.row-current-location p {margin-top: 8px;}
.row-current-location .svg-icon {width: 1em; height: 1em; fill: currentColor;}
.row-current-location .btn-get-geo {display: inline-flex;}
.row-current-location .geo-msg-ok {display: block;}
.row-current-location .geo-msg-denied {display: none;}
.row-current-location[data-geo="denied"] .btn-get-geo,
.row-current-location[data-geo="denied"] .geo-msg-ok {display: none;}
.row-current-location[data-geo="denied"] .geo-msg-denied {display: block;}

.wpforms-field.wpforms-field-html.photo-purpose-string {padding-top: 0;text-align: center;}
.geolocation-purpose-string {display: none;}

/*
site pwa
*/

/*@media (prefers-color-scheme: dark) {
  :where(html){
    --black:#fff;
    --white:#000;
  }
}*/
.sitepwa_btn,
.sitepwa_banner-install .btn {text-transform: none;white-space: nowrap;font-size: 0.9em;cursor:pointer;pointer-events: all;}

.sitepwa_btn-update {position: fixed;z-index: 11000;left:calc(50% - 21ch);bottom:4rem;width: 42ch;text-transform: none;
  cursor:pointer;pointer-events: all;display: block;white-space: break-spaces;font-size: 0.9em;}

.sitepwa_btn[hidden] {pointer-events: none;visibility: hidden;display: none;}

body>.sitepwa_btn-install {position: absolute;top: 1rem;right: 1rem;}

.sitepwa_banner-install {--space:1em;position: fixed; z-index: 10000;top: 0; width: 100%; padding: var(--space);border: 0;background-color: var(--bg2);color:var(--text-bg2); }
.sitepwa_banner-install {box-shadow: 5px 5px 15px -4px #000000;}

.sitepwa_banner-install .banner-wrap{display: flex;gap:1rem;justify-content: center;align-items: center;font-size: 0.9em;}
.sitepwa_banner-install p{display: flex;gap:1rem;justify-content: center;align-items: center;}

.sitepwa_banner-install .app-icon {margin-left: -1em;border-radius: 8px;}
.sitepwa_banner-install .btn-icon {padding: 1em;border:0;background: none;cursor:pointer;display: none;color:var(--text)}
.sitepwa_banner-install .btn-icon svg{width: 1.25em;height: 1.25em;}

@media (max-width:600px) {
  .sitepwa_banner-install .banner-wrap{font-size: 0.8em;}
}

@media (max-width:768px) {
  .sitepwa_banner-install:not(.is-safari) { padding-left: 0;}
  .sitepwa_banner-install .btn-icon {display: block}
  .sitepwa_banner-install .btn-secondary {display: none}
}
.sitepwa_banner-install.is-safari {top: 50%; width: 100%;max-width: 450px; transform:translateY(-50%);    box-shadow: 5px 5px 0px 100vmax rgba(0,0,0,.8);}
.sitepwa_banner-install.is-safari .banner-wrap{position: relative;}
.sitepwa_banner-install.is-safari .btn-icon {display: block;position: absolute;top: var(--space);right: var(--space);}
.sitepwa_banner-install.is-safari .btn-icon svg {width: 24px;height: 24px;}
.sitepwa_banner-install .app-wrap {display: flex;gap:1em;align-items:center;margin-block:.5em}
.sitepwa_banner-install .app-wrap .app-icon{margin-left: 0;}
@media (min-width:768px) {
  .sitepwa_banner-install.is-safari {--space: 2em; }
  .sitepwa_banner-install .app-wrap {margin-block:1em}
}
.sitepwa_banner-install.is-safari em {display: flex;align-items: center;gap:.5em}

.is-safari .hide-safari {display: none;}
.visible-ios,
.visible-macos,
.visible-safari {display: none;}
.is-safari .visible-safari {display: block;}
.is-safari:not(.is-macos) .visible-ios {display: block;}
.is-safari.is-macos .visible-macos {display: block;}
.debug-section {position: relative;z-index: 10;}