/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f7f7f7;
  }
  
  /* HEADER */
  header {
    background-color: #094067; /* Dark navy color often associated with marine themes */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
  }
  
  header .logo {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
  }
  
  nav ul {
    list-style: none;
    display: flex;
    gap: 1rem;
  }
  
  nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
  }
  
  nav a:hover {
    text-decoration: underline;
  }
  
  /* HERO SECTION */
  .hero {
    background: url('Images/table-rock-lake.jpg') no-repeat center/cover;
    height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    padding: 2rem;
  }
  
  .hero h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
  }
  
  .hero p {
    font-size: 1.2rem;
    max-width: 600px;
    margin-bottom: 2rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
  }
  
  /* CTA BUTTONS */
  .btn-primary {
    background-color: #ef4565; /* Stand-out color for CTA */
    color: #fff;
    padding: 0.75rem 1.5rem;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    display: inline-block;
  }
  
  .btn-primary:hover {
    background-color: #d63d59;
  }
  
  /* FEATURES */
  .features {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    max-width: 1200px;
    margin: 2rem auto;
    padding: 1rem;
    background-color: #ffffff;
    border-radius: 5px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }
  
  .feature-box {
    flex: 1 1 calc(25% - 2rem);
    min-width: 200px;
    text-align: center;
  }
  
  .feature-box h3 {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    color: #094067;
  }
  
  .feature-box p {
    font-size: 0.95rem;
    color: #555;
  }
  
  /* CONTENT SECTION */
  .content-section {
    max-width: 1200px;
    margin: 2rem auto;
    background-color: #ffffff;
    border-radius: 5px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding: 2rem;
  }
  
  .content-section h2 {
    margin-bottom: 1rem;
    color: #094067;
  }
  
  .class-list ul {
    list-style: disc inside;
    margin: 1rem 0 0 1rem;
  }
  
  /* CALL TO ACTION BANNER */
  .call-to-action {
    background-color: #ef4565;
    color: #fff;
    text-align: center;
    padding: 2rem;
    margin: 2rem 0;
  }
  
  .call-to-action h2 {
    margin-bottom: 1rem;
  }
  
  /* FOOTER */
  footer {
    background-color: #094067;
    color: #fff;
    padding: 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  
  footer p,
  footer a {
    color: #fff;
    font-size: 0.9rem;
  }
  
  footer a {
    text-decoration: none;
    margin-right: 1rem;
  }
  
  footer a:hover {
    text-decoration: underline;
  }
  
  .footer-links {
    display: flex;
    gap: 1rem;
    margin-bottom: 0.5rem;
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    .features {
      flex-direction: column;
      align-items: center;
    }
  
    .feature-box {
      max-width: 300px;
      margin: 0 auto;
    }
  }
  /* Existing CSS omitted for brevity... */

/* Smaller Hero Section */
.hero-sm {
    height: 40vh; /* shorter hero than the homepage */
  }
  
  /* A narrower content section for form pages */
  .content-section.narrow {
    max-width: 800px;
    margin: 2rem auto;
  }
  
  /* Registration Form Styles */
  .registration-form {
    margin-top: 2rem;
  }
  
  .registration-form .form-group {
    margin-bottom: 1.5rem;
  }
  
  .registration-form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
  }
  
  .registration-form input,
  .registration-form select,
  .registration-form textarea {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
  }
  
  .registration-form select {
    /* If you want to style the dropdown specifically */
    appearance: none; /* remove default dropdown arrow in some browsers */
    background: #fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20viewBox…") no-repeat right 0.75rem center/1em;
  }
  
  .registration-form textarea {
    resize: vertical; /* let users resize vertically */
  }
  
  .registration-form button {
    margin-top: 0.5rem;
  }
  @media (max-width: 768px) {
    /* Stack the header content */
    header {
      flex-direction: column;
      align-items: flex-start;
    }
  
    /* Add some margin-top to separate nav from the logo */
    nav {
      margin-top: 1rem;
    }
  
    /* Vertical nav list */
    nav ul {
      flex-direction: column;
      gap: 0.5rem; /* Tighter gap for mobile */
    }
    body {
      font-family: Arial, sans-serif;
      background-color: #f4f4f4;
      margin: 0;
      padding: 20px;
      text-align: center;
  }
  
  .container {
      max-width: 800px;
      background: white;
      padding: 20px;
      margin: auto;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      border-radius: 8px;
  }
  
  h2 {
      color: #005bb5;
  }
  
  .form {
      display: flex;
      flex-direction: column;
      gap: 10px;
  }
  
  input {
      padding: 8px;
      border: 1px solid #ddd;
      border-radius: 4px;
      width: 100%;
  }
  
  .btn {
      background-color: #005bb5;
      color: white;
      padding: 10px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
  }
  
  .btn:hover {
      background-color: #003f80;
  }
  
  .class-table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 20px;
  }
  
  .class-table th, .class-table td {
      padding: 10px;
      border: 1px solid #ddd;
  }
  
  .class-table th {
      background-color: #005bb5;
      color: white;
  }
  
  .btn-delete {
      background-color: #d9534f;
      color: white;
      padding: 6px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
  }
  
  .btn-delete:hover {
      background-color: #c9302c;
  }
  
    footer {
      /* Stack footer elements vertically */
      flex-direction: column;
      align-items: flex-start; /* Keep items left-aligned, or center if you prefer */
    }
  
    /* Adjust spacing between footer sections */
    footer > div {
      margin-bottom: 1rem; /* Some breathing room between blocks */
    }
  
    /* Stack the footer links as well */
    .footer-links {
      flex-direction: column;
      gap: 0.5rem;
      margin-bottom: 1rem;
    }
  }