/* ############################################## */
/* ############################################## */
/* Menu Icon */
/* ############################################## */
/* ############################################## */

.menu_icon {
    display: inline-block;
    position: fixed;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 28px;
    height: 30px;
    font-size: 0;
    text-indent: -9999;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    right: 40px;
    top: 28px;
    background-color: transparent;
    z-index: 3;
}
.menu_icon:focus {
    outline: none;
}

.menu_icon span {
    display: block;
    position: absolute;
    top: 13px;
    left: 0;
    right: 0;
    height: 3px;
    width: 100%;
    background-color: #fff;
    background: none;
}
.menu_icon span:before, .menu_icon span:after {
    position: absolute;
    display: block;
    right: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
    content: "";
}

.menu_icon span:before {
    top: -5.5px;
}

.menu_icon span:after {
    bottom: -5.5px;
    width: 60%;
}

.menu_icon-x span {
    -webkit-transition: background 0s 0.3s;
    transition: background 0s 0.3s;
}

.menu_icon-x span:before, .menu_icon-x span:after {
    -webkit-transition-duration: 0.2s, 0.2s;
            transition-duration: 0.2s, 0.2s;
}

.menu_icon-x span:before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, -webkit-transform;
    transition-property: top, transform;
    transition-property: top, transform, -webkit-transform;
}

.menu_icon-x span:after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform;
}

.menu_icon-x.menu_active {
    margin-left: 290px;
    -webkit-transition: 400ms all;
    transition: 400ms all;
}

.menu_icon-x.menu_active span {
    background: none;
    -webkit-transition-delay: 0s, 0.3s;
            transition-delay: 0s, 0.3s;
}

.menu_icon-x.menu_active span:before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 0;
    width: 100% !important;
    background-color: #fff;
}

.menu_icon-x.menu_active span:after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    bottom: 0;
    width: 100% !important;
    background-color: #fff;
}

.menu_icon-x.menu_active span:before, .menu_icon-x.menu_active span:after {
    -webkit-transition-delay: 0s, 0.3s;
            transition-delay: 0s, 0.3s;
}
