JSFiddle - React, Tailwind, and code Playground

HTML

<div class="imgholder">
    <div class="outer1 circle"></div>
    <div class="outer2 circle"></div>
    <figure>
        <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3-transitions-fancy-hover-effects/images/charlotte-free.jpg" />
        <figcaption class="caption">Charlotte Free</figcaption>
    </figure>
</div>
<div class="imgholder">
    <div class="outer1 circle"></div>
    <div class="outer2 circle"></div>
    <figure>
        <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3-transitions-fancy-hover-effects/images/adriana-lima.jpg" />
        <figcaption class="caption">Adriana Lima</figcaption>
    </figure>
</div>
<div class="imgholder">
    <div class="outer1 circle"></div>
    <div class="outer2 circle"></div>
    <figure>
        <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3-transitions-fancy-hover-effects/images/eva-riccobono.jpg" />
        <figcaption class="caption">Eva Riccobono</figcaption>
    </figure>
</div>

CSS

.imgholder{
	position:relative;
	width:120px;
	height:120px;
	border-radius:100px;
	float:left;
	margin:40px 30px;
    text-align: center
}
/* thumbnails style */
.imgholder img{
	position:absolute;
	left:0;
	top:0;
	width:120px;
	height:120px;
	z-index:5;
	border-radius:100px;
	-moz-border-radius:100px;
	-webkit-border-radius:100px;
	opacity:0.3;
	filter: alpha(opacity = 30);
	box-shadow:0 0 5px #000;
	-moz-box-shadow:0 0 5px #000;
	-webkit-box-shadow:0 0 5px #000;
	
	transform: scale(0.5,0.5);
	-ms-transform: scale(0.5,0.5);
	-moz-transform: scale(0.5,0.5);
	-webkit-transform: scale(0.5,0.5);
	
	transition: 
		opacity 1s,
		transform 1s ease-in-out 0.3s;
	-moz-transition: 
		opacity 1s,
		-moz-transform 1s ease-in-out 0.3s;
	-webkit-transition: 
		opacity 1s,
		-webkit-transform 1s ease-in-out 0.3s;
}
.imgholder:hover img{
	opacity:1;
	filter: alpha(opacity = 100);
	transform: scale(1,1);
	-ms-transform: scale(1,1);
	-moz-transform: scale(1,1);
	-webkit-transform: scale(1,1);
}

.imgholder figcaption{
	position:absolute;
	left:-5px;
	top:40%;
	width:130px;
	color:#004E87;
	font-weight:bold;
	text-shadow:-1px -1px 0 #fff;
	z-index:4;
	
	transition: 
		top 0.5s ease-out;
	-moz-transition: 
		top 0.5s ease-out;
	-webkit-transition: 
		top 0.5s ease-out;
}
.imgholder:hover figcaption{
	top:120%;
}
/* decorations style */
.imgholder .circle{
	position:absolute;
	border-radius:100px;
	-moz-border-radius:100px;
	-webkit-border-radius:100px;
}
.imgholder .outer1{
	top:-8px;
	left:-8px;
	width:120px;
	height:120px;
	z-index:2;
	
	border:8px solid;
	border-color:#DEEBFC;
	box-shadow:0 0 3px #AFD3FF;
	-moz-ox-shadow:0 0 3px #AFD3FF;
	-webkit-box-shadow:0 0 3px #AFD3FF;
	
	background: #ffffff;
	background: -moz-radial-gradient(center, ellipse cover, #ffffff 0%, #e2efff 100%);
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#ffffff), color-stop(100%,#e2efff));
	background: -webkit-radial-gradient(center, ellipse cover, #ffffff...