<!--I have learned only CSS basics and I have almost quit learning it due to lack of time for my studies and other languages. So don't take this as expert advice.
I have read this in others code and have tried in your code as well-->
Yes , you are right you should use list tag for navbars options. In html 5 semantics are really important. You should you semantic tags over divs as much as possible.
●To align text of each option horizontally to middle use text-align:center;
But to align it vertically you need to specify the height of line. This height should be equal to height of list element i.e 10vh
●To fix indentation issue with list make padding and margins 0 in your code
●remove width:25vw; from li 25
example for you:
As stated in code, You can copy only if you learn something from it.
One more by Gordon sir