You have your selectors the wrong way round. try:
.parent:hover:before {
color: 'blue'
}
Think of it like:
.AlwaysPut:hover:before{}
And then you can't go wrong! :D
Pseudo Elements vs Pseudo Selectors
These are appropriately called pseudo "elements" (not selectors)
because they don't select any "real" element that exists on the page.
This goes for these two, as well as the previous sections
:first-letter and :first-line. Make sense? Like the first letter that
::first-letter selects isn't an element all to itself, it's just a
part of an existing element, hence, pseudo element. ~CSS Tricks