@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-250px, 0, 0);
        transform: translate3d(-250px, 0, 0);
        visibility: visible;
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-250px, 0, 0);
        transform: translate3d(-250px, 0, 0);
        visibility: visible;
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@-webkit-keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -webkit-transform: translate3d(-250px, 0, 0);
        transform: translate3d(-250px, 0, 0);
        visibility: hidden;
    }
}
@keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -webkit-transform: translate3d(-250px, 0, 0);
        transform: translate3d(-250px, 0, 0);
        visibility: hidden;
    }
}
* {
    box-sizing: border-box;
}


.b-nav {
    position: absolute;
    z-index: 9;
}
.b-nav:not(.open) {
    visibility: hidden;
}
.b-nav li {
    color: #444444;
    list-style-type: none;
    padding-left: 10px;
    text-align: left;
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}
.b-nav li:not(.open) {
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}
.b-nav li:first-child {
    padding-top: 120px;
}
.b-nav.open {
    visibility: visible;
}
.b-nav.open li {
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

.b-link {
    background: transparent;
    border-left: rgba(68, 68, 68, 0) solid 2px;
    color: #444444;
    font-family: Helvetica-Neue, Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: 300;
    margin-left: 30px;
    text-decoration: none;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    width: auto;
}
.b-link:hover, .b-link--active {
    border-left: #444444 solid 2px;
    padding-left: 30px;
}

.b-menu {
    background: white;
    border: white solid 2px;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    height: 54px;
    padding-left: 12.5px;
    padding-top: 14.5px;
    position: relative;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 54px;
    z-index: 12;
    border: #444444 solid 2px;
}

/*.b-menu:hover {*/
/*    border: #444444 solid 2px;*/
/*}*/

.b-bun {
    background: #444444;
    position: relative;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.b-bun--top {
    height: 2px;
    top: 0;
    width: 25px;
}
.b-bun--mid {
    height: 2px;
    top: 8px;
    width: 25px;
}
.b-bun--bottom {
    height: 2px;
    top: 16px;
    width: 25px;
}

.b-container {
    height: 60px;
    left: 15px;
    position: fixed;
    top: 75px;
    z-index: 12;
}
.b-container:hover:not(.open) .bun-top,
.b-container:hover:not(.open) .bun-mid,
.b-container:hover:not(.open) .bun-bottom {
    background: white;
}
.b-container.open .b-main {
    border: #444444 solid 2px;
}
.b-container.open .b-bun--top {
    background: #444444;
    top: 9px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.b-container.open .b-bun--mid {
    opacity: 0;
}
.b-container.open .b-bun--bottom {
    background: #444444;
    top: 5px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
