/*
 * jQuery Off Canvas Menu v1.2
 * http://codepen.io/mcnamee/pen/Wbvoew
 * Copyright (c) 2014 Matt Mcnamee
 *
 * Dual licensed under the MIT and GPL licenses:
 *  http://www.opensource.org/licenses/mit-license.php
 *  http://www.gnu.org/licenses/gpl.html
 */
html, body, .onCanvas {
  width: 100%;
}

/* Move Other Items */
.onCanvas {
  width: 100%;
  min-height: 100%;
  position: relative;
  height: 100%;
  float: left;
  z-index: 2;
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.4s;
  -moz-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
.overflow_hidden,
.overflow_hidden body,
.overflow_hidden .onCanvas {
  overflow: hidden !important;
  height: 100%;
}
html.offCanvas_open body .onCanvas {
  -webkit-transform: translateX(-260px);
  -moz-transform: translateX(-260px);
  -ms-transform: translateX(-260px);
  -o-transform: translateX(-260px);
  transform: translateX(-260px);
}
html.offCanvas_open body .onCanvas.onCanvas_left {
  -webkit-transform: translateX(260px);
  -moz-transform: translateX(260px);
  -ms-transform: translateX(260px);
  -o-transform: translateX(260px);
  transform: translateX(260px);
}
@media screen and (min-width:365px) {
  html.offCanvas_open body .onCanvas {
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
    -ms-transform: translateX(-300px);
    -o-transform: translateX(-300px);
    transform: translateX(-300px);
  }
  html.offCanvas_open body .onCanvas.onCanvas_left {
    -webkit-transform: translateX(300px);
    -moz-transform: translateX(300px);
    -ms-transform: translateX(300px);
    -o-transform: translateX(300px);
    transform: translateX(300px);
  }
}

/* Trigger / Button */
a.offCanvas_trigger {
  display: block;
  float: right;
  padding: 29px 15px 0 20px;
  outline: none;
  width: 30px;
  height: 38px;
  position: relative;
  z-index: 9999;
}
.offCanvas_trigger.offCanvas_trigger_open .offCanvas_trigger_item {
  background: #fff;
}
.offCanvas_trigger.offCanvas_trigger_open .offCanvas_trigger_item:first-child {
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -moz-transform-origin: 6px 50%;
  -ms-transform-origin: 6px 50%;
  -webkit-transform-origin: 6px 50%;
  transform-origin: 6px 50%;
}
.offCanvas_trigger.offCanvas_trigger_open .offCanvas_trigger_item:nth-child(2) {
  opacity: 0;
}
.offCanvas_trigger.offCanvas_trigger_open .offCanvas_trigger_item:nth-child(3) {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -moz-transform-origin: 1px 50%;
  -ms-transform-origin: 1px 50%;
  -webkit-transform-origin: 1px 50%;
  transform-origin: 1px 50%;
}
.offCanvas_trigger_item {
  -moz-transition: all linear 0.4s;
  -o-transition: all linear 0.4s;
  -webkit-transition: all linear 0.4s;
  transition: all linear 0.4s;
  display: block;
  width: 30px;
  height: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  margin: 0 0 5px;
  background: #fff;
}
@media screen and (max-width:767px) {
  a.offCanvas_trigger {
    display: block;
  }
}

/* offCanvas Menu */
.offCanvas {
  padding: 20px 5px 20px 35px;
  height: 100%;
  overflow-y: hidden;
  visibility: hidden;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1;
  width: 235px;
  background-color: #ffffff;
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0s 0s, visibility 0s 0s;
  -moz-transition: -moz-transform 0s 0s, visibility 0s 0s;
  transition: transform 0s 0s, visibility 0s 0s;
  -webkit-transform: translateX(80px);
  -moz-transform: translateX(80px);
  -ms-transform: translateX(80px);
  -o-transform: translateX(80px);
  transform: translateX(80px);
  -webkit-overflow-scrolling: touch;
}
.offCanvas.offCanvas_left {
  left: 0;
  -webkit-transform: translateX(-80px);
  -moz-transform: translateX(-80px);
  -ms-transform: translateX(-80px);
  -o-transform: translateX(-80px);
  transform: translateX(-80px);
}
@media screen and (min-width:365px) {
  .offCanvas {
    width: 275px
  }
}
html.offCanvas_open .offCanvas.offCanvas_menu_open {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
  -webkit-transition: -webkit-transform .4s 0s, visibility 0s 0s;
  -moz-transition: -moz-transform .4s 0s, visibility 0s 0s;
  transition: transform .4s 0s, visibility 0s 0s;
  overflow-y: scroll;
}
ul.offCanvas_menu {
  width: 100%;
  position: relative;
  padding: 0;
  margin: 0;
  display: block;
}
ul.offCanvas_menu, ul.offCanvas_menu ul {
  -webkit-transform: translateZ(0);
  list-style: none;
  float: left;
  width: 100%;
  display: block;
  margin: 0 0 20px;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
ul.offCanvas_menu ul {
  padding: 0 0 15px 20px;
  margin: 0;
}
ul.offCanvas_menu li {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  float: left;
  cursor: pointer;
  position: relative;
}
ul.offCanvas_menu li a {
  display: block;
  float: left;
  width: 75%;
  padding: 7px 0;
  font-size: 14px;
  color: #000;
  overflow      : hidden;
}
ul.offCanvas_menu > li > a {
  font-size: 15px;
}
ul.offCanvas_menu li a:hover {
  color: #000;
}

/* offCanvas Sub-Menu Indicator */
ul.offCanvas_menu li .offCanvas_menu_has_children_indicator {
  display: block;
  float: left;
  width: 25%;
  height: 20px;
  position: absolute;
  right: 0;
  top: 8px;
  text-align: center;
}
ul.offCanvas_menu li > .offCanvas_menu_has_children_indicator svg {
  fill: #000;
  width: 11px;
  height: 11px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: -webkit-transform ease 0.2s;
  -moz-transition: -moz-transform ease 0.2s;
  -ms-transition: -ms-transform ease 0.2s;
  -o-transition: -o-transform ease 0.2s;
  transition: transform ease 0.2s;
}
ul.offCanvas_menu li.offCanvas_menu_sub_open > .offCanvas_menu_has_children_indicator svg {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}

/* Social Icons */
ul.offCanvas_menu_social,
ul.offCanvas_menu_social li {
  list-style: none;
  text-align: center;
  margin: 0;
  padding: 0;
}
ul.offCanvas_menu_social {
  width: 90%;
  float: left;
  margin-bottom: 80px;
}
ul.offCanvas_menu_social li {
  display: inline-block;
  padding: 0 8px;
}
ul.offCanvas_menu_social li a {
  color: #777;
  font-size: 28px;
}
ul.offCanvas_menu_social li a:hover {
  color: #999;
}