#menu {
    display: none;
}

html,
body {
    overflow-x: hidden;
}

#menu.site-menu {
    background: #f3f3f3;
    box-shadow: -10px 0 20px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    color: rgba(0, 0, 0, 0.7);
    display: block;
    font-family: "roboto-medium", Arial, sans-serif;
    height: 100%;
    max-width: 440px;
    min-width: 140px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 20px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translate3d(30%, 0, 0);
    transition: transform 0.4s ease, visibility 0s linear 0.4s;
    visibility: hidden;
    width: 80%;
    z-index: 1001;
}

html.site-menu-open,
html.site-menu-open body {
    overflow: hidden;
}

html.site-menu-open #menu.site-menu {
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
    visibility: visible;
}

#page {
    transition: transform 0.4s ease;
}

html.site-menu-open #page {
    transform: translate3d(-80vw, 0, 0);
}

.site-menu-backdrop {
    background: transparent;
    border: 0;
    bottom: 0;
    cursor: default;
    display: block;
    left: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
    visibility: hidden;
    z-index: 1000;
}

html.site-menu-open .site-menu-backdrop {
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
}

#menu.site-menu .site-menu-close {
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    color: rgba(0, 0, 0, 0.7);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: min(7.5vw, 48px);
    height: min(4.84375vw, 31px);
    justify-content: center;
    line-height: 1;
    outline: none;
    padding: 0;
    position: absolute;
    right: min(5.46875vw, 35px);
    top: min(3.59375vw, 23px);
    width: min(5vw, 32px);
}

#menu.site-menu .site-menu-close:hover,
#menu.site-menu .site-menu-close:active,
#menu.site-menu .site-menu-close:focus,
#menu.site-menu .site-menu-close:focus-visible {
    border: 0;
    box-shadow: none;
    outline: none;
}

#menu.site-menu .site-menu-close.keyboard-focus:focus {
    color: #19afe5;
}

#menu.site-menu > ul {
    font-size: min(6.25vw, 40px);
    line-height: min(12.96875vw, 83px);
    list-style: none;
    margin: min(21.40625vw, 137px) max(-5.78125vw, -37px) 0 0;
    padding: 0;
}

#menu.site-menu > ul > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

#menu.site-menu > ul > li > a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    color: inherit;
    display: block;
    height: min(13.125vw, 84px);
    margin-left: min(5.9375vw, 38px);
    margin-right: min(5.46875vw, 35px);
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#menu.site-menu > ul > li > a.is-active {
    color: #19afe5;
}

#menu.site-menu > ul > li:last-child > a {
    border-bottom: 0;
}

@media all and (max-width: 175px) {
    html.site-menu-open #page {
        transform: translate3d(-140px, 0, 0);
    }
}

@media all and (min-width: 550px) {
    html.site-menu-open #page {
        transform: translate3d(-440px, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    #menu.site-menu,
    #page,
    .site-menu-backdrop {
        transition-duration: 0.01ms;
    }
}
