* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  color: #EAEAEA;
  font-family: "Avigea", "Courier New", "Arial";
  scroll-behavior: smooth;
}

@font-face {
  font-family: "Avigea";
  src: url(fonts/Avigea.ttf);
}
@font-face {
  font-family: "Caviar Dreams";
  src: url(fonts/CaviarDreams.ttf);
}
a, ul {
  text-decoration: none;
}

body {
  display: grid;
  grid-template-columns: 6% 94%;
}
@media screen and (max-width: 970px) {
  body {
    grid-template-columns: 100%;
  }
}

/* sticky header */
header {
  position: sticky;
  top: 0;
  grid-column: 1/2;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background-color: #080D17;
  border-right: 5px solid;
  border-image: linear-gradient(to bottom, white, #A42C95) 1 100%;
}
@media screen and (max-width: 970px) {
  header {
    flex-direction: row;
    grid-column: 1/1;
    position: sticky;
    top: 0;
    z-index: 10;
    height: 10vh;
    padding: 0px 3% 0px 3%;
    border-right: none;
    border-bottom: 5px solid;
    border-image: linear-gradient(to right, #A42C95, #EAEAEA) 1;
  }
}

header li {
  list-style: none;
  margin: 5px 0px 5px 0px;
}

.fa-bars:last-child {
  display: none;
}
@media screen and (max-width: 970px) {
  .fa-bars:last-child {
    display: block;
    font-size: 30px;
  }
}

.logo {
  margin-top: 10px;
  height: auto;
  width: 50px;
}
@media screen and (max-width: 970px) {
  .logo {
    margin-top: 0px;
  }
}
@media screen and (min-width: 1650px) {
  .logo {
    width: 60px;
  }
}

.nom {
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}
@media screen and (max-width: 970px) {
  .nom {
    display: none;
  }
}

@media screen and (min-width: 1650px) {
  .nav-pages a {
    font-size: 20px;
  }
}

.nav-pages a:hover {
  color: #59BCA4;
}

.nav-pages hr {
  width: 100%;
  height: 2px;
}

@media screen and (max-width: 970px) {
  .nav-pages {
    display: none;
  }
}

.nav-social {
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
  gap: 10px;
  justify-content: space-between;
}
@media screen and (max-width: 970px) {
  .nav-social {
    display: none;
  }
}
@media screen and (min-width: 1650px) {
  .nav-social {
    gap: 15px;
  }
}

.nav-social i {
  font-size: 20px;
}
@media screen and (min-width: 1650px) {
  .nav-social i {
    font-size: 30px;
  }
}

.nav-social i:hover {
  background-image: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  /* fallback */
  background-color: #080D17;
}

/* menu burger */
.fa-bars:hover {
  background-image: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  /* fallback */
  background-color: #080D17;
  cursor: pointer;
}

.overlay {
  height: 0%;
  width: 100%;
  position: fixed;
  z-index: 8;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, #A42C95 25%, #59BCA4 78.12%);
  overflow-y: hidden;
  transition: 0.5s;
}
@media screen and (min-width: 970px) {
  .overlay {
    display: none;
  }
}

.overlay-content {
  position: relative;
  top: 25%;
  width: 100%;
  height: 50vh;
  text-align: center;
}

.overlay a {
  padding: 10px;
  text-decoration: none;
  font-size: 36px;
  color: #EAEAEA;
  display: block;
  transition: 0.3s;
  text-transform: uppercase;
}

.overlay a:hover {
  color: #080D17;
}

.overlay .closebtn {
  position: absolute;
  right: 45px;
  font-size: 60px;
}

@media screen and (max-width: 450px) {
  .overlay {
    overflow-y: auto;
  }
  .overlay a {
    font-size: 20px;
  }
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
}
.socials-burger {
  position: absolute;
  bottom: 0;
  width: 85%;
  margin-left: 7.5%;
  display: flex;
  justify-content: space-between;
}

.socials-burger i {
  font-size: 30px;
}

.socials-burger i:hover {
  cursor: pointer;
  color: #080D17;
}

.rightside-socials {
  width: 80px;
  display: flex;
  justify-content: space-between;
}

/* <-------- home section --------> */
#home {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(330.65deg, #59BCA4 6.8%, rgba(164, 44, 149, 0.74) 24.18%, #080D17 37.26%);
}
@media screen and (max-width: 780px) {
  #home {
    min-height: auto;
    padding-bottom: 90px;
    background: url(media/fond_etoiles.gif);
  }
}

.home-navbar {
  position: relative;
  padding: 0px 50px 0px 50px;
}
@media screen and (max-width: 780px) {
  .home-navbar {
    justify-content: center;
  }
}

main {
  grid-column: 2/3;
  min-height: 100vh;
}
@media screen and (max-width: 970px) {
  main {
    grid-column: 1/1;
    position: relative;
  }
}

h1 {
  color: #A42C95;
  font-weight: 400;
  font-size: 36px;
  letter-spacing: 0.31em;
  padding-top: 20px;
  position: absolute;
}
@media screen and (min-width: 1650px) {
  h1 {
    font-size: 45px;
  }
}

.glow {
  color: #fff;
  animation: glow 1s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6;
  }
  to {
    text-shadow: 0 0 20px #fff, 0 0 30px #59BCA4, 0 0 40px #59BCA4, 0 0 50px #59BCA4, 0 0 60px #59BCA4, 0 0 70px #59BCA4, 0 0 80px #59BCA4;
  }
}
nav {
  padding-top: 30px;
  width: 38%;
  position: absolute;
  right: 50px;
}
@media screen and (max-width: 970px) {
  nav {
    display: none;
  }
}

nav ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  font-size: 18px;
}
@media screen and (min-width: 1300px) {
  nav ul {
    font-size: 22px;
  }
}

nav li {
  display: inline-block;
  position: relative;
  color: #EAEAEA;
}

nav li:after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

nav li:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

nav li:hover {
  background-image: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  /* fallback */
  background-color: #080D17;
}

.presentation {
  display: flex;
  justify-content: space-between;
  margin: 0px 50px 0px 50px;
  padding-top: 12vh;
}
@media screen and (max-width: 780px) {
  .presentation {
    flex-direction: column-reverse;
    align-items: center;
  }
}

.sd {
  margin-top: 22vh;
}
@media screen and (max-width: 780px) {
  .sd {
    margin-top: 50px;
    text-align: center;
  }
}

.sd p:first-child {
  font-size: 30px;
}
@media screen and (max-width: 880px) {
  .sd p:first-child {
    font-size: 22px;
  }
}
@media screen and (min-width: 1650px) {
  .sd p:first-child {
    font-size: 40px;
  }
}

.sd h2 {
  font-size: 50px;
}
@media screen and (max-width: 1080px) {
  .sd h2 {
    font-size: 36px;
  }
}
@media screen and (max-width: 880px) {
  .sd h2 {
    font-size: 30px;
    margin-left: 0;
  }
}
@media screen and (min-width: 1650px) {
  .sd h2 {
    font-size: 60px;
  }
}

.sd p:last-child {
  color: #59BCA4;
  text-transform: uppercase;
  font-size: 68px;
  margin-top: 22px;
}
@media screen and (max-width: 1080px) {
  .sd p:last-child {
    font-size: 50px;
  }
}
@media screen and (max-width: 880px) {
  .sd p:last-child {
    font-size: 40px;
  }
}
@media screen and (min-width: 1650px) {
  .sd p:last-child {
    font-size: 90px;
  }
}
@media screen and (min-width: 1850px) {
  .sd p:last-child {
    font-size: 100px;
  }
}

.portrait {
  margin-top: 15vh;
  margin-right: 35px;
}
@media screen and (max-width: 780px) {
  .portrait {
    margin-top: 60px;
    margin-right: 0;
  }
}

.image-cercle {
  background-size: cover;
  background-position: 50% 50%;
  background-image: url(media/portrait.webp);
  display: inline-block;
  width: 300px;
  height: 300px;
  border: none;
  outline: 4px solid #59BCA4;
  -moz-border-radius: 150px;
  -webkit-border-radius: 150px;
  border-radius: 150px;
  transition: transform 0.2s; /* Animation (rendre la transition plus smooth) */
}
@media screen and (max-width: 880px) {
  .image-cercle {
    width: 250px;
    height: 250px;
    -moz-border-radius: 125px;
    -webkit-border-radius: 125px;
    border-radius: 125px;
  }
}
@media screen and (min-width: 1300px) {
  .image-cercle {
    width: 400px;
    height: 400px;
    -moz-border-radius: 200px;
    -webkit-border-radius: 200px;
    border-radius: 200px;
  }
}
@media screen and (min-width: 1850px) {
  .image-cercle {
    width: 450px;
    height: 450px;
    -moz-border-radius: 225px;
    -webkit-border-radius: 225px;
    border-radius: 225px;
  }
}

.image-cercle:hover {
  transform: scale(1.2); /* (120% zoom) */
}

/* <----- CSS animation logo mouse scroll -----> */
.icon-scroll {
  position: absolute;
  bottom: 4%;
  left: 50%;
  transform: translateX(-50%) scale(2);
  z-index: 9;
}
@media screen and (max-width: 780px) {
  .icon-scroll {
    display: none;
  }
}

.icon-scroll .mouse {
  height: 1.375em;
  width: 0.875em;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2em;
}

.icon-scroll .wheel {
  position: relative;
  display: block;
  height: 0.1875em;
  width: 0.1875em;
  margin: 0.1875em auto 0;
  background: rgba(255, 255, 255, 0.8);
  animation: mouse-wheel 1.2s ease infinite;
  border-radius: 50%;
}

@keyframes mouse-wheel {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(0.375em);
  }
}
@keyframes mouse-scroll {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
/* <---------- About Me ----------> */
#about-me {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(209.07deg, #59BCA4 6.8%, rgba(164, 44, 149, 0.74) 24.18%, #080D17 37.26%);
}
@media screen and (max-width: 780px) {
  #about-me {
    background: #080D17;
    padding-bottom: 90px;
  }
}

.about-me-title-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 50px 0px 50px;
}
@media screen and (max-width: 880px) {
  .about-me-title-section {
    justify-content: start;
  }
}

.am-description {
  margin: 30px 50px 0px 50px;
  position: relative;
  height: 30vh;
}
@media screen and (max-width: 780px) {
  .am-description {
    height: auto;
    margin-bottom: 50px;
  }
}

.am-description p {
  font-family: "Caviar Dreams";
  text-align: justify;
  width: 55%;
}
@media screen and (max-width: 1060px) {
  .am-description p {
    font-size: 14px;
  }
}
@media screen and (max-width: 780px) {
  .am-description p {
    width: 100%;
  }
}
@media screen and (min-width: 1650px) {
  .am-description p {
    font-size: 20px;
  }
}

.am-description p:last-child {
  position: absolute;
  right: 0;
  bottom: 0;
  margin-top: 20px;
}
@media screen and (max-width: 780px) {
  .am-description p:last-child {
    position: relative;
  }
}

.skills {
  margin: 0px 50px 0px 50px;
}

.skills h3 {
  font-size: 55px;
  text-transform: uppercase;
  margin-top: 20px;
}
@media screen and (max-width: 1060px) {
  .skills h3 {
    font-size: 50px;
  }
}
@media screen and (min-width: 1650px) {
  .skills h3 {
    margin-top: 50px;
  }
}

.section-skills {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .section-skills {
    flex-direction: column;
  }
}

.section-skills i {
  font-size: 60px;
  margin-top: 18px;
}
@media screen and (max-width: 1060px) {
  .section-skills i {
    font-size: 52px;
  }
}
@media screen and (min-width: 1650px) {
  .section-skills i {
    font-size: 70px;
  }
}

.skills1 {
  width: 45%;
}
@media screen and (max-width: 780px) {
  .skills1 {
    width: 100%;
  }
}

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

.langages div:nth-of-type(1) i:hover {
  color: #e34c26;
}

.langages div:nth-of-type(2) i:hover {
  color: #2965f1;
}

.langages div:nth-of-type(3) i:hover {
  color: #f0db4f;
}

.langages div:nth-of-type(4) i:hover {
  color: #8993be;
}

.langages div:nth-of-type(5) i:hover {
  color: #00749c;
}

.langages div {
  text-align: center;
  transition: transform 0.2s;
}

.langages div:hover {
  transform: scale(1.2);
}

h5 {
  margin-top: 10px;
}

.skills2 {
  width: 40%;
}
@media screen and (max-width: 780px) {
  .skills2 {
    width: 100%;
  }
}

.softwares {
  display: flex;
  align-items: flex-end;
}

.softwares div {
  text-align: center;
  margin-right: 22px;
  transition: transform 0.2s;
}

.softwares div:hover {
  transform: scale(1.2);
}

.softwares div i {
  text-align: center;
}

.softwares i:hover {
  color: #A259FF;
}

h4 {
  color: #59BCA4;
  font-size: 27px;
}
@media screen and (max-width: 1060px) {
  h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 780px) {
  h4 {
    margin-top: 30px;
  }
}

/* <------- Projects -------> */
#projects {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(330.65deg, #59BCA4 6.8%, rgba(164, 44, 149, 0.74) 24.18%, #080D17 37.26%);
}
@media screen and (max-width: 780px) {
  #projects {
    background: url(media/fond_etoiles.gif);
    padding-bottom: 90px;
  }
}

.projects-title-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 50px 0px 50px;
}
@media screen and (max-width: 880px) {
  .projects-title-section {
    justify-content: start;
  }
}

.projects-title-section hr {
  background-color: #A42C95;
}

.projects-main {
  margin: 55px 50px 0px 50px;
  height: 65vh;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .projects-main {
    flex-direction: column-reverse;
    height: auto;
    margin: 40px 50px 0px 50px;
  }
}

.project-description {
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .project-description {
    width: 100%;
  }
}

.project-description p {
  font-family: "Caviar Dreams";
  text-align: justify;
  margin-top: 18px;
}
@media screen and (max-width: 1150px) {
  .project-description p {
    font-size: 14px;
  }
}
@media screen and (min-width: 1650px) {
  .project-description p {
    font-size: 20px;
  }
}

.project-description h3 {
  font-style: italic;
  text-transform: uppercase;
  font-weight: 400;
  text-align: center;
  font-size: 40px;
  margin-bottom: 15px;
}
@media screen and (max-width: 1150px) {
  .project-description h3 {
    font-size: 35px;
  }
}
@media screen and (min-width: 1650px) {
  .project-description h3 {
    font-size: 50px;
  }
}

.pd {
  display: none;
}

.pd div {
  margin-bottom: 50px;
}

.pd-active {
  display: block;
  display: flex;
  flex-direction: column;
}

.more {
  border: none;
  text-transform: uppercase;
  border-radius: 10px;
  padding: 5px 0px 5px 0px;
  background: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  width: 30%;
  margin-left: 35%;
  text-align: center;
}
@media screen and (max-width: 780px) {
  .more {
    position: relative;
    bottom: 0;
    padding: 5px 10px 5px 10px;
  }
}

.projects-swiper {
  width: 45%;
  display: flex;
}
@media screen and (max-width: 780px) {
  .projects-swiper {
    width: 100%;
    margin-bottom: 30px;
  }
}

.container-without-dots {
  overflow: auto;
  height: 65vh;
  border-radius: 20px;
}

.mySlides {
  display: none;
}

img {
  vertical-align: middle;
}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Next & previous buttons */
/* Position the "next button" to the right */
/* On hover, add a black background color with a little bit see-through */
/* Caption text */
/* Number text (1/3 etc) */
.numbertext {
  color: #EAEAEA;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
  background-color: black;
  border-top-left-radius: 20px;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 12px;
  width: 12px;
  margin: 0 2px;
  background-color: #EAEAEA;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #59BCA4;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 1;
  }
}
/* On smaller screens, decrease text size */
/* <------ Contact ------> */
#contact {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(209.07deg, #59BCA4 6.8%, rgba(164, 44, 149, 0.74) 24.18%, #080D17 37.26%);
}
@media screen and (max-width: 780px) {
  #contact {
    min-height: auto;
    background: linear-gradient(330.65deg, #59BCA4 6.8%, rgba(164, 44, 149, 0.74) 24.18%, #080D17 37.26%);
  }
}

.contact-main {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 65vh;
  margin: 40px 50px 0px 50px;
}
@media screen and (max-width: 780px) {
  .contact-main {
    height: auto;
    gap: 35px;
  }
}

.contact-intro {
  font-family: "Caviar Dreams";
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 780px) {
  .contact-intro {
    font-size: 17px;
  }
}
@media screen and (min-width: 1650px) {
  .contact-intro {
    font-size: 26px;
  }
}

.contact-title-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 50px 0px 50px;
}
@media screen and (max-width: 880px) {
  .contact-title-section {
    justify-content: start;
  }
}

hr {
  width: 80%;
  height: 4px;
  background-color: #59BCA4;
  border: none;
}
@media screen and (max-width: 880px) {
  hr {
    width: 25%;
  }
}

h2 {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 30px;
}
@media screen and (max-width: 880px) {
  h2 {
    font-size: 25px;
    margin-left: 15px;
  }
}

.contact-main h3 {
  text-transform: uppercase;
  font-size: 50px;
  text-align: center;
}
@media screen and (max-width: 780px) {
  .contact-main h3 {
    font-size: 40px;
  }
}
@media screen and (min-width: 1650px) {
  .contact-main h3 {
    font-size: 60px;
  }
}

.contact-info {
  display: flex;
  justify-content: space-evenly;
}
@media screen and (max-width: 780px) {
  .contact-info {
    display: inline-block;
  }
}

@media screen and (max-width: 780px) {
  .card {
    display: flex;
    gap: 10%;
    align-items: center;
    margin-bottom: 20px;
  }
}

.card i {
  font-size: 70px;
}
@media screen and (max-width: 780px) {
  .card i {
    font-size: 50px;
  }
}
@media screen and (min-width: 1650px) {
  .card i {
    font-size: 90px;
  }
}

.card p {
  font-size: 18px;
}
@media screen and (min-width: 1650px) {
  .card p {
    font-size: 22px;
  }
}

.card i:hover {
  background-image: linear-gradient(100deg, #A42C95 30.5%, #59BCA4 71.46%);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  /* fallback */
  background-color: #080D17;
}

.logo-contact {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  transition: transform 0.2s;
}
@media screen and (max-width: 780px) {
  .logo-contact {
    align-content: center;
    margin-bottom: 0;
  }
}

.logo-contact:hover {
  transform: scale(1.2);
}

.copyright {
  position: absolute;
  bottom: 10px;
  right: 18px;
  font-family: "Caviar Dreams";
  font-style: italic;
  font-size: 13px;
}
@media screen and (max-width: 780px) {
  .copyright {
    position: relative;
    bottom: 0;
    right: 0;
    margin-top: 30px;
    text-align: center;
  }
}
@media screen and (min-width: 1850px) {
  .copyright {
    font-size: 15px;
  }
}

/* <------ scrollbar -------> */
/* ! le webkit ne fonctionne pas sur firefox ni edge */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background-color: #080D17;
}
@media screen and (max-width: 780px) {
  ::-webkit-scrollbar-track {
    background: black;
  }
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(120deg, #A42C95 30.5%, #59BCA4 71.46%);
  border-radius: 4px;
}

/*# sourceMappingURL=style.css.map */
