/* TLGA ww-menu.css — WW burger menu clone, adapted only for TLGA body.menu-visible and TLGA links/content. */
@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --ww-menu-padding: 40px;
  --timing: .25s;
  --easing1: cubic-bezier(0.83, 0, 0.17, 1);
  --ww-menu-black: #000000;
  --ww-menu-white: #FFFFFF;
  --ww-menu-grey: #EEEEEE;
  --ww-menu-yellow: #FFDD00;
}

.menu {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: var(--ww-menu-black) !important;
  z-index: 98 !important;
  padding: var(--ww-menu-padding) !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.menu-visible { overflow-y: hidden !important; }
body.menu-visible > .menu,
body.menu-visible .menu {
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: all var(--timing) var(--easing1) !important;
}

.menu > div {
  display: flex !important;
  align-items: center !important;
  flex-direction: column !important;
}

.menu a { transition: all 0.5s var(--easing1) !important; }
.hiding a { opacity: 0 !important; }

.menu > div > a#home {
  width: 80px !important;
  display: block !important;
}

.menu > div > a#home img {
  width: 100% !important;
  height: auto !important;
}

.menu ul {
  font-size: 8vw !important;
  font-size: min(8vw, 120px) !important;
  line-height: 92% !important;
  color: var(--ww-menu-grey) !important;
  font-family: "Google Sans", sans-serif !important;
  text-transform: uppercase !important;
  text-align: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 1 !important;
}

.menu ul li { margin-bottom: 0.28em !important; }
.menu ul li:last-child { margin-bottom: 0 !important; }

.menu ul li a,
.menu ul li button {
  color: var(--ww-menu-grey) !important;
  text-decoration: none !important;
  transition: color var(--timing) var(--easing1) !important;
  font: inherit !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  text-align: inherit !important;
  cursor: pointer !important;
}

.menu ul li a:hover,
.menu ul li a:focus-visible,
.menu ul li button:hover,
.menu ul li button:focus-visible {
  color: var(--ww-menu-white) !important;
  outline: none !important;
}

.menu-contact {
  display: none !important;
  flex: 1 !important;
  text-align: left !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-size: min(2vw, 28px) !important;
  line-height: 1.4 !important;
  padding-top: 0 !important;
  color: var(--ww-menu-grey) !important;
}

body.menu-visible .menu-contact { display: block !important; }

.menu-contact-title {
  font-family: "Google Sans", sans-serif !important;
  text-transform: uppercase !important;
  font-size: 8vw !important;
  font-size: min(8vw, 120px) !important;
  line-height: 92% !important;
  margin-bottom: 0.4em !important;
  color: var(--ww-menu-grey) !important;
}

.menu-contact-text {
  margin-bottom: 0.6em !important;
  line-height: 1.4 !important;
  color: var(--ww-menu-grey) !important;
}

.menu-contact-reveal,
.menu .contact-reveal {
  background: none !important;
  border: none !important;
  color: var(--ww-menu-grey) !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4em !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

.menu-contact-reveal .contact-reveal-copy,
.menu .contact-reveal .contact-reveal-copy { text-decoration: underline !important; }

.menu-contact-reveal .contact-reveal-icon-mail,
.menu-contact-reveal .contact-reveal-email,
.menu .contact-reveal .contact-reveal-icon-mail,
.menu .contact-reveal .contact-reveal-email { display: none !important; }

.menu-contact-reveal.is-revealed .contact-reveal-icon-eye,
.menu-contact-reveal.is-revealed .contact-reveal-label,
.menu .contact-reveal.is-revealed .contact-reveal-icon-eye,
.menu .contact-reveal.is-revealed .contact-reveal-label { display: none !important; }

.menu-contact-reveal.is-revealed .contact-reveal-icon-mail,
.menu-contact-reveal.is-revealed .contact-reveal-email,
.menu .contact-reveal.is-revealed .contact-reveal-icon-mail,
.menu .contact-reveal.is-revealed .contact-reveal-email {
  display: inline-flex !important;
  align-items: center !important;
}

.menu-contact-reveal .contact-reveal-icon,
.menu .contact-reveal-icon {
  display: inline-flex !important;
  align-items: center !important;
}

.menu-contact-reveal .contact-reveal-icon svg,
.menu .contact-reveal .contact-reveal-icon svg {
  width: 1.1em !important;
  height: 1.1em !important;
  vertical-align: middle !important;
}

.menu-contact-reveal:hover,
.menu-contact-reveal:focus-visible,
.menu .contact-reveal:hover,
.menu .contact-reveal:focus-visible,
.menu .contact-email-link:hover,
.menu .contact-email-link:focus-visible {
  color: var(--ww-menu-yellow) !important;
  outline: none !important;
}

/* WW desktop burger menu clone */
@media (min-width: 721px) {
  nav.menu,
  .menu {
    padding-top: 34px !important;
  }

  .menu > div {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding-top: 0 !important;
    gap: calc(var(--ww-menu-padding) * 2) !important;
  }

  .menu > div > a#home,
  body.menu-visible nav.menu > div > a#home,
  body.menu-visible .menu > div > a#home {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    order: -1 !important;
    padding-top: 0 !important;
    margin: 0 !important;
  }

  .menu > div > a#home img,
  body.menu-visible nav.menu > div > a#home img,
  body.menu-visible .menu > div > a#home img {
    width: 134px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .menu > div > ul {
    order: 1 !important;
    flex: 1 !important;
    margin-top: -20px !important;
    text-align: left !important;
  }

  .menu > div > .menu-contact {
    order: 2 !important;
    flex: 1 !important;
    margin-top: -20px !important;
  }

  .menu ul li a { font-size: 7.2vw !important; }
  .menu-contact-title { font-size: min(7.2vw, 108px) !important; }
  .menu-contact { font-size: min(1.8vw, 25.2px) !important; }
}

/* WW mobile burger menu clone */
@media (max-width: 720px) {
  :root { --ww-menu-padding: 30px; }

  .menu > div > a#home {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: calc(var(--ww-menu-padding) * 0.5) !important;
  }

  .menu > div > a#home img {
    width: 100px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .menu > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
    padding-top: calc(var(--ww-menu-padding) * 2) !important;
    box-sizing: border-box !important;
  }

  .menu ul {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    text-align: left !important;
    font-size: 12vw !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }

  .menu-contact {
    margin-top: 2em !important;
    text-align: left !important;
    font-size: 10vw !important;
    line-height: 1.3 !important;
  }

  .menu-contact-title {
    font-size: 10vw !important;
    line-height: 92% !important;
    margin-bottom: 0.3em !important;
  }

  .menu-contact-text {
    font-size: 4vw !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  .menu-contact-reveal,
  .menu .contact-reveal {
    font-size: 4vw !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  :root { --ww-menu-padding: 20px; }
}

/* WW V372/V373 mobile portrait exact logo/text offset, adapted to menu-visible. */
@media (max-width: 720px) and (orientation: portrait) {
  body.menu-visible nav.menu > div > a#home,
  body.menu-visible .menu > div > a#home {
    position: fixed !important;
    top: var(--ww-menu-padding) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9998 !important;
    text-align: center !important;
  }

  body.menu-visible nav.menu > div > a#home img,
  body.menu-visible .menu > div > a#home img {
    display: block !important;
    width: 100px !important;
    max-width: 100px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.menu-visible nav.menu > div > ul,
  body.menu-visible .menu > div > ul {
    margin-top: calc(44px + (var(--ww-menu-padding) * 0.5)) !important;
  }
}
