*,
*:after,
*::before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.mythemes-container,
.mythemes-pusher,
.mythemes-content {
    height: 100%;
}

.mythemes-content,
.mythemes-content-inner {
    position: relative;
}

.mythemes-container {
    position: relative;
    overflow: hidden;
}

.mythemes-pusher {
    position: relative;
    left: 0;
    z-index: 99;
    height: 100%;

    -webkit-transition: -webkit-transform 0.5s;
       -moz-transition: -moz-transform 0.5s;
         -o-transition: -o-transform 0.5s;
        -ms-transition: -ms-transform 0.5s;
            transition: transform 0.5s;
}

.mythemes-pusher::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    background: rgba(0,0,0,0.8);
    content: '';
    
    opacity: 0;
    filter: alpha(opacity=0);

    -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
       -moz-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
         -o-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
        -ms-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
            transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
}

.mythemes-menu-open .mythemes-pusher::after {
    width: 100%;
    height: 100%;

    opacity: 1;
    filter: alpha(opacity=100);

    -webkit-transition: opacity 0.5s;
       -moz-transition: opacity 0.5s;
         -o-transition: opacity 0.5s;
        -ms-transition: opacity 0.5s;
            transition: opacity 0.5s;
}

.mythemes-menu{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    visibility: hidden;
    width: 350px;
    background-color:#121212;
    height: 100%;

    -webkit-transition: all 0.5s;
       -moz-transition: all 0.5s;
         -o-transition: all 0.5s;
        -ms-transition: all 0.5s;
            transition: all 0.5s;
}

.mythemes-menu::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    content: '';

    opacity: 1;
    filter: alpha(opacity=100);

    -webkit-transition: opacity 0.5s;
       -moz-transition: opacity 0.5s;
         -o-transition: opacity 0.5s;
        -ms-transition: opacity 0.5s;
            transition: opacity 0.5s;
}

.mythemes-menu-open .mythemes-menu::after {
    width: 0;
    height: 0;
    opacity: 0;

    -webkit-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
       -moz-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
         -o-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
        -ms-transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
            transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
}

/* Effect 1: Slide in on top */
.mythemes-effect-1.mythemes-menu {
    visibility: visible;

    -webkit-transform: translate3d(-100%, 0, 0);
       -moz-transform: translate3d(-100%, 0, 0);
         -o-transform: translate3d(-100%, 0, 0);
        -ms-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
}

.mythemes-effect-1.mythemes-menu-open .mythemes-effect-1.mythemes-menu {
    visibility: visible;

    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.mythemes-effect-1.mythemes-menu::after {
    display: none;
}


/* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */
.no-csstransforms3d .mythemes-pusher,
.no-js .mythemes-pusher {
    padding-left: 300px;
}