.cmn-toggle-switch {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
}

.cmn-toggle-switch:focus {
    outline: none;
}

.cmn-toggle-switch span {
    display: block;
    position: absolute;
    top: 48px;
    left: 18px;
    right: 18px;
    height: 6px;
    background: white;
}

.cmn-toggle-switch span::before,
.cmn-toggle-switch span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #fff;
    content: "";
}

.cmn-toggle-switch span::before {
    top: -27px;
}

.cmn-toggle-switch span::after {
    bottom: -27px;
}

.cmn-toggle-switch__htx {
    background-color: #e60000;
}

.cmn-toggle-switch__htx span {
    -webkit-transition: background 0 0.3s;
    transition: background 0 0.3s;
}

.cmn-toggle-switch__htx span::before,
.cmn-toggle-switch__htx span::after {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0;
    transition-delay: 0.3s, 0;
}

.cmn-toggle-switch__htx span::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, transform;
}

.cmn-toggle-switch__htx span::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.cmn-toggle-switch__htx.active {
    background-color: #9a0000;
}

.cmn-toggle-switch__htx.active span {
    background: none;
}

.cmn-toggle-switch__htx.active span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.cmn-toggle-switch__htx.active span::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.cmn-toggle-switch__htx.active span::before,
.cmn-toggle-switch__htx.active span::after {
    -webkit-transition-delay: 0, 0.3s;
    transition-delay: 0, 0.3s;
}

#menu-button {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 101;
}

.main-menu {
    width: 300px;
    padding: 0;
    margin: 0;
    background: #161616;
    color: #f6f6f6;
    overflow: hidden;
    height: 0;
    position: absolute;
    z-index: 10;
    top: 100px;
    right: 0;
}

.main-menu li {
    line-height: 80px;
    height: 80px;
    border-bottom: 1px solid #222222;
    position: relative;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
}

.main-menu li:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0;
    background: #9a0000;
    z-index: 0;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    top: 0;
    right: 0;
}

.main-menu li:hover { border-bottom: 1px solid #660000; }
.main-menu li:hover:before {
    width: 100%;
}

.main-menu li:last-child {
    border: 0;
}

.main-menu li a {
    display: block;
    height: 80px;
    line-height: 80px;
    color: #f6f6f6;
    text-decoration: none;
    text-transform: uppercase;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 0 30px;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px;
    width: 100%;
    outline: 0;
}

#socials {
    top: 0;
    right: 100px;
    height: 100px;
    background: #161616;
    line-height: 100px;
    text-align: center;
    overflow: hidden;
    width: 0;
    z-index: 101;
}

#socials.active { width: 200px; }

#socials a {
    height: 100px;
    width: 100px;
    float: left;
    outline: 0;
    position: relative;
}

#socials a:before {
    content: '';
    width: 100%;
    height: 0;
    top: 0;
    left: 0;
    background: #9a0000;
    position: absolute;
    z-index: 0;
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
}

#socials a:hover:before { height: 100%; }

#socials a img {
    position: absolute;
    z-index: 1;
    top: 37px;
}

#facebook img {
    height: 26px;
    left: 37px;
}
#twitter img { left: 35px; }