I guess the reason is:
margin-right: 1em;
You have defined a right margin. Thus it makes sure it is the defined value and rest all the available space is left on left margin.
Either remove the right margin and check or define the left margin as much you want.