#content_form {
    margin-bottom: 5px;
}

.open > .dropdown-menu {
    background-color: var(--portalThemeColor4, #ffffff);
}

.open > .dropdown-menu > li > a {
    color: var(--portalThemeOnColor9, #1276CE);
}

.open .dropdown-menu > li > a:hover,
.dropdown-menu > .active > a:hover {
    color: var(--portalThemeColor4, #ffffff);
    background-color: var(--portalThemeOnColor9, #1276CE);
    text-decoration: underline;
}

.dropdown-menu > .active > a {
    color: var(--portalThemeColor4, #ffffff);
    background-color: var(--portalThemeOnColor9, #1276CE);
    text-decoration: underline;
}

.open .dropdown-menu > .active > a:focus {
    color: var(--portalThemeColor4, #ffffff);
    background-color: var(--portalThemeOnColor9, #1276CE);
    text-decoration: underline;
}

/* --- New rules for consistent dropdown hover (Profile & Sign out) --- */
.open .dropdown-menu > li > a:hover,
.open .dropdown-menu > li > button:hover,
.dropdown-menu > li > a:hover,
.dropdown-menu > li > button:hover,
.open .dropdown-menu > .active > a:hover,
.open .dropdown-menu > .active > button:hover {
    background: #fff !important;
    color: #213945 !important; /* dark text */
    text-decoration: none !important;
}

.open > .dropdown-menu > li > a,
.open > .dropdown-menu > li > button {
    color: #213945; /* default dark text */
}
/* --- End new rules --- */

.wrapper-body {
    padding-bottom: 50px !important;
}
.kb-list-title {
  color: #000 !important;
}
/* ===== Power Pages hard overrides for 1080p sizing ===== */

/* Base body size (works with Bootstrap variables too) */
:root{
  --bs-body-font-size: clamp(14px, 1vw + 8px, 16px) !important;
}
html{ font-size:100% !important; }
body{
  font-size: var(--bs-body-font-size) !important;
  line-height: 1.45 !important;
}

/* Headings used by PP/Bootstrap templates */
h1, .h1, .display-1, .page-title h1{
  font-size: clamp(28px, 3vw + 10px, 42px) !important;
  line-height: 1.15 !important;
  margin-bottom: .5rem !important;
}
h2, .h2, .display-2{
  font-size: clamp(22px, 2.2vw + 8px, 32px) !important;
  line-height: 1.2 !important;
}
h3, .h3{
  font-size: clamp(18px, 1.6vw + 6px, 24px) !important;
  line-height: 1.25 !important;
}

/* Section spacing */
main section, .section, .page-section, [class*="section"], .row-section{
  padding-top: clamp(16px, 5vh, 56px) !important;
  padding-bottom: clamp(16px, 5vh, 56px) !important;
}

/* Hero constraints */
header[role="banner"], .hero, .jumbotron, .banner, .page-hero, [class*="hero"]{
  padding-top: clamp(24px, 6vh, 64px) !important;
  padding-bottom: clamp(24px, 6vh, 64px) !important;
  min-height: clamp(320px, 58vh, 640px) !important;
}
header[role="banner"] img, .hero img, .banner img{
  max-height: 60vh !important;
  height: auto !important;
}

/* Content width that reads well on 1080p */
.container, .container-lg, .container-xl, .content-container, .row > .col-12 > .container{
  max-width: 1200px !important;
}

/* Tighten on laptop-height viewports */
@media (max-height: 900px){
  header[role="banner"], .hero, .banner, .page-hero{ min-height: 420px !important; }
  main section, .section, .page-section{ padding-top: 20px !important; padding-bottom: 20px !important; }
}

/* Trim big title margins some templates add */
.page-title, .breadcrumb + h1, header h1{
  margin-top: .25rem !important;
}
