JSFiddle - React, Tailwind, and code Playground

HTML

<body>
	<div id="mainmenu">
        
        
        
        
        <div id="menu"><a href="#">MENU</a></div>
        <div id="home"><a href="#">HOME</a></div>
        <div id="video"><a href="#">VIDEO</a></div>
        <div id="photos"><a href="#">>PHOTO'S</a></div>
        <div id="calendar"><a href="#">CALENDAR</a></div>
    </div>
</body>

CSS

#mainmenu {
	position: fixed;
	width: 100px;
	height: 100px;
	top: 200px;
	right: -50px;
	heigth: auto;
	width: auto;
}

#mainmenu div {
	color: #333333;
	text-decoration: none;
	font-size: 22px;
	font-weight: 500;
	position: fixed;
	width: 100px;
	height: 100px;
	top: 200px;
	right: -50px;
	background: #333333;
	text-align: center;
	line-height: 100px;
	transition: all 1s ease;
	transform: rotate(45deg);
	
}

a {
  display: block;
  text-decoration: none;
}

#main_nav { list-style: none; margin: 0; padding: 0; }


#main_nav li a { /*text-indent: -999999px;*/ overflow: hidden; display: block; float: right;} 

#agsfmenu:hover {
	transition: all 1s ease !important;
	color: #FFF !important;
	font-weight: 500;
}

#menu {
	z-index: 5;
}

#home {
	z-index: 4;
}

#video {
	z-index: 3;
}

#photos {
	z-index: 2;
}

#calendar {
	z-index: 2;
}

#menu:hover {
	background: #FFFFFF;
}

#menu:hover ~ #home {
	transition: all 0.3s ease;
	transform: rotate(45deg) translate(0px,105px) perspective(350px);
}

#menu:hover ~ #photos {
	transition: all 0.3s ease;
	transition-delay: 0.3s;
	transform: rotate(45deg) translate(0px,210px) perspective(350px);
	}

#menu:hover ~ #video {
	transition: all 0.3s ease;
	transform: rotate(45deg) translate(-105px,0px) perspective(350px);
}

#menu:hover ~ #calendar {
	transition: all 0.3s ease;
	transition-delay: 0.3s;
	transform: rotate(45deg) translate(-210px,0px) perspective(350px);
}