/* Shared site header and dropdown navigation used on every Berkeley page. */
.ucb-home-topnav,
.ucb-home-topnav * { box-sizing: border-box; }
.ucb-home-topnav {
  position: relative;
  z-index: 10020;
  width: 100%;
  color: #1c2430;
  font-family: "Segoe UI", Arial, sans-serif;
  isolation: isolate;
}
.ucb-home-topnav a { text-decoration: none; }
.ucb-home-topnav button { font-family: inherit; }
.ucb-offer-bar { display: flex; width: 100%; height: 34px; align-items: center; overflow: hidden; background: #002145; color: #fff; font-size: 12px; }
.ucb-offer-label { display: flex; height: 100%; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 15px; background: #fdb515; color: #002145; font-size: 12px; white-space: nowrap; }
.ucb-utility-icon { display: inline-flex; width: 15px; height: 15px; flex: 0 0 15px; align-items: center; justify-content: center; }
.ucb-utility-icon svg { display: block; width: 14px; height: 14px; fill: currentColor; }
.ucb-offer-viewport { position: relative; min-width: 0; flex: 1 1 auto; overflow: hidden; }
.ucb-offer-track { display: flex; width: max-content; align-items: center; animation: ucb-offer-scroll 28s linear infinite; white-space: nowrap; }
.ucb-offer-track span { padding: 0 42px; }
.ucb-offer-track a { margin-left: 8px; color: #fdb515; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.ucb-offer-bar:hover .ucb-offer-track { animation-play-state: paused; }
.ucb-screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }
@keyframes ucb-offer-scroll { to { transform: translateX(-33.333%); } }

.ucb-utility-bar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 7px clamp(16px, 3vw, 42px); background: #003262; color: #fff; font-size: 12px; }
.ucb-utility-left, .ucb-utility-right { display: flex; align-items: center; gap: 14px; }
.ucb-utility-left { min-width: 0; flex-wrap: wrap; }
.ucb-utility-left a, .ucb-utility-right a { display: inline-flex; align-items: center; gap: 6px; color: #fff; white-space: nowrap; }
.ucb-utility-left a { font-size: 12px; line-height: 1.25; }
.ucb-utility-left a:hover, .ucb-utility-left a:focus-visible { color: #fdb515; }
.ucb-utility-separator { width: 1px; height: 14px; flex: 0 0 1px; background: rgba(255,255,255,.4); }
.ucb-support-note { color: rgba(255,255,255,.94); white-space: nowrap; }
.ucb-utility-right { flex: 0 0 auto; }
.ucb-social-link { font-size: 12px; font-weight: 800; }
.ucb-apply-link { min-height: 32px; align-items: center; padding: 6px 16px; border: 1px solid #fdb515; border-radius: 4px; background: #002145; font-weight: 800; transition: background .2s ease, color .2s ease, transform .2s ease; }
.ucb-apply-link:hover, .ucb-apply-link:focus-visible { transform: translateY(-1px); background: #fdb515; color: #002145 !important; }
.ucb-apply-link:focus-visible, .ucb-home-topnav a:focus-visible { outline: 2px solid #fdb515; outline-offset: 3px; }

.ucb-primary-nav { position: relative; z-index: 10021; background: #fff; box-shadow: 0 2px 9px rgba(0,0,0,.09); }
.ucb-primary-nav-inner { position: relative; display: flex; width: 100%; max-width: 1320px; min-height: 76px; align-items: center; justify-content: center; gap: 4px; margin: 0 auto; padding: 0 22px; }
.ucb-menu-group { display: flex; min-width: 0; flex: 1 1 0; align-items: center; gap: 2px; }
.ucb-menu-group-left { justify-content: flex-end; }
.ucb-menu-group-right { justify-content: flex-start; }
.ucb-nav-item { position: static; }
.ucb-nav-item > button { display: flex; min-height: 76px; align-items: center; gap: 8px; padding: 0 clamp(8px, 1vw, 15px); border: 0; background: transparent; color: #172335; cursor: pointer; font-size: 14px; font-weight: 600; white-space: nowrap; transition: color .18s ease, box-shadow .18s ease; }
.ucb-nav-item > button:hover, .ucb-nav-item > button:focus-visible, .ucb-nav-item.is-open > button { color: #003262; }
.ucb-nav-item.is-open > button { box-shadow: inset 0 -3px #fdb515; }
.ucb-nav-item > button:focus-visible { outline: 2px solid #003262; outline-offset: -5px; }
.ucb-chevron { width: 6px; height: 6px; flex: 0 0 6px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s ease, margin .18s ease; }
.ucb-nav-item.is-open .ucb-chevron { margin-top: 3px; transform: rotate(225deg); }
.ucb-center-logo { display: flex; width: 180px; height: 58px; flex: 0 0 180px; align-items: center; justify-content: center; margin: 0 22px; }
.ucb-center-logo img { display: block; width: 100%; max-height: 58px; object-fit: contain; }
.ucb-mega { position: absolute; top: calc(100% - 2px); left: 18px; display: flex; width: min(760px, calc(100vw - 36px)); max-height: min(74vh, 620px); overflow: auto; border: 1px solid rgba(0,33,69,.09); border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 17px 38px rgba(0,33,69,.24); transform-origin: top left; }
.ucb-menu-group-right .ucb-mega { right: 18px; left: auto; transform-origin: top right; }
.ucb-mega[hidden] { display: none !important; }
.ucb-nav-item.is-open .ucb-mega { animation: ucb-menu-enter .2s ease both; }
@keyframes ucb-menu-enter { from { opacity: 0; transform: translateY(-8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
.ucb-mega-wide { width: min(900px, calc(100vw - 36px)); }
.ucb-promo { display: flex; width: 260px; min-height: 330px; flex: 0 0 260px; flex-direction: column; overflow: hidden; background: #002145; color: #fff; }
.ucb-promo > img { display: block; width: 100%; height: 174px; flex: 0 0 174px; object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.3,1), filter .3s ease; }
.ucb-promo:hover > img { transform: scale(1.045); filter: saturate(1.08); }
.ucb-promo-copy { position: relative; z-index: 1; flex: 1 0 auto; padding: 17px 20px 21px; background: linear-gradient(150deg, #0a4a8f, #002145 70%); }
.ucb-promo-copy h2 { margin: 0 0 8px; color: #fdb515; font-size: 15px; letter-spacing: .65px; line-height: 1.25; }
.ucb-promo-copy p { margin: 0; color: #fff; font-size: 12px; line-height: 1.5; opacity: .95; }
.ucb-menu-links { display: grid; min-width: 0; flex: 1 1 auto; align-content: center; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 16px; padding: 18px 20px; }
.ucb-menu-links-one { grid-template-columns: 1fr; }
.ucb-menu-links a { display: flex; min-height: 42px; align-items: center; gap: 11px; padding: 7px 8px; border-radius: 6px; color: #202b39; font-size: 13px; line-height: 1.3; transition: background .18s ease, color .18s ease, transform .18s ease; }
.ucb-menu-links a::before { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 7px; background: #e8eef6 radial-gradient(circle, #003262 3px, transparent 4px); content: ""; }
.ucb-menu-links a:hover, .ucb-menu-links a:focus-visible { transform: translateX(2px); background: #edf3fa; color: #003262; }
.ucb-menu-links a:focus-visible { outline: 2px solid #003262; outline-offset: 1px; }
.ucb-mobile-toggle { display: none; }
.ucb-skip-target { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Remove the old per-page menu while keeping the original page content intact. */
body.has-ucb-site-header #skyline,
body.has-ucb-site-header .mobile-header,
body.has-ucb-site-header #main-nav-wrap,
body.has-ucb-site-header > #header,
body.has-ucb-site-header > .local-header,
body.has-ucb-site-header > .local-brand { display: none !important; }

body.has-ucb-site-header.custom-content-page {
  display: flex !important;
  min-height: 100vh;
  flex-direction: column;
}
body.has-ucb-site-header.custom-content-page > main { width: 100%; flex: 1 0 auto; }

#site-footer.ucb-site-footer {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-height: 0 !important;
  flex: 0 0 auto;
  margin: auto 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #111 !important;
  color: #fff !important;
  font: 14px/1.5 "Segoe UI", Arial, sans-serif !important;
  text-align: left !important;
}
.ucb-site-footer, .ucb-site-footer * { box-sizing: border-box; }
.ucb-footer-main { background: #111; }
.ucb-footer-layout { display: grid; max-width: 1320px; grid-template-columns: minmax(240px, .78fr) minmax(0, 2.5fr); gap: clamp(34px, 5vw, 76px); margin: 0 auto; padding: 42px 30px 38px; }
.ucb-footer-identity { display: flex; align-items: flex-start; flex-direction: column; gap: 17px; }
.ucb-footer-brand { display: inline-flex; min-height: 50px; align-items: center; color: #fdb515 !important; text-decoration: none !important; }
.ucb-footer-brand img { display: block; width: 225px; max-height: 58px; object-fit: contain; object-position: left center; }
.ucb-logo-wordmark { display: inline-block; color: #fdb515; font: 34px/1 Georgia, "Times New Roman", serif; letter-spacing: -1.2px; white-space: nowrap; }
.ucb-center-logo .ucb-logo-wordmark { color: #003262; font-size: 30px; }
.ucb-footer-description { max-width: 290px; margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.75; }
.ucb-footer-contact { display: grid; gap: 10px; }
.ucb-footer-contact a { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.9) !important; font-size: 13px; text-decoration: none !important; transition: color .2s ease, transform .2s ease; }
.ucb-footer-contact a svg { width: 16px; height: 16px; flex: 0 0 16px; fill: #fdb515; }
.ucb-footer-contact a:hover, .ucb-footer-contact a:focus-visible { color: #fdb515 !important; transform: translateX(3px); }
.ucb-footer-apply { position: relative; display: inline-flex; min-width: 170px; min-height: 47px; align-items: center; justify-content: space-between; gap: 22px; overflow: hidden; margin-top: 3px; padding: 0 16px 0 19px; border: 1px solid #fdb515; border-radius: 6px; background: #fdb515; color: #101010 !important; font-size: 13px; font-weight: 800; letter-spacing: .25px; text-decoration: none !important; text-transform: uppercase; transition: color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease; }
.ucb-footer-apply::before { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.38) 48%, transparent 68%); content: ""; transform: translateX(-130%); transition: transform .6s ease; }
.ucb-footer-apply:hover, .ucb-footer-apply:focus-visible { transform: translateY(-3px); background: #fff; box-shadow: 0 10px 28px rgba(253,181,21,.23); color: #111 !important; }
.ucb-footer-apply:hover::before, .ucb-footer-apply:focus-visible::before { transform: translateX(130%); }
.ucb-footer-apply-arrow { position: relative; z-index: 1; display: inline-flex; width: 25px; height: 25px; align-items: center; justify-content: center; border-radius: 50%; background: #111; color: #fdb515; font-size: 17px; transition: transform .25s ease; }
.ucb-footer-apply:hover .ucb-footer-apply-arrow, .ucb-footer-apply:focus-visible .ucb-footer-apply-arrow { transform: translateX(3px); }
.ucb-footer-navigation { min-width: 0; }
.ucb-footer-navigation { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-content: start; gap: 28px 30px; }
.ucb-footer-column { min-width: 0; }
.ucb-footer-column h2 { position: relative; margin: 0 0 13px; padding-bottom: 8px; color: #fff; font: 800 13px/1.2 "Segoe UI", Arial, sans-serif; text-transform: uppercase; }
.ucb-footer-column h2::after { position: absolute; bottom: 0; left: 0; width: 28px; height: 1px; background: #fdb515; content: ""; }
.ucb-footer-column > div { display: grid; gap: 8px; }
.ucb-footer-column-departments { grid-column: span 2; }
.ucb-footer-column-departments > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.ucb-footer-column a { position: relative; display: block; padding-left: 12px; color: rgba(255,255,255,.7) !important; font-size: 12px; line-height: 1.45; text-decoration: none !important; transition: color .18s ease, transform .18s ease; }
.ucb-footer-column a::before { position: absolute; top: .32em; left: 0; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; content: ""; transform: rotate(45deg); }
.ucb-footer-column a:hover, .ucb-footer-column a:focus-visible { color: #fdb515 !important; transform: translateX(3px); }
.ucb-site-footer a:focus-visible { outline: 2px solid #fdb515; outline-offset: 3px; }
.ucb-footer-copyright { padding: 15px 20px; border-top: 1px solid rgba(255,255,255,.17); background: #111; color: rgba(255,255,255,.72); text-align: center; font-size: 12px; }

@media (max-width: 1120px) {
  .ucb-utility-bar { padding-right: 18px; padding-left: 18px; }
  .ucb-utility-left, .ucb-utility-right { gap: 10px; }
  .ucb-support-note { flex-basis: 100%; white-space: normal; }
  .ucb-primary-nav-inner { padding-right: 12px; padding-left: 12px; }
  .ucb-center-logo { width: 155px; flex-basis: 155px; margin-right: 12px; margin-left: 12px; }
  .ucb-nav-item > button { padding-right: 8px; padding-left: 8px; font-size: 13px; }
}
@media (max-width: 900px) {
  .ucb-utility-bar { align-items: flex-start; flex-direction: column; }
  .ucb-utility-left { width: 100%; }
  .ucb-utility-right { align-self: flex-end; }
  .ucb-mobile-toggle { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 0; border-bottom: 1px solid #e7ebf0; background: #fff; color: #003262; cursor: pointer; font-size: 14px; font-weight: 700; }
  .ucb-mobile-toggle-bars { display: grid; gap: 3px; }
  .ucb-mobile-toggle-bars i { display: block; width: 17px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .18s ease; }
  .ucb-mobile-toggle[aria-expanded="true"] .ucb-mobile-toggle-bars i:first-child { transform: translateY(5px) rotate(45deg); }
  .ucb-mobile-toggle[aria-expanded="true"] .ucb-mobile-toggle-bars i:nth-child(2) { opacity: 0; }
  .ucb-mobile-toggle[aria-expanded="true"] .ucb-mobile-toggle-bars i:last-child { transform: translateY(-5px) rotate(-45deg); }
  .ucb-primary-nav-inner { display: none; height: auto; flex-wrap: wrap; gap: 0; padding: 8px 12px 12px; }
  .ucb-primary-nav.is-mobile-open .ucb-primary-nav-inner { display: flex; }
  .ucb-center-logo { width: 100%; height: 56px; flex: 1 0 100%; order: 0; margin: 0; }
  .ucb-menu-group { flex: 1 1 100%; justify-content: center; flex-wrap: wrap; }
  .ucb-menu-group-left { order: 1; }
  .ucb-menu-group-right { order: 2; }
  .ucb-nav-item > button { min-height: 46px; padding: 10px 11px; }
  .ucb-mega, .ucb-menu-group-right .ucb-mega { top: 100%; right: 3vw; left: 3vw; width: 94vw; max-height: 72vh; }
  .ucb-footer-layout { grid-template-columns: 1fr; gap: 34px; }
  .ucb-footer-description { max-width: 520px; }
  .ucb-footer-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .ucb-offer-label { padding-right: 10px; padding-left: 10px; }
  .ucb-offer-bar { font-size: 11px; }
  .ucb-utility-bar { padding: 10px 14px; }
  .ucb-utility-left { align-items: flex-start; gap: 9px 12px; }
  .ucb-utility-separator { display: none; }
  .ucb-support-note { flex-basis: 100%; line-height: 1.4; }
  .ucb-utility-right { align-self: flex-start; }
  .ucb-primary-nav-inner { align-items: stretch; }
  .ucb-menu-group { justify-content: flex-start; }
  .ucb-nav-item { width: 100%; }
  .ucb-nav-item > button { width: 100%; justify-content: space-between; border-bottom: 1px solid #edf0f3; text-align: left; }
  .ucb-mega, .ucb-menu-group-right .ucb-mega { position: static; display: flex; width: 100%; max-width: 100%; max-height: none; flex-direction: column; border: 0; border-radius: 0; box-shadow: none; animation: none !important; }
  .ucb-mega[hidden] { display: none !important; }
  .ucb-promo { width: 100%; min-height: 0; flex: 0 0 auto; }
  .ucb-promo > img { height: 135px; flex-basis: 135px; }
  .ucb-promo-copy { padding: 14px 16px 16px; }
  .ucb-menu-links, .ucb-menu-links-one { grid-template-columns: 1fr; padding: 8px 12px 14px; }
  .ucb-menu-links a { min-height: 40px; font-size: 13px; }
  .ucb-footer-layout { grid-template-columns: 1fr; gap: 34px; padding: 32px 20px; }
  .ucb-footer-identity { gap: 15px; }
  .ucb-footer-description { max-width: 520px; }
  .ucb-footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 20px; }
  .ucb-footer-column-departments { grid-column: span 2; }
  .ucb-footer-column-departments > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ucb-offer-track { animation: none; }
  .ucb-nav-item.is-open .ucb-mega { animation: none; }
  .ucb-chevron, .ucb-menu-links a, .ucb-apply-link, .ucb-promo > img, .ucb-footer-contact a, .ucb-footer-column a, .ucb-footer-apply, .ucb-footer-apply-arrow, .ucb-footer-apply::before { transition: none; }
}
