fadein.png

The red button on the image above, it shows when the user hover the image. ATM it just appears, no effects or anything, however, I would like it to fade and slide in from let say a position 50px under its current position. How would I do this?

Code HTML4Strict:
<div class="wrapper">
<div class="overlay">
    <div class="button">BUTTON</div>
</div>
<img />
</div>

Code CSS:
.wrapper{
width: 50%;
overflow: hidden;
}
 
img{
width: 100%;
}
 
.overlay{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
}
 
.button{
display: block;
width: 200px;
height: 50px;
margin: 0 auto;
margin-top: 40%;
background: red;
}

Thx in advance!