
/* Fix General Overflow */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* General Banner Styles */
.banner {
  background: url("images/banner-1920.webp") no-repeat center center / cover;
  height: 350px;
  position: relative;
  color: #ffffff;
  width: 100vw; /* Constrain width to viewport */
  overflow: hidden;
}

.banner .overlay {
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*.banner-header {*/
/*    padding: 5px 0; */
    /* Reduce vertical padding in the header */
/*}*/

.banner-header {
  background-color: #343a40;
  color: #ffffff;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 1050;
}

.banner h1,
.banner h2,
.banner p {
  color: #ffffff;
  text-shadow: none;
  z-index: 11;
}

/*.banner h1 {*/
/*  font-size: 3rem;*/
/*}*/

@media  (max-width: 768px) {
  /*.banner h1 {*/
  /*  font-size: 2.5rem;*/
  /*}*/
  
  .banner {
    background-image: url("images/banner-768.webp"); /* Smaller image for tablets */
  }
  
  navbar-nav {
        text-align: center; /* Center-align nav links */
  }
}

@media (max-width: 576px) {
  /*.banner h1 {*/
  /*  font-size: 2rem;*/
  /*}*/
  
  .banner {
    background-image: url("images/banner-480.webp"); /* Even smaller image for mobile */
  }
  
}

/* Adjustments for Small Screens */
@media (max-width: 414px) {
  .navbar-nav .nav-link {
    font-size: 0.9rem;
    padding: 5px;
  }
  /*.banner h1 {*/
  /*  font-size: 2rem;*/
  /*}*/

  .banner p {
    font-size: 0.9rem;
  }
}



/* Navbar Styles */

.navbar {
    width: 100%;
    margin: 0 auto;
}

.navbar-brand img {
    max-height: 50px; /* Shrink the logo size */
    height: auto; /* Maintain aspect ratio */
}

.navbar-nav .nav-link {
    font-size: 1rem; /* Keep the font readable but smaller */
    padding: 8px 10px; /* Adjust padding to reduce height */
}

.navbar-dark .navbar-nav .nav-link {
  font-size: 1.2rem;
  color: #ffffff;
  transition: color 0.3s ease, background-color 0.3s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

navbar-nav .nav-link {
        padding: 10px 0; /* Add vertical spacing between links */
        text-align: center;
    }

.navbar-collapse {
        padding: 10px 0; /* Add padding to the collapsed menu */
        overflow-x:hidden;
    }

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:active {
  background-color: #e59017;
  color: #ffffff;
  padding: 6px 10px;
  border-radius: 5px;
  font-weight: bold;
}

a {
  color: darkblue;
}

a:hover {
  color: #e59017;
  /* padding: 6px 10px; */
  /* border-radius: 5px; */
  font-weight: bold;
}


/* Back-to-Top Button */
#backToTop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  background-color: #e59017;
  color: #000000;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 1.5rem;
  text-align: center;
  cursor: pointer;
}

/* Services Section Styles */
.services-section img {
  max-width: 100px;
}

.about-section img {
    max-width: 350px; /* Increase the width for a larger display */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Center alignment */
    margin: auto; /* Add spacing around */
    border-radius: 50%; /* Keep circular appearance */
}


/* Footer General Styles */

#footer {
  background-color: #343a40;
  color: #ffffff;
}

/* Footer Background */
.bg-dark {
  background-color: #343a40; /* Dark gray background */
  color: #f8f9fa; /* Light gray text for better contrast */
}

/* Footer Links */
footer a {
  color: #eaeaea; /* Light gray for better contrast with dark background */
  text-decoration: none; /* Clean underline-free links */
}

footer a:hover {
  color: #e59017; /* Tracey Orange on hover for contrast and colour scheme */
  text-decoration: underline; /* Optional: underline for accessibility */
}

.thumb h2 {
  font-size: 1.5rem; /* Adjust as needed */
  line-height: 1.2; /* Ensure proper spacing */
  margin-bottom: 0.5rem; /* Add space below the heading */
}

