@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=TT+Commons:wght@400;600;700&display=swap');


:root{
  --color-bleu: #207AB5;
  --color-rose: #ff0266;
  --color-vert: #5CB737;
  --color-blanc: #fafefe;
  --color-gris: #e6e6e6;
  --color-bleu-2: #1D3BA4;
  --color-bleu-f: #000b22;
  --color-gris-2: #888d90;
  --color-orange: #ff9900;
  --color-jaune: #ffcc00;
  --color-vert-2: #009933;
  --color-rouge: #ff3300;
  --color-bleu-3: #006699;
  --color-bleu-4: #002851;
  --color-pg-1: #175200;
  --color-pg-2: rgb(58, 0, 35);;
  --color-pg-3: rgb(0, 18, 39);
  --color-pg-4: #00243d;
  --color-pg-5: rgb(56, 22, 0);
  --color-pg-6: rgb(0, 53, 58);
  --color-ctit-1: rgb(92, 183, 55);
  --color-ctit-2: rgb(207, 36, 139);
  --color-ctit-3: rgb(4, 55, 112);
  --color-ctit-4: #207AB5;
  --color-ctit-5: rgb(200, 81, 3);
  --color-ctit-6: rgb(62, 228, 248);
}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    background-color: var(--color-bleu-f);
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */

  }
  


header {
    font-size: 24px;
    font-weight: bold;
}

/* Polices pour les titres */
h1, h2 {
    font-weight: bold;
}

h3, h4, h5, h6 {
    font-family: 'TT Commons', sans-serif;
    font-weight: 600;
}
  
  
.loadered {
  border: 16px solid var(--color-blanc); /* Couleur de fond */
  border-top: 16px solid var(--color-bleu); /* Couleur du haut */
  border-radius: 50%;
  width: 100px;
  height: 100px;
  animation: spin 2s linear infinite; /* Animation du loader */
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 9;
  margin-left: -50px; /* Pour centrer le loader */
  margin-top: -50px; /* Pour centrer le loader */
 
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

  .nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: relative;
    /* background-color: #eefeff; */

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 0 2em;
  }

  #nav::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.9)), url("../public/bgs/bg.png");
    z-index: 1;
  }
  .slider {
    /* display: flex; */
    /* flex-direction: column;
    justify-content: center;
    align-items: center; */
    /* height: 120vh; */
    position: relative;
    /* background-color: #eefeff; */

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 0 2em;
  }
  .nav h1 {
    font-family: "Josefin Sans", sans-serif;
    font-size: 5vw;
    margin: 0;
    padding-bottom: 0.5rem;
    letter-spacing: 0.5rem;
    color: #03dac6;
    transition: all 0.3s ease;
    z-index: 3;
  }

  .nav img{
      z-index: 3;
  }
  /*h1:hover {*/
  /*  transform: translate3d(0, -10px, 22px);*/
  /*  color: var(--color-vert);*/
  /*}*/
 #tab-svelte h1{
  font-family: "Josefin Sans", sans-serif;
    font-size: 5vw;
    margin: 0;
    padding-bottom: 0.5rem;
    letter-spacing: 0.5rem;
    color: var(--color-vert);
    transition: all 0.3s ease;
    z-index: 3;
  
 }
  #tab-svelte p{
    font-family: "ROBOTO", sans-serif;
    color: var(--color-bleu-2);
    /* font-size: 1.4rem; */
    /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
   }
  
  .slider h2 {
    font-family: "TT Commons", sans-serif;
    color: var(--color-bleu-4);
    z-index: 4;
  }
  h3.span {
    font-size: 2vw;
    letter-spacing: 0.7em;
    font-family: "ROBOTO", sans-serif;
    font-weight: 300;
    color: #faebd7;
    z-index: 4;
  }
  /* span:hover {
    color: #ff0266;
    font-weight: 500;
    font-size: 2.2vw;
  } */
  
  a {
    text-decoration: none;
  }
  
  .nav-container {
    display: flex;
    flex-direction: row;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 75px;
    box-shadow: 20px 20px 50px rgba(0, 0, 0, 0.4);
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.9));
    z-index: 10;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }
  
  .nav-container--top-first {
    position: fixed;
    top: 75px;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }
  
  .nav-container--top-second {
    position: fixed;
    top: 0;
    backdrop-filter: blur(10px);
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8));
  }
  .nav-tab {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    color: var(--color-bleu);
    transition: all 0.5s ease;
 
  }
  
  .nav-tab:hover {
    color: #1e1f26;
    background: rgba(65, 201, 255, 0.5);
    ;
    transition: all 0.5s ease;
  }
  
  .nav-tab-slider {
    position: absolute;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #03dac6;
    transition: left 0.3s ease;
  }
  .background {
    position: absolute;
    height: 90vh;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: auto;
  }
  /* @media only screen and (min-width: 800px) {
    .nav h1,
    .slider h1 {
      font-size: 3rem;
    }
  
    .nav h2,
    .slider h2 {
      font-size: 3vw;
    }
  
    .nav-tab {
      font-size: 1rem;
    }
  } */

  /* @media only screen and  (min-width: 360px) {
    .nav h1,
    .slider h1 {
      font-size: 8vw;
    }
  
    .nav h2,
    .slider h2 {
      font-size: 2vw;
      letter-spacing: 0.2vw;
    }
  
    .nav-tab {
      font-size: 1.2vw;
    }
  } */
  .background {
    position: absolute;
    height: 100vh;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
  }
  .loader span {
    color: #faebd7;
    text-shadow: 0 0 0 #faebd7;
    -webkit-animation: loading 2s ease-in-out infinite alternate;
  }
  
  @-webkit-keyframes loading {
    to {
      text-shadow: 20px 0 70px #ff0266;
      color: #ff0266;
    }
  }
  .loader span:nth-child(2) {
    -webkit-animation-delay: 0.1s;
  }
  .loader span:nth-child(3) {
    -webkit-animation-delay: 0.2s;
  }
  .loader span:nth-child(4) {
    -webkit-animation-delay: 0.3s;
  }
  .loader span:nth-child(5) {
    -webkit-animation-delay: 0.4s;
  }
  .loader span:nth-child(6) {
    -webkit-animation-delay: 0.5s;
  }
  .loader span:nth-child(7) {
    -webkit-animation-delay: 0.6s;
  }
  .loader span:nth-child(8) {
    -webkit-animation-delay: 0.7s;
  }
  .loader span:nth-child(9) {
    -webkit-animation-delay: 0.8s;
  }
  
  .loader span:nth-child(10) {
    -webkit-animation-delay: 0.9s;
  }
  .loader span:nth-child(11) {
    -webkit-animation-delay: 1s;
  }
  .loader span:nth-child(12) {
    -webkit-animation-delay: 1.1s;
  }
  .loader span:nth-child(13) {
    -webkit-animation-delay: 1.2s;
  }
  .loader span:nth-child(14) {
    -webkit-animation-delay: 1.3s;
  }
  .loader span:nth-child(15) {
    -webkit-animation-delay: 1.4s;
  }
  .loader span:nth-child(16) {
    -webkit-animation-delay: 1.5s;
  }
  .loader span:nth-child(17) {
    -webkit-animation-delay: 1.6s;
  }
  .loader span:nth-child(18) {
    -webkit-animation-delay: 1.7s;
  }
  .loader span:nth-child(19) {
    -webkit-animation-delay: 1.8s;
  }
  .loader span:nth-child(20) {
    -webkit-animation-delay: 1.9s;
  }
  .loader span:nth-child(21) {
    -webkit-animation-delay: 2s;
  }
  .loader span:nth-child(22) {
    -webkit-animation-delay: 2.1s;
  }
  .loader span:nth-child(23) {
    -webkit-animation-delay: 2.2s;
  }
  .loader span:nth-child(24) {
    -webkit-animation-delay: 2.3s;
  }
  .loader span:nth-child(25) {
    -webkit-animation-delay: 2.4s;
  }
  .loader span:nth-child(26) {
    -webkit-animation-delay: 2.5s;
  }
  .loader span:nth-child(27) {
    -webkit-animation-delay: 2.6s;
  }
  .loader span:nth-child(28) {
    -webkit-animation-delay: 2.7s;
  }
  .loader span:nth-child(29) {
    -webkit-animation-delay: 2.8s;
  }
  .loader span:nth-child(30) {
    -webkit-animation-delay: 2.9s;
  }
  .loader span:nth-child(31) {
    -webkit-animation-delay: 3s;
  }
  .loader span:nth-child(32) {
    -webkit-animation-delay: 3.1s;
  }
  .loader span:nth-child(33) {
    -webkit-animation-delay: 3.2s;
  }
  .loader span:nth-child(34) {
    -webkit-animation-delay: 3.3s;
  }
  .loader span:nth-child(35) {
    -webkit-animation-delay: 3.4s;
  }
  
  /* button styling  */

  .button-29 {
    align-items: center;
    appearance: none;
    background-image: radial-gradient(100% 100% at 100% 0, #5adaff 0, #5468ff 100%);
    border: 0;
    border-radius: 6px;
    box-shadow: rgba(45, 35, 66, .4) 0 2px 4px,rgba(45, 35, 66, .3) 0 7px 13px -3px,rgba(58, 65, 111, .5) 0 -3px 0 inset;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: "JetBrains Mono",monospace;
    height: 48px;
    justify-content: center;
    line-height: 1;
    list-style: none;
    overflow: hidden;
    padding-left: 16px;
    padding-right: 16px;
    position: relative;
    text-align: left;
    text-decoration: none;
    transition: box-shadow .15s,transform .15s;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    white-space: nowrap;
    will-change: box-shadow,transform;
    font-size: 18px;
  }
  
  .button-29:focus {
    box-shadow: #3c4fe0 0 0 0 1.5px inset, rgba(45, 35, 66, .4) 0 2px 4px, rgba(45, 35, 66, .3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset;
  }
  
  .button-29:hover {
    box-shadow: rgba(45, 35, 66, .4) 0 4px 8px, rgba(45, 35, 66, .3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset;
    transform: translateY(-2px);
  }
  
  .button-29:active {
    box-shadow: #3c4fe0 0 3px 7px inset;
    transform: translateY(2px);
  }

  /* ----- */

  /* start service gride and tiles .... */

  #tab-svelte{
    /* height: 120vh; */
    position: relative;
    /* background-color: #eefeff; */

    
    background-repeat: no-repeat;
    
    background-position: center;
    text-align: center;
    padding: 0 2em;
  }

  #tab-esbuild{
    /* height: 120vh; */
    position: relative;
    /* background-color: #eefeff; */

  
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 0 2em;
  }


  #tab-esbuild::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(6, 10, 18, 0.4); 
    z-index: 1;
}

#tab-esbuild .container{
  position: relative;
  z-index: 2;
}

#tab-esbuild h1{
  
  font-family: "Josefin Sans", sans-serif;
    font-size: 5vw;
    margin: 0;
    padding-bottom: 0.5rem;
    letter-spacing: 0.5rem;
    color: var(--color-blanc);
    transition: all 0.3s ease;

}



#myCarousel .carousel-inner{
 min-height: max-content;
}

#myCarousel img{
  width: auto;
  height: 60px;
}


  #esbuild-desktop .card {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    min-height: 250px;
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;

}

#esbuild-mobile .card {
  position: relative;
  border-radius: 15px;
  min-height: 100%;
  margin-right: 5px;
  margin-left: 5px;
  background-size: cover;
  background-position: center;
  transition: all 0.3s ease;
}

#esbuild-mobile .carousel-control-prev{
  z-index: 5;
  left: -10vw;
}
#esbuild-mobile .carousel-control-next{
  z-index: 5;
  right: -10vw;
}

.backgrounded {
    position: absolute;
    top: -2px;
    left: 0;
    width: 100%;
    height: 105%; /* Ajustez la hauteur selon vos besoins */
    filter: opacity(0.3); /* Ajustez l'opacité ici */
}

#tab-esbuild .content {
    position: relative;
    z-index: 4; /* Assure que le texte est au-dessus de l'image */
    opacity: 1;
    padding: 16px;
}

#tab-esbuild .content h4{
  font-family: 'ROBOTO', sans-serif;
  font-size: 1.5rem;
  color: var(--color-bleu);
  margin-bottom: 0.5rem;
  opacity: 1;
  font-weight: bold;
  transition: all 0.3s ease;
}
#tab-esbuild .content p {
    font-family: 'ROBOTO', sans-serif;
    font-size: 1rem;
    line-height: 1.2; 
    color: #003366;
    transition: all 0.3s ease;
}



#esbuild-desktop .overlay {
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(22, 22, 23, 0.3); /* Masque assombrissant */
    opacity: 0.4; 
    transition: opacity 0.3s ease; /* Transition douce */
}

#esbuild-mobile .overlay {
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(242, 242, 242, 0.7); /* Masque assombrissant */
  border-radius: 15px;
  z-index: 3;
  transition: opacity 0.3s ease; /* Transition douce */
}



/* .card:hover .overlay, .card:hover .content {
    opacity: 1; 
  } */
  #esbuild-desktop .card:hover .overlay {
    opacity: 0.1;
}


#esbuild-desktop .card:hover {
   transform: translate3d(0, -3px, 0);
   box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
  }
  /* ------- */

  /* Section societe */

    .value-card {
        transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
        border: none;
        border-radius: 15px;
        overflow: hidden;
    }
    
    #next-desktop .value-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
    
    .value-card .card-body {
        text-align: center;
        padding: 2rem;
    }
    
    .value-card i {
        color: #0056b3; /* Ajustez cette couleur selon votre palette */
    }
    
    .value-card .card-title {
        font-family: 'Dosis', sans-serif;
        font-weight: bold;
        margin-top: 1rem;
    }
    
    /* Si vous voulez ajouter un arrière-plan d'image subtil */
    #tab-next {
        background-size: cover;
        position: relative;
        /* height: 140vh; */
    }
    
    #tab-next::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(255,255,255,0.4); /* Ajustez l'opacité selon vos besoins */
        z-index: 1;
    }
    
    #tab-next .container {
        position: relative;
        z-index: 2;
    }

    #tab-next h1{
  
      font-family: "Josefin Sans", sans-serif;
        font-size: 5vw;
        margin: 0;
        padding-bottom: 0.5rem;
        letter-spacing: 0.5rem;
        color: var(--color-rose);
        transition: all 0.3s ease;

  }

  #tab-next h4{
    font-family: "ROBOTO", sans-serif;
    font-weight: bold;
    color: var(--color-pg-2);
    /* font-size: 1.4rem; */
    /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
   }

  #next-desktop p{
    font-family: "ROBOTO", sans-serif;
    color: var(--color-pg-4);
    font-size: 1.2rem;
    /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
   }

   /* #next-mobile .carousel-inner {
    min-height: max-content;
   } */

   #next-mobile .value-card {
    margin-left: 5px;
    margin-right: 5px;
    font-size: 1rem;
   }

   #next-mobile p{
    font-family: "ROBOTO", sans-serif;
    color: var(--color-pg-4);
    font-size: 1rem;
    /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
   }

   #next-mobile .carousel-control-prev{
    z-index: 5;
    left: -10vw;
    
  }
  #next-mobile .carousel-control-next{
    z-index: 5;
    right: -10vw;
    

  }

  #next-mobile .carousel-control-prev-icon,
  #next-mobile .carousel-control-next-icon {
    background-color: var(--color-bleu-4);
    border-radius: 3px;
  }

  /* ------------- */


  /* Section Technologies */

  #tab-typescript {
    background-size: cover;
    position: relative;
    /* height: 140vh; */
}

#tab-typescript::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(210, 255, 213, 0.7); /* Ajustez l'opacité selon vos besoins */
  z-index: 1;
}

#tab-typescript .container {
  position: relative;
  z-index: 2;
}

  #tab-typescript h1{
  
    font-family: "Josefin Sans", sans-serif;
      font-size: 5vw;
      margin: 0;
      padding-bottom: 0.5rem;
      letter-spacing: 0.5rem;
      color: var(--color-bleu);
      z-index: 30;
      transition: all 0.3s ease;
      
    
   
}

#tab-typescript h5{
  font-family: "ROBOTO", sans-serif;
  
  font-weight: bold;
  color: var(--color-pg-4);
  /* font-size: 1.4rem; */
  /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
 }

#tab-typescript p{
  font-family: "ROBOTO", sans-serif;
  background: rgb(210,255,213);
  background: linear-gradient(30deg, rgba(210,255,213,0.4) 0%, rgba(227,255,229,0) 30%, rgba(250,255,250,0) 100%);
  color: var(--color-pg-4);
  font-size: 1.4rem;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
  padding: 8px;
  /* text-shadow: -1px 2px 5px rgba(33, 67, 187, 0.95); */
 }

 #tab-typescript .carousel-item img{
  height: 100%;
  width: 100%;
  
}

#tab-typescript .carousel-item {
  display: none;
  height: 100px;
  
}

#tab-typescript .carousel-item.active {
  display: block; 
 
}
/* .carousel-item.fade {
  opacity: 0;

} */

  /* ---------------------------- */


  /* Section Contact */

  #tab-vite {
    
    background-size: cover;
    position: relative;
    /* height: 140vh; */
}

#tab-vite::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(8, 11, 26, 0.457); /* Ajustez l'opacité selon vos besoins */
  z-index: 1;
}

#tab-vite h1{
  
  font-family: "Josefin Sans", sans-serif;
    font-size: 5vw;
    margin: 0;
    padding-bottom: 0.5rem;
    letter-spacing: 0.5rem;
    color: var(--color-blanc);
    z-index: 30;
    transition: all 0.3s ease;

}

#tab-vite .container {
  position: relative;
  z-index: 2;
}

#tab-vite .card {
  background-color: var(--color-bleu-f);
  border: 1px solid #00040e;
  margin-top: auto;
  margin-bottom: auto;
}

#tab-vite .card-title{
  color: var(--color-blanc);
  font-family: "Montserrat", sans-serif;
  /* font-size: 2.5rem;
   */
  border-bottom: 1px solid #00040e;
}

#tab-vite .card-text{
  color: var(--color-gris);
  font-family: "ROBOTO", sans-serif;
  font-size: 1.2rem;

  margin-bottom: 0.5rem;
  border-bottom: 1px solid #00040e;
}

#contactForm{
  box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
  padding: 1.6rem;
  filter: blur(0px);
}

#contactForm label{
  color: var(--color-blanc);
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
}

#contactForm input{
  background-color: var(--color-bleu-f);
  border: 1px solid #00040e;
  color: var(--color-blanc);
  font-family: "Montserrat", sans-serif;
}

#contactForm input::placeholder{
  color: var(--color-gris-2);
  font-family: "Montserrat", sans-serif;
}

#contactForm textarea{
  background-color: var(--color-bleu-f);
  border: 1px solid #00040e;
  color: var(--color-blanc);
  font-family: "Montserrat", sans-serif;
}

#contactForm textarea::placeholder{
  color: var(--color-blanc);
  font-family: "Montserrat", sans-serif;
}

.button-36 {
  background-color: var(--color-blanc);
}
  /* ---------------------------------------- */

/* button contact form */
.button-36 {
  background-image: linear-gradient(92.88deg, #455EB5 9.16%, #4a43cc 43.89%, #493fd7 64.72%);
  border-radius: 2px;
  border-style: none;
  box-sizing: border-box;
  color: #FFFFFF;
  cursor: pointer;
  flex-shrink: 0;
  font-family: "Inter UI","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;
  font-size: 16px;
  font-weight: 500;
  height: 3rem;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
  text-align: center;
  text-shadow: rgba(0, 0, 0, 0.25) 0 3px 8px;
  transition: all .5s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.button-36:hover {
  box-shadow: rgba(63, 96, 205, 0.5) 0 1px 30px;
  transition-duration: .1s;
}

@media (min-width: 768px) {
  .button-36 {
    padding: 0 2.6rem;
  }
}
  /* -------------------------------------------- */

  /* footer */


  .footer{
    background: #0d1117;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    font: bold 16px sans-serif;
    padding: 55px 50px;
    color:#fff!important;
    
  }
  
  #tab-footer {
    background: url("../public/bgs/bg-footer.png") no-repeat center center;
    background-size: cover;
    position: relative;
    /* height: 140vh; */
  }

  #tab-footer::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(6, 7, 16, 0.9); /* Ajustez l'opacité selon vos besoins */
    z-index: 1;
  }

  #tab-footer .container {
    position: relative;
    z-index: 2;
  }

  .footer .footer-left,
  .footer .footer-center,
  .footer .footer-right{
    display: inline-block;
    vertical-align: top;
  }
  
  /* Footer left */
  
  .footer .footer-left{
    width: 40%;
  }
  
  
  .footer h3{
    color:  #ffffff;
    font: normal 36px 'ROBOTO', sans-serif;
    margin: 0;
  }
  
  .footer h3 span{
    color:  teal;
  }
  
  /* Footer links */
  
  .footer .footer-links{
    color:  #ffffff;
    margin: 20px 0 12px;
    padding: 0;
  }
  
  .footer .footer-links a{
    display:inline-block;
    line-height: 1.8;
    font-weight:400;
    text-decoration: none;
    color:  inherit;
  }
  
  .footer .footer-name{
    color: teal;
    font-size: 14px;
    font-weight: normal;
    margin: 0;
  }
  
  /* Footer Center */
  
  .footer .footer-center{
    width: 35%;
  }
  
  .footer .footer-center i{
    background-color:  #33383b;
    color: #ffffff;
    font-size: 25px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    text-align: center;
    line-height: 42px;
    margin: 10px 15px;
    vertical-align: middle;
  }
  
  .footer .footer-center i.fa-envelope{
    font-size: 17px;
    line-height: 38px;
  }
  
  .footer .footer-center p{
    display: inline-block;
    color: #ffffff;
    font-weight:400;
    vertical-align: middle;
    margin:0;
  }
  
  .footer .footer-center p span{
    display:block;
    font-weight: normal;
    font-size:14px;
    line-height:2;
  }
  
  .footer .footer-center p a{
    color:  teal;
    text-decoration: none;;
  }

  
  
  .footer .footer-links a:before {
    content: "|";
    font-weight:300;
    font-size: 20px;
    left: 0;
    color: #fff;
    display: inline-block;
    padding-right: 5px;
  }
  
  .footer .footer-links .link-1:before {
    content: none;
  }
  
  /* Footer Right */
  
  .footer .footer-right{
    width: 20%;
  }
  
  .footer .footer-about{
    line-height: 20px;
    color:  #92999f;
    font-size: 13px;
    font-weight: normal;
    margin: 0;
  }
  
  .footer .footer-about span{
    display: block;
    color:  #ffffff;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
  }
  
  .footer .footer-socials{
    margin-top: 25px;
  }
  
  .footer .footer-socials a{
    display: inline-block;
    font-size: 35px;
    cursor: pointer;
    color: #ffffff;
    text-align: center;
    line-height: 35px;
    margin-right: 5px;
    margin-bottom: 5px;
  }
  
  .footer .logo {
      max-width: 100px;
      height: 50px;
      width: 50px;
      border-radius: 50%; 
      margin-bottom: 15px;
  }
  
  
  @media (max-width: 800px) {
  
    .footer{
      font: bold 14px sans-serif;
    }
  
    .footer .footer-left,
    .footer .footer-center,
    .footer .footer-right{
      display: block;
      width: 100%;
      margin-bottom: 40px;
      text-align: center;
    }
  
    .footer .footer-center i{
      margin-left: 0;
    }
  
  }
  /* ------------------------ */

  /* media query */
  
  @media (max-width: 426px) {
    .nav h1 {
      font-size: 9vw;
    }

    .nav span {
      letter-spacing: 0.17rem;

    }

    .background{
        z-index: 2;
    }
    
  
    .nav h2,
    .slider h2 {
      font-size: 3vw;
    }
  
    .nav-tab {
      font-size: 1rem;
    }
  }

  @media only screen and (max-width: 767px) {

    #firstParagraph {
      background: linear-gradient(to right, rgba(242, 254, 238,0.4), rgba(242, 254, 238, 0.8));
      padding: 0px 8px ;
      border-radius: 5px;
      box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
      
    }
    #tab-typescript .techsed{
      scale: 0.6;
    }

    #tab-next h4 {
      font-size: 1rem;
    }

    #tab-next {
      min-height: 90vh;
    }

    #tab-esbuild {
      min-height: 80vh;
    }

    #esbuild-mobile {
      display: block;
    }

    #esbuild-desktop {
      display: none;
    }

    #next-desktop {
      display: none;
    }

    #next-mobile {
      display: block;
    }

    .tech-title-desktop {
      display: none;
    }

    .tech-title-mobile {
      display: block;
    }

    #tab-typescript p {
      font-size: 0.9rem;
    }
    
    #tab-vite .card-text{
      font-size: 1rem;
    }
  }

  @media only screen and (max-width: 338px) {
    #tab-esbuild {
      min-height: 125vh;
    }

    #tab-next {
      min-height: 140vh;
    }

    #tab-vite .card-text{
      font-size: 0.8rem;
    }
  
  }
 
  @media only screen and (min-width: 768px) {

    #firstParagraph {
      font-size: 1.4rem;
    }

    #secondParagraph{
      font-size: 1.4rem;
     }
    
     #esbuild-mobile {
      display: none;
    }

    #esbuild-desktop {
      display: block;
    }

    #next-mobile {
      display: none;
    }

    #next-desktop {
      display: block;
    }

    .tech-title-desktop {
      display: block;
    }

    .tech-title-mobile {
      display: none;
    }
  }
  
  /* ------------------------------- */
  
  .circle1-container {
  position: relative;
  width: 320px;
  height: 320px;
  margin-bottom: 20px;
}

.circle1 {
  box-shadow: 0 0 15px rgb(0, 17, 31);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(
    #ff3d3d 0deg 51.43deg,
    #ffaf4d 51.43deg 102.86deg,
    #006b3e 102.86deg 154.29deg,
    #6cff4f 154.29deg 205.71deg,
    #4df0ff 205.71deg 257.14deg,
    #836dff 257.14deg 308.57deg,
    #ff5eff 308.57deg 360deg
  );
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
}

.circle1:hover {
  animation: changeParts 6s ease-in-out forwards infinite;
  transition: 6s;
  background: linear-gradient();
  cursor: pointer;
}

.showing1 {
  position: absolute !important;
  font-size: 20px;
  width: 10%;
  height: 40%;
  right: 220px;
  text-align: center;
  color: white;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transform-origin: 80px 65px;
}

.showing1:nth-child(1) {
  transform: rotate(-1.5deg) translateX(85%) translateY(-76%);
}

.showing1:nth-child(2) {
  transform: rotate(0deg) translateX(390%) translateY(-80%);
}

.showing1:nth-child(3) {
  transform: rotate(0deg) translateX(600%) translateY(-20%);
}

.showing1:nth-child(4) {
  transform: rotate(0deg) translateX(530%) translateY(55%);
}

.showing1:nth-child(5) {
  transform: rotate(0deg) translateX(250%) translateY(90%);
}

.showing1:nth-child(6) {
  transform: rotate(0deg) translateX(-20%) translateY(60%);
}

.showing1:nth-child(7) {
  transform: rotate(0deg) translateX(-120%) translateY(-20%);
}

.showing1:nth-child(8) {
  transform: rotate(0deg) translateX(80%) translateY(-80%);
}

.showing1:hover {
  color: var(--color-bleu);
  transition: 0.5s;
  font-size: 22px;
}

.content-info-boxs {
  background: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center;
}
s