body, html {
    height: 100%;
    margin: 0;
    font-family: 'Poppins', sans-serif;
  }


/* Header with navigation bar, logo, and hero image
-----------------------------------------------------------------*/
header {
    display: flex;
    justify-content: space-between; /* elements are positioned left and right with space between*/
    padding: 30px 10%;
    position: sticky; /* this keeps the header stuck to the top of the page when scrolling*/
    top: 0;
    background-color: #FFFFFF;
  }
  
  /* Link to homepage when click on logo */
  header a {
    text-decoration: none;
    font-weight: bold;
  }
  
  header h2 {
    font-family: "Caveat", cursive;
  }
  
  /* Site logo design
  ------------------------------------------------ */
  /*.nav-logo{
    border: 2px solid rgb(255, 174, 0);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    font-weight: 700px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    color:  rgb(8, 187, 241);
    margin: 0 2rem;
  }*/
  
  .nav-logo {
    width: 145px;  /* Adjust width as needed */
    height: 82px;  /* Maintain aspect ratio */
    display: block;
    margin: 0 auto; /* Center the logo */
  }
  .nav-logo p{
    font-size: 1.5rem;
  }

  
  /* navigation bar 
  ------------------------------------------------ */
 /*   #navbar ul {
      list-style: none; 
    }
    
    #navbar li {
      display: inline; 
      padding: 15px 15px; 
    }
    
    #navbar a {
      text-decoration: none; 
      font-size: 16px;
      color: DarkSlateGrey;
      transition: all 0.3s ease 0s;
    }
    
    #navbar a:hover {
      color: #0088a9;
    }
    
*/

/* Base navbar styling */
#navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;            /* Flex layout for horizontal nav */
  flex-wrap: wrap;          /* Wrap items if too narrow */
  justify-content: center;  /* Center the nav items */
}

#navbar li {
  padding: 15px;
}

#navbar a {
  text-decoration: none;
  font-size: 16px;
  color: DarkSlateGrey;
  transition: all 0.3s ease;
}

#navbar a:hover {
  color: #0088a9;
}

/* Responsive behavior for small screens */
@media screen and (max-width: 600px) {
  #navbar ul {
    flex-direction: column;        /* Stack vertically */
    align-items: center;
  }

  #navbar li {
    display: block;
    text-align: center;
    width: 100%;                   /* Full width items */
    padding: 10px 0;
  }

  #navbar a {
    font-size: 18px;
  }
}

    
/* Hero images
-------------------------------------------------*/
  .hero-image {
    height: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
  }

  .home-hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/bee-hero2.jpg");
  }
  .about-hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/bee_hero3.jpg");
  }
  .blog-hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/bee_hero4.jpg");
  }
  .contact-hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/bee_hero5.jpg");
  }

  .hero-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 15px;
    color: white;
  }
  
  .hero-text button {
    outline: 0;
    display: inline-block;
    padding: 10px 25px;
    color: rgb(8, 187, 241);
    background-color: rgb(75, 72, 72);
    text-align: center;
    cursor: pointer;
    font-size: 15px;
    border-radius: 26px;
    border-color: antiquewhite;
  }
  
  .hero-text button:hover {
    background-color: #555555;
    color: white;
  }






/* Hyperlink Design
  ------------------------------------------*/
 
  .styled-link {
    color: #ff9800; /* honey-golden color */
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
  }

  .styled-link:hover {
    color: #f57c00; /* darker golden on hover */
    text-decoration: underline;
  }







  /* Images
  ------------------------------------------*/
  .img-program {
    width: 257px;
    height: 133px;
  }

  .p-program {
    padding:20px;
    font-size: 15px;
    text-align: center;
  }

  .p-team {
    font-size: 15px;
    text-align: left;
  }

  /* footer: set z priority
  -----------------------------------------*/
  footer {
    z-index: 1;
    text-align: center;
    bottom: 0;
    width: 100%;
    background: #343434;
    border-top: var(--border);
    font-family: var(--addFont);
    color: #f7fff7;
  }
  
  /* copyright
  ---------------------------------------- */
  .social {
    list-style-type: none;
    padding: 0;
  }
  .social p {
    margin: 0;
    padding: 18px;
  }
  /* social contact info
  --------------------------------------- */
  .social a {
    padding: 15px;
    display: inline-block;
    color:teal;
    text-decoration: none;
  }
  
  /* social contact info on hover: set rounded border */
  .social a:hover {
    color: white;
  }

  .content-wrap {
    max-width: 800px;
    width: 85%;
    margin: 0 auto;
    padding: 30px 0;
  }






  /* Flexbox
---------------------------------------------*/
.flex-container {
    display: flex;
    background-color: lightgrey;
  }
  
.flex-container > div {
    background-color: #f1f1f1;
    margin: 10px;
    padding: 20px;
    font-size: 15px;
  }

/* Create three equal columns that floats next to each other set in div tag 
----------------------------------------------------------------------------*/
.column {
    float: left;
    width: 100%;
    padding: 20px;
    /*height: auto; */
  }

 .col-s-4 {
   width: 100%;
  }

  /* Team member profile infor
  ------------------------------------------------------*/
  .card {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    max-width: 300px;
    margin: auto;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
  }
  
  .title {
    color: grey;
    font-size: 18px;
  }
  
/* Blog image 
------------------------------------------------------*/
.img-blog {
    background-color: #aaaaaa;
    width: 100%;
    padding: 20px;
  }
  
/* Add a card effect for articles */
.card-blog {
     background-color: white;
     padding: 20px;
     margin-top: 20px;
  }
  
/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
  }











  /* ---------------  For the contact page --------------------*/

    .contact-container {
      display: flex;
      flex-wrap: wrap;
      gap: 2rem;
      justify-content: center;
      align-items: flex-start;
    }

    .contact-column {
      flex: 1 1 300px;
      min-width: 280px;
    }

    .contact-column img {
      width: 100%;
      border-radius: 10px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    form {
      background: #ffffff;
      padding: 1.5rem;
      border-radius: 10px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    label {
      display: block;
      margin-top: 1rem;
      font-weight: bold;
    }

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    select,
    textarea {
      width: 100%;
      padding: 10px;
      margin-top: 0.5rem;
      border-radius: 8px;
      border: 1px solid #ccc;
      font-size: 14px;
    }

    input[type="submit"] {
      background-color: #f4a261;
      color: white;
      border: none;
      padding: 12px;
      margin-top: 1.5rem;
      font-size: 16px;
      width: 100%;
      border-radius: 8px;
      cursor: pointer;
    }


    input[type="submit"]:hover {
      background-color: #e07a5f;
    }









/* -- Gallery ----------------------------------- */
h2 {
  text-align: center;
  color: #f4a261;
}

div.gallery {
    border: 1px solid #ccc;
  }
  
  div.gallery:hover {
    border: 1px solid #777;
  }
  
  div.gallery img {
    width: 100%;
    height: auto;
  }
  
  div.desc {
    padding: 15px;
    text-align: center;
  }
  
  * {
    box-sizing: border-box;
  }
  
  .responsive {
    padding: 0 6px;
    float: left;
    width: 24.99999%;
  }
  
  @media only screen and (max-width: 700px) {
    .responsive {
      width: 49.99999%;
      margin: 6px 0;
    }
  }
  
  @media only screen and (max-width: 500px) {
    .responsive {
      width: 100%;
    }
  }
  
  .clearfix:after {
    content: "";
    display: table;
    clear: both;
  }
  



/* Media Queries
-----------------------------------------------------*/

/* For mobile phones: */
[class*="col-"] {
    width: 100%;
  }
  
  @media only screen and (min-width: 600px) {
    /* For tablets: */
    .col-s-1 {width: 8.33%;}
    .col-s-2 {width: 16.66%;}
    .col-s-3 {width: 25%;}
    .col-s-4 {width: 33.33%;}
    .col-s-5 {width: 41.66%;}
    .col-s-6 {width: 50%;}
    .col-s-7 {width: 58.33%;}
    .col-s-8 {width: 66.66%;}
    .col-s-9 {width: 75%;}
    .col-s-10 {width: 83.33%;}
    .col-s-11 {width: 91.66%;}
    .col-s-12 {width: 100%;}


    .hero-text {
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 15px;
      color: white;
      padding: 10px;
      width: 90%; /* ensures it doesn't overflow */
      max-width: 600px;
      box-sizing: border-box;
    }
    

  }






   /* For desktop: */

  @media only screen and (min-width: 768px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}

    #navbar li {
        display: inline; /* displays the list of list elements into a single line */
        padding: 0px 15px; /* adds padding to the right of each link so they sit far apart */
    }

    .flex-container > div {
        background-color: #f1f1f1;
        margin: 10px;
        padding: 20px;
        font-size: 30px;
    }
    .hero-text {
        text-align: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 30px;
        color: white;
      }
      
      .hero-text button {
        outline: 0;
        display: inline-block;
        padding: 10px 25px;
        color: rgb(8, 187, 241);
        background-color: rgb(75, 72, 72);
        text-align: center;
        cursor: pointer;
        font-size: 20px;
        border-radius: 26px;
        border-color: antiquewhite;
      }
      .img-program {
        width: 145px;
        height: 82px;
      }
      .p-program {
        padding:25px;
        font-size: 18px;
      }
      .p-team {
        font-size: 12px;
      }

  }
