div:before appearing in front of the block

Despite the name, :before doesn’t actually set the layering position of elements, that’s set via z-index. To position your :before element behind the H1 text, you need to add

z-index: -1;

to the :before element, like so:

.game-center-result .score h1:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #44454d;
    left: 0;
    right: 0;
    bottom: 60px;
    margin: 0 auto;
    z-index:-1;
}