.c-offcanvas {
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.c-offcanvas-bg.c-offcanvas-bg--push,
.c-offcanvas-bg.c-offcanvas-bg--reveal,
.c-offcanvas-content-wrap, .c-offcanvas {
  transition: background-color 300ms, transform 300ms cubic-bezier(0.4, 0, 0.6, 1);
}

/* Offcanvas-content-wrap */
.c-offcanvas-content-wrap {
  z-index: 3;
}

/* Offcanvas Panel */
.c-offcanvas {
  background: #fff;
  position: fixed;
  min-height: 100%;
  max-height: none;
  top: 0;
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
}

.c-offcanvas--opening {
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}

.c-offcanvas.is-open {
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

.c-offcanvas.is-closed {
  max-height: 100%;
  overflow: hidden;
  visibility: hidden;
  box-shadow: none;
}

.c-offcanvas--overlay {
  z-index: 1080;
}

.c-offcanvas--reveal {
  z-index: 2;
}

/* Offcanvas BG-Overlay */
.c-offcanvas-bg {
  background-color: transparent;
  transition: background-color 400ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  position: fixed;
  height: 100%;
  top: 0;
  left: -100%;
  width: 100%;
  z-index: 1079;
}

.c-offcanvas-bg.is-animating,
.c-offcanvas-bg.is-open {
  left: 0;
  background-color: rgba(0, 0, 0, 0.68);
  visibility: visible;
}

.c-offcanvas-bg.is-closed {
  visibility: hidden;
}

.c-offcanvas-bg--closing.is-animating {
  background: transparent;
}

/* Background Position Left */
.c-offcanvas--left {
  height: 100%;
  transform: translate3d(-300px, 0, 0);
  width: 300px;
}

/* Position Right */
.c-offcanvas--right {
  height: 100%;
  right: 0;
  transform: translate3d(300px, 0, 0);
  width: 300px;
}

/* RTL Language */
html[dir="rtl"] .c-offcanvas {
  transform: translate3d(300px, 0, 0);
}

html[dir="rtl"] .c-offcanvas.is-open {
  transform: translate3d(0, 0, 0);
}

html[dir="rtl"] .c-offcanvas--right {
  left: 0;
  right: auto;
  transform: translate3d(-300px, 0, 0);
}


/* OFFCANVAS EFFECTS
------------------------------------- */
/* Reveal */
.c-offcanvas-content-wrap {
  z-index: 3;
}
.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--left.is-open {
  transform: translate3d(300px, 0, 0);
}
.c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--right.is-open {
  transform: translate3d(-300px, 0, 0);
}

html[dir="rtl"] .c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--right.is-open {
  transform: translate3d(300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-content-wrap--reveal.c-offcanvas-content-wrap--left.is-open {
  transform: translate3d(-300px, 0, 0);
}

.c-offcanvas--reveal {
  z-index: 0;
  transform: translate3d(0, 0, 0);
}
.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--left.is-open {
  transform: translate3d(300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--left.is-open,
.c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--right.is-open {
  transform: translate3d(-300px, 0, 0);
}

html[dir="rtl"] .c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--right.is-open{
  transform: translate3d(300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-bg.c-offcanvas-bg--reveal.c-offcanvas-bg--left.is-open{
  transform: translate3d(-300px, 0, 0);
}

/* Push */
.c-offcanvas--push {
  z-index: 6;
}

.c-offcanvas--push--opening {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.c-offcanvas-content-wrap {
  z-index: 3;
}
.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--left.is-open {
  transform: translate3d(300px, 0, 0);
}
.c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--right.is-open {
  transform: translate3d(-300px, 0, 0);
}
.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--left.is-open {
  transform: translate3d(300px, 0, 0);
}
.c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--right.is-open {
  transform: translate3d(-300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--right.is-open{
  transform: translate3d(300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-content-wrap--push.c-offcanvas-content-wrap--left.is-open{
  transform: translate3d(-300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--right.is-open{
  transform: translate3d(300px, 0, 0);
}
html[dir="rtl"] .c-offcanvas-bg.c-offcanvas-bg--push.c-offcanvas-bg--left.is-open{
  transform: translate3d(-300px, 0, 0);
}
