Na początku ustawiasz swoje logo z position: absolute na środku, dając właściwość left: calc (50% - 1/2 szerokości logo). Następnie tworzysz drugą klasę, która:
- zmienia właściwiość left na np. 0
- zmienia position na fixed
- zmienia width i height dla logo
Żeby uzyskać efekt płynnego przejścia, używasz właściwości transition - w moim przypadku transition: all .5 ease-out <-- tutaj możesz poeksperymentować.
Następnie w JS przy pomocji funkcji setTimeout, opóźniasz funkcję, która doda tą Twoją drugą klasę do elementu loga.
Prosty przykład: https://codepen.io/Czeran/pen/wxdyxE