*{
    margin : 0;
    padding : 0;
}
.fond{
  background-color: black;
  width:100%;
  height:100%;
}
@font-face {
  font-family: 'Ailerons'; /* Nom de la police */
  src: url(../Ressources/Ailerons.woff) format('woff');
  font-weight: lighter;
  font-style: normal;
}
.background{
    background-image: url(../../images/neptune.jpg);
    background-size:150%;
    background-position: center;
    width:100%;
    height:100%;
    margin-left: 1vw;
}
.bord{
    position: absolute;
    height: 0.5%;
    width: 200vw;
    background: black;
    top: 99.5%;
    
}
.animation {
  opacity: 0; /* L'élément est initialement invisible */
  animation-name: fadeIn; /* Nom de l'animation */
  animation-duration: 1.5s; /* Durée de l'animation (1 seconde dans cet exemple) */
  animation-delay: 0s; /* Délai avant le début de l'animation (0.5 seconde dans cet exemple) */
  animation-fill-mode: forwards; /* Garde la fin de l'animation visible */
}
@keyframes fadeIn {
  from {
      opacity: 0; /* Opacité initiale à 0 */
  }
  to {
      opacity: 1; /* Opacité finale à 1 */
  }
}

.cadre{
    position:relative;
    height:100vh;
    width:100%;
    background-color:black;
    top:00%; 
    overflow: hidden;
}
.opacite{
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%,  rgba(0,0,0,0.7) 50%, rgba(0,0,0,0.95) 70%,  rgba(0,0,0,1) 100%);
    position: absolute;
    height: 20%;
    width: 100vw;
    top:0%;
    display:flex;
    justify-content: center;
    color:white;
    padding-top:1vh;
    font-size: min(max(2vw,20px),40px);
    font-family: 'Exo'
}
.opacite2{
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%,  rgba(0,0,0,0) 100%);
    position: absolute;
    height: 20%;
    width: 100vw;
    top:80%;
}

  .menu{
    position:absolute;
    height : 1.7vh;
    width: 1vw;
    top : 2%;
    right : 2%;
    display: flex;
    flex-direction : column;
    justify-content: space-between;
    z-index:500;
  }
  .barre{
    width: 100%;
    height : 22%;
    background-color:#c9c9c9;
    border-radius: 5px;
  }
  .dropdownmenu{
    position:absolute;
    height : fit-content;
    top : 4vh;
    right : 2vh;
    display: flex;
    justify-content: space-between;
    text-align: right;
    font-family: 'Exo';
    opacity: 0;
    transition : opacity 1s;
  }
 .col{
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    height : fit-content;
    width : fit-content;
    margin-right: 2px;
    font-size: min(max(0.5vw,15px),20px);
    background-color: #101010; 
 }
.dir{
    height : fit-content;
    padding-top: 5px;
    padding-bottom: 5px;
    width : fit-content;
    border-top: 1px solid #000;
    padding-right: 10px;
    padding-left: 10px;
    color:white;
    text-decoration: none;
    align-items: center;
}
.dropdownmenu:hover {
    opacity: 1;
}
.menu:hover + .dropdownmenu{
    opacity: 1;
}
  
.container3{
  position : absolute; 
  top : 3.5%;
  right : 2%;
  height : 25vh;
  width : 7vw;
  display : flex;
  flex-direction : column;
  color:white;
  text-align:center;
  font-size:1.3vmin;
  font-family:'Exo';
  visibility: hidden;
  opacity:0;
  transition: all 0.5s ;
}
.list1{
  width: 100%;
  height:100%;
  border : 1px solid #000;
  display:flex;
  flex-direction:column;
  justify-content: center;
  align-items: center;
  border-radius:5px;
  background-color:#101015;
}
.list2{
  height:100%;
  border : 1px solid #000;
  display:flex;
  flex-direction:column;
  justify-content: center;
  align-items: center;
  border-radius:5px;
  background-color:#101015;
}
.contain{
  display:flex;
  flex-direction : column;
  position : absolute;
  right:100%;
  width : 7vw;
  height :6.25vh;
  transform:translateY(25%);
  visibility: hidden;
  opacity:0;
  transition: all 0.5s ;
}
.list1:nth-child(7){
  cursor: default;
}
.list1:nth-child(7):hover  .contain{
  visibility: visible;
  opacity: 1;
}

.menu:hover + .container3{
  visibility: visible !important;
  opacity: 1;
}
.container3:hover{
  visibility: visible !important;
  opacity: 1;
}
.container3 > a{
  color:white;
  text-decoration: none;
}
.contain > a{
  color:white;
  text-decoration: none;
}
.list1:hover{
  background-color:#151518;
}
.list2:hover{
  background-color:#151518;
}
.boutonback{
  color:white;
  height: 30px;
  width: 60px;

  border : 1px solid #202020;
  display:block;
  text-align: center;
  font-size : 45px;
  text-decoration : none;
  top:2%;
  left:2%;
  position:absolute;
  border-radius : 5px;
  transition:all 0.1s;
}
span{
  transform: translate(-55%,-20%);
  position:absolute;
}
.boutonback:hover{
  transform : scale(1.1);
}
body{
  background-color:#001;
}
.trigger{
  position : absolute;
  height : 3vh;
  width : 3vh;
  border: 2px solid gray;
  transition:all 0.2s;
  cursor:pointer;
  transform:rotate(45deg) scale(0.7);
  top:50%;
  left:50%;
  z-index:50;
}
.losange{
  position : absolute; 
  height : 1vh;
  width : 1vh;
  background-color:white;
  transition:all 1s;
  transform:translate(100%,100%)
}
.trigger::before{
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate3d(-50%, -50%, 0px);
  transition: all 0.4s;
  width: 100%;
  border: 2px solid red;
  opacity:0;
  box-shadow: 0 0 5px 2px #f00;
}

.trigger:hover .losange{
  transform:translate(100%,100%) rotate(270deg);
}
.trigger:hover{
  border : 2px solid red;
  transform:scale(0.80) rotate(45deg);
}
.trigger:hover::before{
  opacity:0.2;
  height: 150%;
  width: 150%;
}
.test::after{
  content: "";
  border-bottom: 2px solid white;
  width:0%;
  top:50%;
  left:50%;
  transform-origin: left ;
  position: absolute;
  transition: all 0.4s ease-in;
  transform : rotate(-60deg);
  animation-name: appear2;
  animation-duration: 0.4s ;
  animation-fill-mode: forwards;
  animation-delay: 1s;
}
.test{
  position : absolute;
  top:50.2%;
  left:50.1%;
  height :3vh;
  width : 3vh;
  transform : rotate(-45deg) translateY(-60%);
  
}
.test::before{
  border-bottom: 2px solid  white;
  position: absolute;
  bottom:474%;
  left:295%;
  transition: all 0.4s ease-out;
  transition-delay: all 0.4s;
  color: rgba(255, 255, 255, 0);
  font-family: sans-serif;
  animation-name: appear ;
  animation-duration: 1s;
  animation-delay: 1.4s;
  animation-fill-mode: forwards;
  content: "";
  font-size : 2.2vmin;
  text-align:center;
}

@keyframes appear {
  0% {
      width:0%; /* Opacité initiale à 0 */
  }
  70%{
    width:500%;
    color: rgba(255, 255, 255,0);
  }
  100% {
      width:500%; /* Opacité finale à 1 */
      content: "Site portfolio";
      color: rgba(255, 255, 255,1);
  }
}
@keyframes appear2 {
  from {
      width:0%; /* Opacité initiale à 0 */
  }
  to {
      width:500%; /* Opacité finale à 1 */
  }
}
