Versions of Internet Explorer prior to IE9 do not support media queries, so any CSS that is inside of a media query will not work in IE7 or IE8.
If you'd like IE6, IE7, and/or IE8 to understand the styles within your media queries, Respond.js is a possible solution.
The pros and cons of using a polyfill to make older, desktop-only browsers understand something that they do not natively support is debatable, which is why an earlier comment suggested using a separate stylesheet that specifically targets the browsers that you want to support. To do this, you would (obviously) create a separate stylesheet - perhaps something like no-mq.css
and then use (conditional comments)[http://www.quirksmode.org/css/condcom.html] to target IE.
<!--[if (lt IE 9) & (!IEMobile)]>
<link rel="stylesheet" href="no-mq.css" />
<![endif]-->
The separate stylesheet approach would allow you to do something like provide a "fixed-width" experience for older versions of IE, while letting the capable versions get the responsive experience.
Additionally, your usage of :nth-child
will also not work in IE7 and IE8 without some kind of help from a polyfill (I presume this is why you're including Selectivizr. Please be aware that in some cases, Selectivizr can be a performance hit, so test your site's performance wisely if you use Selectivizr.