/*
Theme Name: Ruches & Cie
Theme URI: https://comtogether.fr
Author: Com Together
Author URI: https://comtogether.fr
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Variables
# Basics Elements
# Menu
# Content
# Footer
# 404 Error
--------------------------------------------------------------*/

/*--------------------------------------------------------------
>>> VARIABLES
--------------------------------------------------------------*/
:root{
	--jaune: #edaa21;
	--vert_noir:  #2b4b4b;
	--blanc:  #FFFFFF;
	--noir:  #000000;
	--paragraphe:  #30362F;

	--titre:  'Averia Serif Libre', serif;
	--paragraphe:  'Montserrat', sans-serif;

	--transition : all 0.5s ease-in-out;
}

/*--------------------------------------------------------------
>>> BASIC ELEMENTS
--------------------------------------------------------------*/
main {
	overflow: hidden;
}
div.grecaptcha-badge{
	display: none;
}
 
body, html{
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

/*body{
	overflow-x: hidden;
}
*/
h1{
	font-family: var(--titre);
	font-size: 2.813rem;
	line-height: 2.813rem;
	color: var(--jaune);
}

h2{
	font-family: var(--titre);
	font-size: 2.188rem;
	line-height: 2.188rem;
	color: var(--vert_noir);
}

h3{
	font-family: var(--titre);
	font-size: 2.188rem;
	line-height: 2.188rem;
	color: var(--vert_noir);
}

h4{
	font-family: var(--paragraphe);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25rem;
	color: var(--vert_noir);
	min-height: 45px;
}

p, a:not(.bouton), li, span{
	font-family: var(--paragraphe);
	font-size: 0.938rem;
	line-height: 1.25rem;
	color: var(--vert_noir);
}
/* ----- BOUTONS ------------*/
.boutons {
	display: flex;
	gap: 80px;
	justify-content: center;
}
.bouton {
	font-family: var(--titre);
	font-size: 1.125rem; 
	line-height: 1.2;
	color: var(--vert_noir);
	text-align: center;
	display: block;
	position: relative;
	text-decoration: none;
	transition:  all .3s ease-in-out;
	width: fit-content;
	margin: 60px auto 0;
	z-index: 0;
	@media screen and (min-width: 768px) { font-size: 1.25rem;}
	@media screen and (min-width: 1024px) { margin: 60px 0 0 30px; }
}
.bloc-cta .bouton,
.bloc-steps .bouton {
	margin: 60px auto 0;
}
.bloc-cta .boutons .bouton {
	margin: 60px 0 0 0;
}
.bouton svg {
  fill: none;
  stroke: var(--vert_noir);
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  stroke-linecap: round;
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 60px);
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: stroke-dashoffset 0s 0.4s, opacity 0.4s;
  z-index: 1;
}

.bouton:hover svg {
  stroke-dashoffset: 10;
  opacity: 1;
  transition: 
  	opacity 0s, 
  	stroke-dashoffset 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.bouton:hover{
	color: var(--blanc);
}

.bouton::after{
	content: '';
	clip-path: polygon(50% 2%, 99% 0, 99% 59%, 99.5% 100%, 43% 99%, 2% 99%, 0% 2%);
	border-radius: 11px 14px;
	position: absolute;
	z-index: -1;
	padding: 27px 56px;
	width: calc(100% + 60px);
	height: 64px;
	top: 50%;
	left: 50%;
	transform:  translate(-50%, -50%);
	transition:  all 0.4s ease-in-out;
	background-color: var(--jaune);
	border:  2px dashed var(--jaune);
}

/*bouton reseaux sociaux*/

div.menu div.social-media{
	display: flex;
	margin-top: 15px;
}

div.social-media a{
	position: relative;
	display: inline-block;
	text-align: center;
}

div.social-media a:not(:last-of-type){
	margin-right: 37px;
}

div.social-media a::before{
	content: url('./images/hexagone-social.svg');
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -60%);
	z-index: -1;
	width: 37px;
	height: 32px;
	transition: all 0.4s ease-in-out;
}

div.social-media a:hover::before{
	transform:  translate(-50%, -60%) scale(1.2);
	transition: all 0.4s ease-in-out;
}


/*section générique*/
section{
	position: relative;
}

section::before{
	content: '';
	background:  url('./images/seamless_paper_texture.jpg') repeat;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

/*** BANDEAU TITRE ***/
.page-top {
	height: 100vh;
}
.page-top::before, .page-top::after {
	content: '';
	left: 0;
	width: 100%;
}
.page-top::before{
	background: var(--vert_noir);
	opacity: 0.7;
	height: 100%;
	top: 0;
	z-index: -1;
}
.page-top::after{
	position: absolute;
	bottom: -1px;
	background: url('./images/seamless_paper_texture_demi_tone.jpg') repeat;
	mask-image: url('./images/waves_02.svg');
	-webkit-mask-image: url('./images/waves_02.svg');
	height: 96px;
	mask-size: cover;
	-webkit-mask-size: cover;
	z-index: 0;
}
.page-top > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}
.page-top > svg{
	position: absolute;
	left: 1010px;
	bottom: 84px;
}
.page-top .titre{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.page-top .titre::after {
	content: url(./images/essaim-graphique.svg);
	position: absolute;
	top: 50%;
	left: 40%;
	transform: translate(-50%, -50%) scale(0.75);
	z-index: -1;
}
.page-top .titre h1 {
	text-transform: uppercase;
}
.page-top .titre p {
	color: var(--blanc);
}

/*images avec masque alveole*/
section.bloc div.images img{
	mask-image: url('./images/hexagone-mask.svg');
	-webkit-mask-image: url('./images/hexagone-mask.svg');
	mask-repeat:  no-repeat;
	-webkit-mask-repeat:  no-repeat;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	width: 105%;
	height: auto;
	object-fit: cover;
}

section.bloc div.images{
	position: relative;
	z-index: 0;
}

section.bloc div.images::after{
	content: url('./images/bordure-alveole.svg');
	position: absolute;
	z-index: -1;
	width: 280px;
}

section.bloc:nth-child(odd) div.paragraphe{
	padding-left: 50px;
}

/* Titres des blocs */

.bloc .titre {
	display: flex;
	align-items: center;
	margin-bottom: 25px;
	gap: 60px;
	@media (max-width: 768px) {justify-content: center;}
}
.bloc.bloc-texte-image .titre {
	margin-bottom: 45px;
}
@media (min-width: 576px) { .bloc.bloc-texte-image .titre span { margin-left: 30px; } }
:is(.bloc-cards, .bloc-tiles, .bloc-steps, .bloc-part) .titre {
	flex-direction: column;
}
.bloc .titre span {
	color: var(--blanc);
	font-size: 3.125rem;
	line-height: 3.125rem;
	font-family: var(--titre);
	position: relative;
}
.bloc .titre span::after{
	content: url('./images/alveole-turquoise.png');
	width: 111px;
	height: 119px;
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*** section CTA ***/

section.bloc_cta{
	padding-top: 90px;
	padding-bottom: 210px;
	text-align: center;
	background-color: var(--vert_noir);
	z-index: 0;
}

section.bloc_cta h3{
	color: var(--blanc);
}

section.bloc_cta::before{
  background: url(./images/waves.svg) right;
  content: '';
  position: absolute;
  top: -76px;
  right: 0;
  left: unset;
  width: 101%;
  height: 77px;
  opacity: 1;
  z-index: -1;
  overflow: hidden;
}

section.bloc_cta::after{
  background: url(./images/waves.svg) center;
  content: '';
  transform: rotate(180deg);
  position: absolute;
  bottom: -77px;
  right: 0;
  width: 100%;
  height: 77px;
  opacity: 1;
  z-index: -1;
  overflow: hidden;
}

/*bloc actualités*/ 

article.actu_item{
	margin: 0 15px;
}

article.actu_item a{
	text-decoration: none;
}

article.actu_item div.image{
	height: 200px;
	position: relative;
	overflow: hidden;
	border-radius: 15px 15px 0px 0px;
}

article.actu_item div.image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

article.actu_item div.image div{
	color: var(--vert_noir);
	font-family: var(--titre);
	font-size: 0.938rem;
	bottom: -10px;
	left: 33px;
	position: absolute;
	z-index: 0;
}

article.actu_item div.image::before{
	content: '';
	background-color: var(--vert_noir);
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 0;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

article.actu_item div.image div::after{
	content: url('./images/carre-date.svg');
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

article.actu_item a div.image img{
	transition: all 0.4s ease-in-out;
}

article.actu_item a:hover div.image img{
	transform: scale(1.2);
	transition: all 0.4s ease-in-out;
}

article.actu_item a:hover div.image button.bouton{
	opacity: 1;
	transform: translate(-50%,-50%) scale(1);
	transition: all 0.4s ease-in-out;
}

article.actu_item a:hover div.image::before{
	opacity: 0.5;
	transition: all 0.4s ease-in-out;
}

article.actu_item div.image button.bouton{
	position: absolute;
	left: 50%;
	transform: translate(-50%,-50%) scale(1.2);
	top: 50%;
	margin-top: 0;
	margin-left: 0;
	opacity: 0;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

article.actu_item div.info{
	background-color: var(--blanc);
	border-radius: 0 0 15px 15px;
	padding: 35px 25px;
	position: relative;
}

article.actu_item div.info div{
	position: absolute;
	z-index: 2;
	top: -10px;
}

article.actu_item div.info div::after{
	content: url('./images/carre-date.svg');
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

article.actu_item div.info p{
	color: var(--vert_noir);
	font-size: 0.875rem;
	line-height: 1rem;
}

/*--------------------------------------------------------------
>>> MENU
--------------------------------------------------------------*/

header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

header nav.navigation div.logo{
	position: relative;
	height: auto;
	left: -15px;
}


header nav.navigation div.logo img:not(.fond_logo){
	position: absolute;
	top: 50%;
	z-index: 1;
	transform: translateY(-65%);
	left: 15%;
	height: 50%;
	width: auto;
}

header nav.navigation div.logo img.fond_logo{
	position: relative;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

header nav.navigation button.responsive_button{
	position: absolute;
	width: 60px;
	height: 60px;
	border: none;
	background-color: transparent;
	right: 50px;
	top: 40px;
	display: none;
}

header nav.navigation button.responsive_button > div{
	width: 50%;
	height: 22px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
header.open nav.navigation button.responsive_button::after{
	transform: translate(-50%, -50%) scale(32);
}
header nav.navigation button.responsive_button::after{
	content: url('./images/hexagone-social.svg');
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1);
	z-index: -1;
	width: 60px;
	height: 65px;
	transition: all 0.4s ease-in-out;
}
header nav.navigation button.responsive_button span{
	width: 30px;
	height: 4px;
	background-color: var(--vert_noir);
	position: absolute;
	left: 0;
	top: 0;
}
header nav.navigation button.responsive_button span:nth-child(1){
	top: 0;
}
header nav.navigation button.responsive_button span:nth-child(2){
	top: 9px;
}
header nav.navigation button.responsive_button span:nth-child(3){
	top: 18px;
}
header nav.navigation div.menu{
	padding-top: 40px;
	display: flex;
	justify-content: flex-end;
	padding-right: 30px;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 15px 35px;
}
header nav.navigation div.menu ul{
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 30px 15px;
	margin-bottom: 0;
}
header nav.navigation div.menu ul li{
	text-align: center;
}
header nav.navigation div.menu ul li.current-menu-item a{
	background-color: var(--jaune);
}
header nav.navigation div.menu ul li:hover a{
	background-color: var(--jaune);
}
header nav.navigation div.menu ul li a {
	font-weight: 600;
	font-size: 15px;
	transition: var(--transition);
	background-color: rgba(255, 255, 255, 0.7);
	padding: 10px 18px;
	border-radius: 10px;
	text-decoration: none;
}

/* Sub-menus */
header nav.navigation div.menu ul li.menu-item-has-children {
	position: relative;
}
header nav.navigation div.menu ul li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	margin-left: 6px;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: var(--transition);
	vertical-align: middle;
}
header nav.navigation div.menu ul li.menu-item-has-children:hover > a::after {
	transform: rotate(-135deg) translateY(2px);
}
header nav.navigation div.menu ul li .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 4px;
	position: absolute;
	top: 100%;
	margin-top: 10px;
	left: 50%;
	transform: translateX(-50%);
	min-width: 200px;
	background-color: rgba(255, 255, 255, 0.96);
	border-radius: 10px;
	padding: 10px;
	list-style: none;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
	box-shadow: 0 8px 24px rgba(43, 75, 75, 0.12);
	z-index: 10;
}
header nav.navigation div.menu ul li.menu-item-has-children::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: -20px;
	right: -20px;
	height: 10px;
}
header nav.navigation div.menu ul li:hover > .sub-menu {
	opacity: 1;
	pointer-events: all;
}
header nav.navigation div.menu ul li .sub-menu li {
	text-align: left;
}
header nav.navigation div.menu ul li .sub-menu li a {
	display: block;
	white-space: nowrap;
	background-color: transparent;
	padding: 8px 14px;
	border-radius: 8px;
}
header nav.navigation div.menu ul li .sub-menu li a:hover,
header nav.navigation div.menu ul li .sub-menu li.current-menu-item a {
	background-color: var(--jaune);
}

/*--------------------------------------------------------------
>>> CONTENT
--------------------------------------------------------------*/

/* HOME */
.page-top-home,
section#home.bandeau_titre_home{
	position: relative;
	height: 1080px;
}

.page-top-home img:not(.aquarelle),
section#home.bandeau_titre_home img:not(.aquarelle){
	position: absolute;
	top: 0;
	right: 0;
	z-index: -5;
	width: auto;
	height: 100%;
}

.page-top-home::after,
section#home.bandeau_titre_home::after{
	content: '';
	background: linear-gradient(90deg, rgba(255,255,255,1) 55%, rgba(255,255,255,0) 100%);
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -5;
}

.page-top-home .titre,
section#home.bandeau_titre_home div.titre{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
}
body.home #page {
	padding-top: 175px;
}

.page-top-home .texte {
	position: absolute;
	inset: auto auto -180px 530px;
    max-width: 55%;
	background-color: var(--blanc);
	padding: 50px 80px;
	border-radius: 56px 59px 30px 81px;
	clip-path: polygon(1% 1%, 98% 2%, 100% 99%, 1% 100%);
}

.page-top-home .titre::after {
	content: url(./images/essaim-graphique.svg);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.page-top-home .titre span {
	color: var(--vert_noir);
	font-size: 3.438rem;
	line-height: 3.75rem;
	text-transform: uppercase;
	font-family: var(--titre);
	position: relative;
}

.page-top-home .titre span::after{
	content: '';
	width: 60px;
	height: 5px;
	background-color: var(--vert_noir);
	border-radius: 10px;
	position: relative;
	display: block;
	margin: 18px auto 0;
}

.page-top-home .titre h1{
	color: var(--vert_noir);
	font-size: 1.25rem;
	line-height: 1.25rem;
	text-transform: uppercase;
	margin-top: 30px;
}

.page-top-home img.aquarelle.tache_01 {
	position: absolute;
	left: -80px;
	top: 350px;
	z-index: -2;
}

.page-top-home img.aquarelle.tache_02 {
	position: absolute;
	right: 0;
	top: -125px;
	z-index: -5;
	mix-blend-mode: soft-light;
}

.page-top-home .hexagone span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--jaune);
	text-align: center;
	font-family: var(--titre);
	font-size: 1.875rem;
	line-height: 1.875rem;
}

.page-top-home .hexagone {
	position: absolute;
	bottom: 40px;
	left: 340px;
}

.page-top-home div.cache {
	bottom: 0;
	position: absolute;
	right: 0;
	width: 50vw;
	height: 215px;
	background: linear-gradient(0deg, rgb(255, 255, 255), rgba(255,255,255,0) 100%);
	z-index: -5;
}

body.home .bloc:nth-of-type(1) .image:after {
	content: url('./images/bordure-alveole-orange.svg');
	top: -50px;
	right: 43px;
}
body.home .bloc:nth-of-type(1)::before {
	content: url('./images/aquarelle_06.png');
	position: absolute;
	top: 20px;
    left: 5rem;
    z-index: -4;
}
body.home .bloc:nth-of-type(1):after {
	content: url('./images/bird-line.png');
	position: absolute;
	bottom: -30rem;
	right: 0;
	z-index: -2;
}
body.home .bloc:nth-of-type(2):after {
    content: url(./images/aquarelle_01.png);
    position: absolute;
    left: -150px;
    top: -200px;
    z-index: -2;
}
body.home .bloc:nth-of-type(2) .image:after  {
    content: url(./images/bordure-alveole-orange.svg);
	position: absolute;
    bottom: -10px;
    right: 17px;
    transform: rotate(14deg);
	z-index: -1;
	width: 280px;
	@media screen and (max-width: 536px) { bottom: 35px; }
}
body.home .bloc:nth-of-type(3):before {
    content: url(./images/aquarelle_08.png);
    top: -60px;
    left: 400px;
    position: absolute;
    z-index: -2;
}
body.home .bloc:nth-of-type(3) .image:after {
    content: url(./images/bordure-alveole.svg);
    position: absolute;
    z-index: -1;
    width: 280px;
	top: -50px;
    left: 50px;
    transform: rotate(7deg);
}
body.home .bloc:nth-of-type(4) .image:after {
    content: url(./images/aquarelle_07.png);
    bottom: 115px;
    right: 0px;
    position: absolute;
    z-index: -4;
	opacity: .4;
}
body.home .bloc:nth-of-type(4):before {
    content: url(./images/aquarelle_01.png);
    position: absolute;
    left: -150px;
    top: -380px;
    z-index: -2;
}
body.home .bloc:nth-of-type(4):after {
    content: url(./images/flower-line_02.png);
    position: absolute;
    bottom: -60px;
    right: 20px;
}

/*** ------------ BLOCS -------------------- ***/

.bloc {
	position: relative;
}
:is(.bloc-tiles, .bloc-steps, .bloc-part) {
	padding-top: 150px;
	@media screen and (max-width: 536px) { padding-top: 100px;}
}
[data-wpr-lazyrender] {
	content-visibility: visible !important;
}
.bloc-texte-image + .bloc-texte {
	margin-top: -50px;
	@media (max-width: 768px) { margin-top: 0; }
}
.bloc-texte {
	padding-bottom: 60px;
}
.bloc-texte .texte {
    background-color: var(--blanc);
    padding: 50px 80px;
    border-radius: 56px 59px 30px 81px;
    clip-path: polygon(1% 1%, 98% 2%, 100% 99%, 1% 100%);
}
.bloc-texte-image {
	position: relative;
	padding: 100px 0;
	@media (max-width: 768px) { padding: 80px 0 45px; }
}
.bloc-texte-image .image {
	position: relative;
}
.bloc-texte-image .image::after {
	position: absolute;
}
body:not(.home) .bloc-texte-image.left .paragraphe::after{
	position: absolute;
	content: url(./images/aquarelle_06.png);
	right: 75px;
	bottom: 0;
	z-index: -1;
}
body:not(.home) .bloc-texte-image.right .image::after{
	content: url(./images/bordure-alveole-orange.svg);
    top: -44px;
    left: 53px;
	width: 280px;
	z-index: -1;
	@media screen and (max-width: 768px) { top:auto; bottom:40px; left: 28px;}
}
.bloc-texte-image .image img {
	mask-image: url('./images/hexagone-mask.svg');
	-webkit-mask-image: url('./images/hexagone-mask.svg');
	mask-repeat:  no-repeat;
	-webkit-mask-repeat:  no-repeat;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	width: 105%;
	height: 100%;
	max-height: 480px;
	object-fit: cover;
}
.bloc-texte-image > svg{
	position: absolute;
	top: -83px;
	left: 749px;
}
.bloc-texte-image svg#trace_01 #maskPath{
	stroke-dashoffset:  1661;
	stroke-dasharray: 2000;
}
.bloc-texte-image .savoir {
	background-color: var(--blanc);
	padding: 25px;
	border-radius: 40px 59px 30px 37px;
	clip-path: polygon(1% 1%, 98% 2%, 100% 99%, 1% 100%);
	position: absolute;
	z-index: 1;
}
.bloc-texte-image.left .savoir {
	inset: 350px auto auto 0px;
}
.bloc-texte-image.right .savoir {
	inset: 320px -50px auto auto;
	@media screen and (max-width: 1200px){ inset: 300px -15px auto auto; }
}
.bloc-texte-image .savoir h3 {
	font-size: 26px;
    line-height: 1;
	margin-bottom: 12px;
    color: var(--jaune);
}
.bloc-texte-image .savoir p {
	font-weight: 500;
	font-size: 13px;
	line-height: 1.4;
}
.bloc p:last-of-type {
	margin-bottom: 0;
}
.bloc-cards {
	padding-top: 50px;
	padding-bottom: 60px;
}
:is(.bloc-cards, .bloc-tiles, .bloc-steps) :is(.card-content, .tile-content) :is(strong, b) {
	color: var(--jaune);
}
.bloc-cards .texte p {
	font-size: 1.25rem;
    line-height: 1.4;
    font-style: italic;
	@media screen and (max-width:768px) { font-size: 1rem; line-height: 1.3;}
}
.bloc-cards .cards {
	margin-top: 65px;
    justify-content: center;
	gap: 30px 0;
	@media screen and (max-width:768px) { margin-top: 45px; }
}
.bloc-cards .card-content {
	background-color: var(--vert_noir);
	padding: 20px 27px;
	border-radius: 25px 35px 24px 20px;
	width: 100%;
	clip-path: polygon(1% 1%, 98% 2%, 100% 99%, 1% 100%);
	display: flex;
	align-items: center;
	height: 100%;
}
.bloc-cards .card-content p{
	color: var(--blanc);
	font-weight: bold;
	padding: 20px 27px;
	text-align: center;
	font-size: 1.25rem;
	line-height: 1.50rem;
	margin-bottom: 0;
}

.bloc-tiles .tiles {
	margin-top: 60px;
	height: 700px;
	position: relative;
}
.bloc-tiles .tile {
	position: absolute;
}
.bloc-tiles .tile:nth-child(1){
	right: 750px;
	top: 0;
}
.bloc-tiles .tile:nth-child(1)::after{
	left: -240px;
	top: 143px;
	position: absolute;
	content: url('./images/hexa-ateliers.svg');
}
.bloc-tiles .tile:nth-child(2){
	top: 0;
	right: 250px;
}
.bloc-tiles .tile:nth-child(3){
	right: 500px;
	top: 143px;
}
.bloc-tiles .tile:nth-child(4){
	right: 0;
	top: 143px;
}
.bloc-tiles .tile:nth-child(4)::after{
	right: -492px;
	top: -145px;
	position: absolute;
	content: url('./images/hexa-ateliers-after.svg');
}
.bloc-tiles .tile:nth-child(5){
	top: 287px;
	right: 250px;
}
:is(.bloc-tiles, .bloc-part) :is(.tile-content, .part-content) {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 265px;
	mask-image:  url(./images/mask-hexa-ateliers.svg);
	-webkit-mask-image:  url(./images/mask-hexa-ateliers.svg);
	mask-size: 100% 100%;
	-webkit-mask-size: 100% 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center center;
	-webkit-mask-position: center center;
}
.bloc-tiles .tile-content {
	background-color: var(--vert_noir);
}
.bloc-tiles .tile-content p {
    color: var(--blanc);
    text-align: center;
    padding: 20px 27px;
    margin-bottom: 0;
    font-weight: bold;
}
.bloc-tiles img {
	position: absolute;
	height: auto;
}
.bloc-tiles img:first-of-type{
	width: 105px;
	bottom: 237px;
	left: 350px;
	transform: rotate(-230deg);
}
.bloc-tiles img:last-of-type{
	width: 236px;
	bottom: 30px;
	rotate : -155deg;
	left: 375px;
}
.bloc-part {
	padding-bottom: 120px;
}
.bloc-part .parts {
	margin-top: 50px;
}
.bloc-part .part a {
	text-decoration: none;
}
.bloc-part .part img {
	margin:0 50px;
    max-height: 100px;
	max-width:150px;
    width: auto;
}
.bloc-part .part span {
	color: var(--vert_noir);
    font-size: 1.25rem;
    text-align: center;
    padding: 20px 27px;
    margin-bottom: 0;
    font-weight: bold;
}
.bloc-part .part-content {
	background-color: rgba(237, 170, 33, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: background-color 0.3s ease-in-out;
}
.bloc-part .part {
	position: relative;
}
.bloc-part .part:nth-child(3)::after,
.bloc-part .part:nth-child(5)::before,
.bloc-part .part:nth-child(5)::after{
	content: url(./images/alveole-grise.svg);
	position: absolute;
	width: 306px;
	height: 265px;
}
.bloc-part .part:nth-child(3)::after{
	top: 147px;
	left: -235px;
}
.bloc-part .part:nth-child(5)::before{
	top: -145px;
	left: 260px;
}
.bloc-part .part:nth-child(5)::after{
	content:none;
	bottom: -283px;
    right: 8px;
}
.bloc-part .part:nth-child(5n+1){
	margin-left: 246px;
	margin-right: 159px;
}
.bloc-part .part:nth-child(5n+3){
	margin-top: -118px;
	margin-right: 160px;
}
.bloc-part .part:nth-child(5n+4),
.bloc-part .part:nth-child(5n+6),
.bloc-part .part:nth-child(5n+7){
	margin-top: -118px;
}
.bloc-part .part:nth-child(5n+5){
	margin-top: -118px;
	margin-left: 160px;
}

.bloc-steps .step {
	z-index: 1;
}
.bloc-steps .steps {
	margin-top: 100px;
}
.bloc-steps .container::before {
	content: url(./images/aquarelle_01.png);
    position: absolute;
    left: -150px;
    top: -200px;
    z-index: -2;
}
.bloc-steps .step {
	margin-bottom: 50px;
}
.bloc-steps .step .content {
	background-color: var(--blanc);
	padding:  100px 20px 20px;
	position: relative;
	height: 100%;
	border-radius: 30px;
}
.bloc-steps .step .content::after {
	content: url('./images/hexagone-social.svg');
	position: absolute;
	width: 120px;
	top: -65px;
	left: 50%;
	transform:  translateX(-50%) rotate(-7deg);
}
.bloc-steps .step img {
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.bloc-steps .step span {
	font-size: 1.25rem;
	line-height: 1.25rem;
	font-weight: bold;
	text-align: center;
	display: block;
	margin-bottom: 25px;
}
.bloc-steps .step p {
	font-style: italic;
	text-align: center;
}
.bloc-steps .step .content ul {
	text-align:left;
}
.bloc-cta + .bloc-texte-image {
	padding-top: 200px;
}
.bloc-steps + .bloc-cta {
	margin-top: -150px;
	padding-top: 190px;
	padding-bottom: 120px;
}
.bloc-steps + .bloc-cta .container::after {
	content: url('./images/flower-line_03.png');
	position: absolute;
    bottom: -50px;
    right: 0px;
}
.bloc-cta {
	margin-top: 50px;
	padding-top: 90px;
    padding-bottom: 210px;
    text-align: center;
    background-color: var(--vert_noir);
    z-index: 0;
}
.bloc-cta h3 {
    color: var(--blanc);
}
.bloc-cta::before, .bloc-cta::after {
	background-image: url(./images/waves.svg);
	content: '';
	position: absolute;
	right: 0;
	height: 77px;
	opacity: 1;
	overflow: hidden;
	z-index: -1;
}
.bloc-cta::before{
	background-position: right;
	top: -76px;
	left: unset;
	width: 101%;
}
.bloc-cta::after{
	background-position: center;
	transform: rotate(180deg);
	bottom: -77px;
	width: 100%;
}


.bloc-actus{
	background-color: var(--vert_noir);
	padding-top: 140px;
	padding-bottom: 160px;
	display: flex;
	align-items: center;
	padding-right: 0;
	margin-top: 100px;
}
.bloc-actus::before{
	background: url(./images/waves.svg) right;
	content: '';
  position: absolute;
  top: -77px;
  right: 0;
  left: unset;
  width: 101%;
  height: 77px;
  opacity: 1;
  z-index: -1;
  overflow: hidden;
}
.bloc-actus::after{
	background: url(./images/waves.svg) center;
  content: '';
  transform: rotate(180deg);
  position: absolute;
  bottom: -77px;
  right: 0;
  width: 100%;
  height: 77px;
  opacity: 1;
  z-index: -1;
  overflow: hidden;
}
.bloc-actus .paragraphe{
	padding-left: 0;
}
.bloc-actus .paragraphe .titre h2{
	margin-left: 0;
}
.bloc-actus  .paragraphe .titre h2{
	color: var(--jaune);
}
.bloc-actus .paragraphe .texte{
	margin-top: 0;
}

.bloc-actus .paragraphe .texte p{
	color: var(--blanc);
}
.bloc-actus .paragraphe .texte a svg{
	stroke: var(--blanc);
}
.bloc-actus .slider article.slick-slide{
	opacity: 1;
	transition: all .2s ease-in-out;
}
.bloc-actus .slider article.slick-slide:not(.slick-active){
	opacity: 0.2;
	transition: all .2s ease-in-out;
}
.bloc-actus .slider img.slick-arrow{
	position: absolute;
	z-index: 1;
	top: 50%;
}
.bloc-actus :is(.slick-prev, .slick-next) {
	cursor: pointer;
}
.bloc-actus .slider img.slick-prev{
	left: -95px;
	transform: translateY(-50%);
}
.bloc-actus .slider img.slick-next{
	right: 40px;
	transform: translateY(-50%) scale(-1);
}

.modal-backdrop{
	position: absolute !important;
}

/* PAGES */

body.home section#trace svg#trace_01{
	position: absolute;
	top: -50px;
	left: 120px;
	width: 1402px;
}

section#trace svg#trace_01 #path,
section#trace svg#trace_responsive #path{
	fill: none;
	stroke-dasharray: 10;
	stroke-width: 3;
}

section#trace svg#trace_01 #mask,
section#trace svg#trace_responsive #mask{
	stroke:white;
	fill: none;
	stroke-dasharray: 4200 4200;
	stroke-width: 3;
	stroke-dashoffset: 2615;
}

section#home_bloc_1 svg#bee{
	height: 70px;
}
svg#trace_01 #path{
	fill: none;
	stroke-dasharray: 10;
	stroke-width: 3;
}
svg#trace_01 #mask{
	stroke:white;
	fill: none;
	stroke-dasharray: 3342;
	stroke-width: 3;
	stroke-dashoffset: 3342;
}
body:not(.home) section#trace svg#trace_01{
	position: absolute;
	width: 600px;
	top: -84px;
	left: 515px;
}
body.page-template-template-concept section#trace svg#trace_01{
	width: 712px;
	left: 452px;
	top: -89px;
}

body.page-template-template-biodiversite section#trace svg#trace_01{
	width: 600px;
	top: -84px;
	left: 515px;
}
body.page-template-template-ateliers section#trace svg#trace_01{
	top: -84px;
	left: 522px;
	width: 574px;
}
page-template section#trace svg#trace_01 #mask{
	stroke:white;
	fill: none;
	stroke-dasharray: 9200;
	stroke-width: 3;
	stroke-dashoffset: 1585;
}
.bloc-texte-image .savoir {
	background-color: var(--blanc);
	padding: 25px;
	border-radius: 40px 59px 30px 37px;
	clip-path: polygon(1% 1%, 98% 2%, 100% 99%, 1% 100%);
	position: absolute;
	z-index: 1;
	top: -80px;
	left: -150px;
}
.bloc-texte-image .savoir {
	font-size: 1.875rem;
	line-height: 1.875rem;
	color: var(--jaune);
}
.bloc-texte-image .savoir {
	font-weight: bold;
	margin-bottom: 0;
}

section.bloc:nth-child(2n+1) div.paragraphe{
	padding-left: 0;
}

/*** CONTACT ***/
.bloc-contact{
	padding-bottom: 150px;
	@media (max-width: 768px) { padding-top: 50px; }
}
body.page-template-template-contact section#trace svg#trace_01{
	width: 912px;
	top: -90px;
	left: 547px;
}
.bloc-contact a.bouton {
	margin-top: 20px;
}
.bloc-contact h2 {
	margin-bottom: 30px;
	@media (max-width: 768px) { text-align: center; }

}
.bloc-contact h2:last-of-type {
	margin-top: 60px;
	font-size:20px;
}
form input:not([type='checkbox']),
form textarea,
form select{
	border: none;
	clip-path: polygon(0 1%, 99% 6%, 100% 100%, 1% 96%);
	border-radius: 20px 15px 10px 18px;
	font-family: var(--paragraphe);
	font-size: 1rem;
}
form input:focus,
form textarea:focus,
form select:focus{
	box-shadow: none;
	outline: none;
}
form select{
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232b4b4b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	padding-right: 44px;
	cursor: pointer;
	font-size: 0.875rem;
}
form label{
	font-family: var(--titre);
	width: 100%;
}
form div.row{
	margin-bottom: 30px;
}
form button.bouton{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
form span.wpcf7-list-item{
	margin: 0;
}
form span.wpcf7-list-item-label{
	margin-left: 10px;
}



/*** FAQ ***/
.bloc-faq {
	padding-top: 80px;
	padding-bottom: 150px;
	@media (max-width: 768px) { padding-top: 50px; padding-bottom: 100px; }
}
.bloc-faq h2 {
	margin-bottom: 30px;
	@media (max-width: 768px) { text-align: center; }
}
.bloc-faq__texte {
	margin-bottom: 50px;
}
.bloc-faq__liste {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	align-items: start;
	@media (max-width: 768px) { grid-template-columns: 1fr; }
}
.bloc-faq__item {
	border-radius: 10px;
	overflow: hidden;
}
.bloc-faq__question {
	background-color: var(--vert_noir);
	color: var(--jaune);
	font-family: var(--titre);
	font-size: 1.25rem;
	line-height: 1.4;
	margin: 0;
	padding: 22px 40px 22px 30px;
	cursor: pointer;
	list-style: none;
	position: relative;
	transition: background-color 0.3s ease-in-out;
	@media (max-width: 768px) { font-size: 1.125rem; padding: 18px 40px 18px 22px; }
}
.bloc-faq__question::-webkit-details-marker { display: none; }
.bloc-faq__question::after {
	content: '+';
	font-family: var(--paragraphe);
	font-size: 1.5rem;
	font-weight: 300;
	color: var(--jaune);
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s ease-in-out;
	line-height: 1;
}
.bloc-faq__item[open] > .bloc-faq__question::after {
	transform: translateY(-50%) rotate(45deg);
}
.bloc-faq__reponse {
	background-color: var(--blanc);
	padding: 22px 30px;
	@media (max-width: 768px) { padding: 18px 22px; }
}
.bloc-faq__reponse p {
	margin-bottom: 0;
}
.bloc-faq__reponse p:not(:last-child) {
	margin-bottom: 0.75rem;
}

/*** ACTUALITES ARCHIVES ***/
section#actus_archives{
	padding: 100px 0 120px;
}
section#actus_archives article.actu_item{
	margin: 0 0 60px;
}
section#actus_archives div.arrow{
	background-color: var(--vert_noir);
	border-radius: 30px;
	height: 380px;
}
section#actus_archives div.arrow a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
section#actus_archives div.arrow h3{
	color: var(--blanc);
}
section#actus_archives div.arrow img{
	margin-bottom: 15px;
}
section#actus_archives div.arrow.next-arrow img{
	transform: scale(-1);
}

/*** ACTUALITES SINGLE ***/
section#actus_single{
	padding-top: 60px;
	padding-bottom: 100px;
}
section#more_actus{
	padding-bottom: 100px;
}
section#more_actus div.content > div{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
section#actus_single div.content img{
	border-radius: 45px 70px 40px 70px;
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	object-position: center;
	clip-path: polygon(1% 1%, 99% 2%, 99% 98%, 2% 100%);
}
section#more_actus div.content > div div.prev-item,
section#more_actus div.content > div div.next-item{
	background-color: var(--vert_noir);
	border-radius: 30px;
	text-align: center;
	padding: 30px;
	opacity: 0.5;
	transition: all 0.4s ease-in-out;
	clip-path: polygon(1% 2%, 99% 2%, 100% 99%, 2% 100%);
}
section#more_actus div.content > div div.prev-item a,
section#more_actus div.content > div div.next-item a{
	text-decoration: none;
}
section#more_actus div.content > div div.next-item img{
	transform:  scale(-1);
}
section#more_actus div.content > div div.prev-item:hover,
section#more_actus div.content > div div.next-item:hover{
	opacity: 1;
	transition: all 0.4s ease-in-out;
}
section#more_actus div.content > div div.prev-item h4,
section#more_actus div.content > div div.next-item h4{
	color: var(--blanc);
	padding-top: 10px;
	min-height: unset;
}
section#more_actus div.content > div div.prev-item h4{
	margin-left: 10px;
}
section#more_actus div.content > div div.next-item h4{
	margin-right: 10px;
}

/*--------------------------------------------------------------
>>> FOOTER
--------------------------------------------------------------*/

footer {
	position: relative;
	padding-bottom: 30px;
}
footer > img{
	position: absolute;
	left: 0;
	bottom: 0;
}
footer::before{
	content: '';
	background:  url('./images/seamless_paper_texture.jpg') repeat;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}
footer div.container > div{
	position: relative;
}
footer div.social-media{
	position: absolute;
	right: 100px;
	z-index: 1;
	bottom: 11px;
}
footer div.social-media a.social-item:first-of-type{
	margin-right: 37px;
}
footer div.logo{
	text-align: center;
	margin-top: -80px;
	z-index: 1;
	margin-bottom: 35px;
}
footer div.menu-footer ul{
	list-style: none;
	display: flex;
	justify-content: center;
	padding-left: 0;
}
footer div.menu-footer ul li{
	margin: 0 10px;
}
footer div.menu-footer ul li a{
	text-decoration: none;
	font-family: var(--titre);
	font-size: 1rem;
}
footer div.mentions p,
footer div.mentions p a{
	color: var(--jaune);
	font-family: var(--titre);
	font-size: 0.75rem;
	text-decoration: none;
	text-align: center;
}


/*--------------------------------------------------------------
>>> RESPONSIVE
--------------------------------------------------------------*/

@media screen and (max-width: 1550px){

	body.home section#trace svg#trace_responsive {
		top: -57px;
		left: 68px;
		width: 650px;
		height: auto;
		z-index: -2;
		position: absolute;
	}

	body:not(.home) section#trace svg#trace_01 {
	  position: absolute;
	  top: -65px;
	  left: 55px;
	}

	.page-top > svg {
	  position: absolute;
	  left: 613px;
	  bottom: 62px;
	}
}

@media screen and (max-width: 1400px){
	
	body:not(.home) section#trace svg {
	  width: 600px;
	  right: 344px;
	  top: -73px;
	}

}

@media screen and (max-width: 1200px){
	h2, h3 {
		font-size: 1.875rem;
		line-height: 1.875rem;
	}
	body.home section#trace svg#trace_responsive{
		top: -10px;
		left: 50%;
		width: 535px;
		transform: translateX(-50%);
	}
	section#trace image#bee{
		width: 50px;
		height: 50px;
	}
	.page-top-home .texte {
		transform: translateX(-50%);
		inset: auto 50% -160px 50%;
		width: 100%;
		max-width: 80%;
		padding: 60px 40px 45px;
	}
	.page-top-home::after {
		background: linear-gradient(25deg, rgb(255, 255, 255) 40%, rgba(255,255,255,0) 80%);
	}
	.page-top-home .titre {
		width: 100%;
	}
	.page-top-home .titre::after {
		transform: translate(-50%, -50%) scale(0.75);
	}
	.page-top-home .titre span {
		font-size: 2.813rem;
		line-height: 3.125rem;
	}
	.page-top-home .titre h1 {
		font-size: 1.05rem;
	}
	.page-top-home .hexagone {
		bottom: 90px;
		left: 50%;
		transform: translateX(-50%);
	}
	.page-top-home .hexagone span {
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.page-top-home .hexagone svg {
		width: 230px;
	}
	.home .bloc:first-of-type::after {
		transform: scale(0.8);
		right: -28px;
	}


	.bloc-actus .slider .slick-arrow,
	section#home_bloc_actus div.slider img.slick-arrow{
		width: 60px;
	}
	.bloc-actus .slider .slick-prev {
		left: -60px;
	}

	.bloc-tiles img:last-of-type {
		width: 140px;
		left: 381px;
	}

	.bloc-tiles img:first-of-type{
		width: 60px;
		bottom: 140px;
	}

	.bloc-part .part:nth-child(5n+1) {
	  margin-left: 180px;
	  margin-right: 120px;
	}

	.bloc-part .part:nth-child(5n+3) {
	  margin-top: -160px;
	  margin-right: 120px;
	}
	.bloc-part .part:nth-child(5n+4), 
	.bloc-part .part:nth-child(5n+6), 
	.bloc-part .part:nth-child(5n+7){
		margin-top: -160px;
	}

	.bloc-part .part:nth-child(5n+5){
	  margin-left: 120px;
	  margin-top: -160px;
	}
	.bloc-part .part img {
	  max-height: 60px;
	  width: auto;
	}
	.bloc-part .part span {
	  font-size: 1rem;
	  line-height: 1rem;
	}

	.bloc-part .part:nth-child(3)::after, 
	.bloc-part .part:nth-child(5)::after, 
	.bloc-part .part:nth-child(5)::before {
	  transform: scale(0.7);
	}

	.bloc-part .part:nth-child(3)::after {
	  top: -210px;
	  left: -33px;
	}

	.bloc-part .part:nth-child(5)::after {
	  top: 105px;
	  left: -213px;
	}

	.bloc-part .part:nth-child(5)::before {
	  top: -105px;
	  left: 145px;
	}

	footer div.container > div{
		flex-direction: column;
	}
	footer div.menu-footer ul{
		flex-wrap: wrap;
	}
	footer div.social-media{
		bottom: 33px;
	}
	footer > img{
		width: 290px;
	}
}


@media screen and (max-width: 1024px){

	header nav.navigation div.logo img:not(.fond_logo){
		left: 15%;
		height: 50%;
		width: auto;
	}
	header nav.navigation button.responsive_button{
		display: block;
	}
	header {
		position: absolute;
		top: 0;
		height: 180px;
		overflow: hidden;
		transition: all 0.3s ease-in-out;
	}
	header.open{
		position: fixed;
		height: 100%;
		background-color: var(--jaune);
		overflow-y: auto;
		transition: all 0.2s ease-in-out;
	}
	header nav.navigation div.menu{
		flex-direction: column;
		align-items: center;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		margin-top: 150px;
		margin-right: 0;
		display: none;
		padding-right: 0;
	}
	header.open nav.navigation div.menu{
		display: flex;
		width: 100%;
		padding-bottom: 30px;
	}
	header nav.navigation div.menu ul{
		flex-direction: column;
		align-items: center;
		gap: 35px;
	}
	header nav.navigation div.menu ul li{
		background-color: transparent;
		font-size: 1.25rem;
		line-height: 1.25rem;
		margin-right: 0;
		opacity: 0;
		animation: menu-slide 0.6s reverse ease-in-out 0.3s;
		-webkit-animation: menu-slide 0.6s reverse ease-in-out 0.3s;
	}
	header nav.navigation div.menu a.social-item{
		opacity: 0;
		width: auto;
		height: 32px;
		margin: 0 10px;
	}
	header nav.navigation div.menu a.social-item::before{
		content: '';
	}
	header nav.navigation div.menu a.social-item svg{
		width: 100%;
		height: 100%;
	}
	header nav.navigation div.menu a.social-item svg path{
		fill:  var(--vert_noir);
	}
	header.open nav.navigation div.menu ul li,
	header nav.navigation div.menu a.social-item{
		animation: menu-slide 0.6s forwards ease-in-out 0.3s;
		-webkit-animation: menu-slide 0.6s forwards ease-in-out 0.3s;
	}
	@-webkit-keyframes menu-slide { 
		from { margin-top:-20px; 
				opacity: 0;} 
		to { margin-top:0px; 
			opacity: 1;}  
	}
	@keyframes menu-slide { 
		from { margin-top:-20px; 
				opacity: 0;} 
		to { margin-top:0px; 
			opacity: 1;}  
	}
	header nav.navigation div.menu ul li a{
		font-size: 1.25rem;
	}
	/* Pont hover desktop : inutile sur mobile */
	header nav.navigation div.menu ul li.menu-item-has-children::after {
		display: none;
	}

	/* Chevron : transition seulement, pas de changement de display */
	header nav.navigation div.menu ul li.menu-item-has-children > a::after {
		margin-left: 6px;
		transition: transform 0.3s ease-in-out;
	}

	/* Item parent actif à l'ouverture */
	header nav.navigation div.menu ul li.menu-item-has-children.open > a {
		background-color: var(--jaune);
	}
	header nav.navigation div.menu ul li.menu-item-has-children.open > a::after {
		transform: rotate(-135deg) translateY(2px);
	}

	/* Sous-menu : reset complet des styles desktop */
	header nav.navigation div.menu ul li .sub-menu {
		position: static;
		transform: none;
		width: 100%;
		opacity: 1;
		pointer-events: all;
		box-shadow: none;
		background-color: transparent;
		border-radius: 0;
		margin-top: 8px;
		padding: 0;
		gap: 10px;
		display: none;
		flex-direction: column;
		align-items: center;
	}
	header nav.navigation div.menu ul li.open > .sub-menu {
		display: flex;
	}

	/* Neutraliser l'animation globale sur les li du sous-menu */
	header nav.navigation div.menu ul li .sub-menu li {
		opacity: 1 !important;
		margin-top: 0 !important;
		animation: none !important;
		-webkit-animation: none !important;
		font-size: 1rem;
		line-height: 1rem;
		text-align: center;
		width: 100%;
	}

	/* Liens du sous-menu */
	header nav.navigation div.menu ul li .sub-menu li a {
		font-size: 1rem;
		white-space: normal;
		background-color: rgba(255, 255, 255, 0.45);
		padding: 8px 20px;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.page-top {
		height: 800px;
	}
	.page-top > svg{
		display: none;
	}
}




@media screen and (max-width: 992px){

	h1:not(.page-top-home .titre h1) {
		text-align: center;
		font-size: 1.875rem;
		line-height: 1.2;
	}
	h4 {
		min-height: 60px;
	}
	section#trace{
		display: none;
	}
	.page-top {
		padding-top: 200px;
		padding-bottom: 120px;
		height: auto;
		min-height: 500px;
	}
	.page-top .titre{
		text-align: center;
		inset: unset;
		position: relative;
		transform: unset;
	}
	.page-top .titre::after {
	  top: 20%;
	  left: 50%;
	  transform: translate(-50%, -50%) scale(0.6);
	}

	.bloc .image img{
		width: 100%;
		height: 400px;
		object-fit: cover;
	}
	.bloc-actus {
		padding-top: 80px;
		flex-direction: column;
	}
	.bloc-actus .slider {
		margin-top: 80px;
	}
	.bloc-tiles .tiles {
		height: auto;
	}
	.bloc-tiles .tile:nth-child(1),
	.bloc-tiles .tile:nth-child(2),
	.bloc-tiles .tile:nth-child(3),
	.bloc-tiles .tile:nth-child(4),
	.bloc-tiles .tile:nth-child(5){
		position: relative;
		right: unset;
		top:  unset;
		margin-bottom: 30px;
	}
	
	.bloc-tiles .tile:nth-child(1)::after {
	 	transform: scale(1);
		top: 148px;
		left: -230px;
	}

	.bloc-tiles .tile:nth-child(4)::after {
		transform: scale(1);
		right: -478px;
		top: -140px;
	}

	.bloc-tiles .tile p {
		padding: 20px 40px;
	}

	.bloc-tiles img:last-of-type {
		bottom: 40px;
		left: unset;
		right: 50px;
	}

	.bloc-tiles img:first-of-type {
		right: 180px;
		left: unset;
		bottom: 200px;
	}

	.bloc-part .part {
		margin-bottom: 30px;
	}

	.bloc-part .part:nth-child(5n+1),
	.bloc-part .part:nth-child(5n+3),
	.bloc-part .part:nth-child(5n+4),
	.bloc-part .part:nth-child(5n+6),
	.bloc-part .part:nth-child(5n+7),
	.bloc-part .part:nth-child(5n+5) {
		margin-left: unset;
		margin-right: unset;
		margin-top: unset;
	}
	.bloc-part .part:nth-child(3)::before, 
	.bloc-part .part:nth-child(3)::after, 
	.bloc-part .part:nth-child(5)::before {
		transform: scale(1);
	}
	.bloc-part .part:nth-child(3)::before {
	  top: -148px;
	  left: -232px;
	}
	.bloc-part .part:nth-child(3)::after {
	  top: 150px;
	  left: -232px;
	}
	.bloc-part .part:nth-child(5)::before {
	  top: -150px;
	  left: 645px;
	}

	footer > img{
		display: none;
	}

}




@media screen and (max-width: 768px){

	header.open nav.navigation button.responsive_button::after {
		transform: translate(-50%, -50%) scale(23);
	}
	.page-top-home .titre span {
	  font-size: 2.188rem;
	  line-height: 2.375rem;
	}
	.page-top-home  .titre::after {
		transform: translate(-50%, -50%) scale(0.6);
	}
	.page-top-home img.aquarelle.tache_01 {
		display: none;
	}
	body.home #page {
		padding-top: 0;
	}
	.page-top-home {
		display: flex;
		flex-direction: column;
		gap: 212px;
		justify-content: space-between;
		padding: 250px 0 0 0;
	}
	.page-top-home .titre {
		position: static;
		transform: unset;
		inset: unset;
	}
	.page-top-home .texte {
		transform: unset;
		text-align: center;
		position: relative;
		inset: unset;
		max-width: none;
		padding: 50px 20px 30px 20px;
	}
	.page-top-home .hexagone {
		bottom: 245px;
	}
	
	.bloc .texte {
		text-align: center;
	}
	
	.bloc:nth-child(2n+1) .paragraphe {
	  padding-left: 0.75rem;
	}

	.bloc .image ::after{
		display: none;
	}
	.bloc-texte-image:is(.left, .right) .savoir {
		position: relative;
		inset:auto auto -50px auto;
	}
	.bloc-tiles .tile .tile-content{
		height: 285px;
	}
	.bloc-tiles .tile:nth-child(1),
	.bloc-tiles .tile:nth-child(2),
	.bloc-tiles .tile:nth-child(3),
	.bloc-tiles .tile:nth-child(4),
	.bloc-tiles .tile:nth-child(5) {
		margin-bottom: 18px;
	}

	.bloc-part .part:nth-child(3)::after, 
	.bloc-part .part:nth-child(5)::after, 
	.bloc-part .part:nth-child(5)::before{
		display: none;
	}
	
	footer div.container > div{
		display: flex;
		align-items: center;
	}
	footer div.social-media{
		position: relative;
		right: unset;
	}

}

@media screen and (max-width: 576px){

	header nav.navigation button.responsive_button{
		right: 30px;
		top: 20px;
	}

	header.open nav.navigation button.responsive_button::after {
	  transform: translate(-50%, -50%) scale(20);
	}

	header nav.navigation div.menu{
		padding-top: 0;
	}
	.page-top .titre::after {
		display: none;
	}
	.bloc-cta {
		margin-top: 70px;
		padding-top: 50px;
		padding-bottom: 180px;
	}
	section.bloc div.images img{
		-webkit-mask-size: 65%;
		mask-size: 65%;
		mask-position: center;
		-webkit-mask-position: center;
		height: 300px;
	}
	
	.page-top-home .hexagone {
		bottom: 355px;
	}
	
	.page-top-home .titre::after {
	  transform: translate(-50%, -50%) scale(0.4);
	}
	.page-top-home::after {
	  background: linear-gradient(0deg, rgb(255, 255, 255) 30%, rgba(255,255,255,0) 80%);
	}
	.page-top-home .titre span {
	  font-size: 1.75rem;
	  line-height: 1.875rem;
	}
	.page-top-home img.aquarelle.tache_02 {
		display: none;
	}
	body.home #page {
		padding-top:80px;
	}
	.bloc-actus {
		padding-right: 0.75rem;
		padding-top: 0;
	}
	.bloc-actus .paragraphe {
	  padding: 0 0.75rem;
	}
	.bloc-texte .texte {
		max-width: unset;
		padding: 40px 20px;
	}
	.bloc-tiles .tiles {
		gap: 20px;
	}
	.bloc-tiles .tiles {
		margin-top: 20px;
	}

	.bloc-tiles .tile .tile-content {
	  height: 335px;
	}
	.bloc-tiles .tile:nth-child(1),
	.bloc-tiles .tile:nth-child(2),
	.bloc-tiles .tile:nth-child(3),
	.bloc-tiles .tile:nth-child(4),
	.bloc-tiles .tile:nth-child(5) {
		margin-bottom: 0;
	}
	.bloc-part .part-content {
	  height: 140px;
	}

	.bloc-tiles .tile:nth-child(1)::after,
	.bloc-tiles .tile:nth-child(4)::after,
	.bloc-tiles img:first-of-type,
	.bloc-part .part span {
		display: none;
	}
	.bloc-tiles img:last-of-type {
		display: none;
	}
	.bloc-part img {
		max-height: 70px;
		max-width: 120px;
		object-fit: contain;
	}
	.bloc-tiles img  {
		top: 0px;
		width: 250px;
	}

	article.actu_item div.info{
		padding-bottom: 15px;
	}

	article.actu_item div.info{
		padding-bottom: 15px;
	}

	form div.row{
		margin-bottom: 0;
	}

	form label.textarea{
		margin-top: 0;
	}

	form div.row > div{
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 427px){
	section.bloc div.images img{
		-webkit-mask-size: 90%;
		mask-size: 90%;
		mask-position: center;
		-webkit-mask-position: center;
		height: 300px;
	}
}
