/* -----------------------------------------------------------------------------

  WRAPPER OBJECT
  
----------------------------------------------------------------------------- */
.m-wrapper {
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  position: absolute;
  top: 0;
  left: 5%;
  width: 95%;
}

/* -----------------------------------------------------------------------------

  SLIDE AND PUSH MENUS COMPONENT
  
----------------------------------------------------------------------------- */

/**
 * Menu overview.
 */
.m-menu {
  position: fixed;
  z-index: 200;
  background-color: #052b5a;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}

/**
 * Left and right menus
 *
 * Slide and push menus coming in from the left and right inherit a lot of
 * common styles. We'll start each of them off by doing up the common styles
 * for each version, followed by individual styles.
 *
 * The various versions are governed by modifier classes.
 */
/**
 * Common modifiers for left/right menus.
 */
.m-menu--slide-left {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-y: auto;
}
/*
@media all and (min-width: 768px) {
  .m-menu--slide-left {
    width: 600px;
  }
}
*/

.m-menu--slide-left .m-btn-menu-close {
  display: block;
  width: 100%;
}

/**
 * Slide/Push Menu Left.
 */
.m-menu--slide-left {
  top: 0;
  left: 5%;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
/*
@media all and (min-width: 768px) {
  .m-menu--slide-left {
    -webkit-transform: translateX(-600px);
        -ms-transform: translateX(-600px);
            transform: translateX(-600px);
  }
}
*/

.m-menu--slide-left.is-active {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

/**
 * Body states.
 *
 * When a menu is active, we want to hide the overflows on the body to prevent
 * awkward document scrolling.
 */
body.has-active-menu {
  overflow: hidden;
}

/**
 * Close button resets.
 */
.m-btn-menu-close {
  border: none;
  box-shadow: none;
  border-radius: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.m-btn-menu-close:focus {
  outline: none;
}

/* -----------------------------------------------------------------------------

  MASK COMPONENT
  
----------------------------------------------------------------------------- */
.m-mask {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  background-color: #000;
  opacity: 0;
  -webkit-transition:
    opacity 0.3s,
    width 0s 0.3s,
    height 0s 0.3s;
  transition:
    opacity 0.3s,
    width 0s 0.3s,
    height 0s 0.3s;
}

.m-mask.is-active {
  width: 100%;
  height: 100%;
  opacity: 0.7;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
