/* Navigation enhancements, loaded after the theme's responsive rules. */
/* GGB Royal: crest blue, deep navy and yellow from the supplied logo. */
.wels-site-header { border-bottom: 0; }
.wels-header-stacked { background: linear-gradient(to top, #075576 58px, #fff 58px); }
.wels-header-stacked .wels-header-inner { gap: 20px; padding-top: 22px; padding-bottom: 0; }
.wels-site-header .wels-branding { gap: 20px; }
.wels-site-header .wels-branding .custom-logo { width: 88px; height: 88px; max-width: 88px; object-fit: contain; }
.wels-site-header .wels-site-name { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.025em; color: #103c5b; line-height: 1.15; }
.wels-site-header .wels-site-sub { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; color: #607386; margin-top: 9px; }
.ggb-header-motto { display: flex; flex-direction: column; text-align: right; gap: 7px; padding-left: 20px; border-left: 2px solid #f4dc35; }
.ggb-header-motto span { color: #075576; font-family: Georgia, serif; font-size: 19px; font-style: italic; }
.ggb-header-motto small { color: #607386; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.wels-header-stacked .wels-primary-nav { margin: 0; padding: 0; border-top: 0; background: #075576; min-height: 58px; }
.wels-header-stacked.is-shrunk .wels-primary-nav { margin: 0; }
.wels-primary-nav > .wels-menu { width: 100%; flex-wrap: nowrap; justify-content: center; }
.wels-primary-nav > .wels-menu > .wels-menu-item { flex: 1 1 0; }
.wels-primary-nav > .wels-menu > .wels-menu-item > a { display: flex; justify-content: center; padding: 18px 43px 18px 18px; min-height: 58px; color: #fff; font-size: 14px; font-weight: 600; border-radius: 0; white-space: nowrap; }
.wels-primary-nav > .wels-menu > .wels-menu-item > a::after { left: 22%; right: 22%; bottom: 0; height: 3px; background: #f4dc35; }
.wels-primary-nav > .wels-menu > .wels-menu-item:hover > a,
.wels-primary-nav > .wels-menu > .wels-menu-item:focus-within > a { background: rgba(255,255,255,.08); color: #fff; }
.wels-primary-nav > .wels-menu > .current-menu-item > a,
.wels-primary-nav > .wels-menu > .current-menu-ancestor > a { color: #f4dc35; }
.wels-primary-nav .menu-item-has-children > .wels-submenu-toggle { position: absolute; right: 0; top: 5px; width: 48px; height: 48px; color: #fff; border-radius: 0; }
.wels-primary-nav .wels-submenu-toggle:hover { background: transparent; }
.wels-primary-nav .wels-submenu-toggle .wels-caret { width: 6px; height: 6px; opacity: .9; border-width: 1.5px; }
.wels-primary-nav .wels-sub-menu { padding: 8px; border-radius: 0 0 10px 10px; min-width: 230px; border-top: 3px solid #f4dc35; box-shadow: 0 14px 36px rgba(8,44,70,.14); }
.wels-primary-nav .wels-sub-menu a { color: #103c5b; min-height: 48px; font-size: 14px; padding: 12px 16px; }
.wels-primary-nav .wels-sub-menu .menu-item-has-children > a { padding-right: 52px; display: flex; }
.wels-primary-nav .wels-sub-menu .wels-submenu-toggle { color: #075576; top: 0; }
.wels-primary-nav .wels-sub-menu a:hover { color: #075576; background: #eef6fb; }
.wels-primary-nav > .wels-menu > .wels-menu-item:last-child > .wels-sub-menu { left: auto; right: 0; }
.wels-primary-nav .wels-sub-menu .wels-sub-menu { border-radius: 10px; }
.wels-mobile-nav-panel { width: min(92vw, 390px); padding: 28px 24px 36px; border-top: 5px solid #f4dc35; background: #fff; }
.wels-mobile-close { top: 14px; right: 14px; color: #075576; background: #f0f6fa; border-radius: 10px; }
.ggb-drawer-brand { padding: 38px 0 24px; border-bottom: 1px solid #e4ecf3; }
.ggb-drawer-brand .wels-branding { align-items: center; gap: 12px; margin: 0; }
.ggb-drawer-brand .wels-branding .custom-logo { width: 56px; height: 56px; max-width: 56px; object-fit: contain; }
.ggb-drawer-brand .wels-site-name { color: #103c5b; font-family: Georgia, serif; font-size: 20px; line-height: 1.2; }
.ggb-drawer-brand .wels-site-sub { display: block; color: #607386; font-size: 11px; margin-top: 6px; }
.ggb-drawer-label { margin: 24px 0 10px; font-size: 10px; color: #607386; text-transform: uppercase; letter-spacing: .18em; font-weight: 700; }
.wels-mobile-nav .wels-menu > .wels-menu-item { border-bottom: 1px solid #e7eef4; }
.wels-mobile-nav .wels-menu > .wels-menu-item > .wels-submenu-toggle { top: 8px; }
.wels-mobile-nav .wels-menu > .wels-menu-item > a { font-size: 16px; padding-top: 18px; padding-bottom: 18px; color: #103c5b; }
.wels-mobile-nav .wels-menu > .wels-menu-item > a::after { display: none; }
.wels-mobile-nav .wels-menu-item.is-expanded > a[role=button] { color: #087ca7; }
.wels-mobile-nav .wels-sub-menu a { font-size: 14px; font-weight: 400; color: #607386; }
.wels-mobile-nav .wels-accordion > ul { border-left: 2px solid #f4dc35; margin-left: 7px; }
.wels-mobile-nav .wels-header-actions-mobile { margin-top: 28px; }
.wels-mobile-nav .wels-header-actions-mobile .wels-btn { background: #075576; color: #fff; border-color: #075576; min-height: 48px; }
.wels-nav-toggle, .wels-mobile-close, .wels-submenu-toggle {
  min-width: 48px; min-height: 48px;
  transition: background-color .2s ease, color .2s ease;
}
.wels-nav-toggle:hover, .wels-mobile-close:hover, .wels-submenu-toggle:hover { background-color: #e8efed; }
.wels-nav-toggle { flex-shrink: 0; }
.wels-nav-toggle-bar { left: 11px; top: 23px; }
.wels-nav-toggle-bar::before, .wels-nav-toggle-bar::after { left: 0; }
.wels-submenu-toggle { border: 0; background: transparent; color: inherit; cursor: pointer; padding: 0; border-radius: 8px; vertical-align: middle; }
.wels-primary-nav .wels-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; }
.wels-primary-nav .menu-item-has-children > a { display: inline-flex; }
.wels-primary-nav .wels-mega-col > .wels-submenu-toggle { display: none; }
.wels-primary-nav .wels-sub-menu:not(.wels-mega-cols):not(.wels-mega-list) { transform: translateY(-8px); }
.wels-primary-nav .wels-menu-item:hover > .wels-sub-menu,
.wels-primary-nav .wels-menu-item:focus-within > .wels-sub-menu,
.wels-primary-nav .wels-menu-item.is-expanded > .wels-sub-menu { transform: translateY(0); }
.wels-primary-nav .is-expanded > .wels-sub-menu,
.wels-primary-nav .is-expanded > .wels-mega { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.wels-primary-nav .wels-menu-dismissed > .wels-sub-menu,
.wels-primary-nav .wels-menu-dismissed > .wels-mega { opacity: 0; visibility: hidden; }
.wels-mobile-nav { overflow: hidden; transition: visibility 0s linear .28s; }
.wels-mobile-nav.is-open { transition-delay: 0s; }
.wels-mobile-nav-panel { overscroll-behavior: contain; padding-bottom: max(40px, env(safe-area-inset-bottom)); }
.wels-mobile-nav .wels-menu a, .wels-mobile-nav .wels-mega-heading {
  min-height: 48px; display: flex; align-items: center; white-space: normal;
  padding: 12px 6px; overflow-wrap: anywhere;
}
.wels-mobile-nav .menu-item-has-children > a,
.wels-mobile-nav .menu-item-has-children > .wels-mega-heading { padding-right: 56px; cursor: pointer; }
.wels-mobile-nav .wels-submenu-toggle { display: flex; align-items: center; justify-content: center; position: absolute; right: 0; top: 0; width: 48px; height: 48px; }
.wels-mobile-nav .wels-accordion { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.wels-mobile-nav .is-expanded > .wels-accordion { grid-template-rows: 1fr; }
.wels-mobile-nav .wels-accordion > .wels-accordion-content {
  display: block; min-height: 0; overflow: hidden; position: static;
  opacity: 1; visibility: visible; transform: none; box-shadow: none;
  margin: 0; padding: 0; border: 0; min-width: 0;
}
.wels-mobile-nav .wels-mega-inner { display: block; padding: 0 0 0 12px; }
.wels-mobile-nav .wels-mega-cols { display: block; padding: 0; }
.wels-mobile-nav .wels-accordion > ul { padding-left: 12px; }
.wels-mobile-nav .wels-mega-col { position: relative; }
.wels-mobile-nav .wels-mega-col { max-width: none; }
.wels-mobile-nav .wels-mega-heading, .wels-mobile-nav .wels-mega-list a { margin: 0; }
.wels-mobile-nav .wels-mega-list > li + li { margin-top: 0; }
.wels-mobile-nav .wels-mega-col + .wels-mega-col { margin-top: 0; }
.wels-mobile-nav :focus-visible, .wels-site-header :focus-visible { outline: 3px solid var(--wels-primary); outline-offset: 3px; }
@media (max-width: 1080px) {
  .wels-header-stacked { background: #fff; }
  .wels-header-stacked .wels-header-inner { padding-top: 16px; padding-bottom: 16px; }
  .ggb-header-motto { display: none; }
  .wels-site-header .wels-branding { gap: 12px; }
  .wels-site-header .wels-branding .custom-logo { width: 64px; height: 64px; max-width: 64px; }
  .wels-site-header .wels-site-name { font-size: 18px; line-height: 1.22; }
  .wels-site-header .wels-site-sub { font-size: 9px; letter-spacing: .08em; margin-top: 7px; }
  .wels-site-header .wels-nav-toggle { background: #f0f6fa; border: 1px solid #dfebf3; border-radius: 10px; }
  .wels-header-inner { gap: 12px; }
  .wels-branding { flex: 1 1 auto; gap: 10px; min-width: 0; }
  .wels-branding-text { flex: 1; }
  .wels-site-name { white-space: normal; text-wrap: balance; overflow-wrap: anywhere; line-height: 1.25; }
  .wels-branding .custom-logo { width: 48px; max-width: 48px; height: 48px; object-fit: contain; }
  .wels-header-right { flex-shrink: 0; }
  .wels-header-actions-header { display: none; }
  .wels-site-sub { overflow-wrap: anywhere; }
  html:not(.wels-js) .wels-primary-nav { display: block; width: 100%; }
  html:not(.wels-js) .wels-header-inner { flex-wrap: wrap; }
  html:not(.wels-js) .wels-menu { flex-wrap: wrap; }
  html:not(.wels-js) .wels-primary-nav .wels-sub-menu { position: static; opacity: 1; visibility: visible; transform: none; }
  html:not(.wels-js) .wels-nav-toggle { display: none; }
}
@media (max-width: 360px) {
  .wels-site-header .wels-branding .custom-logo { width: 52px; height: 52px; max-width: 52px; }
  .wels-site-header .wels-site-name { font-size: 16px; }
  .wels-header-inner { padding-left: 14px; padding-right: 14px; }
}
html:not(.wels-js) .wels-submenu-toggle { display: none; }
@media (prefers-reduced-motion: reduce) {
  .wels-mobile-nav, .wels-mobile-nav-panel, .wels-mobile-nav-overlay,
  .wels-mobile-nav .wels-accordion, .wels-sub-menu, .wels-mega { transition: none; }
}
