/* Importation police */

/*Outfit*/
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
/*Montserrat*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&display=swap');
/*Inter*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&display=swap');



















/*Paramètres généraux du site */
html {
		margin: 0;
  	padding: 0;
		overflow-x: hidden;
		scroll-behavior: smooth;
}


::selection {
 		background-color:#C20E1A;
 		color: #fff;
}


body {
  	margin: 0;
  	padding: 0;
  	font-family: 'Montserrat', sans-serif;
  	color: #333;
  	background-color: #ededed;
}

body a {
		text-decoration: none;
}


/* Changement de la barre de défilement */
body::-webkit-scrollbar {
		width: 15px;  /*Largeur de la barre de défilement */
}

body::-webkit-scrollbar-track {
  	background: rgba(30,30,30,1);  /* Couleur du fond de la barre de défilement */
}

body::-webkit-scrollbar-thumb {
  	background-color: #C20E1A;    /* Couleur du palet de défilement */
  	border-radius: 10px; 
  	border: 4px solid rgba(30,30,30,1);
}


p {
	margin: 0;
	padding: 0;
}


















/* Barre navigation */
.navigation{
	top: 0;
	left: 0;
	width: 100vw;
	height: 21.58vh;
	min-height: 120px;
	max-height: 170px;
	background-color: rgba(30,30,30,0.8);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  /*position: sticky;*/
  font-family: "Outfit", sans-serif;
  /*border: 1px solid black;*/
  /*z-index: 10;*/
}

.logo {
		width: 20.83vw;
		height: 9.64vh;
		margin-left: 3.89vw;
		/*margin-top: 5.76vh;*/
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
}


.menu-test-desktop {
	width: 60.91vw;
	height: 4.31vh;
	/*border: 1px solid white;*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style-type: none;
  margin-right: 3.89vw;
}

.barre-menu-centre {
		width: 39.02vw;
		height: 4.31vh;
		display: flex;
	  justify-content: space-between;
	  align-items: center;
		/*border: 1px solid white;*/
}

.nous-contacter {
		width: auto;
		height: 4.31vh;
		margin-right: 3.89vw;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: auto;
		/*border: 1px solid white;*/

		position: relative;
  	overflow: hidden;
  	cursor: pointer;
  	transition: color 0.3s ease;

  	font-size: clamp(14px, 1.6vw, 23px);
		font-weight: 300;
		color: rgba(255,255,255,1);
}

.barre-menu {
		/*border: 1px solid white;*/
		height: 4.31vh;
		display: flex;
  	justify-content: center;
  	align-items: center;

  	position: relative;
  	overflow: hidden;
  	cursor: pointer;
  	transition: color 0.3s ease;

		font-size: clamp(13px, 1.46vw, 21px);
		font-weight: 300;
		color: rgba(255,255,255,0.5);

}

.menu-test-desktop > li {
  margin: 0 1rem;
  overflow: hidden;
  /*border: 1px solid white;*/
}

.nous-contacter a {
		text-decoration: none;
		color: rgba(255,255,255,1);
}

.nous-contacter-actif {
		width: auto;
		height: 4.31vh;
		/*margin-right: 3.89vw;*/
		display: flex;
  	justify-content: space-between;
  	align-items: center;
		/*border: 1px solid white;*/

		position: relative;
  	overflow: hidden;
  	cursor: pointer;

  	font-size: clamp(14px, 1.6vw, 23px);
		font-weight: 500;
		color: rgba(255,255,255,1);
}

.nous-contacter-actif a {
		text-decoration: none;
		color: rgba(255,255,255,1);
}


.barre-menu a {
		text-decoration: none;
		color: rgba(255,255,255,0.5);
}

.barre-menu-actif {
		/*border: 1px solid white;*/
		height: 4.31vh;
		display: flex;
  	justify-content: center;
  	align-items: center;

  	position: relative;
  	overflow: hidden;
  	cursor: pointer;

  	font-size: clamp(13px, 1.46vw, 21px);
		font-weight: 500;
		color: rgba(255,255,255,1);
}

.barre-menu-actif a {
		text-decoration: none;
		color: rgba(255,255,255,1);
}


.barre-menu-actif::after {
  	content: "";
  	position: absolute;
  	bottom: 0vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(1);
  	transform-origin: center;
  	width: 100%;
  	height: 2px;
  	background-color: #C20E1A;
}

.nous-contacter-actif::after {
		content: "";
  	position: absolute;
  	bottom: 0vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(1);
  	transform-origin: center;
  	width: 100%;
  	height: 2px;
  	background-color: #C20E1A;
}


/* Soulignement animé */
.barre-menu::after {
  	content: "";
  	position: absolute;
  	bottom: 0vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(0);
  	transform-origin: center;
  	width: 100%;
  	height: 2px;
  	background-color: #C20E1A;
  	transition: transform 0.5s ease;
}


.nous-contacter::after {
  	content: "";
  	position: absolute;
  	bottom: 0vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(0);
  	transform-origin: center;
  	width: 100%;
  	height: 2px;
  	background-color: #C20E1A;
  	transition: transform 0.5s ease;
}

/* Animation au survol */
.barre-menu:hover::after {
  	transform: translateX(-50%) scaleX(1);
}

.nous-contacter:hover::after {
  	transform: translateX(-50%) scaleX(1);
}


.menu-test {
	/*border: 1px solid white;*/
  display: none;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 10;
}



.menu-test > li {
  margin: 0 1rem;
  overflow: hidden;
  /*border: 1px solid white;*/
}

.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: 6vw
  /*border: 1px solid white;*/
}

#menu-toggle {
  display: none;
  border: 1px solid white;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
  /*border: 1px solid red;*/
}

.menu-button::before {
  content: '';
  margin-top: -8px;
}

.menu-button::after {
  content: '';
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

@media (max-width: 1000px) {
	.navigation {
		height: 15.58vh;
		max-height: 140px;
	}
}

@media (max-width: 700px) {

	.navigation {
		min-height: 85px;
		height: 8vh;
		max-height: 100px;
	}

	.menu-test-desktop {
		display: none;
	}
  .menu-test {
    display: block;
    max-height: 0;
    overflow: hidden;
    background-color: rgba(30,30,30,1);
    transition: max-height 0.4s ease;
  }

  .logo {
  	width: 40vw;
  	max-height: 80px;
  }

  .menu-test li {
  	padding-top: 2vh;
  	padding-bottom: 2vh;
    border-bottom: 1px solid #444;
  }

  .barre-menu-mobile {
  	position: relative;
  	font-size: clamp(16px, 1.46vw, 21px);
		font-weight: 300;
		color: rgba(255,255,255,0.5);
		padding-top: 1vh;
  	padding-bottom: 1vh;
  }

  .barre-menu-mobile a {
  	text-decoration: none;
		color: rgba(255,255,255,0.5);
  }

  .barre-menu-mobile-actif {
  	position: relative;
  	font-size: clamp(16px, 1.46vw, 21px);
		font-weight: 500;
		color: rgba(255,255,255,1);
		padding-top: 1vh;
  	padding-bottom: 1.5vh;
  }

  .barre-menu-mobile-actif a {
  	text-decoration: none;
		color: rgba(255,255,255,1);
  }

  .barre-menu-mobile-actif::after {
  	content: "";
  	position: absolute;
  	bottom: 0.75vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(1);
  	transform-origin: center;
  	width: 110%;
  	height: 2px;
  	background-color: #C20E1A;
}


.nous-contacter-mobile {
		font-size: clamp(17px, 1.6vw, 23px);
		font-weight: 500;
		color: rgba(255,255,255,1);
		padding-top: 1.5vh;
  	padding-bottom: 1.5vh;
}

.nous-contacter-mobile a {
	text-decoration: none;
		color: rgba(255,255,255,1);
}

.nous-contacter-mobile-actif {
  	position: relative;
  	font-size: clamp(17px, 1.46vw, 21px);
		font-weight: 500;
		color: rgba(255,255,255,1);
		padding-top: 1vh;
  	padding-bottom: 2vh;
  }


  .nous-contacter-mobile-actif a {
  	text-decoration: none;
		color: rgba(255,255,255,1);
  }

  .nous-contacter-mobile-actif::after {
  	content: "";
  	position: absolute;
  	bottom: 1vh;
  	left: 50%;
  	transform: translateX(-50%) scaleX(1);
  	transform-origin: center;
  	width: 110%;
  	height: 2px;
  	background-color: #C20E1A;
}

  .menu-button-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    width: 30px;
    height: 30px;
  }


  #menu-toggle ~ .menu-test li {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  #menu-toggle:checked ~ .menu-test li {
    /*border: 1px solid #333;*/
    height: 2.5em;
    padding: 0.5em;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .menu-test > li {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0.5em 0;
    width: 100%;
  }
  .menu-test > li:not(:last-child) {
    border-bottom: 1px solid #444;
  }
}

@media (max-width: 450px) {
	.logo {
		width: 45vw;
	}

	.menu-button-container {
		margin-right: 8vw;
	}
}

@media (max-width: 350px) {
	.logo {
		width: 50vw;
	}

	.menu-button-container {
		margin-right: 10vw;
		width: 25px;
	}

	.menu-button,
	.menu-button::before,
	.menu-button::after {
	  height: 3px;
	  width: 25px;
	}
}


















/* Header - Page d'accueil */
.header {
		width: 100vw;
		height: min(65.07vw, 134.82vh);
		/*border: 1px solid white;*/
		background: url('../Images/Fond header.jpg') center/cover no-repeat;
		display: flex;
		background-size: cover;
  	background-position: center;
  	position: relative;
  	/* --- CHANGEMENTS --- */
	  z-index: -1; /* le header passe derrière la nav (qui reste "static") */
	  margin-top: calc(-1 * max(21.58vh, 120px)); /* remonte le header sous la nav */
	  /*padding-top: max(21.58vh, 120px); */          /* décale le contenu du header en-dessous de la nav */
	  /* ------------------- */
  	overflow: hidden;
}


.header::before {
  	content: "";
  	position: absolute;
  	top: 0;
  	left: 0;
  	inset: 0;
 		width: 100%;
  	height: 100%;
  	background-color: rgba(0, 0, 0, 0.5);
  	z-index: -1;
}

.header-contenu {
		margin-left: 18.96vw;
		margin-top: min(27.29vw,56.55vh);
		width: 72.43vw;
		height: 36.56vh;
		/*border: 1px solid white;*/
		display: flex;
		flex-direction: column;
  	position: relative;
  	z-index: 1;
}

.header-contenu-titre {
		height: auto;
		/*border: 1px solid white;*/
		display: flex;
  	position: relative;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 700;
  	font-size: clamp(30px, 5.14vw, 74px);
}

.header-contenu-titre-ligne {
	display: none;
}

.header-contenu-texte {
		/*border: 1px solid white;*/
		display: flex;
	  position: relative;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 300;
  	font-size: clamp(20px, 2.99vw, 43px);
}

.header-contenu-texte-ligne {
	display: none;
}

.header-bouton {
		top: min(-23vw, -47.65vh);   
  	left: 50%;              
  	transform: translateX(-50%);
		width: 22.92vw;
		height: 9.5vh;
		/*border: 30px solid red;*/
		display: flex;
  	position: relative;
  	z-index: 10;
  	border-radius: 10px;
}

.bouton {
		width: min(22.92vw, 47.48vh);
		padding: min(0.97vw, 2vh);
  	border: none;
  	border-radius: 10px;
  	cursor: pointer;
  	background-color: transparent;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 300;
  	font-size: clamp(16px, 1.8vw, 26px);
  	text-decoration: none;

  	transition: all 1000ms;
  	position: relative;
  	overflow: hidden;
  	outline: 2px solid #fff;
}

.bouton:hover {
  	color: #ffffff;
  	transform: scale(1.1);
  	outline: 2px solid #fff;
  	/*box-shadow: 4px 5px 17px -4px #fff;*/
}

.bouton::before {
  	content: "";
  	position: absolute;
  	left: -50px;
  	top: 0;
  	width: 0;
  	height: 100%;
  	background-color: rgba(30,30,30,0.6);
  	transform: skewX(45deg);
  	z-index: -1;
  	transition: width 1000ms;
}

.bouton:hover::before {
  	width: 250%;
}


@media (max-width: 1520px) {

	.header-contenu-titre-ligne {
		height: auto;
		/*border: 1px solid white;*/
		display: flex;
  	position: relative;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 700;
  	font-size: clamp(30px, 5.14vw, 74px);
	}

	.header-contenu-titre {
	  	display: none;
	}

	.header-bouton {
		top: max(-18.41vw, -38.15vh);
	}
}

@media (max-width: 1000px) {
	.header {
		height: 105vh;
	}

	.header-contenu {
		margin: auto 18.96vw ;
		width: 72.43vw;
		/*border: 1px solid white;*/
	}

	.header-bouton {
		top: min(-30vw, -45vh);
		/*border: 1px solid white;*/
		width: 30vw;
		height: 9vh;
	}

	.bouton {
		width: 30vw;
	}
}

@media (max-width: 1000px) and (max-height: 660px) {
	.header-bouton {
		top: min(-28vw, -43vh);
		/*border: 1px solid white;*/
	}
}



@media (max-width: 850px) {
	.header {
		height: 110vh;
	}

	.header-contenu {
		margin: auto 15vw;
		width: 80%;
		/*border: 1px solid white;*/
	}

	.header-bouton {
		top: min(-32vw, -50vh);
		/*border: 1px solid white;*/
		width: 35vw;
		height: 8.5vh;
	}

	.bouton {
		width: 35vw;
	}

	.header-contenu-texte {
	  margin-top: 1vh;
	}
}

@media (max-width: 850px) and (max-height: 633px) {
	.header-bouton {
		top: min(-27vw, -42vh);
		/*border: 1px solid white;*/
	}
}

@media (max-width: 700px) {
	.header-bouton {
		width: 40vw;
		height: 8vh;
	}

	.bouton {
		width: 40vw;
	}
}

@media (max-width: 560px) {
	.header-bouton {
		width: 50vw;
	}

	.bouton {
		width: 50vw;
	}
}

@media (max-width: 417px) {
	.header-bouton {
		top: min(-34vw, -52vh);
		width: 60vw;
		height: 7.5vh;
	}

	.bouton {
		width: 60vw;
	}

	.header-contenu {
		margin: auto 10vw;
		width: 90%;
		/*border: 1px solid white;*/
	}

	.header-contenu-texte {
		/*border: 1px solid white;*/
		display: flex;
	  position: relative;
	  margin-top: 1vh;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 300;
  	font-size: clamp(20px, 2.99vw, 43px);
	}
}

@media (max-width: 383px) and (max-height: 463px) {
	.header-bouton {
		top: min(-25vw, -35vh);
		/*border: 1px solid white;*/
	}
}

@media (max-width: 364px) {
	.header-contenu-texte {
		display: none;
	}

	.header-contenu-texte-ligne {
		/*border: 1px solid white;*/
		display: flex;
	  position: relative;
	  margin-top: 1vh;

  	font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 300;
  	font-size: clamp(20px, 2.99vw, 43px);
	}

	.header-bouton {
		top: min(-30vw, -45vh);
		width: 70vw;
	}

	.bouton {
		width: 70vw;
	}

}

@media (max-width: 268px) {
	.header-bouton {
		top: min(-30vw, -45vh);
		width: 80vw;
	}

	.bouton {
		width: 80vw;
	}

	.header-contenu {
		margin: auto 4vw;
		width: 90%;
		/*border: 1px solid white;*/
	}
}

@media (max-width: 236px) {
	.header-bouton {
		top: min(-28vw, -43vh);
		width: 80vw;
	}

	.bouton {
		width: 80vw;
	}

	.header-contenu {
		margin: auto auto;
		width: 85%;
		/*border: 1px solid white;*/
	}

	.header-contenu-texte {
		display: flex;
	}

	.header-contenu-texte-ligne {
		display: none;
	}

}




















/* Toutes les pages */
.angle-ouvrant-accueil {
		margin-left: 11.74vw;
		margin-top: max(4.93vw, 10.22vh);
		width: 12.29vw;
		height: 12.29vw;
		border-left: max(0.25vw,0.5vh) solid #C20E1A;
		border-top: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}

.angle-ouvrant-galerie-photo {
		margin-left: 9.10vw;
		margin-top: max(4.93vw, 10.22vh);
		width: 12.29vw;
		height: 12.29vw;
		border-left: max(0.25vw,0.5vh) solid #C20E1A;
		border-top: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}

.angle-ouvrant {
		margin-left: 11.74vw;
		margin-top: max(4.93vw, 10.22vh);
		width: 12.29vw;
		height: 12.29vw;
		border-left: max(0.25vw,0.5vh) solid #C20E1A;
		border-top: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}




@media (max-width: 700px) {
	.angle-ouvrant {
		width: 16vw;
		height: 16vw;
		border-left: max(0.20vw,0.45vh) solid #C20E1A;
		border-top: max(0.20vw,0.45vh) solid #C20E1A;
	}

	.angle-ouvrant-accueil {
		width: 16vw;
		height: 16vw;
		border-left: max(0.20vw,0.45vh) solid #C20E1A;
		border-top: max(0.20vw,0.45vh) solid #C20E1A;
	}

	.angle-ouvrant-galerie-photo {
		width: 16vw;
		height: 16vw;
		border-left: max(0.20vw,0.45vh) solid #C20E1A;
		border-top: max(0.20vw,0.45vh) solid #C20E1A;
	}
}

@media (max-width: 400px) {
	.angle-ouvrant {
		width: 18vw;
		height: 18vw;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}

	.angle-ouvrant-accueil {
		width: 18vw;
		height: 18vw;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}

	.angle-ouvrant-galerie-photo {
		width: 18vw;
		height: 18vw;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}
}

@media (max-width: 300px) {
	.angle-ouvrant {
		width: 12vh;
		height: 12vh;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}

	.angle-ouvrant-accueil {
		width: 12vh;
		height: 12vh;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}

	.angle-ouvrant-galerie-photo {
		width: 12vh;
		height: 12vh;
		border-left: max(0.15vw,0.4vh) solid #C20E1A;
		border-top: max(0.15vw,0.4vh) solid #C20E1A;
	}
}





.angle-fermant-accueil {
		margin-left: 75.97vw;
		margin-top: max(-7.15vw, -14.82vh);
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}

.angle-fermant {
		margin-left: 75.97vw;
		margin-top: max(-7.15vw, -14.82vh);
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}

.angle-fermant-galerie-photo {
		margin-left: 78.68vw;
		margin-top: max(-7.15vw, -14.82vh);
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
}




@media (max-width: 1230px) {
	.angle-fermant-galerie-photo {
		margin-left: 78.68vw;
		margin-top: 3vh;
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
	}
}

@media (max-width: 1024px) {
	.angle-fermant-galerie-photo {
		margin-left: 78.68vw;
		margin-top: max(-7.15vw, -14.82vh);
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
	}
}

@media (max-width: 768px) {
	.angle-fermant-galerie-photo {
		margin-left: 78.68vw;
		margin-top: 3vh;
		width: 12.29vw;
		height: 12.29vw;
		border-right: max(0.25vw,0.5vh) solid #C20E1A;
		border-bottom: max(0.25vw,0.5vh) solid #C20E1A;
		position: relative;
	}
}



@media (max-width: 700px) {
	.angle-fermant {
		width: 16vw;
		height: 16vw;
		border-right: max(0.20vw,0.45vh) solid #C20E1A;
		border-bottom: max(0.20vw,0.45vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}

	.angle-fermant-accueil {
		width: 16vw;
		height: 16vw;
		border-right: max(0.20vw,0.45vh) solid #C20E1A;
		border-bottom: max(0.20vw,0.45vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}


	.angle-fermant-galerie-photo {
		width: 16vw;
		height: 16vw;
		border-right: max(0.20vw,0.45vh) solid #C20E1A;
		border-bottom: max(0.20vw,0.45vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 9.10vw;
	}
}


@media (max-width: 400px) {
	.angle-fermant {
		width: 18vw;
		height: 18vw;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}

	.angle-fermant-accueil {
		width: 18vw;
		height: 18vw;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}

	.angle-fermant-galerie-photo {
		width: 18vw;
		height: 18vw;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 9.10vw;
	}
}

@media (max-width: 300px) {
	.angle-fermant {
		width: 12vh;
		height: 12vh;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}

	.angle-fermant-accueil {
		width: 12vh;
		height: 12vh;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 11.74vw;
	}

	.angle-fermant-galerie-photo {
		width: 12vh;
		height: 12vh;
		border-right: max(0.15vw,0.4vh) solid #C20E1A;
		border-bottom: max(0.15vw,0.4vh) solid #C20E1A;
		margin-left: auto;
		margin-right: 9.10vw;
	}
}



















/* Page accueil */
.titre-accueil {
		margin-left: 16.88vw;
		margin-top: max(-7.15vw,-14.82vh);
		margin-bottom: max(1.04vw,2.15vh);
		width: 66.32vw;
		height: auto;
		/*border: 1px solid white;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(26px, 3.68vw, 53px);
  	text-align: center;
}


.sous-titre-accueil {
		margin-left: 16.88vw;
		width: 66.32vw;
		height: auto;
		/*border: 1px solid white;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(18px, 2.22vw, 32px);
  	text-align: center;
}


.savoir-faire-accueil {
		margin-left: 16.92vw;
		margin-top: min(5.76vw,11.94vh);
		margin-bottom: min(0.97vw, 2vh);
		width: 66.32vw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
}


.soulignage-rouge {
  	text-decoration: underline max(0.25vw,0.4vh);
  	text-decoration-color: #C20E1A;
  	text-underline-offset: max(0.42vw, 0.86vh);
}


.box-texte-et-image {
		margin-left: 16.92vw;
		width: 63.75vw;
		display: flex;
		/*border: 1px solid black;*/
		justify-content: space-between;
		align-items: center;
}


.liste-tiret-rouge {
		width: auto;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
		/*border: 1px solid black;*/
  	list-style: none;
  	line-height: 1.4;
}


.liste-tiret-rouge li::before {
  	content: "– ";
  	color: #C20E1A;
  	font-weight: bold;
  	margin-left: max(-1.04vw, -2.16vh);
  	margin-right: max(1.25vw, 2.59vh);
  	position: relative;
}


.image-cercle {
  	width: 27.08vw;
  	height: 27.08vw;
  	object-fit: cover;
  	border-radius: 50%;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
}


.box-texte-accueil {
		margin-left: 23.96vw;
		margin-top: min(12.22vw, 25.32vh);
		width: 52.08vw;
		/*border: 1px solid black;*/
		display: flex;
		justify-content: space-between;
		flex-direction: column;
}


.texte-accueil {
		display: flex;
		text-align: center;
		flex-direction: column;
}


.texte-accueil-titre {
		text-align: center;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(22px, 2.78vw, 40px);
  	/*border: 1px solid black;*/
}


.texte-accueil-sous-titre {
		text-align: center;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(18px, 2.08vw, 30px);
  	/*border: 1px solid black;*/
}

.texte-accueil-sous-titre-2 {
		text-align: center;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(18px, 2.08vw, 30px);
  	/*border: 1px solid black;*/
}

.texte-accueil-sous-titre-2-ligne {
		display: none;
		text-align: center;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(18px, 2.08vw, 30px);
  	/*border: 1px solid black;*/
}



.espace-texte-accueil {
		height: min(4.44vw, 9.21vh);
}


.ligne-accueil {
		border-top: max(0.25vw,0.4vh) solid #C20E1A;
		width: 27.78vw;
		margin: auto;
}


.texte-rouge-accueil {
		color: #C20E1A;
		font-weight: 600;
}


@media (max-width: 735px) {
	.texte-accueil-sous-titre-2 {
		display: none;
}

.texte-accueil-sous-titre-2-ligne {
	display: block;
	}
}



@media (max-width: 700px) {


.box-texte-et-image {
		margin-left: 16.92vw;
		width: 66.32vw;
		display: flex;
		/*border: 1px solid black;*/
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
	}


.liste-tiret-rouge {
		width: 60vw;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
		/*border: 1px solid black;*/
  	list-style: none;
  	line-height: 1.4;
}


.liste-tiret-rouge li::before {
  	content: "– ";
  	color: #C20E1A;
  	font-weight: bold;
  	margin-left: max(-1.04vw, -2.16vh);
  	margin-right: max(1.25vw, 2.59vh);
  	position: relative;
  	/*border : 1px solid black;*/
}


.image-cercle {
  	width: 25vh;
  	height: 25vh;
  	object-fit: cover;
  	border-radius: 50%;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
}
.soulignage-rouge {
  	text-decoration: underline max(0.20vw,0.3vh);
  	text-decoration-color: #C20E1A;
  	text-underline-offset: max(0.3vw, 0.6vh);
}





}

@media (max-width: 420px) {
	.liste-tiret-rouge {
		width: 55vw;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
		/*border: 1px solid black;*/
  	list-style: none;
  	line-height: 1.4;
	}

	.liste-tiret-rouge li::before {
	  	content: "– ";
	  	color: #C20E1A;
	  	font-weight: bold;
	  	margin-left: -3vh;
	  	margin-right: max(1.25vw, 2.59vh);
	  	position: relative;
	  	/*border : 1px solid black;*/
	}
}


@media (max-width: 330px) {
	.image-cercle {
  	width: min(66vw,25vh);
  	height: min(66vw,25vh);
  	object-fit: cover;
  	border-radius: 50%;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
}
}

















/* Page activité */
.titre-activite {
		margin-left: 16.88dvw;
		margin-top: max(-7.15vw,-14.82vh);
		width: 66.32dvw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(26px, 3.68vw, 53px);
  	text-align: center;
}

.sous-titre-activite {
		margin-left: 25.35dvw;
		width: 50dvw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(18px, 2.22vw, 32px);
  	text-align: center;
}

.box-realisations-activite {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 76.25dvw;
		height: auto;
		display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.8rem;
    align-items: stretch;
}

.realisations-activite {
		border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 2rem 1.5rem 1rem;
    height: 100%;
    box-sizing: border-box;
}


.realisations-activite:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.12);
}

.titre-realisations-activite {
		width: 100%;
		height: auto;
		margin-bottom: 0.7rem;
		/*border: 1px solid black;*/
		display: flex;
		text-align: left;

		font-family: 'Montserrat', sans-serif;
  	color: #c2021a;
  	font-weight: 700;
  	font-size: clamp(18px, 2.22vw, 32px);
}

.liste-tiret-rouge-activite {
		margin-left: 1.5rem;
		/*margin-right: 1dvw;*/
		flex-grow: 1;
		width: auto;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
		/*border: 1px solid black;*/
  	list-style: none;
  	line-height: 1.4;
  	padding-left: 0;
}

.liste-tiret-rouge-activite li {
  	padding-left: 1.2em; /* espace réservé pour le tiret */
  	position: relative;
}


.liste-tiret-rouge-activite li::before {
  	content: "– ";
  	color: #C20E1A;
  	font-weight: bold;
  	margin-right: max(1.25vw, 2.59vh);
  	position: absolute;
  	left: 0;
}



.box-certifications-activite {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 76.25vw;
		height: auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
		border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 2rem 1.5rem 3rem;
    box-sizing: border-box;
}

.box-certifications-activite:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.12);
}

.titre-certifications-activite {
		width: 100%;
		height: auto;
		margin-bottom: 2rem;
		/*border: 1px solid black;*/
		display: flex;
		justify-content: center;

		font-family: 'Montserrat', sans-serif;
  	color: #c2021a;
  	font-weight: 700;
  	font-size: clamp(18px, 2.22vw, 32px);
}

.certifications-activite {
	width: 90%;
	margin: auto;
	/*border: 1px solid black;*/
	height: auto;
	display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  align-items: stretch;
}

.certifications-cote-activite {
	display: flex;
	text-align: center;
	align-items: center;
	font-family: 'Montserrat', sans-serif;
  color: #1e1e1e;
  font-weight: 500;
  font-size: clamp(14px, 1.74vw, 25px);
}

.gras {
	font-weight: 700;
}

.certifications-centre-activite {
	/*width: 12.08dvw;*/
	width: 8rem;
	height: auto;
	/*border: 1px solid black;*/
	margin: auto;
}


@media (max-width: 900px) {
  .certifications-activite {
    grid-template-columns: 1fr;
  }

  .certifications-centre-activite {
		width: 6rem;
	}
}




.box-partenariats-activite {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 76.25vw;
		height: auto;
		display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.8rem;
    align-items: stretch;
}

.partenariats-activite {
    border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 2rem 1.5rem 3rem;
    height: 100%;
    box-sizing: border-box;
    justify-items: center;
}


.partenariats-activite:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.12);
}


.logo-partenariats-activite-gauche,
.logo-partenariats-activite-droite {
  width: 7rem;
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  /*border: 1px solid black;*/
  margin-bottom: 2rem;
}


.logo-partenariats-activite-gauche img,
.logo-partenariats-activite-droite img {
	height: 100%;
  width: auto;
  object-fit: contain;
}


.texte-partenariats-actvite {
	width: 72%;
	height: auto;
	/*border: 1px solid black;*/
	display: flex;
	text-align: center;
	align-items: flex-start;
	font-family: 'Montserrat', sans-serif;
  color: #1e1e1e;
  font-weight: 500;
  font-size: clamp(14px, 1.74vw, 25px);
}


@media (max-width: 700px) {

	.sous-titre-activite {
			margin-left: 16.88vw;
			width: 66.32vw;
	}

	.box-realisations-activite {
			margin: 5rem auto 0 auto;
	}

	.box-partenariats-activite {
		margin: 5rem auto 0 auto;
	}

	.box-certifications-activite {
		margin: 5rem auto 0 auto;
	}


	.logo-partenariats-activite-gauche,
	.logo-partenariats-activite-droite {
	  width: 4rem;
	  height: 4rem;
	}

	.texte-partenariats-actvite {
		width: 90%;
	}

	.certifications-centre-activite {
		width: 4rem;
	}
}





@media (max-width: 450px) {
	.box-realisations-activite {
    grid-template-columns: 1fr;
  }

  .box-partenariats-activite {
  	grid-template-columns: 1fr;
  }
}



















/*Page galerie photo */
.titre-galerie-photo-1 {
		margin: max(-6.94vw,-14.39vh) auto max(1.11vw,2.3vh) auto;
		width: auto;
		max-width: 1000px;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(22px, 2.78vw, 40px);
  	text-align: left;
}


.titre-galerie-photo-autre {
		margin: 0 auto max(1.11vw,2.3vh) auto;
		width: auto;
		max-width: 1000px;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(22px, 2.78vw, 40px);
  	text-align: left;
}


.soulignage-rouge-galerie-photo {
  	text-decoration: underline max(0.25vw,0.4vh);
  	text-decoration-color: #C20E1A;
  	text-underline-offset: max(0.5vw, 1.1vh);
}


.carousel-container {
  	position: relative;
  	margin: auto;
    max-width: 1000px;
    overflow: hidden;
    border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    /*border: 1px solid black;*/
}


.carousel-track-wrapper {
  	overflow: hidden;
  	width: 100%;
}


.carousel-track {
  	display: flex;
  	transition: transform 0.5s ease-in-out;
}


.carousel-slide {
  	flex: 0 0 100%;
  	box-sizing: border-box;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	/*border: 2px solid black;*/
}


.carousel-slide img {
  	width: 100%;
  	max-height: min(46.17vw, 85.39vh);
  	display: block;
  	object-fit: cover;
  	border-radius: min(0.96vw, 1.44vh);
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
  	/*border: 1px solid black;*/
}


.carousel-btn {
  	position: absolute;
  	top: 50%;
  	transform: translateY(-50%);
  	background-color: rgba(255, 255, 255, 0.7);
  	border: none;
  	padding: 0.5rem 1rem;
  	cursor: pointer;
  	font-family: "Montserrat", sans-serif;
  	font-weight: 500;
  	font-size: 2rem;
  	z-index: 2;
  	border-radius: 50%;
}


.carousel-btn.prev {
  	left: 10px;
}

.carousel-btn.next {
  	right: 10px;
}


/* Bouton carousel */
.prev, .next {
  	color: #1e1e1e;
  	cursor: pointer;
  	/*border: 1px solid black;*/
  	transition: color 0.3s ease;
}

.prev:hover, .next:hover {
  	color: #C20E1A;
}


.carousel-caption {
  	margin-top: 15px;
  	margin-bottom: 15px;
  	text-align: center;
  	color: #1e1e1e;
  	font-family: "Montserrat", sans-serif;
  	font-weight: 500;
  	font-size: clamp(11px, 1.53vw, 22px);
  	background-color: rgba(255, 255, 255, 0.85);
  	padding: 0.5rem 1rem;
  	border-radius: min(0.96vw, 1.44vh);
  	max-width: fit-content;
  	margin-left: auto;
  	margin-right: auto;
  	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
  	opacity: 1;
  	transform: translateX(0);
  	transition: opacity 0.4s ease, transform 0.4s ease;
  	/*border: 1px solid black;*/
}


/* Responsive carousel */
@media screen and (max-width: 1545px) {
  .carousel-slide img {
    max-height: max(50vw, 40vh);
  }
}

@media screen and (max-width: 1400px) {
  .carousel-slide img {
    max-height: max(55vw, 40vh);
  }
}

@media screen and (max-width: 1280px) { 
  .carousel-slide img {
    max-height: max(60vw, 50vh);
  }

  .titre-galerie-photo-1 {
		margin: 15.28vw;
		margin-top: max(-4vw,-14.39vh);
		margin-bottom: max(1.11vw,2.3vh);
	}

	.titre-galerie-photo-autre {
		margin: 15.28vw;
		margin-top: max(-4vw,-14.39vh);
		margin-bottom: max(1.11vw,2.3vh);
	}

	.carousel-container {
	  	margin: auto;
	  	max-width: 900px;
	}
}

@media screen and (max-width: 1024px) {
  .carousel-container {
    max-width: 800px;
  }

  .carousel-btn {
    font-size: 1.5rem;
    padding: 0.4rem 0.8rem;
  }

  .carousel-caption {
    font-size: clamp(10px, 2.5vw, 18px);
  }
}

@media screen and (max-width: 932px) {
	.carousel-container {
    max-width: 775px;
  }
}

@media screen and (max-width: 900px) {
	.carousel-container {
    max-width: 750px;
  }
}

@media screen and (max-width: 880px) {
	.carousel-container {
    max-width: 725px;
  }
}

@media screen and (max-width: 856px) {
	.carousel-container {
    max-width: 700px;
  }
}

@media screen and (max-width: 832px) {
	.carousel-container {
    max-width: 675px;
  }
}

@media screen and (max-width: 810px) {
	.carousel-container {
    max-width: 650px;
  }
}

@media screen and (max-width: 780px) {
	.carousel-container {
    max-width: 625px;
  }
}


@media screen and (max-width: 768px) {
  .carousel-container {
    max-width: 600px;
  }

  .carousel-btn {
    font-size: 1.3rem;
    padding: 0.4rem 0.7rem;
  }

  .carousel-slide img {
  max-height: max(70vw, 40vh);
}

  .carousel-caption {
    font-size: clamp(10px, 3vw, 16px);
  }
}

@media screen and (max-width: 725px) {
	.carousel-container {
    max-width: 575px;
  }
}

@media (max-width: 700px) {

	.carousel-container {
		margin-left: auto;
		margin-right: auto;
    max-width: 575px;
  }

	.titre-galerie-photo-1 {
		margin: max(-4vw,-14.39vh) auto max(1.11vw,2.3vh) auto;
		width: 75vw;
		height: auto;
		text-align: center;
		/*border: 1px solid black;*/
	}

	.titre-galerie-photo-autre {
		margin: 0 auto max(1.11vw,2.3vh) auto;
		width: 75vw;
		height: auto;
		/*border: 1px solid black;*/
		text-align: center;
	}

	.soulignage-rouge-galerie-photo {
  	text-decoration: underline max(0.20vw,0.3vh);
  	text-decoration-color: #C20E1A;
  	text-underline-offset: max(0.3vw, 0.6vh);
	}

}

@media screen and (max-width: 600px) {
	.carousel-container {
    max-width: 550px;
  }
}

@media screen and (max-width: 575px) {
	.carousel-container {
    max-width: 525px;
  }
}

@media screen and (max-width: 550px) {
	.carousel-container {
    max-width: 500px;
  }
}

@media screen and (max-width: 525px) {
	.carousel-container {
    max-width: 475px;
  }
}



@media screen and (max-width: 500px) { 
  .carousel-slide img {
    max-height: min(70vw, 35vh);
  }

  .carousel-container {
    max-width: 450px;
  }
}

@media screen and (max-width: 475px) {
	.carousel-container {
    max-width: 425px;
  }
}

@media screen and (max-width: 450px) {
	.carousel-container {
    max-width: 400px;
  }
}


@media screen and (max-width: 440px) {

  .carousel-container {
    max-width: 390px;
  }

  .carousel-btn {
    font-size: 1.3rem;
    padding: 0.4rem 0.7rem;
  }

  .carousel-slide img {
  max-height: min(70vw, 33.83vh);
}

  .carousel-caption {
    font-size: clamp(10px, 3vw, 16px);
  }

  .titre-galerie-photo-1 {
		margin-top: max(-6.94vw,-14.39vh);
		margin-bottom: max(1.11vw,2.3vh);
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(22px, 2.78vw, 40px);
}


.titre-galerie-photo-autre {
		margin-bottom: max(1.11vw,2.3vh);
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(22px, 2.78vw, 40px);
}


}

@media screen and (max-width: 425px) {
	.carousel-container {
    max-width: 375px;
  }
}


@media screen and (max-width: 400px) {
	.carousel-container {
    max-width: 350px;
  }
}

@media screen and (max-width: 375px) {
	.carousel-container {
    max-width: 325px;
  }
}

@media screen and (max-width: 350px) {
	.carousel-container {
    max-width: 300px;
  }
}

@media screen and (max-width: 325px) {
	.carousel-container {
    max-width: 275px;
  }
}

@media screen and (max-width: 280px) {
	.carousel-container {
    max-width: 250px;
  }
}

@media screen and (max-width: 270px) {
	.carousel-container {
    max-width: 225px;
  }
}

@media screen and (max-width: 250px) {
	.carousel-container {
    max-width: 200px;
  }
}






.box-espacement-galerie-photo {
	/*border: 1px solid black;*/
	height: max(8.68vw, 17.99vh);
}



















/*Page à propos */
.titre-a-propos {
		margin: max(-7.15vw,-14.82vh) auto 0 auto;
		width: 70vw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(26px, 3.68vw, 53px);
  	text-align: center;
}

.box-presentation-atelier {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 66.25dvw;
		height: auto;
		display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.8rem;
    align-items: stretch;
}

.presentation-atelier {
    height: 100%;
    box-sizing: border-box;
    /*border: 1px solid black;*/
}

.presentation-atelier:first-child {
    font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
  	display: flex;
  	align-items: center;
  	padding: 1rem;
    /*border: 2px solid red;*/
}

.presentation-atelier img {
		border-radius: 5%;
		display: block;
		margin-left: auto;
		margin-right: 1rem;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.presentation-atelier img:hover {
	transform: scale(1.05);
	box-shadow: 0 8px 20px rgb(0 0 0 / 0.2);
}

.box-chrono {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 66.25vw;
		height: auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
    padding: 1rem;
    box-sizing: border-box;
}

.titre-chrono {
		width: 100%;
		height: auto;
		margin-bottom: 0.7rem;
		/*border: 1px solid black;*/
		display: flex;
		text-align: left;

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
}

.liste-tiret-rouge-a-propos {
		margin-left: 1.5rem;
		/*margin-right: 1dvw;*/
		flex-grow: 1;
		width: auto;
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
		/*border: 1px solid black;*/
  	list-style: none;
  	line-height: 1.4;
  	padding-left: 0;
}

.liste-tiret-rouge-a-propos li {
  	padding-left: 1.2em; /* espace réservé pour le tiret */
  	position: relative;
  	/*border: 1px solid black;*/
  	margin-bottom: 1rem;
}


.liste-tiret-rouge-a-propos li::before {
  	content: "– ";
  	color: #C20E1A;
  	font-weight: bold;
  	margin-right: max(1.25vw, 2.59vh);
  	position: absolute;
  	left: 0;
}


.box-image-atelier {
		margin: 3.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 66.25dvw;
		height: auto;
		display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.8rem;
    align-items: stretch;
}

.image-atelier {
    height: 100%;
    box-sizing: border-box;
    /*border: 1px solid black;*/
}

.image-atelier img {
		border-radius: 5%;
		display: block;
		margin-left: auto;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.image-atelier img:hover {
	transform: scale(1.05);
	box-shadow: 0 8px 20px rgb(0 0 0 / 0.2);
}

.box-processus {
		margin: 3.76vw auto 10vw auto;
		/*border: 1px solid black;*/
		width: 66.25vw;
		height: auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
    padding: 1rem;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: center;
}


.titre-timeline {
		margin: 10vw auto 0 auto;
		width: 70vw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(26px, 3.68vw, 53px);
  	text-align: center;
}



.timeline-container {
  display: grid;
  gap: 2rem;
  /*border: 1px solid black;*/
  width: 77.5vw;
  margin: 5.76vw 11.74vw max(8.68vw, 18vh);
}

.timeline-item {
  border-left: max(0.25vw,0.5vh) solid #C20E1A;
  padding-left: 1rem;
  position: relative;
  /*border: 1px solid black;*/
}

.timeline-item span:not(.arrow) {
  font-family: 'Montserrat', sans-serif;
  color: #C20E1A;
  font-weight: 600;
  font-size: clamp(15px, 1.8vw, 26px);
  text-align: left;
  /*border: 1px solid black ;*/
}

.timeline-item p {
	margin-top: 1rem;
	font-family: 'Montserrat', sans-serif;
  color: #1e1e1e;
  font-weight: 500;
  font-size: clamp(14px, 1.74vw, 25px);
  text-align: left;
 	/*border: 1px solid black;*/
}

.arrow {
	color: #1e1e1e;
	font-size: clamp(14px, 1.74vw, 25px);
	font-family: 'Montserrat', sans-serif;
	/*border: 1px solid black;*/
}


.toggle {
  border-left: max(0.25vw,0.5vh) solid #C20E1A;
  padding-left: 1rem;
  position: relative;
}

.toggle-header {
  display: flex;
  gap: 1rem;
  cursor: pointer;
  position: relative;
  align-items: flex-start; /* on aligne sur le haut */
  flex-direction: column;
  /*border: 1px solid black;*/
}

.text-and-arrow {
  display: flex;
  align-items: center; /* aligne la flèche pile au milieu du <p> */
  flex: 1; /* prend tout l’espace restant */
  justify-content: space-between;
  /*border: 1px solid black;*/
  width: 100%;
}

.text-and-arrow p {
  margin: 0; /* éviter que les marges du p décalent tout */
  font-family: 'Montserrat', sans-serif;
  color: #1e1e1e;
  font-weight: 500;
  font-size: clamp(14px, 1.74vw, 25px);
  /*border: 3px solid blue;*/
  max-width: 90%;
}

.text-and-arrow .arrow {
  margin-left: auto; /* pousse la flèche à droite */
  transition: transform 0.3s ease;
}

.toggle-header span:first-child {
  min-width: 120px;
}

.toggle-header .arrow {
  margin-left: auto;
  transition: transform 0.3s ease;
}

.toggle-content {
  margin-top: 0.5rem;
  display: none;
  animation: fadeIn 0.3s ease-in-out;
}

.toggle-content ul {
  margin: 0;
  margin-top: 1.5rem;
  padding-left: 3vw;
  width: 85%;
  list-style: disc;
  /*border: 1px solid black;*/
  color: #6b6b6b;
	font-size: clamp(14px, 1.74vw, 25px);
	font-family: 'Montserrat', sans-serif;
}

.toggle.open .toggle-content {
  display: block;
}

.toggle.open .arrow {
  transform: rotate(180deg);
}


@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}




.box-video-galva {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 66.25vw;
		height: auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
		border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 2rem 1.5rem 3rem;
    box-sizing: border-box;
}

.titre-video-galva {
		width: 100%;
		height: auto;
		margin-bottom: 1.8rem;
		/*border: 1px solid black;*/
		display: flex;
		text-align: left;

		font-family: 'Montserrat', sans-serif;
  	color: #c2021a;
  	font-weight: 700;
  	font-size: clamp(18px, 2.22vw, 32px);
}

.container-video-galva {
		margin: 0 auto 0 auto;
		/*border: 1px solid black;*/
		width: 100%;
		height: auto;
		display: grid;
    grid-template-columns: 1fr;
    gap: 1.8rem;
    align-items: stretch;
}

.video-galva {
		border-radius: min(0.96vw, 1.44vh);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-sizing: border-box;
    position: relative;
	  width: 100%;
	  padding-bottom: 56.25%; /* 16:9 => 9/16 = 0.5625 */
	  height: 0;
	  overflow: hidden;
}


.video-galva iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


@media (max-width: 700px) {
	.box-video-galva {
		width: 77.5vw;
	}

	.timeline-container {
	  margin: 5.76vw auto max(8.68vw, 18vh) auto;
	}

	.toggle {
	  border-left: max(0.2vw,0.45vh) solid #C20E1A;
	}


	.box-presentation-atelier {
			/*border: 1px solid black;*/
			width: 77.5dvw;
	    grid-template-columns: 1fr;
	    gap: 0.2rem;
	}

	.presentation-atelier:first-child {
	  	text-align: center;
	  	display: flex;
	  	align-items: center;
	  	padding: 1rem;
	    /*border: 2px solid red;*/
	}

	.presentation-atelier img {
			margin: auto;
			width: 100%;
	}

	.box-chrono {
			/*border: 1px solid black;*/
			width: 77.5vw;
	}

	.titre-chrono {
			width: 100%;
			margin-bottom: 0rem;
			/*border: 1px solid black;*/
			text-align: left;
	}

	.liste-tiret-rouge-a-propos {
			margin-left: 1.4rem;
			/*border: 1px solid black;*/
	}

	.box-image-atelier {
			/*border: 1px solid black;*/
			width: 77.5vw;
	    grid-template-columns: 1fr;
	    gap: 0rem;
	}

	.image-atelier {
	    /*border: 1px solid black;*/
	    padding: 1rem;
	}

	.image-atelier img {
			border-radius: 5%;
			display: block;
			margin-left: auto;
			transition: transform 0.3s ease, box-shadow 0.3s ease;
	}

	.box-processus {
			margin: 15vw auto 15vw auto;
			/*border: 1px solid black;*/
			width: 77.5vw;
	}


.titre-timeline {
			margin: 20vw auto 10vw auto;
			width: 77.5vw;
			height: auto;
			/*border: 1px solid black;*/

			font-family: 'Montserrat', sans-serif;
	  	color: #1e1e1e;
	  	font-weight: 700;
	  	font-size: clamp(26px, 3.68vw, 53px);
	  	text-align: center;
	}

}





@media (max-width: 472px) {

	.box-video-galva {
		margin: 5.76vw auto 0 auto;
		/*border: 1px solid black;*/
		width: 77.5vw;
		height: auto;
		display: flex;
		justify-content: center;
		flex-direction: column;
		border-radius: min(0.96vw, 1.44vh);
    background-color: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding: 2rem 0.5rem 2rem;
    box-sizing: border-box;
}
}

@media (max-width: 400px) {
	.toggle {
	  border-left: max(0.15vw,0.4vh) solid #C20E1A;
	}
}


















/*Page contact */
.titre-contact {
		margin-left: 16.88vw;
		margin-top: max(-7.15vw,-14.82vh);
		margin-bottom: max(1.04vw,2.15vh);
		width: 66.32vw;
		height: auto;
		/*border: 1px solid black;*/

		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 700;
  	font-size: clamp(26px, 3.68vw, 53px);
  	text-align: center;
}

.box-tel-et-mail {
		width: 43.05vw;
		height: 6.62vh;
		margin-left: 28.47vw;
		margin-top: max(2.22vw, 4.60vh);
		display: flex;
		justify-content: space-between;
		align-items: center;
}

.box-contact {
		width: 20.83vw;
		height: 6.62vh;
		/*border: 1px solid black;*/
		display: flex;
		justify-content: space-between;
		align-items: center;
}

.box-logo-contact {
		width: 6.62vh;
		height: 6.62vh;
		/*border: 1px solid black;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
}

.box-texte-contact {
		margin-left: 1.39vw;
		width: 16.32vw;
		/*margin-right: 1.11vw;*/
		/*border: 1px solid black;*/
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
}

.box-adresse-contact {
		width: 37.01vw;
		height: 6.62vh;
		margin-left: 31.53vw;
		margin-top: max(0.69vw, 1.44vh);
		display: flex;
		justify-content: space-between;
		align-items: center;
		/*border: 1px solid black;*/
}

.box-adresse-logo-contact {
		width: 6.62vh;
		height: 6.62vh;
		/*border: 1px solid black;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
}

.box-adresse-texte-contact {
		margin-left: 1.39vw;
		width: 32.5vw;
		/*margin-right: 1.11vw;*/
		/*border: 1px solid black;*/
		font-family: 'Montserrat', sans-serif;
  	color: #1e1e1e;
  	font-weight: 500;
  	font-size: clamp(14px, 1.74vw, 25px);
  	text-align: left;
}

.box-carte-contact {
		width: 49.31vw;
		height: 59.57vh;
		margin-left: 25.35vw;
		margin-top: max(2.57vw, 5.32vh);
		overflow: hidden;
		border-radius: min(0.96vw, 1.44vh);
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
}


.box-carte-contact iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.box-bouton-carte-contact {
		width: 49.31vw;
		margin-left: 25.35vw;
    margin-top: max(1.39vw, 2.88vh);
    /*border: 1px solid black;*/
    display: flex;
  	justify-content: center;
    align-items: center;
}

.bouton-itineraire-contact {
		width: min(22.92vw, 47.48vh);
		height: 6.62vh;
		cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #C20E1A;
    border-radius: min(0.96vw, 1.44vh);
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);

    font-family: 'Montserrat', sans-serif;
  	color: #fff;
  	font-weight: 500;
  	font-size: clamp(11px, 1.53vw, 22px);
  	text-decoration: none;
  	text-align: center;

    transition: background-color 0.3s;
}

.bouton-itineraire-contact:hover {
    background-color: #8a0000;
}




@media (max-width: 1200px) {
	.box-carte-contact {
		width: 55vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}
}

@media (max-width: 1100px) {
	.box-carte-contact {
		width: 60vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}
}

@media (max-width: 1000px) {
	.box-carte-contact {
		width: 70vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}

	.bouton-itineraire-contact {
		width: 25vw;
	}

}



@media (max-width: 900px) {
	.box-adresse-logo-contact {
		width: 5vh;
		height: 5vh;
	}

	.box-logo-contact {
		width: 5vh;
		height: 5vh;
	}

	.box-adresse-logo-contact {
		width: 5vh;
		height: 5vh;
	}

	.box-carte-contact {
		width: 75vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}

	.bouton-itineraire-contact {
		width: 30vw;
		font-size: clamp(13px, 1.53vw, 22px);
	}
}


@media (max-width: 700px) {

	.titre-contact {
		margin-left: 16.88vw;
		margin-top: max(-9vw,-14.82vh);
		margin-bottom: max(4.75vw,2.15vh);
	}


	.bouton-itineraire-contact {
		width: 40vw;
		font-size: clamp(15px, 1.53vw, 22px);
	}

	.box-carte-contact {
		width: 77.5vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}


	.box-tel-et-mail {
		width: 37.01vw;
		height: auto;
		margin: max(2.22vw, 4.60vh) auto 0 auto;
		gap: max(0.69vw, 1.44vh);
		align-items: flex-start;
		flex-direction: column;
		/*border: 1px solid black;*/
}

.box-contact {
		width: 100%;
		height: auto;
		/*border: 1px solid black;*/
}

.box-logo-contact {
		width: 6.62vh;
		height: 6.62vh;
		/*border: 1px solid black;*/
}

.box-texte-contact {
		width: 100%;
		/*border: 1px solid black;*/
  	font-size: clamp(16px, 1.74vw, 25px);
}

.box-adresse-contact {
		width: 37.01vw;
		height: auto;
		margin: max(0.69vw, 1.44vh) auto;
		/*border: 1px solid black;*/
}

.box-adresse-logo-contact {
		width: 6.62vh;
		height: 6.62vh;
		/*border: 1px solid black;*/
}

.box-adresse-texte-contact {
		width: 100%;
		/*margin-right: 1.11vw;*/
		/*border: 1px solid black;*/
  	font-size: clamp(16px, 1.74vw, 25px);
	}


}

@media (max-width: 600px) {
	.box-adresse-contact {
		width: 45vw;
	}

	.box-tel-et-mail {
		width: 45vw;
	}

	.bouton-itineraire-contact {
		width: 45vw;
		font-size: clamp(15px, 1.53vw, 22px);
	}

	.box-bouton-carte-contact {
		width: 77.5vw;
		margin: max(1.39vw, 2.88vh) auto;
    /*border: 1px solid black;*/
}

}


@media (max-width: 520px) {
	.box-adresse-contact {
		width: 55vw;
	}

	.box-tel-et-mail {
		width: 55vw;
	}

	.bouton-itineraire-contact {
		width: 55vw;
		font-size: clamp(15px, 1.53vw, 22px);
	}

	.box-carte-contact {
		width: 77.5vw;
		height: 60vh;
		margin: max(2.57vw, 5.32vh) auto;
	}

}


@media (max-width: 480px) {
	.box-adresse-contact {
		width: 60vw;
	}

	.box-tel-et-mail {
		width: 60vw;
	}

	.bouton-itineraire-contact {
		width: 60vw;
		font-size: clamp(15px, 1.53vw, 22px);
	}
}


@media (max-width: 400px) {
	.titre-contact {
		margin-left: 16.88vw;
		margin-top: max(-13vw,-27vh);
		margin-bottom: max(4.75vw,2.15vh);
	}
}



@media (max-width: 380px) {
	.box-adresse-contact {
		width: 65vw;
	}

	.box-tel-et-mail {
		width: 65vw;
	}

	.bouton-itineraire-contact {
		width: 65vw;
		font-size: clamp(15px, 1.53vw, 22px);
	}
}


@media (max-width: 350px) {

	.titre-contact {
		margin-left: 16.88vw;
		margin-top: max(-15vw,-30vh);
		margin-bottom: max(4.75vw,2.15vh);
	}


	.bouton-itineraire-contact {
		width: 77.5vw;
		margin-bottom: 5vh;
	}

	.box-carte-contact {
		width: 80vw;
		height: 45vh;
	}


	.box-tel-et-mail {
		width: 77.5vw;
}


.box-texte-contact {
		width: 100%;
  	font-size: clamp(16px, 1.74vw, 25px);
}

.box-adresse-contact {
		width: 77.5vw;
}


}

@media (max-width: 300px) {
	.titre-contact {
		margin-left: 16.88vw;
		margin-top: -7vh;
		margin-bottom: max(4.75vw,2.15vh);
	}
}



















/*Footer */
.footer {
		width: 100vw;
		height: 40.86vh;
		min-height: 260px;
		margin-top: 25.32vh;
		position: relative;
		display: flex;
  	justify-content: space-between;
		/*border: 1px solid white;*/
		background-color: rgba(30,30,30,1);
		font-family: "Outfit", sans-serif;
		z-index: 10;
}

.footer-left,
.footer-center,
.footer-right {
		height: 34vh;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	/*border: 1px solid white;*/
}

.footer-left {
		margin-left: 3.89vw;
}

.footer-center {
		/*margin-left: 11vw;*/
}

.footer-right {
		margin-right: 4.375vw;
}


.footer-logo {
		width: 18.61vw;
		height: 8.63vh;
		margin-top: max(3.13vw, 6.49vh);
		display: flex;
  	justify-content: center;
  	align-items: center;
  	/*border: 1px solid white;*/
}

.footer-contact {
		width: 18.61vw;
		height: 15.86vh;
		margin-top: min(1.46vw, 3.02vh);
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: left;
  	align-items: center;
}

.footer-contact-texte {
		/*border: 1px solid white;*/
		display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	line-height: min(2.08vw, 4.31vh);

  	font-size: clamp(13px, 1.46vw, 21px);
		font-weight: 300;
		color: rgba(255,255,255,0.5);
}

.footer-contact-texte a {
		color: rgba(255,255,255,0.5);
		text-decoration: none;
}

.footer-mentions-légales {
		width: 31.81vw;
		height: 25.60vh;
		margin-top: max(4.05vw, 8.4vh);
		/*border: 1px solid white;*/
		display: flex;
  	flex-direction: column;
  	align-items: flex-start;
  	line-height: min(2.13vw, 4.42vh);

  	font-size: clamp(13px, 1.46vw, 21px);
		font-weight: 300;
		color: rgba(255,255,255,0.5);
}

.footer-mentions-légales a {
		color: rgba(255,255,255,0.5);
		text-decoration: none;
}

.footer-avis-google {
		width: 17.22vw;
		height: 24.94vh;
		margin-top: max(4.37vw, 9.06vh);
		/*border: 1px solid white;*/
}

.footer-avis-google-rectangle {
		width: 17.22vw;
		height: min(7.29vw, 15.11vh);
		background-color: #8e8e8e;
		border-radius: max(0.69vw, 1.43vh);
		display: flex;
  	flex-direction: column;
  	align-items: center;
}

.footer-avis-google-note {
		height: min(4.17vw, 8.63vh);
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
  	font-family: "Inter", sans-serif;
  	font-weight: 700;
  	color: #ededed;
  	font-size: clamp(28px, 4.17vw, 60px);
}

.footer-avis-google-etoile {
		width: 15vw;
		height: min(2.64vw, 5.46vh);
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: space-between;
}

.footer-avis-google-etoiles {
		width: 2.57vw;
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
}

.footer-avis-google-google {
		width: 14.24vw;
		height: 9.53vh;
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: space-between;
}

.footer-avis-google-logo {
		width: 7.23vh;
		height: 7.23vh;
		margin-top: max(1.11vw, 2.3vh);
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: center;
  	align-items: center;
}

.footer-avis-google-phrase {
		width: 9.58vw;
		height: 7.23vh;
		margin-left: 1.11vw;
		margin-top: max(1.11vw, 2.3vh);
		/*border: 1px solid white;*/
		display: flex;
  	justify-content: left;
  	flex-direction: column;
  	font-family: "Inter", sans-serif;
  	font-weight: 600;
  	color: #ededed;
  	font-size: clamp(14px, 1.67vw, 24px);
}

.footer-avis-google-phrase-lien {
		margin-top: max(0.39vw, 0.8vh);
		/*border: 1px solid white;*/
		display: flex;
  	font-family: "Inter", sans-serif;
  	font-weight: 300;
  	color: rgba(237,237,237,0.5);
  	font-size: clamp(12px, 1.1vw, 16px);
}

.footer-avis-google-phrase-lien a {
		text-decoration: none;
		color: rgba(237,237,237,0.5);
}




/*Footer version tablette - gros mobile */
@media screen and (max-width: 768px) and (min-width: 549px){

	.footer {
			width: 100vw;
			height: auto;
			display: grid;
	    grid-template-columns: repeat(2, 1fr);
	    grid-template-rows: repeat(2, 1fr);
	    gap: 0px;
	}

	.footer-left,
	.footer-center,
	.footer-right {
			height: auto;
	  	/*border: 1px solid white;*/
	}

	.footer-left {
			margin-left: 0;
			height: auto;
	}

	.footer-center {
			/*margin-left: 11vw;*/
			grid-column-start: 1;
    	grid-row-start: 2;
	}

	.footer-right {
			margin-right: 0;
			grid-row: span 2 / span 2;
    	grid-column-start: 2;
    	grid-row-start: 1;
	}

	.footer-logo {
			width: 40vw;
			height: 9vh;
			margin-top: max(5.87vw, 6.49vh);
	  	/*border: 1px solid white;*/
	}

	.footer-contact {
			width: 40vw;
			height: auto;
			margin-top: max(2.73vw, 3.02vh);
			/*border: 1px solid white;*/
	}

	.footer-contact-texte {
			/*border: 1px solid white;*/
	  	line-height: max(2.08vw, 2.31vh);

	  	font-size: clamp(15px, 1.56vw, 21px);
	}

	.footer-mentions-légales {
			width: 40vw;
			height: auto;
			margin-top: min(3.98vw, 4.4vh);
			margin-bottom : max(5.87vw, 6.49vh);
			/*border: 1px solid white;*/
	  	line-height: max(2.13vw, 2.31vh);

	  	font-size: clamp(15px, 1.56vw, 21px);
	}


	.footer-avis-google {
			width: 30vw;
			height: 24.94vh;
			margin-top: max(16.75vw, 18.51vh);
			/*border: 1px solid white;*/
	}

	.footer-avis-google-rectangle {
			width: 30vw;
			height: min(12.7vw, 26.32vh);
	}

	.footer-avis-google-note {
			height: min(7.26vw, 15.03vh);
			/*border: 1px solid white;*/
	  	font-size: clamp(34px, 4.17vw, 60px);
	}

	.footer-avis-google-etoile {
			width: 26.13vw;
			height: min(4.6vw, 9.51vh);
			/*border: 1px solid white;*/
	}

	.footer-avis-google-etoiles {
			width: 4.48vw;
			/*border: 1px solid white;*/
	}

	.footer-avis-google-google {
			width: 30vw;
			height: 16.6vh;
			/*border: 1px solid white;*/
	}

	.footer-avis-google-logo {
			width: min(11.4vw, 12.6vh);
			height: min(11.4vw, 12.6vh);
			margin-top: min(1.93vw, 4vh);
			/*border: 1px solid white;*/
	}

	.footer-avis-google-phrase {
			width: 16.69vw;
			height: 12.6vh;
			margin-left: 1.93vw;
			margin-top: min(1.93vw, 4vh);
	  	font-size: clamp(16px, 1.67vw, 24px);
	}

	.footer-avis-google-phrase-lien {
			margin-top: max(0.68vw, 1.39vh);
			/*border: 1px solid white;*/
	  	font-size: clamp(14px, 1.1vw, 16px);
	}
}

/*Footer version tablette - gros mobile */
@media screen and (max-width: 548px) {
	.footer {
		flex-direction: column;
		justify-content: space-between;
		height: auto;
		/*border: 1px solid white;*/
	}

	.footer-left,
	.footer-center,
	.footer-right {
			height: auto;
	  	/*border: 1px solid white;*/
	}

	.footer-left {
			margin-left: 0;
			height: auto;
	}

	.footer-center {
			/*margin-left: 11vw;*/
	}

	.footer-right {
			margin-right: 0;
	}

	.footer-logo {
			width: 60vw;
			height: auto;
			margin-top: max(5.87vw, 6.49vh);
	  	/*border: 1px solid white;*/
	}

	.footer-contact {
			width: 60vw;
			height: auto;
			margin-top: max(2.73vw, 3.02vh);
			/*border: 1px solid white;*/
	}

	.footer-contact-texte {
			/*border: 1px solid white;*/
	  	line-height: max(4.08vw, 3.8vh);

	  	font-size: clamp(18px, 1.56vw, 21px);
	}

	.footer-mentions-légales {
			width: 60vw;
			height: auto;
			margin-top: min(3.98vw, 4.4vh);
			margin-bottom : max(5.87vw, 6.49vh);
			/*border: 1px solid white;*/
	  	line-height: max(4.08vw, 3.5vh);

	  	font-size: clamp(17px, 1.56vw, 21px);
	}


	.footer-avis-google {
			width: 60vw;
			height: 24.94vh;
			margin-top: 0;
			/*border: 1px solid white;*/
	}

	.footer-avis-google-rectangle {
			width: 30vw;
			height: min(12.7vw, 26.32vh);
			/*margin: auto;*/
	}

	.footer-avis-google-note {
			height: min(7.26vw, 15.03vh);
			/*border: 1px solid white;*/
	  	font-size: clamp(32px, 4.17vw, 60px);
	}

	.footer-avis-google-etoile {
			width: 26.13vw;
			height: min(4.6vw, 9.51vh);
			/*border: 1px solid white;*/
	}

	.footer-avis-google-etoiles {
			width: 4.48vw;
			/*border: 1px solid white;*/
	}

	.footer-avis-google-google {
			width: 38vw;
			height: 16.6vh;
			/*border: 1px solid white;*/
			/*margin: auto;*/
	}

	.footer-avis-google-logo {
			width: min(11.4vw, 12.6vh);
			height: min(11.4vw, 12.6vh);
			margin-top: min(1.93vw, 4vh);
			/*border: 1px solid white;*/
	}

	.footer-avis-google-phrase {
			width: 25vw;
			height: 12.6vh;
			margin-left: 1.93vw;
			margin-top: min(1.93vw, 4vh);
	  	font-size: clamp(18px, 1.67vw, 24px);
	  	/*border: 1px solid white;*/
	}

	.footer-avis-google-phrase-lien {
			margin-top: max(0.68vw, 1.39vh);
			/*border: 1px solid white;*/
	  	font-size: clamp(15px, 1.1vw, 16px);
	}

}

@media (max-width: 380px) {
		.footer-avis-google-note {
			margin-top: 0.25vh;
	  	font-size: clamp(30px, 3.5vw, 60px);
	}
}

@media (max-width: 300px) {
		.footer-avis-google-note {
			margin-top: 0.25vh;
	  	font-size: clamp(26px, 3.5vw, 60px);
	}
}



















/* BOUTON FLECHE FIXE EN BAS A DROITE */
.styled-wrapper {
	  position: fixed;
	  bottom: min(1.38vw, 2.88vh);
	  right: min(1.38vw, 2.88vh);
	  text-decoration: none;
	  z-index: 999;
	  opacity: 0;
	  pointer-events: none;
	  transform: translateY(20px);
	  transition: opacity 0.3s ease, transform 0.5s ease;
	  /*border: 1px solid black;*/
}

.styled-wrapper.visible {
	  opacity: 1;
	  pointer-events: auto;
	  transform: translateY(0);
}

/* Bouton */
.styled-wrapper .button {
	  display: block;
	  position: relative;
	  width: max(5.27vw, 10.93vh);
	  height: max(5.27vw, 10.93vh);
	  margin: 0;
	  overflow: hidden;
	  outline: none;
	  background-color: transparent;
	  cursor: pointer;
	  border: 0;
	  /*border: 1px solid black;*/
}

/* Cercle extérieur noir (par défaut) */
.styled-wrapper .button:before {
	  content: "";
	  position: absolute;
	  border-radius: 50%;
	  inset: 0.49vw;
	  border: max(0.25vw, 0.4vh) solid #1e1e1e;
	  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 80ms,
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 80ms,
    border-color 0.3s ease;
}

/* Cercle rouge au hover */
.styled-wrapper .button:hover:before,
.styled-wrapper .button:focus:before {
	  opacity: 0;
	  transform: scale(0.7);
	  border-color: #C20E1A;
}

/* Cercle secondaire rouge (effet anim) */
.styled-wrapper .button:after {
	  content: "";
	  position: absolute;
	  border-radius: 50%;
	  inset: 0.49vw;
	  border: max(0.25vw, 0.4vh) solid #C20E1A;
	  transform: scale(1.3);
	  transition:
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  	opacity: 0;
}

.styled-wrapper .button:hover:after,
.styled-wrapper .button:focus:after {
	  opacity: 1;
	  transform: scale(1);
}

/* Centrage de la flèche */
.styled-wrapper .button-box {
	  position: relative;
	  width: 100%;
	  height: 100%;
	  overflow: hidden;
	  display: flex;
	  align-items: center;
	  justify-content: center;
}

/* Animation rebond vertical vers le haut */
@keyframes bounce-up {
	  0%   { transform: translateY(0) rotate(-90deg); }
	  30%  { transform: translateY(6px) rotate(-90deg); }
	  50%  { transform: translateY(-6px) rotate(-90deg); }
	  70%  { transform: translateY(3px) rotate(-90deg); }
	  100% { transform: translateY(0) rotate(-90deg); }
}

/* Flèche unique dans le cercle */
.styled-wrapper .button-elem {
  	transition: fill 0.3s ease;
}

.styled-wrapper .button-elem svg {
	  width: max(2.08vw, 4.32vh);
	  height: max(2.08vw, 4.32vh);
	  transform: rotate(-90deg);
	  fill: #1e1e1e;
}

/* Hover → rebond + couleur rouge */
.styled-wrapper .button:hover .button-elem svg,
.styled-wrapper .button:focus .button-elem svg {
	  fill: #C20E1A;
	  animation: bounce-up 0.6s ease;
}


@media (max-width: 950px) {
	.styled-wrapper {
	  right: 0.25vw;
	}

}

@media (max-width: 820px) {

	/* Bouton */
	.styled-wrapper .button {
		  width: 9vw;
		  height: 9vw;
	}
}

@media (max-width: 700px) {
  .styled-wrapper {
    display: none;
  }
}






/* Scroll Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}










































































