/* General Style */
body {
    background-color: #f0f8ff; /* Bleu ciel */
    font-family: 'Arial', sans-serif;
    color: #333;
    padding-top: 70px; /* Ajoute un espacement pour éviter que le contenu ne soit masqué par la barre de navigation */
}

.sticky-navbar {
  position: fixed; /* Rend la barre de navigation fixe */
  top: 0; /* Positionnée en haut de l'écran */
  left: 0;
  width: 100%; /* Couvre toute la largeur de l'écran */
  z-index: 1030; /* Priorité pour être au-dessus des autres éléments */
  background: linear-gradient(135deg, #1e90ff, #F88379);
  color: #F8F8FF;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Ombre légère pour une séparation visuelle */
}

.navbar-dark {
  background-color: #121212 !important; /* Couleur sombre proche du noir */
}

.navbar-dark .navbar-nav .nav-link {
  color: #f8f9fa; /* Couleur claire pour le texte */
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: #007bff; /* Couleur au survol */
}


/* Navbar */
.navbar {
  color: #0056b3; /* Bleu clair */
  border-bottom: 2px solid #ddd;
}

.navbar-brand img {
  max-height: 50px;
}

.navbar-nav .nav-link {
  font-weight: bold;
  color: #0056b3; /* Bleu clair */
}

.navbar-nav .dropdown-menu {
  background-color: #f8f9fa; /* Fond clair */
  display: none;
}

.nav-item.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
}

.dropdown-menu { display: none; }


.dropdown-item:hover {
  background-color: #e9ecef; /* Couleur au survol */
}

.btn {
  font-size: 14px;
  padding: 8px 16px;
}

.navbar .ms-auto a {
  margin-left: 10px;
}


/* Buttons */
.btn-primary {
    background-color: #F88379; /* Orange */
    border: none;
    font-weight: bold;
}
.btn-primary:hover {
    background-color: #ff7f50; /* Corail */
}

/* Header */
header {
    background: linear-gradient(135deg, #1e90ff, #F88379);
    color: #F8F8FF;
    text-align: center;
    padding: 100px 0;
    clip-path: ellipse(100% 80% at 50% 0);
}
header h1 {
    font-size: 2.8rem;
    font-weight: bold;
}
header p {
    font-size: 1.2rem;
    margin-top: 10px;
}

/* Section Titles
.section-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #1e90ff;
    margin-bottom: 20px;
}
*/

/* Objectives & Services Sections */
section {
    padding: 60px 0;
}
section p{
    text-align: justify;
}
section.bg-light {
    background-color: black; /* Blanc cassé */
}

.services-section {
  background-color: #f7f9fc; /* Fond clair */
  padding: 50px 20px;
}

.section-title {
  text-align: center;
  font-size: 28px;
  color: #0056b3; /* Bleu du thème */
  margin-bottom: 40px;
}

.services-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* Espacement entre les cartes */
  justify-content: center;
}

.service-card {
  background-color: #F8F8FFfff; /* Fond blanc pour chaque carte */
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  width: 300px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
  transform: scale(1.05); /* Légère mise en valeur au survol */
  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
}

.service-image,
.service-video {
  width: 100%;
  height: 200px;
  object-fit: cover; /* Ajuste l'image ou la vidéo */
}

.service-title {
  font-size: 20px;
  color: #0056b3; /* Bleu du thème */
  margin: 15px 0;
}

.service-description {
  font-size: 16px;
  color: #333333; /* Texte sombre */
  padding: 0 15px;
}

.service-btn {
  display: inline-block;
  margin: 15px 0;
  padding: 10px 20px;
  font-size: 16px;
  color: #F8F8FFfff;
  background-color: #ff6f00; /* Orange du thème */
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}

.service-btn:hover {
  background-color: #e65c00; /* Teinte plus foncée pour le bouton */
}

h4 {
    color: #ff8c00; /* Orange vif */
    font-weight: bold;
}
p {
    font-size: 1rem;
    line-height: 1.6;
}
/* Style de la barre horizontale */
.section-divider {
    border: none;
    height: 9px; /* Épaisseur de la barre */
    background: linear-gradient(to right, #ff9900, #0056b3); /* Dégradé orange à bleu */
    margin: 30px 0; /* Espacement avec les sections */
    width: 100%; /* Barre pleine largeur */
}

/* Media Section */
.media img, .media iframe {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}
.media p {
    color: #666;
}

.footer {
background-color: #222;
color: #F8F8FF;
padding: 40px 20px;
font-family: Arial, sans-serif;
}

.footer .container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer-services,
.footer-links {
flex: 1;
margin: 10px;
}

.footer-services h2 {
font-size: 18px;
margin-bottom: 10px;
}

.collapsible {
margin-bottom: 15px;
}

.collapsible-btn {
background-color: #444;
color: #F8F8FF;
border: none;
padding: 10px;
text-align: left;
width: 100%;
cursor: pointer;
outline: none;
}

.collapsible-btn:hover {
background-color: #555;
}

.collapsible-content {
padding: 10px;
display: none;
background-color: #333;
border-left: 4px solid #007BFF;
}

.collapsible-content p {
margin: 5px 0;
}

.logo {
  width: 20%; /* Le logo occupe 20% de la largeur du conteneur */
  max-width: 200px; /* Largeur maximale pour limiter la taille */
  height: auto; /* Maintenir les proportions */
}

.footer-logo img {
max-width: 120px;
margin-bottom: 15px;
}

.useful-links {
list-style: none;
padding: 0;
}

.useful-links li {
margin-bottom: 10px;
}

.useful-links a {
color: #007BFF;
text-decoration: none;
}

.useful-links a:hover {
text-decoration: underline;
}

.collapsible,
.sub-collapsible {
margin-bottom: 15px;
}

.collapsible-btn,
.sub-collapsible {
background-color: #444;
color: #F8F8FF;
border: none;
padding: 10px;
text-align: left;
width: 100%;
cursor: pointer;
outline: none;
}

.collapsible-btn:hover,
.sub-collapsible:hover {
background-color: #555;
}

.collapsible-content,
.sub-collapsible-content {
padding: 10px;
display: none;
background-color: #333;
border-left: 4px solid #007BFF;
}

.collapsible-content p,
.sub-collapsible-content p {
margin: 5px 0;
}

.content_element-list-item {
    background-color: #f0f8ff; /* Couleur de fond bleu clair */
    border: 1px solid #ccc; /* Bordure grise pour délimiter */
    border-radius: 8px; /* Coins arrondis */
    padding: 16px; /* Espacement interne */
    margin: 8px 0; /* Espacement externe */
}

.content_element-list-item img {
    max-width: 100%; /* L'image occupe toute la largeur disponible */
    border: 2px solid #007bff; /* Bordure bleue autour des images */
    border-radius: 4px;
    margin-bottom: 8px; /* Espacement sous l'image */
}

.content_element-list-item video {
    width: 100%; /* Vidéo ajustée à la largeur */
    border: 2px solid #ff7f50; /* Bordure orange corail */
    margin-bottom: 8px;
}

.content_element-list-item h3 {
    color: #007bff; /* Texte bleu pour les titres */
    margin-bottom: 4px;
}

.content_element-list-item p {
    color: #333; /* Texte gris foncé */
    line-height: 1.5;
}

.content_element-list-item:hover {
    background-color: #d0ebff; /* Fond bleu plus clair */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Effet d'ombre */
    transform: scale(1.02); /* Légère augmentation de la taille */
    transition: all 0.3s ease; /* Transition fluide */
}

/* Responsive Design */
@media (max-width: 768px) {
    header {
        padding: 80px 0;
    }
    header h1 {
        font-size: 2rem;
    }
    .section-title {
        font-size: 2rem;
    }
  .logo {
    width: 150px; /* Plus grand sur les écrans moyens et grands */
  }
}
.sidebar-progress {
  position: fixed;
  top: 100px;
  right: 0;
  width: 220px;
  background-color: rgba(255, 255, 255, 0.95);
  border-left: 4px solid #ff6600;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
  padding: 1rem;
  z-index: 1000;
  border-radius: 15px 0 0 15px;
  font-family: 'Segoe UI', sans-serif;
}

.progress-header {
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: #003366;
  text-align: center;
}

.progress-step {
  display: block;
  padding: 0.6rem 1rem;
  margin: 0.5rem 0;
  background-color: #eeeeee;
  color: #333;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 500;
  position: relative;
  transition: background 0.3s, transform 0.2s;
}

.progress-step:hover {
  background-color: #4da6ff;
  color: white;
  transform: scale(1.03);
}

.progress-step.done {
  background-color: #4da6ff;
  color: white;
}

.progress-step.done::after {
  content: "✓";
  position: absolute;
  right: 12px;
  top: 12px;
  font-size: 1rem;
  color: limegreen;
}

.progress-step.active {
  border: 2px solid #ff6600;
  background-color: #F8F8FF8e1;
}

h3, h2 {
  font-weight: 600;
  color: #004080;
}

p, li, blockquote {
  color: #333;
  line-height: 1.6;
}