/*
Theme Name: APE corpo
Author:  Benjamin Faure (Ape Com) et intégration Olivier Coudre
Author URI: https://ape-com.com/api/change-apecorpo.log
Description: theme de base pour les sites APE
Version: 1.0.9
Text Domain: site
Tags: ACF
*/

/*
Version: 1.0.9 01/05/2023 : (feat) carousel logo add checkbox autoplay on/off
Version: 1.0.8 12/04/2023 : (feat) contact gestion adresses multiple
                            (feat) Carte leaflet via plugin ACF OpenStreetMap Field
                            (feat) nouveau portfolio
Version: 1.0.7 05/04/2023 : (feat) ajout section seo, cache le badge recaptcha
Version: 1.0.6 16/02/2023 : (feat) logo carousel , (fix) sub menu footer, mobile long breadcrumb, (upg) get_svg_size can use width attr
Version: 1.0.5 10/02/2023 : (upg) carousel pause de 3s a 5s
Version: 1.0.4 02/02/2023 : (feat) page mention légales + Coordonnées-Mentions légales + shortcodes
Version: 1.0.3 23/01/2023 : (fix) mobile submenu open
*/

/*
SVG icons
*/
[class^="svg-icon"], [class*=" svg-icon"] {height: 1em; width: 1em; display: inline-block; fill: currentColor; }
[class^="svg-icon-stroke"], [class*=" svg-icon-stroke"] {stroke: currentColor; fill:none }

/**
 * Global & Structure
 */
 * {box-sizing: border-box;}
 *:after,
 *:before {box-sizing: inherit;}

html {scroll-behavior: smooth;overflow-y:scroll }

:root{
  --radius: 0;
  --btn-radius: 30px;
  --radius-small: 0;
  --s-pad: 1rem;
  --s-pad-block: 3rem;
  --s-pad-inline: 1rem;
  --s-margin: 1rem;
  --h2-margin: 1rem;
  --h3-margin: .5rem;
  accent-color: var(--primary);
  --half: calc((100vw - 1152px) / 2 );
  --halfm: calc(var(--half) + var(--s-margin)  );
  --half-min: max(var(--half) , var(--s-pad-inline));
  --primary-curve: cubic-bezier(0.62,0.05,0.01,0.99);
  --space:2rem;
}

@media print, screen and (min-width: 768px) {
  :root{
    --s-pad: 2rem;
    --s-pad-block: 1rem;
    --s-pad-inline: 2rem;
    --s-margin: 2rem;
    --h2-margin: 2rem;
    --space:2rem
  }
}
@media print, screen and (min-width: 992px) {
  :root{
    --s-pad: 4rem;
    --s-pad-block: 4rem;
    --s-pad-inline: 6rem;
  }
}


/*
fonts
*/


body { font-family:var(--font-base);color:var(--text);background-color: var(--grey);margin: 0;min-height: 100vh;font-weight: 500;}
h1, h2,h3, h4, h5, h6,.h2 {font-family: var(--font-base);font-weight: 600;line-height: 1.4;margin: 0}

a {text-decoration:none;color: inherit; transition: color .3s}
a:is(:hover,:active,:focus) {color: var(--primary)}
a.link-zoom {position: relative;}
a.link-zoom:not(.aligncenter):not(.news-item-feat-link) {display: inline-block}
a.link-zoom>span {display: inline-block;overflow: hidden;}
a.link-zoom>span:not(.title):after{content: 'Zoom';width: 120px;height: 120px;
  background-color: #fff;color: var(--primary);border-radius: 50%;display: grid;place-items: center;
  position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%) scale(1.1);text-transform: uppercase;font-weight: 700;opacity: 0;transition: .3s}
a.link-zoom:hover>span:after {opacity: 1;transform: translate(-50%,-50%) scale(1)}

.post-list-item a.link-zoom>span:not(.title):after{content: 'Voir'}

a.link-zoom img {transition: opacity .3s ,transform 1.25s var(--primary-curve);transform-origin: top;font-weight: 700;}
a.link-zoom:is(:hover,:active,:focus) img {transform: scale3d(1.05,1.05,1.05);}

h1 {font-size: 30px}
h2,.h2 {font-size: 26px}
h3.h3 {font-size: 18px;}
h4 {font-size: 16px;}
@media screen and (min-width: 768px) {
   h1 {font-size: 42px;text-transform: uppercase;}
   h2,.h2 {font-size: 28px;text-transform: uppercase;}
   h3,.h3 {font-size: 20px;}
   h4 {font-size: 18px;}
 }
figure {margin: 0;padding: 0;}
p {margin: 0;}

 .clearfix:before,.clearfix:after{content:" ";display:table}
 .clearfix:after{clear:both}

 .ie-alert {padding: 2em; border: red solid 2px;z-index: 999;background: white;position: relative; }

 label {color:inherit;cursor: pointer;}
 table {margin: 1rem 0; }
 ul {margin:0; list-style-type: none; padding: 0;}
 :focus{outline:none !important; }
 img {max-width: 100%;height: auto;}
address {font-style: normal;}

.container-in,
.container {padding-block: var(--s-pad-block);margin-inline: var(--s-pad-inline);}
.container-grid {padding: 0 1rem;}

@media print, screen and (min-width: 768px) {
  .container-grid {display: grid;gap: 2rem;align-items: center}
  .container-md-grid { display: grid; }
  .grid-sm-6 {grid-template-columns: repeat( 2,1fr) }
}

.col-padding {grid-gap: 1rem}
@media print, screen and (min-width: 1200px) {
  .col-padding {grid-gap: 1.5rem}
}

.visible-xs,
.visible-md,
.visible-md-flex,
.visible-lg,
.visible-lg-flex,
.visible-desktop {display: none;}

@media print, screen and (min-width: 470px) {
  .visible-xs {display: block;}
  .hide-xs {display: none;}
}

@media print, screen and (min-width: 768px) {
  .visible-md {display: block;}
  .visible-md-flex {display: flex;}
  .hide-md {display: none;}
}
@media print, screen and (min-width: 1200px) {
  .visible-lg,
  .visible-desktop {display: block;}
  .visible-lg-flex {display: flex;}
  .hide-lg,
  .hide-desktop {display: none;}
}

/*
colors
*/

.btn {padding: 1rem;font-weight: 600;  cursor: pointer;transition: .3s;cursor: pointer;
  display: inline-block; align-items: center; justify-content: flex-start; text-decoration: none; gap: 10px;
  border-radius: var(--btn-radius);
  overflow: hidden;
  color:  var( --primary);
  background-color: #fff;
  border: solid 1px;
  text-transform: uppercase;
  line-height: 1;
}
.btn:active {transform: translateY(.2rem);}
.btn:is(:hover,:focus):not([disabled]) {}


.btn-toggle[aria-pressed="false"] {background-color: var(--grey);border-color:var(--grey);color:var(--text)}
.btn-toggle[aria-pressed="true"]:not([disabled]),
.btn-primary {background-color: var(--primary); color: #fff;border-color: var(--primary)}


.btn-primary:is(:hover,:focus):not([disabled]) ,
[type='submit'].btn-primary:is(:hover,:focus,:active):not([disabled]) {background-color: var( --primary-hover); color:  var(--primary); }

.btn-small {padding:.5rem 2rem}
.btn-hollow {border: currentColor solid 1px; }
.btn-hollow:is(:hover,:focus) {color: white;text-decoration: none;border-color: var(--secondary)}


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; }
#skip a {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
#skip a:focus { position:static; width:auto; height:auto; }

/*
header
*/
html {scroll-padding-top:var(--topbar-h)}
body.header-fixed {padding-top: var(--topbar-h);}
.home-link{display: inline-block;border:0}
.home-link:focus,
.home-link:active {border-bottom-color:currentColor;}

/*
header
*/
html {scroll-padding-top:var(--topbar-h)}
@media screen and (max-width:767px) {
body.header-fixed-mobile {padding-top: var(--topbar-h);}
}


/*
main
*/

.rank-math-breadcrumb {padding:0;margin:0;font-size: 14px;font-weight: 400;}
.page-header+.rank-math-breadcrumb {background-color: var(--color-grey100);padding-block: 1rem; padding-inline: var(--s-pad-inline)}
.rank-math-breadcrumb a{text-decoration: none;display: inline-block;padding-block:4px ;position: relative;text-decoration: none;overflow: hidden;}
.rank-math-breadcrumb>p {display: flex;align-items: center;flex-wrap: wrap;gap: 1rem;}
.rank-math-breadcrumb .last {color: var(--primary)}

.rank-math-breadcrumb a:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: currentColor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.rank-math-breadcrumb a:is(:hover,:focus,:active):after {
  transform: scaleX(1);
  transform-origin: bottom left;
}


.entry-title,
.page-title {margin: 0;line-height: 1.2;}
/* page header */
.page-header {margin: auto;background-color:var(--grey);}
.page-header.no-feat {display: flex;flex-direction: row;align-items: center;}

.page-header .feat-img{margin: auto;width: 100%;object-fit: cover;height: 100%;}
.page-header img{display: block;}
.page-header .header-text {padding-inline: var(--s-pad-inline);padding-block:1rem; width: 100% ;}
@media screen and (min-width:768px) {
  .page-header.no-feat {padding-block: var(--s-pad) }
  .page-header.no-feat .header-text  {gap: 2rem;display: flex;flex-direction: column;padding-block: 0}
  .page-header.has-feat {display: grid;grid-template-columns: 50% 50%;}
  .page-header.has-feat .header-text  {order: -1;margin: auto 0;padding-block:0 }
}

.entry-content {line-height: 1.5;}
.entry-content p+*{margin-top: 1rem;}
.entry-content :is(h1,h2,h3, h4, h5, h6) {margin-block: 1rem;}
.entry-content :is(h1,h2,h3, h4, h5, h6):first-child {margin-top: 0;}
.entry-content strong {font-weight: 700;}
:where(.entry-content) a:not([class]) {color:inherit}
:where(.entry-content) a:not([class]):is(:active,:focus,:hover) {text-decoration: underline;}
.entry-content ul {padding: 0;margin:0;}
.entry-content ul:not([class]) {padding: 0;margin: 1rem 0;list-style-type: disc;list-style-position: inside;}
.entry-content ul:not([class]) li+li {margin-top: .5rem;}
.entry-content ul:not([class])>li::marker {color: var(--primary);position: relative;}

.entry-content .section-style-primary ul>li:before {background-color:currentColor;}
.entry-content ol>li::marker {font-family: 'Lato';font-weight: bold;}
.entry-content ul>li+li {margin-top: 0rem;}


/* more */
.more {font-size: 1rem;position: relative;display: inline-flex; align-items: center; justify-content: flex-start; text-decoration: none; gap: 10px; cursor: pointer;color: var(--primary)}
.more:hover {gap: 1rem;}
a.more {transition: all 0.3s ease-in-out; padding-block: 10px; }
a.more:after{display: block;content: ''; margin-top: 0.2em;background-image: url('img/icon-more.svg'); background-repeat: no-repeat; background-size: contain; width: 22px;height: 14px; }


/* sections */


@media screen and (min-width:768px) {
  /*.section-type-text {padding-block: var(--s-pad);}*/
  .container-in,
  .not-home .entry-section:not(.section-full-width) .container {max-width: 1152px;}
}
@media screen and (min-width:1360px) {
  .container-in,
  .not-home .entry-section:not(.section-full-width) .container {margin-inline: auto}
}

/* texte + image */

.section-type-text-photo .photo {margin: auto;width: 100%;}
.section-type-text-photo.has-image {padding-top: 0;padding-bottom: var(--s-pad-block); padding-inline:0;display: grid;gap: var(--space)}
.section-type-text-photo.has-image .text-wrap{padding-inline: var(--s-pad-inline);}
@media screen and (min-width:768px) {
  .section-type-text-photo .photo { width: 100%; object-fit: cover; height: 100%;}
  .section-type-text-photo.has-image {display: grid;grid-template-columns: 50% 50%;padding: 0;gap: 0}
  .section-type-text-photo.image-pos-right .text-wrap{padding-right: var(--space);padding-block: var(--s-pad-block)}
  .section-type-text-photo.image-pos-right img {order: 2;}
  .section-type-text-photo.image-pos-left .text-wrap{padding-left: var(--space);padding-block: var(--s-pad-block)}
  .section-type-text-photo .text-wrap {align-self: center;}
}
@media screen and (min-width:1200px) {
  .section-type-text-photo {--space:4rem }

}

/* icon box */
.section-type-cards .section-title {margin-bottom: var(--space);}
.section-type-cards .items{display: grid; gap: var(--space); }
.card {padding:  var(--space);border-radius: var(--radius);display: flex;flex-direction: column;gap: var(--space);transition: all .3s}
.card-icon img{width: 32px;height: 32px;object-fit: contain;}
.card-desc {line-height: 1.5;}
.card-desc h3 {transition: .3s}
.card-desc h3:not(:last-child){margin-bottom: var(--h3-margin);}
.card-footer {margin-top: auto;}
.card-more {color: var(--primary);display: flex;gap: .5em;align-items: center;transition: all 0.5s ease-in-out;}

a.card:is(:hover,:focus,:active) h3 {color:var(--primary)}
/*a.card:is(:hover,:focus,:active) img{filter: brightness(2.5) grayscale(1);}*/

@media screen and (min-width: 768px){
  .items.section-nbcol-2  {grid-template-columns: repeat(2,1fr); }
  .items.section-nbcol-3  {grid-template-columns: repeat(3,1fr); }
}

/* accordions */

.section-type-accordions .container{display: flex;gap: var(--space);flex-direction: column;}
.acc-intro-text h2 {
    margin-bottom: var(--h2-margin);
}
@media screen and (min-width: 768px) {
  .section-type-accordions.has-text-intro >.container {
    display: grid;
    grid-template-areas: "intro faq";
    grid-auto-columns: 15.875rem 1fr;
    align-items: flex-start;
  }
  .section-type-accordions.has-text-intro .acc-intro-text {grid-row: span 2; }
  .section-type-accordions.has-text-intro .acc-item {grid-column: faq; }
}
details {padding: 1rem ; background: white;    border-radius: var(--radius-small); transition:box-shadow .3s}
details summary ~ * {animation: close 0.5s ease-in-out forwards}
.acc-title {position: relative;line-height: 1;cursor: pointer;font-weight: 600;cursor:pointer;display: flex;align-items: center;transition: .3s}
summary::-webkit-details-marker {display: none; }
summary .svg-icon {width: 24px; height: 24px; transition: transform .25s linear; margin-left: auto; }

details:hover,
details[open] {box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.05);}
details:hover .acc-title,
details[open] .acc-title {color: var(--primary)}
details[open] summary ~ * {animation: open 0.5s ease-in-out forwards; }
details[open] > summary .svg-icon {transform: rotateZ(180deg);fill:  var(--primary)}
@keyframes open {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes close {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
.acc-text {margin-top: 1rem;}
.acc-text img{display: block;}

/* bloc nav */
.section-type-nav-grid .container {padding-bottom: 0;}
.section-type-nav-grid .section-title {margin-bottom: var(--h2-margin)}
.section-type-nav-grid .nav-items {display: grid;grid-template-columns: 1fr; gap: 1px;}
.section-type-nav-grid .nav-item {padding: var(--s-pad-block) var(--s-pad-inline);position: relative;isolation: isolate;overflow: hidden;background: #ffffff;}
.section-type-nav-grid .nav-item img{position: absolute;left: 0;top: 0;right: 0;width: 100%; height:100%;object-fit: cover;z-index: -2;}
.section-type-nav-grid .nav-item::after {content: '';display: block;position: absolute;inset: 0; background-color: black; opacity: 0.7 ;z-index: -1;}
.section-type-nav-grid .nav-item .overlay {display: flex;flex-direction: column;gap: 1rem;align-items: flex-start;color: #fff}
.nav-item-title {display: block;transition: .3s}
@media screen and (min-width:768px) {
  .section-type-nav-grid .nav-items {grid-auto-flow: column;grid-auto-columns: 1fr; gap: 1px;background: #ddd;}
  .section-type-nav-grid .nav-item {padding-block: var(--s-pad-inline);padding-inline: var(--s-pad-block);}
  .section-type-nav-grid .nav-item img {opacity: 0;transition: .3s; }
  .section-type-nav-grid .nav-item .overlay {gap: 2rem;color: var(--text)}
  .section-type-nav-grid .nav-item:hover img {opacity: 1}
  .section-type-nav-grid .nav-item::after {opacity: 0;transition:.3s ;display: block; }
  .section-type-nav-grid .nav-item:hover::after {opacity: .7;}
  .section-type-nav-grid .nav-item:hover .overlay {color: #fff}
}


/* cta */
.section-type-cta {overflow: hidden;position: relative;}
.section-type-cta >img{position: absolute;width: 100%;height: 100%;object-fit: cover;z-index: 1;top: 0;left: 0;}
.section-type-cta:after {position: absolute; content:""; height:100%; width:100%; top:0; left:0; z-index: 2;
    background:  hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.75) ;
}
.section-type-cta .container.overlay{position: relative; z-index: 3;color: white;max-width: 730px;    justify-content: center; align-items: center;}
@media screen and (min-width:768px) {
  .section-type-cta .container.overlay {--s-pad-inline: 0;--s-pad-block: 6rem;margin: auto}
  .section-type-cta .text-wrap {text-align: center;}
}

/* html */

.section-type-html h2{margin-bottom: var(--space)}
.section-type-html #sbi_mod_link,.section-type-html #sbi_mod_error {float: none;}

/* regroupe les sections avec la meme couleur de fond */
.section-group .entry-section:first-child{padding-bottom: 1rem;}
.section-group .entry-section+.entry-section {padding-top: 1rem;}
.section-group .entry-section+.entry-section:not(:last-child) {padding-bottom: 1rem;}

/* splide carousel */

.splide {padding-inline: 0;}
.section-type-text .splide:not(:last-child) {margin-bottom: 1rem;}
.splide .splide__arrow--prev {left: 0;}
.splide .splide__arrow--next {right: 0;}
.splide .splide__arrows {display: none;}
.splide .splide__arrow {width: 2rem;height: 2rem;transition: .3s}
.splide .splide__arrow:hover {opacity: 1;background-color: var(--primary);}
.splide .splide__arrow svg {transition: .3s}
.splide .splide__arrow:hover svg{fill: #fff}

@media screen and (min-width:1025px) {
  .splide .splide__arrows {display: block;}
  .section-type-text.splide {padding-inline: 2rem}
}
@media screen and (min-width:1200px) {
  .splide.has-arrows {padding-inline: 4rem}
  .splide .splide__arrows {display: block;}
}
.splide__list {gap:0;align-items: stretch;}
.splide__slide img {max-width: none; width: 100%; display: block;aspect-ratio: 360 / 204;object-fit: cover;border-radius: var(--radius)}
.carousel-logo .splide__slide img {object-fit: contain}
@media  (max-width:767px) {
  .splide__slide img {aspect-ratio: 360 / 204;object-fit: cover;}
}
.splide__pagination {gap: 2rem;bottom: 1rem; position: absolute; }
.splide__pagination__page {border: 0;width: 10px;height: 10px;display: block;padding: 0; background: rgba(255,255,255,.5);cursor: pointer; border-radius: 50%; box-shadow: 0px 0px 0px 2px rgb(0 0 0 / 33%); }
.splide__pagination__page.is-active {background-color: white;box-shadow: 0px 0px 0px 2px rgb(0 0 0 );}
@media screen and (min-width:768px) {
  .splide__pagination {bottom: 2rem; }
}
a.gal-lightbox {border-radius: var(--radius);display: block;overflow: hidden;
  background-color: var(--primary);
  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;display: block;}
a.gal-lightbox:hover>img{opacity: 0.5;}
a.gal-lightbox:hover>svg{opacity: 1;}


.section-type-carousel {position: relative;}
.section-type-carousel .splide.carousel {overflow: hidden;padding: 0;margin: 0;}

.section-type-carousel .splide__slide .text-wrap {
  padding:2rem var(--s-pad-inline) var(--s-pad-block);
}
:is(.section-type-carousel,.section-type-text) .splide__pagination {position: static;transform: none;margin-top: 1rem;}
@media screen and (max-width:767px) {

}
@media screen and (min-width:768px) {
  .section-type-carousel {}
  .section-type-carousel .splide__slide {display: grid;gap: 1rem;}
  .section-type-carousel .carousel .splide__slide {grid-template-columns: 1fr 66.66%;}
  .section-type-carousel .carousel .splide__slide picture{order: 2;position: relative;}
  .section-type-carousel .carousel .splide__slide picture::after{content: '';
    position: absolute;display: block;left: 0;right: 0;top: 0;bottom: 0;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.75) 100%)
  }

  .section-type-carousel .splide__slide .text-wrap {align-self: center; padding: 0;padding-left: var(--s-pad-inline);  }
  .section-type-carousel .splide__pagination {position: absolute;justify-content: flex-start;left: var(--half-min);bottom: 1rem ;transform: none}
}
:is(.section-type-carousel,.section-type-text) .splide__pagination {gap: .5rem}
:is(.section-type-carousel,.section-type-text) .splide__pagination__page {width: 10px;height: 10px;border-radius: 5px;box-shadow:none}
:is(.section-type-carousel,.section-type-text) .splide__pagination__page.is-active {transform: none;background: var(--primary);box-shadow:none;opacity: 1; width: 16px;}

.splide.thumbnail-carousel {display: none;}
@media screen and (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
 */

/*
actu list
*/
.posts-list {display: grid;gap: var(--space); grid-template-columns: 1fr; }


@media screen and (min-width: 768px) {
  .posts-list {grid-template-columns: repeat(2, 1fr); }
}
@media screen and (min-width: 992px) {
  .posts-list {grid-template-columns: repeat(3, 1fr); }
}
@media screen and (min-width: 1300px) {
  .posts-list {grid-template-columns: repeat(4, 1fr); }
}
/* pagination */
.pagination-wrap {padding-top: var(--space);}
.pagination  {display: flex;gap: 1rem}
.pagination .page-link {background-color: #fff; border-radius: var(--radius); line-height: 1; padding: 1rem; min-width: 2rem; border: white solid 1px;display: block; transition: .3s}
.pagination .page-link:hover {border-color: var(--primary)}
.pagination .page-link.current {background-color: var(--primary);color: white}
.pagination .page-link.pagination-previous,
.pagination .page-link.pagination-next {padding:1rem;}


/*
single actu
*/
.single .entry-meta {padding-top: 0;}
.post-categories,
.single .entry-meta {display: flex;gap: 1rem; align-items: center;}
.post-categories a {display: block;padding: .25rem .5rem;background-color: #DBEAF5 ;color: var(--text);transition: .3s;}
.post-categories a:is(:hover,:focus,:active) {background-color: var(--primary);color: white;text-decoration: none;}
.single .main-container a.link-zoom {display: inline-block;}
.single .main-container a.link-zoom+* {margin-top:  var(--space);}

/* widgets actu */
.site-sidebar .widget-title {margin-bottom: 1rem;font-weight: 400;text-transform: none;}
.site-sidebar .widget-news nav>ul{display: grid;gap: var(--space)}

.post-list-item {display: flex;flex-direction: column;}

.post-list-item a.link-zoom>span,
.post-list-item a.link-zoom {display: block;}

.post-list-item img {display: block;width: 100%; }
.post-list-item .entry-content {display: flex;flex-direction: column;gap: .5rem;justify-content: flex-start;padding: 1rem;background-color: var(--grey);}
.post-list-item .entry-title{display: inline-block;position: relative;text-decoration: none;overflow: hidden;width: fit-content;}
/*.post-list-item .entry-title:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: currentColor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
.post-list-item .entry-title:hover:after {transform: scaleX(1); transform-origin: bottom left; }*/
.post-list-item .entry-date {font-size: 14px;text-transform: uppercase;display: block}

:is(.widget-news,.posts-list) .post-list-item .post-categories a{background-color: #fff;}
:is(.widget-news,.posts-list) .post-list-item .post-categories a:is(:hover,:active,focus){background-color: var(--primary);color: white}

/*.post-list-item .post-categories a {background-color: #fff;transition: .3s;text-decoration: none; }
.post-list-item .post-categories a:is(:hover,:activ,:focus) {background-color: var(--primary);text-decoration: none;color: white}*/

@media screen and (min-width: 768px) {
  .site-sidebar .widget-news ul{grid-template-columns: 1fr 1fr;}
}
@media screen and (min-width: 992px) {
  .site-sidebar .widget-news ul{grid-template-columns: repeat(3,1fr);}
}

/* template portfolio */
.happyfiles-gallery .blocks-gallery-grid {display: grid;gap: var(--space)}
@media screen and (min-width: 768px) {
  .happyfiles-gallery .blocks-gallery-grid  {grid-template-columns: repeat(2,1fr);}
}
@media screen and (min-width: 992px) {
  .happyfiles-gallery .blocks-gallery-grid  {grid-template-columns: repeat(3,1fr);}
}
@media screen and (min-width: 1300px) {
  .happyfiles-gallery .blocks-gallery-grid  {grid-template-columns: repeat(4,1fr);}
}
/* thumb hover zoom */
.happyfiles-gallery .blocks-gallery-item {position: relative;display: block;cursor: pointer}
.happyfiles-gallery .blocks-gallery-item>figure {display: block;overflow: hidden;}
.happyfiles-gallery .blocks-gallery-item:after{content: 'Voir';width: 120px;height: 120px;
  background-color: #fff;color: var(--primary);border-radius: 50%;display: grid;place-items: center;
  position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%) scale(1.1);text-transform: uppercase;font-weight: 700;opacity: 0;transition: .3s}
.happyfiles-gallery .blocks-gallery-item:hover:after {opacity: 1;transform: translate(-50%,-50%) scale(1)}
.happyfiles-gallery .blocks-gallery-item img {transition: transform 1.25s var(--primary-curve);transform-origin: top;font-weight: 700;}
.happyfiles-gallery .blocks-gallery-item:hover img {transform: scale3d(1.05,1.05,1.05);}

/* plugin portfolio */
.portfolio-grid {display: grid; gap: 1rem;}
@media screen and (min-width: 768px) {
  .portfolio-grid  {grid-template-columns: repeat(2,1fr);}
}
@media screen and (min-width: 992px) {
  .portfolio-grid  {grid-template-columns: repeat(3,1fr);}
}
@media screen and (min-width: 1300px) {
  .portfolio-grid  {grid-template-columns: repeat(4,1fr);}
}
.portfolio-link {position: relative; display: block; cursor: pointer;font-weight: 700;}
.portfolio-link>figure {display: block; overflow: hidden}
.portfolio-link img {transition: transform 1.25s var(--primary-curve); transform-origin: top;display: block;}
.portfolio-link>figure:after {
    content: 'Voir';
    width: 120px;
    height: 120px;
    background-color: #fff;
    color: var(--primary);
    border-radius: 50%;
    display: grid;
    place-items: center;
    position: absolute;
    left: 50%;
    top: 45% ;
    transform: translate(-50%,-50%) scale(1.1);
    text-transform: uppercase;
    font-weight: 700;
    opacity: 0;
    transition: .3s;
}
.portfolio-link:is(:hover,:active,:focus) figure:after  {opacity: 1; transform: translate(-50%,-50%) scale(1); }
.portfolio-link-title {display: block;background-color: var(--grey);padding: 1rem;text-transform: uppercase;}
@media screen and (min-width: 768px) {
  .portfolio-link-title {font-size: 20px; }
}

.portfolio-single-filter {display: flex;gap:1rem;flex-wrap: wrap;margin-bottom: 2rem;}
.portfolio-single-grid {display: grid; gap: 2rem;}
.portfolio-single-grid+.portfolio-single-grid {margin-top: 2rem;}
@media screen and (min-width: 768px) {
  .portfolio-single-grid  {grid-template-columns: repeat(3,1fr);}
}
@media screen and (min-width: 992px) {
  .portfolio-single-grid  {grid-template-columns: repeat(4,1fr);}
}
@media screen and (min-width: 1300px) {
  .portfolio-single-grid  {grid-template-columns: repeat(5,1fr);}
}
.portfolio-single-grid[aria-hidden="true"] {
  display: none;
}
.portfolio-single-grid[aria-hidden="false"] {
  animation: open 0.5s ease-in-out forwards;
}
/* shortcodes */

.SC-news .post-list-item.news-item-feat .entry-content {flex: 0;padding: var(--space)}

.SC-news .items article + article {margin-top: var(--space);}
.news-item-link {flex-direction: row;display: flex;background-color: var(--grey);}

@media (max-width: 767px) {
  .SC-news .view-all,
  .SC-news .news-item-feat {margin-bottom: var(--space)}
}
@media (min-width: 768px) {

  .news-item-link img {width: 14%;}
}
.news-item-feat .title {padding: var(--space)}
.news-item-link .title{align-self: center;padding: 1rem;}
.news-item-feat-link {display: block;height: 100%;background-color: var(--grey);}
.news-item-feat a.link-zoom>span {display: block;position: relative;}


@media screen and (min-width: 400px) {
  .SC-news {display: grid;
    gap: var(--s-pad);
    grid-template-areas:
    "title btn"
    "feat feat"
    "list list";

  }
  .SC-news>.title {grid-area: title;margin-bottom: 0 }
  .SC-news>.view-all {grid-area: btn;text-align: right;margin-bottom: 0  }
  .SC-news>.news-item-feat {grid-area: feat}
  .SC-news>.items {grid-area: list}

}
@media screen and (min-width: 992px) {
  .SC-news {display: grid; grid-template-columns: 1fr 1fr;gap: var(--space)}
  .news-item-link .title{padding-inline: 1vw}
}

@media screen and (min-width: 992px) {
  .SC-news {
    grid-template-areas:
    "title btn"
    "feat list";
  }
  .SC-news .news-item-feat img {width: 100% }
  .SC-news .news-item-feat .title {font-size: 1.25rem;margin: auto 0;}
  .news-item-feat-link {display: flex;flex-direction: column;}
  .news-item-feat-link {padding-block: 0;margin: auto 0;}
}
@media screen and (min-width: 1900px) {
.SC-news {grid-template-columns: 847px minmax(auto,900px);}
}

/*
contact
*/

.tpl-template-contact .section-type-contact {padding-inline: var(--s-pad-inline); padding-block: var(--s-pad-inline); display: flex;flex-direction: column;gap: var(--s-pad);background-color: #fff;}

.contact-address-wrap {display: grid;gap:3rem}
@media screen and (min-width: 768px) {
  .tpl-template-contact .section-type-contact {display: grid;
    grid-template-areas:
    "form adresse"
    "map map";
    grid-template-columns: 1fr 1fr;
  }
  .contact-address-wrap {grid-area: adresse;align-content: start;}
  .contact-form-wrap {grid-area: form;}
  .contact-map-wrap {grid-area: map;position: relative;overflow: hidden;}

  /*.contact-map-wrap img{width: 100%;height: 100%;object-fit: cover;object-position: top;position: absolute;left: 0;top:0 }*/
  .contact-map-wrap .map-link.link-zoom{display: block;}
  .contact-map-wrap .map-link.link-zoom,
  .contact-map-wrap .map-link.link-zoom span {width: 100%;height: 100%  }
  .contact-map-wrap .map-link img{width: 100%;height: 100%;object-fit: cover;}
}
@media screen and (min-width: 1100px) {
  .tpl-template-contact .section-type-contact {
    grid-template-areas:
    "adresse map"
    "form map";
  }
  .contact-address-wrap {display: grid;gap:2rem 1rem;grid-template-columns: 1fr 1fr}
  .contact-map-wrap .leaflet-container{height: 100% !important;  }
}

.wpcf7 {padding: 0;}

.contact-items {display: flex;gap: 1rem;flex-direction: column;}
.contact-items li {display: flex;align-items: center;gap: 1rem}
.contact-items .contact-adr strong {display: block;}
.contact-items .contact-mail {white-space: nowrap;}
.contact-address-wrap .contact-items .svg-icon {fill: var(--primary);width: 1.25rem;height: 1.25rem;}
.contact-address-wrap .contact-items .contact-address .svg-icon {align-self: flex-start;}

@media screen and (min-width: 768px) {
  .wpcf7-form {position: relative;}
}

.wpcf7-form {display: grid;gap: 1rem;}
.wpcf7-form label {display: block;margin-bottom: 0.5rem;margin-top: 0;}
[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],
textarea {
  color: var(--text);padding: 1rem ;width: 100%;
  border:solid 1px white;
  font-size: 1rem;
  border-radius: var(--radius-small);
  background-color: var(--grey);
}
select.wpcf7-form-control {padding: 1rem; width: 100%; border-color: white;
  font-size: 1rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;       /* Remove default arrow */
  background: var(--grey) no-repeat center right 1rem;   /* Add custom arrow */

  background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20fill%3D%22%23222222%22%20d%3D%22M12.4853%2014.0711L5.41421%207L4%208.41421L12.4853%2016.8995L20.9706%208.41421L19.5563%207L12.4853%2014.0711z%22%2F%3E%3C%2Fsvg%3E');
  background-size: 1.5em;
}

.wpcf7 input:focus {border-color: var(--primary)}

.red {color: #ff5408;}

@media screen and (min-width: 768px) {
  .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 {font-size: 0.8em;margin-left: 1rem;}
.wpcf7-validation-errors {color: #bf2b47; }

.form-submit {position: relative;}
.wpcf7-submit {width: 100%;justify-content: center;}
.wpcf7 .wpcf7-spinner {margin: 0 1rem;top: 0.5rem;position: absolute;right: 0;}
.wpcf7 form .wpcf7-response-output {margin: 0;border-radius:var(--radius-small) }


@media screen and (min-width: 992px) {
  .wpcf7-form {position: relative;}
  .wpcf7 .wpcf7-file {margin-bottom: 1.5rem;}
  .wpcf7-submit {width: auto;justify-content:flex-start}
  .wpcf7 .wpcf7-spinner {position: relative;top: 0.5rem  }
  .wpcf7 form .wpcf7-response-output { position: absolute; bottom: 0; right: 0; left: 7.7rem;}
  .wpcf7 form .wpcf7-response-output {margin: 0 !important;line-height: 1.2;}
}
@media screen and (min-width: 1080px) {
  .wpcf7 form .wpcf7-response-output {line-height: 1.4;bottom: 0.4rem;}
}

/*
footer
*/

.site-footer ul {padding: 0;margin:0 auto}

/*
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
*/
#cookie-notice {font-family: sans-serif;}
#cookie-notice .cn-button {margin-bottom: 0;}
#cn-revoke-text {display: none;}
.cookies-refused #cookie-notice,
.cookies-accepted #cookie-notice {position: static; }
/* hide google recaptcha badge */
.grecaptcha-badge {visibility: hidden;}
/* cookieyes hide ads section */
#ckyDetailCategoryadvertisement {display: none;}
/* styles/mini-7-dark.css */

.site-footer {background-color: var(--secondary); color: white;}
:where(.site-footer) .container {text-align: left;display: flex;flex-direction: column;gap: 1rem}
.site-footer .widget-title {margin-bottom: 1rem;font-weight: 600;text-transform: uppercase;font-size: 1rem;}
.site-footer .copyright,
.site-footer a:not(.social-link){display: inline-block;padding: .5rem 0;position: relative;text-decoration: none;overflow: hidden;}
.site-footer a:not(.social-link):after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #fff;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.site-footer a:not(.social-link):hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.site-footer a:is(:hover,:focus,:active){color: #fff}
.bottom-footer {border-top: white solid 1px}
.bottom-footer .menu {display: flex; gap: 1rem; flex-direction: column; }
.footer-3 .widget+.widget {margin-top: 1rem }
.footer-3 .widget_media_image img {height: 78px!important;width: auto;  }
@media screen and (min-width: 768px) {
  :where(.site-footer) .container  {flex-direction: row;}
  .nav-footer {justify-content: space-between;font-size: 20px  }
  .nav-footer .cell {flex: 1 1 33.33%}
  .bottom-footer {justify-content: space-between;}
  .bottom-footer .widget_nav_menu { order: 2}
  .bottom-footer .menu {flex-direction: row;}
  .footer-3 .widget+.widget {margin-top: 2rem }
  /*.footer-3 .widget_media_image img {height: 78px!important;width: auto;  }*/
}

/* widget social */
.social-items {display: flex;gap: 1rem;flex-wrap: wrap; }
.social-items a{display: block;padding: 7px;background-color: #fff;border-radius: 32px;width: 32px;height: 32px;display: flex;align-items: center;}
.social-items svg{fill: var(--primary)}

/* anim titre */
.split>span {display: block; overflow: hidden; }
.split span span {display: block; -webkit-transform: translateY(104%); transform: translateY(104%); }

/* anim bouton */
.button--nina {overflow: hidden;position: relative;}
.button--nina::before {content: attr(data-text); position: absolute; transition: transform 0.3s, opacity 0.3s; transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); }
.button--nina:not([disabled]):hover::before {opacity: 0; transform: translate3d(0, 100%, 0); }
.button--nina > span {vertical-align: middle; display: inline-block; opacity: 0; transform: translate3d(0, -10px, 0); transition: transform 0.3s, opacity 0.3s; transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); }
.button--nina:not([disabled]):hover > span {opacity: 1; transform: translate3d(0, 0, 0);transition-delay:var(--delay)}
.button--nina:hover > span:nth-child(1) {--delay: 0.045s }
.button--nina:hover > span:nth-child(2) {--delay: 0.09s }
.button--nina:hover > span:nth-child(3) {--delay: 0.135s }
.button--nina:hover > span:nth-child(4) {--delay: 0.18s }
.button--nina:hover > span:nth-child(5) {--delay: 0.225s }
.button--nina:hover > span:nth-child(6) {--delay: 0.27s }
.button--nina:hover > span:nth-child(7) {--delay: 0.315s }
.button--nina:hover > span:nth-child(8) {--delay: 0.36s }
.button--nina:hover > span:nth-child(9) {--delay: 0.405s }
.button--nina:hover > span:nth-child(10){--delay: 0.45s }
.button--nina:hover > span:nth-child(11){--delay: 0.495s }
.button--nina:hover > span:nth-child(12){--delay: 0.54s }
.button--nina:hover > span:nth-child(13){--delay: 0.585s }
.button--nina:hover > span:nth-child(14){--delay: 0.63s }