.offside,
.offside--left {
  left: -300px;
  display: block!important;
}

/* Right off-canvas elements default status: out of the page */
.offside--right {
  left: auto;
  right: -300px;
  display: block!important;
}

/*
 * Left off-canvas element is open:
 * - off-canvas element slides in
 * - container elements slides out
 */
.offside--left.is-open,
.offside-js--is-left .offside-sliding-element {
  -webkit-transform: translate3d(300px, 0, 0);
  -moz-transform: translate3d(300px, 0, 0);
  -ms-transform: translate3d(300px, 0, 0);
  -o-transform: translate3d(300px, 0, 0);
  transform: translate3d(300px, 0, 0);
}

/*
 * Right off-canvas element is open:
 * - off-canvas element slides in
 * - container elements slides out
 */
.offside--right.is-open,
.offside-js--is-right .offside-sliding-element {
  -webkit-transform: translate3d(-300px, 0, 0);
  -moz-transform: translate3d(-300px, 0, 0);
  -ms-transform: translate3d(-300px, 0, 0);
  -o-transform: translate3d(-300px, 0, 0);
  transform: translate3d(-300px, 0, 0);
}

/* Elements Transitions */
.offside-js--interact .offside,
.offside-js--interact .offside-sliding-element {
  -webkit-transition: -webkit-transform .2s cubic-bezier(.16, .68, .43, .99);
  -moz-transition: -moz-transform .2s cubic-bezier(.16, .68, .43, .99);
  -o-transition: -o-transform .2s cubic-bezier(.16, .68, .43, .99);
  transition: transform .2s cubic-bezier(.16, .68, .43, .99);

  /* improves performance issues on mobile*/
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
}

/* Body overflow */
.offside-js--init {
  overflow-x: hidden;
}



/* Fallback movements for browser not supporting CSS 3d Transitions
----------------------------------------------- */

/* Modernizr false negative csstransforms3d fix, reset CSS 3d Transitions */
.no-csstransforms3d .offside {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.no-csstransforms3d .offside-sliding-element {
  overflow-x: hidden;
  position: relative;
}

/* Element is open: off-canvas element slides in */
.no-csstransforms3d .offside--left.is-open {
  left: 0;
}

.no-csstransforms3d .offside--right.is-open {
  right: 0;
}

/* Element is open: container elements slide out */
.no-csstransforms3d > .offside-js--is-left .offside-sliding-element {
  right: -300px;
}

.no-csstransforms3d > .offside-js--is-right .offside-sliding-element {
  left: -300px;
}




a {
  color: #fff;
  text-decoration: none;
}


nav.mobile {
  background: #e5006d;
  color: #fff;
  display: none;
  position: fixed;
  width: 300px;
  height: 100vh;
  top: 0;
  z-index: 9999;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 3em 1.5em 0;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
}

@media (min-width: 1000px) {

  nav.mobile {
    display: none;
  }

}

nav.mobile * {
  transition: left .15s linear;
  box-sizing: border-box;
}

nav.mobile div {
  position: relative;
}

nav.mobile ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  transition: left .15s linear;
}

nav.mobile li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  
  padding: .25em 0;
  margin: 0;
  border-bottom: .056em solid rgba(255, 255, 255, .6);
}

nav.mobile li a {
  padding: .25em 0;
}

nav.mobile li ul {
  display: none;
}

nav.mobile li span.open-sesam--trigger {
  padding: .20em 1em .25em .5em;
  display: inline-block;
  font-size: 1.25em;
  line-height: .85;
  cursor: pointer;
}

nav.mobile li.close-sesam {
  margin: 0 0 2em;
  border: 0;
  cursor: pointer;
}

nav.mobile li.close-sesam span {
  padding: .25em 0;
}

nav.mobile li.close-sesam span i {
  padding: 0 .25em 0 0;
  display: inline-block;
  font-size: 1.25em;
  line-height: .85;
  top: .15em;
  position: relative;
}

nav.mobile button.close-nav {
  position: absolute;
  right: .85em;
  top: 1em;
  background: #000;
  color: #fff;
  font-size: 1.25em;
  border: 0;
}
