/* Default styles are for mobile screens (phones, 0px - 576px) */
body {
  font-size: 14px; /* General mobile-friendly font size */
}

.navbar-brand {
  font-size: 16px;
}

.header_top_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact_nav {
  display: flex;
  flex-direction: column; /* Stack items vertically by default */
  align-items: flex-start; /* Align items to the left */
  gap: 10px; /* Space between contact links */
}

.contact_nav a {
  display: flex;
  align-items: center; /* Align icons and text */
  text-decoration: none; /* Remove underline */
  color: inherit; /* Inherit text color */
  font-size: 14px; /* Font size for smaller screens */
  gap: 5px; /* Space between icons and text */
  margin-bottom: 8px;
}

img {
  max-width: 100%; /* Prevent images from overflowing */
  height: auto; /* Maintain aspect ratio */
}

/* Small Devices (Tablets, 576px - 768px) */
@media (min-width: 576px) and (max-width: 768px) {
  .header_top_container {
    flex-direction: row; /* Align header items side by side */
    justify-content: space-between;
    text-align: left;
  }

  .contact_nav {
    flex-direction: row; /* Align contact links horizontally */
    flex-wrap: wrap; /* Allow wrapping to the next row if needed */
    justify-content: space-between; /* Spread out items evenly */
    gap: 15px;
  }

  .contact_nav a {
    margin-bottom: 0; /* Remove bottom margin for horizontal layout */
    font-size: 15px;
  }

  .navbar-brand {
    font-size: 18px;
  }
}

/* Medium Devices (Laptops, 768px - 992px) */
@media (min-width: 768px) and (max-width: 992px) {
  .header_top_container {
    padding: 10px 20px;
  }

  .contact_nav {
    gap: 20px; /* Add more spacing between links */
  }

  .contact_nav a {
    font-size: 16px; /* Slightly larger text for better readability */
  }

  .navbar-brand {
    font-size: 20px;
  }
}

/* Large Devices (Desktops, 992px and above) */
@media (min-width: 992px) {
  .header_top_container {
    padding: 20px 40px;
  }

  .contact_nav {
    flex-direction: row; /* Align items horizontally */
    justify-content: space-evenly; /* Spread out evenly */
  }

  .contact_nav a {
    font-size: 18px; /* Larger font for desktops */
  }

  .navbar-brand {
    font-size: 22px;
  }
}
/* Style for input fields and textarea */
.contact-form .form-control {
  border: 2px solid #004445; /* Set border color to #004445 */
  border-radius: 5px; /* Optional: Add rounded corners */
  padding: 10px; /* Add padding for better spacing */
  font-size: 16px; /* Set font size */
  color: #333; /* Text color */
  background-color: #fff; /* Ensure background is white */
  transition: border-color 0.3s ease-in-out; /* Smooth transition on focus */
}

/* Style for input fields and textarea on focus */
.contact-form .form-control:focus {
  border-color: #00665c; /* Slightly lighter shade for focus */
  outline: none; /* Remove the default focus outline */
}

/* Style for the submit button */
.contact-form .btn {
  border-radius: 5px; /* Optional: Match input box radius */
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}

/* Hover effect for button */
.contact-form .btn:hover {
  background-color: #003531; /* Darker shade on hover */
}

.custom-img {
  max-width: 100%; /* Ensures the image is responsive */
  height: auto; /* Maintains aspect ratio */
  max-height: 450px; /* Set the maximum height to reduce image size */
  object-fit: cover; /* Ensures the image covers the container */
  border-radius: 10px; /* Optional: Add rounded corners */
  margin: 0 auto; /* Center the image */
}

.carousel-img {
  width: 100%; /* Ensures the image spans the width of the container */
  height: auto; /* Maintains aspect ratio */
  max-height: 500px; /* Limits the maximum height for consistency */
  object-fit: cover; /* Ensures the image covers the container without distortion */
}

/* Responsive styles for different screen sizes */
@media (max-width: 768px) {
  .carousel-img {
      max-height: 350px; /* Adjust the height for smaller screens */
  }
}

@media (max-width: 576px) {
  .carousel-img {
      max-height: 250px; /* Further adjust the height for very small screens */
  }
}

.header_top {
  background-image: url('images/hero-bg.jpg'); /* Set the background image */
  background-size: cover; /* Ensure the image covers the section */
  background-position: center; /* Center the image */
  background-repeat: no-repeat; /* Prevent repetition of the image */
  padding: 20px 0; /* Adjust padding for spacing */
  font-weight: bold; /* Make the text bold */
}

/* Styling the links and text inside the header */
.header_top .contact_nav a {
  color: rgb(255, 255, 255) !important; /* Set link text to black */
  font-weight: bold; /* Ensure the text is bold */
  text-decoration: none; /* Remove underline from links */
}

/* Add spacing and alignment for icons and text */
.header_top .contact_nav a i {
  margin-right: 8px; /* Add space between icons and text */
}
.navbar-toggler {
  border: none;
  outline: none;
  color: #004445; /* Change icon color */
}

.navbar-toggler-icon {
  background-image: url('data:image/svg+xml;charset=UTF8,%3Csvg xmlns%3D%22http://www.w3.org/2000/svg%22 viewBox%3D%220 0 30 30%22%3E%3Cpath stroke%3D%22rgba%280%2C 0%2C 0%2C 0.5%29%22 stroke-width%3D%222%22 d%3D%22M4 7h22M4 15h22M4 23h22%22/%3E%3C/svg%3E');
}

@media (max-width: 992px) {
  .navbar-nav {
      text-align: center;
  }

  .navbar-collapse {
      background-color: #004445; /* Add a background color for the collapsed menu */
      padding: 20px;
  }

  .navbar-nav .nav-link {
      color: white !important; /* White links in toggle menu */
      font-size: 18px;
      margin: 5px 0;
  }

  .navbar-brand {
      font-size: 24px;
      color: #004445 !important;
  }
}
