/* =========================
   ROLLS-ROYCE STYLE MENU
========================= */

.overlay-menu {
    position: fixed;
    top: 0;
    left: -500px;

    width: 420px;
    height: 100vh;

    background: rgba(11,31,23,0.15);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-right: 1px solid rgba(250,250,243,0.08);

    z-index: 1100;

    padding: 100px 50px;

    box-sizing: border-box;

    overflow-y: auto;

    transition: all .45s ease;
}

.overlay-menu.active {
    left: 0;
}


/* MENU LIST */

.overlay-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.overlay-menu li {
    font-size: 28px;
    margin-bottom: 30px;

    cursor: pointer;

    opacity: 0;
    transform: translateX(-20px);

    transition:
        transform .15s ease,
        opacity .3s ease;

    position: relative;
}


/* LINKS */

.overlay-menu a {
    color: #0b1f17;
    text-decoration: none;

    letter-spacing: 2px;
    font-weight: 400;

    transition: all .25s ease;
}

.overlay-menu a:visited {
    color: #0b1f17;
}

.overlay-menu a:hover {
    color: #ffffff;
    padding-left: 10px;
}


/* ANIMATION */

.overlay-menu.active li {
    opacity: 1;
    transform: translateX(0);
}

.overlay-menu.active li:nth-child(1) {
    transition-delay: .05s;
}

.overlay-menu.active li:nth-child(2) {
    transition-delay: .10s;
}

.overlay-menu.active li:nth-child(3) {
    transition-delay: .15s;
}

.overlay-menu.active li:nth-child(4) {
    transition-delay: .20s;
}

.overlay-menu.active li:nth-child(5) {
    transition-delay: .25s;
}

.overlay-menu.active li:nth-child(6) {
    transition-delay: .30s;
}


/* MENU UNDERLINE */

.overlay-menu li::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 0;
    height: 1px;

    background: currentColor;

    transition: width .3s ease;
}

.overlay-menu li:hover::after {
    width: 100%;
}


/* BRAND */

.menu-brand {
    position: absolute;

    bottom: 50px;
    left: 50px;

    font-family: 'Playfair Display', serif;

    font-size: 42px;
    font-weight: 600;

    color: #fafaf3;
}