/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Overpass&family=Rowdies&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bungee&display=swap');

:root {
    --white: #FFFFFF;
    --purple: #610094;
    --dark-purple: #4200FF;
    --very-dark-purple: #13002B;
}

/* Reset CSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ===== Scrollbar CSS ===== */
  /* Firefox */
  * {
    scrollbar-width: auto;
    scrollbar-color: #610094 #ffffff;
  }

  /* Chrome, Edge, and Safari */
  *::-webkit-scrollbar {
    width: 10px;
  }

  *::-webkit-scrollbar-track {
    background: black;
  }

  *::-webkit-scrollbar-thumb {
    background-color: var(--purple);
    border-radius: 10px;
    border: 3px solid transparent;
  }

body {
    overflow-x: hidden;
  }


  /* Landing Page */

header {
    position: fixed;
    width: 100vw;
    background-color: var(--very-dark-purple);
    height: 14.7vh;
    display: flex;
    align-items: center;
    z-index: 9999;
}

header img {
    height: 50%;
    margin-left: 2rem;
}

header a {
    color: var(--white);
    font-family: 'Rowdies', cursive;
    margin-right: 3rem;
    font-size: 130%;
    text-decoration: none;
}

header a:hover {
    color: gray;
}

header div {
    display: flex;
    margin-left: 14rem;
}

label {
    display: block;
    margin-right: -8rem;
  }
  
select {
    margin-top: -0.11rem;
    font-family: 'Rowdies', cursive;
    color: var(--white);
    background-color: transparent;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 16px;
}

select option {
    color: black;
    background-color: transparent;
}

main {
    width: 100vw;   
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-image: linear-gradient(247.96deg, #0F0518 4.78%, #190038 50.35%, #2C1E33 96.57%);
    box-shadow: inset 0px 3px 7px #190038;
    height: 100vh;
}

.text-main {
    color: var(--white);
    margin-bottom: 5rem;
}


.text-main h1 {
    font-family: 'Bungee';
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    overflow: hidden;
    white-space: nowrap;
    animation: typewriter 3s steps(13) infinite alternate,
          blink 800ms steps(13) infinite normal;
        border-right: 7px solid black;
}
  @keyframes typewriter {
    from {
      width: 0%;
    }
    to {
      width: 120%;
    }
  }
  @keyframes blink {
    from {
      border-color: var(--purple);
    }
    to {
      border-color: transparent;
    }
  }
 
  

.text-main p {
    font-family: 'Rowdies';
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
}

.repositorio {
    font-weight: 400;
    font-size: 22px;
    font-family: 'Rowdies';
    background-color: var(--purple);
    box-shadow: inset 0px -4px 0px #3F0071;
    border-radius: 11px;
    width: 15.5rem;
    height: 2.8rem;
    color: var(--white);
    border: none;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}

.git-icon {
    position: relative;
    top: 10%;
    left: 0%;
}
.curriculo {
    font-weight: 400;
    font-size: 22px;
    font-family: 'Rowdies';
    width: 15.5rem;
    height: 2.8rem;
    color: var(--white);
    border: none;
    background-color: var(--dark-purple);
    box-shadow: inset 0px -4px 0px #32005A;
    border-radius: 11px;
    cursor: pointer;
    margin-left: 3.5rem;
    transition: 0.2s;
}
.download-icon {
    position: relative;
    top: 10%;
    left: 0%;
}

.repositorio:hover {
    transform: translateY(-0.5rem);
    background-color: rgb(183, 4, 219);
    box-shadow: inset 0px -4px 0px #32005A, 0px 7px 20px -4px rgba(219,4,219,1);
}

.curriculo:hover {
    transform: translateY(-0.5rem);
    background-color: rgb(110, 70, 255);
    box-shadow: inset 0px -4px 0px #32005A, 0px 7px 20px -4px rgb(110, 70, 255);  
}



/* Sobre */

#sobre {
    background-image: linear-gradient(260.42deg, #20002B 0%, #2B0056 99.46%);
    width: 100vw;
    height: 90vh;
    box-shadow: inset 0px -3px 40px #0F0518;
    overflow-x: hidden;
    text-align :center; 
}

.waves {
  width: 100%;
}

.text-section {
  width: 50rem;
  margin-left: 5rem;
}

.text-section h1 {
    font-family: 'Bungee';
    font-style: normal;
    font-weight: 400;
    font-size: 3rem;
    color: var(--white);
    white-space: nowrap;
}

.text-section p {
    font-family: 'Rowdies';
    color: var(--white);
    width: 30rem;
    text-align: justify;
    margin-left: 4rem;
}

#sobre .content {
  margin-top: 4rem;
  width: 100%;
  display: flex;
}

#sobre .content img {
  right: 20rem;
  margin-top: 1rem;
  position: relative;
  width: 22rem;
  height: 22rem;
  clip-path: circle(40% at 50% 37%);
}

.fancy-border {
  margin-left: 4rem;
  background-image: linear-gradient(229.43deg, #7F0094 14.41%, #3f007e 91.83%);
  border-radius:
  30% 70% 70% 30% / 30% 31% 69% 70% ;
  min-width: 20.9rem;
  height: 20.8rem;
}


/* Habilidades */

#habilidades {
  background-image: linear-gradient(247.96deg, #0F0518 4.78%, #190038 50.35%, #2C1E33 96.57%);
  height: 100vh;
  text-align: center;
  width: 100vw;
  box-shadow: inset 0px -3px 40px #0F0518;
}

 .tittle {
  font-family: 'Rowdies';
  font-style: normal;
  font-weight: 400;
  color: var(--white);
  font-size: 3rem;
  padding-top: 4rem;
  margin-bottom: 2rem;
}
/* cards style */

.card1 {
  margin-left: 20%;
}

.cards {
  font-family: 'Rowdies';
  font-style: normal;
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  overflow-x: scroll;
  padding: 1rem;
}

.card {
  min-width: 11.8rem;
  height: 15.8rem;
  border-radius: 1.25rem;
  padding: 0.3rem;
  box-shadow: rgba(151, 65, 252, 0.2) 0 15px 30px -5px;
  background-image: linear-gradient(144deg,#AF40FF, #5B42F3 50%,#00DDEB);
  transition: 0.3s;
}

.card__content {
  text-align: center;
  color: var(--white);
  background: rgb(5, 6, 45);
  border-radius: 17px;
  width: 100%;
  height: 100%;
  padding: 1rem;
}

.card:hover {
  transform: translateY(-0.8rem);
  box-shadow: 0px 9px 20px -4px #ae91ff; 
}

/* Projetos */

#projetos {
  background-image: linear-gradient(260.42deg, #20002B 0%, #2B0056 99.46%);
  height: 100vh;
  text-align: center;
  width: 100vw;
  box-shadow: inset 0px -3px 40px #0F0518;
}

/* Card style */

#projetos p {
  color: white;
  font-family: 'Rowdies';
  text-align: center;
  margin-top: 1.5rem;
}

.container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-card {
  margin: 2%;
  background: rgb(5, 6, 45);
  width: 50rem;
  height: 20rem;
  box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  transition: .2s all;
  cursor: pointer;
  align-items: center;
  text-align: center;
  font-size: 13px;
  border-radius: 2rem;
}

.project-card img {
  width: 100%;
  border-top-right-radius: 2rem;
  border-top-left-radius: 2rem;
}

.project-card > span {
  font-family: 'Rowdies';
  margin: auto;
  max-width: 40px;
  color: white;
  font-size: 2rem;
}

.container:hover .project-card {
  filter: blur(3px);
  opacity: .5;
  transform: scale(.98);
  box-shadow: none;
}

.container:hover .project-card:hover {
  transform: scale(1);
  filter: blur(0px);
  opacity: 1;
  box-shadow: 0 8px 20px 0px rgba(0, 0, 0, 0.125);
  background: var(--purple);
  color: white;
}


/* Contato */

#contato {
  width: 100vw;
  height: 75vh;
  background-image: linear-gradient(182.72deg, #1E0636 2.59%, #141314 87.91%, #2A2B2D 178.87%);
  box-shadow: inset 0px -4px 16px #2D2427;
  text-align: center;
}

#contato .tittle {
  font-family: 'Rowdies';
  color: var(--white);
  font-family: 'Rowdies';
  font-weight: 400;
  font-size: 3rem;
  padding-top: 4rem;
}

.icons-contact {
  margin-top: 6rem;
  margin-left: 3rem;
}

#contato img {
  margin-right: 3rem;
  transition: 0.3s;
}

#contato img:hover {
  transform: translateY(-5px);
  cursor: pointer;
}

.line {
  background-color: var(--purple);
  padding: 1px;
  margin-top:6rem;
}

.autor {
  color: gray;
  font-family: sans-serif;
  font-weight: 200;
  font-size: 1rem;
  margin-top: 1.5rem;
}


/* Responsive */

@media screen and (min-width: 2100px) {
  header a {
    margin-right: 5%;
    font-size: 200%;
  }

  header img {
    margin-right: 4%;
  }

  select {
    padding: 20px;
    font-size: 2rem;
    margin-top: -1.4rem;
  }

  .text-main h1 {
    font-size: 7rem;
    margin-left: 2rem;
  }

  .text-main p {
    font-size: 3rem;
    margin-left: 5rem;
  }

  .repositorio {
    height: 4.8rem;
    width: 19rem;
    font-size: 1.7rem;
    border-radius: 1rem;
  }
  .curriculo {
    height: 4.8rem;
    width: 19rem;
    font-size: 1.7rem;
    border-radius: 1rem;
}
  .git-icon {
      left: -5%;
      width: 12%;
  }
  .download-icon {
      width: 10%;
  }

  /* Sobre */

  .text-section h1{
    font-size: 5rem;
    margin-left: 4rem;
  }

  .text-section p {
    font-size: 2rem;
    width: 70rem;
  }
  
  .fancy-border {
    min-width: 40.9rem;
    height: 40.8rem;
    margin-left: 35rem;
  }

  #sobre .content img {
    right: 23%;
    margin-top: 4rem;
    width: 20%;
    height: 20%;
  }

  /* Habilidades */

  .tittle {
    font-size: 5rem; 
    padding-top: 15rem;
    padding-bottom: 5rem;
  }
  /* cards style */
  
  .card1 {
    margin-left: -2%;
    overflow: hidden;
  }

  .cards {
    overflow: hidden;
  }

  .card {
    overflow: hidden;
     min-width: 18.8rem;
    height: 25.8rem;
    font-size: 2rem;
    overflow: hidden;
  }
  
  /* Projetos */

  #projetos p {
    margin-top: 2rem;
    font-size: 2rem;
  }

  #projetos .tittle {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }


  /* Contato */

  #contato .tittle {
    font-size: 5rem;
    padding-top: 7rem;
  }

  #contato img {
    width: 4%;
  }

  .line {
    margin-top: 15rem;
  }

  .autor {
    font-size: 2rem;
  }
}

@media screen and (max-width: 600px) {
  header {
    position:static;
    flex-direction: column;
    height: 16.7vh;
  }
  header img {
    margin: auto;
    height: 40%;
  }
  header a {
    display: none;
  }
  select {
    position: absolute;
    left: 30%;
    top: 12%;
  }

  .text-main {
    text-align: center;
  }
  @keyframes typewriter {
    from {
      width: 0%;
    }
    to {
      width: 109%;
    }
  }
  .buttons-main {
    display: flex;
    flex-direction: column;
  }
  .curriculo {
    margin-left: 0;
  }
  main button {
    margin-top: 1rem;
  }

  #sobre {
    height: 120%;
  }
  
  .fancy-border {
    position: absolute;
    margin-top: 100%;
    margin-left: 10%;
  }

  #sobre .content img {
    margin-top: 105%;
    margin-left: -4%;
  }
  
  .text-section h1{
    width: 15rem;
    font-size: 160%;
    margin-left: -19%;
  }
  .text-section p{
    margin-left: -11%;
    width: 20rem;
    font-size: 120%;
  }

  #habilidades {
    height: 120vh;
  }
  .cards {
    margin-top: -5%;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    height: 70%;
    overflow-x: auto;
  }
  .card1 {
    margin-left: 0;
    margin-top: 73.5rem;
  }

  #projetos {
    overflow-x: hidden;
  }

  .container {
    flex-direction: column;
  }

  .project-card {
    width: 20rem;
  }
  
  #contato {
    overflow-x: hidden;
    height: 60%;
  }

  .autor {
    margin: 0;
  }
  .icons-contact {
    display: flex;
    margin-left: 2rem;
  }
}

@media screen and (max-width: 400px) {
  .text-main h1 {
      font-size: 2.7rem;
      margin-left: 0.4rem;
  }
  .text-main p{
    width: 23rem;
  }

  .text-section h1{
    width: 15rem;
    font-size: 140%;
    margin-left: -25%;
  }
  .text-section p{
    margin-left: -11%;
    width: 15rem;
    font-size: 100%;
  }
  .fancy-border {
    min-width: 18.9rem;
    height: 18.8rem;
  }
  #sobre .content img {
    margin-top: 101%;
    margin-left: 10%;
  }
  .icons-contact img {
    
    height: 80%;
    width: 80%;
  }
}