.mobile-menu {
  position: fixed;
  top: 0;
  width: 0;
}

.mobile-menu.mobile-menu--left {
  left: 0;
}
.mobile-menu.mobile-menu--right {
  right: 0;
}

/* variants */
.mobile-menu--default {
  z-index: var(--mobile-menu-z-index);
}
.mobile-menu--squeeze, .mobile-menu--push {
  z-index: 2;
}
.mobile-menu--ios, .mobile-menu--reveal, .mobile-menu--squeeze-reveal {
  display: none;
  z-index: -1;
}
.mobile-menu--ios.mobile-menu--dragging, .mobile-menu--ios.mobile-menu--transitioning, .mobile-menu--ios.mobile-menu--open, .mobile-menu--reveal.mobile-menu--dragging, .mobile-menu--reveal.mobile-menu--transitioning, .mobile-menu--reveal.mobile-menu--open, .mobile-menu--squeeze-reveal.mobile-menu--dragging, .mobile-menu--squeeze-reveal.mobile-menu--transitioning, .mobile-menu--squeeze-reveal.mobile-menu--open {
  display: block;
  z-index: unset;
}
.mobile-menu--ios .mobile-menu__mask, .mobile-menu--reveal .mobile-menu__mask, .mobile-menu--squeeze-reveal .mobile-menu__mask {
  z-index: 1;
}
.mobile-menu--ios.mobile-menu--open .mobile-menu__mask, .mobile-menu--reveal.mobile-menu--open .mobile-menu__mask, .mobile-menu--squeeze-reveal.mobile-menu--open .mobile-menu__mask {
  display: none;
}

.mobile-menu-wrapper--embedded .mobile-menu {
  position: absolute;
}
.mobile-menu-wrapper--embedded .mobile-menu__mask, .mobile-menu-wrapper--embedded .mobile-menu.mobile-menu--open, .mobile-menu-wrapper--embedded .mobile-menu.mobile-menu--transitioning, .mobile-menu-wrapper--embedded .mobile-menu.mobile-menu--dragging {
  width: 100%;
}
.mobile-menu-wrapper--embedded .mobile-menu, .mobile-menu-wrapper--embedded .mobile-menu__mask,
.mobile-menu-wrapper--embedded .mobile-menu .mobile-menu__tray {
  height: var(--mobile-menu-height);
}

.mobile-menu__toggle {
  cursor: pointer;
}

@layer ember-mobile-menu {
  :root {
    --mobile-menu-wrapper-width: 100%;
    --mobile-menu-wrapper-min-height: 100vh;

    --mobile-menu-height: 100vh;
    --mobile-menu-z-index: 2000;
  }
}

body.mobile-menu--prevent-scroll {
  overflow: hidden;
}

.mobile-menu-wrapper {
  overflow: hidden;
  width: var(--mobile-menu-wrapper-width);
  min-height: var(--mobile-menu-wrapper-min-height);
  /* Avoid Chrome to see Safari hack */
}
@supports (-webkit-touch-callout: none) {
  .mobile-menu-wrapper {
    /* The hack for Safari */
    min-height: -webkit-fill-available;
  }
}

.mobile-menu-wrapper--embedded {
  position: relative;
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
}
.mobile-menu-wrapper--embedded .mobile-menu-wrapper__content {
  min-height: 100%;
}

.mobile-menu-wrapper__content {
  min-height: var(--mobile-menu-wrapper-min-height);
  position: relative;
  background: #FFF;
  will-change: transform, margin-left, margin-right;
  z-index: 1;
  touch-action: pan-y;
}
.mobile-menu-wrapper__content--shadow {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.mobile-menu-wrapper__content--ios, .mobile-menu-wrapper__content--reveal, .mobile-menu-wrapper__content--squeeze-reveal {
  z-index: 2;
}

.mobile-menu__mask {
  position: absolute;
  top: 0;
  left: 0;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  /* Avoid Chrome to see Safari hack */
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: none;
  touch-action: pan-y;
  will-change: opacity;
  visibility: hidden;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
@supports (-webkit-touch-callout: none) {
  .mobile-menu__mask {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}

.mobile-menu__tray {
  position: absolute;
  top: 0;
  height: var(--mobile-menu-height);
  /* Avoid Chrome to see Safari hack */
  overflow-y: auto;
  touch-action: pan-y;
  background: #FFF;
  will-change: transform;
}
@supports (-webkit-touch-callout: none) {
  .mobile-menu__tray {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}

