/// /// Phantom by HTML5 UP /// html5up.net | @ajlkn /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) ///

/* Menu */

wrapper {

@include vendor('transition', 'opacity #{_duration(menu)} ease');
opacity: 1;

}

menu {

@include vendor('transform', 'translateX(#{_size(menu)})');
@include vendor('transition', ('transform #{_duration(menu)} ease', 'visibility #{_duration(menu)}'));
position: fixed;
top: 0;
right: 0;
width: _size(menu);
max-width: 80%;
height: 100%;
-webkit-overflow-scrolling: touch;
background: _palette(fg);
color: _palette(bg);
cursor: default;
visibility: hidden;
z-index: _misc(z-index-base) + 2;

> .inner {
  @include vendor('transition', 'opacity #{_duration(menu)} ease');
  -webkit-overflow-scrolling: touch;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2.75em;
  opacity: 0;
  overflow-y: auto;

  > ul {
    list-style: none;
    margin: 0 0 (_size(element-margin) * 0.5) 0;
    padding: 0;

    > li {
      padding: 0;
      border-top: solid 1px transparentize(_palette(bg), 0.85);

      a {
        display: block;
        padding: 1em 0;
        line-height: 1.5;
        border: 0;
        color: inherit;
      }

      &:first-child {
        border-top: 0;
        margin-top: -1em;
      }
    }
  }
}

> .close {
  @include vendor('transition', (
  'opacity #{_duration(menu)} ease',
  'transform #{_duration(menu)} ease'
  ));
  @include vendor('transform', 'scale(0.25) rotate(180deg)');
  -webkit-tap-highlight-color: transparent;
  display: block;
  position: absolute;
  top: 2em;
  left: -6em;
  width: 6em;
  text-indent: 6em;
  height: 3em;
  border: 0;
  font-size: 1em;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;

  &:before, &:after {
    @include vendor('transition', 'opacity #{_duration(transition)} ease');
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 2em 2em;
  }

  &:before {
    background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" preserveAspectRatio="none"><style>line { stroke-width: 8px; stroke: #{_palette(accent1)}; }</style><line x1="15" y1="15" x2="85" y2="85" /><line x1="85" y1="15" x2="15" y2="85" /></svg>');
    opacity: 0;
  }

  &:after {
    background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" preserveAspectRatio="none"><style>line { stroke-width: 8px; stroke: #{_palette(fg)}; }</style><line x1="15" y1="15" x2="85" y2="85" /><line x1="85" y1="15" x2="15" y2="85" /></svg>');
    opacity: 1;
  }

  &:hover {
    &:before {
      opacity: 1;
    }

    &:after {
      opacity: 0;
    }
  }
}

@include breakpoint(small) {
  @include vendor('transform', 'translateX(#{_size(menu) * 0.75})');
  width: (_size(menu) * 0.75);

  > .inner {
    padding: 2.75em 1.5em;
  }

  > .close {
    top: 0.5em;
    left: -4.25em;
    width: 4.25em;
    text-indent: 4.25em;

    &:before, &:after {
      background-size: 1.5em 1.5em;
    }
  }
}

}

body.is-menu-visible {

#wrapper {
  @include vendor('pointer-events', 'none');
  cursor: default;
  opacity: 0.25;
}

#menu {
  @include vendor('transform', 'translateX(0)');
  visibility: visible;

  > * {
    opacity: 1;
  }

  .close {
    @include vendor('transform', 'scale(1.0) rotate(0deg)');
    opacity: 1;
  }
}

}