diff --git a/core/modules/layout/layouts/static/node-form/node-form-rtl.css b/core/modules/layout/layouts/static/node-form/node-form-rtl.css
new file mode 100644
index 0000000..73a358f
--- /dev/null
+++ b/core/modules/layout/layouts/static/node-form/node-form-rtl.css
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * RTL Layout styles for the node add/edit form.
+ */
+
+/* Narrow screens */
+.overlay .layout-region-secondary {
+       -moz-box-shadow: inset -0.15em 0.3em .5em rgba(0, 0, 0, .1);
+  -webkit-box-shadow: inset -0.15em 0.3em .5em rgba(0, 0, 0, .1);
+          box-shadow: inset -0.15em 0.3em .5em rgba(0, 0, 0, .1);
+}
+
+/* Wide screens */
+@media only screen and (min-width: 600px) {
+  .layout-region-main,
+  .layout-region-footer {
+    float: right;
+  }
+  .layout-region-secondary {
+    float: left;
+  }
+}
diff --git a/core/modules/layout/layouts/static/node-form/node-form.css b/core/modules/layout/layouts/static/node-form/node-form.css
new file mode 100644
index 0000000..8e12b79
--- /dev/null
+++ b/core/modules/layout/layouts/static/node-form/node-form.css
@@ -0,0 +1,65 @@
+/**
+ * @file
+ * Layout styles for the node add/edit form.
+ */
+
+/* Narrow screens */
+.layout-region {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+.layout-region-secondary {
+  border: 1px solid #c6c6c6;
+  background-color: #eee;
+     -moz-box-shadow: inset 0 0.1em .5em rgba(0, 0, 0, .1);
+  -webkit-box-shadow: inset 0 0.1em .5em rgba(0, 0, 0, .1);
+          box-shadow: inset 0 0.1em .5em rgba(0, 0, 0, .1);
+}
+
+.overlay .layout-region-secondary {
+       -moz-box-shadow: inset 0.15em 0.3em .5em rgba(0, 0, 0, .1); /* LTR */
+  -webkit-box-shadow: inset 0.15em 0.3em .5em rgba(0, 0, 0, .1); /* LTR */
+          box-shadow: inset 0.15em 0.3em .5em rgba(0, 0, 0, .1); /* LTR */
+}
+
+/* Wide screens */
+@media only screen and (min-width: 600px) {
+  .layout-node-form {
+    overflow: hidden;
+  }
+  .overlay .layout-node-form {
+    border-top: 1px solid #c6c6c6;
+  }
+
+  .layout-region-main,
+  .layout-region-footer {
+    float: left; /* LTR */
+    width: 65%;
+    padding-left: 2em;
+    padding-right: 2em;
+  }
+
+  .layout-region-main {
+    padding-top: .5em;
+  }
+
+  .layout-region-secondary {
+    float: right; /* LTR */
+    width: 35%;
+  }
+  /**
+   * 1. Implements the Holy Grail technique for equal-height columns
+   * 2. When animating the height of elements within this region, prevent
+   *    vertical jittering of elements further down in the document flow.
+   */
+  .overlay .layout-region-secondary {
+    border-top: 0;
+    margin-bottom: -999em; /* 1 */
+    padding-bottom: 999em; /* 1 */
+    display: table; /* 2 */
+  }
+}
+
+
diff --git a/core/modules/layout/layouts/static/node-form/node-form.tpl.php b/core/modules/layout/layouts/static/node-form/node-form.tpl.php
new file mode 100644
index 0000000..a65bcb1
--- /dev/null
+++ b/core/modules/layout/layouts/static/node-form/node-form.tpl.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * @file
+ * Custom template for the node add/edit form.
+ *
+ * Available variables:
+ * - $form: the remainder of the original $form array after preprocessing.
+ *   Should be printed using drupal_render_children($form).
+ * - $regions: array of layout regions
+ *   - $main: Contents for the main region
+ *   - $secondary: Contents for the secondary regions
+ *   - $footer: Form actions
+ */
+?>
+<div class="layout-display layout-node-form clearfix">
+  <div class="layout-region layout-region-main">
+    <?php print drupal_render_children($form); ?>
+
+    <?php if ($regions['main']): ?>
+      <?php print render($regions['main']); ?>
+    <?php endif; ?>
+  </div>
+
+  <?php if ($regions['secondary']): ?>
+    <div class="layout-region layout-region-secondary">
+      <?php print render($regions['secondary']); ?>
+    </div>
+  <?php endif; ?>
+
+  <?php if ($regions['footer']): ?>
+    <div class="layout-region layout-region-footer">
+      <?php print render($regions['footer']); ?>
+    </div>
+  <?php endif; ?>
+</div>
diff --git a/core/modules/node/lib/Drupal/node/NodeFormController.php b/core/modules/node/lib/Drupal/node/NodeFormController.php
index 6ef5315..2baad57 100644
--- a/core/modules/node/lib/Drupal/node/NodeFormController.php
+++ b/core/modules/node/lib/Drupal/node/NodeFormController.php
@@ -56,6 +56,13 @@ protected function prepareEntity(EntityInterface $node) {
    */
   public function form(array $form, array &$form_state, EntityInterface $node) {
     $user_config = config('user.settings');
+
+    // Use a custom layout for this form
+    $form['#theme'] = array('node_form');
+    $form['#attached'] = array(
+      'css' => array(drupal_get_path('module', 'layout') . '/layouts/static/node-form/node-form.css'),
+    );
+
     // Some special stuff when previewing a node.
     if (isset($form_state['node_preview'])) {
       $form['#prefix'] = $form_state['node_preview'];
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 08d7810..9876372 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -170,6 +170,11 @@ function node_theme() {
     'node_recent_content' => array(
       'variables' => array('node' => NULL),
     ),
+    'node_form' => array(
+      'render element' => 'form',
+      'path' => 'core/modules/layout/layouts/static/node-form',
+      'template' => 'node-form',
+    ),
   );
 }

@@ -1183,6 +1188,44 @@ function template_preprocess_node(&$variables) {
 }

 /**
+ * Processes variables for node-form.tpl.php
+ */
+function template_preprocess_node_form(&$vars) {
+  $form = &$vars['form'];
+
+  // Create regions expected by the layout template.
+  $vars['regions'] = array(
+    'main' => array(),
+    'secondary' => array(),
+    'footer' => array(),
+  );
+
+  // Chunk the form into separate render arrays and place them in regions.
+  // Currently this is rudimentary; array key order within regions determines
+  // render order, and the remaining $form array needs to be printed in the
+  // template using drupal_render_children($form).
+
+  // Move the settings summary fieldset into the sidebar region.
+  if (isset($form['settings_summary'])) {
+    $vars['regions']['secondary'][] = $form['settings_summary'];
+    unset($form['settings_summary']);
+  }
+
+  // Move the collapsible/additional settings into the sidebar below
+  // the settings summary.
+  if (isset($form['additional_settings'])) {
+    $vars['regions']['secondary'][] = $form['additional_settings'];
+    unset($form['additional_settings']);
+  }
+
+  // Move the form actions group into the footer region.
+  if (isset($form['actions'])) {
+    $vars['regions']['footer'] = $form['actions'];
+    unset($form['actions']);
+  }
+}
+
+/**
  * Implements hook_permission().
  */
 function node_permission() {
diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css
index 7a246e8..423415d 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/style.css
@@ -522,6 +522,10 @@ fieldset .fieldset-legend {
   padding-left: 15px; /* LTR */
   position: absolute;
   text-transform: uppercase;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 100%;
 }
 fieldset .fieldset-wrapper {
   padding: 0 18px 13px 18px;
@@ -819,12 +823,6 @@ a.button.add:active {
     margin-bottom: 2px;
     width: 100%;
   }
-  fieldset .fieldset-legend {
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    width: 100%;
-  }
   #dblog-filter-form .form-actions {
     float: none;
     padding: 0;
@@ -1016,6 +1014,11 @@ ol.task-list li.done {
 h1#overlay-title {
   font-weight: normal;
 }
+/* Node add/edit screen overrides */
+.overlay[class*="page-node-add-"] #overlay-content,
+.overlay.page-node-edit #overlay-content {
+  padding: 0;
+}

 /* Shortcut theming */
 div.add-or-remove-shortcuts {
@@ -1455,11 +1458,14 @@ fieldset.fieldset-no-legend {
  */
 [id="edit-settings-summary"],
 [id="edit-additional-settings"] {
-  background-color: #f2f2f2;
-  border: 1px solid #a5a5a5;
+  background-color: transparent;
+  border: 0;
+  margin: 0;
 }
+
+/* Settings summary area */
 [id="edit-settings-summary"] {
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .1);
+  box-shadow: 0 1px 0 white;
   margin-bottom: 0;
   overflow: hidden;
   padding: 0;
@@ -1501,6 +1507,7 @@ fieldset.fieldset-no-legend {
   margin-top: .5em;
 }

+/* Collapsible settings */
 [id="edit-additional-settings"] {
   border-bottom: 0;
   border-top: 0;
@@ -1512,13 +1519,13 @@ fieldset.fieldset-no-legend {
 }
 [id="edit-additional-settings"] .collapsible {
   background-color: #e2e2e2;
-  border-bottom: 1px solid #959595;
+  border-top: 1px solid #a5a5a5;
   border-left: 0;
   border-right: 0;
-  border-top: 0;
-  -moz-box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
-  -webkit-box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
-  box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
+  border-bottom: 0;
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
   margin: 0;
   padding-top: 3.25em;
   -moz-transition: background-color .1s;
@@ -1527,6 +1534,19 @@ fieldset.fieldset-no-legend {
   -webkit-transition: background-color .1s;
   transition: background-color .1s;
 }
+#edit-additional-settings .form-autocomplete,
+#edit-additional-settings .form-text,
+#edit-additional-settings .form-tel,
+#edit-additional-settings .form-email,
+#edit-additional-settings .form-url,
+#edit-additional-settings .form-search,
+#edit-additional-settings .form-number,
+#edit-additional-settings .form-color,
+#edit-additional-settings textarea {
+  box-sizing: border-box;
+  width: 100%;
+  max-width: 100%;
+}
 [id="edit-additional-settings"] .collapsible .summary {
   display: none;
 }
@@ -1541,14 +1561,14 @@ fieldset.fieldset-no-legend {
   -webkit-box-shadow: inset 0 3px 3px rgba(0, 0, 0, .14);
   box-shadow: inset 0 3px 3px rgba(0, 0, 0, .14);
 }
+
 /* Override all expanded variants (!really) */
 [id="edit-additional-settings"] .collapsed {
   background-color: transparent !important;
   background-image: none !important;
-  border-bottom: 1px solid #a5a5a5 !important;
-  -moz-box-shadow: inset 0 1px 0px white !important;
-  -webkit-box-shadow: inset 0 1px 0px white !important;
-  box-shadow: inset 0 1px 0px white !important;
+  -moz-box-shadow: inset 0 1px 0 white !important;
+  -webkit-box-shadow: inset 0 1px 0 white !important;
+  box-shadow: inset 0 1px 0 white !important;
 }
 [id="edit-additional-settings"] .collapsible a {
   color: #005E99;
@@ -1556,3 +1576,26 @@ fieldset.fieldset-no-legend {
 [id="edit-additional-settings"] .collapsed a {
   color: #0074BD;
 }
+/* Widescreen layout for node add/edit screen */
+@media screen and (min-width: 600px) {
+  .overlay #page {
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+  }
+  .overlay [id="edit-additional-settings"] .collapsible {
+    border-bottom: 1px solid #a5a5a5;
+    margin-top: -1px;
+  }
+  .overlay [id="edit-additional-settings"] .collapsible:first-child,
+  .overlay [id="edit-additional-settings"] .collapsed + .collapsible {
+    -moz-box-shadow: inset 0 3px 3px rgba(0, 0, 0, .14), 0 1px 0 white;
+    -webkit-box-shadow: inset 0 3px 3px rgba(0, 0, 0, .14), 0 1px 0 white;
+    box-shadow: inset 0 3px 3px rgba(0, 0, 0, .14), 0 1px 0 white;
+  }
+  .overlay [id="edit-additional-settings"] .collapsed {
+    border-bottom: 1px solid #a5a5a5 !important;
+    -moz-box-shadow: 0 1px 0 white !important;
+    -webkit-box-shadow: 0 1px 0 white !important;
+    box-shadow: 0 1px 0 white !important;
+  }
+}
