In order to achieve the desired effect of having the text in the middle of the div both vertically and horizontally, you can try using the following code:
.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;
position: relative;
}
.servicecircle:hover{
cursor: pointer;
}
.servicecircle:after {
content: 'Service 1';
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
background-repeat: no-repeat;
z-index: 2;
/* Button transition*/
-o-transition: .5s;
-ms-transition: .5s;
-moz-transition: .5s;
-webkit-transition: .5s;
transition: .5s;
}
.servicecircle:hover:after{
background-image: url('secret.png');
cursor: pointer;
content: 'Service Description..';
}
This will ensure that the text is positioned at the center of the div both vertically and horizontally. Give it a try!