/* ==================== General Styles ==================== */
body {
  font-family: 'Open Sans', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #F5F5F5;
  color: #0A2647;
}

h1, h2, h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: bold;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ==================== Header and Navigation ==================== */
header {
  background-color: #0A2647;
  padding: 20px;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  font-size: 24px;
  font-weight: bold;
  color: #FFD700;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 20px;
  align-items: center;
}

nav ul li a {
  color: white;
  transition: color 0.3s ease;
}

nav ul li a:hover {
  color: #2C9CA4;
}

/* ==================== Login and Signup Pages ==================== */
#login, #signup {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80vh;
}

.login-content, .signup-content {
  background-color: white;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  width: 300px;
}

.login-content h2, .signup-content h2 {
  margin-bottom: 20px;
}

.login-content input, .signup-content input {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.login-content button, .signup-content button {
  background-color: #2C9CA4;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
}

.login-content button:hover, .signup-content button:hover {
  background-color: #FFD700;
  color: #0A2647;
}

.login-content p, .signup-content p {
  margin-top: 20px;
}

.login-content p a, .signup-content p a {
  color: #2C9CA4;
  font-weight: bold;
}

.login-content p a:hover, .signup-content p a:hover {
  color: #FFD700;
}

/* ==================== Job List Page ==================== */
#job-list {
  padding: 50px 20px;
  text-align: center;
  background-color: #F5F5F5;
}

#job-list h2 {
  font-size: 36px;
  margin-bottom: 40px;
  color: #0A2647;
  animation: fadeIn 2s ease-in-out;
}

.job-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  padding: 0 20px;
}

.job-card {
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: slideUp 1s ease-in-out;
}

.job-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.job-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #0A2647;
}

.job-card p {
  font-size: 16px;
  color: #666;
  margin-bottom: 10px;
}

.apply-btn {
  background-color: #2C9CA4;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.apply-btn:hover {
  background-color: #FFD700;
  color: #0A2647;
  transform: scale(1.05);
}

/* ==================== Contact Page ==================== */
#contact {
  padding: 50px 20px;
  text-align: center;
  background-color: #F5F5F5;
}

#contact h2 {
  font-size: 36px;
  margin-bottom: 40px;
  color: #0A2647;
  animation: fadeIn 2s ease-in-out;
}

.contact-container {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  padding: 0 20px;
}

.contact-form, .contact-info {
  background-color: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 400px;
  animation: slideUp 1s ease-in-out;
}

.contact-form h3, .contact-info h3 {
  font-size: 24px;
  margin-bottom: 20px;
  color: #0A2647;
}

.contact-form input, .contact-form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: 'Open Sans', sans-serif;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form button {
  background-color: #2C9CA4;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.contact-form button:hover {
  background-color: #FFD700;
  color: #0A2647;
  transform: scale(1.05);
}

.contact-info p {
  font-size: 16px;
  color: #666;
  margin-bottom: 10px;
}

.contact-info p strong {
  color: #0A2647;
}

/* ==================== Job Posting Page ==================== */
#job-posting {
  padding: 50px 20px;
  text-align: center;
  background-color: #F5F5F5;
}

#job-posting h2 {
  font-size: 36px;
  margin-bottom: 40px;
  color: #0A2647;
  animation: fadeIn 2s ease-in-out;
}

.posting-container {
  display: flex;
  justify-content: center;
  padding: 0 20px;
}

#job-posting-form {
  background-color: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 500px;
  animation: slideUp 1s ease-in-out;
}

#job-posting-form input,
#job-posting-form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: 'Open Sans', sans-serif;
}

#job-posting-form textarea {
  resize: vertical;
}

#job-posting-form button {
  background-color: #2C9CA4;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#job-posting-form button:hover {
  background-color: #FFD700;
  color: #0A2647;
  transform: scale(1.05);
}

/* ==================== Job Seeker Profile Page ==================== */
#job-seeker-profile {
  padding: 50px 20px;
  text-align: center;
  background-color: #F5F5F5;
}

#job-seeker-profile h2 {
  font-size: 36px;
  margin-bottom: 40px;
  color: #0A2647;
  animation: fadeIn 2s ease-in-out;
}

.profile-container {
  display: flex;
  justify-content: center;
  padding: 0 20px;
}

#profile-form {
  background-color: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 500px;
  animation: slideUp 1s ease-in-out;
}

#profile-form input,
#profile-form textarea,
#profile-form label {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: 'Open Sans', sans-serif;
}

#profile-form textarea {
  resize: vertical;
}

#profile-form label {
  display: block;
  text-align: left;
  font-weight: bold;
  color: #0A2647;
  margin-bottom: 10px;
}

#profile-form input[type="file"] {
  padding: 5px;
}

#profile-form button {
  background-color: #2C9CA4;
  color: white;
  padding: 10px 20px;
  border