
@import url('https://fonts.googleapis.com/css2?family=Quicksand&display=swap');

body {
    font-family: 'Quicksand', sans-serif;
    overflow-x: hidden;
    color: #2b2b2b;
    background-color: #ffffff;
    height: 100%;
    display: flex;
    flex-direction: column;
}

:root {
    --cl-green: #79dbdf;
    --cl-pink: #dd0a50;
}

.filter-yellow {
    filter: invert(100%) brightness(200%);
}

.filter-white {
    filter: brightness(0) invert(1);
}

.filter-black {
    filter: brightness(0) invert(0);
}

.filter-green {
  filter: invert(75%) sepia(17%) saturate(646%) hue-rotate(144deg) brightness(91%) contrast(85%);
}

.main-content {
  flex: 1 0 auto; /* le contenu principal prend toute la place restante */
}

.logo-floating {
  position: absolute;
  top: 0px; /* ajuste pour faire dépasser sur le body */
  left: 30px; /* ajuste horizontalement */
  visibility: hidden;
}

.logo-floating img {
  height: 150px; /* adapte selon le rendu souhaité */
  max-width: 100%;
}

.video-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1; /* Place la vidéo en arrière-plan */
}
  
.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover; /* Remplissage tout en gardant le ratio */
  z-index: -1;
  background-color: black; /* Couleur de fond si la vidéo ne charge pas */
}

.navbar {
    background-color: rgba(36, 73, 99, 1);
    height: 120px;
}

.navbar .navbar-brand {
    padding-top: 0px;
    text-align: center;
}

.nav-item.active .nav-link {
  color: #93ebfa !important;  /* Couleur bleue Bootstrap par défaut */
  font-weight: bold;
  border-bottom: 2px solid #93ebfa; /* Optionnel pour souligner */
}

.navbar .navbar-brand img {
    height: 140px;
    width: 150px;
}

.navbar .container-fluid .nav-link {
    color: #ffffff;
    font-size: 1.6em;
    line-height: 1.6em;
    text-align: center;  
    vertical-align: middle;
    padding: 1.5em 1.5em 0.625em 1.5em;
}

.navbar .container-fluid .nav-link:hover {
    color: #4dbbb2;
}

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--cl-pink);
}

.navbar-nav .nav-item {
  margin-top: 15px; /* Réduit la marge verticale entre les items */
}

.card-bg-icon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  pointer-events: none;
}

.presentation-section {
  position: relative;
  top: 100px;
  background-color: rgba(36, 73, 99, 0.75);
  color: #ffffff;
  padding: 2rem;
  border-radius: 1rem;
}

.services-section {  
  position: relative;
  top: 100px;
}

.section-footer-space {
  height: 100px;
}

.site-footer {
  position: fixed;
  bottom: 0;
  flex-shrink: 0;
  width: 100%;
  margin-top: auto;
  background-color: #daeaffe5;
  color: rgb(80, 80, 80);
  padding: 2rem 1rem;
  text-align: center;
}

.references-section {  
  position: relative;
  top: 100px;
}

.hero-image-container {
  position: relative;
  width: 100%;
  height: 100vh; /* ou une autre hauteur fixe si tu préfères */
  overflow: hidden;
}

.hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#main-reseau {
  width: 100%;
  line-height: 1.6;
  transition: transform 0.8s ease;
  background-image: linear-gradient(rgba(233, 233, 233, 0.9), rgba(233, 233, 233, 0.9)), url(/images/background_reseaux.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 2rem; /* Pour respirer au-dessus du footer */
}


#main-fibre {
  width: 100%;
  line-height: 1.6;
  transition: transform 0.8s ease;
  background-image: linear-gradient(rgba(233, 233, 233, 0.9), rgba(233, 233, 233, 0.9)), url(/images/background_fibres.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 2rem; /* Pour respirer au-dessus du footer */
}

#main-baie {
  width: 100%;
  line-height: 1.6;
  transition: transform 0.8s ease;
  background-image: linear-gradient(rgba(233, 233, 233, 0.9), rgba(233, 233, 233, 0.9)), url(/images/background_baies.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 2rem; /* Pour respirer au-dessus du footer */
}

#main-projet {
  width: 100%;
  line-height: 1.6;
  transition: transform 0.8s ease;
  background-image: linear-gradient(rgba(233, 233, 233, 0.9), rgba(233, 233, 233, 0.9)), url(/images/background_projets.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 2rem; /* Pour respirer au-dessus du footer */
}

@media (max-width: 991px) {
  .card + .card {
    margin-top: 1rem;
  }

  .logo-floating {
    visibility: visible;
    z-index: 1000;
  }

  .navbar-collapse {
    position: absolute;
    top: 100%; /* Place le menu juste en dessous du bouton hamburger */
    left: 50%; /* Centre le menu horizontalement */
    transform: translateX(-50%); /* Ajuste le centrage */
    width: 100%;
    max-width: 300px; /* Largeur maximale */
    background-color: rgba(206, 249, 255, 0.9); /* Fond blanc pour la lisibilité */
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5); /* Ajoute une légère ombre */
    z-index: 1000; /* Assure que le menu passe au-dessus des autres éléments */
    margin-top: 5px; /* Décalage de 10px sous le bouton */
  }

  .navbar-nav .nav-item {
    margin: 0px 0; /* Réduit la marge verticale entre les items */
  }

  .navbar-nav .nav-link {
    color: rgb(59, 59, 59) !important; /* Forcer la couleur du texte en noir */    
    padding: 0.3em;
  }

  .nav-item.active .nav-link {
    color: #046677 !important;  /* Couleur bleue Bootstrap par défaut */
    font-weight: bold;
    border-bottom: 2px solid #046677; /* Optionnel pour souligner */
  }

  .navbar-nav .nav-item .nav-link:hover {
    color: var(--cl-green) !important; /* Forcer la couleur en vert */
    background-color: #25679c; /* Gris clair */
    border-radius: 5px; /* Arrondir légèrement les bords */
    transition: background-color 0.3s ease, color 0.3s ease; /* Animation fluide */
  }
}
