.pushy {
    position: fixed;
    width: 250px;
    height: 100%;
    top: 0;
    z-index: 9999;
    background: #fff;
    font-size: .9em;
    border-right: 1px solid #5b6b5c;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

    .pushy a {
        display: block;
        color: #5b6b5c;
        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: 15px;
    }

        .pushy a:hover {
            background: #808080;
            color: #FFF;
        }

.pushy-left {
    -webkit-transform: translate3d(-250px, 0, 0);
    -moz-transform: translate3d(-250px, 0, 0);
    -ms-transform: translate3d(-250px, 0, 0);
    -o-transform: translate3d(-250px, 0, 0);
    transform: translate3d(-250px, 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(250px, 0, 0);
    -moz-transform: translate3d(250px, 0, 0);
    -ms-transform: translate3d(250px, 0, 0);
    -o-transform: translate3d(250px, 0, 0);
    transform: translate3d(250px, 0, 0);
}

.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 {
    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;
    }
}

@media screen and (max-width:768px) {
    .pushy {
        font-size: 1em;
    }
}
