<ul>
  <li>
    <button data-value="18"></button>
  </li>
</ul>
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@600;700&display=swap');

*,*:before,*:after{
  box-sizing:border-box;
}

button {
  background: none;
  border: none;
  font-size: 1.2em;
  font-family: Outfit;
  cursor: pointer;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul li {
  margin: 5%;
	position: relative;
	width: 30%;
	max-width:150px;
	display: inline-block;
	font-size: 4em;
	border-top: 2px solid #bdbdbd;
	-webkit-perspective: 500px;
	perspective: 500px;
	cursor:pointer;
  border-radius:.2em;
}

ul li:before {
  content:"";
	position: absolute;
	padding:6%;
	left:50%;
	top:5%;
	margin-left:-6%;
	background:#f5f5f5;
	border-top: 1px solid #bdbdbd;
	border-radius: 50%;
}

ul li:after{
  content:"";
	position:absolute;
	z-index:6;
	opacity:.1;
	width:100%;
	height:50%;
	top:45%;
	left:0;
	-webkit-transform-origin: top left;
	transform-origin: top left;
	-webkit-transform: skew(35deg);
	transform: skew(35deg);
	transition: .218s ease;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.65)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */

}

ul li:hover:after{
  -webkit-transform: skew(15deg);
  transform: skew(15deg);
  opacity:.2;
}

ul li:hover button:before {
  -webkit-transform: rotateX(-35deg);
  transform: rotateX(-35deg);
  background-color: #3b50ce;
  color: #bdbdbd;
}

ul li:hover button:after {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
  box-shadow: 0ch 0ch 1ch -.3ch rgba(0, 0, 0, 1);
  background-color: #4e6cef;
  color: #f5f5f5;
}

ul li button {
  position: relative;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	width: 100%;
	padding-top: 100%;
	margin-top: 8%;
	-webkit-perspective: 500px;
	perspective: 500px;
	display: inline-block;
 
}

ul li button:before {
  content: attr(data-value);
	overflow: hidden;
	position: absolute;
	top: -5.5%;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	background-color: #4e6cef;
	color: #e0e0e0;
	border-top: 2px solid #738ffe;
	width: 100%;
	font-weight:700;
	padding-top: 50%;
	padding-bottom:50%;
	height: 100%;
	line-height: 0;
	z-index: 4;
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: rotateX(-25deg);
	transform: rotateX(-25deg);
	transition: .218s ease;
  border-radius:.2em;
}

ul li button:after {
  content: attr(data-value);
	overflow: hidden;
	position: absolute;
	top: 45.5%;
	left: 0;
	display: inline-block;
	background-color: #5677fc;
	color: #fafafa;
	font-weight:700;
	width: 100%;
	height: 50%;
	z-index: 5;
	line-height: 0;
	-webkit-transform-origin: top center;
	transform-origin: top center;
	-webkit-transform: rotateX(15deg);
	transform: rotateX(15deg);
	box-shadow: 0ch .2ch 2ch -.1ch rgba(0, 0, 0, .5);
	transition: .218s ease;
	border-bottom: 1px solid #3b50ce;
  border-bottom-left-radius:.2em;
  border-bottom-right-radius:.2em;
}

@media screen and (max-width:480px){
  ul li{
    font-size:2.2em;
  }
}
document.querySelector('button').dataset.value = new Date().getDate();

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.