html {
    box-sizing: border-box;
    overflow-x: hidden;
}
*, *:after, *:before {
    box-sizing: border-box;
}
.menuToggle {
    display: block;
    position: relative;
   bottom: 50px;
    z-index: 1;
    -webkit-user-select: none;
    user-select: none;
}
.menuToggle a {
    text-decoration: none;
    color: #ffffff;
    transition: all 0.3s ease;
    padding: 5px 20px;
}
.menuToggle a:hover {
    color: tomato;
}
.menuToggle input {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
   bottom: -7px;
    cursor: pointer;
    opacity: 0;
   /* hide this */
    z-index: 2;
   /* and place it over the hamburger */
    -webkit-touch-callout: none;
}
.menuToggle span {
    position: relative;
    display: block;
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 0;
    border-bottom: 15px solid rgb(55, 202, 255);
    position: relative;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 4px 0px;
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
}
.menuToggle span:nth-child(2) {
    transform-origin: 0% 0%;
    border-bottom: 15px solid rgb(55, 255, 115);
}
.menuToggle span:nth-last-child(2) {
    transform-origin: 0% 100%;
    border-bottom: 15px solid rgb(255, 186, 23);
}
.menuToggle input:checked ~ span {
    opacity: 1;
    transform: rotate(45deg) translate(-2px, -1px);
}
.menuToggle input:checked ~ span:nth-last-child(3) {
    opacity: 1;
    transform: rotate(0deg) translate(-2px, 2px);
}
.menuToggle input:checked ~ span:nth-last-child(2) {
    transform: rotate(-45deg) translate(0, -1px);
}
.menuToggle input:checked ~ .menuItem {
    transform: none;
}
.menuItem {
    position: absolute;
    width: 300px;
    padding: 50px;
    padding-top: 125px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    list-style-type: none;
    -webkit-font-smoothing: antialiased;
    transform-origin: 0% 0%;
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.menuItem li {
    padding: 10px 0;
    font-size: 22px;
}
.menu--bottom--right .menuToggle {
    position: fixed;
   bottom: auto;
   top: 0;
    right: 0;
    z-index: 1;
}
.menu--bottom--right .menuToggle input {
    right: 50px;
   top: 50px;
   bottom: auto;
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem {
    transform: scale(1);
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem li:nth-child(1) {
    -webkit-animation: text-slide-in 0.2s;
    -moz-animation: text-slide-in 0.2s;
    animation: text-slide-in 0.2s;
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem li:nth-child(2) {
    -webkit-animation: text-slide-in 0.3s;
    -moz-animation: text-slide-in 0.3s;
    animation: text-slide-in 0.3s;
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem li:nth-child(3) {
    -webkit-animation: text-slide-in 0.4s;
    -moz-animation: text-slide-in 0.4s;
    animation: text-slide-in 0.4s;
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem li:nth-child(4) {
    -webkit-animation: text-slide-in 0.5s;
    -moz-animation: text-slide-in 0.5s;
    animation: text-slide-in 0.5s;
}
.menu--bottom--right .menuToggle input:checked ~ .menuItem li:nth-child(5) {
    -webkit-animation: text-slide-in 0.6s;
    -moz-animation: text-slide-in 0.6s;
    animation: text-slide-in 0.6s;
}
.menu--bottom--right .menuToggle span {
    right: 50px;
   top: 50px;
   bottom: auto;
}
.menu--bottom--right .menuItem {
   top: 0;
    right: 0;
    margin: 0;
    transform-origin: top right;
    transform: scale(0);
    -webkit-transition: -webkit-transform 0.3s, visibility 0s 0s;
    -moz-transition: -moz-transform 0.3s, visibility 0s 0s;
    transition: transform 0.3s, visibility 0s 0s;
}
.menu--bottom--right .menuItem li {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.menu--bottom--right .menuItem li a:hover {
    padding: 7px 22px;
    background: rgba(0, 0, 0, 1);
    border-radius: 5px;
}
@keyframes text-slide-in {
    0% {
        -webkit-transform: translateX(100px);
        -moz-transform: translateX(100px);
        -ms-transform: translateX(100px);
        -o-transform: translateX(100px);
        transform: translateX(100px);
   }
    100% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
   }
}
