@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Dancing+Script:wght@400;700&family=Kalam:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Dancing+Script:wght@400;700&family=Kalam:wght@300&family=Tangerine:wght@700&display=swap'); 
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Dancing+Script:wght@400;700&family=Elsie:wght@400;900&family=Kalam:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Dancing+Script:wght@400;700&family=Elsie:wght@400;900&family=Kalam:wght@300&display=swap');  
*{
  padding: 0px;
  margin: 0px;

}

/* Style global pour la barre de navigation */
/* Style de la navigation */
.nav-bar {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fff;
  box-shadow: 0px 4px 10px rgba(184, 203, 79, 0.938);
}

.menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
  height: 80px;
}

.menu-img img {
  width: 150px;
  height: auto;
}

.droite {
  display: flex;
  gap: 30px;
}

.droite li {
  list-style: none;
  position: relative; /* Nécessaire pour les sous-menus */
}

nav ul li a {
  text-decoration: none;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  padding: 10px 15px;
  border-radius: 5px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

nav ul li a:hover {
  background-color: rgb(101, 177, 179);
  color: white;
}

/* Style des menus déroulants */
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  background-color: #fff;
  list-style: none;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  padding: 10px 0;
  min-width: 120px;
  white-space: nowrap;
  width: max-content;
}

.dropdown:hover .dropdown-menu {
  display: block;
}

.dropdown-menu li {
  position: relative;
  padding: 0;
}

.submenu {
  position: absolute;
  top: 0;
  left: 100%;
  display: none;
  background-color: #fff;
  list-style: none;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  padding: 10px 0;
}

.dropdown-menu li:hover .submenu {
  display: block;
}

.dropdown-menu li a {
  padding: 10px 20px;
  display: block;
  color: #5bbdb5;
  width: 100%;
  box-sizing: border-box;
}

.dropdown-menu li a:hover {
  background-color: rgb(101, 177, 179);
  color: white;
}



.avant-banner{
  background-color: rgba(185, 203, 74, 0);
}
.text{
  display:flex;
  gap: 45px;
  margin: 65px;
  position: relative;
}

.text-right span{
  margin-left:300px;
  display: flex;
  font-weight: 900;
}
.text-left span{
  font-size: 15px;
  margin-left: 25px;
  display: block;
  
}

.bg{
  border: 50%;
  background-image: url("images/472572948_585622510879627_6719358161359407616_n.jpg");
  padding: 372px;
  height: 150px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  animation: translation 5s linear infinite ;
  position: relative;
  overflow: hidden;
}

@keyframes translation {
  0%{
      transform: perspective(1000px) translate3d(0px,0px,0px);
  }
  50%{
      transform: perspective(1000px) translate3d(0px,0px,-50px);
      
  }
  100%{
      transform: perspective(1000px) translate3d(0px,0px,0px);
      
  }
}


.bg:hover{
  box-shadow: 0px 6px 40px 10px rgb(101, 177, 179);
  transform: translate(50px 50px);
}

.banner{
  padding: 10px;
}
.banner p{
  padding: 120px;
  color: #5bbdb5;
  font-size: 25px;
  margin-left: 329px;
  margin-top: -220px;
  position: relative;
}

.nos-formation p{
  text-align: center;
  font-size: 1.8rem; /* Taille de police plus grande */
  font-weight: bold; /* Texte en gras */
  line-height: 1.5; /* Meilleur espacement entre les lignes */
  padding: 1px;
  margin: 80px 100px;
  box-shadow: 1px 1px 20px 9px rgba(185, 203, 74, 0.705);
}




.element-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 20px;
  background-color: #f9f9f9;
  margin: 20px auto;
  border-radius: 10px;
}

.flex1, .flex2, .flex3, .flex4 {
  flex: 1;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(101, 177, 179, 0.3);
  transition: transform 0.3s, box-shadow 0.3s;
}

.flex1:hover, .flex2:hover, .flex3:hover, .flex4:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.title {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #bed000;
  margin-bottom: 10px;
  text-transform: uppercase;
}

h4 {
  font-size: 1.25rem;
  color: #bed000;
  margin-bottom: 10px;
}

p {
  font-size: 1rem;
  line-height: 1.6;
  color: #5bbdb5;
}


.Information-text p{
  text-align: center;
  font-size: 1rem; /* Taille de police plus grande */
  font-weight: bold; /* Texte en gras */
  line-height: 1.5; /* Meilleur espacement entre les lignes */
  padding: 1px;
  margin: 80px 100px;
  box-shadow: 1px 1px 20px 9px rgba(185, 203, 74, 0.705);
  
}
.telecharger input{
 
  margin-left: 580px;
  color:white !important;
  font-size: 15px;
  box-shadow:1px 0px 10px 8px rgba(185, 203, 74, 0.705);
  padding: 4px 56px;
  margin-top: -25px;
  border-radius: 36px;
  border: 8px double white;
  background-color: #bed000;
}

.propos{  display:flex;
  flex-wrap: nowrap;
  gap:2rem ;
  
  
}

.image-propos img{ 
  max-width: 518px;
  min-width: auto;
  padding: 11px;
  margin: 35px;
  flex-wrap: wrap;
  border: 8px solid  rgb(101, 177, 179);
  box-shadow:0px 0px 18px 8px rgba(101, 177,179, 0.905);
}

.propos .propos-text{
  margin: 8px 4px;
  font-family:'Times New Roman', Times, serif;    
  font-size: 16px;
  line-height: 2.4;
}

.propos-text p{
  font-size: 2rem;
}

.Mission{
  display: flex;
  flex-wrap: nowrap;
  gap: 5rem;

}

.Mission-image img{ 
  max-width: 500px;
  min-width: auto;
  padding: 15px;
  margin: 43px;
  flex-wrap: wrap;
  border: 8px solid  #bed000;
  box-shadow:0px 0px 18px 8px rgba(185, 203, 74, 0.905);
}


.Mission-text{
  margin: 29px 0px;
  font-family:'Times New Roman', Times, serif;    
  font-size: 16px;
  line-height: 2.4;
}

.Mission-text p{
  font-size: 2rem;
}





.Ancien-etudiant-text p{
  text-align: center;
  font-size: 1.8rem; /* Taille de police plus grande */
  font-weight: bold; /* Texte en gras */
  line-height: 1.5; /* Meilleur espacement entre les lignes */
  padding: 1px;
  margin: 80px 100px;
  box-shadow: 1px 1px 20px 9px rgba(185, 203, 74, 0.705);
}
.Ancien-etudiant{
  display: flex;
  flex-wrap: wrap;
  gap: 13rem;
  margin: 25px;
}
.AT{
  width: 245px;
  background-color: #fff;
   box-shadow: 1px 0px 10px 8px rgba(185, 203, 74, 0.705);
}
.d{
  animation-duration: 5s;
  animation-name: glissement;
  animation-iteration-count: infinite;
  
}
.d{
  animation-direction: normal;
  animation: translation 5s linear infinite ;

}
@keyframes glissement {
  from {
    margin-left: 100%;
    width: 100%;
  }

  to {
    margin-left: 0%;
    width: 100%;
  }
}
.AT p{
  text-align: center;
}
.AT img{
  
  position: relative;
  width: 210px; 
  height: 150px; 
  overflow: hidden;
  border-radius: 100%;
  margin: 15px;
  margin-left: 45px;
}

.logo { margin:10px;
      background-color: rgba(250, 250, 250, 0.041);
      box-shadow: 1px 0px 10px 8px rgba(101, 177, 179, 0.041);
}
.logo-img {
 padding-left: 550px;
 position: relative;
}

.cfpp {
  position: relative;
  margin-top: -75px;
 padding-left: 5px;
 color: lightslategray;
}
.copyright{
  padding-left: 95px;
  
}
.right{
  margin: 10px;
  color: #5bbdb5;  
}
.made{
  margin: 12px;
  color: #5bbdb5;
}

.partenaire-text p{
  text-align: center;
  font-size: 1.8rem; /* Taille de police plus grande */
  font-weight: bold; /* Texte en gras */
  line-height: 1.5; /* Meilleur espacement entre les lignes */
  padding: 1px;
  margin: 80px 100px;
  box-shadow: 1px 1px 20px 9px rgba(185, 203, 74, 0.705);
}

.w3-card-4  {
  box-shadow: 1px 0px 10px 8px rgba(185, 203, 74, 0.26);
}
/*-------------Offres--------------------*/
.Offre {
            margin-bottom: 60px;
        }

        h1 {
            text-align: center;
            font-size: 48px;
            margin-bottom: 60px;
            color: #5bbdb5;
        }
 h1 .highlight {
            color: #bed000;
        }

        .pricing-cards {
            display: flex;
            gap: 30px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .card {
            background: white;
            border-radius: 15px;
            padding: 40px 30px;
            width: 350px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            display: flex;
            flex-direction: column;
            align-items: center;
            border: 2px solid #5bbdb5;
        }

        .icon {
            width: 80px;
            height: 80px;
            margin-bottom: 20px;
            position: relative;
        }

        .icon svg {
            width: 100%;
            height: 100%;
        }

        .plan-name {
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 20px;
        }

        .plan-name.entry {
            color: #bed000;
        }

        .plan-name.max {
            color: #5bbdb5;
        }

        .plan-name.max-plus {
            color: #bed000;
        }

        .price-box {
            border-radius: 10px;
            padding: 20px 40px;
            margin-bottom: 30px;
            width: 100%;
            text-align: center;
        }

        .price-box.entry {
            background-color: #bed000;
        }

        .price-box.max {
            background-color: #5bbdb5;
        }

        .price-box.max-plus {
            background-color: #bed000;
        }

        .price-label {
            font-size: 18px;
            font-weight: bold;
            
        }

        .price {
            font-size: 56px;
            font-weight: bold;
            
            line-height: 1;
        }

        .price-suffix {
            font-size: 18px;
            
        }

        .features {
            list-style: none;
            margin-bottom: 30px;
            width: 100%;
        }

        .features li {
            padding: 12px 0;
            display: flex;
            align-items: center;
            gap: 10px;
            color: black;
        }

        .features li::before {
            content: "📡";
            font-size: 18px;
        }

        .features li.cloud::before {
            content: "☁️";
        }

        .features li.control::before {
            content: "🔒";
        }

        .features li.netmail::before {
            content: "📧";
        }

        .features li.netcloud::before {
            content: "☁️";
        }

        .cta-button {
            background: white;
            color: black;
            padding: 15px 40px;
            border: 2px solid #5bbdb5;
            border-radius: 30px;
            text-decoration: none;
            font-weight: bold;
            transition: all 0.3s;
            cursor: pointer;
        }

        .cta-button:hover {
            background: rgba(185, 203, 74, 0.1);
            border-color: #bed000;
        }

        @media (max-width: 768px) {
            h1 {
                font-size: 32px;
            }

            .pricing-cards {
                gap: 20px;
            }

            .card {
                width: 100%;
                max-width: 350px;
            }
        }
/*----------------------------------------*/

/*-------stats-section-------------------*/
.stats-section {
            background-color: rgba(101, 177, 179, 0.55);
            padding: 80px 20px;
            position: relative;
            overflow: hidden;
            margin-top: 60px;
            margin-bottom: 60px;
        }

        /* Image de fond avec opacité */
        .stats-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('images/2151615073.jpg');
            background-size: cover;
            background-position: center;
            opacity: 0.45;
            z-index: 0;
        }

        /* Overlay de couleur par-dessus l'image */
        .stats-section::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(101, 177, 179, 0.219) 0%, rgba(185, 203, 74, 0.274) 10%);
            z-index: 1;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 30px;
        }

        .stat-card {
           
            
            border-radius: 15px;
            padding: 35px 25px;
            transition: all 0.3s ease;
        }

        .stat-card:hover {
            transform: translateY(-5px);
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(91, 189, 181, 0.3);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .stat-icon {
            width: 50px;
            height: 50px;
            margin-bottom: 20px;
        }

        .icon-wrapper {
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .stat-card:nth-child(1) .icon-wrapper { background: rgba(185, 203, 74, 0.15); }
        .stat-card:nth-child(2) .icon-wrapper { background: rgba(101, 177, 179, 0.15); }
        .stat-card:nth-child(3) .icon-wrapper { background: rgba(185, 203, 74, 0.15); }
        .stat-card:nth-child(4) .icon-wrapper { background: rgba(101, 177, 179, 0.15); }

        .stat-icon svg {
            width: 30px;
            height: 30px;
        }

        .stat-number {
            font-size: 42px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
            letter-spacing: -1px;
        }

        .stat-label {
            font-size: 15px;
            color: rgba(255, 255, 255, 0.7);
            line-height: 1.4;
        }

        /* Couleurs des icônes */
        .stat-card:nth-child(1) svg { fill: #bed000; }
        .stat-card:nth-child(2) svg { fill: #5bbdb5; }
        .stat-card:nth-child(3) svg { fill: #bed000; }
        .stat-card:nth-child(4) svg { fill: #5bbdb5; }

        @media (max-width: 768px) {
            .stats-section {
                padding: 60px 15px;
            }

            .stats-grid {
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 20px;
            }

            .stat-card {
                padding: 25px 20px;
            }

            .stat-number {
                font-size: 36px;
            }

            .stat-label {
                font-size: 14px;
            }
        }
/*--------stats-section------------------*/
 footer {
            position: relative;
            color: white;
            padding: 60px 20px 30px;
            overflow: hidden;
        }

        .footer-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        .footer-background img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .footer-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, 
                rgba(91, 189, 181, 0.85) 0%, 
                rgba(185, 203, 74, 0.75) 100%);
            z-index: 2;
        }

        .footer-content {
            position: relative;
            z-index: 3;
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1.2fr 1fr 1fr;
            gap: 50px;
            margin-bottom: 40px;
        }

        .footer-section h3 {
            color: white;
            margin-bottom: 25px;
            font-size: 24px;
            font-weight: 600;
        }

        .logo-section {
            display: flex;
            flex-direction: column;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 0;
            margin-bottom: 25px;
        }

        .logo img {
            max-width: 250px;
            height: auto;
        }

        .logo-section p {
            line-height: 1.8;
            margin-bottom: 25px;
            color: white;
            font-size: 15px;
        }

        .social-icons {
            display: flex;
            gap: 15px;
        }

        .social-icon {
            width: 40px;
            height: 40px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #5bbdb5;
            text-decoration: none;
            font-weight: bold;
            transition: all 0.3s;
        }

        .social-icon:hover {
            background: rgba(255, 255, 255, 0.9);
            transform: translateY(-3px) scale(1.1);
        }

        .contact-info-item, .hours-info-item {
            margin-bottom: 20px;
            display: flex;
            align-items: flex-start;
            gap: 15px;
        }

        .contact-icon {
            width: 40px;
            height: 40px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 20px;
        }

        .contact-details {
            flex: 1;
        }

        .contact-details p, .hours-details p {
            margin: 0;
            line-height: 1.6;
            color: white;
            font-size: 15px;
        }

        .contact-details strong, .hours-details strong {
            display: block;
            margin-bottom: 5px;
            font-size: 14px;
            opacity: 0.9;
        }

        .hours-info-item {
            margin-bottom: 15px;
        }

        .hours-details p {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .footer-bottom {
            position: relative;
            z-index: 3;
            max-width: 1200px;
            margin: 0 auto;
            padding-top: 30px;
            border-top: 1px solid rgba(255, 255, 255, 0.3);
            text-align: center;
            font-size: 14px;
            color: white;
        }

        @media (max-width: 968px) {
            .footer-content {
                grid-template-columns: 1fr 1fr;
                gap: 40px;
            }

            .logo-section {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 640px) {
            .footer-content {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .logo-section {
                grid-column: 1;
            }
        }
/*-------------section service-----------*/
.service {
            margin-top: 60px;
            margin-bottom: 60px;
        }

        .container-service {
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-header-service {
            text-align: center;
            margin-bottom: 50px;
        }

        .section-subtitle {
            color: #bed000;
            font-size: 14px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 10px;
        }

        .section-title {
            color: #5bbdb5;
            font-size: 36px;
            font-weight: bold;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 25px;
        }

        .service-card {
            background: white;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .card-image {
            width: 100%;
            height: 500px;
            position: relative;
            overflow: hidden;
        }

        .card-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .service-card:hover .card-image img {
            transform: scale(1.1);
        }

        .card-icon {
            position: absolute;
            bottom: -25px;
            left: 50%;
            transform: translateX(-50%);
            width: 50px;
            height: 50px;
            background: #bed000;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 15px rgba(185, 203, 74, 0.3);
            z-index: 10;
        }

        .card-icon svg {
            width: 28px;
            height: 28px;
            fill: white;
        }

        .card-content {
            padding: 40px 25px 30px;
            text-align: center;
        }

        .card-title {
            font-size: 20px;
            font-weight: bold;
            color: #5bbdb5;
            margin-bottom: 12px;
        }

        .card-description {
            
            color: black;
            line-height: 1.6;
        }

        @media (max-width: 768px) {
            body {
                padding: 60px 15px;
            }

            .section-title {
                font-size: 28px;
            }

            .services-grid {
                grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
                gap: 20px;
            }

            .card-content {
                padding: 35px 20px 25px;
            }
        }

        @media (max-width: 480px) {
            .services-grid {
                grid-template-columns: 1fr;
            }
        }
/*-------------section service-----------*/

/*---------------section galérie----------*/
.gallery-section {
            padding: 80px 20px;
            background: linear-gradient(to bottom, #ffffff 0%, rgba(101, 177, 179, 0.05) 100%);
        }

        .container {
            max-width: 1400px;
            margin: 0 auto;
        }

        .section-header {
            text-align: center;
            margin-bottom: 50px;
        }

        .section-subtitle {
            color: #bed000;
            font-size: 14px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 10px;
        }

        .section-title {
            color: #5bbdb5;
            font-size: 40px;
            font-weight: bold;
            margin-bottom: 15px;
        }

        .section-description {
            color: #000000;
            font-size: 16px;
            max-width: 600px;
            margin: 0 auto;
        }

        /* Galerie en grille */
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 12px;
            cursor: pointer;
            aspect-ratio: 4/3;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .gallery-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .gallery-item:hover img {
            transform: scale(1.1);
        }

        .gallery-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%);
            opacity: 0;
            transition: opacity 0.3s ease;
            display: flex;
            align-items: flex-end;
            padding: 20px;
        }

        .gallery-item:hover .gallery-overlay {
            opacity: 1;
        }

        .overlay-text {
            color: white;
            font-size: 18px;
            font-weight: bold;
        }

        /* Carrousel d'images */
        .carousel-section {
            margin-top: 60px;
        }

        .carousel-wrapper {
            position: relative;
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 60px;
        }

        .carousel-container {
            overflow: hidden;
            border-radius: 15px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
        }

        .carousel-track {
            display: flex;
            transition: transform 0.5s ease;
        }

        .carousel-slide {
            min-width: 100%;
            position: relative;
        }

        .carousel-slide img {
            width: 100%;
            height: 500px;
            object-fit: cover;
            display: block;
        }

        .carousel-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
            color: white;
            padding: 30px;
        }

        .caption-title {
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 8px;
        }

        .caption-description {
            font-size: 14px;
            opacity: 0.9;
        }

        /* Flèches de navigation */
        .carousel-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 50px;
            height: 50px;
            background: white;
            border: none;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s;
            z-index: 10;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

        .carousel-arrow:hover {
            background: #bed000;
            transform: translateY(-50%) scale(1.1);
        }

        .carousel-arrow:hover svg {
            fill: white;
        }

        .carousel-arrow.left {
            left: 0;
        }

        .carousel-arrow.right {
            right: 0;
        }

        .carousel-arrow svg {
            width: 24px;
            height: 24px;
            fill: #5bbdb5;
            transition: fill 0.3s;
        }

        /* Indicateurs */
        .carousel-indicators {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 25px;
        }

        .indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(101, 177, 179, 0.3);
            cursor: pointer;
            transition: all 0.3s;
        }

        .indicator.active {
            background: #bed000;
            width: 30px;
            border-radius: 6px;
        }

        /* Bouton "Voir plus" */
        .view-more-btn {
            display: block;
            margin: 50px auto 0;
            padding: 15px 40px;
            background: #bed000;
            color: white;
            border: none;
            border-radius: 30px;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 4px 15px rgba(185, 203, 74, 0.3);
        }

        .view-more-btn:hover {
            background: #5bbdb5;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(185, 203, 74, 0.4);
        }

        @media (max-width: 768px) {
            .gallery-section {
                padding: 60px 15px;
            }

            .section-title {
                font-size: 32px;
            }

            .gallery-grid {
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                gap: 15px;
            }

            .carousel-wrapper {
                padding: 0 50px;
            }

            .carousel-slide img {
                height: 350px;
            }

            .carousel-arrow {
                width: 40px;
                height: 40px;
            }
        }

        @media (max-width: 480px) {
            .gallery-grid {
                grid-template-columns: 1fr;
            }

            .carousel-wrapper {
                padding: 0 40px;
            }

            .carousel-slide img {
                height: 250px;
            }
        }
/*--------------secftion galérie-----------*/

/* Modifications des valeurs fixes en valeurs relatives */
.element-flex {
  max-width: 1200px;
  width: 90%;
  margin: 20px auto;
}

.flex1, .flex2, .flex3, .flex4 {
  flex: 1 1 250px; /* minimum 250px, peut grandir et rétrécir */
}

.propos {
display:flex;
  flex-wrap: nowrap;
  gap:2rem ;
}

.image-propos img {
  max-width: 518px;
  min-width: auto;
  padding: 11px;
  margin: 35px;
  flex-wrap: wrap;
  border: 8px solid  #bed000;
  box-shadow:0px 0px 18px 8px rgba(185, 203, 74, 0.905);
}

.Mission {
    display: flex;
  flex-wrap: nowrap;
  gap: 5rem;
}

.Mission-image img {
max-width: 500px;
  min-width: auto;
  padding: 15px;
  margin: 55px;
  flex-wrap: wrap;
  border: 8px solid  #bed000;
  box-shadow:0px 0px 18px 8px rgba(185, 203, 74, 0.905);
}

/* Ajustement des marges et paddings en valeurs relatives */
.nos-formation p {
  margin: 5vh auto;
  width: 90%;
  max-width: 1200px;
}

.AT {
  width: 100%;
  max-width: 300px;
}

/* Media queries */
@media screen and (max-width: 1024px) {
  .image-propos img,
  .Mission-image img {
    max-width: 100%;
  }
  
  .propos,
  .Mission {
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .propos,
  .Mission {
    flex-direction: column;
    align-items: center;
  }
  
  .propos-text,
  .Mission-text {
    text-align: center;
    margin: 1rem;
  }
}

/* Ajout au début du fichier pour éviter le scroll horizontal */
* {
  box-sizing: border-box;
  max-width: 100%;
}

body {
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Ajustement des conteneurs principaux */
.nav-bar {
  width: 100%;
  padding: 0 1rem;
}

.text {
  width: 100%;
  padding: 0 1rem;
  margin: 2rem 0;
}

.text-right span {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

.banner p {
  width: 100%;
  padding: 1rem;
  margin: 0 auto;
  max-width: 1200px;
}

/* Ajustement des sections avec flex */
.element-flex,
.propos,
.Mission,
.Ancien-etudiant {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

/* Media query pour les petits écrans */
@media screen and (max-width: 768px) {
  .text-right span {
    margin-left: 0;
  }
  
  .banner p {
    padding: 1rem;
    margin: 0;
  }
  
  .element-flex,
  .propos,
  .Mission,
  .Ancien-etudiant {
    padding: 0.5rem;
  }
  
  .AT {
    margin: 0 auto;
  }
  
  .telecharger input {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 80%;
    max-width: 300px;
  }
}

/* Ajustement pour les très petits écrans */
@media screen and (max-width: 480px) {
  .nav-bar {
    padding: 0 0.5rem;
  }
  
  .menu-img img {
    width: 100px;
  }
  
  .element-flex,
  .propos,
  .Mission,
  .Ancien-etudiant {
    padding: 0.25rem;
  }
}

/* Ajustement global des images */
img {
  max-width: 100%;
  height: auto;
}



/* Media queries pour les images */
@media screen and (max-width: 768px) {
  .image-propos img,
  .Mission-image img {
    max-width: 100%;
    height: auto;
    margin: 0.5rem auto;
  }
  
  .AT img {
    width: 120px; /* Encore plus petit sur mobile */
    height: 120px;
    margin-left: auto;
    margin-right: auto;
  }
  
  
}

@media screen and (max-width: 480px) {
  .AT img {
    width: 100px; /* Plus petit sur très petits écrans */
    height: 100px;
  }
  

  
  .menu-img img {
    width: 80px;
  }
}


/* Ajustement du footer */
.logo {
  margin: 1rem auto;
  padding: 1rem;
  text-align: center;
}

.logo-img {
  padding: 0;
  text-align: center;
}

.logo-img img {
  max-width: 200px;
  margin: 0 auto;
  display: block;
}

.cfpp {
  text-align: center;
  margin: 1rem 0;
  padding: 0 1rem;
}

.copyright {
  text-align: center;
  padding: 0.5rem;
}

.right, .made {
  text-align: center;
  margin: 0.5rem;
}

/* Media queries pour les ajustements responsifs */
@media screen and (max-width: 768px) {
  .Ancien-etudiant {
    gap: 1.5rem;
    padding: 0.5rem;
  }
  
  .Ancien-etudiant-text p {
    margin: 1rem auto;
    padding: 0.5rem;
  }
  
  .AT {
    padding: 0.5rem;
  }
  
  .logo-img img {
    max-width: 150px;
  }
}

@media screen and (max-width: 480px) {
  .Ancien-etudiant {
    gap: 1rem;
  }
  
  .AT {
    max-width: 250px;
  }
  
  .Ancien-etudiant-text p {
    font-size: 1.2rem;
    margin: 0.5rem auto;
  }
  
  .logo-img img {
    max-width: 120px;
  }
  
  .cfpp, .copyright, .right, .made {
    font-size: 0.9rem;
  }
}

/* Style responsive pour w3-card-4 */
.w3-card-4 {
  width: 75%; /* Largeur par défaut pour grands écrans */
  margin: 0 auto;
  box-shadow: 1px 0px 10px 8px rgba(185, 203, 74, 0.26);
}

@media screen and (max-width: 768px) {
  .w3-card-4 {
    width: 100%; /* Pleine largeur sur mobile */
    margin: 0;
    padding: 0;
  }
}

/* Style du menu mobile */
.menu-toggle {
  display: none;
}

@media screen and (max-width: 768px) {
  .menu {
    height: auto;
    padding: 1rem;
    position: relative;
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 10px;
  }

  .menu-toggle span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #bed000;
    transition: all 0.3s ease;
  }

  .droite {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: white;
    flex-direction: column;
    padding: 1rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
  }

  .droite.active {
    display: flex;
  }

  .dropdown-menu {
    position: static;
    box-shadow: none;
    width: 100%;
    display: none;
    padding: 0.5rem 0;
    background-color: rgba(101, 177, 179, 0.05);
  }

  .dropdown-menu.active {
    display: block;
  }

  .submenu {
    position: static;
    box-shadow: none;
    width: 100%;
    display: none;
    padding: 0.5rem 0 0.5rem 1rem;
    background-color: rgba(101, 177, 179, 0.05);
  }

  .submenu.active {
    display: block;
  }

  .droite li {
    width: 100%;
    text-align: left;
    padding: 0.5rem 1rem;
  }

  .dropdown > a::after {
    content: '▼';
    margin-left: 0.5rem;
    font-size: 0.8em;
  }

  .dropdown-menu li > a::after {
    content: '▼';
    margin-left: 0.5rem;
    font-size: 0.8em;
  }
}

/* ============================================
   STYLES POUR LA SECTION PARTENAIRES
   ============================================ */

/* Conteneur principal de la section partenaires */
.partenaires-section {
  padding: 3rem 0; /* Augmentation du padding vertical pour plus d'espace */
  background-color: white;
}

/* Style du titre des partenaires */
.partenaires-title {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
  color: #0f1111;
}

/* Couleur pour NET */
.net-color {
  color: #bed000; /* RGB(185, 203, 74) */
}

/* Couleur pour COM */
.com-color {
  color: #5bbdb5; /* RGB(101, 177, 179) */
}

/* Wrapper du carrousel avec positionnement relatif pour les boutons */
.partenaires-carousel-wrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem 50px;
  min-height: 150px; /* Hauteur minimale augmentée pour plus d'espace vertical */
}

/* Conteneur du carrousel avec overflow hidden pour masquer les éléments en dehors */
.partenaires-carousel-container {
  overflow: hidden;
  position: relative;
  padding: 20px 0; /* Padding vertical augmenté pour plus d'espace */
}

/* Grille flexible pour les logos des partenaires (défilement horizontal) */
.partenaires-grid {
  display: flex;
  gap: 2rem;
  align-items: center;
  transition: transform 0.5s ease; /* Animation fluide lors du défilement */
  will-change: transform; /* Optimisation des performances */
}

/* Style de chaque logo partenaire */
.partenaire-logo {
  flex: 0 0 auto; /* Empêche la réduction de taille */
  width: 180px;
  height: 120px; /* Hauteur augmentée de 80px à 120px */
  object-fit: contain; /* Maintient les proportions */
  transition: transform 0.3s ease;
  padding: 15px; /* Padding augmenté */
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Effet hover sur les logos */
.partenaire-logo:hover {
  transform: scale(1.05); /* Légère augmentation au survol */
  box-shadow: 0 4px 15px rgba(185, 203, 74, 0.3);
}

/* Style des boutons de navigation (précédent/suivant) */
.partenaire-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* Centrage vertical */
  background-color: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(101, 177, 179, 0.3);
  border-radius: 50%; /* Bouton circulaire */
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10; /* Au-dessus des autres éléments */
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Effet hover sur les boutons */
.partenaire-btn:hover {
  background-color: rgb(101, 177, 179);
  border-color: rgb(101, 177, 179);
  box-shadow: 0 4px 12px rgba(101, 177, 179, 0.3);
}

/* Changement de couleur de l'icône au survol */
.partenaire-btn:hover svg {
  fill: white;
}

/* Style des icônes SVG dans les boutons */
.partenaire-btn svg {
  width: 24px;
  height: 24px;
  fill: rgb(101, 177, 179);
  transition: fill 0.3s ease;
}

/* Positionnement du bouton précédent à gauche */
.partenaire-btn.prev-btn {
  left: 0;
}

/* Positionnement du bouton suivant à droite */
.partenaire-btn.next-btn {
  right: 0;
}

/* Conteneur des indicateurs de progression */
.partenaires-indicators {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 25px; /* Espacement au-dessus des indicateurs */
  padding: 10px 0;
}

/* Style de chaque indicateur (point) */
.partenaire-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%; /* Forme circulaire */
  background: rgba(101, 177, 179, 0.3); /* Couleur par défaut */
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Style de l'indicateur actif (position actuelle du carrousel) */
.partenaire-indicator.active {
  background: rgb(101, 177, 179); /* Couleur active */
  width: 30px; /* Largeur augmentée pour montrer la position active */
  border-radius: 6px; /* Forme rectangulaire arrondie quand actif */
}

/* ============================================
   MEDIA QUERIES - RESPONSIVE DESIGN
   ============================================ */

/* Adaptations pour tablettes et écrans moyens */
@media screen and (max-width: 768px) {
  .partenaires-section {
    padding: 2rem 0; /* Padding réduit mais toujours augmenté */
  }

  .partenaires-carousel-wrapper {
    padding: 1rem 40px;
    min-height: 140px; /* Hauteur minimale ajustée pour tablette */
  }

  .partenaires-carousel-container {
    padding: 15px 0; /* Padding vertical réduit sur tablette */
  }

  .partenaire-logo {
    width: 160px;
    height: 110px; /* Hauteur maintenue élevée même sur tablette */
    padding: 15px;
  }

  .partenaire-btn {
    width: 40px;
    height: 40px;
  }

  .partenaire-btn svg {
    width: 20px;
    height: 20px;
  }
}

/* Adaptations pour smartphones et petits écrans */
@media screen and (max-width: 480px) {
  .partenaires-section {
    padding: 1.5rem 0; /* Padding réduit sur mobile */
  }

  .partenaires-carousel-wrapper {
    padding: 1rem 35px;
    min-height: 130px; /* Hauteur minimale ajustée pour mobile */
  }

  .partenaires-carousel-container {
    padding: 10px 0; /* Padding vertical réduit sur mobile */
  }

  .partenaires-grid {
    gap: 1.5rem; /* Espacement réduit entre les logos */
  }

  .partenaire-logo {
    width: 140px;
    height: 100px; /* Hauteur maintenue pour la lisibilité */
    padding: 15px;
  }

  .partenaire-btn {
    width: 35px;
    height: 35px;
  }

  .partenaire-btn svg {
    width: 18px;
    height: 18px;
  }

  .partenaires-title {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 0 1rem;
  }

  /* Indicateurs légèrement plus petits sur mobile */
  .partenaire-indicator {
    width: 10px;
    height: 10px;
  }

  .partenaire-indicator.active {
    width: 25px;
  }
}

/* Media queries pour la bannière */
@media screen and (max-width: 768px) {
  .bg {
    padding: 100px;
    height: 250px;
    background-attachment: scroll;
    animation: none; /* Désactive l'animation sur tablette */
  }

  .text {
    margin: 30px 15px;
  }

  .text-right span {
    margin-left: 0;
    text-align: center;
    font-size: 1.2rem;
  }

  .banner p {
    padding: 15px;
    font-size: 18px;
    margin: 0;
    text-align: center;
  }
}

@media screen and (max-width: 480px) {
  .bg {
    padding: 50px;
    height: 200px;
    margin-top: 60px; /* Espace pour le menu fixe */
  }

  .text {
    margin: 20px 10px;
  }

  .text-right span {
    font-size: 1rem;
  }

  .banner p {
    padding: 10px;
    font-size: 16px;
  }
}