/* === KEYFRAMES === */

@keyframes bounceIn {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fillUp {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes picImage {
  from {
    opacity: 0;
    transform: scale(1.2) translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes picShadow {
  from {
    opacity: 0;
    transform: scale(1.2) translateY(4rem);
  }
  to {
    opacity: 1;
    transform: scale(1.1) translateY(0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes zoomOut {
  from {
    opacity: 0;
    transform: scale(1.05);
  }
  to {
    opacity: 0.5;
    transform: scale(1);
  }
}

/* === ANIMATIONS DEFAULT STYLES === */

.wallpaper,
.picture-shadow,
.picture-image,
.name,
.job,
.hr,
.description,
.contact,
.social li {
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

/* Corrección: cubic-bezier inválido reemplazado */
.social li {
  animation-duration: 500ms;
  animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1.5);
}

/* ANIMATIONS PER ELEMENT */

.contact {
  animation-name: bounceIn;
}

.name {
  animation-name: slideDown;
  animation-delay: 100ms;
}

.job {
  animation-name: slideUp;
  animation-delay: 200ms;
}

.hr {
  animation-name: fillUp;
  animation-delay: 300ms;
}

.description {
  animation-name: slideUp;
  animation-delay: 400ms;
}

.contact {
  animation-delay: 600ms;
}

.picture-image {
  animation-name: picImage;
  animation-delay: 500ms;
  animation-duration: 750ms;
  animation-timing-function: cubic-bezier(0, 0.5, 0.25, 1.25);
}

.picture-shadow {
  animation-name: picShadow;
  animation-delay: 500ms;
  animation-duration: 750ms;
  animation-timing-function: cubic-bezier(0, 0.5, 0.25, 1.25);
}

.wallpaper {
  opacity: 0;
  animation-timing-function: ease-out;
}

.wallpaper.is-loaded {
  animation-delay: 1s;
  animation-name: zoomOut;
}

.picture.is-loaded .picture-shadow {
  animation-name: picShadow;
}

.picture.is-loaded .picture-image {
  animation-name: picImage;
}

/* SOCIAL ICONS DELAY SECUENCIAL */

.social li:nth-child(1) {
  animation-delay: 800ms;
}
.social li:nth-child(2) {
  animation-delay: 900ms;
}
.social li:nth-child(3) {
  animation-delay: 1000ms;
}
.social li:nth-child(4) {
  animation-delay: 1100ms;
}
.social li:nth-child(5) {
  animation-delay: 1200ms;
}
.social li:nth-child(6) {
  animation-delay: 1300ms;
}
.social li:nth-child(7) {
  animation-delay: 1400ms;
}
.social li:nth-child(8) {
  animation-delay: 1500ms;
}