.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.off-canvas-wrap.move-right,
.off-canvas-wrap.move-left {
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
}
.inner-wrap {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease;
}
.inner-wrap:before,
.inner-wrap:after {
  content: " ";
  display: table;
}
.inner-wrap:after {
  clear: both;
}

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  width: 20.625rem;
  top: 0;
  bottom: 0;
  position: absolute;
  overflow-x: hidden;
  overflow-y: auto;
  background: #4b4b4b;
  z-index: 1001;
  box-sizing: content-box;
  transition: transform 500ms ease 0s;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -ms-transform: translate(100%, 0);
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
}
.right-off-canvas-menu * {
  -webkit-backface-visibility: hidden;
}
.move-left > .inner-wrap {
  -ms-transform: translate(-20.625rem, 0);
  -webkit-transform: translate3d(-20.625rem, 0, 0);
  -moz-transform: translate3d(-20.625rem, 0, 0);
  -ms-transform: translate3d(-20.625rem, 0, 0);
  -o-transform: translate3d(-20.625rem, 0, 0);
  transform: translate3d(-20.625rem, 0, 0);
}
.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: transparent;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: transparent;
}
@media only screen and (min-width: 40.063em) {
  .move-left .exit-off-canvas:hover {
    background: transparent;
  }
}
.offcanvas-overlap .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003;
}

.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  transition: background 300ms ease;
  cursor: pointer;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  background: transparent;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1002;
  -webkit-tap-highlight-color: transparent;
}
@media only screen and (min-width: 40.063em) {
  .offcanvas-overlap .exit-off-canvas:hover {
    background: transparent;
  }
}
.no-csstransforms .left-off-canvas-menu {
  left: -20.625rem;
}
.no-csstransforms .right-off-canvas-menu {
  right: -20.625rem;
}
.no-csstransforms .move-left > .inner-wrap {
  right: 20.625rem;
}
.no-csstransforms .move-right > .inner-wrap {
  left: 20.625rem;
}
