JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">

<div class="item-circled">
  <div class="face-container center-block text-center">
	  <div class="face-card">
     <!-- Front side -->
		  <div class="face-1 front">
			  <p>front</p>
			</div>
      <!-- Back side -->
		  <div class="face-1 back">
				<p>back</p>
			</div>
		</div>
    <!-- Spinner element -->
		<div class="dashed-border"></div>
	</div> <!-- face-conteiner -->
</div> <!-- item-circled -->

CSS

.item-circled {
	position: relative;
	width: 157.5px;
	margin: 5% 40px;
	display: inline-block;
}

.item-circled .face-container {
	position: relative;
	width: 157.5px;
	height: 157.5px;
	z-index: 1;
	perspective: 1000px;
}

.item-circled .face-card {
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	border-radius: 50%;
	transition: all .5s linear;
}

.item-circled .face-container:hover .face-card {
	transform: rotateY(180deg);
	border-radius: 50%;
}

.item-circled .face-1 {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	overflow: hidden;
	border-radius: 50%;
}

.item-circled .face-1.front{
  background-color: #f7eebe;
  width: 100%;
  height: 100%
}

.item-circled .face-1.back {
	display: block;
	box-sizing: border-box;
	padding: 35px 13px;
	text-align: center;
	background-color: #1f4e79;
	transform: rotateY(180deg);
	border-radius: 50%;
}

.item-circled .dashed-border {
	position: absolute;
	border-radius: 50%;
	border: 2px dashed #18d9ec;
	height: 187.5px;
	width: 187.5px;
	top: -15px;
	left: -15px;
}

.item-circled:hover .dashed-border {
	animation-duration: 0.5s;
	animation-timing-function: linear;
	animation-name: spiner;
	animation-iteration-count: infinite;
}

@keyframes spiner {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}