Как выравнить логотип по центру?
Это всё в div'e?
Если нет, то оберни в div и поставь.etot-div {
margin: 0 auto;
}
ну или всему footer'у.footer {
display: flex;
justify-content: center;
}
Сделайте у логотипа padding-left: {размер псевдоэлемента + отступ}, а у :before left: 0 вместо отрицательного. Благодаря padding в размер логотипа будет входить псевдоэлемент и transform: translateX(-50%) даст нужное значение.