nav.m_nav {

    position: fixed;

    top: 0;

    left: 0;

    z-index: 998;

    overflow: hidden;

    transform: translateY(-100%);

    width: 100%;

    height: 100vh;

    transition: all 800ms cubic-bezier(.8, 0, .33, 1);

    border-radius: 0 0 50% 50%;

}



nav.m_nav.nav-open {

    transform: translateY(0);

    border-radius: 0% 0% 0% 0%;

    background: rgba(0, 0, 0, .8);

}



.menu-btn {

    top: 35px;

    right: 20px;

    position: fixed;

    cursor: pointer;

    z-index: 999;

    color: #fff;

}



.menu-btn .line {

    padding: 0;

    width: 30px;

    background: #fff;

    height: 2px;

    margin: 5px 10px;

    transition: all 700ms cubic-bezier(.9, 0, .33, 1);

}



.menu-btn .line.line--1 {

    width: 30px;

    transform: rotate(0) translateY(0);

}



.menu-btn .line.line--1.line-cross {

    width: 30px;

    transform: rotate(45deg) translateY(5px) translateX(5px);

    background: rgba(255, 255, 255, 1);

}



.menu-btn .line.line--2 {

    width: 28px;

    transform: translateX(0);

}



.menu-btn .line.line--2.line-fade-out {

    width: 28px;

    transform: translate(30px);

    opacity: 0;

}



.menu-btn .line.line--3 {

    width: 20px;

    transform: rotate(0) translateY(0);

}



.menu-btn .line.line--3.line-cross {

    width: 30px;

    transform: rotate(-45deg) translateY(-5px) translateX(5px);

    background: rgba(255, 255, 255, 1);

}



nav.m_nav .nav-links {

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    transform: translateY(0);

    opacity: 0;

    transition: all 900ms cubic-bezier(.9, 0, .33, 1);

}



nav.m_nav .nav-links ul {

    width: 100%;

}



nav.m_nav .nav-links.fade-in {

    opacity: 1;

    transform: translateY(0);

}



nav.m_nav .nav-links .link {

    border-bottom: 1px solid rgba(255, 255, 255, 0.3);

    width: 96%;

    max-width: 400px;

    margin: 0 auto;

    display: block;

    padding: 10px 0;

    color: #fff;

    font-size: 2.4rem;

    transition: all 300ms cubic-bezier(.9, 0, .33, 1);

}



.m_nav_tel,

.m_nav_tel a {

    font-size: 2.4rem;

    color: #fff;

}



nav.m_nav .nav-links .link:hover {

    background: rgba(255, 255, 255, 0.5);

}