/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Thème enfant GeneratePress
 Author:       Ton Nom
 Template:     generatepress
 Version:      1.0
*/


/* :root {
	--class: 1.11111rem;
} */

:root {
	--contrastcolor: #141410;
	--clarcolor: /*#58574a*/#595959;
	--blanc:#ffffff;
	--lightbeige:#e9e7d3;
	--energy:/*#FFF23Cjaune*/#FFFEF5;
	--whity:#cdcdcd;
	
	--mainfont: hoss-round, sans-serif;
	--secondfont: inter, sans-serif;
	
	--generalradius:3px;
}

/* ------------------------------
   RESET / BASE
--------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
	    overflow-x: hidden;
	margin: 0;
	padding: 0;
	font-family: var(--mainfont);
	font-style: normal;
	font-size:16px;
}
.site-header{
	background:transparent;
}
.site-footer,.entry-meta{
	display:none;
}

a{
	font-weight:500;
}
u{
  text-decoration-color: inherit;
  text-decoration-thickness: 0.07em;
	text-underline-offset: 4px;
}
strong{
	font-weight:600;
}
/*RADIUS*/
img, lottie-player,.cadre{
	border-radius:var(--generalradius);
	overflow: hidden;
}
/* espaces dans la card */
.flexbox-card .gb-loop-item img{
	margin:0;
}
/* fonds sections */
.bg-light{
	background:var(--blanc);
}
.bg-colored{
	background:yellow;
}
.bg-dark{
	background:black;
}

/* ------------------------------
   IMAGES & VISUELS
--------------------------------- */
.img-rounded {
  border-radius: var(--generalradius);
}

/* ------------------------------
   UTILITAIRES
--------------------------------- */
.hidden {
  display: none !important;
}
.transparent{
	opacity:0;
}


/* ------------------------------
   TYPOGRAPHIE
--------------------------------- */
h1, h2, h3, h4, p {
	font-size: unset;
    margin-bottom: unset;
    line-height: unset;
	font-weight:500;
    letter-spacing: -0.01em;
    line-height: 150%;
	font-size: 16px;
}
h1, h2, h3{
	font-family: var(--mainfont);
    letter-spacing: normal;
    line-height: 130%;
}
h1{
	font-weight:400;
	-webkit-text-stroke: .5px var(--contrastcolor);
  /* Pour compatibilité non-WebKit (facultatif mais utile) */
  text-stroke: .5px var(--contrastcolor);
}

/* ------------------------------
   GLOBAL STRUCTURE
--------------------------------- */
/* Supprimer les paddings par défaut de GeneratePress */
.site-content,
.inside-article{
  padding: 0 !important;
}
.entry-content, .site-main{
	margin:0!important;
}

.container{
	margin: 0 auto;
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px;
}
/* mobile */
@media (max-width: 768px) {
	.container{
		margin-top:2rem; /* espace top page */
	}
}

.customcontainer{
	max-width:1440px;
	margin:auto;
    padding-left: 40px;
    padding-right: 40px;
}

/* bigscreen */
@media (min-width: 1148px) {
  .customcontainer{
	/*max-width:1180px;*/
	max-width:1340px;
	}
}
/* mobile */
@media (max-width: 768px) {
  .customcontainer{
    padding-left: 1.1rem;
    padding-right: 1.1rem;
	}
}

/* ================================
   TYPOGRAPHY CLASSES
   ================================ */
/* itemmenu-18 */
.itemmenu-18 {
  font-size: 18px;
}

/* ITEM */
.item-a-b {
  font-size: 18px;
}
@media (min-width: 768px) {
  .item-a-b {
    font-size: 20px;
  }
}


/* SUBTITLE */
.subtitle-a-b {
	font-size: 12px;
}
@media (min-width: 768px) {
  .subtitle-a-b {
	font-size: 14px;
  }
}

.borderbottom/*,.single-post .article-title-a-b*/{
	border-bottom:1px solid;
	border-color:var(--lightbeige);
}

/* article-title-a-b */
.article-title-a-b {
	font-size: 24px;
	padding-bottom:2rem;
	text-align:center!important;
}
@media (min-width: 768px) {
  .article-title-a-b {
	font-size: 30px;
	padding-bottom:4rem;
  }
}

/* intro-a-b */
.intro-a-b {
	font-size: 32px;
}
@media (min-width: 768px) {
  .intro-a-b {
	font-size: 36px;
  }
}

/* TITLE */
.title-e-f {
	font-size: 39.5px;
}
@media (max-width: 995px) {
  .title-e-f {
	font-size: 36px;
  }
}
@media (max-width: 768px) {
  .title-e-f {
	font-size: 30px;
  }
}

.title-c-d {
	font-size: 19px;
}
@media (min-width: 768px) {
  .title-c-d {
	font-size: 24px;
  }
}

.title-a-b {
	font-size: 18px;
	letter-spacing:normal;
}
@media (min-width: 768px) {
  .title-a-b {
	font-size: 20px;
  }
}

/* TEXT BIG */
.text-e-f {
	font-size: 24px;
}
@media (min-width: 768px) {
  .text-e-f {
    font-size: 28px;
  }
}

/* TEXT MOYEN */
.text-c-d {
	font-size: 16px;
}
@media (min-width: 768px) {
  .text-c-d {
    font-size: 18px;
  }
}

/* TEXT PETIT */
.text-a-b {
	font-size: 16px;
}
@media (min-width: 768px) {
  .text-a-b {
    font-size: 18px;
  }
}

/* mini-a-b */
.mini-a-b {
	font-size: 12px;
	text-transform:uppercase;
	font-weight:500;
	color:var(--clarcolor);
	padding-bottom: .5rem;
	letter-spacing:0.01rem;
}
@media (min-width: 768px) {
  .mini-a-b {
    font-size: 14px;
  }
}

/* desc-a-b */
.desc-a-b-home{
	font-weight:500;
	color:var(--clarcolor);
	max-width:90%;
}



/* ================================
   BUTTONS (UTILS)
   ================================ */

.flexline-btns .wp-element-button{
	height: 46px;
    cursor: pointer;
    padding: 0px 0px;
    border-radius: 4px;
    transition: 0.2s ease-in-out;
	
	font-family: var(--mainfont);
	
	 text-decoration:underline;
  text-decoration-color: inherit;
  text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
}
.flexline-btns .clear.wp-element-button{
	background:transparent!important;
	color:var(--contrastcolor)!important;
}
.flexline-btns .dark.wp-element-button{
	background:transparent!important;
	color:var(--contrastcolor)!important;
}
.flexline-btns .light.wp-element-button{
	background:transparent!important;
	color:#FFFEF5!important;
}

.flexline-btns .wp-element-button:hover{
	        opacity: 0.9;
        transform: translateY(-1px);
    transition: 0.2s ease-in-out;
}

.wp-element-button.specialtxt{
	background:transparent!important;
	color:var(--contrastcolor)!important;
	
	font-family: var(--mainfont);
	font-size:20px!important;
	
  text-decoration-color: inherit;
  text-decoration-thickness: 0.07em;
	text-underline-offset: 4px;
}




/* ------------------------------
   GRILLES
--------------------------------- */
/* LOCK CADENAS */
.noclick .flexbox-card{
	position:relative;
  cursor: default;
  color: inherit; /* optionnel pour pas avoir le bleu du lien */
  text-decoration: none;
}
.noclick .flexbox-card::after {
	content: '';
	position: absolute;    
	top: 1rem;
    right: 1rem;
    width: 28px;
	height: 28px;
	background-image: url('/wp-content/uploads/2025/06/cadenas-oreg-blck.png');
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.1s ease;
	pointer-events: none;
	
    filter: invert(1);
}
.flexbox-card:hover::after {
  animation: shake-lock 0.3s ease;
}
@keyframes shake-lock {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(8deg); }
  50% { transform: rotate(-8deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0deg); }
}
/* FIN LOCK */

.rhythm-solo{
	overflow:hidden;
}
.rhythm-solo img{
	border-radius:unset;
}

.loop-grid-rhythm-duo .gb-loop-item,
.loop-grid-rhythm .gb-loop-item{
}

.loop-grid-rhythm-duo .cadre,
.loop-grid-rhythm .cadre{
	aspect-ratio: 625 / 762;
	overflow:hidden;
	border-radius:var(--generalradius);
}
.loop-grid-rhythm img,
.loop-grid-rhythm-duo img{
	height:100%;
	width:100%;
    object-fit: cover;
}

/* HOVER CARD */
.loop-grid-rhythm a img,
.loop-grid-rhythm-duo a img,
.rhythm-solo a img{
transition: 0.4s ease-in-out;
}
.loop-grid-rhythm a:hover img,
.loop-grid-rhythm-duo a:hover img,
.rhythm-solo a:hover img{
transition: 0.4s ease-in-out;
  transform: scale(1.03); /* ou 1.05 si tu veux plus subtil */
}

/* RYTHM HOME DUO */
.loop-grid-rhythm-duo,
.loop-grid-rhythm {
  display: flex!important;  flex-wrap: wrap;
  gap: 2rem;
	row-gap:6rem;
}

/* Mobile: full width */
.loop-grid-rhythm-duo > * {
  width: 100%;
}

/* Tablet (min 768px) */
@media (min-width: 640px) {
  /* 2-col blocks */
  .loop-grid-rhythm-duo > *:nth-child(10n+1),
  .loop-grid-rhythm-duo > *:nth-child(10n+2) {
    width: calc((100% - 2rem) / 2);
  }
}

/* Desktop (min 1224px): full pattern 2/3/2/3 */
@media (min-width: 1024px) {
  .loop-grid-rhythm-duo > *:nth-child(10n+1),
  .loop-grid-rhythm-duo > *:nth-child(10n+2){
    width: calc((100% - 2rem) / 2);
  }
}

/* RYTHM HOME TRIO */

/* Mobile: full width */
.loop-grid-rhythm > * {
  width: 100%;
}

/* Tablet (min 640px) */
@media (min-width: 640px) {
  /* 3-col group: items 1-3, 6-8 */
  .loop-grid-rhythm > *:nth-child(10n+1),
  .loop-grid-rhythm > *:nth-child(10n+2),
  .loop-grid-rhythm > *:nth-child(10n+3),
  .loop-grid-rhythm > *:nth-child(10n+6),
  .loop-grid-rhythm > *:nth-child(10n+7),
  .loop-grid-rhythm > *:nth-child(10n+8) {
    width: calc((100% - 4rem) / 3);
  }

  /* 2-col group: items 4-5, 9-10 */
  .loop-grid-rhythm > *:nth-child(10n+4),
  .loop-grid-rhythm > *:nth-child(10n+5),
  .loop-grid-rhythm > *:nth-child(10n+9),
  .loop-grid-rhythm > *:nth-child(10n+10) {
    width: calc((100% - 2rem) / 2);
  }
}

/* Desktop (min 1024px) */
@media (min-width: 1024px) {
  /* Même logique que pour tablet */
  .loop-grid-rhythm > *:nth-child(10n+1),
  .loop-grid-rhythm > *:nth-child(10n+2),
  .loop-grid-rhythm > *:nth-child(10n+3),
  .loop-grid-rhythm > *:nth-child(10n+6),
  .loop-grid-rhythm > *:nth-child(10n+7),
  .loop-grid-rhythm > *:nth-child(10n+8) {
    width: calc((100% - 4rem) / 3);
  }

  .loop-grid-rhythm > *:nth-child(10n+4),
  .loop-grid-rhythm > *:nth-child(10n+5),
  .loop-grid-rhythm > *:nth-child(10n+9),
  .loop-grid-rhythm > *:nth-child(10n+10) {
    width: calc((100% - 2rem) / 2);
  }
}


/* ------------------------------
   PROJECT ARTICLE
--------------------------------- */
.featured-image.page-header-image-single.grid-container.grid-parent, .entry-header{
	display:none;
}

.projintrosection{
	margin-top:6rem;
}
@media (max-width: 768px) {
	.projintrosection{
	margin-top:2rem;
	}
}

/* RYTHM PROJETS---------- */
.grid-proj{
	gap:1rem!important;
	margin-bottom:1rem;
}
@media (max-width: 768px) {
	.grid-proj{
		gap:0.5rem!important;
		margin-bottom:0.5rem; /* espace entre les elements d'un projet */
	}
}

/* DESCRIPTION ----------*/

.flex-coldesc{
	max-width:670px;
	margin-top:4rem;
	margin-bottom:6rem;
}
.flex-coldesc .subtitle-a-b{
	margin-bottom:1rem;
	font-size:18px;
}
.row-2desc{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	column-gap:4rem;
}
.row-2desc .flex-coldesc {
  width: 100%;
  max-width: calc( 50% - 2rem );
  height: auto;
}
.flex-coldesc.introcol1{
	display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
}
.introlists{
	max-width:100%!important;
    column-gap: 3rem;
    align-self: baseline;
}
.introlists p{
	color: var(--clarcolor);
	font-size:15px;
	margin-bottom: .2rem;
	position:relative;
}
.introlists p:before{
	content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url(/wp-content/uploads/2025/05/arrow-oreg.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
    margin-bottom: -2px;
}

@media (max-width: 1068px) {
	.flex-coldesc .subtitle-a-b{
		font-size:unset;
	}
}
@media (max-width: 768px) {
	.flex-coldesc{
		margin-top:2rem;
		margin-bottom:4rem;
	}
	.row-2desc .flex-coldesc {
		flex-direction:column;
		max-width: 100%;
	}
	.flex-coldesc.introcol1{
		margin-bottom:0rem;
	}
	.introlists{
		margin-top:1.5rem;
		column-gap: 1rem;
	}
}

/*plus utilisé c'était la v1 */
.row-tab{
	display: flex;
    flex-wrap: wrap;
	padding:.5rem 0;
	border-top:1px solid;
	border-color:lightgrey;
}
.row-tab .item-tab {
	width:70%;
	color:var(--whity);
}
.row-tab .item-tab.title {
	max-width:30%;
}
@media (max-width: 768px) {
	.flexy .col-tab {
		max-width: calc( 50% - 1rem );
	}
}

/* 1 IMAGE ----------*/
.flex-1imagefull {
	width:100%!important;
}
.grid-proj.flex-1image img{
	margin-bottom:-0.5rem!important;
}

/* 2 IMAGES ----------*/
.flex-2images {
  display: flex;
  justify-content: center; /* centrer le tout */
  flex-wrap: wrap; /* pour s'adapter en mobile */
}

.flex-2images > * {
  width: 100%;
  max-width: calc( 50% - 0.5rem )!important;
  height: auto;
}
@media (max-width: 768px) {
	.flex-2images > * {
		max-width: calc( 50% - 0.25rem );
	}
}

/* 3 IMAGES ----------*/
.flex-3images{
  display: grid;
  grid-template-columns: 1fr 1fr; /* Deux colonnes égales */
  grid-template-rows: auto auto;  /* Deux lignes */
}
@media (max-width: 768px) {
  .flex-3images{
    max-height:;
  }
}

.image-large {
  grid-column: 1; /* Colonne de gauche */
  grid-row: 1 / span 2; /* L'image de gauche occupe deux lignes */
  width: 100%!important;
  height: 100%!important; /* Hauteur automatique pour s’adapter */
}

.image-small {
  width: 100%;
  height: 100%!important;
}

.col-reverse .image-large {
  grid-column: 2; /* Colonne de droite */
  grid-row: 1 / span 2; /* Elle occupe les 2 lignes */
}

@media (max-width: 768px) {
	.image-large {
	  height: auto!important; /* Hauteur automatique pour s’adapter */
	}
	.image-small {
	  height: auto!important;
	}
}

.row-reverse{
	flex-direction:row-reverse;
}

/* 4 IMAGES puis 2 et 2*/
.flex-4images{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto auto;  /* Deux lignes */
}
/* Tablette : 2 colonnes */
@media (max-width: 1000px) {
  .flex-4images {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile : 1 colonne
@media (max-width: 768px) {
  .flex-4images {
    grid-template-columns: 1fr;
  }
}*/

.cadre {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.cadre .toile {
  position: absolute;
	transform:scale(1.3)!important;
	top: 50%;
  left: 50%;
  height: 100%;
  transform: translate(-50%, -50%) scale(1.3)!important;
  pointer-events: none; /* facultatif : évite interactions */
}


/* ------------------------------
   SPACERS
--------------------------------- */
@media (max-width: 768px) {
	.spacer-1rem{
		height:.5rem!important;
	}
	.spacer-2rem{
		height:1rem!important;
	}
	.spacer-4rem{
		height:2rem!important;
	}
	.spacer-6rem{
		height:4rem!important;
	}
}



/* ------------------------------
   PAAAAAAAAAGES
--------------------------------- */
/* ------------------------------
   HOMEPAGE
--------------------------------- */
/* INTRO */
.flexrow-intro{
	position:relative;
}
.slogan{
	/*max-width: calc(100% / 12 * 10);*/
}
.setlogo{
	margin-right: -1.5rem;
    position: absolute;
    right: 0;
    top: 0;
}
.settext{
	margin-bottom: 1rem;
}
.skills::before {
	    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url(/wp-content/uploads/2025/05/arrow-oreg.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
    margin-bottom: -8px;
}

@media (max-width: 1040px) {
	.setlogo{
		bottom: unset;
		top: 0;
	}
}
@media (max-width: 900px) {	
	.duocol-intro{
		flex-direction:column!important;
	}
}
@media (max-width: 768px) {
	.setlogo{
		margin-right: -2.5rem;
    	position: unset;
	}
}


/* ------------------------------
   APPROCHE
--------------------------------- */
.approcherow .col1{
	max-width:325px;
}
.approcherow .col2{
	width:55%;
}
.approcherow.intro .mini-a-b{
	min-width: 63px;
	position: relative;
    top: 5px;
}

.approcherow.expertises .title-c-d{
	margin-bottom:.5rem;
	color:var(--blanc);
}
.approcherow.expertises .mini-a-b{
	color: var(--whity)!important;
}
.approcherow.process .title-c-d{
	font-size: 18px;
    text-transform: uppercase;
}
.approcherow.process .text-a-b{
	margin-top:1rem;
}

@media (max-width: 768px) {
	.approcherow .col1{
		max-width:unset;
	}
	.approcherow .col2{
		width:100%;
	}
	.approcherow.process .text-a-b{
		margin-top:.5rem;
		max-width:90%;
}
}






/* ------------------------------
   MENU REWORK
--------------------------------- */
/*Desktop*/
#menu-menu-principal{
	column-gap:1rem;
}

.inside-header{
	padding-top:1rem;
}
.home .site-header{
	background:var(--energy);
}
.home.scrolled .site-header{
	background:unset;
}
/*garder fond quand ouvert*/
@media (max-width:768px){
	.mobile-menu-open .home .site-header{
		background:var(--energy);
	}
	#menu-menu-principal{
		padding-top: 4rem;
	}
}

.main-navigation .main-nav ul li a{
	line-height:140%;
	font-family: var(--mainfont);
	font-weight:500;
	font-size:16px;
	padding:0rem;
    transition: 0.2s ease-in-out;
}
.main-navigation .main-nav ul li a:hover{
	        opacity: 0.9;
        transform: translateY(-1px);
    transition: 0.2s ease-in-out;
}
.main-navigation .counter::after {
    content: "5";
    display: block;
    margin-top: 0.5em;
    font-size: 0.85rem;
    text-align: center;
    position: absolute;
    top: -13.5px;
    font-size: 7px;
    right: 3px;
    font-weight: 600;
}/*ajout cercle*/
.main-navigation .counter::before {
    content: "";
    position: absolute;
    top: -3.5px;
    right: 0px;
    width: 11px;
    height: 11px;
    border: 1px solid var(--contrastcolor);
    border-radius: 50%;
    z-index: -1;
}

.navsocial{
	display:none;
}
.header-widget{
	display:none;
}
.header-widget #block-11 a:hover{
	        opacity: 0.9;
        transform: translateY(-1px);
    transition: 0.2s ease-in-out;
}
.header-widget #block-11 a{
    background: #EBDB00!important;
    color: var(--contrastcolor)!important;
	height:46px!important;
    cursor: pointer;
    padding: 0px 24px;
    border-radius: 4px;
    transition: 0.2s ease-in-out;
	font-size:16px;
	
    transition: 0.2s ease-in-out;
}
.home .header-widget #block-11 a{
    color: var(--energy);
}
/*mettre bouton header en mobile*/
@media (max-width:768px){
	.header-widget{
		position: absolute;
		right: 100px;
		margin: 0!important;
	}
}

/* header animation, cache au scroll */
.site-header {
  position: sticky;
  top: 0;
  transition: transform 0.3s ease;
  z-index: 999;
  padding-top: 0rem; /* ici pour espace */
}

.hide-header {
  transform: translateY(-100%);
}

body.mobile-menu-open .site-header,
body.offside-js--is-open .site-header {
  transform: none !important;
}

/* Animation au chargement */
.animate-header {
  animation: slideDown 0.5s ease forwards;
}

@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}


/* bigscreen header 1000 */
@media (min-width: 1148px) {
  .inside-header{
	/*max-width: 1180px;*/
	  max-width: 1340px;
    margin: auto;
	}
}
/* mobile header 768 */
@media (max-width: 768px) {
  .inside-header{
	  padding-right: 0rem !important;
       padding-left: 1.3rem !important;
	}
	.site-header .header-image{
		width: 100px!important;
	}
	.menu-toggle{
		margin-right:-10px!important;
		padding:0 30px!important
	}
}


/* MENU MOBILE */
@media (max-width: 768px) {
/* État par défaut = menu fermé */
	.sub-menu-right {
		position: fixed;
		inset: 0;
		/*top: 6rem;*/
		background: var(--contrast);
		transition: opacity 0.4s ease, transform 0.4s ease;
		padding: 3rem 1.6rem;
		padding-top:5rem;
		z-index: -1;
		opacity: 0;
		transform: scale(0.98);
		pointer-events: none;
		height: 100vh;
		margin-top:0!important;
	}

/* Quand le menu est ouvert via toggle */
	.sub-menu-right.toggled {
		opacity: 1;
		transform: scale(1);
		pointer-events: auto;
	}
	.mobile-menu-open .header-image,.mobile-menu-open .menu-toggle{
		filter:brightness(8.5);
	}
	
	.sub-menu-right ul li a{
		font-size:30px!important;
		color:var(--energy)!important;
	}
	
/*Centrage*/
	.sub-menu-right .inside-navigation{
		height:90%;
		align-items:flex-start;
	}
	.sub-menu-right .main-nav, .sub-menu-right .sf-menu{
		height:100%;
	}
	
/* Ajout résaux menu mobile */
	.navsocial{
		display:unset;
		position: absolute!important;
    	bottom: 1rem;
	}
	.sub-menu-right.toggled .main-nav ul ul{
		position: relative;
		top: 0;
		left: auto !important;
		right: auto !important;
		width: 100%;
		pointer-events: auto;
		height: auto;
		opacity: 1;
		display: block;
		visibility: visible;
		float: none;
		background: transparent;
    	border: none;
		padding-top: 2rem;
    	border-top: 1px solid var(--clarcolor);
	}
	.sub-menu-right .menu-item-has-children .navsocial,.sub-menu-right .dropdown-menu-toggle{
		display:none
	}
	.sub-menu-right .navsocial a{
		position:relative;
		padding: 0 0rem!important;
		text-transform: uppercase;
		font-family: var(--secondfont)!important;
		font-weight: 500;
		color: var(--contrast);
		margin-bottom: 1rem;
		letter-spacing: 0.01rem;
		font-size:14px!important;
	}
	.sub-menu-right .navsocial .sub-menu a:before{
		content: "";
		display: inline-block;
		width: 16px;
		height: 18px;
		background-image: url(/wp-content/uploads/2025/05/arrow-oreg.png);
		background-size: contain;
		background-repeat: no-repeat;
		margin-right: 10px;
		margin-bottom: -5px;
		filter:invert(1);
	}
}





/* ------------------------------
   FOOTER
--------------------------------- */
.customfooter .flexline-btns .wp-element-button{
	text-decoration:unset!important;
}
.customfooter .nav a,.customfooter a{
	font-family: var(--mainfont);
	font-size:16px!important;
	color: var(--base)!important;
}
.footer-nav a{
	background:unset!important;
	padding:0!important;
	color: var(--base)!important;
}
.customfooter{
	padding-top:3.75rem!important;
	padding-bottom:2rem!important;
	margin-top: 4rem;
	/*border-top:1px solid var(--lightbeige);*/
	
	background:var(--contrast);
}

.customfooter .col1{
	width: -webkit-fill-available;
}
.customfooter .col2{
	
}
.customfooter .nav,
.customfooter ul{
	column-gap:2rem;
}
.customfooter .column ul{
	flex-direction: column;
    align-items: flex-start;
	row-gap:0;
}
.customfooter .column.duo ul,
.customfooter .column.duo{
  	/*columns: 2;*/ /*ACTIVER COLONNES*/
  	column-gap: 2rem; /* espace entre colonnes */
  	list-style: none;
  	padding: 0;
	display:unset;
	margin:0;
}
.customfooter ul.column li{
	margin-bottom: .2rem;
}

.customfooter .title-e-f{
	color: var(--base)!important;
	margin-right:.75rem;
}
/* icons du footer */
.customfooter .col1 img{
	max-width:2.5rem;
	transition: all 0.4s ease;
	filter: brightness(10);
}
.customfooter .col1 a:hover img{
	transform:scale(1.05);
	transition: all 0.4s ease;
}

.customfooter .titlefooter{
	color:var(--energy);
	margin-bottom:1rem;
	font-size:24px;
}

.lowfooter-row{
	opacity:.5;
}
.lowfooter-row a,.lowfooter-row p{
	font-size:12px!important;
	max-width:345px;
}
.text-footer{
	font-size:20px;
}

@media (max-width: 1068px) {
	.customfooter .col1{
		width: unset;
	}
}

@media (max-width: 768px) {
	.customfooter .col2{
		padding-top: 2rem;
		border-top: 1px solid #3c3c3c;
	}
	.customfooter .titlefooter{
		font-size:20px;
	}
	.lowfooter-row{
		text-align:center;
		    align-items: center!important;
	}
}

/*remonter to top*/
.generate-back-to-top{
	border-radius:100px;
}





/* ------------------------------
   HOME ANIMATIONS
--------------------------------- */
body.home{
	transition: all 0.4s ease;
  	background-color: var(--energy);
}
body.home.scrolled{
  	transition: all 0.4s ease;
	/*background-color: unset;*/
}


/* ------------------------------
    ANIM TEXT SOULIGN
--------------------------------- */
.title-e-f mark {
  position: relative;
  overflow: hidden;
}

.title-e-f mark::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 0.21rem;
  width: 100%;
  background-color: currentColor; /* utilise la couleur du texte */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

/* Animation déclenchée à l'arrivée */
body.home .title-e-f mark {
  animation: fadeIn 0.2s ease forwards;
}

body.home .title-e-f mark:nth-of-type(1) {
  animation-delay: 0.3s;
}
body.home .title-e-f mark:nth-of-type(2) {
  animation-delay: 0.6s;
}
body.home .title-e-f mark:nth-of-type(3) {
  animation-delay: 0.9s;
}
body.home .title-e-f mark:nth-of-type(4) {
  animation-delay: 1.2s;
}

/* Sous-ligne après apparition */
body.home .title-e-f mark::after {
  animation: underlineGrow 1.4s ease forwards;
}

body.home .title-e-f mark:nth-of-type(1)::after {
  animation-delay: 0.4s;
}
body.home .title-e-f mark:nth-of-type(2)::after {
  animation-delay: 0.5s;
}
body.home .title-e-f mark:nth-of-type(3)::after {
  animation-delay: 0.6s;
}
body.home .title-e-f mark:nth-of-type(4)::after {
  animation-delay: 0.7s;
}

/* Keyframes */
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

@keyframes underlineGrow {
  to {
    transform: scaleX(1);
  }
}





/* ------------------------------
    LOADER
--------------------------------- */
#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--blanc);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transform: translateY(0);
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
}

#page-loader.loaded {
  transform: translateY(100%);
}

.loader-logo {
  width: 120px;
  height: auto;
}

/* Animation de sortie du contenu */
.page-exit {
  transform: translateY(100%);
  transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}




