html {
  overscroll-behavior: auto !important;
}

/* Desktop: no fullscreen menu overlay, use compact panel */
._templatepart__menu__overlay {
  align-content: flex-start !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  background-color: rgba(6, 10, 16, 0) !important;
  padding: 88px 24px 24px !important;
}

._templatepart__menu ._templatepart__menu__overlay__background {
  background-color: rgba(6, 10, 16, 0.25) !important;
}

._templatepart__menu ._templatepart__menu__overlay__content {
  width: min(560px, calc(100vw - 48px)) !important;
  max-height: calc(100vh - 116px) !important;
  height: auto !important;
  background: #0b0c0e !important;
  border: 1px solid rgba(134, 203, 211, 0.2) !important;
  border-radius: 14px !important;
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.45) !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  overflow-y: auto !important;
}

._templatepart__menu ._templatepart__menu__overlay__content__close {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  margin: 0 0 0 auto !important;
  padding: 12px 14px 8px !important;
  background: linear-gradient(to bottom, #0b0c0e 65%, transparent 100%) !important;
  z-index: 3 !important;
}

._templatepart__menu ._templatepart__menu__overlay__content__items {
  align-items: stretch !important;
  text-align: left !important;
  padding: 6px 22px 22px !important;
}

._menuupdate {
  gap: 12px !important;
}

._menuupdate a {
  width: 100%;
}

._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate {
  color: #ffffff !important;
}

._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate a,
._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__opener__title,
._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__link {
  color: #ffffff !important;
}

._menuupdate ._menuupdate__container {
  width: 100%;
}

._menuupdate ._menuupdate__container * {
  text-align: left !important;
}

._menuupdate ._menuupdate__opener {
  width: 100%;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
}

._menuupdate ._menuupdate__opener__title {
  width: auto;
}

._menuupdate ._menuupdate__opener__icon {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  margin-left: 8px;
}

._menuupdate ._menuupdate__content {
  width: 100%;
  overflow: hidden;
}

._menuupdate ._menuupdate__content__items {
  gap: 6px;
}

._menuupdate ._menuupdate__container[data-b_isopen='true'] > ._menuupdate__content {
  margin-top: 8px;
}

._menuupdate ._menuupdate__container[data-b_isopen='false'] > ._menuupdate__content {
  margin-top: 0 !important;
}

._menuupdate ._menuupdate__link {
  max-width: 100%;
  line-height: 1.35;
}

._menuupdate ._menuupdate__link:hover,
._menuupdate ._menuupdate__opener:hover,
._menuupdate ._menuupdate__container[data-b_isopen='true'] > ._menuupdate__opener {
  color: #86cbd3;
}

/* Desktop horizontal nav */
._templatepart__menu ._templatepart__menu__navigation__links {
  display: inline-flex !important;
  width: auto !important;
  top: 0 !important;
  margin-right: 26px !important;
  margin-left: auto !important;
  align-items: center !important;
  overflow: visible !important;
}

._templatepart__menu,
._templatepart__menu ._templatepart__menu__navigation {
  overflow: visible !important;
}

._templatepart__menu ._templatepart__menu__navigation__contact,
._templatepart__menu ._templatepart__menu__navigation__meta {
  top: 0 !important;
  align-items: center !important;
}

._templatepart__menu ._templatepart__menu__navigation__contact__item,
._templatepart__menu ._templatepart__menu__navigation__meta__item {
  transform: translateY(3px);
}

html[data-grid__id_breakpoint='tab'] ._templatepart__menu ._templatepart__menu__navigation__links,
html[data-grid__id_breakpoint='des'] ._templatepart__menu ._templatepart__menu__navigation__links,
html[data-grid__id_breakpoint='xxl'] ._templatepart__menu ._templatepart__menu__navigation__links {
  display: inline-flex !important;
}

._templatepart__menu ._tsrmenu__list,
._templatepart__menu ._tsrmenu__submenu {
  margin: 0;
  padding: 0;
  list-style: none;
}

._templatepart__menu ._tsrmenu__list {
  display: flex;
  align-items: center;
  gap: 28px;
}

._templatepart__menu ._tsrmenu__item {
  position: relative;
  display: flex;
  align-items: center;
}

._templatepart__menu ._tsrmenu__item._haschildren::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 14px;
}

._templatepart__menu ._tsrmenu__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff !important;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  padding: 8px 0;
}

._templatepart__menu ._templatepart__menu__navigation__links > a {
  color: #fff !important;
  text-decoration: none;
}

._templatepart__menu ._tsrmenu__caret {
  font-size: 0.8em;
  opacity: 0.75;
  transform: translateY(-1px);
}

._templatepart__menu ._tsrmenu__item:hover > ._tsrmenu__link,
._templatepart__menu ._tsrmenu__item:focus-within > ._tsrmenu__link {
  color: #86cbd3 !important;
}

._templatepart__menu ._tsrmenu__submenu {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 220px;
  display: block;
  background: rgba(11, 12, 14, 0.98);
  border: 1px solid rgba(134, 203, 211, 0.2);
  border-radius: 10px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  padding: 12px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  pointer-events: none;
  z-index: 150;
}

._templatepart__menu ._tsrmenu__item:hover > ._tsrmenu__submenu,
._templatepart__menu ._tsrmenu__item:focus-within > ._tsrmenu__submenu,
._templatepart__menu ._tsrmenu__subitem:hover > ._tsrmenu__submenu,
._templatepart__menu ._tsrmenu__subitem:focus-within > ._tsrmenu__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: all;
}

._templatepart__menu ._tsrmenu__subitem {
  position: relative;
}

._templatepart__menu ._tsrmenu__subitem._haschildren::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 0;
  width: 10px;
  height: 100%;
}

._templatepart__menu ._tsrmenu__sublink {
  display: block;
  color: #fff !important;
  text-decoration: none;
  padding: 12px 20px;
  line-height: 1.25;
}

html[data-grid__id_breakpoint='tab'] ._templatepart__menu ._tsrmenu__submenu > ._tsrmenu__subitem > ._tsrmenu__sublink,
html[data-grid__id_breakpoint='des'] ._templatepart__menu ._tsrmenu__submenu > ._tsrmenu__subitem > ._tsrmenu__sublink,
html[data-grid__id_breakpoint='xxl'] ._templatepart__menu ._tsrmenu__submenu > ._tsrmenu__subitem > ._tsrmenu__sublink {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

._templatepart__menu ._tsrmenu__sublink:hover,
._templatepart__menu ._tsrmenu__subitem:focus-within > ._tsrmenu__sublink {
  color: #86cbd3 !important;
}

._templatepart__menu ._tsrmenu__subitem._haschildren > ._tsrmenu__submenu {
  left: 100%;
  top: 0;
}

/* Keep menu button only for mobile/tablet */
._templatepart__menu ._templatepart__menu__navigation__meta__item._id__menu {
  display: none !important;
}

/* Search: reveal compact input under search button */
._templatepart__menu ._templatepart__menu__search {
  width: 100% !important;
  height: 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background: transparent !important;
  z-index: 120 !important;
}

._templatepart__menu ._templatepart__menu__search__background {
  display: none !important;
}

._templatepart__menu ._templatepart__menu__search__content {
  position: absolute !important;
  top: 78px !important;
  right: 22px !important;
  margin: 0 !important;
  width: min(420px, calc(100vw - 44px)) !important;
  max-width: none !important;
  background: rgba(11, 12, 14, 0.96) !important;
  border: 1px solid rgba(134, 203, 211, 0.24) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.38) !important;
  padding: 10px 50px 12px 14px !important;
  transition: opacity 0.28s ease, transform 0.28s ease !important;
}

._templatepart__menu ._templatepart__menu__search__content__close {
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;
  width: 24px !important;
  margin: 0 !important;
  z-index: 3 !important;
}

._templatepart__menu ._templatepart__menu__search__content__close > svg {
  width: 100% !important;
}

._templatepart__menu ._templatepart__menu__search__content__magnify {
  width: 28px !important;
  height: 28px !important;
  right: 12px !important;
  top: auto !important;
  margin: 0 !important;
}

._templatepart__menu ._templatepart__menu__search__content__input {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-family: inherit !important;
}

._templatepart__menu ._templatepart__menu__search__content__input::placeholder {
  font-size: 18px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

._templatepart__menu ._templatepart__menu__search__content__line {
  position: absolute !important;
  left: 14px !important;
  right: 46px !important;
  bottom: 8px !important;
  width: auto !important;
  background-color: rgba(255, 255, 255, 0.65) !important;
}

html[data-b_menusearchisactive='false'] ._templatepart__menu ._templatepart__menu__search__content {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
  pointer-events: none !important;
}

html[data-b_menusearchisactive='true'] ._templatepart__menu ._templatepart__menu__search__content {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: all !important;
}

/* Mobile: offcanvas panel */
html[data-grid__id_breakpoint='sma'] ._templatepart__menu__overlay {
  justify-content: flex-end !important;
  padding: 0 !important;
  background-color: rgba(4, 8, 12, 0.62) !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content {
  width: min(420px, 88vw) !important;
  max-height: 100vh !important;
  height: 100vh !important;
  border-radius: 0 !important;
  border-left: 1px solid rgba(134, 203, 211, 0.28) !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  box-shadow: -12px 0 30px rgba(0, 0, 0, 0.32) !important;
  transform: translateX(100%) !important;
  transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1) !important;
  padding-top: 6px !important;
}

html[data-b_menuoverlayisactive='true'][data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content {
  transform: translateX(0) !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items {
  padding: 10px 18px 24px !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__navigation__links {
  display: none !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__navigation__meta__item._id__menu {
  display: inline-block !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__search__content {
  right: 12px !important;
  top: 68px !important;
  width: calc(100vw - 24px) !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__search__content__input,
html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__search__content__input::placeholder {
  font-size: 16px !important;
}

/* Mobile menu typography/layout fixes */
html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate {
  gap: 16px !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate a {
  display: block !important;
  width: 100% !important;
  padding: 5px 0 !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__opener {
  align-items: flex-start !important;
  padding: 7px 0 !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__opener__title,
html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__link {
  display: block !important;
  font-size: 24px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-break: break-word !important;
  max-width: 100% !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__content__items {
  gap: 13px !important;
  padding-top: 3px !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__content {
  padding-left: 14px !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content ._tsrmenu__link,
html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content ._tsrmenu__sublink {
  font-size: 24px !important;
  line-height: 1.5 !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__container[data-b_isopen='false'] > ._menuupdate__content {
  display: block !important;
  height: 0;
  overflow: hidden;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__menu ._templatepart__menu__overlay__content__items__update._menuupdate ._menuupdate__container[data-b_isopen='true'] > ._menuupdate__content {
  overflow: hidden;
}

._templatepart__pageitemfooter__content__social {
  top: auto !important;
  bottom: 25% !important;
}

html[data-grid__id_breakpoint='sma'] ._templatepart__pageitemfooter__content__social {
  bottom: 10% !important;
}

span._is {
  width: 0 !important;
}
