JSFiddle - React, Tailwind, and code Playground

HTML

<a href="javascript:void(0);" class="ScrollDownArrow">  
                            <div class="Hint">
                                <p>Skip to next section</p>
                                <img src="https://cdn0.iconfinder.com/data/icons/feather/96/591279-arrow-down-128.png" />
                            </div>
                    </a>

CSS

*{
    padding:0;
    margin:0;   
}

.Hint
{
    display: block;
    height: 38px;
    line-height: 34px;
    text-align: center;
    border:2px solid  #f6473e;
    border-radius: 20px;
    -o-border-radius: 20px;
    -moz-border-radius: 20px;
    -wbkit-border-radius: 20px;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    transition: width 0.8s ease 2.6s,  margin 0.8s ease 2.6s ,  padding 0.8s ease 2.6s;
    -o-transition:  width 0.8s ease 2.6s,  margin 0.8s ease 2.6s,  padding 0.8s ease 2.6s;
    -moz-transition:  width 0.8s ease 2.6s,  margin 0.8s ease 2.6s,  padding 0.8s ease 2.6s;
    -webkit-transition:  width 0.8s ease 2.6s,  margin 0.8s ease 2.6s,  padding 0.8s ease 2.6s;
    width:auto;/*beats 100%*/
    padding: 0 40px; /*40 padding instead of width*/
    overflow:hidden;
    position:relative;
    margin:0;
}
.Hint.Show p
{
    display:inline-block;   
}
.Hint p
{
    color:#000;
    width:100%;/*Jquery animates to 0px*/
    font-size: 0.8em;
    }

.Hint img
{
    display:none; /*Jquery will fadeIn/Out later*/
    width:100%;
    max-width:38px;
    position:absolute;
    top:-2px;
    transform:translateX(-50%);
    -o-transform:translateX(-50%);
    -moz-transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
}

.ScrollDownArrow
{
    display: block;
    height: 38px;
    width: auto;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform:translateX(-50%);
    -o-transform:translateX(-50%);
    -moz-transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
    background-size: 100%;
    z-index: 1000;
}

JavaScript

/*$(document).ready(function(){
    $('.ScrollDownArrow').click(function(){
        if ($(this).hasClass('Clicked')){
            $(this).removeClass('Clicked');
            $('.Hint').removeClass('Show');
        }else{
            $(this).addClass('Clicked');   
            $('.Hint').addClass('Show'); 
        }
               
    });
});*/

$(document).ready(function(){
    var ButtonWidth = parseInt($(".Hint p").width());
    $(".ScrollDownArrow").click(function(){
        if($(".ScrollDownArrow").hasClass("Clicked")){
           $(".Hint img").fadeOut(500); 
           $(".Hint p").delay(500)/*wait on fadeout*/.animate({width: ButtonWidth} /*Unfortunately width: 100% does not seem to work so I took a px value :(*/, 1000).animate({opacity:1}, 500); 
           $(".ScrollDownArrow").removeClass("Clicked");
        }else{
           $(".Hint p").animate({opacity:0.01}/*fade p out without making its width disappear for the width animation*/, 500).animate({width: 0}, 1000);
           $(".Hint img").delay(1500).fadeIn(500);
           $(".ScrollDownArrow").addClass("Clicked");
        }
    }); // End Click
});//End Ready