diff --git a/core/misc/dropbutton/dropbutton.css b/core/misc/dropbutton/dropbutton.css
index f089874..2fdefc5 100644
--- a/core/misc/dropbutton/dropbutton.css
+++ b/core/misc/dropbutton/dropbutton.css
@@ -11,14 +11,14 @@
 .dropbutton-wrapper div {
   box-sizing: border-box;
 }
-.js .dropbutton-wrapper,
-.js .dropbutton-widget {
+.dropbutton-processed,
+.dropbutton-processed .dropbutton-widget {
   display: block;
   position: relative;
 }
 
 @media screen and (max-width:600px) {
-  .js .dropbutton-wrapper {
+  .dropbutton-processed {
     width: 100%;
   }
 }
@@ -30,50 +30,50 @@
 [dir="rtl"] .form-actions .dropbutton-wrapper {
   float: right;
 }
-.js .form-actions .dropbutton-widget {
+.form-actions .dropbutton-processed {
   position: static;
 }
-.js td .dropbutton-widget {
+td .dropbutton-processed .dropbutton-widget {
   position: absolute;
 }
-.js td .dropbutton-wrapper {
+td .dropbutton-processed {
   min-height: 2em;
 }
-.js td .dropbutton-multiple {
+td .dropbutton-multiple {
   padding-right: 10em; /* LTR */
   margin-right: 2em; /* LTR */
   max-width: 100%;
 }
-[dir="rtl"].js td .dropbutton-multiple {
+[dir="rtl"]td .dropbutton-multiple {
   padding-right: 0;
   margin-right: 0;
   padding-left: 10em;
   margin-left: 2em;
 }
-.js td .dropbutton-multiple .dropbutton-action a,
-.js td .dropbutton-multiple .dropbutton-action input,
-.js td .dropbutton-multiple .dropbutton-action button {
+td .dropbutton-multiple .dropbutton-action a,
+td .dropbutton-multiple .dropbutton-action input,
+td .dropbutton-multiple .dropbutton-action button {
   width: auto;
 }
 
 /* UL styles are over-scoped in core, so this selector needs weight parity. */
-.js .dropbutton-widget .dropbutton {
+.dropbutton-processed .dropbutton {
   list-style-image: none;
   list-style-type: none;
   margin: 0;
   overflow: hidden;
   padding: 0;
 }
-.js .dropbutton li,
-.js .dropbutton a {
+.dropbutton-processed .dropbutton li,
+.dropbutton-processed .dropbutton a {
   display: block;
   outline: none;
 }
 
-.js .dropbutton li:hover,
-.js .dropbutton li:focus,
-.js .dropbutton a:hover,
-.js .dropbutton a:focus {
+.dropbutton-processed .dropbutton li:hover,
+.dropbutton-processed .dropbutton li:focus,
+.dropbutton-processed .dropbutton a:hover,
+.dropbutton-processed .dropbutton a:focus {
   outline: initial;
 }
 
@@ -87,10 +87,10 @@
  * The arrow is created using border on a zero-width, zero-height span.
  * The arrow inherits the link color, but can be overridden with border colors.
  */
-.js .dropbutton-multiple .dropbutton-widget {
+.dropbutton-multiple .dropbutton-widget {
   padding-right: 2em; /* LTR */
 }
-.js[dir="rtl"] .dropbutton-multiple .dropbutton-widget {
+[dir="rtl"] .dropbutton-multiple .dropbutton-widget {
   padding-left: 2em;
   padding-right: 0;
 }
diff --git a/core/misc/dropbutton/dropbutton.theme.css b/core/misc/dropbutton/dropbutton.theme.css
index 65f2568..f3453db 100644
--- a/core/misc/dropbutton/dropbutton.theme.css
+++ b/core/misc/dropbutton/dropbutton.theme.css
@@ -3,12 +3,7 @@
  * @file
  * General styles for dropbuttons.
  */
-
-.js .dropbutton-widget {
-  background-color: white;
-  border: 1px solid #cccccc;
-}
-.js .dropbutton-widget:hover {
+.dropbutton-processed:hover {
   border-color: #b8b8b8;
 }
 .dropbutton .dropbutton-action > * {
diff --git a/core/misc/drupal.js b/core/misc/drupal.js
index 4244ed6..9307997 100644
--- a/core/misc/drupal.js
+++ b/core/misc/drupal.js
@@ -3,9 +3,6 @@
  */
 window.Drupal = {behaviors: {}, locale: {}};
 
-// Class indicating that JS is enabled; used for styling purpose.
-document.documentElement.className += ' js';
-
 // Allow other JavaScript libraries to use $.
 if (window.jQuery) {
   jQuery.noConflict();
diff --git a/core/modules/views_ui/css/views_ui.admin.theme.css b/core/modules/views_ui/css/views_ui.admin.theme.css
index c195cce..2618ece 100644
--- a/core/modules/views_ui/css/views_ui.admin.theme.css
+++ b/core/modules/views_ui/css/views_ui.admin.theme.css
@@ -1154,9 +1154,6 @@ div.messages {
 
 /* @group Buttons */
 
-.dropbutton-multiple {
-  position: absolute;
-}
 .dropbutton-widget {
   position: relative;
 }
diff --git a/core/themes/bartik/css/components/dropbutton.component.css b/core/themes/bartik/css/components/dropbutton.component.css
index ac14aef..811199a 100644
--- a/core/themes/bartik/css/components/dropbutton.component.css
+++ b/core/themes/bartik/css/components/dropbutton.component.css
@@ -1,8 +1,8 @@
 /* ---------- Dropbutton ----------- */
-.js .dropbutton-multiple.open .dropbutton-widget {
+.dropbutton-multiple.open .dropbutton-widget {
   border-radius: 1em;
 }
-.js .dropbutton-widget {
+.dropbutton-processed .dropbutton-widget {
   position: relative !important;
   border: 1px solid #e4e4e4;
   border-bottom-color: #b4b4b4;
@@ -17,95 +17,95 @@
   margin: 0.125em 0;
   border-radius: 1em;
 }
-.js .dropbutton-widget:hover {
+.dropbutton-processed .dropbutton-widget:hover {
   border-top-color: #e4e4e4;
   border-bottom-color: #b4b4b4;
   border-left-color: #d2d2d2;
   border-right-color: #d2d2d2;
 }
-.js .dropbutton-widget .button {
+.dropbutton-processed .dropbutton-widget .button {
   border: none;
   margin: 0;
   padding: 0.32em 1em;
   width: 100%;
   border-radius: 1em;
 }
-.js .dropbutton-widget .button:hover {
+.dropbutton-processed .dropbutton-widget .button:hover {
   border-radius: 1em 0 0 1em;
 }
-[dir="rtl"].js .dropbutton-widget .button:hover {
+[dir="rtl"].dropbutton-processed .dropbutton-widget .button:hover {
   border-radius: 0 1em 1em 0;
 }
-.js .dropbutton-single .dropbutton-widget .dropbutton-action a {
+.dropbutton-single .dropbutton-widget .dropbutton-action a {
   color: #3a3a3a;
 }
-.js .dropbutton-single .dropbutton-widget .dropbutton-action a:hover {
+.dropbutton-single .dropbutton-widget .dropbutton-action a:hover {
   background: #dedede;
   border-radius: 1em;
 }
-.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
+.dropbutton-multiple .dropbutton-widget .dropbutton-action a {
   color: #3a3a3a;
   margin-right: 0;
 }
-[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
+[dir="rtl"].dropbutton-multiple .dropbutton-widget .dropbutton-action a {
   margin-left: 0;
 }
-.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a:hover {
+.dropbutton-multiple .dropbutton-widget .dropbutton-action a:hover {
   background: #dedede;
 }
-.js .dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
+.dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
   border-radius: 1em 0 0 1em; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
+[dir="rtl"].dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
   border-radius: 0 1em 1em 0;
 }
-.js .dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
+.dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
   border-radius: 1em 0 0 0; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
+[dir="rtl"].dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
   border-radius: 0 1em 0 0;
 }
-.js .dropdown-widget .publish .button {
+.dropbutton-processed .dropdown-widget .publish .button {
   border-radius: 1em 0 0 1em; /* LTR */
 }
-[dir="rtl"].js .dropbutton-widget .publish .button {
+[dir="rtl"].dropbutton-processed .dropbutton-widget .publish .button {
   border-radius: 0 1em 1em 0;
 }
-.js .dropbutton-multiple.open .dropbutton-action:first-child a,
-.js .dropbutton-multiple.open .dropbutton-action:first-child .button {
+.dropbutton-multiple.open .dropbutton-action:first-child a,
+.dropbutton-multiple.open .dropbutton-action:first-child .button {
   border-radius: 1em 0 0 0; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child a,
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child .button {
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:first-child a,
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:first-child .button {
   border-radius: 0 1em 0 0;
 }
-.js .dropbutton-multiple.open .dropbutton-action:last-child a,
-.js .dropbutton-multiple.open .dropbutton-action:last-child .button {
+.dropbutton-multiple.open .dropbutton-action:last-child a,
+.dropbutton-multiple.open .dropbutton-action:last-child .button {
   border-radius: 0 0 0 1em; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child a,
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child .button {
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:last-child a,
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:last-child .button {
   border-radius: 0 0 1em 0;
 }
-.js .dropbutton .secondary-action {
+.dropbutton-processed .secondary-action {
   border-top-color: #ccc;
 }
-.js .dropbutton-toggle button {
+.dropbutton-processed .dropbutton-toggle button {
   border-radius: 0 1em 1em 0; /* LTR */
   background-color: #e8e8e8;
   background-image: -webkit-linear-gradient(top, #e8e8e8, #d2d2d2);
   background-image: linear-gradient(to bottom, #e8e8e8, #d2d2d2);
 }
-[dir="rtl"].js .dropbutton-toggle button {
+[dir="rtl"].dropbutton-processed .dropbutton-toggle button {
   border-radius: 1em 0 0 1em;
 }
-.js .dropbutton-toggle .button:hover {
+.dropbutton-processed .dropbutton-toggle .button:hover {
   background: #ccc;
 }
 
-.js .dropbutton a {
+.dropbutton-processed .dropbutton a {
   border-bottom: none;
 }
-.js .dropbutton a:hover {
+.dropbutton-processed .dropbutton a:hover {
   border-bottom-style: none;
 }
diff --git a/core/themes/seven/css/components/dropbutton.component.css b/core/themes/seven/css/components/dropbutton.component.css
index 264f290..dbeb01d 100644
--- a/core/themes/seven/css/components/dropbutton.component.css
+++ b/core/themes/seven/css/components/dropbutton.component.css
@@ -6,9 +6,9 @@
 /**
  * Reset styling for all elements.
  */
-.js .dropbutton .dropbutton-action > input,
-.js .dropbutton .dropbutton-action > a,
-.js .dropbutton .dropbutton-action > button {
+.dropbutton-processed .dropbutton .dropbutton-action > input,
+.dropbutton-processed .dropbutton .dropbutton-action > a,
+.dropbutton-processed .dropbutton .dropbutton-action > button {
   color: #333333;
   text-decoration: none;
   padding: 0;
@@ -18,7 +18,7 @@
   -webkit-font-smoothing: antialiased;
   text-align: left;
 }
-.js .dropbutton-action.last {
+.dropbutton-processed .dropbutton-action.last {
   border-radius: 0 0 0 1em;
 }
 
@@ -41,7 +41,7 @@
 /**
  * Copied styling for .button.
  */
-.js .dropbutton-multiple .dropbutton-widget {
+.dropbutton-multiple .dropbutton-widget {
   border: 1px solid #a6a6a6;
   border-radius: 20em;
   background-color: #f2f1eb;
@@ -52,50 +52,50 @@
 .dropbutton-multiple.open .dropbutton-widget {
   border-radius: 1em;
 }
-.js .dropbutton-widget .dropbutton-action a,
-.js .dropbutton-widget .dropbutton-action input,
-.js .dropbutton-widget .dropbutton-action button {
+.dropbutton-processed .dropbutton-widget .dropbutton-action a,
+.dropbutton-processed .dropbutton-widget .dropbutton-action input,
+.dropbutton-processed .dropbutton-widget .dropbutton-action button {
   border-radius: 20em 0 0 20em; /* LTR */
   padding: 4px 1.5em;
   display: block;
   width: 100%;
 }
-[dir="rtl"].js .dropbutton-widget .dropbutton-action a,
-[dir="rtl"].js .dropbutton-widget .dropbutton-action input,
-[dir="rtl"].js .dropbutton-widget .dropbutton-action button {
+[dir="rtl"].dropbutton-processed .dropbutton-widget .dropbutton-action a,
+[dir="rtl"].dropbutton-processed .dropbutton-widget .dropbutton-action input,
+[dir="rtl"].dropbutton-processed .dropbutton-widget .dropbutton-action button {
   border-radius: 0 20em 20em 0;
 }
-.js .dropbutton-widget .dropbutton-action a:focus,
-.js .dropbutton-widget .dropbutton-action input:focus,
-.js .dropbutton-widget .dropbutton-action button:focus {
+.dropbutton-processed .dropbutton-widget .dropbutton-action a:focus,
+.dropbutton-processed .dropbutton-widget .dropbutton-action input:focus,
+.dropbutton-processed .dropbutton-widget .dropbutton-action button:focus {
   text-decoration: underline;
 }
-.js .dropbutton-multiple.open .dropbutton-action a,
-.js .dropbutton-multiple.open .dropbutton-action .button {
+.dropbutton-multiple.open .dropbutton-action a,
+.dropbutton-multiple.open .dropbutton-action .button {
   border-radius: 0;
 }
-.js .dropbutton-multiple.open .dropbutton-action:first-child a,
-.js .dropbutton-multiple.open .dropbutton-action:first-child .button {
+.dropbutton-multiple.open .dropbutton-action:first-child a,
+.dropbutton-multiple.open .dropbutton-action:first-child .button {
   border-radius: 0.9em 0 0 0; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child a,
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child .button {
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:first-child a,
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:first-child .button {
   border-radius: 0 0.9em 0 0;
 }
-.js .dropbutton-multiple.open .dropbutton-action:last-child a,
-.js .dropbutton-multiple.open .dropbutton-action:last-child .button {
+.dropbutton-multiple.open .dropbutton-action:last-child a,
+.dropbutton-multiple.open .dropbutton-action:last-child .button {
   border-radius: 0 0 0 0.9em; /* LTR */
 }
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child a,
-[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child .button {
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:last-child a,
+[dir="rtl"].dropbutton-multiple.open .dropbutton-action:last-child .button {
   border-radius: 0 0 0.9em 0;
 }
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action a:hover,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action button:hover,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action input:hover,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action a:focus,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action button:focus,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action input:focus {
+.dropbutton-processed .dropbutton-widget .dropbutton-action a:hover,
+.dropbutton-processed .dropbutton-widget .dropbutton-action button:hover,
+.dropbutton-processed .dropbutton-widget .dropbutton-action input:hover,
+.dropbutton-processed .dropbutton-widget .dropbutton-action a:focus,
+.dropbutton-processed .dropbutton-widget .dropbutton-action button:focus,
+.dropbutton-processed .dropbutton-widget .dropbutton-action input:focus {
   background-color: #f9f8f6;
   background-image: -webkit-linear-gradient(top, #fcfcfa, #e9e9dd);
   background-image: linear-gradient(to bottom, #fcfcfa, #e9e9dd);
@@ -103,9 +103,9 @@
   box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.125);
   z-index: 3;
 }
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action a:active,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action input:active,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-action button:active {
+.dropbutton-processed .dropbutton-widget .dropbutton-action a:active,
+.dropbutton-processed .dropbutton-widget .dropbutton-action input:active,
+.dropbutton-processed .dropbutton-widget .dropbutton-action button:active {
   text-decoration: none;
   background-color: #dfdfd9;
   background-image: -webkit-linear-gradient(top, #f6f6f3, #e7e7df);
@@ -166,18 +166,18 @@
 /**
  * The dropdown trigger.
  */
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button {
+.dropbutton-processed .dropbutton-widget .dropbutton-toggle button {
   border-left: 1px solid #a6a6a6; /* LTR */
   outline: none;
 }
-[dir="rtl"].js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button {
+[dir="rtl"].dropbutton-processed .dropbutton-widget .dropbutton-toggle button {
   border-right: 1px solid #a6a6a6;
   border-left: 0;
 }
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button {
+.dropbutton-processed .dropbutton-widget .dropbutton-toggle button {
   border-radius: 0 20em 20em 0; /* LTR */
 }
-[dir="rtl"].js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button {
+[dir="rtl"].dropbutton-processed .dropbutton-widget .dropbutton-toggle button {
   border-radius: 20em 0 0 20em;
 }
 .dropbutton-multiple.open .dropbutton-widget .dropbutton-toggle button {
@@ -186,8 +186,8 @@
 [dir="rtl"] .dropbutton-multiple.open .dropbutton-widget .dropbutton-toggle button {
   border-radius: 1em 0 0 1em;
 }
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:hover,
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:focus {
+.dropbutton-processed .dropbutton-widget .dropbutton-toggle button:hover,
+.dropbutton-processed .dropbutton-widget .dropbutton-toggle button:focus {
   background-color: #f9f8f6;
   background-image: -webkit-linear-gradient(top, #fcfcfa, #e9e9dd);
   background-image: linear-gradient(to bottom, #fcfcfa, #e9e9dd);
@@ -196,7 +196,7 @@
   box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.125);
   z-index: 3;
 }
-.js .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:active {
+.dropbutton-processed .dropbutton-widget .dropbutton-toggle button:active {
   background-color: #dfdfd9;
   background-image: -webkit-linear-gradient(top, #f6f6f3, #e7e7df);
   background-image: linear-gradient(to bottom, #f6f6f3, #e7e7df);
@@ -217,12 +217,12 @@
  * Form edit action theming.
  * Copied styling from .button--primary.
  */
-.js .form-actions .dropbutton .dropbutton-action > * {
+.form-actions .dropbutton-processed .dropbutton .dropbutton-action > * {
   color: #fff;
   font-weight: 700;
   text-shadow: 0 1px hsla(0, 0%, 0%, 0.5);
 }
-.js .form-actions .dropbutton-widget {
+.form-actions .dropbutton-processed .dropbutton-widget {
   border-color: #1e5c90;
   background-color: #0071b8;
   background-image: -webkit-linear-gradient(top, #007bc6, #0071b8);
@@ -234,35 +234,35 @@
   background-image: -webkit-linear-gradient(top, #007bc6, #0071b8);
   background-image: linear-gradient(to bottom, #007bc6, #0071b8);
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-action .button:hover,
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-action .button:focus {
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-action .button:hover,
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-action .button:focus {
   background-color: #2369a6;
   background-image: -webkit-linear-gradient(top, #0c97ed, #1f86c7);
   background-image: linear-gradient(to bottom, #0c97ed, #1f86c7);
   box-shadow: 0 1px 2px hsla(203, 10%, 10%, 0.25);
   color: #fff;
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-action .button:active {
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-action .button:active {
   background-image: -webkit-linear-gradient(top, #08639b, #0071b8);
   background-image: linear-gradient(to bottom, #08639b, #0071b8);
   border-color: #144b78;
   box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.2);
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button,
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-toggle button,
 .form-actions .dropbutton .secondary-action {
   border-color: #1e5c90;
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button {
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-toggle button {
   background-image: -webkit-linear-gradient(top, #007bc6, #0071b8);
   background-image: linear-gradient(to bottom, #007bc6, #0071b8);
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:hover,
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:focus {
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-toggle button:hover,
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-toggle button:focus {
   background-color: #2369a6;
   background-image: -webkit-linear-gradient(top, #0c97ed, #1f86c7);
   background-image: linear-gradient(to bottom, #0c97ed, #1f86c7);
 }
-.js .form-actions .dropbutton-wrapper .dropbutton-widget .dropbutton-toggle button:active {
+.form-actions .dropbutton-processed .dropbutton-widget .dropbutton-toggle button:active {
   background-image: -webkit-linear-gradient(top, #08639b, #0071b8);
   background-image: linear-gradient(to bottom, #08639b, #0071b8);
   border-color: #144b78;
