body {
  background-color: #c6c6c6;
}

.image_fond {
    background-color: rgba(145, 145, 145, 0.32);
    height: 100%;
    background-repeat: no-repeat;
    background-blend-mode:multiply;
    background-size: cover; /* Couvre toute la surface */
    background-position: center; /* Centre l'image */
    border-radius: 0 0 15px 15px;
    /*background-attachment: fixed; /* Fixe l'image par rapport à la fenêtre du navigateur */
    height: 90vh; 
    margin-top: 0;
    box-shadow: 0 14px 28px rgb(0, 0, 0);
  }

h1#ftitle {
  text-align: center; 
  color: white; 
  font-weight: 10; 
  font-size: 65px; 
  margin-top: 105px;
  -webkit-text-stroke: 0.2px rgba(255, 255, 255, 0.886); /* Contour du texte avec ombre noire */
  text-shadow: 5px 15px 8px #000000, 5px 15px 8px #000000;
  margin-left: 20px;
  animation: fadeInUp 2s ease-out forwards; /* Applique l'animation */
  opacity: 0; /* Le texte commence invisible */
}

h2#stitle {
  text-align: center; 
  color: red; 
  font-size: 40px; 
  font-weight: 100; 
  /*-webkit-text-stroke: 2px rgba(0, 0, 0, 0.7);-*/
  text-shadow: 5px 15px 8px #000000, 5px 15px 8px #000000;
  margin-top: -20px;
  margin-left: 20px;
  animation: fadeInUp 2s ease-out forwards; /* Applique l'animation */
  opacity: 0; /* Le texte commence invisible */
}

/*------------------------------------------------------------------------------------- Média --------------------------------------------------------------------------------------------*/

.on{
  display: flexbox; /* Pour superposé les images */
}

.imgr {
  display: block;
  margin-left: 40px;
  margin-top: 10px;
  margin-right: 60px;
  border-radius: 5px;
}

#imgspe {
  border-color: 2px solid black;
  box-shadow: 0 2px 10px white;
}


.normal-logo {
    width: 155px;
    height: 55px ;
    max-height: 76.5px;
}


/*------------------------------------------------------------------ Barre de navigation sur toutes les pages ---------------------------------------------------------------------------*/


a {
  color: white;
  text-align: center;
  margin-top: 20px;
  font-weight: 10; 
  font-size: 35px;
  padding: 20px ;
  text-decoration: none;
}

a:not(.active) {
  color: white;
  font-weight: 10;
  text-decoration: none;
}

a.active {
  color: rgb(182, 1, 1);
  font-weight: 10;
  text-decoration-line: underline;
  text-underline-offset: 0.3em;
  text-decoration-color: rgb(182, 1, 1);
  text-decoration-style:solid;
  text-decoration-thickness: 2px;
}

a:hover:not(.active) {
  color: rgb(196, 35, 35);
}

/*---------------------------------------------------------------------------- card pour actualités page d'accueil -------------------------------------------------------------------------*/

.box_img {
  width: 100%; /* La largeur s'adapte à l'écran */
  max-width: 275px; /* Limite la largeur pour une meilleure lisibilité */
  background-color: rgb(76, 76, 76);
}

.gallery-container {
  height: 450px;
  position: relative;
  display: flex;
  justify-content: center;  /* Centrer horizontalement */
  align-items: center;
  text-align: center;
  border-radius: 10px;
  padding: 100px;
  flex-wrap: wrap;  /* Permet aux galeries de se réorganiser si l'espace est trop petit */
  gap: 10px;  /* Espacement entre les galeries */
}

div.gallery {
  
  margin: 20px;
  border: 3px solid #ffffff;
  float: left;
  width: 280px;
  box-shadow: 4px 4px 8px black;
  background-color: rgb(76, 76, 76);
  transition: transform 0.3s ease-in-out;
  border-radius: 10px;
}

div.gallery:hover {
  border: 3px solid #ff0000;
  transform: scale(1.2);
}

div.gallery img {
  display: flex;
  justify-content: center;
  text-align: center;
  width: auto;
  height: 200px;
}

div.desc {
  padding: 5px;
  text-align: center;
  background-color: #332a2a;
  border-radius: 0 0 10px 10px;
  text-shadow: 4px 3px 3px #000000;
}


/* ----------------------------------------------------------------------------- Alignements d'elements --------------------------------------------------------------------------------------*/

.alignement_barre_nav {
  display: flex;
  justify-content: flex-start;  /* Image alignée à gauche */
  align-items: center;  /* Centrer les éléments verticalement */
  width: 100%;  /* S'assurer que le conteneur occupe toute la largeur disponible */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.546), rgba(0, 0, 0, 0.66)); /* Dégradé sombre */
}

.alignement {
  display: flex;
  justify-content: flex-start;  /* Image alignée à gauche */
  align-items: center;  /* Centrer les éléments verticalement */
  text-align: center;
  height: 100%;
  max-height: 550px;
  border-radius: 5px 5px 15px 15px;
  background-color: #646464c8;
}

.alignementa{
  margin-bottom: 10px; 
  border-bottom: 2px solid white;
  border-radius: 5px;
  display: flex; /* Utilisation de flexbox pour aligner les éléments sur la même ligne */
  justify-content: space-between; /* L'espace est distribué entre les éléments */
  align-items: center; /* Les éléments sont alignés verticalement au centre */
}

a.alignementa:hover {
  background-color: darkred;
  color: black;
}

.alignement_centre {
  display: flex;
  justify-content: center; /* Centrer les éléments à l'intérieur */
  align-items: center; /* Centrer verticalement */
  flex-grow: 0.70; /* Prendre tout l'espace restant pour centrer le menu */
  text-align: center; /* Centrer les éléments de texte à l'intérieur */
}

.alignement_droite {
  display: flex;
  justify-content: right; /* Centrer les éléments à l'intérieur */
  align-items: right; /* Centrer verticalement */
  flex-grow: 0.75; /* Prendre tout l'espace restant pour centrer le menu */
  text-align: center; /* Centrer les éléments de texte à l'intérieur */
}


/*------------------------------------------------------------------------------ style pour le texte + fond -------------------------------------------------------------------------------- */


.texte-bon {
  background-color: #333; /* Couleur de fond claire */
  border-radius: 10px; /* Bordures arrondies */
  padding: 30px; /* Espace intérieur */
  font-family: 'Arial', sans-serif; /* Police moderne */
  font-size: 16px; /* Taille de texte confortable */
  line-height: 1.6; /* Espacement des lignes */
  color: #646464c8; /* Couleur du texte */
  height: 660px;
  width: 1250px;
  margin-top: 65px; /* Espace au-dessus du bloc */
  margin-left: auto;
  margin-right: auto; /* Centrer le bloc */
  margin-bottom: 50px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); /* Ombre portée */
}

.texte-bon p {
  color: white;
  text-align: justify; /* Aligne le texte à gauche et à droite */
  text-indent: 20px; /* Indentation du premier paragraphe */
  text-shadow: 4px 3px 3px #000000;
}




/*------------------------------------------------------------------------------- style pour le bouton page d'accueil ----------------------------------------------------------------------*/

.btn-3d {
  background-color: #aa1100; /* Fond rouge */
  color: white; /* Couleur du texte */
  padding: 14px 30px; /* Taille du bouton */
  font-size: 16px; /* Taille du texte */
  text-align: center; /* Centrer le texte */
  text-decoration: none; /* Enlever le soulignement */
  display: inline-block; /* Aligner le bouton */
  border-radius: 30px; /* Coins arrondis */
  border: 2px solid #e74c3c; /* Bordure rouge */
  cursor: pointer; /* Curseur de la souris comme une main */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Ombre douce */
  transition: all 0.3s ease; /* Transition fluide pour les effets */
}

/* Effet de survol */
.btn-3d:hover {
  background-color: rgb(74, 74, 74); /* Fond blanc au survol */
  color: #e74c3c; /* Texte rouge */
  border-color: #e74c3c; /* Bordure rouge */
  transform: translateY(-4px); /* Soulever légèrement le bouton */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); /* Ombre plus marquée */
}

/* Effet au clic */
.btn-3d:active {
  transform: translateY(2px); /* Simuler l'enfoncement du bouton */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Ombre plus douce */
}



/*-------------------------------------------------------------------------------------- transitions --------------------------------------------------------------------------------------*/

@keyframes fadeInUp {
  0% {
      opacity: 0;
      transform: translateY(20px); /* Commence décalé vers le bas */
  }
  100% {
      opacity: 1;
      transform: translateY(0); /* Texte à sa position finale */
  }
}

@keyframes fadeIndown {
  0% {
      opacity: 0;
      transform: translateY(-20px); /* Commence décalé vers le bas */
  }
  100% {
      opacity: 1;
      transform: translateY(0); /* Texte à sa position finale */
  }
}

.title {
  margin-left: 20px;
  animation: fadeInUp 2s ease-out forwards; /* Applique l'animation */
  opacity: 0; /* Le texte commence invisible */
  height: 100%;
  max-height: 550px;
  background-color: none;
}

@keyframes fade_slide_right {
  0% {
    opacity: 0;
    transform: translateX(-200px);
  }
  100%{
    opacity: 1;
    transform: translateX(0);
  }
}

.text_tr {
  animation: fade_slide_right 3s ease-out forwards; /* Applique l'animation */
  opacity: 0; /* Le texte commence invisible */
}


@keyframes fade_slide_left {
  0% {
    opacity: 0;
    transform: translateX(200px);
  }
  100%{
    opacity: 1;
    transform: translateX(0);
  }
}

.text_tl {
  animation: fade_slide_left 3s ease-out forwards; /* Applique l'animation */
  opacity: 0; /* Le texte commence invisible */
}

/* Animation pour faire apparaître le menu après un délai */
@keyframes appmenu {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block; /* Le menu devient visible */
    opacity: 0;
  }
  100% {
    opacity: 1; /* Le menu devient complètement visible */
  }
}

.texte-bon {
  animation: appmenu 2s ease-out forwards;
}

.text_up{
  animation: fadeInUp 3s ease-out forwards;
  opacity:0;
}

.text_down{
  animation: fadeIndown 3s ease-out forwards;
  opacity:0;
}

/*------------------------------------------------------------------ Menu De Contact sur toutes ls pages ------------------------------------------------------------------------------------*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.sidebar {
  position: fixed;
  left: -426px;
  width: 430px;
  height: 85%;
  top: 125px;
  background-color: #1c1c1c;
  color: rgb(255, 255, 255);
  padding: 20px;
  border-radius: 0 15px 15px 0;
  transition: left 0.3s ease-in-out;
  z-index: 1000;
  box-shadow: 0 4px 12px rgb(255, 255, 255); 
  border: 1px solid rgb(0, 0, 0);
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin-top: 100px;
}

.toggle-button {
  position: fixed;
  align-items: center;
  left: 0;
  top: 450px;
  padding: 20px 5px;
  background-color: #000000c1;
  color: rgb(255, 255, 255);
  text-shadow: 4px 3px 3px #000000;
  border: none;
  border-radius: 0 10px 10px 0;
  cursor: pointer;
  transition: left 0.3s ease-in-out;
  box-shadow: 0 4px 12px rgb(255, 255, 255); 
  border: 1px solid rgb(81, 77, 77);
  z-index: 999;
}

.toggle-button:hover {
  background-color: #3a3a3ac0;
  color: red;
  text-shadow: 4px 3px 3px #000000;
}

.contact{
  font-size: 20px;
  text-decoration-line: underline;
  text-underline-offset: 0.3em;
  text-decoration-color: rgb(182, 1, 1);
  text-decoration-style:solid;
  text-decoration-thickness: 1px;
  text-shadow: 4px 3px 3px #000000;
}

/*--------------------------------------------------- case d'information "A propos de l'entreprise" de la page cie groupe ---------------------------------------------------------------------*/

/* Conteneur principal */
.rect_container {
  display: flex; /* Disposition horizontale */
  justify-content: space-around; /* Espacement égal entre les éléments */
  gap: 20px; /* Espacement entre les éléments */
  padding: 50px;
  margin: 0 auto;
  max-width: 1200px; /* Largeur maximale du conteneur */
  border-radius: 8px; /* Coins arrondis */
  /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Ombre portée */
}

/* Style des données de rect */
.rect-data {
  background-color: #353535df;
  border: 1px solid #ffffff;
  padding: 20px;
  text-align: center;
  width: 30%; /* Chaque bloc prend 30% de la largeur */
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.655);
}

/* Titres */
h2.rect {
  font-size: 24px;
  color: red;
  margin-bottom: 15px;
  font-size: 40px;
  text-shadow: 4px 3px 3px #000000;
}

h3.little_title {
  text-align: center; 
  color: rgb(222, 35, 35); 
  font-size: 30px;
  font-weight: 100;
  margin-top: 10px;
  margin-bottom: 35px;
  text-shadow: 4px 3px 3px #000000;
}

/* Texte des données */
p.rect {
  font-size: 18px;
  color: #ffffff;
  text-shadow: 4px 3px 3px #000000;
}

/*------------------------------------------------------------------------------------ footer -------------------------------------------------------------------------------------------------*/

footer {
  width: 100%;
  background-color: #000000e5;
  color: #ffffff;
  padding: 20px 0;
  font-family: Arial, sans-serif;
  margin-top: 40px; /* Ajoute un espacement entre le contenu et le footer */
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 30px;
  box-shadow: 12px -2px 12px rgb(255, 255, 255); 
}

.footer-section {
  width: 30%;
}

.footer-section h4 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}

.footer-section ul {
  list-style-type: none;
  padding: 0;
}

.footer-section ul li {
  margin: 8px 0;
}

.footer-section ul li a {
  color: #fff;
  text-decoration: none;
}

.footer-section ul li a:hover {
  text-decoration: underline;
}

.footer-bottom {
  text-align: center;
  padding-top: 10px;
  font-size: 14px;
  margin-top: 20px;
}

.footer-bottom strong {
  font-weight: bold;
}

/*--------------------------------------------------------------------- style de la liste de transport page cie group ------------------------------------------------------------------------*/

.vehicules-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 20px;
}

.vehicule {
  width: 300px;
  height: 250px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 1px 5px black;
  background-color: #0000008f;
  border: 2px solid rgba(0, 0, 0, 0.486);
}

.vehicule img {
  width: auto;
  height: 50px;
  border-radius: 5px;
  margin-top: 30px;
  margin-right: 30px;
}

.vehicule p {
  margin-top: 10px;
  font-size: 16px;
  color: #ffffff;
  text-shadow: 4px 3px 3px #000000;
}

/*---------------------------------------------------------------------------- liste de l'equipe page cie group ------------------------------------------------------------------------------*/


.photos-container {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1200px;
  flex-wrap: wrap;
  padding: 20px;
}

.photo {
  text-align: center;
  width: 18%;
  background-color: rgba(35, 34, 34, 0.655);
  padding: 10px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgb(0, 0, 0);
  margin: 0;
  box-sizing: border-box;
  transition: transform 0.5s ease;
}

.photo:hover {
  box-shadow: 0 4px 8px rgba(255, 0, 0, 0.655);
  transform: scale(1.2);
}

.photo img {
  width: 100%;
  max-width: 150px;
  margin-right: 30px;
  height: auto;
  border-radius: 50%;
  border: 3px solid #ddd;
}

.photo p {
  margin-top: 10px;
  font-size: 16px;
  color: #ffffff;
  text-align: center;
}

/* Modal (fenêtre contextuelle) */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
  padding-top: 60px;
}

.modal-content {
  background-color: #ffffff;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  max-width: 500px;
}

.close {
  color: #000000;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: rgb(248, 0, 0);
  text-decoration: none;
  cursor: pointer;
}

#modal-name {
  color: black;
  text-align: center;
}

#modal-position {
  color: black;
  text-align: center;
}

#modal-description {
  color: black;
  text-align: center;
}

/*--------------------------------------------------------------------------- style nos destination page cie group ----------------------------------------------------------------------*/

.container-transport {
  width: 1170px;
  padding: 20px;
  height: 535px;
  margin-left: 20px;
}

/* Section principale */
.section-transport {
  background-color: rgba(53, 53, 53, 0.571);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
  width: 1100px;
}

.section-transport h2 {
  font-size: 24px;
  color: white;
  text-shadow: 4px 3px 3px #000000;
}

.section-transport p {
  font-size: 14px;
  color: white;
  line-height: 1.6;
  text-shadow: 4px 3px 3px #000000;
}

/* Cartes partenaires compactes */
.card-container-transport {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.card-transport {
  background-color: #0000008f;
  border-radius: 8px;
  padding: 15px;
  width: 45%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.card-transport img {
  width: 100%;
  max-width: 80px;
  border-radius: 20%;
  margin-bottom: 10px;
}

.card-transport p {
  font-size: 14px;
  color: #ffffff;
  text-align: center;
}

/*------------------------------------------------------------------------ style nos sites logistique page cie group -------------------------------------------------------------------------*/

.logistique {
  background-color: rgba(53, 53, 53, 0.571);
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  max-width: 1200px;
  text-align: center;
}

.logistique h2 {
  font-size: 32px;
  font-weight: bold;
  color: #004d77;
  margin-bottom: 20px;
  text-shadow: 4px 3px 3px #000000;
}

.logistique p {
  font-size: 18px;
  color: white;
  margin-bottom: 30px;
  text-shadow: 4px 3px 3px #000000;
}

.site-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}

.site-list li {
  background-color: #0000003b;
  padding: 20px;
  margin: 10px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 45%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.site-list li:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.site-list h3 {
  font-size: 22px;
  color: #004d77;
  margin-bottom: 10px;
  text-shadow: 4px 3px 3px #000000;
}

.site-list p {
  font-size: 16px;
  color: white;
  text-shadow: 4px 3px 3px #000000;
}

/*------------------------------------------------------------------------ style page de Certifiacations -------------------------------------------------------------------------*/

/* Section des certifications */
.certifications { 
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-left: 120px;
  margin-right: 120px;
  margin-top: 50px;
  margin-bottom: 35px;
}

/* Bloc de chaque certification */
.certification-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: rgba(98, 98, 98, 0.587);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.certification-item img {
  max-width: 45%;
  height: auto;
  border-radius: 8px;
}

.certification-info {
  max-width: 50%;
}

.certification-info ul {
  color: white;
  text-shadow: 0px 1px 1px #000000;
}

.certification-info h2 {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 10px;
  text-shadow: 4px 3px 3px #000000;
}

.certification-info p {
  font-size: 1.1rem;
  color: #ffffff;
  text-shadow: 0px 1px 1px #000000;
}

