.push-menu {
    position: absolute;
    top: 60px;
    left: -280px;
    width: 280px;
    display: none;
    transition: 0.3s;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.push-wrapper {
    transition: 0.3s;
    float: left;
    width: 100%;
}

.push-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.3);
    z-index: 600;
    transition: 0.3s;
    position: fixed;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
}

.push-menu .element {
    display: block;
    width: 100%;
}

.push-menu .element a {
    background: white;
    border-bottom: 1px solid #e6e6e6;
    position: relative;
    display: block;
    width: 100%;
    padding: 7px 15px;
    font-size: 14px;
}

.push-menu .element a.active {
    background: #dc002e;
    color: white;
}

.push-menu .element.with-dropdown a {
    padding: 7px 40px 7px 15px;
}

.push-menu > .level-0 > .element > a {
    padding-top: 10px;
    padding-bottom: 10px;
}

.push-menu .element:last-child a {
    border: none;
}

.push-menu .element.with-dropdown .dropdown-menu {
    top: 0;
    left: -460px;
    width: 280px;
    min-height: 100%;
    transition: 0.5s;
    border-radius: 0;
    display: block;
    border: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    opacity: 0;
    margin: 0;
}

.push-menu .element.with-dropdown > a:after {
    content: "";
    background: url("/../static/img/icon_angle_right_small_red.png");
    background-repeat: no-repeat;
    position: absolute;
    width: 24px;
    height: 24px;
    top: 13px;
    right: 5px;
}

.push-menu .element.with-dropdown > a.active:after {
    background: url("/../static/img/icon_angle_right_small_white.png");
    background-repeat: no-repeat;
}

.push-menu > .level-0 > .element.with-dropdown > a:after {
    top: 15px;
}

.push-menu .dropdown-menu .back {
    margin: 0;
    padding: 7px 5px;
    background: #333333;
    color: white;
    cursor: pointer;
    font-size: 14px;
    margin-bottom: 10px;
}

.push-menu .element.with-dropdown .dropdown-menu a {
    font-size: 14px;
}

.push-menu .element.with-dropdown .dropdown-menu a.title {
    font-weight: bold;
    border-bottom: 3px double #e6e6e6;
}

@keyframes animate-logo {
    0%   {
        top: 0;
        right: 0;
        opacity: 1;
    }
    37%  {
        top: 0;
        right: -20px;
        opacity: 0;
    }
    38%  {
        top: -60px;
        right: -20px;
        opacity: 0;
    }
    39%  {
        top: -60px;
        right: 100%;
        opacity: 0;
    }
    40%  {
        top: 0;
        right: calc(100% - 180px);
        opacity: 0;
    }
    100% {
        top: 0;
        right: calc(100% - 280px);
        opacity: 1;
    }
}

@media (max-width: 1050px) {
    .push-menu {
        display: block;
    }
    
    .push-menu .nav {
        margin: 10px 0;
    }
    
    .push-wrapper.push-menu-open {
        left: 280px;
        -webkit-transform: translate(280px,0);
        -ms-transform: translate(280px,0);
        -o-transform: translate(280px,0);
        transform: translate(280px,0);
    }
    
    .push-menu .element.with-dropdown .dropdown-menu.open {
        left: -280px;
        -webkit-transform: translate(280px,0);
        -ms-transform: translate(280px,0);
        -o-transform: translate(280px,0);
        transform: translate(280px,0);
        opacity: 1;
    }
        
    .push-wrapper.push-menu-open .push-overlay {
        visibility: visible;
        opacity: 1;
        pointer-events: visible;
    }
    
    .push-wrapper.push-menu-open header .logo {
        animation-name: animate-logo;
        animation-duration: 0.3s;
        animation-fill-mode: forwards;
    }
    
    .push-wrapper.push-menu-open header {
        left: -280px;
    }
    
    .push-wrapper.push-menu-open .navbar {
        display: block;
        width: 150px;
    }
    
    .push-wrapper.push-menu-open .push-menu {
        display: block;
        left: 0;
    }
}