It doesn’t fade in in IE because you have not told IE to fade in.
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
-o-animation: fadein 2s; /* Opera */
There is no IE rule and there is no real animation rule. All you have is pre-fixes. You always have to include the real property.
-moz-animation: fadein 2s; /* Firefox */
-webkit-animation: fadein 2s; /* Safari and Chrome */
-o-animation: fadein 2s; /* Opera */
animation: fadein 2s; /* All modern browsers */
You have made that mistake in a number of places. These days a lot of prefixes can be dropped so check on caniuse when you need to see what needs to be supported.