As Ron said you are using the ie8 meta tag which makes ie8 + all behave like ie8 and is a very bad thing to do unless you have specific script only written to work in IE8. You lose all the benefits of any new css and much better behaviours in ie9+.
If you use the ‘edge’ meta tag as Ron suggests then IE will always render the page in standards mode (avoiding people clicking the compatibility button by mistake) and will render as the browser version that is being used (e,g, IE8 renders as IE8, IE9 renders as IE9, IE10 renders as IE10 and so on…).