/* ==========================================================================
   Flag-Stripe Top Bar
   ========================================================================== */

.site-flag-stripe {
  display: flex !important;
  width: 100%;
  height: 12px !important;
  min-height: 12px !important;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  position: relative;
  z-index: 1031;
}

.site-flag-stripe__navy,
.site-flag-stripe__white,
.site-flag-stripe__crimson {
  flex: 1 1 33.333%;
  display: block !important;
  height: 12px !important;
  min-height: 12px !important;
}
.site-flag-stripe__navy    { background-color: #0a2a6e !important; }
.site-flag-stripe__white   { background-color: #ffffff !important; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; box-sizing: border-box; }
.site-flag-stripe__crimson { background-color: #b22234 !important; }

/* ==========================================================================
   Navbar
   ========================================================================== */

header nav.navbar {
  background-color: #ffffff !important;
  border-bottom: 0.5px solid #e0e0e0;
  min-height: 56px;
  padding-top: 0;
  padding-bottom: 0;
}

/* Nav links — desktop */
.navbar-nav .nav-link {
  color: #333333 !important;
  font-size: 12px;
  font-weight: 400;
  padding: 0 4px;
  line-height: 56px;
  white-space: nowrap;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: #0a2a6e !important;
  background-color: transparent;
}

/* Dropdown items */
.dropdown-menu .dropdown-item {
  font-size: 12px;
  color: #333;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background-color: #f4f4f6;
  color: #0a2a6e;
}

/* Nav menu wrapper */
.navbar-menu-wrap {
  gap: 20px;
  flex-wrap: nowrap;
}

.navbar-menu-wrap .navbar-nav {
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
}

/* Sign In block — no extra margin, inline */
.navbar-menu-wrap .block-openid-connect-login {
  flex-shrink: 0;
}

/* Hamburger toggler */
.navbar-toggler {
  border-color: #ccc;
  padding: 4px 8px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(51,51,51,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---- Responsive (mobile) ---- */
@media (max-width: 991.98px) {
  .navbar-menu-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 8px 0;
    width: 100%;
  }

  .navbar-menu-wrap .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .navbar-nav .nav-link {
    line-height: 1.5;
    padding: 10px 0;
    border-bottom: 0.5px solid #f0f0f0;
  }

  .navbar-nav .nav-item:last-child .nav-link {
    border-bottom: none;
  }

  .navbar-menu-wrap .block-openid-connect-login {
    padding: 10px 0;
    width: 100%;
  }

  .navbar-menu-wrap .block-openid-connect-login input[type="submit"],
  .navbar-menu-wrap .block-openid-connect-login .button {
    width: 100%;
    text-align: center;
  }
}

/* OpenID Connect login button in navbar — crimson filled (Sign In style) */
header nav .block-openid-connect-login form,
header nav .block-openid-connect-login form > div {
  margin: 0;
  padding: 0;
  display: inline-block;
}

header nav .block-openid-connect-login input[type="submit"],
header nav .block-openid-connect-login .button {
  background: #b22234;
  color: #ffffff;
  font-size: 11px;
  font-weight: 500;
  padding: 6px 15px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  line-height: 1.5;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.15s;
  white-space: nowrap;
}

header nav .block-openid-connect-login input[type="submit"]:hover,
header nav .block-openid-connect-login .button:hover {
  background: #8e1a28;
  color: #ffffff;
}

/* ==========================================================================
   Footer — common to all pages
   ========================================================================== */

.fp-footer {
  background-color: #081e52;
  padding: 36px 24px 24px;
  text-align: center;
}

.fp-footer__links {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.fp-footer__links a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.fp-footer__links a:hover {
  color: #ffffff;
}

.fp-footer__copy {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.8rem;
}
