/* based on https://codepen.io/yancy/pen/LBbvQZ */

.hover-zoom-box {
 color: LightGrey;
 cursor: pointer;
}

 .hover-zoom-container {
   width: 220px;
   height: 220px;
   display: flex;
   justify-content: center;
   align-items: center;
 }
 
 .box {
   position: absolute;
   width: 220px;
   height: 220px;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   border-radius: 3px;
   overflow: hidden;
   transition: box-shadow ease 1s;
 }
 
 .icon {
   position: relative;
   margin-top: 8px;
   transition: all 0.6s ease;
   transition-delay: 0.32s;
   will-change: transform;
 }
 
 .icon_bg {
   width: 80px;
   height: 80px;
   border-radius: 100%;
   border: 1px solid rgba(225, 227, 232, 0.18);
   box-shadow: 0 3px 4px 0 rgba(44, 71, 146, 0.25);
   background-color: #2A4747;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: all 0.6s ease;
   transition-delay: 0.32s;
 }
 
.hover-zoom-box .title {
   position: relative;
}
 
 .hover-zoom-box:hover .box {
   box-shadow: 0 3px 4px 0 rgba(44, 71, 146, 0.25);
   transition-delay: 0.32s;
 }
 
 .hover-zoom-box:hover .icon_bg {
   background-color: #3C6565;
   transform: translateY(-32px) scale(6);
 }
 
 .hover-zoom-box:hover .icon {
   transform: translateY(-48px) scale(1.4);
 }
 
 .hover-zoom-box {
    width: 220px;
   height: 220px;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
 }
 
 .text {
   position: relative;
   top: -56px;
   width: 200px;
   text-align: center;
   transition: all 0.4s ease;
   transition-delay: 0.32s;
   margin-bottom: -56px;
 }
 
 .hover-zoom-box:hover .text {
   opacity: 0;
   transform: translateY(-4px) scale(.8);
   
 }
 
.hover-zoom-box .box::after {
   content: attr(data-description);
   position: absolute;
   width: 170px;
   top: 111px;
   opacity: 0;
   text-align: center;
   font-size: 13px;
   line-height: 20px;
   transition: all 0.3s ease;
   transition-delay: 0.32s;
 }
 
 .hover-zoom-box:hover .box::after {
   opacity: 1;
 }

 
