* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Lufga', sans-serif;
  /* For Firefox */
  scrollbar-width: auto; /* Thin scrollbar */
  scrollbar-color: rgba(0, 0, 0, 0.5) transparent; /* Thumb color, transparent track */
  
}

/* For WebKit-based browsers (Chrome, Edge, Safari) */
::-webkit-scrollbar {
  width: 8px; /* Thin scrollbar */
}

::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent dark color for the thumb */
  border-radius: 10px; /* Rounded edges for a modern look */
  transition: background-color 0.3s ease; /* Smooth transition on hover */
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.8); /* Darker thumb on hover */
}

::-webkit-scrollbar-track {
  background-color: transparent; /* Transparent track to blend into the page */
}

/* For Hover Effect (Optional) */
body:hover::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.8); /* Darker thumb on body hover */
}

body {
  line-height: 1.6;
  color: #333;
}

.btn:hover {
  transform: scale(1.01);
}

.btn:active {
  transform: scale(0.95);
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 50px;
  background: white;
  position: fixed;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #eee;
  z-index: 1000;
}

header .hermes-logo {
  display: flex;
  align-items: center;
}

header .hermes-logo img {
  max-height: 60px;
}

header nav {
  display: flex;
  align-items: center;
}

header nav a {
  margin: 0 15px;
  text-decoration: none;
  color: #333;
  font-weight: 500;
}

header .btn-cta {
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  background: #333;
  color: white;
  cursor: pointer;
  font-size: 1rem;
}

/* New CSS for responsiveness */
@media (max-width: 768px) {
  header nav {
    display: none; /* Hide the navigation initially */
    flex-direction: column;
    background: white;
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
    align-items: center;
  }

  header nav a {
    margin: 5px 0; /* Add vertical spacing */
    padding: 10px 20px;
  }

  .hamburger {
    display: flex; /* Show hamburger on smaller screens */
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 18px;
    cursor: pointer;
  }

  .hamburger div {
    width: 100%;
    height: 3px;
    background: #333;
    transition: all 0.3s;
  }

  .hamburger.open div:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .hamburger.open div:nth-child(2) {
    opacity: 0;
  }

  .hamburger.open div:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }

  nav.show {
    display: flex; /* Show the navigation when active */
  }
}

/* Hero Section CSS */
.hero {
  position: relative;
  height: 100vh;
  display: flex;
  justify-content: left;
  align-items: center;
  color: #eee;
  text-align: left;
  padding: 10%;
  background:
    linear-gradient(
      rgba(0, 0, 0, 0.3),
      rgba(0, 0, 0, 0.3)
    ),
    url('../assets/images/DSC00057.jpeg') no-repeat center center/cover;
}

.hero h1 {
  font-size: 3.25rem;
  margin-bottom: 20px;
}

.hero p {
  font-size: 1.25rem;
  max-width: 500px;
  margin-bottom: 20px;
}

.hero .btn {
  padding: 10px 5px;
  border: none;
  border-radius: 10px;
  background: #b22222;
  color: #eee;
  font-size: 1rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  display: flex;
  max-width: 10rem;
  max-height: 2.5rem;
  gap: 0.5rem;
}

.right_arrow {
  width: 1.2rem;
  height: 1.2rem;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}

.btn:hover .right_arrow {
  transform: translateX(0.15rem);
  transform: scale(1.05);
  transform: rotate(45deg);
  transition: all 0.5s;
}

.features {
  text-align: center;
  padding: 50px 20px;
}

.features h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #333;
}

.features h2 em {
  font-style: normal;
  color: #b22222;
}

.features .feature-list {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.features .feature {
  /* background: white; */
  margin-top: 20px;
  padding: 20px;
  /* //border-radius: 10px; */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  width: 300px;
  margin: 10px;
  text-align: left;
}

.feature-card-list {
  display: grid;
  /* display: flex; */
  justify-items: center;
  grid-template-columns: repeat(4, 1fr);
  /* Default: 4 items in a row */
  gap: 30px;
  /* Space between cards */
  width: 90%;
  max-width: 1200px;
  margin: 50px auto;
}

.feature-card {
  width: 250px;
  padding: 20px;
  background-color: #ffffff;
  /* White background for the card */
  text-align: left;
  border-radius: 10px;
  /* Rounded corners */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* Subtle shadow */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(209, 213, 219, 0.3);
}

.feature-card:hover {
  transform: translateY(-5px);
  /* Slight lift on hover */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  /* Darker shadow on hover */
}

.feature-card .card-icon {
  width: 50px;
  height: 50px;
  font-size: 30px;
  /* Icon size */
  /* margin: 0 auto 15px; Centered and spaced */
  background-color: #eee;
  /* Light background for icon container */
  color: #333;
  /* Icon color */
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-card .card-title {
  /* font-size: 18px; */
  /* font-weight: bold; */
  color: #333;
  /* Dark text color */
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.feature-card .card-description {
  color: #333;
  font-size: 1rem;
}

.advantages {
    text-align: center;
    padding: 50px 20px;
    background: #eee;
}
.advantages h2 {
    text-align: center;
    font-size: 2.25rem;
    gap: 20px;
    margin-bottom: 10px;
    color: #333;
}

.advantages h2 em {
    font-style: normal;
    color: #b22222;
}

.advantages h3 {
    text-align: left;
    font-size: 1.25rem;
}

.column p {
    text-align: left;
    font-size: 1rem;
}

.advantages-columns {
    /* display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
    margin: 50px auto;
    max-width: 1200px; */


    display: grid;
    /* display: flex; */
    justify-items: center;
    grid-template-columns: repeat(3, 1fr);
    /* Default: 4 items in a row */
    gap: 30px;
    /* Space between cards */
    width: 90%;
    max-width: 1200px;
    margin: 50px auto;
}

@media (max-width: 500px) {
  .advantages-columns {
    grid-template-columns: repeat(1, 1fr);
    justify-content: center;
  }
}
@media (max-width: 875px) {
  .advantages-columns {
    grid-template-columns: repeat(1, 1fr);
    justify-content: center;
    padding: 0% 7%;
  }
}
.column {
    text-align: left;
    font-size: 1rem;
}

.icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    background-color: #333;
    border-radius: 10px;
    margin: 0 auto 20px;
}

.icon {
    color: #fff;
    font-size: 1.75rem;
    font-weight: bold;
}


.rounded-box {
    width: 40px;
    height: auto;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
    background-color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5rem;
    color: #eee;
    text-align: center;
}

.logos {
    display: flex;
    justify-content: center;
    align-items: safe center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 5px;
}

.logo {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: safe center;
    /* background-color: #fff;
    border-radius: 10px; */
}

.logo img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    justify-content: center;
}

.more-upcoming {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333;
    color: #eee;
    font-size: 1.5rem;
    font-weight: 500;
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

@media (max-width: 768px) {
    .columns {
        grid-template-columns: 1fr;
    }
}

/* .logocloud {
    text-align: center;
    padding: 50px 20px;
}

.logocloud h2 {
    font-size: 2.25rem;
    margin-bottom: 30px;
    color: #333;
}

.logocloud h2 em {
    font-style: normal;
    color: #b22222;
}

.logos {
    display: flex;
    justify-content: center;
    align-items: safe center;
    gap: 3.5rem;
  }
  
  .logo img, .logo.upcoming .more-icon {
    width: 7rem; 
    height: 7rem;
    object-fit: contain; 
    display: flex; 
  }  

.logo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo span {
    font-size: 1rem;
    font-weight: 400;
    color: #333;
    margin-top: 0.5rem;
}

.logo.upcoming .more-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333;
    color: #eee;
    font-size: 1.5rem;
    font-weight: 500;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
}

.logo .logo.upcoming {
    display: flex;
    flex-direction: column;
    align-items: center;
} */


.ui {
  padding: 50px 20px;
  /* background: #eee; */
}

.ui h2 {
  text-align: center;
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #333;
}

.ui h2 em {
  font-style: normal;
  color: #b22222;
}

.text-image-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}

.text-image-container .text {
  justify-self: end;
  max-width: 700px;
  padding: 20px;
}

.text-image-container .text h3 {
  padding: 20px;
  font-size: 2rem;
}

.text-image-container .text p {
  font-size: 1.5rem;
  padding: 20px;
}

.text-image-container img {
  max-width: 650px;
  width:100%;
  height: auto;
  justify-self: start;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(209, 213, 219, 0.3);
}

.text-image-container img:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

@media (max-width: 850px) {
    .text-image-container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .text-image-container .text {
        padding: 10px;
        justify-self: center;
    }

    .text-image-container img {
        justify-self: center;
    }
}

.cta {
  background: #fff;
  color: 333;
  padding: 50px 20px;
  text-align: center;
}

.cta h2 {
  font-size: 2.25rem;
  margin-bottom: 20px;
  color: #333;
}

.cta h2 em {
  font-style: normal;
  color: #b22222;
}

.cta .btn {
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  background: #333;
  color: white;
  cursor: pointer;
  font-size: 1rem;
}

.cta .text {
  font-size: 1.5rem;
  padding: 20px;
}

/* Footer Styling */
footer {
  display: flex; 
  justify-content: space-between;
  align-items: center; 
  padding: 2vh 5vw;
  background: #fff;
  color: #333;
  border-top: 1px solid #eee;
  margin-top: 50px;
}

footer p {
  margin: 0;
  flex: 1;
  text-align: left; 
}

footer span {
  flex: 1;
  text-align: center; 
}

footer span .footer-logo {
  height: 50px;
  width: auto;
}

footer .social-icons {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

footer a {
  text-decoration: none;
  color: #333;
}

footer .fa {
  width: 50px;
  height: 50px;
  font-size: 30px !important;
  background: #333;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}

@media (max-width: 768px) {
  footer {
    flex-direction: column;
    align-items: center;
  }

  footer p, footer span, footer .social-icons {
    flex: unset;
    margin-bottom: 10px;
    text-align: center;
  }

  footer .social-icons {
    justify-content: center;
  }
}

/* Responsive Media Queries */
@media (max-width: 1390px) {
  .feature-card-list {
    grid-template-columns: repeat(2, 1fr);
    /* 2 items in a row */
    justify-content: center;
  }

  .feature-card {
    width: 400px;
  }
}


@media (max-width: 950px) {
  .feature-card-list {
    grid-template-columns: repeat(2, 1fr);
    /* 2 items in a row */
    justify-content: center;
  }

  .feature-card {
    width: 270px;
  }
}

@media (max-width: 600px) {
  .feature-card-list {
    grid-template-columns: 1fr;
    /* 1 item in a row */
    justify-content: center;
    gap: 20px
  }

  .feature-card {
    width: 320px;
  }
}