/* General Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    font-family: 'Poppins', sans-serif;
  }
  
  /* Navbar */
  .navbar {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
    position: fixed; /* Makes it float above the hero section */
    top: 0;
    left: 0;
    width: 100%; /* Full width */
    background-color: rgba(255, 255, 255, 0.3); /* Semi-transparent background */
    color: rgb(0, 0, 0);
    z-index: 1000; /* Ensures it stays above other elements */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
    transform: translateY(0); /* Initial position */
    transition: transform 0.3s ease-in-out; /* Smooth hiding/showing */
  }
  
  .logo {
    height: 40px;
    margin-right: 50px;
  }
  
  .nav-links {
    display: flex;
    gap: 1.5rem;
  }
  
  .nav-links a {
    position: relative;
    color: inherit;
    text-decoration: none;
    display: inline-block;
    padding: 5px 10px; /* Adjust padding for better alignment */
  }

  .nav-links .highlight {
    color: rgb(144, 40, 248);
    font-weight: 500;
  }
  .mobile-menu .highlight {
    color: rgb(144, 40, 248);
    /* text-decoration: underline; */
    font-weight: 500;
  }
  
  .nav-links a:hover {
    color: rgb(255, 255, 255);
  }

  .nav-links a:hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgb(144, 40, 248);
    border-radius: 50px;
    z-index: -1;
  }
  
  
  .btn {
    padding: 0.5rem 1rem;
    background-color: rgb(144, 40, 248);
    color: white;
    text-decoration: none;
    border-radius: 20px;
  }


  .btn2 {
    padding: 0.5rem 1rem;
    background-color: rgb(144, 40, 248);
    color: white;
    width: 170px;
    text-align: center;
    text-decoration: none;
    border-radius: 20px;
  }
  
  .hamburger-menu {
    display: none;
    font-size: 1.5rem;
    background: none;
    border: none;
    color: rgb(0, 0, 0);
    cursor: pointer;
  }
  
  .mobile-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 70px;
    right: 10px;
    left: 10px;
    background-color: rgba(0, 0, 0, 0.9);
    padding: 1rem;
  }
  
  .mobile-menu a {
    color: white;
    text-decoration: none;
    padding: 0.5rem 0;
  }
  
  /* Hero Section */
  .hero-section {
    background-image: url('./assets/hero-background.jpeg');
    background-size: cover;
    background-position: center;
    color: white;
    text-align: center;
    padding: 4rem;
    margin-top: 70px; /* Adjust to avoid content hidden under the navbar */
  }
  
  .hero-content .row {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 1rem;
    margin: 0rem 0;
  }
  
  .text-column {
    /* flex: 1; */
    color: black;
    text-align: left;
  }

  .text-column h1
  {
    color: black;
    font-size: 2.5rem;
    font-weight: bold;
  }
  .text-column h2
  {
    padding-top: 30px;
    color: black;
    font-size: 3rem;
    font-weight:bold;
  }
  .text-column .purple
  {
    color: rgb(144, 40, 248);
  }
  
  .image-column img {
    max-width: 60%;
    height: auto;
  }
  
  .container {
    display: flex;
    flex-direction: column;
    gap: 0rem; /* Space between columns */
    padding: 0rem;
    background-color: rgba(255, 255, 255, 0.8);
    color: black;
    border-radius: 10px;
    width: 25%;
    align-items: center;
    justify-content: center;
  }
  
  .image-row {
    display: flex;
    justify-content: center; /* Positions images to the right and left */
    align-items: center;
    gap: 10px;
    margin-bottom: 20px; /* Space below the image row */
  }
  
  .image {
    width: 35%; /* Adjust width for images */
    height: auto;
    border-radius: 15px;
  }
  
  .content-row {
    display: flex;
    justify-content: space-between; /* Distributes text and stacked images to edges */
    align-items: center;
  }
  
  .text {
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    line-height: 24px;
    margin-right: 30px;
  }
  
  .stacked-images {
    display: flex;
    flex-direction: column; /* Stack images vertically */
  }
  
  .stacked-image {
    width: 100px; /* Adjust size for stacked images */
    height: auto;
    margin-bottom: 10px; /* Space between stacked images */
  }
  



  /* about */
.about-us {
  padding: 2rem;
  background-color: #ffffff;
  text-align: center; /* Center-align text and images by default */
}

.about-us h1 {
  font-size: 2.5rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
  color: #000000;
}

/* Image Styling */
.about-image {
  width: 15%;
  max-width: 400px;
  margin: 1rem auto;
  display: block;
  border-radius: 10px;
}

/* Paragraph Styling */
.about-paragraph {
  margin: 1rem auto;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 1000px;
  color: #555;
  text-align: center;
}

/* Row Layouts */
.rowa {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0rem auto;
  max-width: 800px;
  text-align: center;
}

/* Row Children Styling */
.rowa .about-paragraph {
  flex: 1;
  text-align: center;
  max-width: 1000px;
}

.rowa .about-image {
  flex: 1;
  max-width: 150px;
}

/* Wrapper for all containers */
.container1-wrapper {
  display: flex;
  flex-wrap: wrap; /* Ensures wrapping for responsiveness */
  gap: 1rem; /* Space between containers */
  justify-content: space-around; /* Evenly distribute containers */
}

/* Each content box */
.content-box {
  flex: 1 1 calc(50% - 1rem); /* Two containers per row on desktop */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8); /* Optional background */
  padding: 1rem;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Image styling */
.content-image {
  width: 100%;
  max-width: 80px; /* Adjust size as needed */
  border-radius: 5px;
}

/* Title styling */
.content-title {
  font-size: 1.5rem;
  margin: 0.5rem 0;
}

/* Paragraph styling */
.content-text {
  font-size: 0.9rem;
  color: #000000;
}








/* Services */
.services-section {
  padding: 2rem;
  background-color: #ffffff;
  text-align: center;
}

.services-header {
  font-size: 2.5rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

.services-description {
  font-size: 1rem;
  margin-bottom: 2rem;
  color: #000000;
}

/* Categories section styling */
.categories-wrapper {
  text-align: center;
}

.categories-header {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

.categories-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

/* Each category box */
.category-box {
  flex: 1 1 calc(33% - 1rem); /* 3 containers per row on desktop */
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  align-items: center;
  padding: 1rem;
  text-align: center;
  display: flex; /* Enable flexbox */
  flex-direction: column; /* Arrange children vertically */
  justify-content: space-between; /* Push items apart vertically */
}

.category-title {
  font-size: 1rem;
  color: #ffffff;
  font-weight: 300;
  margin-bottom: 0.5rem;
  padding: 3px;
  align-self: self-start;
  position: relative; /* Required for pseudo-element positioning */
  z-index: 1; /* Ensure the text is above the background */
}

.category-title::before {
  content: ""; /* Necessary to render the pseudo-element */
  position: absolute;
  top: 50%; /* Center vertically */
  left: 0;
  transform: translateY(-50%); /* Adjust for perfect vertical centering */
  width: 100%; /* Match the width of the title */
  height: 100%; /* Match the height of the title */
  /* background: linear-gradient(to bottom, purple, #6a0dad); */
  border-radius: 7px; /* Rounded corners */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Bottom box shadow */
  z-index: -1; /* Place behind the text */
}


.category-image {
  width: 100%;
  max-width: 250px;
  border-radius: 5px;
  margin-bottom: 1rem;
}

.category-description {
  font-size: 0.9rem;
  color: #000000;
}

/* contact */
.contact-section {
  text-align: center;
  padding: 0rem;
  background-color: #ffffff;
  border-radius: 10px;
  margin: 10px;
}

.contact-header {
  font-size: 2.5rem;
  margin-top: 5rem;
  margin-bottom: 0rem;
  color: #000000;
}

.contact-image {
  width: 100%;
  max-width: 600px;
  border-radius: 10px;
}

.contact-description {
  font-size: 1rem;
  color: #000000;
  margin-bottom: 2rem;
}
.contact-section h4 {
  font-size: 1.4rem;
  color: #000000;
  margin-bottom: 1rem;
  font-weight: 500;
}

.contact-details {
  display: flex;
  flex-wrap: wrap; /* Ensure responsiveness */
  justify-content: center; /* Align horizontally on desktop */
  gap: 1rem; /* Add space between items */
  margin-top: 50px;
  margin-bottom: 50px;
}

.contact-item {
  flex: 1 1 30%; /* Ensures flexibility */
  max-width: 30%; /* Limits size on desktop */
  font-size: 1rem;
  /* background-color: #fff; */
  padding: 1rem;
  border-radius: 10px;
  /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
  text-align: center;
}

.contact-link {
  text-decoration: none;
  color: #000000;
  transition: color 0.3s ease; /* Smooth transition */
}

.contact-link:hover {
  color: rgb(144, 40, 248); /* Hover color */
}


/* Job openings */
/* * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
} */

.body-job {
  display:block;
  align-items: center;
  justify-content: center;
  min-height: 110%;
  background-color: #ffffff;
}

/* job Section container */
.job-openings {
  width: 100%;
  height: 90vh;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Header styles */
.header-container {
  background-color: rgb(144, 40, 248);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  margin-top: 3.5rem;
  margin-bottom: 20px;
}

.header-title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}

/* Search container */
.search-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.job-count {
  font-size: 16px;
  color: #555;
}

.search-field {
  width: 50%;
  max-width: 300px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 14px;
}

/* Table styles */
.table-container {
  overflow-x: auto;
}

.job-table {
  width: 100%;
  border-collapse: collapse;
}

.job-table th,
.job-table td {
  padding: 15px;
  text-align: left;
  border: 1px solid #ddd;
}

.job-table th {
  background-color: #f2f2f2;
  font-weight: bold;
}

.job-table tr:nth-child(even) {
  background-color: #f9f9f9;
}

.apply-btn {
  color: rgb(144, 40, 248);
  text-decoration: none;
  font-weight: bold;
  border: 1px solid rgb(144, 40, 248);
  padding: 5px 10px;
  border-radius: 8px;
  transition: background-color 0.3s, color 0.3s;
}

.apply-btn:hover {
  background-color: rgb(144, 40, 248);
  color: white;
}





/* footer */
.footer {
  display: flex;
  flex-wrap: wrap; /* Ensures responsiveness */
  justify-content: space-between; /* Distributes sub-sections evenly */
  align-items: center; /* Aligns items vertically */
  padding: 2rem;
  background-color: rgb(144, 40, 248);
  color: #fff;
  text-align: center;
  position: relative;
  bottom: 0;
  width: 100%;
}

.footer-section {
  flex: 1; /* Ensures equal spacing in desktop view */
  margin: 0rem;
  display: flex;
  flex-direction: column;
  align-items: center; /* Centers content */
  text-align: left;
}

/* First Sub-section Image */
.footer-image {
  max-width: 150px;
  border-radius: 10px;
}

/* Second Sub-section Images */
.footer-images {
  display: flex;
  gap: 1rem;
}

.social-image {
  max-width: 90px;
  border-radius: 5px;
}

/* Third Sub-section Icons */
.footer-icons {
  display: flex; /* Arrange items in a row */
  justify-content: center; /* Center the icons horizontally */
  align-items: center; /* Align icons vertically */
  gap: 1rem; /* Space between the icons */
  margin-bottom: 15px;
}

.last {
  text-align: center;
}
.company {
  text-align: start;
}
.company a {
  text-align: start;
  text-decoration: none;
  color: #fff;
  font-size: 1rem;
}

.company a:hover {
  text-decoration: underline;
}

.footer-icons .link {
  text-decoration: none;
}

.footer-icons i {
  font-size: 1.5rem;
  color: rgb(144, 40, 248);
}

.footer-icon-container {
  display: flex; /* Ensures the icon is centered within the circle */
  justify-content: center;
  align-items: center;
  width: 40px; /* Set the size of the circle */
  height: 40px;
  background-color: white;
  border-radius: 50%; /* Makes it a circle */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5); /* Adds the drop shadow */
}

/* Fourth Sub-section Text */
.footer-section p {
  font-size: 0.9rem;
}


/* subs */
.action {
  display: flex;
  flex-direction: column; /* Stack items vertically */
  align-items: center;    /* Center items horizontally */
  margin-top: 50px;
  margin-bottom: 50px;
}

.action .btn {
  margin: 50px;
}

/* Privacy/Terms */
.button-container {
  display: flex;
  justify-content: center;
  gap: 36px; /* Gap between buttons */
  flex-wrap: wrap; /* Allow wrapping for smaller screens */
}

.button-container .button {
  text-decoration: none; /* Remove underline */
  padding: 10px 20px;
  background-color: rgb(214, 214, 214); /* Button color */
  color: black;
  border: none;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  border-radius: 50px;
}

.container2 {
  background: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  width: 90%;
  max-width: 700px;
  justify-self: center;
  margin: 50px;
}
.container2 h2 {
  text-align: center;
  margin-bottom: 20px;
}
.form-group {
  margin-bottom: 15px;
}
.form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.form-group input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.submit-btn {
  width: 100%;
  padding: 10px;
  background: rgb(255, 49, 98);
  border: none;
  color: white;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
}
.submit-btn:hover {
  background: rgb(153, 24, 54);
}

/* Privacy Policy table */

table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px auto;
}
th, td {
  border: 1px solid #333;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}
th {
  background-color: #f2f2f2;
}









  
  
  
  /* Mobile Styles */
  @media (max-width: 768px) {
    body{
      /* margin: 0 10px; */
    }

    /* hero section */
    .nav-links {
      display: none;
    }

    .navbar {
      justify-content: space-between;
    }
  
    .hamburger-menu {
      display: block;
    }
  
    .mobile-menu {
      display: none;
      flex-direction: column;
    }
  
    .mobile-menu.active {
      display: flex;
    }

    .hero-section {
      padding: 0.5rem;
    }
  
    .hero-content .row {
      flex-direction: column;
    }

    .text-column h1
    {
      font-size: 1.5rem;
    }

    .text-column h2
    {
      padding-top: 30px;
      font-size: 2rem;
    }

    .image-column img {
      max-width: 80%;
      height: auto;
    }
  
    .image-column img {
      margin-bottom: 1rem;
    }
  
    .container {
      margin-bottom: 1rem;
      width: 95%;
    }

    .column h2 {
      font-size: 0.7rem;
    }

    .side-image {
      width: 115%;
    }




    /* about */
    .rowa {
      flex-direction: column;
    }

    .about-us h1 {
      font-size: 1.5rem;
    }

    .about-paragraph {
      text-align: center;
      font-size: 0.8rem;
    }

    .about-image {
      width: 60%;
    }

    .rowa .about-image {
      width: 40%;
    }

    .content-box {
      flex: 1 1 100%; /* Each container takes the full width */
    }




    /* services */
    .categories-grid {
      flex-direction: column; /* Stack containers vertically */
    }
  
    .category-box {
      flex: 1 1 100%; /* Full width for each container */
    }

    .services-header {
      font-size: 1.5rem;
    }



    /* contact */
    .contact-details {
      flex-direction: column; /* Stack vertically */
      align-items: center; /* Center items */
    }
  
    .contact-item {
      max-width: 100%; /* Full width for mobile */
    }

    .contact-header {
      font-size: 1.5rem;
    }

    .search-container {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
    }
  
    .search-field {
      width: 100%;
    }
  
    .job-table th,
    .job-table td {
      padding: 10px;
    }



    /* footer */
    .footer {
      flex-direction: column; /* Makes sub-sections vertical */
      text-align: center;
      gap: 20px;
    }
    .company a {
      text-decoration: underline;
    }

    /* Privacy/Terms */
    .button-container {
      flex-direction: column; /* Stack buttons vertically */
      gap: 12px; /* Adjust gap for mobile */
    }

    .button-container .button {
        width: 100%; /* Full-width buttons for mobile */
    }
  }
  