/* Menu Appearance */
.pushy{
    position: fixed;
    width: 450px;
    height: 100%;
    top: 0;
	right:-450px;
    z-index: 9999;
    background: rgba(0,0,0,0.9);
    font-size: 15px;
    overflow-y: auto;
	overflow-x:hidden;
    -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
}

/* Menu Movement */

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

.pushy-left-open{
    left:0px;
    -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-left-push{
    -webkit-transform: translate3d(450px,0,0);
    -moz-transform: translate3d(450px,0,0);
    -ms-transform: translate3d(450px,0,0);
    -o-transform: translate3d(450px,0,0);
    transform: translate3d(450px,0,0);
}

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

.pushy-right-open{
    right:0px;
    -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-right-push{
    -webkit-transform: translate3d(-450px,0,0);
    -moz-transform: translate3d(-450px,0,0);
    -ms-transform: translate3d(-450px,0,0);
    -o-transform: translate3d(-450px,0,0);
    transform: translate3d(-450px,0,0);
}

.pushy-top{
    height: auto;
    width: 100%;
    -webkit-transform: translate3d(0,-100%,0);
    -moz-transform: translate3d(0,-100%,0);
    -ms-transform: translate3d(0,-100%,0);
    -o-transform: translate3d(0,-100%,0);
    transform: translate3d(0,-100%,0);
}

.pushy-top-open{
    top:0px;
    height: auto;
    width: 100%;
    -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-top-push{
    -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);
}


.push-push{
    -webkit-transform: translate3d(450px,0,0);
    -moz-transform: translate3d(450px,0,0);
    -ms-transform: translate3d(450px,0,0);
    -o-transform: translate3d(450px,0,0);
    transform: translate3d(450px,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 */

.overlay-pushy{
    display: none;
}

.overlay-pushy.overlay-active {
    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;
    }
}
