/* YGT header (stage 4). One header on every page, every width.
   Breakpoint: 1100px. Horizontal menu >= 1100px, hamburger + full-screen panel below.
   To get the hamburger at every width: replace the two "1100px" media queries below
   (min-width:1100px and max-width:1099.98px) with min-width:100000px / max-width:100000px. See README. */

:root {
  --ygt-navy: #012c6d;
  --ygt-navy-dk: #01204f;
  --ygt-gold: #bf9f00;
  --ygt-gold-lt: #e4c64a;
  --ygt-ink: #14213d;
  --ygt-ink-2: #44546f;
  --ygt-line: #dbe2ee;
  --ygt-tint: #eef2f9;
  --ygt-top-h: 36px;
  --ygt-bar-h: 60px;
  --ygt-logo-h: 36px;
  --ygt-z-header: 1000;
  --ygt-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-padding-top: calc(var(--ygt-bar-h) + 12px); }
html.ygt-menu-open { overflow: hidden; }

/* ---- Old Elementor header sections (47 sections, 25 pages), hidden at every width ---- */
body .elementor-top-section.elementor-element-78d25265,
body .elementor-top-section.elementor-element-1032a8a3,
body .elementor-top-section.elementor-element-5450008d,
body .elementor-top-section.elementor-element-13005980,
body .elementor-top-section.elementor-element-2e4aca25,
body .elementor-top-section.elementor-element-3b735373,
body .elementor-top-section.elementor-element-9fb65e82,
body .elementor-top-section.elementor-element-aae83d5e,
body .elementor-top-section.elementor-element-876efaa9,
body .elementor-top-section.elementor-element-3492e820,
body .elementor-top-section.elementor-element-a29ba7de,
body .elementor-top-section.elementor-element-b747a7da,
body .elementor-top-section.elementor-element-0c1a7dda,
body .elementor-top-section.elementor-element-52efce6b,
body .elementor-top-section.elementor-element-9627d32c,
body .elementor-top-section.elementor-element-629089b5,
body .elementor-top-section.elementor-element-3a395098,
body .elementor-top-section.elementor-element-6123d222,
body .elementor-top-section.elementor-element-e7562d8b,
body .elementor-top-section.elementor-element-3e1cc04a,
body .elementor-top-section.elementor-element-75357969,
body .elementor-top-section.elementor-element-1a2a4a6e,
body .elementor-top-section.elementor-element-131eb40c,
body .elementor-top-section.elementor-element-1831f509,
body .elementor-top-section.elementor-element-d28c3f63,
body .elementor-top-section.elementor-element-803af80a,
body .elementor-top-section.elementor-element-4e1650a1,
body .elementor-top-section.elementor-element-8a09b64d,
body .elementor-top-section.elementor-element-ffb26f76,
body .elementor-top-section.elementor-element-ccbd9d73,
body .elementor-top-section.elementor-element-6aa5c982,
body .elementor-top-section.elementor-element-f2f20a36,
body .elementor-top-section.elementor-element-154b6759,
body .elementor-top-section.elementor-element-a3ca4fb4,
body .elementor-top-section.elementor-element-cf033a8b,
body .elementor-top-section.elementor-element-22f2fd31,
body .elementor-top-section.elementor-element-07cdc21c,
body .elementor-top-section.elementor-element-a7d337b1,
body .elementor-top-section.elementor-element-66fa1e19,
body .elementor-top-section.elementor-element-03ee2170,
body .elementor-top-section.elementor-element-7c841e56,
body .elementor-top-section.elementor-element-3e1a629c,
body .elementor-top-section.elementor-element-17b04415,
body .elementor-top-section.elementor-element-4b18624e,
body .elementor-top-section.elementor-element-560c6df8,
body .elementor-top-section.elementor-element-79ba880a,
body .elementor-top-section.elementor-element-b1be7a6 {
  display: none;
}

/* ---- Header shell ---- */
.ygt-hd {
  position: sticky;
  top: 0;
  z-index: var(--ygt-z-header);
  margin: 0;
  background: #fff;
  font-family: Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: var(--ygt-ink);
  -webkit-font-smoothing: antialiased;
}
.ygt-hd *, .ygt-hd *::before, .ygt-hd *::after { box-sizing: border-box; }
.ygt-hd a { text-decoration: none; }
.ygt-hd ul { list-style: none; margin: 0; padding: 0; }
.ygt-hd p { margin: 0; }
.ygt-hd__in { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 20px; }
.ygt-hd__top { display: none; }
.ygt-hd__bar {
  height: var(--ygt-bar-h);
  background: #fff;
  border-bottom: 3px solid var(--ygt-gold);
  box-shadow: 0 8px 22px -14px rgba(1, 32, 79, .45);
}
.ygt-hd__bar-in { height: 100%; display: flex; align-items: center; gap: 16px; }
.ygt-hd__logo { display: block; flex: 0 0 auto; line-height: 0; border-radius: 4px; }
.ygt-hd__logo img { display: block; height: var(--ygt-logo-h); width: auto; max-width: none; }
.ygt-hd :focus-visible { outline: 2px solid var(--ygt-navy); outline-offset: 2px; border-radius: 4px; }

/* ---- Hamburger ---- */
.ygt-hd__toggle {
  margin-left: auto;
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--ygt-navy);
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background-color .15s ease;
}
.ygt-hd__toggle:hover { background: var(--ygt-tint); }
.ygt-hd__bars { position: relative; width: 22px; height: 16px; display: block; }
.ygt-hd__bars i {
  position: absolute; left: 0; width: 22px; height: 2px; border-radius: 2px; background: currentColor;
  transition: transform .24s var(--ygt-ease), opacity .15s ease, top .24s var(--ygt-ease);
}
.ygt-hd__bars i:nth-child(1) { top: 0; }
.ygt-hd__bars i:nth-child(2) { top: 7px; }
.ygt-hd__bars i:nth-child(3) { top: 14px; }
.ygt-hd__toggle[aria-expanded="true"] .ygt-hd__bars i:nth-child(1) { top: 7px; transform: rotate(45deg); }
.ygt-hd__toggle[aria-expanded="true"] .ygt-hd__bars i:nth-child(2) { opacity: 0; }
.ygt-hd__toggle[aria-expanded="true"] .ygt-hd__bars i:nth-child(3) { top: 7px; transform: rotate(-45deg); }

/* ---- Nav (shared) ---- */
.ygt-nav__list { display: flex; flex-direction: column; }
.ygt-nav__item { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; }
.ygt-nav__link { color: inherit; display: flex; align-items: center; }
.ygt-nav__subtoggle {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer;
}
.ygt-nav__subtoggle svg { transition: transform .2s var(--ygt-ease); }
.ygt-nav__subtoggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ygt-lang { display: inline-flex; }
.ygt-lang__a { display: inline-flex; align-items: center; justify-content: center; font-weight: 600; letter-spacing: .04em; }

/* ---- Below the breakpoint: hamburger + full-screen panel ---- */
@media (max-width: 1099.98px) {
  .ygt-hd__panel {
    position: fixed; left: 0; right: 0; bottom: 0;
    top: calc(var(--ygt-bar-h) + 3px);
    z-index: 1;
    overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    padding: 6px 20px 28px;
    background: var(--ygt-navy);
    color: #fff;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .22s var(--ygt-ease), transform .22s var(--ygt-ease), visibility 0s linear .22s;
  }
  .ygt-hd.is-open .ygt-hd__panel {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity .22s var(--ygt-ease), transform .22s var(--ygt-ease), visibility 0s;
  }
  .ygt-hd__panel :focus-visible { outline-color: var(--ygt-gold-lt); }
  .ygt-nav { max-width: 640px; margin: 0 auto; }
  .ygt-nav__item { border-bottom: 1px solid rgba(255, 255, 255, .14); }
  .ygt-nav__link { flex: 1 1 0; min-width: 0; min-height: 56px; padding: 0 4px; font-size: 18px; font-weight: 500; }
  .ygt-nav__item.is-current > .ygt-nav__link,
  .ygt-nav__item.is-ancestor > .ygt-nav__link { color: var(--ygt-gold-lt); font-weight: 600; }
  .ygt-nav__item.is-current > .ygt-nav__link::after {
    content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ygt-gold-lt); margin-left: 10px; flex: 0 0 auto;
  }
  .ygt-nav__subtoggle { width: 56px; min-height: 56px; border-radius: 8px; }
  .ygt-nav__subtoggle:hover { background: rgba(255, 255, 255, .08); }
  .ygt-nav__sub { flex: 0 0 100%; display: none; padding: 0 0 10px 14px; }
  .ygt-nav__subtoggle[aria-expanded="true"] ~ .ygt-nav__sub { display: block; }
  .ygt-nav__item--sub { border: 0; }
  .ygt-nav__item--sub .ygt-nav__link { min-height: 48px; font-size: 16px; font-weight: 400; color: rgba(255, 255, 255, .88); }
  .ygt-nav__item--sub.is-current > .ygt-nav__link { color: var(--ygt-gold-lt); font-weight: 600; }
  .ygt-nav__item--sub.is-current > .ygt-nav__link::after { content: none; }
  .ygt-lang { display: flex; max-width: 640px; margin: 22px auto 0; padding: 4px; gap: 4px; border-radius: 10px; background: rgba(255, 255, 255, .1); }
  .ygt-lang__a { flex: 1 1 0; min-height: 48px; border-radius: 7px; color: #fff; font-size: 15px; }
  .ygt-lang__a.is-current { background: #fff; color: var(--ygt-navy); }
  .ygt-hd__reach { max-width: 640px; margin: 26px auto 0; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); }
  .ygt-hd__reach-h { font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--ygt-gold-lt); margin-bottom: 4px; }
  .ygt-reach__a { display: flex; align-items: center; gap: 12px; min-height: 52px; color: #fff; font-size: 16px; overflow-wrap: anywhere; }
  .ygt-reach__a .ygt-k { display: block; font-size: 12px; color: rgba(255, 255, 255, .72); }
  .ygt-reach__hours { display: flex; align-items: center; gap: 12px; min-height: 44px; color: rgba(255, 255, 255, .82); font-size: 14px; }
  .ygt-hd .ygt-ico { flex: 0 0 auto; color: var(--ygt-gold-lt); }
  .ygt-hd__top { display: none; }
}

/* ---- At and above the breakpoint: horizontal menu ---- */
@media (min-width: 1100px) {
  :root { --ygt-bar-h: 76px; --ygt-logo-h: 48px; }
  .ygt-hd { top: calc(-1 * var(--ygt-top-h)); }  /* top info row scrolls away, the bar stays */
  html { scroll-padding-top: calc(var(--ygt-bar-h) + 16px); }
  .ygt-hd__toggle { display: none; }
  .ygt-hd__top { display: block; height: var(--ygt-top-h); background: var(--ygt-navy); color: rgba(255, 255, 255, .92); font-size: 12.5px; }
  .ygt-hd__top-in { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .ygt-hd__top-contact { display: flex; align-items: center; gap: 22px; min-width: 0; }
  .ygt-top__a { display: inline-flex; align-items: center; gap: 7px; color: inherit; white-space: nowrap; border-radius: 4px; transition: color .15s ease; }
  .ygt-top__a:hover { color: var(--ygt-gold-lt); }
  .ygt-top__a .ygt-k { opacity: .72; margin-right: 2px; }
  .ygt-hd__hours { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
  .ygt-hd .ygt-ico { width: 14px; height: 14px; color: var(--ygt-gold-lt); }
  .ygt-hd__top :focus-visible { outline-color: var(--ygt-gold-lt); }

  .ygt-hd__bar-in { gap: 28px; }
  .ygt-hd__panel { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 18px; height: 100%; }
  .ygt-hd__reach { display: none; }
  .ygt-nav { height: 100%; }
  .ygt-nav__list { flex-direction: row; align-items: stretch; height: 100%; gap: 2px; }
  .ygt-nav__item { align-items: center; flex-wrap: nowrap; }
  .ygt-nav__link {
    position: relative; height: 40px; padding: 0 11px; border-radius: 6px;
    font-size: 14.5px; font-weight: 500; color: var(--ygt-ink); white-space: nowrap;
    transition: background-color .15s ease, color .15s ease;
  }
  .ygt-nav__item.has-sub > .ygt-nav__link { padding-right: 4px; }
  .ygt-nav__link:hover, .ygt-nav__item:focus-within > .ygt-nav__link { background: var(--ygt-tint); color: var(--ygt-navy); }
  .ygt-nav__item.is-current > .ygt-nav__link,
  .ygt-nav__item.is-ancestor > .ygt-nav__link { color: var(--ygt-navy); font-weight: 500; }
  .ygt-nav__item.is-current > .ygt-nav__link::after,
  .ygt-nav__item.is-ancestor > .ygt-nav__link::after {
    content: ""; position: absolute; left: 11px; right: 11px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--ygt-gold);
  }
  .ygt-nav__item.has-sub.is-current > .ygt-nav__link::after,
  .ygt-nav__item.has-sub.is-ancestor > .ygt-nav__link::after { right: 4px; }
  .ygt-nav__subtoggle { width: 26px; height: 40px; border-radius: 6px; color: var(--ygt-ink-2); transition: background-color .15s ease; }
  .ygt-nav__subtoggle:hover { background: var(--ygt-tint); color: var(--ygt-navy); }
  .ygt-nav__sub {
    position: absolute; top: 100%; left: 0; min-width: 250px; margin-top: 6px; padding: 6px;
    background: #fff; border: 1px solid var(--ygt-line); border-top: 2px solid var(--ygt-gold); border-radius: 8px;
    box-shadow: 0 18px 38px -16px rgba(1, 32, 79, .38);
    opacity: 0; visibility: hidden; transform: translateY(-4px);
    transition: opacity .16s var(--ygt-ease), transform .16s var(--ygt-ease), visibility 0s linear .16s;
  }
  .ygt-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -9px; height: 9px; } /* hover bridge */
  .ygt-nav__item.has-sub:hover > .ygt-nav__sub,
  .ygt-nav__subtoggle[aria-expanded="true"] ~ .ygt-nav__sub {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity .16s var(--ygt-ease), transform .16s var(--ygt-ease), visibility 0s;
  }
  .ygt-nav__item--sub { display: block; }
  .ygt-nav__item--sub .ygt-nav__link { height: auto; min-height: 40px; padding: 8px 12px; font-size: 14px; white-space: normal; }
  .ygt-nav__item--sub.is-current > .ygt-nav__link { background: var(--ygt-tint); color: var(--ygt-navy); font-weight: 600; }
  .ygt-nav__item--sub.is-current > .ygt-nav__link::after { content: none; }
  .ygt-nav__item:nth-last-child(-n+2) > .ygt-nav__sub { left: auto; right: 0; }

  .ygt-lang { flex: 0 0 auto; padding: 2px; border: 1px solid var(--ygt-line); border-radius: 8px; gap: 2px; }
  .ygt-lang__a { min-width: 36px; height: 30px; padding: 0 8px; border-radius: 6px; font-size: 12.5px; color: var(--ygt-ink-2); transition: background-color .15s ease, color .15s ease; }
  .ygt-lang__a:hover { background: var(--ygt-tint); color: var(--ygt-navy); }
  .ygt-lang__a.is-current { background: var(--ygt-navy); color: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  .ygt-hd *, .ygt-hd *::before, .ygt-hd *::after { transition-duration: 0s !important; transition-delay: 0s !important; }
  .ygt-hd__panel { transform: none !important; }
}
