diff --git a/core/themes/seven/css/base/print.css b/core/themes/seven/css/base/print.css
index 871baa1..c5956b8 100644
--- a/core/themes/seven/css/base/print.css
+++ b/core/themes/seven/css/base/print.css
@@ -50,7 +50,10 @@
   }
   .messages {
     border-width: 1px;
-    border-left-color: #999;
+    border-left-color: #999; /* LTR */
+  }
+  [dir="rtl"] .messages {
+    border-right-color: #999;
   }
   .is-collapse-enabled .tabs {
     max-height: 999em;
diff --git a/core/themes/seven/css/components/admin-panel.css b/core/themes/seven/css/components/admin-panel.css
index ad27d3b..7ef29ff 100644
--- a/core/themes/seven/css/components/admin-panel.css
+++ b/core/themes/seven/css/components/admin-panel.css
@@ -4,7 +4,11 @@
 div.admin-panel,
 div.admin-panel .body {
   padding: 0;
-  clear: left;
+  clear: left; /* LTR */
+}
+[dir="rtl"] div.admin-panel,
+[dir="rtl"] div.admin-panel .body {
+  clear: right;
 }
 div.admin-panel {
   margin: 0 0 20px;
diff --git a/core/themes/seven/css/components/buttons.theme.css b/core/themes/seven/css/components/buttons.theme.css
index f7152fc..f5497c4 100644
--- a/core/themes/seven/css/components/buttons.theme.css
+++ b/core/themes/seven/css/components/buttons.theme.css
@@ -89,13 +89,17 @@
  * Overrides styling from system.theme.
  */
 .button-action:before {
-  margin-left: -0.2em;
-  padding-right: 0.2em;
+  margin-left: -0.2em; /* LTR */
+  padding-right: 0.2em; /* LTR */
   font-size: 14px;
   font-size: 0.875rem;
   line-height: 16px;
   -webkit-font-smoothing: auto;
 }
+[dir="rtl"] .button-action:before {
+  margin-right: -0.2em;
+  padding-left: 0.2em;
+}
 
 /**
  * 1. Use px units to ensure button text is centered vertically.
diff --git a/core/themes/seven/css/components/dialog.theme.css b/core/themes/seven/css/components/dialog.theme.css
index 4fbe56b..0e4d70a 100644
--- a/core/themes/seven/css/components/dialog.theme.css
+++ b/core/themes/seven/css/components/dialog.theme.css
@@ -31,13 +31,17 @@
 .ui-dialog .ui-dialog-titlebar-close {
   border: 0;
   background: none;
-  right: 20px;
+  right: 20px; /* LTR */
   top: 20px;
   margin: 0;
   height: 16px;
   width: 16px;
   position: absolute;
 }
+[dir="rtl"] .ui-dialog .ui-dialog-titlebar-close {
+  left: 20px;
+  right: auto;
+}
 .ui-dialog .ui-icon.ui-icon-closethick {
   background: url(../../../../misc/icons/ffffff/ex.svg) 0 0 no-repeat;
   margin-top: -12px;
@@ -77,7 +81,8 @@
 }
 .ui-dialog .ajax-progress-throbber {
   /* Can't do center:50% middle: 50%, so approximate it for a typical window size. */
-  left: 49%;
+  left: 49%; /* LTR */
+  right: auto;
   position: fixed;
   top: 48.5%;
   z-index: 1000;
@@ -91,6 +96,9 @@
   padding: 4px;
   width: 24px;
 }
+[dir="rtl"] .ui-dialog .ajax-progress-throbber {
+  right: 49%;
+}
 .ui-dialog .ajax-progress-throbber .throbber,
 .ui-dialog .ajax-progress-throbber .message {
   display: none;
diff --git a/core/themes/seven/css/components/dropbutton.component.css b/core/themes/seven/css/components/dropbutton.component.css
index 264f290..e2c191b 100644
--- a/core/themes/seven/css/components/dropbutton.component.css
+++ b/core/themes/seven/css/components/dropbutton.component.css
@@ -16,10 +16,18 @@
   font-weight: 600;
   line-height: normal;
   -webkit-font-smoothing: antialiased;
-  text-align: left;
+  text-align: left; /* LTR */
+}
+[dir="rtl"] .js .dropbutton .dropbutton-action > input,
+[dir="rtl"] .js .dropbutton .dropbutton-action > a,
+[dir="rtl"] .js .dropbutton .dropbutton-action > button {
+  text-align: right;
 }
 .js .dropbutton-action.last {
-  border-radius: 0 0 0 1em;
+  border-radius: 0 0 0 1em; /* LTR */
+}
+[dir="rtl"] .js .dropbutton-action.last {
+  border-radius: 0 0 1em 0;
 }
 
 /**
@@ -204,9 +212,12 @@
 }
 .dropbutton-arrow {
   border-top-color: #333;
-  right: 35%;
+  right: 35%; /* LTR */
   top: 54%;
 }
+[dir="rtl"] .dropbutton-arrow {
+  left: 35%;
+}
 .dropbutton-multiple.open .dropbutton-arrow {
   border-bottom: 0.3333em solid #333;
   border-top-color: transparent;
diff --git a/core/themes/seven/css/components/form.css b/core/themes/seven/css/components/form.css
index 162db9f..8ab0478 100644
--- a/core/themes/seven/css/components/form.css
+++ b/core/themes/seven/css/components/form.css
@@ -148,6 +148,20 @@ textarea.form-textarea {
   -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
   transition: border linear 0.2s, box-shadow linear 0.2s;
 }
+[dir="rtl"] input.form-autocomplete,
+[dir="rtl"] input.form-text,
+[dir="rtl"] input.form-tel,
+[dir="rtl"] input.form-email,
+[dir="rtl"] input.form-url,
+[dir="rtl"] input.form-search,
+[dir="rtl"] input.form-number,
+[dir="rtl"] input.form-color,
+[dir="rtl"] input.form-file,
+[dir="rtl"] input.form-date,
+[dir="rtl"] input.form-time,
+[dir="rtl"] textarea.form-textarea {
+  padding: .3em .5em .3em .4em;
+}
 .form-text:focus,
 .form-tel:focus,
 .form-email:focus,
@@ -173,11 +187,12 @@ textarea.form-textarea {
 
 .form-item .password-suggestions {
   float: left; /* LTR */
-  clear: left;
+  clear: left; /* LTR */
   width: 100%;
 }
 [dir="rtl"] .form-item .password-suggestions {
   float: right;
+  clear: right;
 }
 .form-item-pass .description {
   clear: both;
@@ -204,7 +219,7 @@ textarea.form-textarea {
     -webkit-font-smoothing: antialiased;
   }
   [dir="rtl"] select {
-    padding: 1px 0.714em 1px 1.571em;
+    padding: 1px 0.5em 1px 1.571em;
     background-position: 1% 63%, 0 0;
   }
   select:focus,
diff --git a/core/themes/seven/css/components/jquery.ui/theme.css b/core/themes/seven/css/components/jquery.ui/theme.css
index e134db0..9ff6100 100644
--- a/core/themes/seven/css/components/jquery.ui/theme.css
+++ b/core/themes/seven/css/components/jquery.ui/theme.css
@@ -86,7 +86,10 @@
   background-image: url(../../../images/ui-icons-ffffff-256x240.png);
 }
 .ui-widget p .ui-icon {
-  margin: 2px 3px 0 0;
+  margin: 2px 3px 0 0; /* LTR */
+}
+[dir="rtl"] .ui-widget p .ui-icon {
+  margin: 2px 0 0 3px;
 }
 
 /* positioning */
@@ -307,10 +310,13 @@
   border-bottom-right-radius: 0;
 }
 .ui-tabs .ui-tabs-nav li {
-  padding: 0 1em 0 10px;
+  padding: 0 1em 0 10px; /* LTR */
   margin: 0;
   list-style: none;
 }
+[dir="rtl"] .ui-tabs .ui-tabs-nav li {
+  padding: 0 10px 0 1em;
+}
 .ui-tabs .ui-tabs-nav li a {
   float: none;
   padding: 0 10px;
diff --git a/core/themes/seven/css/components/pager.css b/core/themes/seven/css/components/pager.css
index 6b5f4b4..129a08a 100644
--- a/core/themes/seven/css/components/pager.css
+++ b/core/themes/seven/css/components/pager.css
@@ -2,9 +2,12 @@
  * Pagination.
  */
 .pager__items {
-  margin: 0.25em 0 0.25em 1.5em;
+  margin: 0.25em 0 0.25em 1.5em; /* LTR */
   padding: 0;
 }
+[dir="rtl"] .pager__items {
+  margin: 0.25em 1.5em 0.25em 0;
+}
 .pager__item {
   display: inline-block;
   color: #8c8c8c;
diff --git a/core/themes/seven/css/components/tour.theme.css b/core/themes/seven/css/components/tour.theme.css
index a5e0cc4..06d8a3a 100644
--- a/core/themes/seven/css/components/tour.theme.css
+++ b/core/themes/seven/css/components/tour.theme.css
@@ -34,17 +34,19 @@
 }
 .joyride-tip-guide .joyride-nub.right {
   border-top-color: transparent;
-  border-right-color: transparent;
+  border-right-color: transparent; /* LTR */
   border-bottom-color: transparent;
 }
+[dir="rtl"] .joyride-tip-guide .joyride-nub.right {
+  border-left-color: transparent;
+}
 .joyride-tip-guide .joyride-nub.left {
   border-top-color: transparent;
-  border-left-color: transparent;
+  border-left-color: transparent; /* LTR */
   border-bottom-color: transparent;
 }
-.joyride-tip-guide .joyride-nub.top-right {
-  border-top-color: transparent;
-  border-left-color: transparent;
+
+[dir="rtl"] .joyride-tip-guide .joyride-nub.left {
   border-right-color: transparent;
 }
 
diff --git a/core/themes/seven/css/components/views-ui.css b/core/themes/seven/css/components/views-ui.css
index b10e29f..84544bd 100644
--- a/core/themes/seven/css/components/views-ui.css
+++ b/core/themes/seven/css/components/views-ui.css
@@ -248,7 +248,10 @@ details.fieldset-no-legend {
 }
 
 .views-ui-rearrange-filter-form tr td:last-child {
-  border-right: medium none;
+  border-right: medium none; /* LTR */
+}
+[dir="rtl"] .views-ui-rearrange-filter-form tr td:last-child {
+  border-left: medium none;
 }
 
 .views-ui-rearrange-filter-form .filter-group-operator-row {
@@ -283,7 +286,11 @@ details.fieldset-no-legend {
 
 .views-query-info table tr td:last-child {
   /* Fixes a Seven style that bleeds down into this table unnecessarily */
-  border-right: 0 none;
+  border-right: 0 none; /* LTR */
+}
+[dir="rtl"] .views-query-info table tr td:last-child {
+  /* Fixes a Seven style that bleeds down into this table unnecessarily */
+  border-left: 0 none;
 }
 
 /* @end */
diff --git a/core/themes/seven/css/theme/install-page.css b/core/themes/seven/css/theme/install-page.css
index 3b7cd91..e4d3d5e 100644
--- a/core/themes/seven/css/theme/install-page.css
+++ b/core/themes/seven/css/theme/install-page.css
@@ -14,9 +14,12 @@
     url(../../images/noise-low.png),
     radial-gradient(hsl(203, 80%, 45%), hsl(203, 80%, 32%));
   background-repeat: repeat;
-  background-position: left top, 50% 50%;
+  background-position: left top, 50% 50%; /* LTR */
   min-height: 100%;
 }
+[dir="rtl"] .install-page {
+  background-position: right top, 50% 50%;
+}
 
 /**
  * Password widget
diff --git a/core/themes/seven/css/theme/maintenance-page.css b/core/themes/seven/css/theme/maintenance-page.css
index f6b93a0..2d9c30d 100644
--- a/core/themes/seven/css/theme/maintenance-page.css
+++ b/core/themes/seven/css/theme/maintenance-page.css
@@ -7,9 +7,12 @@
   background-image: -webkit-radial-gradient(hsl(203, 2%, 90%), hsl(203, 2%, 95%));
   background-image: radial-gradient(hsl(203, 2%, 90%), hsl(203, 2%, 95%));
   background-repeat: repeat;
-  background-position: left top, 50% 50%;
+  background-position: left top, 50% 50%; /* LTR */
   min-height: 100%;
 }
+[dir="rtl"] .maintenance-page {
+  background-position: right top, 50% 50%;
+}
 
 .page-title {
   font-size: 2em;
