JSFiddle - React, Tailwind, and code Playground

HTML

<div class="service">
        		        <a href="#"> 
                        	<span class="service-icon  icon-beaker"></span>
                            <div class="service-content">
                                <h2 class="service-main">Small Web Site</h2>
                                <p class="service-sub">Accusantium et dolorem veritatis architecto, eaque ipsa quae ab illo inventore veritatis perspiciatis.</p>                                
                            </div>                            
                        </a>
                    </div>

CSS

.service{

	margin:20px 0;
    overflow: hidden;
    position: relative;
    float: left;
    border: 1px solid #e5e5e5;
	width:100%;
	padding:5px;
    background: #fff;
	
	
	-webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px;
	-webkit-box-shadow: 0 8px 6px -6px #ccc;
	-moz-box-shadow: 0 8px 6px -6px #ccc;
	 box-shadow: 0 8px 6px -6px #ccc;
	 
	 	 	/* For IE 8 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=180, Color='#cccccc')";
}

.service [class^="icon-"]:before, .service [class*=" icon-"]:before{ padding:0;}

.service a{
	background:#f9f9f9;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.service p{
	margin:0; padding:20px; font-weight:300; color:inherit; border-top:5px solid #fff;
}
.service-icon{
    font-size: 60px;
    text-shadow: 1px 0px 1px rgba(255,255,255,0.7);
	padding:15px 0px 15px;
    width: 100%;
    height: 50%;
    text-align: center;
}
service-content{
    width: 100%;
}
.service-main{
	font-size:18px;
	font-weight:600;
    text-align: center;
    margin-top: -15px;
}
.service-sub{
    text-align:center;
    font-size: 14px;
    color: #666;
    opacity: 0.8;
}
.service:hover{
    background-color: #fff;
}
.service:hover .service-icon{
    text-shadow: 0px 0px 20px #ccc;
    color: transparent;
    -webkit-animation: moveFromTop 400ms ease;
    -moz-animation: moveFromTop 400ms ease;
    -ms-animation: moveFromTop 400ms ease;
}
.service:hover .service-main{
    color: #000;
    -webkit-animation: moveFromTop 300ms ease;
    -moz-animation: moveFromTop 300ms ease;
    -ms-animation: moveFromTop 300ms ease;
}
.service:hover .service-sub{
    color: #fff;
    -webkit-animation: moveFromBottom 500ms ease;
    -moz-animation: moveFromBottom 500ms ease;
    -ms-animation: moveFromBottom 500ms ease;
}