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>
<img />

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

Thx in advance!