diff --git a/core/themes/bartik/bartik.libraries.yml b/core/themes/bartik/bartik.libraries.yml
index 9c1a33c..789f932 100644
--- a/core/themes/bartik/bartik.libraries.yml
+++ b/core/themes/bartik/bartik.libraries.yml
@@ -24,6 +24,7 @@ global-styling:
       css/components/list-group.css: {}
       css/components/list.css: {}
       css/components/main-content.css: {}
+      css/components/menu.css: {}
       css/components/messages.css: {}
       css/components/node.css: {}
       css/components/node-preview.css: {}
diff --git a/core/themes/bartik/css/base/elements.css b/core/themes/bartik/css/base/elements.css
index 3bf574a..ac47566 100644
--- a/core/themes/bartik/css/base/elements.css
+++ b/core/themes/bartik/css/base/elements.css
@@ -132,3 +132,20 @@ img {
   max-width: 100%;
   height: auto;
 }
+ul, ol {
+  margin: 0;
+  padding: 0 0 0.25em 1em; /* LTR */
+}
+[dir="rtl"] ul,
+[dir="rtl"] ol {
+  padding: 0 1em 0.25em 0;
+}
+ol ol,
+ul ul {
+  margin: 0;
+  padding: 0 0 0.25em 1em; /* LTR */
+}
+[dir="rtl"] ol ol,
+[dir="rtl"] ul ul {
+  padding: 0 1em 0.25em 0;
+}
diff --git a/core/themes/bartik/css/components/block.css b/core/themes/bartik/css/components/block.css
index 4e49170..48e9f3f 100644
--- a/core/themes/bartik/css/components/block.css
+++ b/core/themes/bartik/css/components/block.css
@@ -7,16 +7,3 @@
 .block .content {
   margin-top: 10px;
 }
-
-/* List in block. */
-.block ol,
-.block ul {
-  margin: 0;
-  padding: 0 0 0.25em 1em; /* LTR */
-}
-[dir="rtl"] .block ol,
-[dir="rtl"] .block ul {
-  padding: 0 1em 0.25em 0;
-  /* This is required to win over specifity of [dir="rtl"] ul.menu */
-  margin-right: 0;
-}
diff --git a/core/themes/bartik/css/components/breadcrumb.css b/core/themes/bartik/css/components/breadcrumb.css
index a1f0dd2..7d2a8ec 100644
--- a/core/themes/bartik/css/components/breadcrumb.css
+++ b/core/themes/bartik/css/components/breadcrumb.css
@@ -7,3 +7,6 @@
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 0.929em;
 }
+.region-breadcrumb {
+  padding: 0 15px 0.25em;
+}
diff --git a/core/themes/bartik/css/components/field.css b/core/themes/bartik/css/components/field.css
index 7765348..213d804 100644
--- a/core/themes/bartik/css/components/field.css
+++ b/core/themes/bartik/css/components/field.css
@@ -82,7 +82,6 @@
 .field--name-field-tags ul.links {
   padding: 0;
   margin: 0;
-  list-style: none;
 }
 .field--name-field-tags ul.links li {
   float: left; /* LTR */
diff --git a/core/themes/bartik/css/components/header.css b/core/themes/bartik/css/components/header.css
index 031d0b2..dd902a1 100644
--- a/core/themes/bartik/css/components/header.css
+++ b/core/themes/bartik/css/components/header.css
@@ -125,7 +125,6 @@ h1.site-name {
   padding: 0;
 }
 .region-header .block ul {
-  margin: 0;
   padding: 0;
 }
 .region-header .block li {
diff --git a/core/themes/bartik/css/components/item-list.css b/core/themes/bartik/css/components/item-list.css
index 698bd56..3b44185 100644
--- a/core/themes/bartik/css/components/item-list.css
+++ b/core/themes/bartik/css/components/item-list.css
@@ -3,11 +3,20 @@
  * Visual styles for Bartik's item list.
  */
 
+.item-list ul {
+  list-style: none;
+  margin: 0 0 0.25em 0;
+  padding: 0; /* LTR */
+}
+[dir="rtl"] .item-list ul {
+  padding: 0;
+}
 .item-list ul li {
-  margin: 0;
+  margin: 0; /* LTR */
   padding: 0.2em 0.5em 0 0; /* LTR */
 }
 [dir="rtl"] .item-list ul li {
+  margin: 0;
   padding: 0.2em 0 0 0.5em;
 }
 .item-list .item-list__comma-list,
diff --git a/core/themes/bartik/css/components/list.css b/core/themes/bartik/css/components/list.css
index 301c211..d795121 100644
--- a/core/themes/bartik/css/components/list.css
+++ b/core/themes/bartik/css/components/list.css
@@ -7,4 +7,7 @@ ul.links {
   color: #68696b;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 0.821em;
+  padding: 0;
+  margin: 0;
+  list-style: none;
 }
diff --git a/core/themes/bartik/css/components/menu.css b/core/themes/bartik/css/components/menu.css
new file mode 100644
index 0000000..f04237d
--- /dev/null
+++ b/core/themes/bartik/css/components/menu.css
@@ -0,0 +1,13 @@
+/**
+ * @file
+ * Styles for menus in Bartik.
+ */
+
+/* Needed to override ul.menu styles in menu.theme.css */
+ul.menu {
+  margin: 0; /* LTR */
+  padding: 0 0 0.25em 0;
+}
+[dir="rtl"] ul.menu {
+  margin: 0;
+}
diff --git a/core/themes/bartik/css/components/search-results.css b/core/themes/bartik/css/components/search-results.css
index 506c96d..d9522e9 100644
--- a/core/themes/bartik/css/components/search-results.css
+++ b/core/themes/bartik/css/components/search-results.css
@@ -3,13 +3,10 @@
  * Visual styles for Bartik's search results.
  */
 
-ol.search-results {
-  padding-left: 0; /* LTR */
+.search-results {
+  padding: 0;
   list-style-position: inside;
 }
-[dir="rtl"] ol.search-results {
-  padding-right: 0;
-}
 .search-results li {
   border-bottom: 1px solid #d3d7d9;
   padding-bottom: 0.4285em;
diff --git a/core/themes/bartik/css/components/tabs.css b/core/themes/bartik/css/components/tabs.css
index 31becdd..6f232fe 100644
--- a/core/themes/bartik/css/components/tabs.css
+++ b/core/themes/bartik/css/components/tabs.css
@@ -18,7 +18,6 @@ div.tabs {
   display: block;
   font-size: 0.929em;
   padding: 0 10px 3px;
-  margin: 0;
   text-shadow: 0 1px 0 #fff;
 }
 .tabs ul.primary li.is-active a {
