/*
Theme Name: abctheme
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.0
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abctheme
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
.image__header{
  position: fixed;
  width: 3.5%;
  top: 5px;
  left: 5px;
  margin: 30px;
  z-index: 1000;
}
.background__video{
position: absolute;
top: 50%;
left: 50%;
width: 177.78vh; /* Ratio 16:9 basé sur la hauteur */
height: 100vh;
transform: translate(-50%, -50%);
z-index: -1;
pointer-events: none;

}
.background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
  filter: blur(15px);
  transform: scale(1.1);
}
.section{
  padding: 50px;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.logo__image img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12%;
}
.scroll-down {
  display: flex;
  position: absolute;
  top: 80%;
  font-size: 2rem; 
  color: white; 
  text-decoration: none; 
  z-index: 2;
}







.arrow {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform: rotate(0deg);
  cursor: pointer;
  z-index: 3;
}

.arrow span {
  display: block;
  width: 1vw;
  height: 1vw;
  border-bottom: 5px solid white;
  border-right: 5px solid white;
  transform: rotate(45deg);
  margin: -10px;
  animation: animate 2s infinite;
}

.arrow span:nth-child(2) {
  animation-delay: -0.2s;
}

.arrow span:nth-child(3) {
  animation-delay: -0.4s;
}

@keyframes animate {
  0% {
      opacity: 0;
      transform: rotate(45deg) translate(-20px, -20px);
  }
  50% {
      opacity: 1;
  }
  100% {
      opacity: 0;
      transform: rotate(45deg) translate(20px, 20px);
  }
}




/* Section de présentation */
.section--presentation {
  display: grid;
  place-items: center; /* Centrer le contenu de la section */
  height: 100vh; /* Prend toute la hauteur de la fenêtre */
  mask-image: linear-gradient(to bottom, 
  rgba(0, 0, 0, 0) 0%,   /* 0% de visibilité en haut */
  rgba(0, 0, 0, 1) 10vh, /* 100% de visibilité après 30px */
  rgba(0, 0, 0, 1) calc(100% - 10vh), /* 100% jusqu'à 30px avant le bas */
  rgba(0, 0, 0, 0) 100%  /* 0% de visibilité en bas */
);

}

.presentation__content {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Deux colonnes de taille égale */
  width: 100%;
  height: 100%;
}

.presentation__text {
  font-family: Arial, Helvetica, sans-serif;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  background-color: rgba(0, 0, 0, 0.479);

}

.presentation__text p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-size: 18px;
  text-align: right;
  font-style: italic;
  margin-right: 20px;
}

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

.presentation__image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* L'image occupe tout l'espace sans distorsion */
}








/* Section Services */
.section--services {
  display: flex;
  justify-content: center;


}

.service {
  color: #ffffff;
  margin: 30px;
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  position: relative;
  width: 20%;
  height: 50%;
  background-color: #00000071;
  border-radius: 30px;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;

  text-align: center;
  transition: transform 0.3s ease;
}


.service__content h1, .service__content h2, .service__content p {
  margin: 10px 0;
}

.service__button {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #000000;
  color: #ffffff;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.service__button:hover {
  background-color: #313131;
}

/* Modal Styles */
.modal {
  color: white;
  display: none; /* Hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.261); /* Background overlay */
  justify-content: center;
  align-items: center;
  
}


.modal__content {
background-color: #000000;
border-radius: 25%;
padding: 40px;
border-radius: 10px;
display: flex;
flex-direction: column;
justify-content: center;
top: 50%;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
  
}

.modal__content p{
  text-align: left;
  margin-top: auto; /* Pousse le paragraphe vers le bas */
  margin-bottom: 0; /* Enlève toute marge supplémentaire en bas */
}
.modal__content h1{
font-size: 30px;
font-weight: bold;
}
.modal__content h2{
  margin-bottom: 10px;
  margin-top: 20px;
}

.modal__content ul li{
  padding-bottom: 5px;
  margin-left: 10px;
  list-style: none;
  font-weight: 100;
  
}

.modal__close {

font-size: 50px;
cursor: pointer;
position: absolute;
top: 15px;
right: 25px;


}

.buttons {
margin-top: 10px;
display: flex;
}

.buttons button:hover {
background-color: black;
color: white;
}

.buttons button {
appearance: none;
background-color: white;
border: 2px solid #1A1A1A;
border-radius: 15px;
box-sizing: border-box;
color: #3B3B3B;
cursor: pointer;
display: flex;
font-family: Roobert, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 12px;
font-weight: 600;
line-height: normal;
margin: 0;
/* min-height: 60px; */
min-width: 0;
outline: none;
/* padding: 16px 24px; */
text-align: center;
text-decoration: none;
transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
width: 100%;
will-change: transform;
}

.modal__close:hover {
  color: #ffffff;
}

.service__content {
  display: flex;
  flex-direction: column; /* Organiser les éléments verticalement */
  justify-content: flex-start; /* Garde les éléments en haut */
  height: 100%; /* La hauteur du conteneur */
  padding: 20px;
  position: relative;
}


.service__content h2{
  text-align: left;
}

.service__content p{
  text-align: left;
  margin-top: auto; /* Pousse le paragraphe vers le bas */
  margin-bottom: 0; /* Enlève toute marge supplémentaire en bas */
}

.devis{
  position: absolute;
  display: flex;
  bottom: 10vh;
}







.modal {
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  font-weight: 800;
  display: none; 
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.224); 
}

.modal-content {
  background-color: rgba(0, 0, 0, 0.765);
  padding: 20px;
  width: 80%;
  max-width: 500px;
  border-radius: 8px;
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.close {
  color: #ffffff;
  position: absolute;
  top: 15px;
  right: 25px;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: rgb(255, 255, 255);
  text-decoration: none;
  cursor: pointer;
}

/* Gestion des étapes */
.etape {
  display: none;
}

.etape.active {
  display: block;
}


/* La section de la grille */
.section--photos__desktop {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.div1 { grid-area: 1 / 1 / 4 / 4; }
.div2 { grid-area: 1 / 4 / 4 / 7; }
.div3 { grid-area: 4 / 1 / 7 / 7; }
.div4 { grid-area: 1 / 7 / 7 / 10; }
.div5 { grid-area: 1 / 10 / 4 / 13; }
.div6 { grid-area: 4 / 10 / 7 / 13; }

/* Chaque conteneur d'image prend 100% de l'espace de la cellule de la grille */
.photo-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.photo.hover {
  opacity: 0;
}

.photo-container:hover .hover {
  opacity: 1;
}

.photo-container:hover .normal {
  opacity: 0;
}

.section--occasions{
  background-color: #000000;
}



/* CSS */
.devis__boutton {
appearance: none;
background-color: white;
border: 2px solid #1A1A1A;
border-radius: 15px;
box-sizing: border-box;
color: #3B3B3B;
cursor: pointer;
display: inline-block;
font-family: Roobert,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
font-size: 16px;
font-weight: 600;
line-height: normal;
margin: 0;
min-height: 60px;
min-width: 0;
outline: none;
padding: 16px 24px;
text-align: center;
text-decoration: none;
transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
width: 100%;
will-change: transform;
}

.devis__boutton:disabled {
pointer-events: none;
}

.devis__boutton:hover {
color: #fff;
background-color: #1A1A1A;
box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
transform: translateY(-2px);
}

.devis__boutton:active {
box-shadow: none;
transform: translateY(0);
}








:root {
  --darkbg: #1c1c1c;
  --btCinza: #222;
  --icons: #ffffff;
  --branco: #fff;
}

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


.container {
  
  width: 20%;
  display: flex;
  justify-content: left;
  align-items: center;
  position: relative;
}

#toggle {
  -webkit-appearance: none;
  position: fixed;
}

.button {
  bottom: 20px;
  left: 20px;
  position: fixed;
  z-index: 999;
  height: 65px;
  background-color: #0000005d;
  border-radius: 15px;
  cursor: pointer;
  display: flex;
  justify-content: left;
  align-items: center;
  padding: 0 24px;
  transition: width 300ms linear;
}

.button:before {
  position: absolute;
  content: "";
  width: 20px;
  height: 2px;
  background: var(--icons);
  transform: rotate(225deg);
  transition: all 0.4s ease;
}

.button:after {
  position: absolute;
  content: "";
  width: 20px;
  height: 2px;
  background: var(--icons);
  transform: rotate(135deg);
  transition: all 0.4s ease;
}

.nav {
  opacity: 1;
  transition: all 0.5s ease-in-out;
  width: 100%;
  border-radius: 5px;
  transform: translateX(10%);
  padding: 10px;
}

.nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
}

.nav li {
  opacity: 0;
  list-style: none;
}

.nav li:nth-child(1) {
  transform-origin: bottom;
  animation: itop 300ms 300ms linear forwards;
}

.nav li:nth-child(2) {
  transform-origin: bottom;
  animation: itop 300ms 400ms linear forwards;
}

.nav li:nth-child(3) {
  transform-origin: bottom;
  animation: itop 300ms 500ms linear forwards;
}

.nav li:nth-child(4) {
  transform-origin: bottom;
  animation: itop 300ms 600ms linear forwards;
}

.nav a {
  transition: all 0.5s linear;
  text-decoration: none;
  color: var(--icons);
  font-size: 20px;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px 0 0;
  border-radius: 15px;
}

.nav a:hover {
  color: var(--branco);
  background: var(--darkbg);
  border-radius: 15px;
}

#toggle:checked ~ label .nav {
  display: none;
  opacity: 0;
  transform: translateX(0);
}

#toggle:checked ~ .button:before {
  transform: rotate(90deg);
}

#toggle:checked ~ .button:after {
  transform: rotate(0deg);
}

#toggle:checked ~ .button {
  width: 70px;
  transition: all 0.1s linear;
}

@media (max-width: 640px) {
  .container {
    width: 100%;
  }
}

@keyframes itop {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



#points-container {
  z-index: 3;
  position: fixed;
  top: 96%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: row;
  gap: 10px;
  transition: opacity 0.5s ease;
  opacity: 0; /* Caché par défaut */
  visibility: hidden; /* Ne prend pas de place dans la mise en page tant qu'il n'est pas visible */
}

#points-container.visible {
  opacity: 1; /* Apparait quand visible */
  visibility: visible;
}

.point {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  transition: background-color 0.3s;
}

.point.active {
  background-color: rgba(255, 255, 255, 1); /* Point en surbrillance */
}

.nav ul p{
font-family: Arial, Helvetica, sans-serif;
font-style: italic;
font-weight: 1000;
color: #fff;
transform: rotate(-90deg);

}












/* Tablettes */
@media (max-width: 1024px) {

  .devis__boutton {
  appearance: none;
  background-color: white;
  border: 2px solid #1A1A1A;
  border-radius: 15px;
  box-sizing: border-box;
  color: #3B3B3B;
  cursor: pointer;
  display: inline-block;
  font-family: Roobert, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 600;
  line-height: normal;
  margin: 0;
  /* min-height: 60px; */
  min-width: 0;
  outline: none;
  /* padding: 16px 24px; */
  text-align: center;
  text-decoration: none;
  transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 100%;
  will-change: transform;
}
	.section--services{
		padding-bottom: 80px;
	}

  .devis {
    position: absolute;
    display: flex;
    bottom: -80px;
}
}
.service {
  color: #ffffff;
  margin: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-style: italic;
  position: relative;
  width: 20%;
  height: 50%;
  background-color: #00000071;
  border-radius: 30px;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  text-align: center;
  transition: transform 0.3s ease;


  .container {
    width: 90%;
  }

  .logo__image img {
      width: 20%;
  }
  .arrow span{
      width: 2vw;
      height: 2vw;
  }
  .presentation__text p{
      font-size: 15px;
  }
  .service__content h1, .service__content h2, .service__content p { 
      font-size: 14px;
  }
  .service {    
      margin: 17px;
      width: 35%;     
  }
  .image__header{
      display: none;
  }


  
  
}






/* Smartphones en paysage */
@media (max-width: 768px) {

  .point{
    display: none;
  }

  .modal__content {
    background-color: #000000;
    border-radius: 25%;
    padding: 15px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    top: 50%;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 43vh;
    /* height: 30vh; */
    font-size: 10px;
}

  .section--photos__desktop {
    display: none;
  }
  .section--photos__mobile{
    display: flex;
  }


  .section--photos__mobile{


  }


  .section{
    padding: 0px;
    margin-bottom: 50px;
  }
  .container {
    width: 85%;
  }
  .presentation__content{
      display: flex;
      flex-direction: row;
  }
  .presentation__text p{
      font-size: 15px;
  }
  .service__content h1, .service__content h2, .service__content p { 
      font-size: 18px;
  }
  .service {    
      margin: 17px;
      width: 35%;     
  }
  .menu__element{
    font-size: 30px;
  }

}

/* Smartphones en portrait */
@media (max-width: 480px) {

  .section--photos__desktop {
    display: none;
  }

  .container {
    width: 100%;
  }
  

  .logo__image img {
      width: 30%;
  }
  .arrow span{
      width: 5vw;
      height: 5vw;
  }

  .presentation__text{
      justify-content: center;
      padding: 15px;
  }

  .presentation__content{
      display: flex;
      flex-direction: row;
  }
  .presentation__text p{
      font-size: 12px;
  }
  .service__content h1, .service__content h2, .service__content p { 
      font-size: 18px;
  }
  .service {    
      margin: 17px;
      width: 50%;     
  }
  .section--services{
      flex-direction: column;
  }



}

/* Petits smartphones */
@media (max-width: 320px) {

  .section--photos__desktop {
    display: none;
  }
  .container {
    padding: 10px;
  }
}








input{
  display: none;
}
.nav__btn {
  position: fixed;
  top: 0;
  right: 0;
  margin: 1em;
  height: 20px;
  z-index: 1000000001;
  width: 32px;
  height: 32px;
  background-image: url(./assets/images/burger.svg);
  background-size: contain;
  background-color: transparent;
  background-repeat: no-repeat;
  border: none;
  cursor: pointer;
  display: block;
  transition: .5s;
  &--close{
    background-image: url(./assets/images/croix.svg);
  }
}
.nav__btn:hover {
  cursor: pointer;
}



input ~ nav {
  background-color: rgba(0, 0, 0, 0.514);
  color: rgb(255, 255, 255);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0px;
  z-index: 1000000000;
  transition: .5s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  > ul{
    margin: 0;
    overflow: hidden;
    line-height: 1;
    
    > li{
      transition: .5s;
      transition-delay: 0s;
      display: flex;
      flex-direction: column;
    }

  }
}
input:checked ~ nav { 
  height: 100vh;
  transition-delay: 0s;   
}
.menu__element{
  text-transform: uppercase;
  font-size: 5vh;
  font-weight: 700;
  text-align: center;
  padding: 30px;
}
nav a{
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  color: rgb(255, 255, 255);
  transition: 0.4s ease-in-out transform;
}
.menu__element-1:hover, .menu__element-3:hover{
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  color: rgb(255, 255, 255);
  transform:
  perspective(1200px)
  translate3d(0px, 0px, -250px)
  rotateY(45deg)
  rotateX(45deg)
  scale(0.9, 0.9);
}
.menu__element-2:hover{

  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  color: rgb(255, 255, 255);
  transform:
  perspective(1200px)
  translate3d(0px, 0px, -250px)
  rotateY(-45deg)
  rotateX(45deg)
  scale(0.9, 0.9);
  
}  




.boutton__suivant{
background: none;
 color: inherit;
 border: none;
 padding: 0;
 font: inherit;
 cursor: pointer;
 outline: inherit;
 cursor: pointer;

}

.etape label{
  font-weight: 100;
  font-style: normal;
  margin-bottom: 30px;
}

.etape label:hover{
  text-decoration-line: underline;
  cursor: pointer;
}
.etape label::after{
  text-decoration-line: underline;
  color: red;
  cursor: pointer;
}







@media (min-width: 769px) {
  .section--photos__mobile{
    display: none;
  }
}











