:root {
    --middle-menu-bar-fade: 175ms;
}

#main-menu-button {
    all: unset; /* Removing */
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    position: absolute;
    top: 1vh;
    right: 2vw;
    height: 30px;
    width: 30px;
    padding: 10px;
    cursor: pointer;
    overflow: hidden;
    fill: white;
    z-index: 1001;
    transition: var(--main-menu-button-transition-speed);
}

#main-menu-button:focus {
    outline: auto;
}

#main-menu-button.activated:hover {
    scale: 1.25;
}

#main-menu-button>span {
    width: 100%;
    height: 3px;
    background-color: #FFF;
    transition: var(--default-transition-speed);
}

nav #main-menu-button:hover>span,
nav #main-menu-button.activated:hover>span {
    background-color: var(--purple-accent-color);
    cursor: pointer;
}

#main-menu-button.activated>span {
    transition: var(--default-transition-speed);
    background-color: black;
}

@keyframes activate-top-spin {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    25% {
        transform: translateY(12px) rotate(45deg);
    }

    100% {
        transform: translateY(12px) rotate(-135deg);
    }
}

@keyframes activate-middle-fade {
    0% {
        opacity: 100%;
    }

    30% {
        opacity: 100%;
    }

    100% {
        opacity: 0%;
    }
}

@keyframes activate-bottom-spin {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    25% {
        transform: translateY(-15px) rotate(-45deg);
    }

    100% {
        transform: translateY(-15px) rotate(135deg);
    }
}

#main-menu-button.activated>span:nth-child(1),
#main-menu-button>span:nth-child(1),
#main-menu-button.activated>span:nth-child(3),
#main-menu-button>span:nth-child(3) {
    animation-duration: var(--main-menu-button-transition-speed);
}

#main-menu-button.activated>span:nth-child(1) {
    animation-name: activate-top-spin;
    transform: translateY(12px) rotate(45deg);
}

#main-menu-button.activated>span:nth-child(2) {
    animation-name: activate-middle-fade;
    opacity: 0%;
    animation-duration: var(--middle-menu-bar-fade);
}

#main-menu-button.activated>span:nth-child(3) {
    animation-name: activate-bottom-spin;
    transform: translateY(-15px) rotate(-45deg);
}




@keyframes deactivated-top-spin {
    0% {
        transform: translateY(12px) rotate(-135deg);
    }

    75% {
        transform: translateY(12px) rotate(45deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }

}


@keyframes deactivated-middle-fade {
    0% {
        opacity: 0%;
    }

    75% {
        opacity: 0%;
    }

    100% {
        opacity: 100%;
    }

}

@keyframes deactivated-bottom-spin {
    0% {
        transform: translateY(-15px) rotate(135deg);
    }

    75% {
        transform: translateY(-15px) rotate(-45deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}


#main-menu-button>span:nth-child(1) {
    animation-name: deactivated-top-spin;
    transform: translateY(0px) rotate(0deg);
}

#main-menu-button>span:nth-child(2) {
    animation-name: deactivated-middle-fade;
    animation-duration: var(--main-menu-button-transition-speed);
    opacity: 100%;
}

#main-menu-button>span:nth-child(3) {
    animation-name: deactivated-bottom-spin;
    transform: translateY(0px) rotate(0deg);
}