/*! Pushy - v1.0.0 - 2016-3-1
* Pushy is a responsive off-canvas navigation menu using CSS transforms & transitions.
* https://github.com/christophery/pushy/
* by Christopher Yee */
.pushy,
.l-nav,
.r-nav {
  position: fixed;
  width: 350px;
  height: 100vh;
  top: 0;
  z-index: 9998;
  background-color: #ffffff;
  visibility: hidden;
  -webkit-overflow-scrolling: touch;
  font-weight: 200;
  overflow: hidden;
}

@media screen and (max-width: 47.9375em) {
  .pushy,
  .l-nav,
  .r-nav {
    width: -webkit-calc(100% - 40px);
    width: calc(100% - 40px);
  }
}

.pushy.pushy-left {
  left: 0;
}

.pushy-right {
  width: 300px;
  right: 80px;
}

@media screen and (max-width: 87.4375em) {
  .pushy.pushy-right {
    width: 55vw;
  }
}

@media screen and (max-width: 59.9375em) {
  .pushy.pushy-right {
    width: 100%;
  }
}

.pushy-left {
  -webkit-transform: translate3d(-270px, 0, 0);
  transform: translate3d(-270px, 0, 0);
}

.pushy-right {
  -webkit-transform: translate3d(-270px, 0, 0);
  transform: translate3d(-270px, 0, 0);
}

@media screen and (max-width: 47.9375em) {
  .pushy-left {
    -webkit-transform: translate3d(-webkit-calc(-100vw - 40px), 0, 0);
    transform: translate3d(calc(-100vw - 40px), 0, 0);
  }
}

.pushy-open-left #container,
.pushy-open-left .push {
  -webkit-transform: translate3d(270px, 0, 0);
  transform: translate3d(270px, 0, 0);
}

@media screen and (max-width: 47.9375em) {
  .pushy-open-left #container,
  .pushy-open-left .push {
    -webkit-transform: translate3d(-webkit-calc(100% - 40px), 0, 0);
    transform: translate3d(calc(100% - 40px), 0, 0);
  }
}

.pushy-open-left .pushy-right {
  -webkit-transform: translate3d(350px, 0, 0) !important;
  transform: translate3d(350px, 0, 0) !important;
  background-color: transparent;
}

@media screen and (max-width: 87.4375em) {
  .pushy-open-left .pushy-right {
    -webkit-transform: translate3d(-webkit-calc(55vw + 80px), 0, 0) !important;
    transform: translate3d(calc(55vw + 80px), 0, 0) !important;
  }
}

@media screen and (max-width: 59.9375em) {
  .pushy-open-left .pushy-right {
    -webkit-transform: translate3d(100%, 0, 0) !important;
    transform: translate3d(100%, 0, 0) !important;
  }
}

.pushy-open-left .pushy-left {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-color: #ffffff;
}

.pushy-right {
  -webkit-transform: translate3d(300px, 0, 0);
  transform: translate3d(300px, 0, 0);
}

@media screen and (max-width: 87.4375em) {
  .pushy-right {
    -webkit-transform: translate3d(55vw, 0, 0);
    transform: translate3d(55vw, 0, 0);
  }
}

@media screen and (max-width: 59.9375em) {
  .pushy-right {
    -webkit-transform: translate3d(100vw, 0, 0);
    transform: translate3d(100vw, 0, 0);
  }
}

.open-right #container,
.open-right .push {
  -webkit-transform: translate3d(-205px, 0, 0);
  transform: translate3d(-205px, 0, 0);
}

@media screen and (max-width: 47.9375em) {
  .open-right #container,
  .open-right .push {
    -webkit-transform: translate3d(-300px, 0, 0);
    transform: translate3d(-300px, 0, 0);
  }
}

.open-right .pushy-right {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  right: 0;
}

@media screen and (max-width: 47.9375em) {
  .open-right .pushy-left {
    -webkit-transform: translate3d(-webkit-calc(-100% - 80px), 0, 0) !important;
    transform: translate3d(calc(-100% - 80px), 0, 0) !important;
  }
}

#container,
.pushy,
.push,
.r-nav {
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94),ease background 500ms;
  transition: transform 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94),ease background 500ms;
}

.site-overlay {
  display: none;
}

.pushy-open-left .site-overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9997;
  background-color: rgba(0,0,0,0.5);
  -webkit-animation: fade 400ms;
  animation: fade 400ms;
}

@media screen and (max-width: 47.9375em) {
  .pushy-open-left .main,
  .open-right .main {
    overflow: hidden;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#container {
  margin-left: 80px;
  background-color: #ffffff;
}

@media screen and (max-width: 47.9375em) {
  #container {
    margin-left: 0;
    margin-right: 0 !important;
  }

  .open-right .l-menu_activator {
    margin-left: -100pX;
  }
}

.pushy-open-left .r-menu_activator {
  margin-right: -100pX;
}

.open-right .r-nav {
  visibility: visible;
}

.open-right .r-menu_activator {
  right: 225px;
}

.l-nav__menu,
.l-nav_menu_footer {
  visibility: hidden;
}

.pushy-open-left .l-nav__menu,
.pushy-open-left .l-nav_menu_footer {
  visibility: visible;
}

@media (max-width: 420px) {
  .l-nav_menu_footer {
    margin-top: 60px;
  }
}