JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Title</title>
    <meta name="viewport" content="user-scalable=no, width=device-width">
    <script>
        function audioClick(evt, listElementId, clip){
            var listElement        = document.getElementById(listElementId);
            var front            = listElement.getElementsByClassName("front")[0];
            var back            = listElement.getElementsByClassName("back")[0];
            var audio            = listElement.getElementsByTagName("audio")[0];
            var audioControls    = listElement.getElementsByClassName("audio_controls")[0];

            console.log(audioControls.style.display);

            if (back.dataset.displayed == "no"){
                // controls are not displayed, display them and play the audio
                // audio.src = clip;
                // audio.play();
                audioControls.style.display = "block";
                front.style.webkitTransform = "rotateX(-180deg)";
                back.style.webkitTransform = "rotateX(0deg)";
                back.dataset.displayed = "yes";
            }else {
                // controls are currently displayed, stop the audio and hide the controls
                back.style.webkitTransform = "rotateX(-180deg)";
                front.style.webkitTransform = "rotateX(0deg)";
                back.dataset.displayed = "no";
                setTimeout(function(){ audioControls.style.display = "none";}, 300);
                // audio.pause();
            }
        }
    </script>
</head>
<body>

    <ul id="list">
        <li id="li1" onclick="audioClick(event, 'li1', 'Jimmy_Cliff_Rebirth.mp3');">
            <div class="card-container">
                <div class="card">
                    <div class="front">
                        <img class="track_image" src="Jimmy_Cliff_Rebirth.jpg">
                        <div class="track_title">Audio file is local</div>
                        <div class="artist_name">Professor...

CSS

body {
    font-family: Helvetica,sans-serif; 
    margin: 0;              
    padding: 0;
}
ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}
li {
    position: relative;
    display: block;
    height: 80px;
}
.card {
    -webkit-transform-style: preserve-3d;
    width: 320px;
    height: 80px;
    position: relative;
}
.back, .front {
    position: absolute;
    -webkit-backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.4s ease;
       /* force hardware acceleration */
    -webkit-transform: translateZ(0);
    width: 100%;
    height: 100%;   
}
.back {
    -webkit-transform: rotateX(180deg);
}
.track_image {
    position: absolute;
    top: 7px;
    left: 8px;
    width: 64px;
    height: 64px;
    -webkit-box-shadow: 7px 7px 8px #818181;
}
.track_title {
    position:absolute;
    padding:0;
    margin:0;
    top: 7px;   
    left: 88px;
    width: 175px;
    font-size: 15px;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 1px #f5f5f5;
}
.artist_name {
    position: absolute;
    left: 88px;
    top: 33px;
    width: 175px;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 1px #f5f5f5;
}
.release_date {
    position: absolute;
    left: 88px;
    top: 58px;
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 1px #f5f5f5;
}
.visit_website {
    position: absolute;
    left: 263px;
    top: 15px;
    height:50px;
    width: 50px;
}
.audio_controls {
    position:absolute;
    top: 33px;
    left:81px;
    height: 20px;
    width: 200px;
    opacity:0.7;
    display:none;
}