.posts-loop {
    position: relative;
}

.posts-loop.loading:before {
    opacity: 1;
    pointer-events: all;
}

.posts-loop.loading:hover,
.posts-loop.loading:hover:before {
    cursor: not-allowed;
}

.posts-loop:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,.5);
    transition: opacity 200ms ease-in-out;
    will-change: opacity;
    opacity: 0;
    z-index: 9;
    pointer-events: none;
}

.posts-loop > .spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% -50%);
    z-index: 10;
}