
/***************************
 *	Mobile Menu Styles
 **************************/
.custom-mobile-menu *,
.custom-mobile-menu *:before,
.custom-mobile-menu *:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.menu {position: fixed; z-index: 10000; top: 0;}
.admin-bar .menu {position: fixed; z-index: 10000; top: 45px;}
#menu--toggle[type="checkbox"]:not(:checked),
#menu--toggle[type="checkbox"]:checked {
    display: none;
}

.menu--toggle__trigger,
.menu--toggle__burger,
.menu--toggle__burger:before,
.menu--toggle__burger:after {
    position: absolute;
    top: 1.2em;
    left: 1em;
    width: 2em;
    height: 5px;
    background-color: #282828;
    border-radius: 2px;
    cursor: pointer;
    z-index: 100;
    transition: 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.menu--toggle__trigger {
    height: 2em;
    background: none;
}

.menu--toggle__burger:before {
    content: "";
    top: 10px;
    left: 0;
}
.menu--toggle__burger:after {
    content: "";
    top: 20px;
    left: 0;
}

.menu__body {
    position: fixed;
    width: 5em;
    height: 5em;
    margin: 0;
    padding: 0;
    background-color: #fcfcfc;
    border-bottom-right-radius: 100%;
    box-shadow: 3px 3px 7px rgba(40, 40, 40, 0.2);
    z-index: 11;
    -webkit-animation: checkboxUncheckedAnimation 0.35s both;
    animation: checkboxUncheckedAnimation 0.35s both;
}


.menu__body .menu-item,
.menu__body .nav-link {
    display: none;
    margin: 4.4em 0 -3.3em -.1em;
    font-weight: normal;
    color: #282828;
    text-decoration: none;
    text-transform: none;
    list-style: none;
    outline: 0;
}

.menu__body .menu-item {
    text-indent: 2em;
}

.menu__body .nav-link:hover {
    color: #282828;
    background-color: #e2e2e2;
}

#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger {
    top: 35px;
    -webkit-transform: rotate(405deg);
    transform: rotate(405deg);
    transition: -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger:before {
    top: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    transition: -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger:after {
    top: 0;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger + .menu__body {
    -webkit-animation: checkboxCheckedAnimation 1s cubic-bezier(0.25, 0.1, 0.25, 1) both;
    animation: checkboxCheckedAnimation 1s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
#menu--toggle:checked + .menu--toggle__trigger ~ .menu__body .menu-item, #menu--toggle:checked + .menu--toggle__trigger ~ .menu__body .nav-link {
    display: block;
}



/**
 *	Animations
 *
 *  @note checkboxCheckedAnimation - added fix for Microsoft Edge
 */
@-webkit-keyframes checkboxCheckedAnimation {
    50% {
        width: 100vw;
        height: 100vh;
    }
    100% {
        width: 100vw;
        height: 100vh;
        border-radius: 0;
    }
}
@keyframes checkboxCheckedAnimation {
    50% {
        width: 100vw;
        height: 100vh;
    }
    100% {
        width: 100vw;
        height: 100vh;
        border-radius: 0;
    }
}
@-webkit-keyframes checkboxUncheckedAnimation {
    0% {
        width: 100vw;
        height: 100vh;
    }
}
@keyframes checkboxUncheckedAnimation {
    0% {
        width: 100vw;
        height: 100vh;
    }
}
@-webkit-keyframes changeWidthOfElementAnimation {
    50% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
@keyframes changeWidthOfElementAnimation {
    50% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
