/* General Styles */
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background: linear-gradient(to bottom, #007BFF, #f4f4f4); /* Gradient background */
  color: #333;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Navigation */
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; /* Allow items to wrap on smaller screens */
  justify-content: center; /* Center items horizontally */
  background: #333;
}

nav ul li {
  margin: 0;
  padding: 10px;
}

nav ul li a {
  color: white;
  text-decoration: none;
  transition: color 0.3s;
}

nav ul li a:hover {
  color: #007BFF;
}

.about-container, .skills-container, .projects-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* General Responsive Adjustments */
@media (max-width: 768px) {
  nav ul {
      flex-direction: column; /* Stack navigation items vertically */
      align-items: center;
  }

  nav ul li {
      padding: 10px;
  }

  .about-container {
      flex-direction: column; /* Stack image and text for smaller screens */
  }

  .about-photo {
      margin-bottom: 20px;
  }

  .skill {
      margin: 10px;
      padding: 10px;
  }

  .progress-bar {
      height: 15px; /* Reduce height for smaller screens */
  }
}

/* For Very Small Screens */
@media (max-width: 480px) {
  h1, h2, h3 {
      font-size: 1.5em; /* Reduce font size */
  }

  .resume-button {
      font-size: 0.9em; /* Reduce button size */
      padding: 8px 16px;
  }

  #home h1 {
      font-size: 2em;
  }
}


/* Home Section */
#home {
  text-align: center;
  padding: 50px 20px;
  background: linear-gradient(to bottom, #007BFF, #ADD8E6); /* Blue gradient */
  color: white;
}

#home h1 {
  font-size: 3em; /* Larger main heading */
  margin-bottom: 20px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5); /* Adds depth */
}

.headshot {
  width: 150px; /* Enlarged photo */
  height: 150px; /* Maintain square aspect ratio */
  border-radius: 50%; /* Circular shape */
  border: 5px solid white; /* White border around the photo */
  margin: 20px auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Shadow for effect */
}

#home p {
  font-size: 1.2em; /* Slightly larger paragraph text */
  line-height: 1.6;
  margin: 10px auto;
  max-width: 600px;
}

#home .tagline {
  font-style: italic;
  font-size: 1.5em;
  color: #FFD700; /* Gold color for emphasis */
  margin-top: 20px;
}

/* About Me Section */
#about {
  text-align: center;
  padding: 50px 20px;
  background: linear-gradient(to bottom, #007BFF, #ADD8E6); /* Blue gradient */
  color: white;
}

#about h1 {
  font-size: 3em;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5); /* Adds depth to text */
}

.about-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 800px;
  margin: 0 auto;
}

.about-photo {
  width: 150px; /* Adjust size for headshot */
  height: 150px;
  border-radius: 50%; /* Circular image */
  border: 5px solid white; /* Adds a border around the photo */
  margin-bottom: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Shadow effect */
}

.about-text {
  text-align: left; /* Aligns text to the left */
  font-size: 1.2em;
  line-height: 1.6;
  color: #f4f4f4;
  background: rgba(255, 255, 255, 0.1); /* Transparent background for text block */
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Adds a shadow around the block */
}

.resume-button {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 20px;
  color: #007BFF;
  background-color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s, transform 0.3s;
}

.resume-button:hover {
  background-color: #f4f4f4; /* Slightly darkens on hover */
  transform: scale(1.05); /* Enlarges slightly */
}

/* Projects Section */
#projects {
  text-align: center;
  padding: 20px;
  background: linear-gradient(to bottom, #007BFF, #f4f4f4); /* Gradient background */
  color: #333;
}

#projects h1 {
  color: rgb(255, 255, 255);
  font-size: 2.5em;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7); /* Improves contrast on gradient */
}

.project {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent background */
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow */
  text-align: left; /* Aligns project content to the left */
}

.project h2 {
  color: #007BFF;
  font-size: 1.8em;
  margin-bottom: 15px;
}

.project p {
  margin: 10px 0;
  line-height: 1.6;
  color: #555;
}

.project strong {
  color: #333;
}

.project img {
  width: 100%; /* Ensures the image fits within the card */
  max-width: 600px; /* Sets a max size for images */
  height: auto;
  border-radius: 8px;
  margin: 15px 0; /* Adds space between image and text */
  display: block;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Image shadow for a polished look */
}

/* Buttons for GitHub and Video Links */
.project a {
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 10px 15px;
  color: rgb(255, 255, 255);
  background-color: #007BFF;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.project a:hover {
  background-color: #0056b3; /* Darker blue for hover effect */
}

/* Hover Effect on Project Cards */
.project:hover {
  transform: scale(1.02); /* Slightly enlarges the card */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Enhances shadow */
}

/* Skills Section */
#skills {
  text-align: center;
  padding: 20px;
  color: #333;
}

/* Skills Section */
#skills {
  text-align: center;
  padding: 50px 20px;
  background: linear-gradient(to bottom, #007BFF, #ADD8E6);
  color: white;
}

#skills h1, #skills h2 {
  color: white;
  font-size: 2.5em;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7);
}

.skill {
  max-width: 800px;
  margin: 20px auto;
}

.skill h3 {
  color: white;
  margin-bottom: 15px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

/* Skill Bars */
.skill-bar {
  display: flex;
  align-items: center;
  margin: 10px 0;
}

.skill-bar span {
  flex: 1;
  color: white;
  font-weight: bold;
}

.progress-bar {
  flex: 4;
  height: 20px;
  background: #ddd;
  border-radius: 10px;
  overflow: hidden;
  margin-left: 10px;
}

.progress {
  height: 100%;
  background: #FFD700; /* Gold color for progress */
  border-radius: 10px;
  transition: width 0.5s ease-in-out;
}
/* Form Styling */
form {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent white for better readability */
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

form label {
  display: block;
  margin: 10px 0 5px;
  font-weight: bold;
}

form input, form textarea, form button {
  width: 100%;
  padding: 10px;
  margin: 5px 0 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 1rem;
}

form button {
  background-color: #007BFF;
  color: white;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s;
}

form button:hover {
  background-color: #0056b3;
}

/* Social Links */
#social {
  text-align: center;
  margin: 30px 0;
}

#social h2 {
  margin-bottom: 15px;
  color: #333;
}

#social a {
  display: inline-block;
  margin: 0 10px;
  padding: 10px 20px;
  color: white;
  background-color: #007BFF;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s;
}

#social a:hover {
  background-color: #0056b3;
}

/* Section Styling */
#contact {
  text-align: center;
  padding: 20px;
  color: #333;
}
/* Footer Styling */
footer {
  text-align: center;
  padding: 10px;
  background: #333;
  color: white;
  width: 100%;
  position: relative; /* Works with flexbox to stay at the bottom */
  bottom: 0;
}
