JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
  <div class="col-lg-4 col-sm-6 nopad">
        <div class="box">
            <div class="product-image" style="background-image: url(http://i.imgur.com/DuUtNax.jpg)"></div>
            <div class="overlay">
                <h5>Random website</h5>
                <p class="text">Random text</p>
            </div>
        </div>
    </div>
</div>

SCSS

.container {
    background-color: #fff;
    padding: 100px 0px 100px 0px;
    .nopad {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .box {
        cursor: pointer;
        height: 400px;
        position: relative;
        overflow: hidden;
        width: 100%;
        text-align: left;
        
        .product-image {
            position: absolute;
            width: 100%;
            height:100%;
            -webkit-transition: all 300ms ease-out;
            -moz-transition: all 300ms ease-out;
            -o-transition: all 300ms ease-out;
            -ms-transition: all 300ms ease-out;
            transition: all 300ms ease-out;
            background: {
                    repeat: no-repeat;
                    size: cover;
                }
        }
        
        .overlay {
            background: rgba(0, 0, 0, 0.7);
            position: absolute;
            left: 0;
            z-index: 100;
            opacity: 0;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            text-align: center;
            padding-top: 20%;
            -webkit-transition: all 300ms ease-out;
            -moz-transition: all 300ms ease-out;
            -o-transition: all 300ms ease-out;
            -ms-transition: all 300ms ease-out;
            transition: all 300ms ease-out;
            h5 {
                color:#fff;
                opacity: 0;
                transition-delay: 0.1s;
                transition-duration: 0.2s;
                transform: translateY(60px);
                -webkit-transform: translateY(60px);
            }
            p {
                color: #fff;
                opacity: 0;
                transition-delay: 0.2s;
                transition-duration: 0.2s;
                transform: translateY(60x);
                -webkit-transform: translateY(60px);
            }
            .button-white {
                opacity: 0;
                transition-delay: 0.2s;
      ...