diff --git a/core/misc/tableheader.js b/core/misc/tableheader.js
index 0d4f7cd..3ae33c2 100644
--- a/core/misc/tableheader.js
+++ b/core/misc/tableheader.js
@@ -130,6 +130,7 @@ $.extend(TableHeader, {
 
   /**
    * Sum all [data-offset-top] values and cache it.
+   * @todo move this out of tableheader.js into a move generic place like drupal.js.
    */
   computeOffsetTop: function () {
     var $offsets = $('[data-offset-top]');
diff --git a/core/modules/shortcut/shortcut.base.css b/core/modules/shortcut/shortcut.base.css
index 90a1046..5af1151 100644
--- a/core/modules/shortcut/shortcut.base.css
+++ b/core/modules/shortcut/shortcut.base.css
@@ -5,19 +5,6 @@
  */
 
 /**
- * Toolbar.
- */
-#edit-shortcuts {
-  float: right; /* LTR */
-}
-#shortcut-toolbar ul {
-  float: left; /* LTR */
-}
-#shortcut-toolbar .icon {
-  float: left; /* LTR */
-}
-
-/**
  * Add/remove links.
  */
 .add-or-remove-shortcuts .icon {
diff --git a/core/modules/shortcut/shortcut.module b/core/modules/shortcut/shortcut.module
index 9bbb12a..840a68b 100644
--- a/core/modules/shortcut/shortcut.module
+++ b/core/modules/shortcut/shortcut.module
@@ -716,10 +716,10 @@ function shortcut_preprocess_page(&$variables) {
  * Implements hook_page_alter().
  */
 function shortcut_page_alter(&$page) {
-  if (isset($page['page_top']['toolbar'])) {
+  if (isset($page['page_bottom']['toolbar'])) {
     // If the toolbar is available, add a pre-render function to display the
     // current shortcuts in the toolbar drawer.
-    $page['page_top']['toolbar']['#pre_render'][] = 'shortcut_toolbar_pre_render';
+    $page['page_bottom']['toolbar']['#pre_render'][] = 'shortcut_toolbar_pre_render';
   }
 }
 
@@ -734,8 +734,6 @@ function shortcut_toolbar_pre_render($toolbar) {
       drupal_get_path('module', 'shortcut') . '/shortcut.theme.css',
     ),
   );
-  $links['#prefix'] = '<div id="shortcut-toolbar">';
-  $links['#suffix'] = '</div>';
   $shortcut_set = shortcut_current_displayed_set();
   $configure_link = NULL;
   if (shortcut_set_edit_access($shortcut_set)) {
@@ -752,7 +750,7 @@ function shortcut_toolbar_pre_render($toolbar) {
     'configure' => $configure_link,
   );
 
-  $toolbar['toolbar_drawer'][] = $drawer;
+  $toolbar['toolbar_shortcuts'][] = $drawer;
   return $toolbar;
 }
 
diff --git a/core/modules/shortcut/shortcut.theme.css b/core/modules/shortcut/shortcut.theme.css
index 9e2dc69..930f466 100644
--- a/core/modules/shortcut/shortcut.theme.css
+++ b/core/modules/shortcut/shortcut.theme.css
@@ -5,45 +5,6 @@
  */
 
 /**
- * Toolbar.
- */
-.toolbar #edit-shortcuts {
-  line-height: 24px;
-  padding: 5px 10px;
-}
-#edit-shortcuts:focus,
-#edit-shortcuts:hover,
-#edit-shortcuts.active {
-  text-decoration: underline;
-}
-#shortcut-toolbar ul {
-  line-height: 24px;
-  margin-left: 5px; /* LTR */
-  padding: 5px 0;
-}
-#shortcut-toolbar a {
-  border-radius: 5px;
-  margin-right: 5px; /* LTR */
-  padding: 0 5px;
-}
-#shortcut-toolbar a:focus,
-#shortcut-toolbar a:hover,
-#shortcut-toolbar a.active:focus {
-  background: #555;
-}
-#shortcut-toolbar a.active:hover,
-#shortcut-toolbar a.active {
-  background-color: #000;
-}
-#shortcut-toolbar .icon {
-  background-color: #444;
-  border-radius: 5px;
-  height: 30px;
-  margin-right: 5px; /* LTR */
-  width: 30px;
-}
-
-/**
  * Add/remove links.
  */
 .add-or-remove-shortcuts .icon {
@@ -65,15 +26,3 @@
 .remove-shortcut a:hover .icon {
   background-position: -12px -12px; /* LTR */
 }
-.add-or-remove-shortcuts .text {
-  padding: 0 6px 0 10px; /* LTR */
-}
-.add-or-remove-shortcuts a:focus .text,
-.add-or-remove-shortcuts a:hover .text {
-  background-color: #5f605b;
-  border-radius: 0 5px 5px 0; /* LTR */
-  color: #fff;
-  cursor: pointer;
-  font-size: 10px;
-  line-height: 12px;
-}
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index bb3f2b4..6702d40 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -1860,7 +1860,6 @@ function system_library_info() {
       array('system', 'jquery'),
     ),
   );
-
   $libraries['drupal.tableselect'] = array(
     'title' => 'Tableselect',
     'version' => VERSION,
diff --git a/core/modules/toolbar/config/toolbar.settings.yml b/core/modules/toolbar/config/toolbar.settings.yml
new file mode 100644
index 0000000..d0047f7
--- /dev/null
+++ b/core/modules/toolbar/config/toolbar.settings.yml
@@ -0,0 +1 @@
+depth: 9
diff --git a/core/modules/toolbar/css/toolbar.base-rtl.css b/core/modules/toolbar/css/toolbar.base-rtl.css
new file mode 100644
index 0000000..253b758
--- /dev/null
+++ b/core/modules/toolbar/css/toolbar.base-rtl.css
@@ -0,0 +1,26 @@
+
+#toolbar,
+#toolbar * {
+  text-align: right;
+}
+#toolbar ul li {
+  float: right;
+}
+#toolbar ul li a {
+  display: inline-block;
+  float: none;
+  zoom: 1;
+}
+#toolbar-user {
+  float: left;
+}
+#toolbar #toolbar-user li {
+  float: none;
+  display: inline;
+}
+#toolbar-menu {
+  float: none;
+}
+#toolbar-home {
+  float: right;
+}
diff --git a/core/modules/toolbar/css/toolbar.base.css b/core/modules/toolbar/css/toolbar.base.css
new file mode 100644
index 0000000..8791997
--- /dev/null
+++ b/core/modules/toolbar/css/toolbar.base.css
@@ -0,0 +1,258 @@
+/**
+ * @file toolbar.admin.css
+ *
+ *
+ * Aggressive resets so we can achieve a consistent look in hostile CSS
+ * environments.
+ */
+body.toolbar {
+  -moz-box-sizing: border-box;
+  -o-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 100%;
+}
+#toolbar,
+#toolbar * {
+  -moz-box-sizing: border-box;
+  -o-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  list-style: none;
+  margin: 0;
+  outline: 0;
+  padding: 0;
+  -moz-tap-highlight-color: rgba(0,0,0,0);
+  -o-tap-highlight-color: rgba(0,0,0,0);
+  -webkit-tap-highlight-color: rgba(0,0,0,0);
+  tap-highlight-color: rgba(0,0,0,0);
+  text-align: left; /* LTR */
+  -moz-text-size-adjust: none;
+  -o-text-size-adjust: none;
+  -webkit-text-size-adjust: none;
+  text-size-adjust: none;
+  -moz-touch-callout: none;
+  -o-touch-callout: none;
+  -webkit-touch-callout: none;
+  touch-callout: none;
+  -moz-user-select: none;
+  -o-user-select: none;
+  -webkit-user-select: none;
+  user-select: none;
+  vertical-align: baseline;
+}
+#toolbar {
+  font-size: 100%;
+  font-size: 1rem;
+  line-height: 1;
+}
+
+/**
+ * Administration menu.
+ */
+#toolbar .toolbar-bar {
+  left: 0;
+  position: fixed;
+  right: 0;
+  top: 0;
+  z-index: 600;
+}
+@media screen and (max-width:28.124em) {
+  #toolbar .toolbar-bar {
+    position: absolute;
+  }
+}
+@media screen and (min-width:16.5em) {
+  #toolbar-actions {
+  float: left; /* LTR */
+  }
+  #toolbar-user {
+    float: right; /* LTR */
+  }
+  #toolbar .toolbar-bar .section {
+    min-height: 2.875em;
+  }
+  #toolbar .toolbar-bar .section.first,
+  #toolbar .toolbar-bar .section.second {
+    min-width: 6.6667em;
+  }
+  #toolbar .toolbar-bar .section.first {
+    float: left; /* LTR */
+  }
+  #toolbar .toolbar-bar .section.second {
+    float: right; /* LTR */
+  }
+  #toolbar .toolbar-bar .section.actions {
+    overflow: hidden;
+  }
+  #toolbar .toolbar-bar .menu li {
+    display: block;
+    float: left; /* LTR */
+  }
+  #toolbar .toolbar-bar .menu a {
+    display: inline-block;
+  }
+}
+/**
+ * Toolbar tray.
+ */
+#toolbar .toolbar-tray.positioned {
+  bottom: 0;
+  left: -320px;
+  left: -20rem;
+  max-width: 92%;
+  overflow-y: auto;
+  position: fixed;
+  width: 320px;
+  width: 20rem;
+  z-index: 600;
+}
+#toolbar .toolbar-tray.positioned > .slider {
+  left: -100%; /* LTR */
+  overflow:hidden;
+  position: absolute;
+  -moz-transition: left, 0.2s ease-out;
+  -o-transition: left, 0.2s ease-out;
+  -webkit-transition: left, 0.2s ease-out;
+  transition: left, 0.2s ease-out;
+  width: 100%;
+}
+#toolbar .toolbar-tray.positioned.active,
+#toolbar .toolbar-tray.positioned.active > .slider {
+  left: 0; /* LTR */
+}
+/**
+ * At larger screen sizes, the tray pushes the page content
+ * using padding instead of left.
+ */
+@media screen and (max-width:28.124em) {
+  body.menu-tray-open {
+    overflow: hidden;
+  }
+  #toolbar .toolbar-tray.positioned {
+    position: absolute;
+  }
+}
+/**
+ * At larger screen sizes, the tray pushes the page content
+ * using padding instead of left.
+ */
+@media screen and (min-width:28.125em) {
+  body.menu-tray-open {
+    padding-left: 320px;
+    padding-left: 20rem;
+  }
+}
+#toolbar .toolbar-tray .toolbar-menu li a {
+  display: block;
+}
+/* This style seems to belong neither in toolbar nor in shortcut. */
+#toolbar .toolbar-tray #shortcut-toolbar + a {
+  margin-top: 0.3333em;
+}
+/**
+ * Fleximenu accordion.
+ */
+
+#toolbar .fleximenu {
+  position: relative;
+  overflow: hidden;
+}
+#toolbar ul {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+#toolbar .fleximenu li {
+  display: block;
+}
+#toolbar .box {
+  position: relative;
+}
+#toolbar .dormant {
+	display: none;
+}
+#toolbar .trail > ul { /* Show the sub-menus */
+  display: block;
+}
+#toolbar .active > ul {
+  z-index: 51; /* Pull the active trail li's above the other li's */
+}
+#toolbar .fleximenu .box {
+  display: block;
+  line-height: 1em; /* this prevents the value "normal" from being returned as the line-height */
+  width: auto;
+}
+#toolbar .fleximenu a {
+  display: block;
+  line-height: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+#toolbar .handle {
+  bottom: 0;
+  display: block;
+  height: 1.5em;
+  position: absolute;
+  right: 22px;
+  top: 0.2em;
+  -moz-transform: rotate(0deg);
+  -moz-transition: -moz-transform 0.1s ease-in;
+  -webkit-transform: rotate(0deg);
+  -webkit-transition: -webkit-transform 0.1s ease-in;
+  -o-transform: rotate(0deg);
+  -o-transition: -o-transform 0.1s ease-in;
+  transform: rotate(0deg);
+  transition: transform 0.1s ease-in;
+  width: 1.2em;
+  z-index: 1;
+}
+#toolbar .handle::after,
+#toolbar .handle::before {
+  background-color: #999;
+  border-radius: 0px;
+  content: " ";
+  display: block;
+  height: 1em;
+  left: 50%;
+  position: absolute;
+  width: 2px;
+}
+#toolbar .handle::before {
+  -moz-transform: rotate(-135deg);
+  -o-transform: rotate(-135deg);
+  -webkit-transform: rotate(-135deg);
+  transform: rotate(-135deg);
+  top: 0.6em;
+}
+#toolbar .handle::after {
+  -moz-transform: rotate(135deg);
+  -o-transform: rotate(135deg);
+  -webkit-transform: rotate(135deg);
+  transform: rotate(135deg);
+  top: 0;
+}
+#toolbar .toolbar-tray .level-1 > li > .box .handle {
+  top: 0.7em;
+}
+#toolbar .toolbar-tray .level-1 > li.open > .box .handle {
+  top: 0.6em;
+}
+#toolbar .handle.open {
+  -moz-transform: rotate(90deg);
+  -o-transform: rotate(90deg);
+  -webkit-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+#toolbar .handle + * {
+  margin-right: 60px;
+}
+#toolbar .handle:hover {
+  cursor: pointer;
+}
+/* Shortcuts */
+#toolbar #edit-shortcuts {
+  clear: left;
+  display: block;
+}
diff --git a/core/modules/toolbar/css/toolbar.theme-rtl.css b/core/modules/toolbar/css/toolbar.theme-rtl.css
new file mode 100644
index 0000000..5017ad0
--- /dev/null
+++ b/core/modules/toolbar/css/toolbar.theme-rtl.css
@@ -0,0 +1,7 @@
+#toolbar .toolbar-bar .menu li + li {
+  margin-left: auto;
+  margin-right: 1em;
+}
+#toolbar .toolbar-shortcuts .menu li {
+  float: right;
+}
diff --git a/core/modules/toolbar/css/toolbar.theme.css b/core/modules/toolbar/css/toolbar.theme.css
new file mode 100644
index 0000000..ae63a3a
--- /dev/null
+++ b/core/modules/toolbar/css/toolbar.theme.css
@@ -0,0 +1,362 @@
+/**
+ * @file toolbar.theme.css
+ *
+ *
+ * We use a keyword for the toolbar font size to make it display consistently
+ * across different themes, while still allowing browsers to resize the text.
+ */
+#toolbar {
+  font-family: "Lucida Grande", Verdana, sans-serif;
+  /* Drupal themes set font size to 13px. This sets it to 14px. */
+  font-size: 1.0769em;
+  /* Set base font size to 14px based on root ems. */
+  font-size: 0.875rem;
+}
+#toolbar a {
+  text-decoration: none;
+}
+#toolbar a:hover {
+  text-decoration: underline;
+}
+/**
+ * Toolbar bar.
+ */
+#toolbar .toolbar-bar {
+  background-color: #383838;
+  color: #dddddd;
+}
+#toolbar .toolbar-bar a {
+  color: #ffffff;
+}
+#toolbar .toolbar-bar .home-link {
+  background-position: 9px -19px;
+}
+#toolbar .toolbar-bar .toggle-tray {
+  background-position: -13px -19px;
+  -moz-transition: background-color, 0.2s ease-in;
+  -o-transition: background-color, 0.2s ease-in;
+  -webkit-transition: background-color, 0.2s ease-in;
+  transition: background-color, 0.2s ease-in;
+}
+#toolbar .toolbar-bar .toggle-tray.active {
+  background-color: white;
+  color: black;
+}
+#toolbar .toolbar-bar .tab {
+  background-attachment: scroll;
+  background-color: transparent;
+  background-repeat: no-repeat;
+  cursor: pointer;
+  display: block;
+  padding: 0.3333em 0.1667em;
+}
+#toolbar .toolbar-bar .menu li:hover {
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0.2), rgba(135, 135, 135, 0.1));
+  background-image: -o-linear-gradient(rgba(135, 135, 135, 0.2), rgba(135, 135, 135, 0.1));
+  background-image: -webkit-linear-gradient(rgba(135, 135, 135, 0.2), rgba(135, 135, 135, 0.1));
+  background-image: linear-gradient(rgba(135, 135, 135, 0.2), rgba(135, 135, 135, 0.1));
+}
+@media screen and (min-width:16.5em) {
+  #toolbar .toolbar-bar .section.actions {
+    padding-bottom: 0.5em;
+    padding-top: 0.5em;
+  }
+}
+/**
+ * Toolbar tray.
+ */
+#toolbar .toolbar-tray {
+  background-color: white;
+  border-right: 1px solid #aaaaaa;
+  -moz-box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.4);
+  -o-box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.4);
+  -webkit-box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.4);
+  box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.4);
+}
+#toolbar .toolbar-tray a {
+  color: #333333;
+}
+#toolbar .toolbar-tray .lining {
+  padding-bottom: 1em;
+  padding-top: 1em;
+}
+#toolbar .toolbar-tray .lining > * + * {
+  margin-top: 1em;
+}
+#toolbar .toolbar-tray .toolbar-menu {
+  border-bottom-color: #dddddd;
+  border-bottom-style: solid;
+  border-bottom-width: 1px;
+}
+#toolbar .toolbar-tray li {
+  border-top-color: transparent;
+  border-top-style: solid;
+  border-top-width: 1px;
+}
+#toolbar .toolbar-tray li.open > .box {
+  border-bottom-color: transparent;
+  border-bottom-style: solid;
+  border-bottom-width: 1px;
+}
+#toolbar .toolbar-menu li a {
+  padding: 1em 0;
+  text-indent: 3px;
+}
+#toolbar .toolbar-tray .level-1 > li {
+  border-top-color: #dddddd;
+}
+#toolbar .toolbar-tray .level-1 > li.open > .box {
+  border-bottom-color: #dddddd;
+}
+#toolbar .toolbar-tray .level-1 a {
+  color: black;
+  padding: 1em 0;
+  font-weight: bold;
+}
+#toolbar .toolbar-tray .level-1 .menu {
+  margin-left: 5px;
+}
+#toolbar .toolbar-tray .level-2 {
+  background-color: #f5f5f5;
+}
+#toolbar .toolbar-tray .level-2 a {
+  color: #333333;
+  padding: 0.5em 0;
+  font-weight: normal;
+  text-indent: 2.6429em;
+}
+#toolbar .toolbar-tray .level-2 > li + li {
+  border-top-color: #cccccc;
+}
+#toolbar .toolbar-tray .level-2 > li.open > .box {
+  border-bottom-color: #cccccc;
+}
+#toolbar .toolbar-tray .level-3 {
+  background-color: #e5e5e5;
+}
+#toolbar .toolbar-tray .level-3 > li + li {
+  border-top-color: #bbbbbb;
+}
+#toolbar .toolbar-tray .level-3 > li.open > .box {
+  border-bottom-color: #bbbbbb;
+}
+#toolbar .toolbar-tray .level-3 a {
+  color: #303030;
+  text-indent: 2.2857em;
+}
+#toolbar .toolbar-tray .level-4 {
+  background-color: #d5d5d5;
+}
+#toolbar .toolbar-tray .level-4 > li + li {
+  border-top-color: #aaaaaa;
+}
+#toolbar .toolbar-tray .level-4 > li.open > .box {
+  border-bottom-color: #aaaaaa;
+}
+#toolbar .toolbar-tray .level-4 a {
+  color: #2d2d2d;
+}
+#toolbar .toolbar-tray .level-5 {
+  background-color: #c5c5c5;
+}
+#toolbar .toolbar-tray .level-5 > li + li {
+  border-top-color: #999999;
+}
+#toolbar .toolbar-tray .level-5 > li.open > .box {
+  border-bottom-color: #999999;
+}
+#toolbar .toolbar-tray .level-5 a {
+  color: #2a2a2a;
+}
+#toolbar .toolbar-tray .level-6 {
+  background-color: #b5b5b5;
+}
+#toolbar .toolbar-tray .level-6 > li + li {
+  border-top-color: #888888;
+}
+#toolbar .toolbar-tray .level-6 > li.open > .box {
+  border-bottom-color: #888888;
+}
+#toolbar .toolbar-tray .level-6 a {
+  color: #272727;
+}
+#toolbar .toolbar-tray .level-7 {
+  background-color: #a5a5a5;
+}
+#toolbar .toolbar-tray .level-7 > li + li {
+  border-top-color: #777777;
+}
+#toolbar .toolbar-tray .level-7 > li.open > .box {
+  border-bottom-color: #777777;
+}
+#toolbar .toolbar-tray .level-7 a {
+  color: #242424;
+}
+#toolbar .toolbar-tray .level-8 {
+  background-color: #959595;
+}
+#toolbar .toolbar-tray .level-8 > li + li {
+  border-top-color: #666666;
+}
+#toolbar .toolbar-tray .level-8 > li.open > .box {
+  border-bottom-color: #666666;
+}
+#toolbar .toolbar-tray .level-8 a {
+  color: #212121;
+}
+#toolbar .toolbar-tray .level-9 {
+  background-color: #858585;
+}
+#toolbar .toolbar-tray .level-9 > li + li  {
+  border-top-color: #555555;
+}
+#toolbar .toolbar-tray .level-9 a {
+  color: #1e1e1e;
+}
+#toolbar .toolbar-tray .form-type-search {
+  padding-left: 0.75em;
+  padding-right: 0.75em;
+}
+#toolbar .toolbar-tray .filter {
+  width: 100%;
+}
+@media screen and (min-width:16.5em) and (max-width:34em) {
+  #toolbar .toolbar-bar .tab {
+    text-indent: -9999px;
+  }
+}
+#toolbar .toolbar-tray .level-1 > li > .box > a,
+#toolbar .toolbar-bar .tab {
+  background-attachment: scroll;
+  background-position: 0.4545em center;
+  background-repeat: no-repeat;
+  background-size: 2em;
+}
+#toolbar #toolbar-link-admin-content {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiMwMTAxMDEiIGQ9Ik02NC4wNjcsMGwyNi45NjgsMjcuNjMxVjEwMEg4Ljk2NVYwSDY0LjA2N3ogTTIwLjgwOSw4OC4xNTZoNTguMzl2LTU2LjU4SDU3Ljk3OVYxMS44NDFoLTM3LjE3Vjg4LjE1NnoNCgkgTTI4Ljg2Nyw0OS41MDRoNDEuNzc3di00LjYwNUgyOC44NjdWNDkuNTA0eiBNMjguODY3LDYyLjY2NWg0MS43NzdWNTguMDZIMjguODY3VjYyLjY2NXogTTI4Ljg2Nyw3NS44MThoNDEuNzc3di00LjYwNUgyOC44NjcNCglWNzUuODE4eiIvPg0KPC9zdmc+DQo=);
+}
+#toolbar #toolbar-link-admin-structure {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iODguMDAxLDY0LjA0NSA4OC4wMDEsNTEuOTk4IDg4LjAwMSw0OC4wMDIgODQuMDAxLDQ4LjAwMiA1MS45OTcsNDguMDAyIDUxLjk5NywzNS45NTMgNjQuMDAzLDM1Ljk1MyA2NC4wMDMsMTUuOTEgDQoJMzYsMTUuOTEgMzYsMzUuOTUzIDQ4LjAwMSwzNS45NTMgNDguMDAxLDQ4LjAwMiAxNS45OTgsNDguMDAyIDEyLjAwMyw0OC4wMDIgMTIuMDAzLDUxLjk5OCAxMi4wMDMsNjQuMDQ1IDAsNjQuMDQ1IDAsODQuMDkyIA0KCTI4LDg0LjA5MiAyOCw2NC4wNDUgMTUuOTk4LDY0LjA0NSAxNS45OTgsNTEuOTk4IDQ4LjAwMSw1MS45OTggNDguMDAxLDY0LjA0NSAzNiw2NC4wNDUgMzYsODQuMDkyIDY0LjAwMyw4NC4wOTIgNjQuMDAzLDY0LjA0NSANCgk1MS45OTcsNjQuMDQ1IDUxLjk5Nyw1MS45OTggODQuMDAxLDUxLjk5OCA4NC4wMDEsNjQuMDQ1IDcyLjAwMiw2NC4wNDUgNzIuMDAyLDg0LjA5MiAxMDAsODQuMDkyIDEwMCw2NC4wNDUgIi8+DQo8L3N2Zz4NCg==);
+}
+#toolbar #toolbar-link-admin-structure {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iODguMDAxLDY0LjA0NSA4OC4wMDEsNTEuOTk4IDg4LjAwMSw0OC4wMDIgODQuMDAxLDQ4LjAwMiA1MS45OTcsNDguMDAyIDUxLjk5NywzNS45NTMgNjQuMDAzLDM1Ljk1MyA2NC4wMDMsMTUuOTEgDQoJMzYsMTUuOTEgMzYsMzUuOTUzIDQ4LjAwMSwzNS45NTMgNDguMDAxLDQ4LjAwMiAxNS45OTgsNDguMDAyIDEyLjAwMyw0OC4wMDIgMTIuMDAzLDUxLjk5OCAxMi4wMDMsNjQuMDQ1IDAsNjQuMDQ1IDAsODQuMDkyIA0KCTI4LDg0LjA5MiAyOCw2NC4wNDUgMTUuOTk4LDY0LjA0NSAxNS45OTgsNTEuOTk4IDQ4LjAwMSw1MS45OTggNDguMDAxLDY0LjA0NSAzNiw2NC4wNDUgMzYsODQuMDkyIDY0LjAwMyw4NC4wOTIgNjQuMDAzLDY0LjA0NSANCgk1MS45OTcsNjQuMDQ1IDUxLjk5Nyw1MS45OTggODQuMDAxLDUxLjk5OCA4NC4wMDEsNjQuMDQ1IDcyLjAwMiw2NC4wNDUgNzIuMDAyLDg0LjA5MiAxMDAsODQuMDkyIDEwMCw2NC4wNDUgIi8+DQo8L3N2Zz4NCg==);
+}
+#toolbar #toolbar-link-admin-appearance {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTMuNDgyLDUzLjAxNUw0MC44NzUsNjYuMTY4TDMwLjA2Miw1NC44NjRsMjEuNzI2LTI5Ljg5OWwxNC4yNjksMTQuODk4DQoJTDUzLjQ4Miw1My4wMTV6IE01OC4xNzEsMjUuNDQ4YzAsMC0xNC42NzUtMjAuNjI1LTE2LjI0LTIzLjM4N2MtMS41NjUtMi43NjMtNy4yMDEtMy4yMjktMTAuODAzLDEuNjIyDQoJQzI5LjQxMyw1Ljk5NCwzLjk3OSwzMS43NzMsMi43NjQsMzMuMjIxYy0xLjIxMywxLjQ0Ny0xLjk1Miw0Ljc3NiwwLjI5Niw2LjQ3NUM1LjMwOCw0MS4zOTgsMjcuMDksNTcuOTIyLDI3LjA5LDU3LjkyMg0KCWwxMC44NTUsMTEuMzUzbC0xLjQ4NiwxLjUyNmM0LjYzNiw0Ljg2NSw1LjQwNiw1LjY3Niw2LjkzNyw1LjcyNWM0Ljk1OCwwLjA5MiwxNC45MS05LjkxMiwxOC4wMTYtNS44OTYNCgljNi4yMiw4LjAxNCwyMi41MjIsMjYuNjE4LDIyLjUyMiwyNi42MThjMy4zNzUsMy41NTIsOC44MzIsMy42OTIsMTIuMDc5LDAuMjY5YzMuMjc4LTMuNDI0LDMuMTQ5LTkuMTAxLTAuMjc0LTEyLjY1Mw0KCWMwLDAtMTcuNzQzLTE3LjAzNS0yNS40NTItMjMuNTZjLTMuODI3LTMuMTk4LDUuNzYyLTEzLjYwMiw1LjYzNC0xOC44MjhjLTAuMDQ5LTEuNTc5LTAuODEyLTIuMzg4LTUuNDU3LTcuMjU0bC0xLjQ3NywxLjU4DQoJTDU4LjE3MSwyNS40NDh6Ii8+DQo8L3N2Zz4NCg==);
+}
+#toolbar #toolbar-link-admin-people {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTguMjcxLDIwLjYzNWMwLDcuNjQsNi4yMzEsMTMuODE4LDEzLjg2NywxMy44MTgNCglDMzkuODE2LDM0LjQ1Myw0NiwyOC4yNzUsNDYsMjAuNjM1YzAtNy42MzgtNi4xODMtMTMuODE4LTEzLjg2Mi0xMy44MThDMjQuNTAyLDYuODE3LDE4LjI3MSwxMi45OTcsMTguMjcxLDIwLjYzNXogTTUzLjM2NCw0MC43NzUNCgljLTQuNzI5LTEuNjQyLTExLjUwMS0yLjU5Mi0yMS4yMjctMi41OTJDMC43NzIsMzguMTgzLDAsNDcuMzE3LDAsNjAuODE2aDQ5LjMxOWMwLDAtMi4zMjUtNC43Ni0wLjg5My0xMC44NjgNCglDNDkuOTcsNDMuMzY5LDUzLjM2NCw0MC43NzUsNTMuMzY0LDQwLjc3NXogTTUzLjk5OSw1M2MwLDcuNjMzLDYuMTgzLDEzLjgxNiwxMy44NjEsMTMuODE2YzcuNjM1LDAsMTMuODY3LTYuMTgzLDEzLjg2Ny0xMy44MTYNCgljMC03LjU5MS02LjIzMS0xMy44MTgtMTMuODY3LTEzLjgxOEM2MC4xODIsMzkuMTgyLDUzLjk5OSw0NS40MDksNTMuOTk5LDUzeiBNMTAwLDkzLjE4M2MwLTEzLTAuNzI2LTIyLjU5NS0zMi4xNC0yMi41OTUNCgljLTMxLjQwOSwwLTMyLjEzNyw5LjEzNy0zMi4xMzcsMjIuNTk1SDEwMHoiLz4NCjwvc3ZnPg0K);
+}
+#toolbar #toolbar-link-admin-modules {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xMDAsOTEuMzM2TDc5LjM4OSw3MC43MjVsMTEuNzQzLTExLjc0MmMzLjEyNS0zLjEyNSwzLjEyNS04LjE5MS0wLjAwMS0xMS4zMTRsLTMwLjkwNy0zMC45MWwtNi42ODcsNi42ODdMMzAuMDkyLDANCglsLTYuMjU5LDYuMjZsMjMuNDQ1LDIzLjQ0NEwyOS43MDQsNDcuMjc4TDYuMjU5LDIzLjgzM0wwLDMwLjA5M2wyMy40NDUsMjMuNDQzbC02LjY4Nyw2LjY4N2wzMC45MTEsMzAuOTENCgljMy4xMjEsMy4xMjMsOC4xODgsMy4xMjMsMTEuMzEyLDBMNzAuNzI1LDc5LjM5TDkxLjMzNiwxMDBMMTAwLDkxLjMzNnoiLz4NCjwvc3ZnPg0K);
+}
+#toolbar #toolbar-link-admin-config {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS4wOTcsNTMuMDAyYzkuNDk5LDkuNSwyMy41NDEsMTEuNTQ0LDM1LjA0Miw2LjIyNmwzNy42MzQsMzcuNjM3DQoJYzQuMTgxLDQuMTgxLDEwLjk1Myw0LjE4MSwxNS4wOTEsMGM0LjE4MS00LjEzOCw0LjE4MS0xMC45MSwwLTE1LjA5MUw1OS4yMjcsNDQuMTM5YzUuMzE5LTExLjUsMy4yNzQtMjUuNTQzLTYuMjIzLTM1LjA0Mg0KCUM0NC41OTcsMC42OTEsMzIuNTUtMS45MDEsMjEuOTYsMS4zN2wyMy40OTcsMjMuNTAybC00LjQxMiwxNi4wODRsLTE2LjE3NCw0LjUwMUwxLjM3LDIxLjk2DQoJQy0xLjkwMSwzMi41NSwwLjY5MSw0NC41OTcsOS4wOTcsNTMuMDAyeiIvPg0KPC9zdmc+DQo=);
+}
+#toolbar #toolbar-link-admin-reports {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zNy4yMDYsMTguNzI2VjBMMTIuNDk4LDI0LjcwOGgxOC43MjZDMzQuNTI5LDI0LjcwOCwzNy4yMDYsMjIuMDMyLDM3LjIwNiwxOC43MjZ6Ii8+DQoJPHBhdGggZD0iTTI3Ljk0Nyw1MC40OTJoNy40NjljMC44NDMsMCwxLjUyNS0wLjY4NSwxLjUyNS0xLjUyNXYtNy40NjZjMC0wLjg0MS0wLjY4Mi0xLjUzMi0xLjUyNS0xLjUzMmgtNy40NjkNCgkJYy0wLjgzOCwwLTEuNTIsMC42OTEtMS41MiwxLjUzMnY3LjQ2NkMyNi40MjgsNDkuODA4LDI3LjEwOSw1MC40OTIsMjcuOTQ3LDUwLjQ5MnoiLz4NCgk8cGF0aCBkPSJNODEuNDk2LDBINDMuNTM5djIyLjI3NGMwLDQuODQtMy45MjQsOC43NjYtOC43NjMsOC43NjZIMTIuNDk4djYyLjk2MmMwLDMuMzEsMi42ODgsNS45OTgsNiw1Ljk5OGg2Mi45OTkNCgkJYzMuMzE4LDAsNi4wMDctMi42ODgsNi4wMDctNS45OThWNS45OTdDODcuNTAzLDIuNjg5LDg0LjgxNCwwLDgxLjQ5NiwweiBNMjMuODA1LDM5LjY0YzAtMS4yNiwxLjAyMy0yLjI4OCwyLjI4OC0yLjI4OGgxMS4xODMNCgkJYzEuMjYsMCwyLjI4NywxLjAyOCwyLjI4NywyLjI4OHYxMS4xODFjMCwxLjI2NS0xLjAyNywyLjI4Ny0yLjI4NywyLjI4N0gyNi4wOTNjLTEuMjY1LDAtMi4yODgtMS4wMjItMi4yODgtMi4yODdWMzkuNjR6DQoJCSBNNzYuMTk0LDgxLjM5N2MwLDEuODI2LTEuNDc5LDMuMzA1LTMuMzAyLDMuMzA1SDI3LjEwOWMtMS44MjcsMC0zLjMwNS0xLjQ3OS0zLjMwNS0zLjMwNXYtMS4xMDZjMC0xLjgyLDEuNDc4LTMuMzAyLDMuMzA1LTMuMzAyDQoJCWg0NS43ODNjMS44MjMsMCwzLjMwMiwxLjQ4MSwzLjMwMiwzLjMwMlY4MS4zOTd6IE03Ni4xOTQsNjMuNzQ4YzAsMS44MjMtMS40NzksMy4zMDItMy4zMDIsMy4zMDJIMjcuMTA5DQoJCWMtMS44MjcsMC0zLjMwNS0xLjQ3OS0zLjMwNS0zLjMwMnYtMS4xMDZjMC0xLjgyNiwxLjQ3OC0zLjMwMiwzLjMwNS0zLjMwMmg0NS43ODNjMS44MjMsMCwzLjMwMiwxLjQ3NiwzLjMwMiwzLjMwMlY2My43NDh6DQoJCSBNNzYuMTk0LDQ2LjY5NmMwLDEuODI2LTEuNDc5LDMuMzA2LTMuMzAyLDMuMzA2SDQ2LjI3N2MtMS44MjEsMC0zLjMwMi0xLjQ3OS0zLjMwMi0zLjMwNnYtMS4xMDVjMC0xLjgyNSwxLjQ4MS0zLjMwMywzLjMwMi0zLjMwMw0KCQloMjYuNjE2YzEuODIzLDAsMy4zMDIsMS40NzgsMy4zMDIsMy4zMDNWNDYuNjk2eiIvPg0KPC9nPg0KPC9zdmc+DQo=);
+}
+#toolbar #toolbar-link-admin-help {
+  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMjMxRjIwIiBkPSJNMTAwLDUwYzAsMjcuNjE0LTIyLjM4Niw1MC01MC4wMDEsNTBDMjIuMzg1LDEwMCwwLDc3LjYxMywwLDUwDQoJQzAsMjIuMzg2LDIyLjM4NSwwLDQ5Ljk5OSwwQzc3LjYxNCwwLDEwMCwyMi4zODYsMTAwLDUweiBNNTUuMjA5LDY1LjQzNHYtMy4yNjhjMC0yLjE3NiwwLjQ2Mi0zLjkzOCwxLjM4OC01LjI3OQ0KCWMwLjkyNC0xLjM0LDMuMTMyLTMuMzAxLDYuNjE2LTUuODgxYzUuMDgyLTMuNjI1LDguNTIxLTYuODkyLDEwLjM0MS05Ljc5N2MxLjgxNC0yLjkwNSwyLjcyMS02LjM0OSwyLjcyMS0xMC4zNDINCgljMC01Ljk4Ny0yLjIwMy0xMC43NzgtNi42MTMtMTQuMzcyYy00LjQwOC0zLjU5MS0xMC4zNTItNS4zODktMTcuODI2LTUuMzg5Yy05LjA3MSwwLTE3LjY1OSwyLjI2Ni0yNS43NDgsNi44MDVsNS45MzMsMTEuOTIxDQoJYzYuOTY4LTMuNTU4LDEzLjE3My01LjMzNSwxOC42MTctNS4zMzVjMy4xMjIsMCw1LjU1MiwwLjYyMSw3LjI5MywxLjg1MmMxLjc0MiwxLjIzMSwyLjYxMywzLjAyOCwyLjYxMyw1LjM4OA0KCWMwLDIuMTAzLTAuNjA1LDQuMDA5LTEuODIzLDUuNzE2Yy0xLjIxOSwxLjcwOC0zLjcyOSwzLjkyLTcuNTM5LDYuNjQxYy0zLjk1NCwyLjkwNi02LjY3Niw1LjY0Mi04LjE2Niw4LjIxOQ0KCWMtMS40OTEsMi41NzgtMi4yMzEsNS42MDctMi4yMzEsOS4wOTJ2NC4wMjlINTUuMjA5eiBNNDEuNTQ0LDg4LjI3MWMxLjY2NywxLjYxMyw0LjAyOSwyLjQyMiw3LjA3OCwyLjQyMg0KCWMyLjk3MiwwLDUuMzAxLTAuODI0LDYuOTY4LTIuNDc3YzEuNjY1LTEuNjU2LDIuNTAzLTMuOTE0LDIuNTAzLTYuNzc3YzAtMi45NzUtMC44MjItNS4yNTgtMi40NzYtNi44NjENCgljLTEuNjU0LTEuNTk4LTMuOTgxLTIuMzk1LTYuOTk1LTIuMzk1Yy0zLjEyMywwLTUuNDk3LDAuNzgzLTcuMTMsMi4zNDJjLTEuNjM1LDEuNTU5LTIuNDQ5LDMuODYzLTIuNDQ5LDYuOTE0DQoJQzM5LjA0Miw4NC4zNzksMzkuODc4LDg2LjY1Niw0MS41NDQsODguMjcxeiIvPg0KPC9zdmc+DQo=);
+}
+
+@media screen and (min-width:16.5em) {
+/**
+ * Icons
+ *
+ * Hide icons from UAs that don't support media queries. They
+ * are not sophisticated enough for this enhancement.
+ */
+  #toolbar .toolbar-bar .tab {
+    background-attachment: scroll;
+    background-position: 0.4545em center;
+    background-repeat: no-repeat;
+    background-size: 2em;
+    height: 3.3333em;
+    width: 3.3333em;
+  }
+  #toolbar #toolbar-actions .home a {
+    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iODIuMDAxLDQwLjU3NyA4Mi4wMDEsMTYuNzY4IDY4LDE2Ljc2OCA2OCwyNi4xOTQgNDkuOTk4LDcuNjk1IDAsNTkuMDcyIDEyLDU5LjA3MiAxMiw5Mi4zMDYgNDIuOTk2LDkyLjMwNiANCgk0Mi45OTYsNjUuMTE0IDU3LjAwMSw2NS4xMTQgNTcuMDAxLDkyLjMwNiA4Ny45OTUsOTIuMzA2IDg3Ljk5NSw1OS4wNzIgMTAwLDU5LjA3MiAiLz4NCjwvc3ZnPg0K);
+  }
+  #toolbar #toolbar-actions .toolbar-tray-toggle a {
+    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxyZWN0IHk9IjM5LjkzNyIgZmlsbD0iIzIzMUYyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxOS40ODUiLz4NCjxyZWN0IGZpbGw9IiMyMzFGMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTkuNDg1Ii8+DQo8cmVjdCB5PSI4MC41MTYiIGZpbGw9IiMyMzFGMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTkuNDg0Ii8+DQo8L3N2Zz4NCg==);
+  }
+  #toolbar #toolbar-user .account a {
+    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjguNDI1LDI5LjM0N0MyOC40MjUsNDEuMzEsMzguMDc4LDUxLDQ5Ljk5OCw1MQ0KCWMxMS45MjYsMCwyMS41NzktOS42OSwyMS41NzktMjEuNjUzYzAtMTEuOTYyLTkuNjUyLTIxLjY1My0yMS41NzktMjEuNjUzQzM4LjA3OCw3LjY5MywyOC40MjUsMTcuMzg0LDI4LjQyNSwyOS4zNDd6IE0xMDAsOTIuMzA3DQoJYzAtMjAuMzQ2LTEuMTItMzUuNDIxLTUwLjAwMi0zNS40MjFDMS4xOTUsNTYuODg1LDAsNzEuMTkyLDAsOTIuMzA3SDEwMHoiLz4NCjwvc3ZnPg0K);
+  }
+}
+
+#toolbar .toolbar-tray .level-1 > li > .box > a {
+  padding: 1em 2em 1em 2.75em;
+}
+
+@media screen and (min-width:34em) {
+  #toolbar .toolbar-bar .tab {
+    padding: 1em 2em 1em 2.75em;
+    width: auto;
+  }
+}
+/* @end */
+
+/* Shortcuts */
+#toolbar .toolbar-shortcuts {
+  padding-left: 0.40em;
+  padding-right: 0.40em;
+}
+#toolbar .toolbar-shortcuts .menu li {
+  display: block;
+  float: left; /* LTR */
+  padding: 0 0.35em;
+  margin-bottom: 0.5em;
+}
+#toolbar .toolbar-shortcuts .menu a {
+  display: inline-block;
+}
+#toolbar .toolbar-shortcuts .menu a {
+  background-color: #DDDDDD;
+  border-radius: 0.4545em;
+  line-height: 1;
+  padding: 0.7857em 1em;
+}
+#toolbar #edit-shortcuts {
+  padding: 0.7857em 0.35em;
+}
+
+/* Dropbutton */
+
+#toolbar .section.second .dropbutton {
+  right: 100%;
+}
+#toolbar .section.second .dropbutton-widget {
+  right: -10em;
+  max-width: 10em;
+}
+#toolbar .section.second .dropbutton.open .dropbutton-widget {
+  max-width: none;
+}
+#toolbar .dropbutton-widget {
+  background-color: #4894DA;
+  border: 0;
+  font-size: inherit;
+}
+#toolbar .dropbutton-multiple .dropbutton-widget {
+  padding-right: 2em;
+}
+#toolbar .dropbutton-content a {
+  padding: 0.6667em 1em;
+  line-height: 1;
+}
+#toolbar .dropbutton .dropbutton-arrow {
+  border-bottom-width: 0;
+  border-left-width: 0.55em;
+  border-right-width: 0.55em;
+  border-top-width: 0.6em;
+  right: 7px;
+  top: 0.75em;
+}
+#toolbar .dropbutton.open .dropbutton-arrow {
+  border-bottom-width: 0.6em;
+  border-left-width: 0.55em;
+  border-right-width: 0.55em;
+  border-top-width: 0.05em;
+}
diff --git a/core/modules/toolbar/js/toolbar.js b/core/modules/toolbar/js/toolbar.js
new file mode 100644
index 0000000..94afb90
--- /dev/null
+++ b/core/modules/toolbar/js/toolbar.js
@@ -0,0 +1,323 @@
+/**
+ * @file toolbar.js
+ *
+ * Defines the behavior of the Drupal administration toolbar.
+ */
+(function ($, undefined) {
+
+"use strict";
+
+/**
+ * Attach toggling behavior and notify the overlay of the toolbar.
+ */
+Drupal.behaviors.toolbar = {
+  attach: function(context, settings) {
+    var $toolbar = $(context).find('#toolbar').once('toolbar');
+    if ($toolbar.length) {
+      var $bar = $toolbar.find('.toolbar-bar');
+      var $tray = $toolbar.find('.toolbar-tray');
+      var $trigger = $toolbar.find('.toggle-tray');
+      // Instanstiate the bar.
+      if ($bar.length) {
+        ToolBar.bar = new ToolBar($bar);
+      }
+      // Instantiate the tray.
+      if ($tray.length && $trigger.length) {
+        ToolBar.tray = new TraySlider($tray, $trigger);
+      }
+    }
+  }
+};
+/**
+ * Store references to the ToolBar and TraySlider objects in the ToolBar object.
+ *
+ * These references will be available in Drupal.ToolBar.bar and
+ * Drupal.ToolBar.tray.
+ */
+$.extend(ToolBar, {
+  bar: null,
+  tray: null
+});
+/**
+ * A toolbar is an administration action button container.
+ */
+function ToolBar ($toolbar) {
+  this.$toolbar = $toolbar;
+  // Recalculate the offset top on screen resize.
+  var setHeight = $.proxy(this, 'setHeight');
+  // Use debounce if it exists.
+  setHeight = ('debounce' in Drupal) ? Drupal.debounce(setHeight, 250) : setHeight;
+  $(window)
+    .on({
+      'resize.toolbar': setHeight
+    });
+  // Toolbar event handlers.
+  this.$toolbar
+    .on({
+      'setup.toolbar': setHeight
+    })
+    .trigger('setup');
+};
+
+/**
+ * Extend the prototype of the TraySlider class.
+ */
+$.extend(ToolBar.prototype, {
+  /**
+   * The height of the toolbar offsets the top of the page content.
+   *
+   * Page components can register with the offsettopchange event to know when
+   * the height of the toolbar changes.
+   */
+  setHeight: function() {
+    this.height = this.$toolbar.outerHeight();
+    this.$toolbar.attr('data-offset-top', this.height);
+    // Alter the padding on the top of the body element.
+    // @todo, this should be moved to drupal.js and register for
+    // the offsettopchange event.
+    $('body').css('paddingTop', this.height);
+    $(document).trigger('offsettopchange');
+  }
+});
+/**
+ *
+ */
+function TraySlider ($tray, $trigger) {
+  this.$tray = $tray;
+  this.$trigger = $trigger;
+  // Initiate the object.
+  this.state = 'closed';
+  this.ui = {
+    'activeClass': 'active',
+    'trayOpenBodyClass': 'menu-tray-open'
+  };
+  // Add a click handler to the toggle.
+  this.$trigger
+    .on({
+      'setup.toolbar': $.proxy(this, 'toggleTrigger'),
+      'click.toolbar': $.proxy(this, 'handleTriggerClick'),
+      'toggled.toolbar': $.proxy(this, 'toggleTrigger')
+    })
+    .trigger('setup', this.state);
+  // The tray has a couple setup methods to run.
+  var setup = $.Callbacks();
+  setup.add($.proxy(this, 'renderAccordion'));
+  setup.add($.proxy(this, 'displace'));
+  this.$tray
+    // Register event handlers.
+    .on({
+      'setup.toolbar': setup.fire,
+      'toggled.toolbar': $.proxy(this, 'toggleTray')
+    })
+    // The tray will be positioned at the edge of the window.
+    .addClass('positioned')
+    // Triger setup.
+    .trigger('setup', this.state);
+  // Register for offsettopchange events.
+  $(document)
+    .on({
+      // Offset value vas changed by a third party script.
+      'offsettopchange.toolbar': $.proxy(this, 'displace')
+    });
+};
+/**
+ * Extend the prototype of the TraySlider class.
+ */
+$.extend(TraySlider.prototype, {
+  /**
+   *
+   */
+  handleTriggerClick: function (event) {
+    event.preventDefault();
+    event.stopImmediatePropagation();
+    this.state = (this.state === 'closed') ? 'open' : 'closed';
+    this.$tray.trigger('toggled', this.state);
+    this.$trigger.trigger('toggled', this.state);
+  },
+  /**
+   *
+   */
+   toggleTrigger: function (event, state) {
+    this.$trigger[((state === 'open') ? 'add' : 'remove') + 'Class'](this.ui.activeClass);
+  },
+  /**
+   *
+   */
+  toggleTray: function (event, state) {
+    this.$tray[((state === 'open') ? 'add' : 'remove') + 'Class'](this.ui.activeClass);
+    // Add a class to the body so it can be styled to react to the tray.
+    $('body')[((state === 'open') ? 'add' : 'remove') + 'Class'](this.ui.trayOpenBodyClass);
+  },
+  /**
+   *
+   */
+  displace: function (event) {
+    this.$tray.css({
+      'top': this.computeOffsetTop() + 'px'
+    });
+  },
+  /**
+   * Sum all [data-offset-top] values and cache it.
+   * @todo move this out of tableheader.js into a move generic place like drupal.js.
+   */
+  computeOffsetTop: function () {
+    var $offsets = $('[data-offset-top]');
+    var value, sum = 0;
+    for (var i = 0, il = $offsets.length; i < il; i++) {
+      value = parseInt($offsets[i].getAttribute('data-offset-top'), 10);
+      sum += !isNaN(value) ? value : 0;
+    }
+    this.offsetTop = sum;
+    return sum;
+  },
+  /**
+   * Accordion behavior.
+   */
+  renderAccordion: function (event) {
+    event.stopPropagation();
+    var context = this;
+    this.$tray.find('.toolbar-menu > .menu').each(function (index, element) {
+      var $root = $(this).addClass('root');
+        // Wrap the list in a div to provide a positioning context.
+      var $wrapper = $root.wrap($('<div>')
+        .css({
+            height: '100%',
+            position: 'relative'
+          })
+          .addClass('fleximenu')
+        )
+        .parent()
+        // Bind event handlers.
+        .on({
+          'setup.toolbar': context.accordionSetup
+        });
+      // Create a set of list-manipulation callbacks.
+      // Called when items are added or removed.
+      var listUpdate = $.Callbacks();
+      // Set visibility
+      listUpdate.add(context.initItems);
+      listUpdate.add($.proxy(context, 'markListLevels', $root));
+      listUpdate.add($.proxy(context, 'setLevelVisibility', $root, 1));
+      $wrapper
+        .on('listChange.toolbar', listUpdate.fire)
+        .on('clean.toolbar.accordionMode', 'li', context.cleanItem)
+        .on('activate.toolbar.accordionMode', 'li', context.activateItem)
+        .on('click.toolbar.accordionMode', '.handle', context.accordionToggle)
+        .trigger('setup');
+    });
+  },
+  accordionSetup: function (event) {
+    event.stopPropagation();
+    // Mark up the lists and items.
+    $(this)
+    .trigger('listChange');
+
+  },
+  cleanItem: function (event) {},
+  activateItem: function (event) {},
+  accordionToggle: function (event) {
+    // The toggle.
+    var $toggle = $(this);
+    var $item = $toggle.closest('li');
+    var $list = $item.children('ul');
+    var isHidden = $list.hasClass('dormant');
+    // Toggle the item open state.
+    $item
+      [((isHidden) ? 'add' : 'remove') + 'Class']('open');
+    // Toggle the item list visibility.
+    $list
+      ['slide' + ((isHidden) ? 'Down' : 'Up')]()
+      [((isHidden) ? 'remove' : 'add') + 'Class']('dormant');
+    // Twist the toggle.
+    $toggle
+      [((isHidden) ? 'add' : 'remove') + 'Class']('open');
+
+  },
+  initItems: function (event) {
+    // The accordion wrapper.
+    var $wrapper = $(this);
+    var rootClass = 'root';
+    var boxClass = 'box';
+    var handleClass = 'handle';
+    // Get lists and items.
+    var $root = $wrapper.children('.' + rootClass);
+    var $ul = $wrapper.find('ul').once('fleximenu');
+    var $li = $wrapper.find('li').once('fleximenu');
+    // Basic setup
+    $ul
+      .each(function (index, element) {
+        $(this).data('toolbar', {
+          processed: false,
+          type: 'list',
+          level: NaN
+        });
+      });
+    // Initialize items and their links.
+    $li
+      .each(function (index, element) {
+        $(this).data('toolbar', {
+          processed: false,
+          type: 'item'
+        });
+      })
+      // Add a class to item links.
+      .children('a')
+      .wrap(
+        $('<div>', {
+          'class': boxClass
+        })
+      )
+      .end()
+      // Add a handle to each list item if it has a menu.
+      .each(function (index, element) {
+        var $item = $(this);
+        if ($item.children('ul').length > 0) {
+          $item
+            .children('.' + boxClass)
+            .prepend(
+              $('<span>', {
+                'class': handleClass,
+                text: ''
+              })
+            );
+        }
+      });
+  },
+  /**
+   * Adds a level class to each list based on its depth in the menu.
+   */
+  markListLevels: function ($lists, level, event) {
+    level = (typeof level === 'object') ? 1 : level;
+    $lists
+    .addClass('level-' + level)
+    .each(function (index, element) {
+      $(this).data().toolbar.level = level;
+    });
+    $lists = $lists.children('li').children('ul');
+    if ($lists.length > 0) {
+      this.markListLevels($lists, (level + 1));
+    }
+  },
+  setLevelVisibility: function ($lists, visibleAfter) {
+    var level;
+    $lists
+    .each(function (index, element) {
+      var $this = $(this);
+      level = $(this).data().toolbar.level;
+      if (level > visibleAfter) {
+        $this.addClass('dormant');
+      }
+      else {
+        $this.addClass('visible');
+      }
+    });
+    $lists = $lists.children('li').children('ul');
+    if ($lists.length > 0) {
+      this.setLevelVisibility($lists, visibleAfter);
+    }
+  }
+});
+
+// Assign the ToolBar obect to the Drupal namespace.
+Drupal.ToolBar = ToolBar;
+}(jQuery));
diff --git a/core/modules/toolbar/templates/toolbar.tpl.php b/core/modules/toolbar/templates/toolbar.tpl.php
index 5b03fee..8b8c4af 100644
--- a/core/modules/toolbar/templates/toolbar.tpl.php
+++ b/core/modules/toolbar/templates/toolbar.tpl.php
@@ -19,15 +19,33 @@
  * @ingroup themeable
  */
 ?>
-<nav id="toolbar" role="navigation" class="<?php print $attributes['class']; ?> clearfix" <?php print $attributes; ?>>
-  <div class="toolbar-menu clearfix">
-    <?php print render($toolbar['toolbar_home']); ?>
-    <?php print render($toolbar['toolbar_user']); ?>
-    <?php print render($toolbar['toolbar_menu']); ?>
-    <?php if ($toolbar['toolbar_drawer']):?>
-      <?php print render($toolbar['toolbar_toggle']); ?>
+<div id="toolbar" role="navigation" class="<?php print $attributes['class']; ?> clearfix" <?php print $attributes; ?>>
+  <div class="toolbar-bar clearfix">
+    <div class="section first">
+      <?php print render($toolbar['toolbar_navigation']); ?>
+    </div>
+    <?php if (!empty($toolbar['toolbar_user'])) : ?>
+      <div class="section second">
+        <?php print render($toolbar['toolbar_user']); ?>
+      </div>
     <?php endif; ?>
+    <div class="section actions"></div>
   </div>
 
-  <?php print render($toolbar['toolbar_drawer']); ?>
-</nav>
+  <div class="toolbar-tray">
+    <div class="lining slider">
+      <?php if (!empty($toolbar['toolbar_shortcuts'])) : ?>
+        <div class="toolbar-shortcuts clearfix">
+          <h2 class="element-invisible"><?php print t('Shortcuts'); ?></h2>
+          <?php print render($toolbar['toolbar_shortcuts']); ?>
+        </div>
+      <?php endif; ?>
+      <?php if (!empty($toolbar['toolbar_menu'])) : ?>
+        <nav class="toolbar-menu clearfix">
+          <h2 class="element-invisible"><?php print t('Administration menu'); ?></h2>
+          <?php print render($toolbar['toolbar_menu']); ?>
+        </nav>
+      <?php endif; ?>
+    </div>
+  </div>
+</div>
diff --git a/core/modules/toolbar/toolbar-rtl.css b/core/modules/toolbar/toolbar-rtl.css
deleted file mode 100644
index e121547..0000000
--- a/core/modules/toolbar/toolbar-rtl.css
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#toolbar,
-#toolbar * {
-  text-align: right;
-}
-#toolbar ul li {
-  float: right;
-}
-#toolbar ul li a {
-  display: inline-block;
-  float: none;
-  zoom: 1;
-}
-#toolbar div.toolbar-menu {
-  padding: 5px 50px 5px 50px;
-}
-#toolbar-user {
-  float: left;
-}
-#toolbar ul#toolbar-user li {
-  float: none;
-  display: inline;
-}
-#toolbar-menu {
-  float: none;
-}
-#toolbar-home {
-  float: right;
-}
-#toolbar ul li.home a {
-  position: absolute;
-  right: 10px;
-}
-#toolbar div.toolbar-menu a.toggle {
-  left: 10px;
-  right: auto;
-}
diff --git a/core/modules/toolbar/toolbar.admin.inc b/core/modules/toolbar/toolbar.admin.inc
new file mode 100644
index 0000000..8f836a1
--- /dev/null
+++ b/core/modules/toolbar/toolbar.admin.inc
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * @file
+ * Admin page callbacks for the toolbar module.
+ */
+
+/**
+ * Form constructor for the toolbar settings form.
+ */
+function toolbar_admin_settings($form, &$form_state) {
+  $config = config('toolbar.settings');
+  $form['depth'] = array(
+    '#type' => 'select',
+    '#title' => t('Menu depth to display'),
+    '#default_value' => $config->get('depth'),
+    '#options' => drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9)),
+    '#required' => TRUE,
+  );
+  return system_config_form($form, $form_state);
+}
+
+/**
+ * Form submission handler for toolbar_admin_settings().
+ */
+function toolbar_admin_settings_submit($form, &$form_state) {
+  config('toolbar.settings')
+    ->set('depth', $form_state['values']['depth'])
+    ->save();
+}
diff --git a/core/modules/toolbar/toolbar.css b/core/modules/toolbar/toolbar.css
deleted file mode 100644
index bd18110..0000000
--- a/core/modules/toolbar/toolbar.css
+++ /dev/null
@@ -1,129 +0,0 @@
-
-body.toolbar {
-  padding-top: 2.2em;
-}
-body.toolbar-drawer {
-  padding-top: 5.3em;
-}
-
-/**
- * Aggressive resets so we can achieve a consistent look in hostile CSS
- * environments.
- */
-#toolbar,
-#toolbar * {
-  border: 0;
-  font-size: 100%;
-  line-height: inherit;
-  list-style: none;
-  margin: 0;
-  outline: 0;
-  padding: 0;
-  text-align: left; /* LTR */
-  vertical-align: baseline;
-}
-
-/**
- * Base styles.
- *
- * We use a keyword for the toolbar font size to make it display consistently
- * across different themes, while still allowing browsers to resize the text.
- */
-#toolbar {
-  background: #666;
-  color: #ccc;
-  font: normal small "Lucida Grande", Verdana, sans-serif;
-  left: 0;
-  margin: 0 -20px;
-  padding: 0 20px;
-  position: fixed;
-  right: 0;
-  top: 0;
-  box-shadow: 0 3px 20px #000;
-  z-index: 600;
-}
-#toolbar div.collapsed {
-  display: none;
-  visibility: hidden;
-}
-#toolbar a {
-  color: #fff;
-  font-size: .846em;
-  text-decoration: none;
-}
-#toolbar ul li,
-#toolbar ul li a {
-  float: left; /* LTR */
-}
-
-/**
- * Administration menu.
- */
-#toolbar div.toolbar-menu {
-  background: #000;
-  line-height: 20px;
-  padding: 5px 50px 5px 10px; /* LTR */
-  position: relative;
-}
-#toolbar-home a span {
-  background: url(toolbar.png) no-repeat 0 -45px;
-  display: block;
-  height: 14px;
-  margin: 3px 0px;
-  text-indent: -9999px;
-  vertical-align: text-bottom;
-  width: 11px;
-}
-#toolbar-user {
-  float: right; /* LTR */
-}
-#toolbar-menu {
-  float: left; /* LTR */
-}
-#toolbar div.toolbar-menu a.toggle {
-  background: url(toolbar.png) 0 -20px no-repeat;
-  bottom: 0;
-  cursor: pointer;
-  height: 25px;
-  overflow: hidden;
-  position: absolute;
-  right: 10px; /* LTR */
-  text-indent: -9999px;
-  width: 25px;
-}
-#toolbar div.toolbar-menu a.toggle:focus,
-#toolbar div.toolbar-menu a.toggle:hover {
-  background-position:  -50px -20px;
-}
-#toolbar div.toolbar-menu a.toggle-active {
-  background-position:  -25px -20px;
-}
-#toolbar div.toolbar-menu a.toggle-active.toggle:focus,
-#toolbar div.toolbar-menu a.toggle-active.toggle:hover {
-  background-position:  -75px -20px;
-}
-#toolbar div.toolbar-menu ul li a {
-  padding: 0 10px;
-  border-radius: 10px;
-}
-#toolbar div.toolbar-menu ul li a:focus,
-#toolbar div.toolbar-menu ul li a:hover,
-#toolbar div.toolbar-menu ul li a:active,
-#toolbar div.toolbar-menu ul li a.active:focus {
-  background: #444;
-}
-#toolbar div.toolbar-menu ul li a.active:hover,
-#toolbar div.toolbar-menu ul li a.active:active,
-#toolbar div.toolbar-menu ul li a.active,
-#toolbar div.toolbar-menu ul li.active-trail a {
-  background: url(toolbar.png) 0 0 repeat-x;
-  text-shadow: #333 0 1px 0;
-}
-
-/**
- * Collapsed drawer of additional toolbar content.
- */
-#toolbar div.toolbar-drawer {
-  position: relative;
-  padding: 0 10px;
-}
diff --git a/core/modules/toolbar/toolbar.js b/core/modules/toolbar/toolbar.js
deleted file mode 100644
index 2353050..0000000
--- a/core/modules/toolbar/toolbar.js
+++ /dev/null
@@ -1,115 +0,0 @@
-(function ($) {
-
-"use strict";
-
-Drupal.toolbar = Drupal.toolbar || {};
-
-/**
- * Attach toggling behavior and notify the overlay of the toolbar.
- */
-Drupal.behaviors.toolbar = {
-  attach: function(context, settings) {
-    var $toolbar = $('#toolbar').once('toolbar');
-    if ($toolbar.length) {
-
-      // Set the initial state of the toolbar.
-      Drupal.toolbar.init();
-
-      $(window).on('resize.toolbar', Drupal.toolbar.height);
-
-      // Toggling toolbar drawer.
-      $toolbar.find('a.toggle').once('toolbar-toggle').click(function(e) {
-        e.preventDefault();
-        Drupal.toolbar.toggle();
-        // Allow resize event handlers to recalculate sizes/positions.
-        $(window).triggerHandler('resize');
-      });
-    }
-  }
-};
-
-/**
- * Retrieve last saved cookie settings and set up the initial toolbar state.
- */
-Drupal.toolbar.init = function() {
-  // Retrieve the collapsed status from a stored cookie.
-  var collapsed = $.cookie('Drupal.toolbar.collapsed');
-
-  // Expand or collapse the toolbar based on the cookie value.
-  if (collapsed === '1') {
-    Drupal.toolbar.collapse();
-  }
-  else {
-    Drupal.toolbar.expand();
-  }
-};
-
-/**
- * Collapse the toolbar.
- */
-Drupal.toolbar.collapse = function() {
-  var toggle_text = Drupal.t('Show shortcuts');
-  $('#toolbar div.toolbar-drawer').addClass('collapsed');
-  $('#toolbar a.toggle')
-    .removeClass('toggle-active')
-    .attr('title',  toggle_text)
-    .html(toggle_text);
-  $('body').removeClass('toolbar-drawer').css('paddingTop', Drupal.toolbar.height());
-  $.cookie(
-    'Drupal.toolbar.collapsed',
-    1,
-    {
-      path: Drupal.settings.basePath,
-      // The cookie should "never" expire.
-      expires: 36500
-    }
-  );
-  Drupal.toolbar.height();
-  $(document).trigger('offsettopchange');
-};
-
-/**
- * Expand the toolbar.
- */
-Drupal.toolbar.expand = function() {
-  var toggle_text = Drupal.t('Hide shortcuts');
-  $('#toolbar div.toolbar-drawer').removeClass('collapsed');
-  $('#toolbar a.toggle')
-    .addClass('toggle-active')
-    .attr('title',  toggle_text)
-    .html(toggle_text);
-  $('body').addClass('toolbar-drawer').css('paddingTop', Drupal.toolbar.height());
-  $.cookie(
-    'Drupal.toolbar.collapsed',
-    0,
-    {
-      path: Drupal.settings.basePath,
-      // The cookie should "never" expire.
-      expires: 36500
-    }
-  );
-  Drupal.toolbar.height();
-  $(document).trigger('offsettopchange');
-};
-
-/**
- * Toggle the toolbar.
- */
-Drupal.toolbar.toggle = function() {
-  if ($('#toolbar div.toolbar-drawer').hasClass('collapsed')) {
-    Drupal.toolbar.expand();
-  }
-  else {
-    Drupal.toolbar.collapse();
-  }
-};
-
-Drupal.toolbar.height = function() {
-  // @TODO this needs to be cached outside this function.
-  var $toolbar = $('#toolbar');
-  var height = $toolbar.outerHeight();
-  $toolbar.attr('data-offset-top', height);
-  return height;
-};
-
-})(jQuery);
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index 3717d7b..d0727d3 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -41,12 +41,6 @@ function toolbar_theme($existing, $type, $theme, $path) {
     'render element' => 'toolbar',
     'template' => 'toolbar',
   );
-  $items['toolbar_toggle'] = array(
-    'variables' => array(
-      'collapsed' => NULL,
-      'attributes' => array(),
-    ),
-  );
   return $items;
 }
 
@@ -54,74 +48,26 @@ function toolbar_theme($existing, $type, $theme, $path) {
  * Implements hook_menu().
  */
 function toolbar_menu() {
-  $items['toolbar/toggle'] = array(
-    'title' => 'Toggle drawer visibility',
-    'type' => MENU_CALLBACK,
-    'page callback' => 'toolbar_toggle_page',
-    'access arguments' => array('access toolbar'),
+  $items['admin/config/user-interface/toolbar'] = array(
+    'title' => 'Administrative navigation',
+    'description' => 'Configure toolbar settings',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('toolbar_admin_settings'),
+    'access arguments' => array('administer site configuration'),
+    'file' => 'toolbar.admin.inc',
   );
   return $items;
 }
 
 /**
- * Page callback: Toggles the visibility of the toolbar drawer.
- *
- * @see toolbar_menu().
- */
-function toolbar_toggle_page() {
-  global $base_path;
-  // Toggle the value in the cookie.
-  setcookie('Drupal.toolbar.collapsed', !_toolbar_is_collapsed(), NULL, $base_path);
-  // Redirect the user from where he used the toggle element.
-  drupal_goto();
-}
-
-/**
- * Formats an element used to toggle the toolbar drawer's visibility.
- *
- * @param $variables
- *   An associative array containing:
- *   - collapsed: A boolean value representing the toolbar drawer's visibility.
- *   - attributes: An associative array of HTML attributes.
- *
- * @return
- *   An HTML string representing the element for toggling.
- *
- * @ingroup themable
- */
-function theme_toolbar_toggle($variables) {
-  if ($variables['collapsed']) {
-    $toggle_text = t('Show shortcuts');
-  }
-  else {
-    $toggle_text = t('Hide shortcuts');
-    $variables['attributes']['class'][] = 'toggle-active';
-  }
-  return l($toggle_text, 'toolbar/toggle', array('query' => drupal_get_destination(), 'attributes' => array('title' => $toggle_text) + $variables['attributes']));
-}
-
-/**
- * Determines the current state of the toolbar drawer's visibility.
- *
- * @return
- *   TRUE when drawer is collapsed, FALSE when it is expanded.
- */
-function _toolbar_is_collapsed() {
-  // PHP converts dots into underscores in cookie names to avoid problems with
-  // its parser, so we use a converted cookie name.
-  return isset($_COOKIE['Drupal_toolbar_collapsed']) ? $_COOKIE['Drupal_toolbar_collapsed'] : 0;
-}
-
-/**
  * Implements hook_page_build().
  *
- * Add admin toolbar to the page_top region automatically.
+ * Add admin toolbar to the page_bottom region automatically.
  */
 function toolbar_page_build(&$page) {
-  $page['page_top']['toolbar'] = array(
+  $page['page_bottom']['toolbar'] = array(
     '#pre_render' => array('toolbar_pre_render'),
     '#access' => user_access('access toolbar'),
-    'toolbar_drawer' => array(),
   );
 }
 
@@ -144,11 +90,8 @@ function toolbar_pre_render($toolbar) {
  * Add some page classes, so global page theming can adjust to the toolbar.
  */
 function toolbar_preprocess_html(&$vars) {
-  if (isset($vars['page']['page_top']['toolbar']) && user_access('access toolbar')) {
+  if (isset($vars['page']['page_bottom']['toolbar']) && user_access('access toolbar')) {
     $vars['attributes']['class'][] = 'toolbar';
-    if (!_toolbar_is_collapsed()) {
-      $vars['attributes']['class'][] = 'toolbar-drawer';
-    }
   }
 }
 
@@ -165,7 +108,7 @@ function toolbar_preprocess_toolbar(&$variables) {
 /**
  * Implements hook_system_info_alter().
  *
- * Indicate that the 'page_top' region (in which the toolbar will be displayed)
+ * Indicate that the 'page_bottom' region (in which the toolbar will be displayed)
  * is an overlay supplemental region that should be refreshed whenever its
  * content is updated.
  *
@@ -174,7 +117,7 @@ function toolbar_preprocess_toolbar(&$variables) {
  */
 function toolbar_system_info_alter(&$info, $file, $type) {
   if ($type == 'theme') {
-    $info['overlay_supplemental_regions'][] = 'page_top';
+    $info['overlay_supplemental_regions'][] = 'page_bottom';
   }
 }
 
@@ -196,15 +139,6 @@ function toolbar_view() {
     ),
   );
 
-  // Retrieve the admin menu from the database.
-  $links = toolbar_menu_navigation_links(toolbar_get_menu_tree());
-  $build['toolbar_menu'] = array(
-    '#theme' => 'links__toolbar_menu',
-    '#links' => $links,
-    '#attributes' => array('id' => 'toolbar-menu'),
-    '#heading' => array('text' => t('Administrative toolbar'), 'level' => 'h2', 'class' => 'element-invisible'),
-  );
-
   // Add logout & user account links or login link.
   if ($user->uid) {
     $links = array(
@@ -212,11 +146,17 @@ function toolbar_view() {
         'title' => t('Hello <strong>@username</strong>', array('@username' => user_format_name($user))),
         'href' => 'user',
         'html' => TRUE,
-        'attributes' => array('title' => t('User account')),
+        'attributes' => array(
+          'title' => t('User account'),
+          'class' => array('tab'),
+        ),
       ),
       'logout' => array(
         'title' => t('Log out'),
         'href' => 'user/logout',
+        'attributes' => array(
+          'class' => array('tab'),
+        ),
       ),
     );
   }
@@ -225,47 +165,64 @@ function toolbar_view() {
       'login' => array(
         'title' => t('Log in'),
         'href' => 'user',
+        'attributes' => array(
+          'class' => array('tab'),
+        ),
       ),
     );
   }
+  // Theme the toolbar user action links.
   $build['toolbar_user'] = array(
     '#theme' => 'links__toolbar_user',
     '#links' => $links,
-    '#attributes' => array('id' => 'toolbar-user'),
+    '#attributes' => array(
+      'id' => 'toolbar-user',
+      'class' => array('menu'),
+    ),
+    '#heading' => array('text' => t('Toolbar user actions'), 'level' => 'h2', 'class' => 'element-invisible'),
   );
 
-  // Add a "home" link.
-  $link = array(
+  // Build the default toolbar navigation links.
+  $links = array(
+    'toolbar_tray_toggle' => array(
+      'title' => t('Menu'),
+      'href' => '',
+      'html' => FALSE,
+      'attributes' => array(
+        'class' => array('tab', 'toggle', 'toggle-tray'),
+        'role' => 'button',
+      ),
+    ),
     'home' => array(
-      'title' => '<span class="home-link">Home</span>',
+      'title' => t('Home'),
       'href' => '<front>',
-      'html' => TRUE,
-      'attributes' => array('title' => t('Home')),
+      'html' => FALSE,
+      'attributes' => array(
+        'title' => t('Home'),
+        'class' => array('tab', 'home-link'),
+      ),
     ),
   );
-  $build['toolbar_home'] = array(
+
+  // Toolbar navigation links.
+  $build['toolbar_navigation'] = array(
     '#theme' => 'links',
-    '#links' => $link,
-    '#attributes' => array('id' => 'toolbar-home'),
+    '#links' => $links,
+    '#attributes' => array(
+      'id' => 'toolbar-actions',
+      'class' => array('menu'),
+    ),
+    '#heading' => array('text' => t('Toolbar navigation'), 'level' => 'h2', 'class' => 'element-invisible'),
   );
 
-  // Add an anchor to be able to toggle the visibility of the drawer.
-  $build['toolbar_toggle'] = array(
-    '#theme' => 'toolbar_toggle',
-    '#collapsed' => _toolbar_is_collapsed(),
-    '#attributes' => array('class' => array('toggle')),
-  );
+  // Retrieve the admin menu from the database.
+  $tree = toolbar_get_menu_tree();
+  // Add attributes to the links before rendering.
+  toolbar_menu_navigation_links($tree);
+  $build['toolbar_menu'] = menu_tree_output($tree);
 
-  // Prepare the drawer links CSS classes.
-  $toolbar_drawer_classes = array(
-    'toolbar-drawer',
-    'clearfix',
-  );
-  if (_toolbar_is_collapsed()) {
-    $toolbar_drawer_classes[] = 'collapsed';
-  }
-  $build['toolbar_drawer']['#type'] = 'container';
-  $build['toolbar_drawer']['#attributes']['class'] = $toolbar_drawer_classes;
+  // Shortcuts.
+  $build['toolbar_shortcuts'] = array();
 
   return $build;
 }
@@ -280,14 +237,16 @@ function toolbar_get_menu_tree() {
   $tree = array();
   $admin_link = db_query('SELECT * FROM {menu_links} WHERE menu_name = :menu_name AND module = :module AND link_path = :path', array(':menu_name' => 'management', ':module' => 'system', ':path' => 'admin'))->fetchAssoc();
   if ($admin_link) {
-    $tree = menu_build_tree('management', array(
-      'expanded' => array($admin_link['mlid']),
-      'min_depth' => $admin_link['depth'] + 1,
-      'max_depth' => $admin_link['depth'] + 1,
-    ));
+    // Add 1 to the depth to take into account the root "Administration" item in
+    // the Management menu.
+    $max_depth = config('toolbar.settings')->get('depth') + 1;
+    $tree = menu_tree_all_data('management', NULL, $max_depth);
   }
-
-  return $tree;
+  // Return the sub-menus of the management menu root.
+  foreach ($tree as $key => $menu) {
+    return (!empty($tree[$key]['below'])) ? $tree[$key]['below'] : array();
+  }
+  return array();
 }
 
 /**
@@ -299,34 +258,16 @@ function toolbar_get_menu_tree() {
  * @return
  *   An array of links as defined above.
  */
-function toolbar_menu_navigation_links($tree) {
-  $links = array();
-  foreach ($tree as $item) {
-    if (!$item['link']['hidden'] && $item['link']['access']) {
-      // Make sure we have a path specific ID in place, so we can attach icons
-      // and behaviors to the items.
-      $id = str_replace(array('/', '<', '>'), array('-', '', ''), $item['link']['href']);
-
-      $link = $item['link']['localized_options'];
-      $link['href'] = $item['link']['href'];
-      // Add icon placeholder.
-      $link['title'] = '<span class="icon"></span>' . check_plain($item['link']['title']);
-      // Add admin link ID.
-      $link['attributes'] = array('id' => 'toolbar-link-' . $id);
-      if (!empty($item['link']['description'])) {
-        $link['title'] .= ' <span class="element-invisible">(' . $item['link']['description'] . ')</span>';
-        $link['attributes']['title'] = $item['link']['description'];
-      }
-      $link['html'] = TRUE;
-
-      $class = ' path-' . $id;
-      if (toolbar_in_active_trail($item['link']['href'])) {
-        $class .= ' active-trail';
-      }
-      $links['menu-' . $item['link']['mlid'] . $class] = $link;
+function toolbar_menu_navigation_links(&$tree) {
+  foreach ($tree as $key => $item) {
+    // Configure sub-items.
+    if (!empty($item['below'])) {
+      toolbar_menu_navigation_links($tree[$key]['below']);
     }
+    // Make sure we have a path specific ID in place, so we can attach icons
+    // and behaviors to the items.
+    $tree[$key]['link']['localized_options']['attributes']['id'] = 'toolbar-link-' . str_replace(array('/', '<', '>'), array('-', '', ''), $item['link']['link_path']);
   }
-  return $links;
 }
 
 /**
@@ -365,10 +306,11 @@ function toolbar_library_info() {
     'title' => 'Toolbar',
     'version' => VERSION,
     'js' => array(
-      drupal_get_path('module', 'toolbar') . '/toolbar.js' => array(),
+      drupal_get_path('module', 'toolbar') . '/js/toolbar.js' => array(),
     ),
     'css' => array(
-      drupal_get_path('module', 'toolbar') . '/toolbar.css',
+      drupal_get_path('module', 'toolbar') . '/css/toolbar.base.css',
+      drupal_get_path('module', 'toolbar') . '/css/toolbar.theme.css',
     ),
     'dependencies' => array(
       array('system', 'jquery'),
diff --git a/core/modules/toolbar/toolbar.png b/core/modules/toolbar/toolbar.png
deleted file mode 100644
index f2c7f35..0000000
--- a/core/modules/toolbar/toolbar.png
+++ /dev/null
@@ -1,4 +0,0 @@
-‰PNG
-
-   IHDR   d   9   ÷,~O   ·PLTE   ÿÿÿfffÿÿÿfffÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffffffff   ===>>>GGGHHHPPPQQQXXXfff€€€‚‚‚„„„………‡‡‡ˆˆˆŠŠŠŒŒŒ���������’’’”””•••———˜˜˜šššœœœ���ŸŸŸ§§§®®®¯¯¯···¸¸¸ÁÁÁÂÂÂ÷÷÷ûûûüüüýýýþþþÿÿÿ¥sØ   tRNS  €ˆ‹Ž‘•™ÐàðO¼^z  IDATxÚíÓ[OÂ@†áo°
-¨V£¢‚çÄùÿ¿K7�1i†’î„‹}.öf.ÞÝIïðf ¯ðb Ïðd �ð` ÷pg ·01€±ÜÀµ\ÀÈ .àÂ Î ˆš\ÔŒPê Ò`M£Râ ë¢h±®Uâ l DBÄ(ÒgÅ°›8Ý!+2VL—â,§Z$MNY1èü6:V,ä“³•ˆ¬fÚKzíäøŒ‹òA»ÇŠùZ¾?6Öse]ù…OÔ�¥IºñÂ_™þÄ"[Wßßºú¢,ü“	‘}Œ8DØíÎÁ!y�P,Gä9BU©’×ÕÄ©‘ÇÕ%W'‘XþÄþ"òÏ_ÄU�Ÿ!²‘ÀN<*Ù"…ð    IEND®B`‚
\ No newline at end of file
