/* Menu Appearance */

.pushy{
    position: fixed;
    width: 200px;
    height: 100%;
    top: 0;
    z-index: 9999;
    background: #181c1f;
    font-size: 0.9em;
    font-weight: bold;
    overflow: auto;
    -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
}

.pushy a, .dropdown-menu>li>a{
    display: block;
    color: #fff;
    padding: 15px 30px;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    border-top: 1px solid rgba(255, 255, 255, .1);
    text-decoration: none;
    font-size: 2rem;
    font-weight: normal;
}

.pushy a:hover, .dropdown-menu>li>a:hover, .pushy li.active, .dropdown-menu>.active>a {
    background: #bd0926;
    color: #FFF;
}

/* Menu Movement */

.pushy-left{
    -webkit-transform: translate3d(-200px,0,0);
    -moz-transform: translate3d(-200px,0,0);
    -ms-transform: translate3d(-200px,0,0);
    -o-transform: translate3d(-200px,0,0);
    transform: translate3d(-200px,0,0);
}

.pushy-open{
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.container-push, .push-push{
    -webkit-transform: translate3d(200px,0,0);
    -moz-transform: translate3d(200px,0,0);
    -ms-transform: translate3d(200px,0,0);
    -o-transform: translate3d(200px,0,0);
    transform: translate3d(200px,0,0);
}

/* Menu Transitions */

.pushy, #container, .push{
    -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);
}

/* Site Overlay */

.site-overlay{
    display: none;
}

.pushy-active .site-overlay{
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    background-color: rgba(0,0,0,0.5);
    -webkit-animation: fade 500ms; 
    -moz-animation: fade 500ms; 
    -o-animation: fade 500ms;
    animation: fade 500ms;
}

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

@-moz-keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

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

@-o-keyframes fade{
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

/* Example Media Query */

@media screen and (max-width: 768px){
    .pushy {
        font-size: 1.0em;
        width:300px !important;
    }
}

/* Pushy Navigation
--------------------------------------------- */

.pushy{
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 360px;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 9999;
    background: #111;
}

.navigation-menu-canvas {
    padding: 0 40px;
    padding: 0 4rem;
}

/* Menu Movement */

.pushy-right{
    -webkit-transform: translate3d(360px,0,0);
    -moz-transform: translate3d(360px,0,0);
    -ms-transform: translate3d(360px,0,0);
    -o-transform: translate3d(360px,0,0);
    transform: translate3d(360px,0,0);
}

.pushy-open{
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.container-push {
    -webkit-transform: translate3d(-360px,0,0);
    -moz-transform: translate3d(-360px,0,0);
    -ms-transform: translate3d(-360px,0,0);
    -o-transform: translate3d(-360px,0,0);
    transform: translate3d(-360px,0,0);
}

.container-push * {
    pointer-events: none;   
}

/* Menu Transitions */

.pushy, .site-container, .header-widget-area, .header-image .title-area {
    -webkit-transition: all 0.2s cubic-bezier(.16,.68,.43,.99);
    -moz-transition: all 0.2s cubic-bezier(.16,.68,.43,.99);
    -o-transition: all 0.2s cubic-bezier(.16,.68,.43,.99);
    transition: all 0.2s cubic-bezier(.16,.68,.43,.99);
}

.pushy, .site-container, .flicker-free {
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;
}