JSFiddle - React, Tailwind, and code Playground

HTML

<div class='frame'>
	<div class="top-menu">
		<div class="left"><a class='sidetoggle'></a></div>
		<span class="right"><a href="#">Right</a></span>
	</div>
  	
    <div class="wrapper">
    	<div class="sidebar">
      		<div class="title">Project</div>
            <ul class="nav">
            	<li class="dashboard"><a>Dashboard</a></li>
          		<li class="team"><a>Team</a></li>
          		<li class="tasks"><a class='active'>Tasks</a></li>
          		<li class="assets"><a>Assets</a></li>
          		<li class="discussion"><a>Discussion</a></li> 
            </ul>
    	</div>
    
    	<div class="content">
      		<div class="row">
                <div class="col medium"><div class="box"></div></div>
                <div class="col medium"><div class="box"></div></div>
                <div class="col medium"><div class="box"></div></div>
      		</div>
            
            <div class="row">
                <div class="col medium"><div class="box"></div></div>
      		</div>
            
    	</div>
    </div>
</div>

CSS

.frame {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
    position: relative;
    overflow: hidden;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;	
	-webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
}

.wrapper {
    -webkit-flex: 1 1 auto !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    -webkit-flex-wrap: nowrap !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.row, .wrapper {
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.col {
    box-sizing: border-box;
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: .5rem;
	padding-top: .5rem;
}

.box {
    position: relative;
    box-sizing: border-box;
    min-height: 1rem;
    margin-bottom: 0;
    overflow: hidden;
  	text-align: center;
  	display: block;
	/*Styling Code to Remove*/
	height: 300px;
	color: #fff;
	text-align:...

JavaScript

$(document).ready(function() {
 		$(".sidetoggle").click(function(){
			var nav = $('.sidebar');
    		if(nav.width() <= 0){
     			nav.stop().animate({ width: '220px', opacity: '1.0' }, 300);
    		} else {
      			nav.stop().animate({ width: '0', opacity: '0.0' }, 300);
    		}
  		});
});