* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html, body, ul, ol, dd, dl {
    margin: 0;
    padding: 0;
}

/* -------------------------------------- */
/* ==   GENERAL                        == */
/* -------------------------------------- */

@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Regular.ttf);
}

@font-face{
  font-family: Lato-Light;
  src:url(../fonts/Lato-Light.ttf);
}

body{
  font-family: Lato-Light, sans-serif;
  display: grid;
  align-content: center;
}

/* -------------------------------------- */
/* ==   MENU                           == */
/* -------------------------------------- */


header{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 300;
}

.nav-bar-block{
  /*background: #848D6B;*/
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav-bar-block::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
  }


#nav-bar a{
  color: black;
}


.nav-bar-block nav a {
  padding: 15px;
  text-decoration: none;
  color: #aaa;
  font-weight: 800;
  margin: 0 10px;
}

.nav-bar-block nav a, 
.nav-bar-block nav a:after,
.nav-bar-block nav a:before{
  transition: all .5s;
}

div.nav-bar-block nav a{
  position: relative;
}

div.nav-bar-block nav a:after{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  content: '.';
  color: transparent;
  background: #848D6B;
  height: 2px;
}

div.nav-bar-block nav a:hover:after{
  width: 100%;
}

.dropdown-item{
  font-size: 1.15rem;
  color: #fff;
  text-decoration: none;
  margin-left: 4.5rem;
}

#check{
  display: none;
}

.icons{
  position: absolute;
  right: 5%;
  font-size: 2.8rem;
  cursor: pointer;
  /*color: white;*/
  display: none;
}


/* -------------------------------------- */
/* ==   A PROPOS                       == */
/* -------------------------------------- */

section{
  padding: 3% 3%;
}

.section1{
  background: url(../images/background.jpg) no-repeat, center;
  background-size: cover;
  width: 100%;
  height: 100%;
  padding-top: 113px;
}

.section-bloc{
  padding: 20px 70px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
  width: 85vw;
  margin: 0 auto;
}

.profile{
  background: url(../images/profile.jpg) no-repeat, center;
  background-size: cover;
  width: 100%;
  height: auto;
}

.content{
  background: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.content h2{
  text-transform: uppercase;
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
}

.content span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px 0;
}

.content p{
  padding-bottom: 15px;
  font-weight: 300;
  opacity: 0.7;
  width: 60%;
  text-align: center;
  margin: 0 auto;
  line-height: 1.7;
}

.links{
  margin: 15px 0;
}

.links li{
  border: 0.5px solid;
  border-radius: 5px;
  padding: 10px 15px;
  width: 160px;
  text-align: center;
}

.links li a{
  color: #777;
  text-decoration: none;
}

.links li:hover{
  border-color: #848D6B;
}

.links li:hover a{
  color: #848D6B;
}

.vertical-line{
  height: 30px;
  width: 0.5px;
  background: #777;
  margin: 0 auto;
}

/* -------------------------------------- */
/* ==   SERVICES                       == */
/* -------------------------------------- */

.section2{
  background: #FFFBFB; 
}

.content2{
  display: flex;
  flex-direction: column;
  width: 14%;
}

.content2 h2{
  text-align: left;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 36px;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
  display: inline-block;
  transform: translateY(-50px);
  transition: transform 2s ease-in-out;
}


.content2 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px auto;
}

.services-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.services{
  flex: 0 0 calc(33.33% - 20px);
  margin-bottom: 20px;
}

.container{
  width: 100%;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.container-img{
  margin-right:20px;
}

.services-content{
  width: calc(75% - 20px);
}

.animated-block {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 2s, transform 2s;
    animation-duration: 2s;
}

.animated-block.in-view {
    opacity: 1;
    transform: translateX(0);
}

h3{
  font-size: 1.2rem;
  font-weight: bold;
  color: #848D6B;
}

.bouton{
  background: #848D6B;
  width: 170px;
  height: auto;
  margin: 0 auto;
  color: #fff;
  border-radius: 5%;
  display: block;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
}

/* ==   PAGE SERVICES  == */

.section-service{ 
  background: #FFFBFB;
}

.content2{
  display: flex;
  flex-direction: column;
  width: 14%;
}

.content2 h2{
  text-align: left;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 36px;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
  display: inline-block;
  transform: translateY(-50px);
  transition: transform 0.5s ease-in-out;
}


.content2 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px auto;
}

.mes-services{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.services{
  flex: 0 0 calc(33.33% - 20px);
  margin-bottom: 20px;
}

.contenu{
  width: 100%;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.containu-img{
  margin-right:20px;
}

.services-content{
  width: calc(75% - 20px);
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.process-detail {
  width: 55%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  opacity: 0; /* Initialement invisibles */
  visibility: hidden; /* Initialement invisibles */
}

.animated-left {
  animation: slideInLeft 0.5s ease forwards;
  visibility: visible; /* Devenir visible lorsque l'animation commence */
}

.animated-right {
  animation: slideInRight 0.5s ease forwards;
  visibility: visible; /* Devenir visible lorsque l'animation commence */
}

.animated-left, .animated-right {
    animation-duration: 2s; /* Augmente la durée de l'animation */
}

.animated-left:first-child, .animated-right:first-child {
    animation-delay: 0s; /* Pas de délai pour la première div */
}

.animated-left:nth-child(2), .animated-right:nth-child(2) {
    animation-delay: 0.5s; /* Délai de 0.5s pour la deuxième div */
}

.animated-left:nth-child(3), .animated-right:nth-child(3) {
    animation-delay: 1s; /* Délai de 1s pour la troisième div */
}



.process{
    width: 100%;
}

.process-content{
    width: 100%;
}


.process-detail p{
  margin-right: 20px;
}

.process-detail img{
  margin-right: 20px;
  padding: 50px 0;
}

.process-detail:nth-child(odd){
  flex-direction: row;
}

.process-detail:nth-child(even){
  flex-direction: row-reverse;
  display: flex;
}

.process-info h3{
  font-size: 1.2rem;
  font-weight: bold;
  color: #848D6B;
}

.animated-process {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.5s ease-out;
}

.animated-process.in-view {
    opacity: 1;
    transform: translateX(0); /* Ramène l'élément à sa position initiale */
}



.work{
  background: url(../images/background.jpg) no-repeat center;
  background-size: cover;
  width: 100%;
}

.work-box{
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap:2rem;
}

.work-detail{
  flex:1 1 300px;
  max-width: 100%;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1);
  width: 320px;
  height: auto;
  background: #fff;
  border-radius: 20px;
  margin-top: 40px;
  box-sizing: border-box;
}

.work-detail h3{
  padding-top: 20px;
  text-align: center;
}

.work-detail p{
  padding: 20px;
  text-align: center;
}

.section-services{ 
  background: #FFFBFB;
  margin-top: 113px;
}


.img-source{
  background: url(../images/unsplash.jpg) no-repeat, center;
  background-size: cover;
  width: 100%;
  height: auto;
}


/* -------------------------------------- */
/* ==   AVIS                           == */
/* -------------------------------------- */


.section4{
  background: #FFFBFB;
}

.content4{
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.content4 h2{
  text-transform: uppercase;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
}

.content4 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px 0;
}

.testimonials-box-container{
  display: flex;
  justify-content: center;
  align-items: inherit;
  flex-wrap: wrap;
  width: 100%;
}

.testimonials-box{
  width: 500px;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1);
  background: #FFFBFB;
  padding: 20px;
  margin: 15px;
  cursor: pointer;
}

.profiles-img{
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 10px;
}

.profiles-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.profiles{
  display: flex;
  align-items: center;
}

.name-user{
  color: #848D6B;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
}

.reviews{
  color: #f9d71c;
}

.box-top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.client-comment p{
  color: #777;
}

.testimonials-box:hover{
  transform: translateY(-10px);
  transition: all ease 0.3s;
}

/* -------------------------------------- */
/* ==   GALLERIE                       == */
/* -------------------------------------- */


/* test */

.buttonMenu, .buttonMenu span, .menu, .main-nav,
a, .close-content, .fond, .page-apropos, .page-projet, .page-projets
.projet-text, .bgVideo, .arrow-left, .arrow-right {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  -ms-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.absoluteCenter {
  position: absolute;
  top: 50%;
  left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.fond {
  position: fixed;
  z-index: 350;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  visibility: hidden;
  opacity: 0;
}

.fond.open {
  opacity: 0.9;
  visibility: visible;
}

.fond:hover{
  cursor: url(../images/close.png), pointer;
}

.close-content {
  position: fixed;
  z-index: 100;
  width: 40px;
  height: 40px;
  top: 5%;
  right: 5%;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.close-content:after, .close-content:before {
  content: '';
  position: absolute;
  width: 80%;
  height: 10%;
  top: 45%;
  left: 10%;
    background: #cf9e1c;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.close-content:before {
  top: auto;
  bottom: 45%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.close-content:hover {
  transform: rotate(90deg);
}

.gradient-interne {
  display: block;
  width: 75%;
  height: 1px;
  margin: 50px auto;
  background:linear-gradient( to right,
                rgba(0,0,0,0)10%,
                rgba(0,0,0,1) 50%,
                rgba(0,0,0,0) 90%);
}


.home-gallery{
  position: relative;
  height: 100vh;
  width: 100%;
}

.home-gallery .gallery{
  position: relative;
  height: 100%;
  width: 90%;
  margin: auto;
  padding: 45px 0;
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-gap: 2vh;
  grid-auto-flow: dense;
}

.home-gallery .gallery .projet{
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.home-gallery .gallery .projet:nth-child(1){
  grid-column: span 2;
  grid-row: span 2;
}

.home-gallery .gallery .projet:nth-child(2)
.home-gallery .gallery .projet:nth-child(3)
.home-gallery .gallery .projet:nth-child(4)
.home-gallery .gallery .projet:nth-child(5){
  grid-column: span 1;
  grid-row: span 1;
}



.home-gallery .gallery .projet img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}





.portfolio-gallery{
  position: relative;
  height: 100vh;
  width: 100%;
}

.portfolio-gallery .gallery{
  position: relative;
  height: 100%;
  width: 90%;
  margin: auto;
  padding: 45px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-gap: 2vh;
  grid-auto-flow: dense;
}

.portfolio-gallery .gallery .projet{
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.portfolio-gallery .gallery .projet:nth-child(1){
  grid-column: span 2;
  grid-row: span 2;
}

.portfolio-gallery .gallery .projet:nth-child(n+2):nth-child(-n+5){
  grid-column: span 1;
  grid-row: span 1;
}


.portfolio-gallery .gallery .projet:nth-child(6)
.portfolio-gallery .gallery .projet:nth-child(7)
.portfolio-gallery .gallery .projet:nth-child(9){
  grid-column: span 1;
  grid-row: span 1;
}


.portfolio-gallery .gallery .projet:nth-child(8){
  grid-column: span 1;
  grid-row: span 1;
}


.portfolio-gallery .gallery .projet:nth-child(10){
  grid-column: 3 / span 2;
  grid-row: 3 / span 2;
}


.portfolio-gallery .gallery .projet img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}


.projet {
  position: relative;
  cursor: pointer;
}

.projet-text {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  background: #848D6B;
  transform: translateY(100%)
}

.projet:hover .projet-text {
  transform: translateY(0);
}

.projet-text p {
  margin: 10px 0;
  padding: 5px 0 15px;
  font-family: "Lato";
  font-size: 1.150rem; /* 23px */
  color: #fff;
  letter-spacing: 2px;
  text-align: center;
  font-weight: lighter;
  z-index: 1000;
}

.button {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
}

.page-projet {
  position: fixed;
  z-index: 400;
  background: url(../images/background.jpg) no-repeat, center;
  background-size: cover;
  height: 90%;
  width: 90%;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  display: flex;
  flex-wrap: wrap; /* Permettre le passage à la ligne */
  justify-content: center; /* Centrer les paires image + texte horizontalement */
}

.page-projets {
  position: fixed;
  z-index: 400;
  background: url(../images/background.jpg) no-repeat, center;
  background-size: cover;
  height: 90%;
  width: 90%;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  display: flex;
  flex-wrap: wrap; /* Permettre le passage à la ligne */
  justify-content: center; /* Centrer les paires image + texte horizontalement */
}

.project-container {
  width: 60%; /* Largeur du conteneur */
  background-color: #fff; /* Fond blanc */
  margin: 10px; /* Espacement entre les conteneurs */
  display: flex; /* Aligner les éléments horizontalement */
}

.image-column{
  width: 55%;
}

.image-column img {
  width: 100%; /* Ajustez la taille de l'image pour s'adapter au conteneur */
  height: auto;
  margin-bottom: 10px;
}

.text-column {
  flex: 2;
  padding: 20px; /* Ajustez l'espacement interne du texte */
}

.text-column h2{
  text-align: center;
  color: #848D6B;
  text-transform: uppercase;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
}

.text-column span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px 0;
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
}


.arrow-left, .arrow-right {
  position: fixed;
  z-index: 400;
  width: 32px;
  height: 32px;
  top: 45%;
  left: 1%;
  border-bottom: #fff 1px solid;
  border-right: #fff 1px solid;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

.arrow-right {
  left: auto;
  right: 1%;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

 .gallery-bouton{
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ==   PAGE GALLERIE  == */

.section7{
  padding-top: 170px;
  background: #FFFBFB
}

.content5{
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.content5 h2{
  text-transform: uppercase;
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
}

.content5 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px 0;
}

.content5 p{
  padding-bottom: 15px;
  font-weight: 300;
  opacity: 0.7;
  width: 60%;
  text-align: center;
  margin: 0 auto;
  line-height: 1.7;
}

.section8{
  background: #FFFBFB;
}


/* fin test */

/* -------------------------------------- */
/* ==   CONTACT                        == */
/* -------------------------------------- */

.section5{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: url(../images/background.jpg) no-repeat center;
  background-size: cover;
}

.contact{
  position: relative;
  min-width: 1100px;
  min-height: 550px;
  display: flex;
  z-index: 200;
}

.contact .contact-info{
  position: absolute;
  top: 40px;
  width: 350px;
  height: calc(100% - 80px);
  background: #848D6B;
  z-index: 1;
  padding: 35px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 20px 25px rgba(0, 0, 0, 0.15);
}

.contact .contact-form{
  position: absolute;
  padding: 70px 50px;
  padding-left: 250px;
  margin-left: 150px;
  width: calc(100% - 150px);
  height: 100%;
  background: #fff;
  box-shadow: 0 50px 50px rgba(0, 0, 0, 0.25);
}

.content3{
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.content3 h2{
  text-align: left;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #fff;
  display: inline-block;
}

.content3 span{
  height: 0.5px;
  width: 80px;
  background: #fff;
  margin: 30px auto;
}

.content3 p{
  color: #fff;
  padding-bottom: 15px;
  font-weight: 300;
  opacity: 0.7;
  width: 65%;
  text-align: center;
  margin: 0 auto;
  line-height: 1.7;
}

.contact .contact-form .formBox{
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 30px;
}

.contact .contact-form .formBox .inputBox{
  position: relative;
  margin-bottom: 35px;
}

.contact .contact-form .formBox .inputBox .w50{
  width: 47%;
}

.contact .contact-form .formBox .inputBox .w100{
  width: 47%;
}

.contact .contact-form .formBox .inputBox input,
.contact .contact-form .formBox .inputBox textarea{
  width: 100%;
  resize: none;
  padding: 5px 0;
  font-size: 18px;
  font-weight: 300;
  color: #333;
  border: none;
  outline: none;
  border-bottom: 1px solid #777;
}

.contact .contact-form .formBox .inputBox textarea{
  height: 120%;
}

.contact .contact-form .formBox .inputBox span{
  position: absolute;
  left: 0;
  padding: 5px 0;
  pointer-events: none;
  font-size: 18px;
  font-weight: 300;
  transition: 0.3s;
}

.contact .contact-form .formBox .inputBox input:focus ~ span,
.contact .contact-form .formBox .inputBox input:valid ~ span,
.contact .contact-form .formBox .inputBox textarea:focus ~ span,
.contact .contact-form .formBox .inputBox textarea:valid ~ span{
  transform: translateY(-20px);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #848D6B;
  font-weight: 500;
}

.contact .contact-form .formBox .inputBox input[type="submit"]{
  position: relative;
  cursor: pointer;
  background: #848D6B;
  color: #fff;
  border: none;
  max-width: 150px;
  padding: 12px;
} 



/* -------------------------------------- */
/* ==   TARIFS                         == */
/* -------------------------------------- */

.horaires {
  background: url(../images/bi-back.png) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 500px;
}

.content6 {
  background: #fff;
  width: 80%;
  height: 250px;
  margin: 0 auto;
  transform: translateY(50px);
  display: flex; /* Ajouté pour permettre l'alignement flex des éléments enfants directement */
  align-items: center; /* Centrer les éléments verticalement */
  justify-content: space-between; /* Espacer les éléments horizontalement */
  padding: 0 60px; /* Ajouté pour éviter que le contenu touche les bords */
}

.horaire-content {
  display: flex;
  justify-content: space-between; /* Assure que les éléments enfants sont espacés */
  width: 100%; /* Utiliser toute la largeur disponible */
}

.content6 h2 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
  margin-right: auto; /* Assure que h2 pousse tout sur sa droite */
}

.content6 p {
  font-size: 20px;
  font-weight: bold;
  padding-left: 20px; /* Ajoute un padding à gauche pour ne pas coller au h2 */
}


.section8{
  width: 100%;
  padding-top: 113px;
}

.section-bloc8{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 40vh;
  width: 85vw;
  margin: 0 auto;
  box-shadow: 0 50px 50px rgba(0, 0, 0, 0.25);

}

.mockup-id{
  background: url(../images/mockup.jpg) no-repeat, center;
  background-size: cover;
  width: 100%;
  height: auto;
}

.content8{
  background: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.content8 h2{
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
}

.content8 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px 0;
}

.content8 p{
  padding-bottom: 15px;
  font-weight: 300;
  opacity: 0.7;
  width: 60%;
  text-align: center;
  margin: 0 auto;
  line-height: 1.7;
}


.section9{
  background: url(../images/background.jpg) no-repeat center;
  background-size: cover;
  width: 100%;
}

.social-media{
  background: url(../images/rs.png) no-repeat, center;
  background-size: cover;
  width: 100%;
  height: auto;
}

.tarifs-detail {
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1);
  min-height: 200px;
  background: #fff;
  border-radius: 20px;
  margin: 20px 20px; /* Ajustement pour l'espacement vertical */
  padding: 40px;
  text-align: justify;
  flex: 1 1 calc(33.333% - 40px); /* Assurez-vous que les blocs remplissent l'espace disponible */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 550px;
}

/* Pour les écrans plus grands (par défaut 3 colonnes) */
.tarifs-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; /* Changez selon vos préférences */
  align-items: flex-start;
  width: 85vw;
  margin: 0 auto;
}

.tarifs-detail h3{
  padding-top: 20px;
  text-align: center;
}

.tarifs-detail p {
  display: flex;
  align-items: center;
  padding: 20px;
  text-align: justify;;
}


.dots {
  flex-grow: 1; /* Permet aux points de prendre tout l'espace disponible */
  margin: 0 10px; /* Espacement autour des points */
  overflow: hidden; /* Empêche le débordement du contenu */
}

.dots::after {
  content: '';
  display: block;
  border-bottom: 1px dotted #000; /* Ligne de points */
  height: 1px;
  width: 100%; /* Force la ligne à occuper tout l'espace disponible */
}

.prices {
  white-space: nowrap; /* Empêche le prix de passer à la ligne */
}

.forfait-description {
    display: block; /* Assure que la description commence sur une nouvelle ligne */
    font-size: 0.8em; /* Légèrement plus petite pour la distinguer */
    color: #666; /* Une couleur plus douce */
    margin-top: -45px; /* Espace minimal au-dessus pour la séparer visuellement */
    padding-left: 20px; /* L'indenter un peu pour la distinguer du titre du forfait */
}


/* -------------------------------------- */
/* ==   MENTIONS                       == */
/* -------------------------------------- */

.section-mentions{ 
  background: url(../images/background.jpg) no-repeat center;
  background-size: cover;
  margin-top: 113px;
  height: 500px;
  width: 100%;
}

.content-mention{
  display: flex;
  flex-direction: column;
}

.content-mention h2, .content-mention h3{
  transform: translateY(50px);
}

.content-mention h2{
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 36px;
  letter-spacing: 6px;
  opacity: 0.9;
  color: #848D6B;
  display: inline-block;
  transition: transform 0.5s ease-in-out;
}

.content-mention h3{
  text-align: center;
}


.content2 span{
  height: 0.5px;
  width: 80px;
  background: #777;
  margin: 30px auto;
}

.mentions-bloc{
  width: 100%;
}

.bloc{
  width: 60%;
  margin: 0 auto;
}

/* -------------------------------------- */
/* ==   FOOTER                         == */
/* -------------------------------------- */

footer{
  padding: 50px 0;
  background: #fff;
}

footer ul{
  margin-top: 0;
  padding: 0;
  list-style: none;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 0;
  text-align: center;
}

footer ul li a{
  color: inherit;
  text-decoration: none;
  opacity: 0.8;
}

footer ul li a:hover{
  opacity: 1;
}

footer ul li{
  display: inline-block;
  padding: 0 15px;
  cursor: pointer;
}

footer .copyright{
  margin-top: 15px;
  text-align: center;
  font-size: 13px;
  color: #aaa;
}




/* -------------------------------------- */
/* ==   MEDIA QUERY                    == */
/* -------------------------------------- */

@media (min-width:1600px){

  .tarifs-detail{
    width: calc(33.333% - 20px);
  }
}

@media (max-width: 1600px){
  .tarifs-detail p{
    font-size: 11px;
  }
}


@media (max-width:1400px){

  .contact{
    width: 90%;
    min-width: auto;
    margin: 20px;
  } 

  .contact .contact-info{
    top: 0;
    height: 550px;
    position: relative;
    box-shadow: none;
  }

  .contact .contact-form{
    position: relative;
    width: calc(100% - 350px);
    padding-left: 0;
    margin-left: 0;
    padding: 40px;
    height: 550px;
  }

  .work-box{
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

  .tarifs-detail{
    margin: 10px 30px;
    padding: 10px;
  }

  .tarifs-detail p{
    font-size: 11px;
  }

  .tarifs-box{
    width: 100%;
  }

  .content8 h2{
    margin-top: 25px;
  }
}  


@media (max-width:992px){
  .nav-bar-block{
    padding: 1.5rem 5%;
  }

  .section-bloc{
    padding-top: 20px;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .profile{
    height: 100vh;
  }

  .content{
    height: auto;
  }

  .content h2{
    font-size: 26px;
    margin-top: 50px;
  }

  .content span{
    margin: 20px auto;
  }

  .content p{
    font-size: 14px;
  }

  /* ==   SERVICES  == */

    .services{
    flex: 0 0 100%;
   }

   .container{
    flex-direction: column;
    align-items: center;
    text-align: center;
   }

    .container-img{
    margin-right: 0;
    margin-bottom: 10px;
   }

    .services-content{
    width: 100%;
   }

    .work-box{
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

    .img-source{
      height: 100vh;
      margin-top: 10%;
    }

     /* ==   GALLERY  == */

    .home-gallery .gallery{
    display: grid;
    grid-template-columns: auto auto;
   }

   .gallery-bouton{
    display: flex;
    align-items: center;
    justify-content: center;
  }

    .project-container {
      flex-direction: column;
    }

    .image-column img {
      width: 100%; /* Make images fill the container */
    }

    .text-column {
      width: 100%;
      order: -1; 
    }

    .text-column h2 {
      font-size: 18px; /* Adjust font size for better responsiveness */
    }

    .text-column span {
      margin: 10px auto; /* Adjust margin for better spacing */
    }

    .text-column p {
      font-size: 12px; /* Adjust font size for better responsiveness */
    }
    .image-column{
      width: 100%;
    }

  .tarifs-box{
    width: 100%;
    display: block;
  }

  .tarifs-detail{
    padding: 10px;
  }

  .tarifs-detail p{
    font-size: 10px;
  }

  .forfait-description{
    font-size: 10px;
    margin-top: -8px ;
  }  

}
   /* ==   CONTACT  == */


@media (max-width:768px){
  .icons{
    display: inline-flex;
  }

  #check:checked~.icons #menu-icon{
    display: none;
  }

  .icons #close-icon{
    display: none;
  }

  #check:checked~.icons #close-icon{
    display: block;
  }

  #nav-bar{
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 0;
    background: rgba(132, 141, 107, 1.0);
    overflow: hidden;
    transition: .3s ease;
  }

  #check:checked~#nav-bar{
    height: 19rem;
  }

  #nav-bar a{
    display: block;
    font-size: 1.1rem;
    margin: 1.5rem 0;
    color: white;
    text-align: center;
    transform: translateY(-50px);
    transition: .3s ease;
  }

  #check:checked~#nav-bar a{
    transform: translateY(0);
    opacity: 1;
    transition-delay: calc(.15s * var(--i));
  }

    /* ==   A PROPOS  == */

  .section-bloc, .section-bloc8{
    padding: 0;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .profile{
    width: 100%;
    height: 100vh;
  }

  .content{
    padding-top: 20px;
    width: 100%;
    height: auto;
  }

  .content h2{
    font-size: 20px;
    margin-top: 30px;
  }

  .content span{
    margin: 14px 0;
  }

  .content p{
    font-size: 13px;
  }

  /* ==   SERVICES  == */

   .services{
    flex: 0 0 100%;
   }

   .container{
    flex-direction: column;
    align-items: center;
    text-align: center;
   }

   .contenu{
    flex-direction: column;
    align-items: center;
    text-align: center;
   }

   .container-img{
    margin-right: 0;
    margin-bottom: 10px;
   }

   .services-content{
    width: 100%;
   }

   .content2 h2{
    font-size: 20px;
    margin-top: 30px;
   }

  .content4 h2{
    font-size: 20px;
    margin-top: 30px;
    text-align: center;
   }


  .process-detail {
    flex-direction: column; /* Annule row-reverse pour tous les éléments */
    text-align: center; /* Centre le texte si nécessaire */
  }

  .process-detail img {
    margin-right: 0;
    margin-bottom: 10px; /* Espace entre l'image et le texte sur petits écrans */
  }

  .process-detail:nth-child(odd),
  .process-detail:nth-child(even) {
     flex-direction: column;
  }

  .work-box{
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

  .work-detail{
    margin: 20px auto;
  }

  .img-source{
      width: 100%;
      height: 100vh;
  }


  .animated-left, .animated-right, .animated-process {
      animation: none 
      opacity: 1 
      transform: none 
      visibility: visible
  }



  .content6 {
    background: #fff;
    width: 100%;
    height: 250px;
    transform: translateY(50px);
    padding: 0 20px; /* Ajouté pour éviter que le contenu touche les bords */
  }

  .horaires {
    height: 350px;
  }

  .horaire-content {
    display: flex;
    justify-content: space-between; /* Assure que les éléments enfants sont espacés */
    width: 100%; /* Utiliser toute la largeur disponible */
  }

  .content6 h2 {
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 6px;
    opacity: 0.9;
    color: #848D6B;
    margin-right: auto; /* Assure que h2 pousse tout sur sa droite */
  }

  .content6 p {
    font-size: 14px;
    font-weight: bold;
    padding-left: 20px; /* Ajoute un padding à gauche pour ne pas coller au h2 */
  }

  .mockup-id, .social-media{
    width: 100%;
    height: 40vh;
  }

  .content8{
    padding-top: 20px;
    width: 100%;
    height: auto;
  }

  .content8 h2{
    font-size: 20px;
    margin-top: 30px;
  }

  .content8 span{
    margin: 14px 0;
  }

  .content8 p{
    font-size: 13px;
  }

  .section9{
      margin-top: 40px;
  }


   /* ==   GALLERY  == */


  .gallery-bouton{
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .gallery-bouton .bouton:nth-child(1){
    margin-bottom: 10%;
  }

  .project-container {
      padding: 0;
      width: 100%;
  }

  .text-column h2 {
    font-size: 16px; /* Adjust font size for better responsiveness */
  }

  .text-column span {
    margin: 8px ; /* Adjust margin for better spacing */
  }

  .text-column p {
    font-size: 11px; /* Adjust font size for better responsiveness */
  }

  .home-gallery .gallery,
  .portfolio-gallery .gallery {
    display: block; /* Annule la disposition en grille */
    height: auto;
  }

  .home-gallery .gallery .projet,
  .portfolio-gallery .gallery .projet {
    width: 100%; /* Les projets prennent toute la largeur */
    height: auto; /* Hauteur automatique pour conserver le ratio */
  }

  .home-gallery .gallery .projet img,
  .portfolio-gallery .gallery .projet img {
    width: 100%; /* Les images prennent toute la largeur */
    height: auto; /* Hauteur automatique pour conserver le ratio */
  }

    /* Annuler les spécificités de positionnement de certains projets */
  .home-gallery .gallery .projet,
  .portfolio-gallery .gallery .projet {
    grid-column: auto;
    grid-row: auto;
  }

  .home-gallery{
    height: auto;
  }


     /* ==   AVIS  == */

  .section4{
    width: 100%;
  } 

  .testimonials-box{
    width: 380px;
    box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.1);
    background: #FFFBFB;
    padding: 20px;
    margin: 15px;
    cursor: pointer;
  }

     /* ==   CONTACT  == */

  .contact{
    display: flex;
    flex-direction: column-reverse;
  }

  .contact .contact-info{
    width: 100%;
    height: auto;
  } 

  .contact .contact-form{
    width: 100%;
    height: auto;
  }

  .tarifs-box{
    width: 100%;
  }

  .tarifs-detail{
    padding: 10px;
  }

  .tarifs-detail p{
    font-size: 10px;
  }

  .forfait-description{
    font-size: 10px;
    margin-top: -55px ;
  }

  footer{
    padding: 30px 0;
  }

  footer ul{
    font-size: 10px;
  }

}

@media only screen and (max-width:430px){
  .home-gallery .gallery{
    display: block;
  }

  .home-gallery .gallery{
  display: block;
  grid-template-columns: auto;
 }

 .home-gallery .gallery {
    grid-template-columns: auto; /* Ensure single column layout */
  }

  .text-column h2 {
    font-size: 14px; /* Adjust font size for better responsiveness */
  }

  .text-column span {
    margin: 6px 0; /* Adjust margin for better spacing */
  }

  .text-column p {
    font-size: 10px; /* Adjust font size for better responsiveness */
  }
}















