The below code changes the image/text on hover and works fine. However I need the text (located in content:) to be in the middle of the div, both vertically and horizontally.
It's already aligned horizontally with text-align: center; so I just need it aligned vertically. Any ideas?
.servicecircle { 
    width: 204px; 
    height: 204px;
    background-image: url('secret.png');
    display: inline-block;
    background-repeat: no-repeat;
    margin-left: 22px;
    margin-right: 22px;
    /* Button transition*/
    -o-transition: .5s;
    -ms-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    transition: .5s;
}
.servicecircle:hover{
    cursor: pointer;
}
.servicecircle:after { 
    width: 204px; 
    height: 204px;
    display: inline-block;
    background-repeat: no-repeat;
    /* Button transition*/
    -o-transition: .5s;
    -ms-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    transition: .5s;
    /* Content is inserted */
    content: 'Service 1';
}
.servicecircle:hover:after{
    background-image: url('secret.png');
    cursor: pointer;
    content: 'Service Description..';
}
I've tried vertical-align: middle but it didn't do anything.
 
     
     
    