<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.