JSFiddle - React, Tailwind, and code Playground

HTML

<div class="circle"></div>

<nav id="home-menu" class="menu">
     <h4 class="toggle-menu">Menu</h4>
</nav>

<div id="overlay-menu"><p>MY CONTENT</p></div>

CSS

html, body {
    height: 100%;
}

body {
    background: #fffdee;
}

.circle {
    position: fixed;
    top: -50%;
    left: -50%;
    height: 50%;
    width: 50%;
    border-radius: 50%;
    background: #98694d;
    opacity: 0;
    -webkit-transition-duration: 0.5s;
    -webkit-transition-property: all;
    -webkit-transition-timing-function: ease-in-out;
    transition: all 0.5s ease-in-out;
    z-index: 1;  
}

.open {
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
}

#overlay-menu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    color: black;
    opacity: 0;
    z-index: 4;
}

h4.toggle-menu {
    position: fixed;
    top: 20px;
    right: 70px;
    color: black;
    cursor: pointer;
    z-index: 5;
}

.Opacity {
    opacity: 1 !important;
    visibility: visible;
}

JavaScript

$('.toggle-menu').click(function (e) {
    e.preventDefault();
    $('h4.toggle-menu').text($(this).text() == 'Menu' ? 'Close' : 'Menu');
   
    $('.circle').toggleClass('Opacity');
    $('#overlay-menu').delay(5000).toggleClass('Opacity');
    $('.circle').toggleClass('open');
    
});