diff --git a/core/themes/stark/css/ie-rtl.css b/core/themes/stark/css/ie-rtl.css
new file mode 100644
index 0000000..1c72de3
--- /dev/null
+++ b/core/themes/stark/css/ie-rtl.css
@@ -0,0 +1,31 @@
+
+/**
+ * @file
+ * Right-to-left overrides for IE
+ */
+
+#content {
+  float: right;
+}
+body.sidebar-first #content {
+  left: 0;
+  right: 20%;
+}
+body.two-sidebars #content {
+  left: 0;
+  right: 20%;
+}
+
+#sidebar-first {
+  float: right;
+  left: 0;
+  right: -80%;
+}
+body.two-sidebars #sidebar-first {
+  left: 0;
+  right: -60%;
+}
+
+#sidebar-second {
+  float: left;
+}
\ No newline at end of file
diff --git a/core/themes/stark/css/ie.css b/core/themes/stark/css/ie.css
new file mode 100644
index 0000000..ca288d1
--- /dev/null
+++ b/core/themes/stark/css/ie.css
@@ -0,0 +1,35 @@
+
+/**
+ * @file
+ * Force IE 8 and lower to render in desktop layout.
+ */
+
+#content {
+  width: 100%;
+  float: left; /* LTR */
+}
+body.sidebar-first #content {
+  width: 80%;
+  left: 20%; /* LTR */
+}
+body.sidebar-second #content {
+  width: 80%;
+}
+body.two-sidebars #content {
+  width: 60%;
+  left: 20%; /* LTR */
+}
+
+#sidebar-first {
+  width: 20%;
+  float: left; /* LTR */
+  left: -80%; /* LTR */
+}
+body.two-sidebars #sidebar-first {
+  left: -60%; /* LTR */
+}
+
+#sidebar-second {
+  float: right; /* LTR */
+  width: 20%;
+}
\ No newline at end of file
diff --git a/core/themes/stark/css/layout-rtl.css b/core/themes/stark/css/layout-rtl.css
new file mode 100644
index 0000000..0756259
--- /dev/null
+++ b/core/themes/stark/css/layout-rtl.css
@@ -0,0 +1,49 @@
+@media all and (min-width: 480px) and (max-width: 959px) {
+  body.sidebar-first #content,
+  body.two-sidebars #content {
+    float: left;
+  }
+  body.sidebar-second #content {
+    float: right;
+  }
+
+  #sidebar-first {
+    float: right;
+  }
+
+  #sidebar-second {
+    float: left;
+  }
+  body.two-sidebars #sidebar-second {
+    float: right;
+    clear: right;
+  }
+}
+
+@media all and (min-width: 960px) {
+  #content {
+    float: right;
+  }
+  body.sidebar-first #content {
+    left: 0;
+    right: 20%;
+  }
+  body.two-sidebars #content {
+    left: 0;
+    right: 20%;
+  }
+
+  #sidebar-first {
+    float: right;
+    left: 0;
+    right: -80%;
+  }
+  body.two-sidebars #sidebar-first {
+    left: 0;
+    right: -60%;
+  }
+
+  #sidebar-second {
+    float: left;
+  }
+}
\ No newline at end of file
diff --git a/core/themes/stark/css/layout.css b/core/themes/stark/css/layout.css
new file mode 100644
index 0000000..d52bd45
--- /dev/null
+++ b/core/themes/stark/css/layout.css
@@ -0,0 +1,82 @@
+
+/**
+ * @file
+ * Stark layout method
+ *
+ * To avoid obscuring CSS added to the page by Drupal or a contrib module, the
+ * Stark theme itself has no styling, except just enough CSS to arrange the page
+ * in a traditional "Header, sidebars, content, and footer" layout.
+ *
+ * This layout method works reasonably well, but shouldn't be used on a
+ * production site because it can break. For example, if an over-large image
+ * (one that is wider than 20% of the viewport) is in the left sidebar, the
+ * image will overlap with the #content to the right.
+ */
+
+#content,
+#sidebar-first,
+#sidebar-second {
+  display: inline;
+  position: relative;
+}
+
+@media all and (min-width: 480px) and (max-width: 959px) {
+  #content {
+    width: 100%;
+  }
+  body.sidebar-first #content,
+  body.two-sidebars #content {
+    width: 67%;
+    float: right; /* LTR */
+  }
+  body.sidebar-second #content {
+    width: 67%;
+    float: left; /* LTR */
+  }
+
+  #sidebar-first {
+    width: 33%;
+    float: left; /* LTR */
+  }
+
+  #sidebar-second {
+    width: 33%;
+    float: right; /* LTR */
+  }
+  body.two-sidebars #sidebar-second {
+    float: left; /* LTR */
+    clear: left; /* LTR */
+  }
+}
+
+@media all and (min-width: 960px) {
+  #content {
+    width: 100%;
+    float: left; /* LTR */
+  }
+  body.sidebar-first #content {
+    width: 80%;
+    left: 20%; /* LTR */
+  }
+  body.sidebar-second #content {
+    width: 80%;
+  }
+  body.two-sidebars #content {
+    width: 60%;
+    left: 20%; /* LTR */
+  }
+
+  #sidebar-first {
+    width: 20%;
+    float: left; /* LTR */
+    left: -80%; /* LTR */
+  }
+  body.two-sidebars #sidebar-first {
+    left: -60%; /* LTR */
+  }
+
+  #sidebar-second {
+    float: right; /* LTR */
+    width: 20%;
+  }
+}
diff --git a/core/themes/stark/layout.css b/core/themes/stark/layout.css
deleted file mode 100644
index 93c31ae..0000000
--- a/core/themes/stark/layout.css
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/**
- * @file
- * Stark layout method
- *
- * To avoid obscuring CSS added to the page by Drupal or a contrib module, the
- * Stark theme itself has no styling, except just enough CSS to arrange the page
- * in a traditional "Header, sidebars, content, and footer" layout.
- *
- * This layout method works reasonably well, but shouldn't be used on a
- * production site because it can break. For example, if an over-large image
- * (one that is wider than 20% of the viewport) is in the left sidebar, the
- * image will overlap with the #content to the right.
- */
-
-#content,
-#sidebar-first,
-#sidebar-second {
-  float: left;
-  display: inline;
-  position: relative;
-}
-
-#content {
-  width: 100%;
-}
-body.sidebar-first #content {
-  width: 80%;
-  left: 20%; /* LTR */
-}
-body.sidebar-second #content {
-  width: 80%;
-}
-body.two-sidebars #content {
-  width: 60%;
-  left: 20%;
-}
-
-#sidebar-first {
-  width: 20%;
-  left: -80%; /* LTR */
-}
-
-body.two-sidebars #sidebar-first {
-  left: -60%; /* LTR */
-}
-
-#sidebar-second {
-  float: right; /* LTR */
-  width: 20%;
-}
diff --git a/core/themes/stark/stark.info b/core/themes/stark/stark.info
index 5773c5e..fbab2a0 100644
--- a/core/themes/stark/stark.info
+++ b/core/themes/stark/stark.info
@@ -3,4 +3,4 @@ description = This theme demonstrates Drupal's default HTML markup and CSS style
 package = Core
 version = VERSION
 core = 8.x
-stylesheets[all][] = layout.css
+stylesheets[all][] = css/layout.css
diff --git a/core/themes/stark/template.php b/core/themes/stark/template.php
new file mode 100644
index 0000000..0a40d57
--- /dev/null
+++ b/core/themes/stark/template.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * Override or insert variables into the html template.
+ *
+ * @todo Based on outcome of http://drupal.org/node/1471382, revise this
+ *   technique to use conditional classes vs. conditional stylesheets.
+ */
+function stark_preprocess_html(&$variables) {
+  // Add conditional CSS for IE8 and below.
+  drupal_add_css(path_to_theme() . '/css/ie.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'lte IE 8', '!IE' => FALSE), 'weight' => 999, 'preprocess' => FALSE));
+}
