/* General Styles */

html,
body {
  overflow-x: hidden;
  max-width: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Josefin Sans", sans-serif;
  padding-top: 0.5px;
}

h1,
h2,
h3 {
  font-family: "Prata", serif;
}

/* Nav Bar Section */
:root {
  --nav-h: 64px;
}

/* Fixed header */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 30px;
  background: #54432e; /* your brown */
  color: white;
  z-index: 1000;
  box-sizing: border-box;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

/* push page below header */
body {
  padding-top: var(--nav-h);
}

/* shadow on scroll */
.navbar.scrolled {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

/* Desktop: show links, hide hamburger */
.nav-links {
  list-style: none;
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 0;
}
.nav-links li {
  display: inline;
}
.nav-links a {
  color: white;
  text-decoration: none;
  font-size: 18px;
}

.hamburger {
  display: none;
  font-size: 1.4rem;
  background: none;
  border: 0;
  cursor: pointer;
  color: white; /* white icon on dark header */
}

/* Mobile */
@media (max-width: 800px) {
  .hamburger {
    display: inline-block;
  }
  body.nav-open .nav-links {
    background: #d2cdc8; /* popup bg */
  }
  body.nav-open .nav-links a {
    color: #54432e; /* popup link color */
  }

  /* hide menu by default on mobile */
  .nav-links {
    display: none;
    position: fixed; /* sits under the fixed header */
    right: 1rem;
    top: calc(var(--nav-h) + 12px);
    background: #adadad;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    flex-direction: column;
    gap: 0.5rem;
    z-index: 1001;
  }

  /* show when toggled */
  body.nav-open .nav-links {
    display: flex;
  }
}

/* Hero Section */

/* Hero Section - Image Left, Text Right */
.hero-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 130px; /* Space between image and text */
  max-width: 1000px; /* Adjust width as needed */
  margin: 0 auto; /* Centers the whole section */
  padding: 0 20px;
}

.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  text-align: center;
  padding-top: 100px;
}

#hero-text-mobile {
  display: none;
}

/* Hero Text Styling */

.hero-text {
  font-size: 29px;
  line-height: 1.4;
  max-width: 100%;
  margin-bottom: 15px;
}
.hero-heading {
  font-size: 2.5rem;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  display: inline-block;
  min-width: 550px;
  white-space: nowrap;
}

/* Profile Image Styling */
.profile-image img {
  width: 550px; /* Adjust size as needed */
  height: 550px;
  border-radius: 50%;
  object-fit: cover;
}

.resume-button {
  background-color: #54432e;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  display: inline-block;
  margin-top: 15px;
  transition: transform 0.3s ease;
}

.resume-button:hover {
  transform: scale(1.1);
}

/* Section Styling */
section {
  padding: 50px 20px;
  text-align: center;
}

/* About Section */
.about-content {
  display: flex;
  align-items: flex-start; /* Aligns items vertically */
  justify-content: center; /* Centers everything */
  gap: 50px; /* Space between sections */
  max-width: 1000px; /* Adjust as needed */
  margin: 0 auto;
}

/* Equal width for both text sections */
.about-text {
  width: 40%; /* Ensures both sections take up equal space */
  text-align: left; /* Aligns text to the left */
  font-size: 20px;
}

.big-title {
  font-size: 20px;
}
/* Centering the image */
.about-image {
  width: 10%; /* Keeps the images centered */
  display: flex;
  flex-direction: column; /* Stacks images vertically */
  align-items: center; /* Centers them horizontally */
  gap: 10px; /* Adds spacing between images */
}

.about-image img {
  max-width: 100px; /* Adjust size as needed */
  height: auto;
}

/* What I'm Up To */
.internship-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.internship-image img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
}

.internship-container {
  text-align: left; /* Center text */
  max-width: 800px; /* Limit width for better readability */
  margin: 0 auto; /* Center horizontally */
}

.internship-container ul {
  display: inline-block; /* Align the list with the paragraph */
  text-align: left; /* Keep bullet points aligned left */
}

/* Projects */
.project-gallery {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.project {
  text-align: center;
  width: 30%; /* Ensures all projects take equal width */
}
.project img {
  width: 250px; /* Makes all images scale to their container */
  height: 200px; /* Ensures uniform height */
  object-fit: cover; /* Prevents image stretching */
  border-radius: 10px;
}

.project p {
  font-size: 16px;
  margin: 10px 0;
}

.project a {
  display: inline-block;
  padding: 8px 12px;
  color: white;
  background-color: #54432e;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
}

.project a:hover {
  background-color: #3b2b1a;
}

/* Responsive Design - Stacks on Smaller Screens */
@media screen and (max-width: 1300px) {
  .project-gallery {
    flex-direction: column;
    align-items: center;
  }

  .navbar {
    padding: 10px 20px;
  }

  .nav-links a {
    font-size: 14px;
    margin: 0 4px;
    white-space: nowrap;
  }

  .nav-links {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .project {
    width: 80%; /* Makes images take full width */
  }

  .project img {
    width: 100%; /* Adapts to screen size */
    height: auto; /* Maintains aspect ratio */
  }

  .contact-content {
    flex-direction: column;
    align-items: center;
  }

  .contact-image img {
    width: 250px;
    height: 250px;
  }

  .poll-box {
    width: 90%;
    margin-top: 30px;
  }

  .contact-info {
    text-align: center;
  }

  .hero-content {
    flex-direction: column;
    align-items: center;
    padding: 0 16px;
  }

  .hero-text {
    font-size: 30px;
    line-height: 1.4;
    max-width: 90%;
    margin: 0 auto;
  }
  /* 
  .hero {
    padding-top: 70px; /* was 100px or more — reduce it */
  /* } */

  .profile-image img {
    width: 350px;
    height: 350px;
    margin-bottom: 5px;
  }

  .hero-heading {
    font-size: 1.8rem;
    line-height: 2.2rem;
    text-align: center;
    min-width: 300px;
    margin-top: 0;
  }

  .hero-line2 {
    display: block; /* stack only on small screens */
  }

  .hero-text p {
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin-top: 0.8rem;
    padding: 0 12px;
    text-align: center;
  }
  .resume-button {
    margin-top: 1.2rem;
  }

  #hero-typing {
    display: inline-block;
    text-align: center;
    word-break: break-word;
    white-space: normal;
  }
  .about-content {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 0 15px;
  }

  .about-text {
    width: 100%;
    text-align: center;
  }

  #hero-typing-desktop {
    display: none;
  }

  #hero-text-mobile {
    display: block;
    font-size: 2.2rem;
    line-height: 2.2rem;
    text-align: center;
  }

  .skills-list,
  .award-list {
    font-size: 16px;
    line-height: 1.5;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    text-align: left;
  }

  .about-image {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }

  .internship-content {
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    gap: 20px;
    text-align: center;
  }

  .internship-image img {
    width: 80%;
    max-width: 300px;
    height: auto;
    border-radius: 50%;
  }
}

.project-button {
  background-color: #54432e;
  color: white;
  font-size: 16px;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  position: relative;
  overflow: hidden;
}

/* Hover Effect - Subtle Scale and Glow */
.project-button:hover {
  transform: scale(1.1); /* Slightly enlarges */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* Soft shadow effect */
}

/* Button Animation - Ripple Effect */
.project-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300%;
  height: 300%;
  background: rgba(255, 255, 255, 0.2);
  transition: width 0.4s, height 0.4s, opacity 0.4s;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.project-button:active::after {
  width: 0;
  height: 0;
  opacity: 1;
  transition: 0s;
}

/* Contact */
.contact-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

.contact-image img {
  width: 300px;
  height: 300px;
  border-radius: 50%;
}

.contact-info a {
  color: #54432e;
  text-decoration: none;
}

.contact-info a:hover {
  text-decoration: underline;
}

/* Scroll-To-Top Floating Arrow - Centered */
#scrollToTop {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background-color: #54432e; /* Your signature brown */
  border-radius: 50%;
  cursor: pointer;
  display: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0 10px rgba(84, 67, 46, 0.3); /* Soft brown glow */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

#scrollToTop img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  display: block;
}

#scrollToTop:hover {
  background-color: #3b2b1a; /* Darker brown on hover */
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.4); /* Glow highlight */
  animation: bounceUp 1s infinite;
}

#scrollToTop:hover img {
  transform: translateY(-4px);
  filter: drop-shadow(0 0 6px white); /* Glow arrow */
}

/* Bounce Animation */
@keyframes bounceUp {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-10px);
  }
}

.video-container {
  display: flex;
  justify-content: center; /* Centers horizontally */
  align-items: center; /* Centers vertically if needed */
  width: 100%; /* Ensures full width */
  margin-top: 40px; /* Space from the About section */
}

.video-container iframe {
  width: 80%; /* Responsive width */
  max-width: 800px; /* Limits max size */
  height: 450px;
}

.typing-container {
  font-family: monospace;
  font-size: 16px;
  color: #54432e; /* Match theme */
  display: inline-block; /* Keeps it inline */
  margin-left: 20px; /* Adjust spacing */
  white-space: nowrap; /* Prevents wrapping */
}

/* Cursor always at the end */
.typing-container::after {
  content: "|"; /* Cursor */
  display: inline-block;
  margin-left: 2px;
  animation: blinkCursor 0.8s steps(2, start) infinite;
}

/* Blinking cursor effect */
@keyframes blinkCursor {
  50% {
    opacity: 0;
  }
}

.hero-heading {
  font-family: "Prata", serif;
  font-size: 48px;
  color: black;
  white-space: nowrap;
  overflow: hidden;
  width: fit-content;
  display: inline-block;
}

/* Cursor always present at the end */
#hero-typing::after {
  content: "|"; /* Cursor */
  display: inline-block;
  margin-left: 5px;
  animation: blinkCursor 0.8s steps(2, start) infinite;
}

@keyframes blinkCursor {
  50% {
    opacity: 0;
  }
}

/* Pre-reserve space so text doesn't shift */
#hero-typing {
  min-width: 18ch; /* Reserves space for 18 characters */
  display: inline-block;
}
/* #arrow { */
/* position: absolute; */
/* width: 60px;  */
/* left: 65%; */
/* top: 75%; 
  transform: rotate(10deg);  */
/* animation: bounce 1.5s infinite ease-in-out; */
/* }  */

/* Responsive Fix for Mobile */
/* @media screen and (max-width: 768px) { */
/* #arrow { */
/* width: 50px;  */
/* left: 55%; 
    top: 78%;  */
/* } */
/* } */

/* Bouncing effect for animation */
@keyframes bounce {
  0%,
  100% {
    transform: translateY(0) rotate(10deg);
  }
  50% {
    transform: translateY(-8px) rotate(10deg);
  }
}

#att-logo {
  display: block;
  margin: 20px auto; /* Center the image */
  width: 100px; /* Adjust the size as needed */
  opacity: 0; /* Start hidden */
  transform: translateY(20px); /* Start slightly lower */
  animation: fadeInUp 1.5s ease-in-out forwards; /* Apply animation */
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.bounce-image {
  display: block;
  margin: 20px auto; /* Centers the image */
  width: 150px; /* Adjust the size as needed */
  animation: bounce 1.5s infinite ease-in-out;
}

footer {
  background-color: #54432e;
  color: white;
  text-align: center;
  padding: 15px 0;
  font-size: 16px;
  position: relative;
  bottom: 0;
  width: 100%;
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.footer-links a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  margin: 0 10px;
  transition: color 0.3s ease-in-out;
}

.footer-links a:hover {
  color: #c4a484; /* Lighter shade on hover */
}

.divider img {
  width: 350px;
  padding-left: 25px;
}

.poll-box {
  width: 300px;
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  font-family: "Josefin Sans", sans-serif;
}

.poll-box h3 {
  font-size: 20px;
  margin-bottom: 15px;
  font-weight: bold;
}

.poll-option {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  border: 2px solid transparent;
}

.poll-option.selected {
  border-color: #54432e;
}

.poll-option input[type="radio"] {
  accent-color: #54432e;
  transform: scale(1.2);
}

.bar {
  background-color: #e0e0e0;
  border-radius: 5px;
  height: 8px;
  flex-grow: 1;
  overflow: hidden;
  position: relative;
}

.fill {
  background-color: #54432e;
  height: 100%;
  transition: width 0.3s ease-in-out;
}

.percentage {
  font-weight: bold;
  font-size: 14px;
  min-width: 40px;
  text-align: right;
}

.poll-option input[type="radio"] {
  accent-color: #54432e;
  transform: scale(1.2);
}

.popup {
  position: fixed;
  top: 80px;
  right: 30px;
  background-color: #d2cdc8;
  color: #54432e;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 2000;
  max-width: 300px;
  display: none; /* hidden by default */
  animation: fadeIn 0.5s ease forwards;
}

.popup-content {
  position: relative;
  font-size: 16px;
  line-height: 1.4;
}

.popup-close {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 20px;
  cursor: pointer;
  color: #54432e;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.popup {
  z-index: 9999;
}

#viewer-count {
  position: fixed;
  top: 65px;
  left: 10px;
  font-size: 12px;
  color: white;
  background-color: #d2cdc8;
  padding: 4px 8px;
  border-radius: 6px;
  font-family: monospace;
  z-index: 999;
  pointer-events: none;
}

.skills-list,
.award-list {
  padding-left: 20px;
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.6;
  list-style-position: inside;
  text-align: left;
}

#musicPopup {
  top: 300px;
}
