:root {
  --bloodred: #bc1717;
  --navy:  #192f59  ; /*#1e4b2d*/
  --seablue: #20B2AA; /*#; 0c961a*/
}

body {
  padding-top: 0px; /* Space for top bar + navbar */
}

.bg-navy { background-color: var(--navy) !important; }
.text-navy { color: var(--navy) !important; }
.text-bloodred { color: var(--bloodred) !important; }
.text-sea { color: var(--seablue) !important; }

.btn-bloodred {
  background-color: var(--bloodred);
  border-color: var(--bloodred);
  color: white;
}
.btn-bloodred:hover {
  background-color: #a11212;
  border-color: #a11212;
  transform: translateY(-2px);
}

.btn-sea {
  background-color: var(--seablue);
  border-color: var(--seablue);
}
.btn-sea:hover { background-color: #008B8B; transform: translateY(-2px); }

.btn-outline-sea { color: var(--seablue); border-color: var(--seablue); }
.btn-outline-sea:hover { background-color: var(--seablue); color: white; transform: translateY(-2px); }

.btn-outline-bloodred { color: var(--bloodred); border-color: var(--bloodred); }
.btn-outline-bloodred:hover { background-color: var(--bloodred); color: white; transform: translateY(-2px); }

.btn-applynow {
  background-color: white !important;
  color: var(--navy) !important;
  border: 2px solid white !important;
  border-radius: 25px;
  font-weight: bold;
  transition: all 0.3s;
}
.btn-applynow:hover {
  background-color: var(--navy) !important;
  color: white !important;
  border-color: var(--navy) !important;
  transform: translateY(-2px);
}

/* Top Bar - High z-index 
.top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  background-color: var(--navy);
 padding: 0.8rem 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  color: white;
}
.top-bar .contact-left,
.top-bar .contact-center,
.top-bar .contact-right {
  cursor: pointer;
  transition: color 0.3s;
}
.top-bar .contact-left:hover,
.top-bar .contact-center:hover,
.top-bar .contact-right:hover {
  color: var(--seablue) !important;
}
.top-bar .contact-center {
  text-align: center;
  max-width: 600px;
}  */
.container-wide .flex {
  display: flex;
  flex-wrap: nowrap;   /* prevent wrapping */
  justify-content: center; /* center horizontally */
  align-items: flex-start; /* align items at the top */
  gap: 2rem; /* space between items */
}

.container-wide .flex > div {
  flex: 0 0 auto; /* prevent shrinking */
}
.container-wide .flex img {
  width: 200px;   /* fixed width */
  height: 200px;  /* fixed height */
  object-fit: contain; /* keep aspect ratio */
}

/* hr */
hr {
  border: none;                /* remove default border */
  height: 4px;                 /* thickness of the line */
  background-color: #001f5b;   /* deep blue color */
  position: relative;          /* allow pseudo-element positioning */
  margin: 2rem 0;              /* spacing above/below */
}
hr::after {
  left: 50%;
  transform: translateX(-50%);
}
.container-wide .group {
  display: flex;
  flex-direction: column;   /* stack vertically */
  align-items: center;      /* center horizontally */
}

.container-wide .group img {
  display: block;           /* ensure image is block-level */
  margin-bottom: 0.5rem;    /* spacing between logo and text */
}

.container-wide .group p {
  display: block;           /* force block so it sits below */
  text-align: center;       /* center text under logo */
  margin: 0;                /* remove default margins */
}


/* Partners logos side-by-side styles */
.partners-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 2.5rem !important;
  width: 100% !important;
  max-width: 80rem !important;
  margin: 0 auto !important;
  padding: 0 1rem !important;
}

@media (min-width: 768px) {
  .partners-row {
    gap: 4rem !important;
  }
}

.partner-img {
  height: 6rem !important;
  width: auto !important;
  object-fit: contain !important;
  transition: all 0.3s ease !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  background: white !important;
  padding: 1rem !important;
  flex-shrink: 0 !important;
}

@media (min-width: 640px) {
  .partner-img {
    height: 8rem !important;
  }
}

@media (min-width: 768px) {
  .partner-img {
    height: 10rem !important;
  }
}

@media (min-width: 1024px) {
  .partner-img {
    height: 12rem !important;
  }
}

.partner-img:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

/* Override container-wide if needed */
.container-wide {
  max-width: 100% !important;
  padding: 0 1rem !important;
}

/* Main Navbar - Below top bar, higher z-index than content */
.navbar {
  z-index: 1055;
  margin-top: 0px !important;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

/* Navbar Menu Styles - Well Spaced, No Overlap */
.navbar-nav .nav-link {
  transition: all 0.3s ease;
  border-radius: 8px;
  padding: 0.75rem 1.5rem !important;
  margin: 0 0.125rem !important;
  font-weight: 500;
  position: relative;
}
.navbar-nav .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.556) !important;
  color: white !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(244, 246, 246, 0.3);
}
.navbar-nav .nav-link:not(:last-child) { margin-right: 0.5rem; }

.navbar-brand {
  font-size: 1.5rem !important;
}
.navbar-brand:hover {
  color: var(--seablue) !important;
}

.section-title {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
}

.hover-card {
  transition: all 0.4s ease;
}
.hover-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 25px 50px rgba(0,0,0,0.2) !important;
}

.hero-left { padding-top: 100px; }
.carousel-small { height: 400px; }
.carousel-small img { height: 100%; object-fit: cover; border-radius: 15px; }

.navbar.shadow-sm { box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important; }

html { scroll-behavior: smooth; }

@media (max-width: 992px) {
  .top-bar { display: none; }
  body { padding-top: 90px; }
}
@media (max-width: 768px) {
  .hero-left { padding-top: 80px; text-align: center; }
  .carousel-small { height: 300px; margin-top: 2rem; }
  .navbar-nav .nav-link { margin: 0.25rem 0 !important; padding: 0.5rem 1rem !important; }
  body { padding-top: 80px; }
}

footer a { color: rgba(255,255,255,0.8); }
footer a:hover { color: white; }

.list-group-item:hover { background-color: rgba(32,178,170,0.1); }

