diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index c63f679..6c7490c 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1947,25 +1947,17 @@ function template_preprocess_html(&$variables) {
   // Compile a list of classes that are going to be applied to the body element.
   // This allows advanced theming based on context (home page, node of certain type, etc.).
   $body_classes = $variables['attributes']['class'];
-  $body_classes[] = 'html';
   // Add a class that tells us whether we're on the front page or not.
-  $body_classes[] = $variables['is_front'] ? 'front' : 'not-front';
+  $body_classes[] = $variables['is_front'] ? 'page-front' : 'page-front--not';
   // Add a class that tells us whether the page is viewed by an authenticated user or not.
-  $body_classes[] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in';
+  $body_classes[] = $variables['logged_in'] ? 'user-logged-in' : 'user-logged-in--not';
+  // Add a class that tells us what path the page is located make it possible to theme
+  // the page depending on the current path (e.g. node, admin, user,
+  // etc.) as well as more specific data like path--node-12 or path--node-edit.
+  $body_classes[] = 'path--' . implode("-",arg() );
+
   $variables['attributes']['class'] = $body_classes;
 
-  // Populate the body classes.
-  if ($suggestions = theme_get_suggestions(arg(), 'page', '-')) {
-    foreach ($suggestions as $suggestion) {
-      if ($suggestion != 'page-front') {
-        // Add current suggestion to page classes to make it possible to theme
-        // the page depending on the current page type (e.g. node, admin, user,
-        // etc.) as well as more specific data like node-12 or node-edit.
-        $variables['attributes']['class'][] = drupal_html_class($suggestion);
-      }
-    }
-  }
-
   $site_config = \Drupal::config('system.site');
   // Construct page title.
   if ($page->hasTitle()) {
@@ -2062,14 +2054,6 @@ function template_preprocess_page(&$variables) {
     }
   }
 
-  // Set up layout variable.
-  $variables['layout'] = 'none';
-  if (!empty($variables['page']['sidebar_first'])) {
-    $variables['layout'] = 'first';
-  }
-  if (!empty($variables['page']['sidebar_second'])) {
-    $variables['layout'] = ($variables['layout'] == 'first') ? 'both' : 'second';
-  }
 
   $variables['base_path']         = base_path();
   $variables['front_page']        = url();
@@ -2248,15 +2232,6 @@ function template_preprocess_maintenance_page(&$variables) {
     }
   }
 
-  // Setup layout variable.
-  $variables['layout'] = 'none';
-  if (!empty($variables['sidebar_first'])) {
-    $variables['layout'] = 'first';
-  }
-  if (!empty($variables['sidebar_second'])) {
-    $variables['layout'] = ($variables['layout'] == 'first') ? 'both' : 'second';
-  }
-
   $site_config = \Drupal::config('system.site');
   $site_name = $site_config->get('name');
   $site_slogan = $site_config->get('slogan');
@@ -2296,21 +2271,11 @@ function template_preprocess_maintenance_page(&$variables) {
   $variables['site_slogan']       = (theme_get_setting('features.slogan') ? filter_xss_admin($site_slogan) : '');
 
   // Compile a list of classes that are going to be applied to the body element.
-  $variables['attributes']['class'][] = 'maintenance-page';
-  $variables['attributes']['class'][] = 'in-maintenance';
+  $variables['attributes']['class'][] = 'page--maintenance';
+  $variables['attributes']['class'][] = 'page--maintenance-in-maintenance';
   if (isset($variables['db_is_active']) && !$variables['db_is_active']) {
     $variables['attributes']['class'][] = 'db-offline';
   }
-  if ($variables['layout'] == 'both') {
-    $variables['attributes']['class'][] = 'two-sidebars';
-  }
-  elseif ($variables['layout'] == 'none') {
-    $variables['attributes']['class'][] = 'no-sidebars';
-  }
-  else {
-    $variables['attributes']['class'][] = 'one-sidebar';
-    $variables['attributes']['class'][] = 'sidebar-' . $variables['layout'];
-  }
 
   $variables['head'] = drupal_get_html_head();
 
@@ -2348,7 +2313,7 @@ function template_preprocess_maintenance_page(&$variables) {
  */
 function template_preprocess_install_page(&$variables) {
   template_preprocess_maintenance_page($variables);
-  $variables['attributes']['class'][] = 'install-page';
+  $variables['attributes']['class'][] = 'page--install';
   // Override the site name that is displayed on the page, since Drupal is
   // still in the process of being installed.
   $distribution_name = String::checkPlain(drupal_install_profile_distribution_name());
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index b05fc2c..2f65e65 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -582,9 +582,9 @@ function node_is_page(NodeInterface $node) {
  * Implements hook_preprocess_HOOK() for HTML document templates.
  */
 function node_preprocess_html(&$variables) {
-  // If on an individual node page, add the node type to body classes.
+  // If on an individual node page, add the node type to body classes
   if (($node = \Drupal::request()->attributes->get('node')) && $node instanceof NodeInterface) {
-    $variables['attributes']['class'][] = drupal_html_class('node-type-' . $node->getType());
+    $variables['attributes']['class'][] = drupal_html_class('node-type--' . $node->getType());
   }
 }
 
