/* Center navbar content only when collapsed (mobile view) */
@media (max-width: 991.98px) {
  .navbar .container-fluid {
    justify-content: center !important;
  }
  .navbar-nav {
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
/* Responsive Typography and Card Layouts */
@media (max-width: 992px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.25rem;
  }
  .services-title {
    font-size: 1.5rem;
  }
  .service-img {
    max-width: 160px;
  }
}

@media (max-width: 768px) {
  .banner {
    height: 180px;
  }
  .banner img {
    height: 180px;
  }
  .service-img {
    max-width: 120px;
  }
  .list-group-item {
    padding: 1rem 0.5rem;
  }
  .row.align-items-center > .col-md-4,
  .row.align-items-center > .col-md-8 {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }
  .row.align-items-center > .col-md-8 > h4,
  .row.align-items-center > .col-md-8 > ul,
  .row.align-items-center > .col-md-8 > p {
    text-align: left !important;
    padding-left: 1rem !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 576px) {
  .services-title {
    font-size: 1.1rem;
  }
  .service-img {
    max-width: 90px;
  }
  .banner {
    height: 120px;
  }
  .banner img {
    height: 120px;
  }
}

/* Responsive Banner Styles */
@media (max-width: 768px) {
  .banner {
    height: 220px;
  }
  .banner img {
    height: 220px;
  }
}
/* Banner Styles (moved from home.css) */
.banner {
  height: 350px;
  overflow: hidden;
  position: relative;
}

.banner-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(180deg, rgba(30,30,30,0.20) 0%, rgba(30,30,30,0.40) 100%);
  pointer-events: none;
}

.banner img {
  filter: brightness(0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.banner-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 2;
}

.banner-text h1 {
  text-shadow: 2px 2px 8px #000;
}

.banner-text p {
  text-shadow: 1px 1px 6px #000;
}
/* Footer copyright and powered by styles */
.footer-copyright {
  color: #fbfafb;
  font-size: 1rem;
  margin-top: 4px;
  font-family: 'Segoe UI', 'Arial', sans-serif;
}
.footer-powered {
  color: var(--bs-secondary);
  font-size: 0.95rem;
  font-family: 'Segoe UI', 'Arial', sans-serif;
  margin-top: 2px;
  letter-spacing: 1px;
}
/* Footer styles based on navbar */
.custom-footer-bg {
  background-color: var(--bs-navbar-bg);
  color: var(--bs-navbar-color);
  border-top: 2px solid var(--bs-secondary);
}
.footer-logo {
  vertical-align: middle;
  width: 40px;
  height: auto;
  background-color: var(--bs-navbar-bg);
  border-radius: 8px;
  padding: 4px;
  margin-right: 12px;
}
.footer-title {
  color: #fbfafb;
  font-weight: bold;
  font-size: 1.25rem;
  vertical-align: middle;
  font-family: 'Segoe UI', 'Arial', sans-serif;
}
.footer-link {
  color: var(--bs-link-color);
  font-size: 1.1rem;
  text-decoration: none;
  font-family: 'Segoe UI', 'Arial', sans-serif;
  font-weight: 500;
}
.footer-link:hover {
  color: var(--bs-link-hover-color);
  text-decoration: underline;
}
/* Navbar brand title styling */
.navbar-title {
  color: #fbfafb;
  font-weight: bold;
  font-size: 1.5rem;
  vertical-align: middle;
}

/* Logo image in navbar */
.navbar-logo {
  vertical-align: middle;
  width: 10%;
  height: auto;
  background-color: var(--bs-navbar-bg);
  border-radius: 8px;
  padding: 4px;
}

/* Custom classes for moving inline styles to CSS */
.custom-navbar-bg {
  background-color: var(--bs-navbar-bg) !important;
  color: var(--bs-navbar-color) !important;
}
.custom-navbar-brand {
  color: var(--bs-navbar-brand-color) !important;
  font-weight: bold;
  font-family: 'Segoe UI', 'Arial', sans-serif;
  font-size: 2rem;
}
.custom-navbar-link {
  color: var(--bs-link-color) !important;
  font-size: 1.25rem;
}
.custom-navbar-link.active,
.custom-navbar-link:hover {
  color: var(--bs-link-hover-color) !important;
}

body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.navbar {
  background-color: var(--bs-navbar-bg) !important;
}

.navbar-brand {
  color: var(--bs-navbar-brand-color) !important;
  font-weight: bold;
}

.nav-link {
  color: var(--bs-link-color) !important;
}

.nav-link.active, .nav-link:hover {
  color: var(--bs-link-hover-color) !important;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--bs-navbar-brand-color);
  font-family: 'Segoe UI', 'Arial', sans-serif;
  font-weight: 700;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
}

.btn-secondary {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: #fff;
}

.card {
  border: 1px solid var(--bs-primary);
}

.card-header {
  background-color: var(--bs-primary);
  color: #fff;
}

.card-body {
  background-color: #fff;
  color: var(--bs-body-color);
}

.navbar-toggler {
  background-color: var(--bs-navbar-brand-color);
}

/* True North Services Custom Theme - Generated from pics/tns_logo.jpg and pics/tns_flyer.jpg
   Colors inspired by the logo and flyer: navy blue, gold, white, and accent gray. */
:root {
  --bs-primary: #1a2a4f !important; /* Navy Blue from logo */
  --bs-secondary: #d4af37; /* Gold from flyer */
  --bs-success: #4caf50;
  --bs-info: #5bc0de;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-body-bg: #f4f6fa; /* Light gray background */
  --bs-body-color: #1a2a4f; /* Navy text */
  --bs-navbar-bg: #031a60; /* Navy blue from logo */
  --bs-navbar-color: #f7e7a3 !important;
  --bs-navbar-brand-color: #f7e7a3 !important; /* Gold from logo for brand */
  --bs-link-color: #fec600;
  --bs-link-hover-color: #fff3ca;
}

.navbar {
  --bs-primary: #1a2a4f !important; /* Navy Blue from logo */
  --bs-secondary: #d4af37; /* Gold from flyer */
  --bs-success: #4caf50;
  --bs-info: #5bc0de;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-body-bg: #f4f6fa; /* Light gray background */
  --bs-body-color: #1a2a4f; /* Navy text */
  --bs-navbar-bg: #031a60; /* Navy blue from logo */
  --bs-navbar-color: #f7e7a3 !important;
  --bs-navbar-brand-color: #f7e7a3 !important; /* Gold from logo for brand */
  --bs-link-color: #fec600;
  --bs-link-hover-color: #fff3ca;
}