/* Custom CSS for Noah's Portfolio */

/* Typewriter effect: adding a blinking cursor via a pseudo-element on the #typewriter element */
#typewriter::after {
  content: '';
  display: inline-block;
  width: 2px;
  height: 1em;
  background: orange;
  margin-left: 5px;
  animation: blink 0.7s infinite;
}

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

/* 3D Card Flip Effect for Work Experience */
.perspective {
  perspective: 1000px;
}

.preserve-3d {
  transform-style: preserve-3d;
  position: relative;
}

.my-rotate-y-180 {
  transform: rotateY(180deg);
}

.backface-hidden {
  backface-visibility: hidden;
}

/* Carousel Animation for Coding Languages */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.carousel-track {
  animation: scroll 20s linear infinite;
}

#carousel-track {
  will-change: transform;
} 