JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.js"></script>
 <div class="container">
        <div class="content-div">
            <button class="main_button" id="main_button">Content</button>
            <div class="main_wrapper opened-nav" id="main_wrapper">
                <ul>
                    <li><a href="#"><span>PIE 1</span></a></li>
                    <li><a href="#"><span>PIE 2</span></a></li>
                    <li><a href="#"><span>PIE 3</span></a></li>
                    <li><a href="#"><span>PIE 4</span></a></li>
                    <li><a href="#"><span>PIE 5</span></a></li>
                    <li><a href="#"><span>PIE 6</span></a></li>
                </ul>
            </div>
        </div>
    </div>

CSS

* {
            position: relative;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        
        html,
        body {
            height: 100%;
        }
        
        body {
            color: #fff;
        }
        
        .content-div {
            position: relative;
            margin-bottom: 3em;
            height: 15em;
            font-family: 'Lato', Arial, sans-serif;
        }
        .main_button {
            position: absolute;
            top: 100%;
            left: 50%;
            z-index: 11;
            margin-top: -2.25em;
            margin-left: -2.25em;
            padding-top: 0;
            width: 4.5em;
            height: 4.5em;
            border: none;
            border-radius: 50%;
            background: none;
            background-color: #fff;
            color: green;
            text-align: center;
            font-weight: 700;
            font-size: 1.5em;
            text-transform: uppercase;
            cursor: pointer;
        }
        
        .csstransforms .main_wrapper {
            position: absolute;
            top: 100%;
            left: 50%;
            z-index: 10;
            margin-top: -13em;
            margin-left: -13.5em;
            width: 27em;
            height: 27em;
            border-radius: 50%;
            background: transparent;
            opacity: 0;
            -webkit-transition: all .3s ease 0.3s;
            -moz-transition: all .3s ease 0.3s;
            transition: all .3s ease 0.3s;
            -webkit-transform: scale(0.1);
            -ms-transform: scale(0.1);
            -moz-transform: scale(0.1);
            transform: scale(0.1);
            pointer-events: none;
            overflow: hidden;
        }
        
        .csstransforms .main_wrapper:after {
            content: ".";
            display: block;
            font-size: 2em;
           ...

JavaScript

(function(window) {

            'use strict';

            // class helper functions from bonzo https://github.com/ded/bonzo

            function classReg(className) {
                return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
            }

            // classList support for class management
            // altho to be fair, the api sucks because it won't accept multiple classes at once
            var hasClass, addClass, removeClass;

            if ('classList' in document.documentElement) {
                hasClass = function(elem, c) {
                    return elem.classList.contains(c);
                };
                addClass = function(elem, c) {
                    elem.classList.add(c);
                };
                removeClass = function(elem, c) {
                    elem.classList.remove(c);
                };
            } else {
                hasClass = function(elem, c) {
                    return classReg(c).test(elem.className);
                };
                addClass = function(elem, c) {
                    if (!hasClass(elem, c)) {
                        elem.className = elem.className + ' ' + c;
                    }
                };
                removeClass = function(elem, c) {
                    elem.className = elem.className.replace(classReg(c), ' ');
                };
            }

            function toggleClass(elem, c) {
                var fn = hasClass(elem, c) ? removeClass : addClass;
                fn(elem, c);
            }

            var classie = {
                // full names
                hasClass: hasClass,
                addClass: addClass,
                removeClass: removeClass,
                toggleClass: toggleClass,
                // short names
                has: hasClass,
                add: addClass,
                remove: removeClass,
                toggle: toggleClass
            };

            // transport
            if (typeof define === 'function'...