/* ===================== Site Chrome (Header + Footer only) ===================== */
#site-header, #site-header *, #site-footer, #site-footer * { box-sizing: border-box; }

/* ----------------- HEADER ----------------- */
#site-header { background:#fff; border-bottom:1px solid #e6e6e6; }
#site-header .navbar-wrapper { position:relative; }
#site-header .navbar { margin-bottom:0; padding:0; }

/* Brand/logo */
#site-header .navbar-brand img.logo { max-height:40px; width:auto; display:block; }

/* Collapsed area background and global spacing */
/*.navbar-collapse { background-color:#26405c; border:0 !important; } */
.navbar-nav { text-align:left; padding:20px 20px 40px; }

/* Top-level nav links (default and hover/open states) */
#site-header .navbar-nav > li > a.menu-item {
  color:#799abf;
  background-color:#26405c !important;
  margin-left:20px; margin-right:20px;
  padding-left:0; padding-right:0;
  text-decoration:none;
}
#site-header .navbar-nav > li > a.menu-item:hover,
#site-header .navbar-nav > .open > a,
#site-header .navbar-nav > .open > a:hover,
#site-header .navbar-nav > .open > a:focus {
  color:#ffffff;
 /* background-color:#26405c;*/
}

/* Small items (e.g., login/signup on the right) */
#site-header .navbar-nav li.small a { color:#d5d7da; }
#site-header .navbar-nav li.small { text-align:center; padding:0 20px; }
#site-header .navbar-nav button { width:100%; }

/* Dropdown menu look */
#site-header .dropdown-menu {
  text-align:left;
  margin-left:20px;
  /*background-color:#26405c;
  border:0; border-radius:0;*/
}
#site-header .dropdown-menu li a {
  color:#799abf !important;
  padding-left:10px !important;
  border:0;
}
#site-header .dropdown-menu li a:hover { color:#ffffff; }

#site-header .navbar-nav li a {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 14px;
}

#site-header.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.8;
    color: #5d6e80;
    white-space: nowrap;
}

#site-header .navbar-nav > li > .dropdown-menu {
    /*margin-top: 0; */
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

@media (min-width: 768px) {
}


/* Caret color shift on hover/open */
#site-header .dropdown-toggle .caret {
  border-top:4px solid #799abf;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  margin-left:6px;
}
#site-header .dropdown.open .dropdown-toggle .caret,
#site-header .dropdown-toggle:hover .caret { border-top-color:#ffffff; }

/* Toggler (hamburger) support for legacy and BS5 */
#site-header .navbar-toggle,
#site-header .navbar-toggler {
  border:1px solid transparent;
  border-radius:4px;
  padding:6px 8px;
  /*color:#d3d9df;*/
}
#site-header .navbar-toggle .fa,
#site-header .navbar-toggler .fa,
#site-header .navbar-toggler .fa-solid { font-size:18px; }

#site-header .navbar-toggle,
#site-header .navbar-toggler {
    position: relative;
    float: right;
    margin-right: 15px;
    padding: 9px 10px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}


.navbar-brand {
  /*float: left; */
  padding: 11px 15px;
  font-size: 20px;
  line-height: 28px;
  height: 50px;
}

/* Optional header “thank you” banner (if present) */
#site-header #thanks_msg .tnx_msg {
  background-color:#3B6491; color:#fff; padding:18px; border-radius:6px; position:relative;
}
#site-header #thanks_msg .close-btn { position:absolute; right:12px; top:10px; }
#site-header #thanks_msg .close-btn a { color:#fff; text-decoration:none; }



/* ----------------- FOOTER ----------------- */
#site-footer { 
/* background:#f8f9fa; */
border-top:1px solid #e6e6e6; 
color:#333; }

#site-footer .container { padding-top:1.5rem; padding-bottom:1.5rem; }

/* Footer logo */
#site-footer .logo { text-align:center; }
#site-footer .logo img { max-height:36px; width:auto; margin-top:-2px; margin-right:10px; margin-bottom:25px; }

/* Footer headings */
#site-footer h5 {
  margin-top:83px;               /* spacing consistent with current pages */
  text-transform:uppercase;
  font-size:14px;
  font-weight:bold;
  color:#3B6491;
}

/* Underline spacer block under h5 */
#site-footer .underline { margin:20px 0 20px 0; height:2px; width:36px; }


#site-footer .underline {
    width: 40px;
    height: 4px;
/*    margin: 30px auto; */
    background-color: #72bb45;
	text-align:left;
}


/* Footer links (default + hover) */
#site-footer a { color:#b6bbc0; text-decoration:none; }
#site-footer a:hover { color:#72bb45; text-decoration:none; }

/* Footer menus / pills and sizing */
#site-footer .menu .nav,
#site-footer .legal .nav,
#site-footer .social-links .nav { list-style:none; padding-left:0; margin-bottom:0; }
#site-footer .nav > li { display:inline-block; margin-right:.5rem; }
#site-footer .menu .nav { color:#b6bbc0; font-size:12px; }
#site-footer .nav li a { padding-left:0; padding-top:5px; padding-bottom:5px; }

/* Social links (vertical list option) */
#site-footer .social-links .nav.flex-column > li { display:block; margin-bottom:.25rem; }
#site-footer .social-links .nav-link,
#site-footer .social-links .nav > li > a {
  display:flex; align-items:center; padding-left:0; color:#212529;
}
#site-footer .social-links .nav-link:hover,
#site-footer .social-links .nav > li > a:hover { text-decoration:underline; }

/* Icon sizing/alignment (FA6/FA4 friendly) */
#site-footer .fa,
#site-footer .fa-solid,
#site-footer .fa-regular,
#site-footer .fab {
  width:20px; text-align:left; font-size:16px; margin-right:10px;
}


/* Back to top alignment and legal spacing */
#site-footer .to-top { text-align:right; }

/* Small-screen behavior for pills */
@media (max-width: 767.98px) {
  #site-footer .nav-pills > li { float:none; }
  #site-footer .nav-pills > li > a,
  #site-footer .nav .nav-pills a { text-align:center; padding-right:0; }
}


#site-footer .nav > li > a {
	position: relative;
    display: block;
    width: 180px;
    padding: 0px 15px;
}
#site-footer a {
    color: #b6bbc0 !important;
}

#site-footer a:hover {
    color: #72bb45 !important;
}

#site-footer * {
    text-align: left;
}

#site-footer .contact {
    margin-top: 50px;
    padding: 30px 30px 20px 30px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #dde0e2;
}

#site-footer .contact .form-control {
    display: block;
    width: 100%;
    height: 42px;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.8;
    color: #7f90a3;
    background-color: #f7f7f7;
    background-image: none;
    border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

#site-footer .legal a {padding-top: 5px 0px 15px 15px; width:inherit !important;}

#site-footer .nav-link { word-break: break-word; }

/* ===== AddTransit header (BS5) - laptop (lg) parity ===== */

/* Base (all sizes) */
.navbar { background:#fff; border-bottom:1px solid #e9ecef; }
.navbar-brand img { height:28px; vertical-align:middle; }

/* Link tone/weight like the good page */
.navbar .nav-link { color:#34495e; font-weight:500; opacity:1; }
.navbar .nav-link:hover,
.navbar .nav-link:focus { color:#1f2d3d; text-decoration:none; }

/* Active/current page */
.navbar .nav-link.active { color:#0f1720; font-weight:700; }

#site-header .navbar .nav-link.active { color:#0f1720 !important; font-weight:700; }


/* Dropdown items not washed out */
#site-header .dropdown-menu .dropdown-item { color:#34495e; font-weight:500; text-transform:none;}
#site-header .dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus { background:#f8f9fa; color:#34495e;}

/* Sign Up button to match visual weight */
.navbar .btn-success { font-weight:600; }

  .navbar-nav li a.nav-link,
  .navbar-nav li a.active {
    color: #556270;
    /*margin-left: 20px;
    margin-right: 20px;
    padding-left: 0;
    padding-right: 0;
	background-color: #26405c !important;*/
    /*border-bottom: 1px solid #3b6491;*/
  }

/* ===== Laptop and up (>=992px) ===== */
@media (min-width: 992px) {
  /* Align link baseline to logo at lg; matches “good” screenshot spacing */
  .navbar .nav-link { padding-top:18px; padding-bottom:18px; }

  /* Keep items right-aligned and vertically centered at lg */
  .navbar .navbar-nav { align-items:center; }

  /* Small breathing room before the Sign Up button */
  .navbar .nav-item .btn { margin-left:8px; }

  /* Remove any accidental low-contrast rules that were BS3-era */
  .navbar * { opacity:1 !important; }               /* neutralize old opacity hacks */
  .navbar .nav-link { color:#34495e !important; }   /* enforce dark slate */
  
   #site-header .navbar-nav li a.nav-link:hover, .navbar-nav li a.active, .navbar-nav li a.current {
        color: #556270;
        border-top: 3px solid #72bb45 !important;
        margin-top: -20px !important;
        padding-top: 36px;
    }

}
@media (max-width: 992px) {
	#site-header .navbar .nav-link.active { color:#0f1720 !important; font-weight:700; }
	#site-header .navbar .nav-link { color:#0f1720 !important; font-weight:700; }

	#site-header  .navbar-nav li a.active {
		color: #556270 !important;
	}
	
	#site-header .navbar-nav li a.nav-link:hover, .navbar-nav li a.active, .navbar-nav li a.current, .navbar .nav-link  {
        color: #556270;
	}
	
	#site-header .navbar-nav li.small a { color:#556270;font-weight:800; }
	
	.navbar-toggler {
	  border: none;                /* removes the 1px border */
	}

	.navbar-toggler:focus,
	.navbar-toggler:active {
	  outline: none;
	  box-shadow: none;            /* removes the glow */
	}
}

@media (max-width: 768px) {
	#site-header .dropdown-menu .dropdown-item { color:#26405c; font-weight:500; text-transform:none;}

	#site-header .navbar .nav-link.active { color:#ffffff !important; font-weight:700; }
	#site-header .navbar .nav-link { color:#ffffff !important; font-weight:700; }

    .navbar-collapse {
        background-color: #26405c;
        border: 0 !important;
        padding-top: 20px;
        padding-bottom: 20px;
    }
	
	.navbar-nav > .open > a,
	.navbar-nav > .open > a:hover,
	.navbar-nav > .open > a:focus {
    background-color: #26405c !important;
    color: #ffffff;
  }
  .navbar-nav a:active,		
  .navbar-nav a:visited {
    background-color: #26405c !important;
  }
  
  .navbar-nav li a.nav-link:hover {
    color: #ffffff;
	background-color: #26405c !important;
  }
  .navbar-nav li a.nav-link {
    color: #799abf;
    margin-left: 20px;
    margin-right: 20px;
    padding-left: 0;
    padding-right: 0;
	background-color: #26405c !important;
    /*border-bottom: 1px solid #3b6491;*/
  }
  #site-header .navbar-toggle:focus,
  #site-header .navbar-toggler:focus {
	  outline: none;
	}
	
	#site-header .navbar .nav-link.active, .loginbtn:hover { color:#ffffff !important; font-weight:700; }

	.navbar-toggler {
	  border: none;                /* removes the 1px border */
	}

	.navbar-toggler:focus,
	.navbar-toggler:active {
	  outline: none;
	  box-shadow: none;            /* removes the glow */
	}
}
.navbar-collapse {
    overflow-x: visible;
    padding-right: 15px;
    padding-left: 15px;
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    -webkit-overflow-scrolling: touch;
}
