.gls-mobile-bottom-nav {
  display: none;
}

@media only screen and (max-width: 959px) {
  body.gls-mobile-shell-enabled {
    --gls-mobile-nav-height: 58px;
    --gls-mobile-nav-safe-area: env(safe-area-inset-bottom, 0px);
  }

  body.gls-mobile-shell-enabled:not(.page-template-page-vip-status) .site-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background-color: #111;
  }

  body.admin-bar.gls-mobile-shell-enabled:not(.page-template-page-vip-status) .site-header {
    top: 32px;
  }

  body.gls-mobile-shell-enabled .menu-modal.active,
  body.gls-mobile-shell-enabled .menu-modal.show-modal {
    z-index: 1000;
  }

  body.gls-mobile-shell-enabled #page {
    padding-bottom: calc(var(--gls-mobile-nav-height) + var(--gls-mobile-nav-safe-area));
  }

  body.gls-mobile-shell-enabled #content,
  body.gls-mobile-shell-enabled [id^="comment-"] {
    scroll-margin-top: 72px;
  }

  .gls-mobile-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 800;
    display: block;
    height: calc(var(--gls-mobile-nav-height) + var(--gls-mobile-nav-safe-area));
    padding-bottom: var(--gls-mobile-nav-safe-area);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: #181a1f;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.28);
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition:
      transform 200ms ease,
      opacity 160ms ease,
      visibility 0s linear 0s;
    will-change: transform, opacity;
  }

  .gls-mobile-bottom-nav.is-hidden,
  .gls-mobile-bottom-nav.is-suspended,
  body.showing-menu-modal .gls-mobile-bottom-nav,
  body.gls-lightbox-open .gls-mobile-bottom-nav,
  body.gls-mobile-input-active .gls-mobile-bottom-nav,
  body.gls-mobile-fullscreen .gls-mobile-bottom-nav {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 110%, 0);
    transition:
      transform 200ms ease,
      opacity 160ms ease,
      visibility 0s linear 200ms;
  }

  .gls-mobile-bottom-nav__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 680px);
    height: var(--gls-mobile-nav-height);
    margin: 0 auto;
  }

  .gls-mobile-bottom-nav__item,
  .gls-mobile-bottom-nav__item:visited {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 6px 4px 5px;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font: inherit;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    appearance: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    transition: color 150ms ease, background-color 150ms ease;
  }

  .gls-mobile-bottom-nav__item::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 26px;
    height: 2px;
    border-radius: 0 0 2px 2px;
    background: transparent;
    content: "";
    transform: translateX(-50%);
  }

  .gls-mobile-bottom-nav__item:hover,
  .gls-mobile-bottom-nav__item:focus-visible,
  .gls-mobile-bottom-nav__item.active,
  .gls-mobile-bottom-nav__item.is-current {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
  }

  .gls-mobile-bottom-nav__item:hover,
  .gls-mobile-bottom-nav__item:focus-visible {
    background: rgba(255, 255, 255, 0.055);
  }

  .gls-mobile-bottom-nav__item:focus-visible {
    box-shadow: inset 0 0 0 2px #71d7ff;
  }

  .gls-mobile-bottom-nav__item.active::before,
  .gls-mobile-bottom-nav__item.is-current::before {
    background: #ff4d4c;
  }

  .gls-mobile-bottom-nav__icon {
    display: inline-flex;
    width: 22px;
    height: 22px;
    color: currentColor;
    font-size: 18px;
    line-height: 22px;
    align-items: center;
    justify-content: center;
  }

  .gls-mobile-bottom-nav__icon .fa {
    display: block;
    width: 22px;
    line-height: 22px;
    opacity: 1;
    text-align: center;
  }

  .gls-mobile-bottom-nav__label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

}

@media only screen and (max-width: 782px) {
  body.admin-bar.gls-mobile-shell-enabled:not(.page-template-page-vip-status) .site-header {
    top: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gls-mobile-bottom-nav {
    transition-duration: 1ms;
  }
}
