@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap");

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

:root {
  --font: "Montserrat", sans-serif;

  --font-color: #1c1c1c;

  --bg-color: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
  --bg-card: #ecf4ff;
  --bg-projetc: rgba(192, 192, 192, 0.6);

  --grey: #44475a;
  --orange: #ffb86c;
  --purple: #bd93f9;
}

/*===== Body =====*/

body {
  background: var(--bg-color);
  font-family: var(--font);
  height: 100vh;
}

.container {
  background: var(--bg-card);
  color: var(--title-color);

  margin: 4rem auto;
  padding: 4rem;

  border-radius: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  display: block;

  max-width: 40rem;
}

/*===== Header =====*/
.perfil {
  display: flex;
  align-items: center;
}

.perfil > img {
  max-width: 10rem;
  max-height: 10rem;
  border-radius: 50%;
  box-shadow: 0px 0px 21px 2px rgba(0, 0, 0, 0.2);
}

.title {
  margin-left: 1rem;
}

.title h1 {
  font-weight: bolder;
  font-size: 1.8rem;
}

.title h3 {
  font-weight: 400;
  font-size: 1rem;
}

.title p {
  font-weight: 400;
  font-size: 0.8rem;
  color: #949494;
  margin-bottom: 0.3rem;
}

/*==== texto animado ===== */
.line-1 {
  position: relative;
  top: 50%;
  width: 28em;
  border-right: 2px solid rgba(255, 255, 255, 0.75);
  font-size: 0.8rem;
  color: var(--grey);
  white-space: nowrap;
  overflow: hidden;
  font-weight: 400;
  transform: translateY(-50%);
}

/* Animation */
.anim-typewriter {
  animation: typewriter 4s steps(44) 1s 1 normal both,
    blinkTextCursor 500ms steps(44) infinite normal;
}

@keyframes typewriter {
  from {
    width: 0;
  }
  to {
    width: 28em;
  }
}

@keyframes blinkTextCursor {
  from {
    border-right-color: rgba(255, 255, 255, 0.75);
  }
  to {
    border-right-color: transparent;
  }
}

@keyframes caret {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

/*===== Icons ===== */
.lista-links {
  color: var(--title-color);
}

.link-icon {
  text-decoration: none;
  font-size: 1.3rem;
  color: var(--purple);
  transition: color 0.2s;
}

.link-icon:hover {
  color: var(--orange);
}

/*===== Projetos =====*/
.projetos {
  margin-top: 1rem;
}

.container-projetos {
  padding: 1.1rem 1rem;
  background: var(--bg-projetc);
  /*box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.2);*/
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}

.container-projetos h4 {
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

.container-projetos ol {
  margin-left: 1rem;
  color: var(--title);
}

.container-projetos li {
  font-size: 0.9rem;
}

.container-projetos a {
  text-decoration: none;
  font-size: 0.9rem;
  color: var(--title);
}

.container-projetos a:hover {
  color: var(--purple);
}

.container-projetos li:hover {
  color: var(--purple);
}
