[gnome-shell/wip/snwh/theme-refactor] theme: base of the refactor - split _common.scss into widgets - improve _drawing functions - minify



commit a6528271c0da1da0eb9f40c2f167a290bf9c3288
Author: Sam Hewitt <sam snwh org>
Date:   Wed Dec 18 16:25:03 2019 -0500

    theme: base of the refactor
    - split _common.scss into widgets
    - improve _drawing functions
    - minify SVG assets

 data/theme/gnome-shell-high-contrast.css           | 2322 +++++++++++++++++++
 data/theme/gnome-shell-high-contrast.css.map       |    7 +
 data/theme/gnome-shell-high-contrast.scss          |    6 +-
 data/theme/gnome-shell-sass/_colors.scss           |   26 +-
 data/theme/gnome-shell-sass/_common.scss           | 2396 ++------------------
 data/theme/gnome-shell-sass/_drawing.scss          |  250 +-
 .../gnome-shell-sass/_high-contrast-colors.scss    |    7 +-
 data/theme/gnome-shell-sass/widgets/_app-grid.scss |  209 ++
 .../gnome-shell-sass/widgets/_app-switcher.scss    |   55 +
 data/theme/gnome-shell-sass/widgets/_buttons.scss  |    5 +
 data/theme/gnome-shell-sass/widgets/_calendar.scss |  268 +++
 .../theme/gnome-shell-sass/widgets/_check-box.scss |   18 +
 .../gnome-shell-sass/widgets/_corner-ripple.scss   |   24 +
 data/theme/gnome-shell-sass/widgets/_dash.scss     |   84 +
 data/theme/gnome-shell-sass/widgets/_dialogs.scss  |  280 +++
 .../widgets/_end-session-dialog.scss               |   80 +
 data/theme/gnome-shell-sass/widgets/_entries.scss  |   23 +
 data/theme/gnome-shell-sass/widgets/_hotplug.scss  |   46 +
 .../gnome-shell-sass/widgets/_ibus-popup.scss      |   30 +
 data/theme/gnome-shell-sass/widgets/_keyboard.scss |  125 +
 .../gnome-shell-sass/widgets/_login-dialog.scss    |  154 ++
 .../gnome-shell-sass/widgets/_looking-glass.scss   |   97 +
 .../gnome-shell-sass/widgets/_message-list.scss    |  145 ++
 data/theme/gnome-shell-sass/widgets/_misc.scss     |   55 +
 .../gnome-shell-sass/widgets/_network-dialog.scss  |   57 +
 .../gnome-shell-sass/widgets/_notifications.scss   |  100 +
 data/theme/gnome-shell-sass/widgets/_osd.scss      |   37 +
 data/theme/gnome-shell-sass/widgets/_overview.scss |   10 +
 data/theme/gnome-shell-sass/widgets/_panel.scss    |  106 +
 data/theme/gnome-shell-sass/widgets/_popovers.scss |  123 +
 .../gnome-shell-sass/widgets/_screen-shield.scss   |   83 +
 .../gnome-shell-sass/widgets/_scrollbars.scss      |   29 +
 .../gnome-shell-sass/widgets/_search-entry.scss    |   33 +
 .../gnome-shell-sass/widgets/_search-results.scss  |  160 ++
 data/theme/gnome-shell-sass/widgets/_slider.scss   |   27 +
 data/theme/gnome-shell-sass/widgets/_switches.scss |   16 +
 .../gnome-shell-sass/widgets/_tiled-previews.scss  |   19 +
 .../gnome-shell-sass/widgets/_window-picker.scss   |   66 +
 .../widgets/_workspace-switcher.scss               |   70 +
 data/theme/gnome-shell.css                         | 2314 +++++++++++++++++++
 data/theme/gnome-shell.css.map                     |    7 +
 data/theme/key-enter.svg                           |  111 +-
 data/theme/key-hide.svg                            |  115 +-
 data/theme/key-layout.svg                          |  132 +-
 data/theme/key-shift-latched-uppercase.svg         |  110 +-
 data/theme/key-shift-uppercase.svg                 |  105 +-
 data/theme/key-shift.svg                           |  109 +-
 47 files changed, 7644 insertions(+), 3007 deletions(-)
---
diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css
new file mode 100644
index 0000000000..97deae1670
--- /dev/null
+++ b/data/theme/gnome-shell-high-contrast.css
@@ -0,0 +1,2322 @@
+/* This stylesheet is generated, DO NOT EDIT */
+/* Copyright 2009, 2015 Red Hat, Inc.
+ *
+ * Portions adapted from Mx's data/style/default.css
+ *   Copyright 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+/* Global Values */
+stage {
+  font-size: 11pt;
+  color: #fff; }
+
+/* WIDGETS */
+/* App Grid */
+.icon-grid {
+  spacing: 30px;
+  -shell-grid-horizontal-item-size: 136px;
+  -shell-grid-vertical-item-size: 136px; }
+  .icon-grid .overview-icon {
+    icon-size: 96px; }
+
+/* App Icons */
+.lowres-icon {
+  icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.icon-dropshadow {
+  icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-well-app .overview-icon,
+.app-folder .overview-icon {
+  color: #fff !important; }
+.app-well-app:hover .overview-icon, .app-well-app:selected .overview-icon,
+.app-folder:hover .overview-icon,
+.app-folder:selected .overview-icon {
+  background-color: rgba(46, 52, 54, 0.3);
+  color: #fff; }
+.app-well-app:hover .overview-icon, .app-well-app:focus .overview-icon, .app-well-app:selected 
.overview-icon,
+.app-folder:hover .overview-icon,
+.app-folder:focus .overview-icon,
+.app-folder:selected .overview-icon {
+  background-color: rgba(238, 238, 236, 0.1);
+  color: #eeeeec; }
+.app-well-app:focus .overview-icon,
+.app-folder:focus .overview-icon {
+  background-color: rgba(238, 238, 236, 0.3);
+  color: #fff; }
+.app-well-app:drop .overview-icon,
+.app-folder:drop .overview-icon {
+  background-color: rgba(33, 93, 156, 0.85); }
+.app-well-app:active .overview-icon, .app-well-app:checked .overview-icon,
+.app-folder:active .overview-icon,
+.app-folder:checked .overview-icon {
+  background-color: rgba(23, 25, 26, 0.5); }
+
+/* App Folders */
+.app-folder-popup {
+  -arrow-border-radius: 8px;
+  -arrow-background-color: rgba(23, 25, 26, 0.5);
+  -arrow-base: 24px;
+  -arrow-rise: 11px; }
+
+.app-folder-popup-bin {
+  padding: 5px; }
+
+.app-folder-icon {
+  padding: 6px;
+  spacing-rows: 6px;
+  spacing-columns: 6px; }
+
+.app-well-app-running-dot {
+  height: 5px;
+  width: 5px;
+  border-radius: 5px;
+  background-color: #eeeeec;
+  margin-bottom: 1px; }
+
+.rename-folder-popup .rename-folder-popup-item {
+  spacing: 6px; }
+  .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl {
+    padding: 0, 12px; }
+
+.app-menu,
+.app-well-menu {
+  max-width: 27.25em; }
+
+.page-indicator {
+  padding: 15px 20px; }
+  .page-indicator .page-indicator-icon {
+    width: 12px;
+    height: 12px;
+    background-color: transparent;
+    border: 2px solid rgba(255, 255, 255, 0.4);
+    border-radius: 12px; }
+  .page-indicator:hover .page-indicator-icon {
+    border-color: white; }
+  .page-indicator:active .page-indicator-icon {
+    border: none;
+    margin: 2px;
+    background-color: white; }
+  .page-indicator:checked .page-indicator-icon, .page-indicator:checked:active .page-indicator-icon {
+    background-color: white; }
+
+.all-apps,
+.frequent-apps > StBoxLayout {
+  padding: 0px 88px 10px 88px; }
+
+.app-well-app > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+
+.system-action-icon {
+  background-color: rgba(0, 0, 0, 0.8);
+  color: #fff;
+  border-radius: 50%;
+  icon-size: 48px; }
+
+/* Frequent | All toggle */
+.app-view-controls {
+  padding-bottom: 32px; }
+
+.app-view-control {
+  padding: 4px 32px;
+  margin: 0;
+  background-color: rgba(46, 52, 54, 0.5);
+  border-width: 1px;
+  color: #b2b2a9; }
+  .app-view-control:hover {
+    background-color: rgba(46, 52, 54, 0.5) !important;
+    box-shadow: none !important;
+    color: #b2b2a9; }
+  .app-view-control:active {
+    box-shadow: inset 0 -2px 0 0 #eeeeec;
+    background-color: rgba(33, 93, 156, 0.5) !important;
+    font-weight: bold; }
+  .app-view-control:checked {
+    background-color: rgba(93, 105, 109, 0.5);
+    color: #eeeeec;
+    box-shadow: none;
+    font-weight: bold; }
+  .app-view-control:first-child {
+    border-right-width: 0 !important;
+    border-radius: 5px 0 0 5px; }
+  .app-view-control:last-child {
+    border-radius: 0 5px 5px 0; }
+
+/* App Switcher */
+.switcher-popup {
+  padding: 8px;
+  spacing: 24px; }
+
+.switcher-list .item-box {
+  padding: 8px;
+  border-radius: 6px;
+  border: 1px solid transparent; }
+  .switcher-list .item-box:outlined {
+    border: 1px solid black;
+    background-color: rgba(238, 238, 236, 0.1);
+    box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.4); }
+  .switcher-list .item-box:selected {
+    background-color: rgba(238, 238, 236, 0.1);
+    color: #eeeeec; }
+.switcher-list .thumbnail-box {
+  padding: 2px;
+  spacing: 6px; }
+.switcher-list .thumbnail {
+  width: 256px; }
+.switcher-list .separator {
+  width: 1px;
+  background: black; }
+.switcher-list .switcher-list-item-container {
+  spacing: 12px; }
+
+.switcher-arrow {
+  border-color: rgba(0, 0, 0, 0);
+  color: rgba(255, 255, 255, 0.8); }
+  .switcher-arrow:highlighted {
+    color: #fff; }
+
+/* Buttons */
+/* Date/Time Menu */
+#calendarArea {
+  padding: 0;
+  margin: 0; }
+
+.datemenu-calendar-column {
+  spacing: 0;
+  border: 0 solid black;
+  padding: 10px;
+  padding-bottom: 3em;
+  padding-top: 0; }
+  .datemenu-calendar-column:ltr {
+    border-left-width: 1px; }
+  .datemenu-calendar-column:rtl {
+    border-right-width: 1px; }
+  .datemenu-calendar-column .datemenu-today-button {
+    padding: 9px;
+    margin: 4px;
+    border: 1px solid transparent; }
+    .datemenu-calendar-column .datemenu-today-button:focus, .datemenu-calendar-column 
.datemenu-today-button:hover {
+      border-radius: 7px;
+      margin-top: 3px;
+      margin-bottom: 5px; }
+    .datemenu-calendar-column .datemenu-today-button:hover {
+      color: #fff;
+      background-color: #141414 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: black;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+      text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+    .datemenu-calendar-column .datemenu-today-button:focus {
+      color: #fff;
+      text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      box-shadow: inset 0 0 0 2px rgba(33, 93, 156, 0.3); }
+    .datemenu-calendar-column .datemenu-today-button:active {
+      color: #fff;
+      background-color: black !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: black;
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none;
+      margin: 4px; }
+    .datemenu-calendar-column .datemenu-today-button .day-label {
+      font-size: 12pt;
+      font-weight: bold; }
+    .datemenu-calendar-column .datemenu-today-button .date-label {
+      font-size: 16.5;
+      font-weight: 1000; }
+  .datemenu-calendar-column .calendar {
+    margin: 4px !important;
+    margin-bottom: 10px !important;
+    padding: 6px !important; }
+  .datemenu-calendar-column .datemenu-displays-section {
+    margin: 0; }
+  .datemenu-calendar-column .datemenu-displays-box {
+    spacing: 6px;
+    margin: 0; }
+    .datemenu-calendar-column .datemenu-displays-box .world-clocks-button,
+    .datemenu-calendar-column .datemenu-displays-box .weather-button {
+      padding: 6px !important; }
+
+.events-section-title {
+  color: #999999;
+  font-weight: bold;
+  border-radius: 4px;
+  padding: .4em; }
+
+/* Calendar */
+.calendar .calendar-month-label {
+  color: white;
+  font-weight: bold;
+  padding: 8px 0; }
+.calendar .calendar-change-month-back StIcon,
+.calendar .calendar-change-month-forward StIcon {
+  icon-size: 1.09em; }
+.calendar .pager-button {
+  background-color: transparent;
+  height: 32px;
+  width: 32px;
+  border-radius: 5px; }
+  .calendar .pager-button:hover, .calendar .pager-button:focus {
+    background-color: #0d0d0d; }
+  .calendar .pager-button:active {
+    background-color: black; }
+.calendar .calendar-day-base {
+  font-size: 80%;
+  text-align: center;
+  width: 32px;
+  height: 32px;
+  padding: 0;
+  margin: 2px;
+  border-radius: 18px;
+  border: 1px solid transparent;
+  font-feature-settings: "tnum"; }
+  .calendar .calendar-day-base:hover, .calendar .calendar-day-base:focus {
+    background-color: black; }
+  .calendar .calendar-day-base:active, .calendar .calendar-day-base:selected {
+    color: white;
+    background-color: black; }
+  .calendar .calendar-day-base.calendar-day-heading {
+    color: white;
+    margin-top: 1em;
+    font-size: 70%; }
+.calendar .calendar-day {
+  border-width: 0; }
+.calendar .calendar-day-top {
+  border-top-width: 1px; }
+.calendar .calendar-day-left {
+  border-left-width: 1px; }
+.calendar .calendar-nonwork-day {
+  color: gray; }
+.calendar .calendar-today {
+  font-weight: bold;
+  border: 1px solid transparent;
+  background-color: #215d9c;
+  color: #ffffff; }
+  .calendar .calendar-today:hover, .calendar .calendar-today:focus {
+    background-color: #2365a9;
+    color: #ffffff; }
+  .calendar .calendar-today:active, .calendar .calendar-today:selected {
+    background-color: #215d9c;
+    color: #ffffff; }
+    .calendar .calendar-today:active:hover, .calendar .calendar-today:active:focus, .calendar 
.calendar-today:selected:hover, .calendar .calendar-today:selected:focus {
+      background-color: #2365a9;
+      color: #ffffff; }
+.calendar .calendar-day-with-events {
+  color: white;
+  font-weight: bold;
+  background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
+.calendar .calendar-other-month-day {
+  color: rgba(255, 255, 255, 0.5);
+  opacity: 0.5; }
+.calendar .calendar-week-number {
+  font-size: 70%;
+  font-weight: bold;
+  height: 1.8em;
+  width: 2.3em;
+  border-radius: 2px;
+  padding: 0.5em 0 0;
+  margin: 6px;
+  background-color: black;
+  color: white; }
+
+/* Weather */
+.weather-box {
+  spacing: 6px;
+  padding: 6px; }
+  .weather-box .weather-header {
+    color: #999999;
+    font-weight: bold; }
+    .weather-box .weather-header.location {
+      font-weight: normal;
+      font-size: 10pt; }
+  .weather-box .weather-grid {
+    margin-top: 4px;
+    spacing-rows: 6px;
+    spacing-columns: 12px; }
+  .weather-box .weather-forecast-icon {
+    icon-size: 2.18em; }
+  .weather-box .weather-forecast-time {
+    color: #b3b3b3;
+    font-feature-settings: "tnum";
+    font-size: 9pt;
+    font-weight: normal; }
+
+/* World clocks */
+.world-clocks-grid {
+  padding: 6px;
+  spacing-rows: 6px;
+  spacing-columns: 12px; }
+  .world-clocks-grid .world-clocks-header {
+    color: #999999;
+    font-weight: bold; }
+  .world-clocks-grid .world-clocks-city {
+    color: #fff;
+    font-size: 11;
+    font-weight: normal; }
+  .world-clocks-grid .world-clocks-time {
+    font-weight: bold;
+    color: #fff;
+    font-feature-settings: "lnum";
+    font-size: 11;
+    text-align: right; }
+  .world-clocks-grid .world-clocks-timezone {
+    color: #cccccc;
+    font-feature-settings: "tnum";
+    font-size: 10pt; }
+
+/* Check Boxes */
+.check-box StBoxLayout {
+  spacing: .8em; }
+.check-box StBin {
+  width: 24px;
+  height: 22px;
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg"); }
+.check-box:focus StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
+.check-box:checked StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
+.check-box:focus:checked StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
+
+/* Activities Ripple */
+.ripple-box {
+  background-color: rgba(158, 196, 235, 0.3);
+  box-shadow: 0 0 2px 2px #4a90d9;
+  width: 52px;
+  height: 52px;
+  border-radius: 0 0 52px 0; }
+  .ripple-box:rtl {
+    border-radius: 0 0 0 52px; }
+
+.ripple-pointer-location {
+  width: 50px;
+  height: 50px;
+  border-radius: 25px;
+  background-color: rgba(116, 170, 226, 0.3);
+  box-shadow: 0 0 2px 2px #4a90d9; }
+
+/* Dash */
+#dash {
+  font-size: 9pt;
+  padding: 0;
+  padding-bottom: 10px;
+  border-radius: 0 15px 15px 0;
+  border-left-width: 0 !important; }
+  #dash:rtl {
+    border-radius: 15px 0 0 15px;
+    border-right-width: 0 !important; }
+  #dash .placeholder {
+    background-image: none;
+    background-size: contain;
+    height: 32px; }
+  #dash .empty-dash-drop-target {
+    width: 32px;
+    height: 32px; }
+
+.dash-item-container > StWidget {
+  padding: 10px;
+  padding-bottom: 0; }
+
+.dash-label {
+  background-color: rgba(46, 52, 54, 0.95);
+  border-radius: 7px;
+  border: none;
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
+  color: #eeeeec;
+  padding: 6px 8px;
+  text-align: center;
+  margin-top: 8px;
+  -x-offset: 8px; }
+
+.show-apps {
+  background-color: transparent;
+  color: #eeeeec; }
+  .show-apps .overview-icon {
+    color: #eeeeec; }
+  .show-apps:hover .overview-icon, .show-apps:focus .overview-icon, .show-apps:selected .overview-icon {
+    background-color: rgba(238, 238, 236, 0.1);
+    color: #eeeeec; }
+  .show-apps:drop .overview-icon {
+    background-color: rgba(33, 93, 156, 0.85); }
+  .show-apps:active .overview-icon, .show-apps:checked .overview-icon {
+    background-color: #17191a; }
+  .show-apps:checked .show-apps-icon, .show-apps:focus .show-apps-icon {
+    color: #fff;
+    transition-duration: 100ms; }
+
+/* Modal Dialogs */
+.modal-dialog {
+  border-radius: 10px; }
+  .modal-dialog .modal-dialog-content-box {
+    padding: 24px; }
+  .modal-dialog .run-dialog-entry {
+    width: 20em;
+    margin-bottom: 6px; }
+  .modal-dialog .run-dialog-error-box {
+    padding-top: 16px;
+    spacing: 6px; }
+  .modal-dialog .run-dialog-button-box {
+    padding-top: 1em; }
+  .modal-dialog .run-dialog-label {
+    font-size: 12pt;
+    font-weight: normal;
+    color: #fff;
+    padding-bottom: .4em; }
+
+.mount-dialog-subject,
+.end-session-dialog-subject {
+  font-size: 14pt; }
+
+/* Message Dialog */
+.message-dialog-main-layout {
+  padding: 12px 20px 0;
+  spacing: 12px; }
+
+.message-dialog-content {
+  max-width: 28em;
+  spacing: 20px; }
+
+.message-dialog-icon {
+  min-width: 3.27em;
+  icon-size: 3.27em; }
+
+.message-dialog-title {
+  font-weight: bold; }
+
+.message-dialog-subtitle {
+  color: #fff;
+  font-weight: bold; }
+
+/* ShellMountOperation Dialogs */
+.shell-mount-operation-icon {
+  icon-size: 3.27em; }
+
+.mount-dialog {
+  spacing: 24px; }
+  .mount-dialog .message-dialog-title {
+    padding-top: 10px;
+    padding-left: 17px;
+    padding-bottom: 6px;
+    max-width: 34em; }
+  .mount-dialog .message-dialog-title:rtl {
+    padding-left: 0px;
+    padding-right: 17px; }
+  .mount-dialog .message-dialog-body {
+    padding-left: 17px;
+    width: 28em; }
+  .mount-dialog .message-dialog-body:rtl {
+    padding-left: 0px;
+    padding-right: 17px; }
+
+.mount-dialog-app-list {
+  max-height: 200px;
+  padding-top: 24px;
+  padding-left: 49px;
+  padding-right: 32px; }
+
+.mount-dialog-app-list:rtl {
+  padding-right: 49px;
+  padding-left: 32px; }
+
+.mount-dialog-app-list-item {
+  color: white; }
+  .mount-dialog-app-list-item:hover {
+    color: #fff; }
+  .mount-dialog-app-list-item:ltr {
+    padding-right: 1em; }
+  .mount-dialog-app-list-item:rtl {
+    padding-left: 1em; }
+
+.mount-dialog-app-list-item-icon:ltr {
+  padding-right: 17px; }
+.mount-dialog-app-list-item-icon:rtl {
+  padding-left: 17px; }
+
+.mount-dialog-app-list-item-name {
+  font-size: 10pt; }
+
+/* Password or Authentication Dialog */
+.prompt-dialog {
+  width: 34em; }
+  .prompt-dialog .message-dialog-main-layout {
+    spacing: 24px;
+    padding: 10px; }
+  .prompt-dialog .message-dialog-content {
+    spacing: 24px; }
+  .prompt-dialog .message-dialog-title {
+    color: white; }
+
+.prompt-dialog-description:rtl {
+  text-align: right; }
+
+.prompt-dialog-password-box {
+  spacing: 1em;
+  padding-bottom: 1em; }
+
+.prompt-dialog-error-label, .prompt-dialog-caps-lock-warning {
+  font-size: 10pt;
+  color: #f57900;
+  padding-bottom: 8px; }
+
+.prompt-dialog-info-label {
+  font-size: 10pt;
+  padding-bottom: 8px; }
+
+.hidden {
+  color: rgba(0, 0, 0, 0); }
+
+.prompt-dialog-null-label {
+  font-size: 10pt;
+  padding-bottom: 8px; }
+
+.prompt-dialog-pim-box {
+  spacing: 1em; }
+
+.prompt-dialog-grid {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+.prompt-dialog-keyfiles-box {
+  spacing: 1em; }
+
+.prompt-dialog-button.button {
+  padding: 8px; }
+
+.prompt-dialog-caps-lock-warning {
+  padding-left: 6.2em; }
+
+/* Polkit Dialog */
+.polkit-dialog-user-layout {
+  padding-left: 10px;
+  spacing: 10px; }
+  .polkit-dialog-user-layout:rtl {
+    padding-left: 0px;
+    padding-right: 10px; }
+
+.polkit-dialog-user-root-label {
+  color: #f57900; }
+
+.polkit-dialog-user-icon {
+  border-radius: 99px;
+  background-size: contain;
+  width: 48px;
+  height: 48px; }
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+  spacing: 30px; }
+
+.audio-selection-content {
+  spacing: 20px;
+  padding: 24px; }
+
+.audio-selection-title {
+  font-weight: bold;
+  text-align: center; }
+
+.audio-selection-box {
+  spacing: 20px; }
+
+.audio-selection-device {
+  border: 1px solid black;
+  border-radius: 12px; }
+  .audio-selection-device:hover, .audio-selection-device:focus {
+    background-color: black; }
+  .audio-selection-device:active {
+    background-color: #215d9c;
+    color: #ffffff; }
+
+.audio-selection-device-box {
+  padding: 20px;
+  spacing: 20px; }
+
+.audio-selection-device-icon {
+  icon-size: 4.36em; }
+
+/* Access Dialog */
+.access-dialog {
+  spacing: 30px; }
+
+/* Geolocation Dialog */
+.geolocation-dialog {
+  spacing: 30px; }
+
+/* Extension Dialog */
+.extension-dialog .message-dialog-main-layout {
+  spacing: 24px;
+  padding: 10px; }
+.extension-dialog .message-dialog-title {
+  font-weight: normal;
+  color: #fff; }
+
+/* Inhibit-Shortcuts Dialog */
+.inhibit-shortcuts-dialog {
+  spacing: 30px; }
+
+/* Network Agent Dialog */
+.network-dialog-secret-table {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+.keyring-dialog-control-table {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+/* End Session Dialog */
+.end-session-dialog {
+  spacing: 6px;
+  border: 1px solid black; }
+
+.end-session-dialog-list {
+  padding-top: 20px; }
+
+.end-session-dialog-layout {
+  padding-left: 17px; }
+  .end-session-dialog-layout:rtl {
+    padding-right: 17px; }
+
+.end-session-dialog-description {
+  width: 28em;
+  padding-bottom: 10px; }
+  .end-session-dialog-description:rtl {
+    text-align: right; }
+
+.end-session-dialog-warning {
+  width: 28em;
+  color: #f57900;
+  padding-top: 6px; }
+  .end-session-dialog-warning:rtl {
+    text-align: right; }
+
+.end-session-dialog-logout-icon {
+  border-radius: 99px;
+  width: 3.27em;
+  height: 3.27em;
+  background-size: contain; }
+
+.end-session-dialog-shutdown-icon {
+  color: #fff;
+  width: 3.27em;
+  height: 3.27em; }
+
+.end-session-dialog-inhibitor-layout {
+  spacing: 24px;
+  max-height: 200px;
+  padding-right: 65px;
+  padding-left: 65px; }
+
+.end-session-dialog-session-list,
+.end-session-dialog-app-list {
+  spacing: 1em; }
+
+.end-session-dialog-list-header {
+  font-weight: bold; }
+  .end-session-dialog-list-header:rtl {
+    text-align: right; }
+
+.end-session-dialog-app-list-item,
+.end-session-dialog-session-list-item {
+  spacing: 1em; }
+
+.end-session-dialog-app-list-item-name,
+.end-session-dialog-session-list-item-name {
+  font-weight: bold; }
+
+.end-session-dialog-app-list-item-description {
+  color: #f2f2f2;
+  font-size: 10pt; }
+
+/* Entries */
+StEntry {
+  border-radius: 5px;
+  padding: 4px;
+  border-width: 1px;
+  color: #fff;
+  background-color: #222;
+  border-color: black;
+  selection-background-color: #215d9c;
+  selected-color: #ffffff; }
+  StEntry:focus {
+    border-color: rgba(166, 166, 166, 0.5); }
+  StEntry:insensitive {
+    color: gray;
+    border-color: #0e0e0e;
+    box-shadow: none; }
+  StEntry StIcon.capslock-warning {
+    icon-size: 16px;
+    warning-color: #f57900;
+    padding: 0 4px; }
+  StEntry StIcon.peek-password {
+    icon-size: 1.09em;
+    padding: 0 4px; }
+
+.hotplug-transient-box {
+  spacing: 6px;
+  padding: 2px 72px 2px 12px; }
+
+.hotplug-notification-item {
+  border: none;
+  box-shadow: none;
+  padding: 2px 10px; }
+  .hotplug-notification-item:focus {
+    padding: 1px 71px 1px 11px; }
+
+.hotplug-notification-item-icon {
+  icon-size: 24px;
+  padding: 2px 5px; }
+
+.hotplug-resident-box {
+  spacing: 12px; }
+
+.hotplug-resident-mount {
+  spacing: 12px;
+  border-radius: 4px; }
+  .hotplug-resident-mount:hover {
+    background-color: black; }
+
+.hotplug-resident-mount-label {
+  color: inherit;
+  padding-left: 6px; }
+
+.hotplug-resident-mount-icon {
+  icon-size: 24px;
+  padding-left: 6px; }
+
+.hotplug-resident-eject-icon {
+  icon-size: 16px; }
+
+.hotplug-resident-eject-button {
+  padding: 7px;
+  border-radius: 5px;
+  color: pink; }
+
+.candidate-popup-content {
+  padding: 0.5em;
+  spacing: 0.3em; }
+
+.candidate-index {
+  padding: 0 0.5em 0 0;
+  color: #e6e6e6; }
+
+.candidate-box {
+  padding: 0.3em 0.5em 0.3em 0.5em;
+  border-radius: 5px; }
+  .candidate-box:selected, .candidate-box:hover {
+    background-color: #215d9c;
+    color: #ffffff; }
+
+.candidate-page-button-box {
+  height: 2em; }
+  .vertical .candidate-page-button-box {
+    padding-top: 0.5em; }
+  .horizontal .candidate-page-button-box {
+    padding-left: 0.5em; }
+
+.candidate-page-button {
+  padding: 4px; }
+
+.candidate-page-button-previous {
+  border-radius: 5px 0px 0px 5px;
+  border-right-width: 0; }
+
+.candidate-page-button-next {
+  border-radius: 0px 5px 5px 0px; }
+
+.candidate-page-button-icon {
+  icon-size: 1em; }
+
+/* On-screen Keyboard */
+.keyboard-key, .keyboard-subkeys .keyboard-key {
+  color: #fff;
+  background-color: #080808 !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: black;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+  icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .keyboard-key:focus {
+    color: #fff;
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    box-shadow: inset 0 0 0 2px rgba(33, 93, 156, 0.3); }
+  .keyboard-key:hover, .keyboard-key:checked {
+    color: #fff;
+    background-color: #141414 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .keyboard-key:active {
+    color: #fff;
+    background-color: black !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+#keyboard {
+  background-color: rgba(0, 0, 0, 0.9);
+  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.1) !important; }
+  #keyboard .page-indicator {
+    padding: 6px; }
+    #keyboard .page-indicator .page-indicator-icon {
+      width: 6px;
+      height: 6px; }
+      #keyboard .page-indicator .page-indicator-icon:checked {
+        background-color: red; }
+
+.key-container {
+  padding: 4px;
+  spacing: 4px; }
+
+.keyboard-key {
+  font-size: 16pt;
+  min-height: 1.2em;
+  min-width: 1.2em;
+  border-radius: 8px; }
+  .keyboard-key:grayed {
+    background-color: black;
+    color: #eeeeec;
+    border-color: rgba(0, 0, 0, 0.3); }
+  .keyboard-key.default-key {
+    background-size: 24px;
+    color: #fff;
+    background-color: #1b1f20 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1) !important; }
+    .keyboard-key.default-key:hover, .keyboard-key.default-key:checked {
+      color: #fff;
+      background-color: #272c2e !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: black;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+      text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+    .keyboard-key.default-key:active {
+      color: #fff;
+      background-color: #0d0f0f !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: black;
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none; }
+  .keyboard-key.enter-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
+    color: #ffffff;
+    background-color: #2365a9 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #113050;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1) !important; }
+    .keyboard-key.enter-key:hover, .keyboard-key.enter-key:checked {
+      color: #fff;
+      background-color: #2b79cb !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #1a497a;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+      text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+    .keyboard-key.enter-key:active {
+      color: #fff;
+      background-color: #1c5187 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #0f2b48;
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none; }
+  .keyboard-key.shift-key-lowercase {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift.svg"); }
+  .keyboard-key.shift-key-uppercase {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg"); }
+  .keyboard-key.shift-key-uppercase:latched {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg"); }
+  .keyboard-key.hide-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-hide.svg"); }
+  .keyboard-key.layout-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-layout.svg"); }
+
+.keyboard-subkeys {
+  color: #eeeeec;
+  -arrow-border-radius: 10px;
+  -arrow-background-color: #2e3436;
+  -arrow-border-width: 1px;
+  -arrow-border-color: #434c4f;
+  -arrow-base: 20px;
+  -arrow-rise: 10px;
+  -boxpointer-gap: 6px; }
+  .keyboard-subkeys .keyboard-key {
+    border-radius: 5px; }
+
+.emoji-page .keyboard-key {
+  background-color: transparent;
+  border: none;
+  color: initial; }
+
+.emoji-panel .keyboard-key:latched {
+  border-color: #256ab1;
+  background-color: #215d9c; }
+
+.word-suggestions {
+  font-size: 14pt;
+  spacing: 12px;
+  min-height: 20pt; }
+
+/* Login Dialog */
+.login-dialog-banner-view {
+  padding-top: 24px;
+  max-width: 23em; }
+
+.login-dialog {
+  border: none;
+  background-color: transparent; }
+  .login-dialog StEntry {
+    border-radius: 5px; }
+  .login-dialog .modal-dialog-button-box {
+    spacing: 3px; }
+  .login-dialog .modal-dialog-button {
+    padding: 4px 18px;
+    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+    background-color: #5b666a;
+    border-color: #5b666a;
+    color: #fff; }
+    .login-dialog .modal-dialog-button:hover, .login-dialog .modal-dialog-button:focus {
+      background-color: #667478;
+      border-color: #667478; }
+    .login-dialog .modal-dialog-button:active {
+      box-shadow: none;
+      background-color: #4f595d;
+      border-color: #4f595d; }
+    .login-dialog .modal-dialog-button:insensitive {
+      color: gray;
+      border-width: 1px;
+      border-style: solid;
+      border-color: black;
+      background-color: #0e0e0e !important;
+      box-shadow: none;
+      text-shadow: none;
+      icon-shadow: none;
+      border-color: #4f595d;
+      background-color: #4f595d;
+      color: rgba(255, 255, 255, 0.7); }
+    .login-dialog .modal-dialog-button:default {
+      color: #ffffff;
+      background-color: #2365a9 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #113050;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+      text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+      border-color: #215d9c; }
+      .login-dialog .modal-dialog-button:default:hover, .login-dialog .modal-dialog-button:default:focus {
+        color: #ffffff;
+        background-color: #2871be !important;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #17426e;
+        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+        text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+        icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+        background-color: #256ab1;
+        border-color: #256ab1; }
+      .login-dialog .modal-dialog-button:default:active {
+        color: #ffffff;
+        background-color: #1e5690 !important;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #113050;
+        text-shadow: none;
+        icon-shadow: none;
+        box-shadow: none;
+        background-color: #1c5187;
+        border-color: #1c5187; }
+      .login-dialog .modal-dialog-button:default:insensitive {
+        color: gray;
+        border-width: 1px;
+        border-style: solid;
+        border-color: black;
+        background-color: #0e0e0e !important;
+        box-shadow: none;
+        text-shadow: none;
+        icon-shadow: none;
+        border-color: #184472;
+        background-color: #184472;
+        color: rgba(255, 255, 255, 0.7); }
+
+.login-dialog-logo-bin {
+  padding: 24px 0px; }
+
+.login-dialog-banner {
+  color: #d6d6d1; }
+
+.login-dialog-button-box {
+  spacing: 5px; }
+
+.login-dialog-message-warning {
+  color: #f57900; }
+
+.login-dialog-message-hint {
+  padding-top: 0;
+  padding-bottom: 20px; }
+
+.login-dialog-user-selection-box {
+  padding: 100px 0px; }
+
+.login-dialog-not-listed-label {
+  padding-left: 2px; }
+  .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, 
.login-dialog-not-listed-button:hover .login-dialog-not-listed-label {
+    color: #eeeeec; }
+
+.login-dialog-not-listed-label {
+  font-size: 90%;
+  font-weight: bold;
+  color: #a6a69b;
+  padding-top: 1em; }
+
+.login-dialog-user-list-view {
+  -st-vfade-offset: 1em; }
+
+.login-dialog-user-list {
+  spacing: 12px;
+  width: 23em; }
+  .login-dialog-user-list:expanded .login-dialog-user-list-item:selected {
+    background-color: #215d9c;
+    color: #ffffff; }
+  .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in {
+    border-right: 2px solid #215d9c; }
+
+.login-dialog-user-list-item {
+  border-radius: 5px;
+  padding: 6px;
+  color: #a6a69b; }
+  .login-dialog-user-list-item:ltr .user-widget {
+    padding-right: 1em; }
+  .login-dialog-user-list-item:rtl .user-widget {
+    padding-left: 1em; }
+  .login-dialog-user-list-item .login-dialog-timed-login-indicator {
+    height: 2px;
+    margin-top: 6px;
+    background-color: #eeeeec; }
+  .login-dialog-user-list-item:focus .login-dialog-timed-login-indicator {
+    background-color: #ffffff; }
+
+.login-dialog-username,
+.user-widget-label {
+  color: #eeeeec;
+  font-size: 120%;
+  font-weight: bold;
+  text-align: left;
+  padding-left: 15px; }
+
+.user-widget-label:ltr {
+  padding-left: 14px; }
+.user-widget-label:rtl {
+  padding-right: 14px; }
+
+.login-dialog-prompt-layout {
+  padding-top: 24px;
+  padding-bottom: 12px;
+  spacing: 12px;
+  width: 23em; }
+
+.login-dialog-prompt-label {
+  color: #bebeb6;
+  font-size: 110%;
+  padding-top: 1em; }
+
+.login-dialog-session-list-button StIcon {
+  icon-size: 1.25em; }
+
+.login-dialog-session-list-button {
+  color: #a6a69b; }
+  .login-dialog-session-list-button:hover, .login-dialog-session-list-button:focus {
+    color: #eeeeec; }
+  .login-dialog-session-list-button:active {
+    color: #747467; }
+
+/* Looking Glass */
+#LookingGlassDialog {
+  background-color: #2e3436;
+  spacing: 6px;
+  padding: 4px;
+  border: 2px solid rgba(238, 238, 236, 0.2);
+  border-top-width: 0;
+  border-radius: 0 0 5px 5px; }
+  #LookingGlassDialog > #Toolbar {
+    border: none;
+    border-radius: 5px;
+    background-color: #17191a; }
+  #LookingGlassDialog .labels {
+    spacing: 6px; }
+  #LookingGlassDialog .notebook-tab {
+    -natural-hpadding: 12px;
+    -minimum-hpadding: 6px;
+    font-weight: bold;
+    color: #fff;
+    transition-duration: 100ms;
+    padding-left: .3em;
+    padding-right: .3em; }
+    #LookingGlassDialog .notebook-tab:hover {
+      color: white;
+      text-shadow: black 0px 2px 2px; }
+    #LookingGlassDialog .notebook-tab:selected {
+      border-bottom-width: 2px;
+      border-color: #256ab1;
+      color: white;
+      text-shadow: black 0px 2px 2px; }
+  #LookingGlassDialog StBoxLayout#EvalBox {
+    padding: 4px;
+    spacing: 6px; }
+  #LookingGlassDialog StBoxLayout#ResultsArea {
+    spacing: 6px; }
+
+.lg-dialog StEntry {
+  selection-background-color: #bbbbbb;
+  selected-color: #2e3436; }
+.lg-dialog .shell-link {
+  color: #999999; }
+  .lg-dialog .shell-link:hover {
+    color: #dddddd; }
+
+.lg-completions-text {
+  font-size: .9em;
+  font-style: italic; }
+
+.lg-obj-inspector-title {
+  spacing: 6px; }
+
+.lg-obj-inspector-button {
+  border: 1px solid gray;
+  padding: 4px;
+  border-radius: 5px; }
+  .lg-obj-inspector-button:hover {
+    border: 1px solid #ffffff; }
+
+#lookingGlassExtensions {
+  padding: 4px; }
+
+.lg-extensions-list {
+  padding: 4px;
+  spacing: 6px; }
+
+.lg-extension {
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  border-radius: 5px;
+  padding: 4px; }
+
+.lg-extension-name {
+  font-weight: bold; }
+
+.lg-extension-meta {
+  spacing: 6px; }
+
+#LookingGlassPropertyInspector {
+  background: #2e3436;
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  border-radius: 5px;
+  padding: 6px; }
+
+/* Message List */
+.message-list {
+  width: 31.5em;
+  padding: 0 12px; }
+
+.message-list-sections {
+  margin: 0;
+  spacing: 6px; }
+
+.message-list-section,
+.message-list-section-list {
+  spacing: 6px; }
+
+.message-list-section-list:ltr {
+  padding: 0; }
+.message-list-section-list:rtl {
+  padding: 0; }
+
+.message-list-clear-button {
+  margin: 4px; }
+
+.message .message-title {
+  color: #fff;
+  font-weight: bold;
+  margin-bottom: 4px; }
+.message .message-content {
+  color: #e6e6e6;
+  padding: 6px 0;
+  margin: 8px; }
+  .message .message-content:ltr {
+    margin-left: 4px;
+    padding-right: 6px; }
+  .message .message-content:rtl {
+    margin-right: 4px;
+    padding-left: 6px; }
+.message .message-close-button {
+  color: white; }
+  .message .message-close-button:hover {
+    color: #e6e6e6; }
+.message .message-icon-bin {
+  margin: 6px 0; }
+  .message .message-icon-bin > StIcon {
+    color: #fff;
+    icon-size: 2.18em;
+    -st-icon-style: symbolic;
+    padding: 0;
+    margin: 6px; }
+  .message .message-icon-bin > .fallback-window-icon {
+    width: 1.09em;
+    height: 1.09em; }
+.message .message-secondary-bin {
+  padding: 0; }
+  .message .message-secondary-bin > .event-time {
+    color: rgba(255, 255, 255, 0.5);
+    font-size: 80%;
+    text-align: right;
+    margin: 0 8px;
+    /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
+    padding-bottom: 6px; }
+
+/* Media Controls */
+.message-media-control {
+  padding: 12px 24px;
+  color: #d9d9d9; }
+  .message-media-control:hover {
+    background-color: #0d0d0d;
+    color: #fff; }
+  .message-media-control:active {
+    background-color: black;
+    color: #fff; }
+  .message-media-control:insensitive {
+    color: #999999; }
+  .message-media-control:last-child:ltr:hover {
+    border-radius: 0 7px 7px 0; }
+  .message-media-control:last-child:rtl:hover {
+    border-radius: 7px 0 0 7px; }
+
+.media-message-cover-icon {
+  icon-size: 2.18em !important;
+  border-radius: 5px; }
+  .media-message-cover-icon.fallback {
+    color: #d4d4d4;
+    background-color: #000;
+    border: 1px solid transparent;
+    border-radius: 5px;
+    icon-size: 2.18em !important;
+    padding: 12px; }
+
+/* Notifications & Mesage Tray */
+.notification-banner {
+  min-height: 64px;
+  width: 34em;
+  font-size: 11;
+  margin: 4px;
+  border-radius: 10px; }
+  .notification-banner .message-title {
+    color: #fff; }
+  .notification-banner .message-content {
+    color: #fff; }
+  .notification-banner:hover {
+    background: #000; }
+  .notification-banner, .notification-banner:focus, .notification-banner:active {
+    background-color: #000; }
+    .notification-banner .message-title, .notification-banner:focus .message-title, 
.notification-banner:active .message-title {
+      color: #fff; }
+    .notification-banner .message-content, .notification-banner:focus .message-content, 
.notification-banner:active .message-content {
+      color: #fff; }
+  .notification-banner .message-icon-bin > StIcon {
+    icon-size: 2.18em;
+    color: #fff; }
+  .notification-banner .notification-icon {
+    padding: 5px; }
+  .notification-banner .notification-content {
+    padding: 5px;
+    spacing: 5px; }
+  .notification-banner .secondary-icon {
+    icon-size: 1.09em; }
+  .notification-banner .notification-actions {
+    padding-top: 0;
+    color: #fff;
+    border-top: 1px solid black;
+    spacing: 0; }
+  .notification-banner .notification-button {
+    min-height: 32px;
+    padding: 6px !important;
+    border-top-width: 0 !important; }
+    .notification-banner .notification-button:focus {
+      box-shadow: none; }
+
+.summary-source-counter {
+  font-size: 10pt;
+  font-weight: bold;
+  height: 1.6em;
+  width: 1.6em;
+  -shell-counter-overlap-x: 3px;
+  -shell-counter-overlap-y: 3px;
+  background-color: #215d9c;
+  color: #ffffff;
+  border: 2px solid #fff;
+  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
+  border-radius: 0.9em; }
+
+.secondary-icon {
+  icon-size: 1.09em; }
+
+.chat-body {
+  spacing: 5px; }
+
+.chat-response {
+  margin: 5px; }
+
+.chat-log-message {
+  color: #e6e6e6; }
+
+.chat-new-group {
+  padding-top: 1em; }
+
+.chat-received {
+  padding-left: 4px; }
+  .chat-received:rtl {
+    padding-left: 0px;
+    padding-right: 4px; }
+
+.chat-sent {
+  padding-left: 18pt;
+  color: white; }
+  .chat-sent:rtl {
+    padding-left: 0;
+    padding-right: 18pt; }
+
+.chat-meta-message {
+  padding-left: 4px;
+  font-size: 9pt;
+  font-weight: bold;
+  color: white; }
+  .chat-meta-message:rtl {
+    padding-left: 0;
+    padding-right: 4px; }
+
+.shell-link {
+  color: #4a90d9; }
+  .shell-link:hover {
+    color: #74aae2; }
+
+.url-highlighter {
+  link-color: #4a90d9; }
+
+.select-area-rubberband {
+  background-color: rgba(33, 93, 156, 0.3);
+  border: 1px solid #215d9c; }
+
+.pie-timer {
+  width: 60px;
+  height: 60px;
+  -pie-border-width: 3px;
+  -pie-border-color: #215d9c;
+  -pie-background-color: rgba(158, 196, 235, 0.3); }
+
+.magnifier-zoom-region {
+  border: 2px solid #215d9c; }
+  .magnifier-zoom-region.full-screen {
+    border-width: 0; }
+
+.user-icon {
+  background-size: contain;
+  color: #eeeeec;
+  border-radius: 99px; }
+  .user-icon:hover {
+    color: white; }
+
+.input-source-switcher-symbol {
+  font-size: 34pt;
+  width: 96px;
+  height: 96px; }
+
+.cycler-highlight {
+  border: 5px solid #215d9c; }
+
+.headline {
+  font-size: 110%; }
+
+.lightbox {
+  background-color: black; }
+
+.flashspot {
+  background-color: white; }
+
+/* Network Dialogs */
+.nm-dialog {
+  max-height: 34em;
+  min-height: 31em;
+  min-width: 32em; }
+
+.nm-dialog-content {
+  spacing: 20px;
+  padding: 24px; }
+
+.nm-dialog-airplane-box {
+  spacing: 12px; }
+
+.nm-dialog-airplane-headline {
+  font-weight: bold;
+  text-align: center; }
+
+.nm-dialog-airplane-text {
+  color: #fff; }
+
+.nm-dialog-header {
+  font-weight: bold; }
+
+.nm-dialog-header-icon {
+  icon-size: 2.18em; }
+
+.nm-dialog-header-hbox {
+  spacing: 10px; }
+
+.nm-dialog-scroll-view {
+  border: 1px solid black;
+  padding: 0;
+  background-color: black; }
+
+.nm-dialog-item {
+  font-size: 11;
+  border-bottom: 1px solid black;
+  padding: 12px;
+  spacing: 0px; }
+  .nm-dialog-item:selected {
+    background-color: #215d9c;
+    color: #ffffff; }
+
+.nm-dialog-icon {
+  icon-size: 1.09em; }
+
+.nm-dialog-icons {
+  spacing: 12px; }
+
+.no-networks-label {
+  color: gray; }
+
+.no-networks-box {
+  spacing: 6px; }
+
+/* OSD */
+.osd-window {
+  text-align: center;
+  font-weight: bold;
+  spacing: 1em;
+  margin: 32px;
+  min-width: 64px;
+  min-height: 64px; }
+  .osd-window .osd-monitor-label {
+    font-size: 3em; }
+  .osd-window .level {
+    height: 0.6em;
+    -barlevel-height: 0.6em;
+    -barlevel-background-color: rgba(255, 255, 255, 0.8);
+    -barlevel-active-background-color: #eeeeec;
+    -barlevel-overdrive-color: #d51010;
+    -barlevel-overdrive-separator-width: 0.2em; }
+
+/* Pad OSD */
+.pad-osd-window {
+  padding: 32px;
+  background-color: rgba(0, 0, 0, 0.8); }
+  .pad-osd-window .pad-osd-title-box {
+    spacing: 12px; }
+  .pad-osd-window .pad-osd-title-menu-box {
+    spacing: 6px; }
+
+.combo-box-label {
+  width: 15em; }
+
+/* OVERVIEW */
+#overview {
+  spacing: 24px;
+  background-color: transparent; }
+
+.overview-controls {
+  padding-bottom: 32px; }
+
+/* Top Bar */
+#panel {
+  background-color: rgba(0, 0, 0, 0.9);
+  font-weight: bold;
+  height: 1.86em;
+  font-feature-settings: "tnum"; }
+  #panel.unlock-screen, #panel.login-screen, #panel.lock-screen {
+    background-color: transparent; }
+    #panel.unlock-screen .panel-corner, #panel.login-screen .panel-corner, #panel.lock-screen .panel-corner {
+      -panel-corner-radius: 0;
+      -panel-corner-background-color: transparent;
+      -panel-corner-border-color: transparent; }
+  #panel #panelLeft, #panel #panelCenter {
+    spacing: 6px; }
+  #panel .panel-corner {
+    -panel-corner-radius: 6px;
+    -panel-corner-background-color: rgba(0, 0, 0, 0.9);
+    -panel-corner-border-width: 2px;
+    -panel-corner-border-color: transparent; }
+    #panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
+      -panel-corner-border-color: #256ab1; }
+  #panel .panel-button {
+    font-weight: bold;
+    color: black;
+    -natural-hpadding: 12px;
+    -minimum-hpadding: 6px; }
+    #panel .panel-button:hover {
+      color: #333333; }
+    #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel 
.panel-button:checked {
+      background-color: rgba(0, 0, 0, 0.9);
+      box-shadow: inset 0 -2px 0 0 #256ab1;
+      color: #333333; }
+    #panel .panel-button .system-status-icon {
+      icon-size: 1.09em;
+      padding: 5px; }
+    #panel .panel-button .app-menu-icon {
+      margin-left: 4px;
+      margin-right: 4px;
+      -st-icon-style: symbolic; }
+    .unlock-screen #panel .panel-button, .login-screen #panel .panel-button, .lock-screen #panel 
.panel-button {
+      color: white; }
+      .unlock-screen #panel .panel-button:focus, .unlock-screen #panel .panel-button:hover, .unlock-screen 
#panel .panel-button:active, .login-screen #panel .panel-button:focus, .login-screen #panel 
.panel-button:hover, .login-screen #panel .panel-button:active, .lock-screen #panel .panel-button:focus, 
.lock-screen #panel .panel-button:hover, .lock-screen #panel .panel-button:active {
+        color: white; }
+  #panel .panel-status-indicators-box,
+  #panel .panel-status-menu-box {
+    spacing: 2px; }
+  #panel .power-status.panel-status-indicators-box {
+    spacing: 0; }
+  #panel .screencast-indicator,
+  #panel .remote-access-indicator {
+    color: #f57900; }
+
+#appMenu {
+  spacing: 6px; }
+  #appMenu .label-shadow {
+    color: transparent; }
+
+/* Popovers/Menus */
+.popup-menu-boxpointer,
+.candidate-popup-boxpointer {
+  -arrow-border-radius: 9px;
+  -arrow-background-color: #000;
+  -arrow-border-width: 1px;
+  -arrow-border-color: black;
+  -arrow-base: 24px;
+  -arrow-rise: 12px;
+  -arrow-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
+
+.popup-menu {
+  min-width: 15em;
+  color: #fff; }
+  .popup-menu.panel-menu {
+    -boxpointer-gap: 4px;
+    margin-bottom: 1.75em; }
+
+.popup-menu-content {
+  padding: 16px 0; }
+
+.popup-menu-item {
+  spacing: 6px;
+  padding: 6px; }
+  .popup-menu-item:ltr {
+    padding-right: 1.75em;
+    padding-left: 0; }
+  .popup-menu-item:rtl {
+    padding-right: 0;
+    padding-left: 1.75em; }
+  .popup-menu-item:checked {
+    background-color: #050505;
+    box-shadow: none; }
+  .popup-menu-item.selected {
+    background-color: rgba(255, 255, 255, 0.8);
+    color: #fff; }
+  .popup-menu-item:active {
+    background-color: #215d9c;
+    color: #ffffff; }
+  .popup-menu-item:insensitive {
+    color: rgba(255, 255, 255, 0.5); }
+
+.popup-inactive-menu-item {
+  color: #fff; }
+  .popup-inactive-menu-item:insensitive {
+    color: rgba(255, 255, 255, 0.5); }
+
+.popup-menu-arrow,
+.popup-menu-icon {
+  icon-size: 1.09em; }
+
+.popup-sub-menu {
+  background-color: black;
+  box-shadow: none;
+  border-top: 1px solid rgba(0, 0, 0, 0.8);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.8); }
+  .popup-sub-menu .popup-menu-item:hover {
+    background-color: black; }
+
+.popup-menu-ornament {
+  text-align: right;
+  width: 1.2em; }
+
+.popup-separator-menu-item {
+  height: 1px;
+  margin: 6px 64px;
+  background-color: #050505;
+  border: none !important; }
+
+.background-menu {
+  -boxpointer-gap: 4px;
+  -arrow-rise: 0px; }
+
+.aggregate-menu {
+  min-width: 21em; }
+  .aggregate-menu .popup-menu-icon {
+    padding: 0;
+    margin: 0 4px;
+    -st-icon-style: symbolic; }
+  .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:ltr {
+    padding-left: 14px;
+    margin-left: 1.09em; }
+  .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:rtl {
+    padding-right: 14px;
+    margin-right: 1.09em; }
+
+/* Screen Shield */
+.screen-shield-arrows {
+  padding-bottom: 3em; }
+
+.screen-shield-arrows Gjs_Arrow {
+  color: white;
+  width: 80px;
+  height: 48px;
+  -arrow-thickness: 12px;
+  -arrow-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726); }
+
+.screen-shield-clock {
+  color: white;
+  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+  font-weight: bold;
+  text-align: center;
+  padding-bottom: 1.5em; }
+
+.screen-shield-clock-time {
+  font-size: 72pt;
+  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+  font-feature-settings: "tnum"; }
+
+.screen-shield-clock-date {
+  font-size: 28pt;
+  font-weight: normal; }
+
+.screen-shield-notifications-container {
+  spacing: 6px;
+  width: 30em;
+  background-color: transparent;
+  max-height: 500px; }
+  .screen-shield-notifications-container .summary-notification-stack-scrollview {
+    padding-top: 0;
+    padding-bottom: 0; }
+  .screen-shield-notifications-container .notification,
+  .screen-shield-notifications-container .screen-shield-notification-source {
+    padding: 12px 6px;
+    border: 1px solid rgba(255, 255, 255, 0.1);
+    background-color: rgba(46, 52, 54, 0.5);
+    color: #eeeeec;
+    border-radius: 4px; }
+  .screen-shield-notifications-container .notification {
+    margin-right: 15px; }
+
+.screen-shield-notification-label {
+  font-weight: bold;
+  padding: 0px 0px 0px 12px; }
+
+.screen-shield-notification-count-text {
+  padding: 0px 0px 0px 12px; }
+
+#panel.lock-screen {
+  background-color: rgba(46, 52, 54, 0.5); }
+
+.screen-shield-background {
+  background: black;
+  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.6); }
+
+#lockDialogGroup {
+  background: #41494c url(resource:///org/gnome/shell/theme/noise-texture.png);
+  background-repeat: repeat; }
+
+#screenShieldNotifications StButton#vhandle, #screenShieldNotifications StButton#hhandle {
+  background-color: rgba(0, 0, 0, 0.3); }
+  #screenShieldNotifications StButton#vhandle:hover, #screenShieldNotifications StButton#vhandle:focus, 
#screenShieldNotifications StButton#hhandle:hover, #screenShieldNotifications StButton#hhandle:focus {
+    background-color: rgba(0, 0, 0, 0.5); }
+  #screenShieldNotifications StButton#vhandle:active, #screenShieldNotifications StButton#hhandle:active {
+    background-color: rgba(33, 93, 156, 0.5); }
+
+/* Scrollbars */
+StScrollView.vfade {
+  -st-vfade-offset: 68px; }
+StScrollView.hfade {
+  -st-hfade-offset: 68px; }
+
+StScrollBar {
+  padding: 0; }
+  StScrollView StScrollBar {
+    min-width: 14px;
+    min-height: 14px; }
+  StScrollBar StBin#trough {
+    border-radius: 0;
+    background-color: transparent; }
+  StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
+    border-radius: 8px;
+    background-color: #999999;
+    margin: 3px; }
+    StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
+      background-color: #cccccc; }
+    StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
+      background-color: #215d9c; }
+
+.login-dialog StEntry,
+.search-entry {
+  width: 320px;
+  padding: 7px 9px;
+  border-radius: 18px;
+  color: rgba(255, 255, 255, 0.7);
+  background-color: #000;
+  border-color: black; }
+  .login-dialog StEntry:hover,
+  .search-entry:hover {
+    background-color: black;
+    border-color: #0d0d0d;
+    color: #f2f2f2; }
+  .login-dialog StEntry:focus,
+  .search-entry:focus {
+    padding: 6px 8px;
+    border-width: 2px;
+    color: #fff;
+    border-color: #215d9c;
+    box-shadow: inset 0 1px 2px 1px rgba(0, 0, 0, 0.2); }
+  .login-dialog StEntry .search-entry-icon,
+  .search-entry .search-entry-icon {
+    icon-size: 1.09em;
+    padding: 0 4px;
+    color: inherit; }
+
+/* Search */
+.search-section {
+  background-color: rgba(58, 65, 68, 0.8);
+  border-radius: 13px;
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.2);
+  color: #eeeeec;
+  padding: 18px;
+  margin: 4px; }
+
+#searchResultsContent {
+  max-width: 1024px; }
+
+.search-section {
+  spacing: 0;
+  margin-top: 0;
+  margin-bottom: 0; }
+  .search-section:first-child .search-section-separator, .search-section:last-child 
.search-section-separator {
+    background-color: transparent; }
+  .search-section .search-section-separator {
+    height: 0px;
+    background-color: transparent; }
+  .search-section .search-section-content {
+    spacing: 0; }
+
+.grid-search-result > .overview-icon {
+  color: #eeeeec; }
+.grid-search-result > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+.grid-search-result:hover .overview-icon, .grid-search-result:focus .overview-icon, 
.grid-search-result:selected .overview-icon {
+  background-color: rgba(46, 52, 54, 0.2);
+  color: #eeeeec; }
+.grid-search-result:drop .overview-icon {
+  background-color: rgba(33, 93, 156, 0.85); }
+.grid-search-result:active .overview-icon, .grid-search-result:checked .overview-icon {
+  background-color: rgba(23, 25, 26, 0.5); }
+
+.search-provider-icon {
+  padding: 0;
+  spacing: 0;
+  margin-right: 8px; }
+  .search-provider-icon:focus, .search-provider-icon:selected, .search-provider-icon:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .search-provider-icon:active, .search-provider-icon:checked {
+    background-color: rgba(23, 25, 26, 0.9); }
+  .search-provider-icon .list-search-provider-content {
+    spacing: 12px; }
+    .search-provider-icon .list-search-provider-content .list-search-provider-details {
+      width: 120px;
+      margin-top: 0;
+      color: #dbdbd6; }
+
+.list-search-results {
+  spacing: 6px; }
+
+.list-search-result {
+  spacing: 0;
+  padding: 6px;
+  color: #eeeeec; }
+  .list-search-result:focus, .list-search-result:selected, .list-search-result:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .list-search-result:active, .list-search-result:checked {
+    background-color: rgba(23, 25, 26, 0.9); }
+  .list-search-result .list-search-result-content {
+    spacing: 0; }
+  .list-search-result .list-search-result-title {
+    color: #eeeeec;
+    spacing: 12px;
+    padding-right: 6px; }
+  .list-search-result .list-search-result-description {
+    color: #a6a69b; }
+
+/* Search */
+.search-section {
+  background-color: rgba(58, 65, 68, 0.8);
+  border-radius: 13px;
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.2);
+  color: #eeeeec;
+  padding: 18px;
+  margin: 4px; }
+
+#searchResultsContent {
+  max-width: 1024px; }
+
+.search-section {
+  spacing: 0;
+  margin-top: 0;
+  margin-bottom: 0; }
+  .search-section:first-child .search-section-separator, .search-section:last-child 
.search-section-separator {
+    background-color: transparent; }
+  .search-section .search-section-separator {
+    height: 0px;
+    background-color: transparent; }
+  .search-section .search-section-content {
+    spacing: 0; }
+
+.grid-search-result > .overview-icon {
+  color: #eeeeec; }
+.grid-search-result > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+.grid-search-result:hover .overview-icon, .grid-search-result:focus .overview-icon, 
.grid-search-result:selected .overview-icon {
+  background-color: rgba(46, 52, 54, 0.2);
+  color: #eeeeec; }
+.grid-search-result:drop .overview-icon {
+  background-color: rgba(33, 93, 156, 0.85); }
+.grid-search-result:active .overview-icon, .grid-search-result:checked .overview-icon {
+  background-color: rgba(23, 25, 26, 0.5); }
+
+.search-provider-icon {
+  padding: 0;
+  spacing: 0;
+  margin-right: 8px; }
+  .search-provider-icon:focus, .search-provider-icon:selected, .search-provider-icon:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .search-provider-icon:active, .search-provider-icon:checked {
+    background-color: rgba(23, 25, 26, 0.9); }
+  .search-provider-icon .list-search-provider-content {
+    spacing: 12px; }
+    .search-provider-icon .list-search-provider-content .list-search-provider-details {
+      width: 120px;
+      margin-top: 0;
+      color: #dbdbd6; }
+
+.list-search-results {
+  spacing: 6px; }
+
+.list-search-result {
+  spacing: 0;
+  padding: 6px;
+  color: #eeeeec; }
+  .list-search-result:focus, .list-search-result:selected, .list-search-result:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .list-search-result:active, .list-search-result:checked {
+    background-color: rgba(23, 25, 26, 0.9); }
+  .list-search-result .list-search-result-content {
+    spacing: 0; }
+  .list-search-result .list-search-result-title {
+    color: #eeeeec;
+    spacing: 12px;
+    padding-right: 6px; }
+  .list-search-result .list-search-result-description {
+    color: #a6a69b; }
+
+/* Slider */
+.slider {
+  height: 15px;
+  -barlevel-height: 3px;
+  -barlevel-background-color: black;
+  -barlevel-border-width: 1px;
+  -barlevel-border-color: black;
+  -barlevel-active-background-color: #215d9c;
+  -barlevel-active-border-color: #1d538b;
+  -barlevel-overdrive-color: #d51010;
+  -barlevel-overdrive-border-color: #c20f0f;
+  -barlevel-overdrive-separator-width: 1px;
+  -slider-handle-radius: 7.5px;
+  -slider-handle-border-width: 1px;
+  -slider-handle-border-color: black;
+  color: #1a1a1a; }
+  .slider:hover {
+    color: black; }
+  .slider:active {
+    color: black; }
+
+/* Switches */
+.toggle-switch {
+  color: #fff;
+  height: 22px;
+  width: 46px;
+  background-size: contain;
+  background-image: url("resource:///org/gnome/shell/theme/toggle-off.svg"); }
+  .toggle-switch:checked {
+    background-image: url("resource:///org/gnome/shell/theme/toggle-on.svg"); }
+
+/* Tiled window previews */
+.tile-preview {
+  background-color: rgba(33, 93, 156, 0.5);
+  border: 1px solid #215d9c; }
+
+.tile-preview-left.on-primary {
+  border-radius: 6px 0 0 0; }
+
+.tile-preview-right.on-primary {
+  border-radius: 0 6px 0 0; }
+
+.tile-preview-left.tile-preview-right.on-primary {
+  border-radius: 6px 6px 0 0; }
+
+/* Window Picker */
+.window-picker {
+  -horizontal-spacing: 48px;
+  -vertical-spacing: 48px;
+  padding: 64px; }
+  .window-picker.external-monitor {
+    padding: 64px; }
+
+.window-clone-border {
+  border: 6px solid rgba(255, 255, 255, 0.35);
+  border-radius: 7px;
+  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); }
+
+.window-caption {
+  spacing: 24px;
+  color: #ffffff;
+  background-color: rgba(0, 0, 0, 0.5);
+  border: 1px solid rgba(0, 0, 0, 0.6);
+  border-radius: 8px;
+  margin-top: 24px;
+  padding: 4px 12px;
+  font-size: 12pt;
+  font-weight: bold; }
+
+.window-close {
+  background-color: #215d9c;
+  color: #ffffff;
+  border: none;
+  border-radius: 18px;
+  padding: 3px;
+  height: 24px;
+  width: 24px;
+  box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.5);
+  -shell-close-overlap: 12px; }
+  .window-close:hover {
+    background-color: #256ab1; }
+  .window-close:active {
+    background-color: #1c5187; }
+
+/* Workspace Switcher */
+.workspace-switcher-group {
+  padding: 12px; }
+
+.workspace-switcher-container {
+  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.2); }
+
+.workspace-switcher {
+  background: transparent;
+  border: none;
+  border-radius: 0;
+  padding: 0;
+  spacing: 12px; }
+  .workspace-switcher .ws-switcher-box {
+    background: transparent;
+    height: 50px;
+    background-size: 32px;
+    border: 1px solid rgba(238, 238, 236, 0.1);
+    border-radius: 8px; }
+  .workspace-switcher .ws-switcher-active-up,
+  .workspace-switcher .ws-switcher-active-down,
+  .workspace-switcher .ws-switcher-active-left,
+  .workspace-switcher .ws-switcher-active-right {
+    background-color: #215d9c;
+    border: 1px solid #1a497a;
+    color: #ffffff; }
+
+/* Workspace pager */
+.workspace-thumbnails {
+  visible-width: 32px;
+  spacing: 6px;
+  padding: 6px;
+  border-top-left-radius: 0 !important;
+  border-bottom-left-radius: 0 !important;
+  border-right-width: 0 !important; }
+  .workspace-thumbnails:rtl {
+    border-radius: 0 10px 10px 0;
+    border-left-width: 0 !important; }
+  .workspace-thumbnails .placeholder {
+    background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+    background-size: contain;
+    height: 24px; }
+
+.workspace-thumbnail-indicator {
+  border: 3px solid #215d9c;
+  border-radius: 3px;
+  padding: 0px; }
+
+/* Common Stylings */
+.no-frequent-applications-label, .search-statustext {
+  font-size: 2em;
+  font-weight: bold;
+  color: #eeeeec; }
+
+.switcher-list, .osd-window, .resize-popup, .workspace-switcher-container {
+  color: #eeeeec;
+  background-color: #2e3436;
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  border-radius: 14px;
+  padding: 12px; }
+
+#dash, .workspace-thumbnails {
+  color: #eeeeec;
+  background-color: rgba(46, 52, 54, 0.8);
+  border: 1px solid rgba(255, 255, 255, 0.1); }
+
+.app-well-app .overview-icon,
+.app-folder .overview-icon, .show-apps .overview-icon, .grid-search-result > .overview-icon, 
.search-provider-icon, .list-search-result {
+  background-color: transparent;
+  color: #eeeeec;
+  border-radius: 9px;
+  padding: 6px;
+  border: 2px solid transparent;
+  transition-duration: 100ms;
+  text-align: center; }
+
+.modal-dialog, .prompt-dialog, .audio-device-selection-dialog, .access-dialog, .geolocation-dialog, 
.extension-dialog, .inhibit-shortcuts-dialog, .nm-dialog {
+  color: #fff;
+  background-color: #000;
+  border: 1px solid rgba(0, 0, 0, 0.6); }
+  .modal-dialog .button, .prompt-dialog .button, .audio-device-selection-dialog .button, .access-dialog 
.button, .geolocation-dialog .button, .extension-dialog .button, .inhibit-shortcuts-dialog .button, 
.nm-dialog .button {
+    background-color: #000;
+    color: #fff;
+    box-shadow: none; }
+    .modal-dialog .button, .prompt-dialog .button, .audio-device-selection-dialog .button, .access-dialog 
.button, .geolocation-dialog .button, .extension-dialog .button, .inhibit-shortcuts-dialog .button, 
.nm-dialog .button, .modal-dialog .button:hover, .prompt-dialog .button:hover, .audio-device-selection-dialog 
.button:hover, .access-dialog .button:hover, .geolocation-dialog .button:hover, .extension-dialog 
.button:hover, .inhibit-shortcuts-dialog .button:hover, .nm-dialog .button:hover, .modal-dialog 
.button:focus, .prompt-dialog .button:focus, .audio-device-selection-dialog .button:focus, .access-dialog 
.button:focus, .geolocation-dialog .button:focus, .extension-dialog .button:focus, .inhibit-shortcuts-dialog 
.button:focus, .nm-dialog .button:focus, .modal-dialog .button:active, .prompt-dialog .button:active, 
.audio-device-selection-dialog .button:active, .access-dialog .button:active, .geolocation-dialog 
.button:active, .extension-dialog .button:active, .inhibit-short
 cuts-dia
 log .button:active, .nm-dialog .button:active, .modal-dialog .button:disabled, .prompt-dialog 
.button:disabled, .audio-device-selection-dialog .button:disabled, .access-dialog .button:disabled, 
.geolocation-dialog .button:disabled, .extension-dialog .button:disabled, .inhibit-shortcuts-dialog 
.button:disabled, .nm-dialog .button:disabled {
+      border-color: black; }
+    .modal-dialog .button:hover, .prompt-dialog .button:hover, .audio-device-selection-dialog .button:hover, 
.access-dialog .button:hover, .geolocation-dialog .button:hover, .extension-dialog .button:hover, 
.inhibit-shortcuts-dialog .button:hover, .nm-dialog .button:hover {
+      background-color: black; }
+    .modal-dialog .button:active, .prompt-dialog .button:active, .audio-device-selection-dialog 
.button:active, .access-dialog .button:active, .geolocation-dialog .button:active, .extension-dialog 
.button:active, .inhibit-shortcuts-dialog .button:active, .nm-dialog .button:active {
+      background-color: #215d9c;
+      color: #ffffff; }
+    .modal-dialog .button:disabled, .prompt-dialog .button:disabled, .audio-device-selection-dialog 
.button:disabled, .access-dialog .button:disabled, .geolocation-dialog .button:disabled, .extension-dialog 
.button:disabled, .inhibit-shortcuts-dialog .button:disabled, .nm-dialog .button:disabled {
+      color: gray; }
+
+.notification-banner StEntry, .modal-dialog StEntry, .prompt-dialog StEntry, .audio-device-selection-dialog 
StEntry, .access-dialog StEntry, .geolocation-dialog StEntry, .extension-dialog StEntry, 
.inhibit-shortcuts-dialog StEntry, .nm-dialog StEntry {
+  color: #fff;
+  background-color: black;
+  border-color: black;
+  box-shadow: none; }
+  .notification-banner StEntry:focus, .modal-dialog StEntry:focus, .prompt-dialog StEntry:focus, 
.audio-device-selection-dialog StEntry:focus, .access-dialog StEntry:focus, .geolocation-dialog 
StEntry:focus, .extension-dialog StEntry:focus, .inhibit-shortcuts-dialog StEntry:focus, .nm-dialog 
StEntry:focus {
+    border: 2px solid #215d9c; }
+
+.modal-dialog-linked-button, .hotplug-notification-item, .notification-banner .notification-button {
+  color: #fff;
+  background-color: #080808 !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: black;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+  icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+  padding: 12px;
+  border-color: black;
+  border-style: solid;
+  border-width: 0 !important;
+  border-top-width: 1px !important;
+  box-shadow: none !important; }
+  .modal-dialog-linked-button:insensitive, .hotplug-notification-item:insensitive, .notification-banner 
.notification-button:insensitive {
+    color: gray;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    background-color: #0e0e0e !important;
+    box-shadow: none;
+    text-shadow: none;
+    icon-shadow: none; }
+  .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner 
.notification-button:hover {
+    color: #fff;
+    background-color: #141414 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .modal-dialog-linked-button:focus, .hotplug-notification-item:focus, .notification-banner 
.notification-button:focus {
+    color: #fff;
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    box-shadow: inset 0 0 0 2px rgba(33, 93, 156, 0.3); }
+  .modal-dialog-linked-button:active, .hotplug-notification-item:active, .notification-banner 
.notification-button:active {
+    color: #fff;
+    background-color: black !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+  .modal-dialog-linked-button:first-child, .hotplug-notification-item:first-child, .notification-banner 
.notification-button:first-child {
+    border-right-width: 1px !important;
+    border-radius: 0px 0px 0px 8px; }
+  .modal-dialog-linked-button:last-child, .hotplug-notification-item:last-child, .notification-banner 
.notification-button:last-child {
+    border-right-width: 0 !important;
+    border-radius: 0px 0px 8px 0px; }
+  .modal-dialog-linked-button:first-child:last-child, .hotplug-notification-item:first-child:last-child, 
.notification-banner .notification-button:first-child:last-child {
+    border-radius: 0px 0px 8px 8px; }
+
+.button, .message-list-clear-button .button {
+  border-radius: 5px;
+  border-width: 1px;
+  min-height: 22px;
+  padding: 3px 24px;
+  color: #fff;
+  background-color: #080808 !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: black;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+  icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .button:focus {
+    color: #fff;
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    box-shadow: inset 0 0 0 2px rgba(33, 93, 156, 0.3); }
+  .button:hover {
+    color: #fff;
+    background-color: #141414 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .button:insensitive {
+    color: gray;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    background-color: #0e0e0e !important;
+    box-shadow: none;
+    text-shadow: none;
+    icon-shadow: none; }
+  .button:active {
+    color: #fff;
+    background-color: black !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+.datemenu-calendar-column .calendar, .datemenu-calendar-column .datemenu-displays-box .world-clocks-button,
+.datemenu-calendar-column .datemenu-displays-box .weather-button, .message {
+  border-radius: 7px;
+  padding: 0;
+  margin: 4px;
+  color: #fff;
+  background-color: #080808 !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: black;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+  icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .datemenu-calendar-column .calendar:focus, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:focus,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:focus, .message:focus, 
.datemenu-calendar-column .calendar:hover, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:hover,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:hover, .message:hover {
+    color: #fff;
+    background-color: #141414 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.9);
+    text-shadow: 0 1px rgba(255, 255, 255, 0.3);
+    icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+  .datemenu-calendar-column .calendar:active, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:active,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:active, .message:active {
+    color: #fff;
+    background-color: black !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: black;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+stage {
+  -st-icon-style: symbolic; }
+
+.toggle-switch {
+  width: 48px; }
+
+.toggle-switch-us, .toggle-switch-intl {
+  background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); }
+  .toggle-switch-us:checked, .toggle-switch-intl:checked {
+    background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
+
+/*# sourceMappingURL=gnome-shell-high-contrast.css.map */
diff --git a/data/theme/gnome-shell-high-contrast.css.map b/data/theme/gnome-shell-high-contrast.css.map
new file mode 100644
index 0000000000..52c75545ca
--- /dev/null
+++ b/data/theme/gnome-shell-high-contrast.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": 
"AAIA,+CAAoB;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AAEH,mBAAmB;AAoCnB,KAAM;EClDL,SAAS,EAAE,IAAiB;EDoD5B,KAAK,EEzDK,IAAI;;AF4Df,aAAa;AGlEb,cAAc;AAMd,UAAW;EACV,OAAO,EAAE,IAAI;EACb,gCAAgC,EAAE,KAAsC;EACxE,8BAA8B,EAAE,KAAsC;EAEtE,yBAAe;IACd,SAAS,EAVK,IAAI;;AAgBpB,eAAe;AAKf,YAAa;EACZ,WAAW,EAAE,4BAAyB;;AAIvC,gBAAiB;EAChB,WAAW,EAAE,4BAAyB;;AAOtC;0BAAe;EAEd,KAAK,EAAE,eAA6B;AAKpC;;mCAAe;EACd,gBAAgB,EAAE,qBAAiC;EACnD,KAAK,EAzBY,IAAI;AA6BvB;;;mCAE0B;EACzB,gBAAgB,EAAE,wBAAiC;EACnD,KAAK,ED/BQ,OAAO;ACmCpB;gCAAe;EACd,gBAAgB,EAAE,wBAAkC;EAEpD,KAAK,EAxCY,IAAI;AA6CtB;+BAAe;EACd,gBAAgB,EAAE,uBAAsC;AAMzD;;kCAAe;EACd,gBAAgB,EAAE,qBAA8C;;AAKnE,iBAAiB;AAQjB,iBAAkB;EACjB,oBAAoB,EAAE,GAAG;EACzB,uBAAuB,EAAE,qBAA8C;EACvE,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,IAAI;;AAGlB,qBAAsB;EAAE,OAAO,EAAE,GAAG;;AACpC,gBAAiB;EAChB,OAAO,EHnEO,GAAG;EGoEjB,YAAY,EHlEE,GAAG;EGmEjB,eAAe,EHnED,GAAG;;AGwElB,yBAA0B;EACzB,MAAM,EAAE,GAAG;EACX,KAAK,EAAE,GAAG;EACV,aAAa,EAAC,GAAG;EACjB,gBAAgB,EDpFF,OAAO;ECqFrB,aAAa,EAAE,GAAG;;AAKlB,8C
 AA0B;EAC
 
zB,OAAO,EHnFM,GAAG;EGoFhB,sGAAa;IAAE,OAAO,EAAE,OAAoB;;AAK9C;cACe;EACd,SAAS,EAAE,OAAO;;AAInB,eAAgB;EACf,OAAO,EAAE,SAAS;EAElB,oCAAqB;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAE,WAAW;IAC7B,MAAM,EAAE,kCAAkC;IAC1C,aAAa,EAAE,IAAI;EAGpB,0CAA6B;IAAE,YAAY,EAAE,KAAK;EAClD,2CAA8B;IAAE,MAAM,EAAE,IAAI;IAAE,MAAM,EAAE,GAAG;IAAE,gBAAgB,EAAE,KAAK;EAClF,iGACsC;IAAE,gBAAgB,EAAE,KAAK;;AAKhE;4BAC6B;EAE5B,OAAO,EAAE,kBAAkB;;AAG5B,uDAAwD;EACvD,OAAO,EAAE,gBAAgB;EACzB,OAAO,EH1HO,GAAG;;AGiIlB,mBAAoB;EACnB,gBAAgB,EAAE,kBAAe;EACjC,KAAK,EAAE,IAAI;EACX,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAoB;;AAGhC,2BAA2B;AAG3B,kBAAmB;EAClB,cAAc,EAAE,IAAI;;AAIrB,iBAAkB;EACjB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,CAAC;EACT,gBAAgB,EAAE,qBAAkC;EACpD,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,OAA0B;EAEjC,uBAAQ;IACP,gBAAgB,EAAE,gCAA6C;IAC/D,UAAU,EAAC,eAAe;IAC1B,KAAK,EAAE,OAA0B;EAGlC,wBAAS;IACR,UAAU,EAAE,wBAA8B;IAC1C,gBAAgB,EAAE,iCAAkD;IACpE,WAAW,EAAE,IAAI;EAGlB,yBAAU;IACT,gBAAgB,EAAE,uBAAgD;IAClE,KAAK,ED7KQ,OAAO;IC8KpB,UAAU,EAAE,IAAI;
 IAChB,WA
 
AW,EAAE,IAAI;EAGlB,6BAAc;IACb,kBAAkB,EAAE,YAAY;IAChC,aAAa,EAAE,WAA2C;EAG3D,4BAAa;IACZ,aAAa,EAAE,WAA2C;;AC9M5D,kBAAkB;AAElB,eAAgB;EACf,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,IAAiB;;AAO1B,wBAAU;EACT,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAyB;EACxC,MAAM,EAAE,qBAAqB;EAE7B,iCAAW;IACV,MAAM,EAAE,eAAmC;IAC3C,gBAAgB,EAAE,wBAAkC;IACpD,UAAU,EAAE,oCAAiC;EAG9C,iCAAW;IACV,gBAAgB,EAAE,wBAAkC;IACpD,KAAK,EFFO,OAAO;AEOrB,6BAAe;EACd,OAAO,EAAE,GAAG;EACZ,OAAO,EJDM,GAAG;AIIjB,yBAAW;EACV,KAAK,EAAE,KAAK;AAGb,yBAAW;EACV,KAAK,EAAE,GAAG;EACV,UAAU,EFRgB,KAAc;AEWzC,4CAA8B;EAC7B,OAAO,EAAE,IAAiB;;AAI5B,eAAgB;EACf,YAAY,EAAE,gBAAa;EAC3B,KAAK,EAAE,wBAA6B;EACpC,2BAAc;IACb,KAAK,EF9CI,IAAI;;AGNf,aAAa;ACAb,oBAAoB;AAGpB,aAAc;EACb,OAAO,EAAC,CAAC;EACT,MAAM,EAAC,CAAC;;AAIT,yBAA0B;EACzB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,aAA6B;EACrC,OAAO,EAAE,IAA4B;EACrC,cAAc,EAAE,GAAG;EACnB,WAAW,EAAC,CAAC;EAEb,6BAAM;IAAE,iBAAiB,EAAE,GAAG;EAC9B,6BAAM;IAAE,kBAAkB,EAAE,GAAG;EAI/B,gDAAuB;IACtB,OAAO,EAAE,GAAmB;IAC5B,MAAM,ENMM,GAAG;IMLf,MAAM,EAAE,qBAAqB;IAE7B
 ,8GACQ;M
 
ACP,aAAa,EAAC,GAAyB;MACvC,UAAU,EAAE,GAAkB;MAC9B,aAAa,EAAE,GAAkB;IAGlC,sDAAQ;ML2HR,KAAK,ECtJI,IAAI;MDuJb,gBAAgB,EAAE,kBAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,KAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,8BAAwB;MACrC,WAAW,EAAE,8BAAwB;IKjIrC,sDAAQ;MLiHR,KAAK,EC7II,IAAI;MD8Ib,WAAW,EAAE,8BAAwB;MACrC,WAAW,EAAE,8BAAwB;MACrC,UAAU,EAAE,sCAAuD;IKlHnE,uDAAS;MLoIT,KAAK,EClKI,IAAI;MDmKb,gBAAgB,EAAE,gBAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,KAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;MKzIf,MAAM,ENTK,GAAG;IMaf,2DAAW;MACV,SAAS,EAAE,IAAqB;MAChC,WAAW,EAAE,IAAI;IAIlB,4DAAY;MACX,SAAS,EAAE,IAAqB;MAChC,WAAW,EAAE,IAAI;EAKnB,mCAAU;IAET,MAAM,EAAC,cAAuB;IAC9B,aAAa,EAAE,eAAuC;IACtD,OAAO,EAAC,cAAwB;EAKjC,oDAA2B;IAC1B,MAAM,EAAC,CAAC;EAGT,gDAAuB;IACtB,OAAO,ENvCM,GAAG;IMwChB,MAAM,EAAC,CAAC;IAGR;oEACgB;MAEf,OAAO,EAAC,cAAwB;;AAKnC,qBAAsB;EACrB,KAAK,EAAE,OAAsC;EAC7C,WAAW,EAAE,IAAI;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;;AAGd,cAAc;AA
 Ib,+BAAs
 
B;EACrB,KAAK,EAAE,KAAqB;EAC5B,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAK;AAKf;+CACsC;EACrC,SAAS,EN7CM,MAAM;AMgDtB,uBAAc;EACb,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,aAAa,EN5EM,GAAG;EM6EtB,4DAAiB;IAAE,gBAAgB,EAAE,OAA4B;EACjE,8BAAS;IAAE,gBAAgB,EN/DX,KAAqE;AMqEtF,4BAAmB;EAClB,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,MAAM;EAClB,KAAK,EALc,IAAI;EAMvB,MAAM,EANa,IAAI;EAOvB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,GAAG;EACX,aAAa,EAAE,IAA8B;EAC7C,MAAM,EAAE,qBAAqB;EAC7B,qBAAqB,EAAE,MAAM;EAC7B,sEAAiB;IAAE,gBAAgB,ENpFpB,KAAoE;EMqFnF,0EAAoB;IACnB,KAAK,EAAE,KAAsB;IAC7B,gBAAgB,EAAE,KAAoB;EAIvC,iDAAuB;IACtB,KAAK,EAAE,KAAsB;IAC7B,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,GAAG;AAGhB,uBAAc;EACb,YAAY,EAAE,CAAC;AAGhB,2BAAkB;EACjB,gBAAgB,EAAE,GAAG;AAGtB,4BAAmB;EAAE,iBAAiB,EAAE,GAAG;AAE3C,+BAAsB;EACrB,KAAK,EJzHgB,IAA8B;AI6HpD,yBAAgB;EACf,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,qBAAqB;EAC7B,gBAAgB,EJrJE,OAAmB;EIsJrC,KAAK,EJvJa,OAAO;EIyJzB,gEAAgB;IACf,gBAAgB,EAAC,OAA+B;IAChD,KAAK,EJ3JY,OAAO;EI8JzB,oEAAoB;IACnB,gBAAgB,EJ9JC,OAA
 mB;II+Jp
 
C,KAAK,EJhKY,OAAO;IIiKxB,kKAAgB;MACf,gBAAgB,EAAC,OAA+B;MAChD,KAAK,EJnKW,OAAO;AIwK1B,mCAA0B;EACzB,KAAK,EAAE,KAAsB;EAC7B,WAAW,EAAE,IAAI;EACjB,gBAAgB,EAAE,2DAA2D;AAG9E,mCAA0B;EACzB,KAAK,EAAE,wBAA8B;EACrC,OAAO,EAAE,GAAG;AAGb,+BAAsB;EACrB,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,KAAK;EACb,KAAK,EAAE,KAAK;EACZ,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,SAAS;EAClB,MAAM,EAAE,GAAG;EACX,gBAAgB,EAAE,KAAqB;EACvC,KAAK,EAAE,KAAsB;;AAK/B,aAAa;AACb,YAAa;EACZ,OAAO,EN7KO,GAAG;EM8KjB,OAAO,ENhLO,GAAG;EMkLjB,4BAAgB;IACf,KAAK,EAAE,OAAsC;IAC7C,WAAW,EAAE,IAAI;IACjB,qCAAW;MACV,WAAW,EAAE,MAAM;MACnB,SAAS,EAAE,IAAqB;EAIlC,0BAAc;IACb,UAAU,EN3LE,GAAG;IM4Lf,YAAY,EN3LC,GAAG;IM4LhB,eAAe,EAAE,IAAiB;EAGnC,mCAAuB;IACtB,SAAS,EAAE,MAAmB;EAG/B,mCAAuB;IACtB,KAAK,EAAE,OAAqB;IAC5B,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EAAE,GAAqB;IAChC,WAAW,EAAE,MAAM;;AAIrB,kBAAkB;AAClB,kBAAmB;EAClB,OAAO,EN/MO,GAAG;EMgNjB,YAAY,EN9ME,GAAG;EM+MjB,eAAe,EAAE,IAAiB;EAGlC,uCAAqB;IACpB,KAAK,EAAE,OAAsC;IAC7C,WAAW,EAAE,IAAI;EAIlB,qCAAmB;IAClB,KAAK,EJjPI,I
 AAI;IIkP
 
b,SAAS,ENnMM,EAAE;IMoMjB,WAAW,EAAE,MAAM;EAIpB,qCAAmB;IAClB,WAAW,EAAE,IAAI;IACjB,KAAK,EJzPI,IAAI;II0Pb,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EN5MM,EAAE;IM6MjB,UAAU,EAAC,KAAK;EAIjB,yCAAuB;IACtB,KAAK,EAAE,OAAqB;IAC5B,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EAAE,IAAqB;;ACzQlC,iBAAiB;AAQhB,sBAAY;EAAE,OAAO,EAAE,IAAI;AAC3B,gBAAM;EACL,KAAK,EANO,IAAI;EAOhB,MAAM,EARO,IAAI;EASjB,gBAAgB,EAAE,yDAAyD;AAE5E,sBAAc;EAAE,gBAAgB,EAAE,iEAAiE;AACnG,wBAAgB;EAAE,gBAAgB,EAAE,qDAAqD;AACzF,8BAAsB;EAAE,gBAAgB,EAAE,6DAA6D;;AChBxG,uBAAuB;AAIvB,WAAY;EACX,gBAAgB,EAAE,wBAAqD;EACvE,UAAU,EAAE,mBAA4C;EAExD,KAAK,EAAE,IAAkB;EACzB,MAAM,EAAE,IAAkB;EAC1B,aAAa,EAAE,UAAwB;EAGvC,eAAM;IAAE,aAAa,EAAE,UAAwB;;AAIhD,wBAAyB;EACxB,KAAK,EAhBQ,IAAI;EAiBjB,MAAM,EAjBO,IAAI;EAkBjB,aAAa,EAAE,IAAkB;EACjC,gBAAgB,EAAE,wBAAqD;EACvE,UAAU,EAAE,mBAA4C;;ACtBzD,UAAU;AAKV,KAAM;EAEL,SAAS,EAAE,GAAqB;EAChC,OAAO,EAAE,CAAC;EACV,cAAc,EAAE,IAAmB;EAGnC,aAAa,EAAE,aAA2C;EAC1D,iBAAiB,EAAE,YAAY;EAC/B,SAAM;IACL,aAAa,EAAE,aAA2C;IAC1D,kBAAkB,EAAE,YAAY;EAGjC,kBAAa;IAEZ,gBAAgB,
 EAAC,IAA
 
I;IACrB,eAAe,EAAE,OAAO;IACxB,MAAM,EArBgB,IAAI;EAwB3B,6BAAwB;IACvB,KAAK,EAzBiB,IAAI;IA0B1B,MAAM,EA1BgB,IAAI;;AA+B5B,+BAAgC;EAC/B,OAAO,EAAE,IAAmB;EAC5B,cAAc,EAAE,CAAC;;AAIlB,WAAY;EACX,gBAAgB,EAAE,sBAAkC;EACpD,aAAa,EAAE,GAAyB;EACxC,MAAM,EAAC,IAAI;EACX,UAAU,EAAC,kCAAkC;EAC7C,KAAK,EPtBS,OAAO;EOuBrB,OAAO,EAAE,OAAiC;EAC1C,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,GAAkB;EAC9B,SAAS,EAAE,GAAgB;;AAI5B,UAAW;EACV,gBAAgB,EAAE,WAAW;EAC7B,KAAK,EPhCS,OAAO;EOkCrB,yBAAiB;IAEhB,KAAK,EPpCQ,OAAO;EOuCrB,oGAE0B;IACzB,gBAAgB,EAAE,wBAAiC;IACnD,KAAK,EP3CQ,OAAO;EO8CrB,8BAAsB;IACrB,gBAAgB,EAAE,uBAAsC;EAGzD,mEACyB;IACxB,gBAAgB,EAAE,OAAyB;EAG5C,oEACwB;IACvB,KAAK,EPzEI,IAAI;IO0Eb,mBAAmB,EAAE,KAAK;;AChF5B,mBAAmB;AAEnB,aAAc;EACb,aAAa,EVgCA,IAAuB;EU7BpC,uCAA0B;IACzB,OAAO,EAAE,IAAI;EAGd,+BAAkB;IAAE,KAAK,EAAE,IAAI;IAAE,aAAa,EAAE,GAAG;EACnD,mCAAsB;IACrB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,GAAG;EAGb,oCAAuB;IAAE,WAAW,EAAE,GAAG;EACzC,+BAAkB;ITNlB,SAAS,EAAE,IAAiB;ISQ3B,WAAW,EAAE,MAAM;IACnB,KAAK,ERdI,IAAI;IQeb,cAAc,EAAE,IAAI;;AAItB;
 2BAC4B;E
 
Tf3B,SAAS,EAAE,IAAiB;;ASuB7B,oBAAoB;AACpB,2BAA4B;EAC3B,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EACvB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,IAAI;;AAGd,oBAAqB;EACpB,SAAS,EAAE,MAAmB;EAC9B,SAAS,EAAE,MAAmB;;AAG/B,qBAAsB;EACrB,WAAW,EAAE,IAAI;;AAGlB,wBAAyB;EACxB,KAAK,ERjDK,IAAI;EQkDd,WAAW,EAAE,IAAI;;AAGlB,iCAAiC;AACjC,2BAA4B;EAC3B,SAAS,EAAE,MAAmB;;AAG/B,aAAc;EACb,OAAO,EAAE,IAAI;EAEb,mCAAsB;IACrB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,GAAG;IACnB,SAAS,EAAE,IAAI;EAGhB,uCAA0B;IACzB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;EAGpB,kCAAqB;IACpB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,IAAI;EAGZ,sCAAyB;IACxB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;;AAIrB,sBAAuB;EACtB,UAAU,EAAE,KAAK;EACjB,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;;AAGpB,0BAA2B;EAC1B,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,IAAI;;AAGnB,2BAA4B;EAC3B,KAAK,EAAE,KAAsB;EAC7B,iCAAQ;IAAE,KAAK,ERlGL,IAAI;EQmGd,+BAAM;IAAE,aAAa,EAAE,GAAG;EAC1B,+BAAM;IAAE,YAAY,EAAE,GAAG;;AAIzB,oCAAM;EAAE,aAAa,EAAE,IAAI;AAC3B,oCAAM;EAAE,YAAY,EAAE,IAAI;;A
 AG3B,gCA
 
AiC;EAChC,SAAS,EAAE,IAAI;;AAIhB,uCAAuC;AAEvC,cAAe;EAGd,KAAK,EAAE,IAAI;EAEX,0CAA4B;IAAE,OAAO,EAAE,IAAI;IAAE,OAAO,EAAE,IAAI;EAC1D,sCAAwB;IAAE,OAAO,EAAE,IAAiB;EACpD,oCAAsB;IAAE,KAAK,EAAE,KAAsB;;AAGtD,8BAA+B;EAC9B,UAAU,EAAE,KAAK;;AAGlB,2BAA4B;EAC3B,OAAO,EAAE,GAAG;EACZ,cAAc,EAAE,GAAG;;AAGpB,4DAA2B;EAC1B,SAAS,EAAE,IAAI;EACf,KAAK,ER7HU,OAAO;EQ8HtB,cAAc,EAAE,GAAG;;AAGpB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,GAAG;;AAGpB,OAAQ;EACP,KAAK,EAAE,gBAAa;;AAGrB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,GAAG;;AAGpB,sBAAuB;EACtB,OAAO,EAAE,GAAG;;AAGb,mBAAoB;EACnB,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;AAGrB,2BAA4B;EAC3B,OAAO,EAAE,GAAG;;AAGb,4BAA6B;EAC5B,OAAO,EAAE,GAAG;;AAGb,gCAAiC;EAEhC,YAAY,EAAE,KAAK;;AAIpB,mBAAmB;AAEnB,0BAA2B;EAC1B,YAAY,EAAE,IAAI;EAClB,OAAO,EAAE,IAAI;EACb,8BAAM;IACL,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;;AAIrB,8BAA+B;EAC9B,KAAK,ERlLU,OAAO;;AQqLvB,wBAAyB;EACxB,aAAa,EAAE,IAAI;EACnB,eAAe,EAAE,OAAO;EACxB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAGb,4BAA4B;AAC5B,8BAA+B;EAE9B,OAAO,EAA
 E,IAAI;;
 
AAGd,wBAAyB;EACxB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,sBAAuB;EACtB,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;AAGnB,oBAAqB;EACpB,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EACvB,MAAM,EAAE,eAA+B;EACvC,aAAa,EAAE,IAAI;EACnB,4DAAgB;IAAE,gBAAgB,EVzLlB,KAAoE;EU0LpF,8BAAS;IACR,gBAAgB,ER7NE,OAAmB;IQ8NrC,KAAK,ER/Na,OAAO;;AQmO3B,2BAA4B;EAC3B,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,4BAA6B;EAC5B,SAAS,EAAE,MAAmB;;AAG/B,mBAAmB;AACnB,cAAe;EAEd,OAAO,EAAE,IAAI;;AAGd,wBAAwB;AACxB,mBAAoB;EAEnB,OAAO,EAAE,IAAI;;AAGd,sBAAsB;AAGrB,6CAA4B;EAAE,OAAO,EAAE,IAAI;EAAE,OAAO,EAAE,IAAI;AAC1D,uCAAsB;EAAE,WAAW,EAAE,MAAM;EAAE,KAAK,ER9PxC,IAAI;;AQiQf,8BAA8B;AAC9B,yBAA0B;EAEzB,OAAO,EAAE,IAAI;;AAGd,0BAA0B;AAE1B,4BAA6B;EAC5B,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;AAGrB,6BAA8B;EAC7B,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;ACtRrB,wBAAwB;AAIxB,mBAAoB;EACnB,OAAO,EXyBO,GAAG;EWxBjB,MAAM,EAAE,eAA+B;;AAGxC,wBAAyB;EACxB,WAAW,EAAE,IAAI;;AAGlB,0BAA2B;EAC1B,YAAY,EAAE,IAAI;EAClB,8BAAM;IAAE,aAAa,EAAE,IAAI;;AAG5B,+BAAgC;EAC/B,KAAK,EAjBqB,IAAI;EAkB
 9B,cAAc,
 
EAAE,IAAI;EACpB,mCAAM;IACL,UAAU,EAAE,KAAK;;AAInB,2BAA4B;EAC3B,KAAK,EAzBqB,IAAI;EA0B9B,KAAK,ETXU,OAAO;ESYtB,WAAW,EAAE,GAAG;EAChB,+BAAM;IACL,UAAU,EAAE,KAAK;;AAKnB,+BAAgC;EAC/B,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,MAAmB;EAC1B,MAAM,EAAE,MAAmB;EAC3B,eAAe,EAAE,OAAO;;AAGzB,iCAAkC;EACjC,KAAK,ETtCK,IAAI;ESuCd,KAAK,EAAE,MAAmB;EAC1B,MAAM,EAAE,MAAmB;;AAG5B,oCAAqC;EACpC,OAAO,EAAE,IAAiB;EAC1B,UAAU,EAAE,KAAK;EACjB,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,IAAI;;AAGnB;4BAC6B;EAC5B,OAAO,EAAE,GAAG;;AAGb,+BAAgC;EAC/B,WAAW,EAAE,IAAI;EACjB,mCAAM;IAAE,UAAU,EAAE,KAAK;;AAG1B;qCACsC;EACrC,OAAO,EAAE,GAAG;;AAGb;0CAC2C;EAC1C,WAAW,EAAE,IAAI;;AAGlB,6CAA8C;EAC7C,KAAK,EAAE,OAAoB;EAC3B,SAAS,EAAE,IAAI;;AC9EhB,aAAa;AAEb,OAAQ;EACP,aAAa,EZ8BO,GAAG;EY7BvB,OAAO,EAAE,GAAG;EACZ,YAAY,EAAE,GAAG;EACjB,KAAK,EVAK,IAAI;EDkCb,gBAAgB,ECpCL,IAAI;EDqCf,YAAY,ECTc,KAAc;EUrBzC,0BAA0B,EVFP,OAAmB;EUGtC,cAAc,EVJK,OAAO;EUC1B,aAAQ;IXoCP,YAAY,EAAE,wBAEO;EWrCtB,mBAAc;IXyCb,KAAK,ECrBgB,IAA8B;IDsBnD,YAAY,ECrBS,OAAgC;IDsBrD,UAAU,EAAE,IAAI;EWxCjB,+BAAwB;I
 ACvB,SAA
 
S,EAAE,IAAI;IACf,aAAa,EVEC,OAAO;IUDrB,OAAO,EAAE,KAAK;EAEf,4BAAqB;IACpB,SAAS,EZsCM,MAAM;IYrCrB,OAAO,EAAE,KAAK;;AClBhB,sBAAuB;EACtB,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,iBAAiB;;AAG3B,0BAA2B;EAE1B,MAAM,EAAE,IAAI;EAAE,UAAU,EAAE,IAAI;EAC9B,OAAO,EAAE,QAAQ;EACjB,gCAAQ;IAAE,OAAO,EAAE,iBAAiB;;AAGrC,+BAAgC;EAC/B,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,OAAO;;AAGjB,qBAAsB;EAAE,OAAO,EAAE,IAAiB;;AAElD,uBAAwB;EACvB,OAAO,EAAE,IAAiB;EAC1B,aAAa,EAAE,GAAG;EAClB,6BAAQ;IAAE,gBAAgB,EbmBV,KAAoE;;AahBrF,6BAA8B;EAC7B,KAAK,EAAE,OAAO;EACd,YAAY,EAAE,GAAG;;AAGlB,4BAA6B;EAC5B,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,GAAG;;AAGlB,4BAA6B;EAC5B,SAAS,EAAE,IAAI;;AAGhB,8BAA+B;EAC9B,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAG;EAClB,KAAK,EAAE,IAAI;;AC3CZ,wBAAyB;EACxB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,KAAK;;AAGf,gBAAiB;EAChB,OAAO,EAAE,WAAW;EACpB,KAAK,EAAE,OAAqB;;AAG7B,cAAe;EACd,OAAO,EAAE,uBAAuB;EAChC,aAAa,EdoBO,GAAG;EcnBvB,6CAAmB;IAAE,gBAAgB,EZLlB,OAAmB;IYKqB,KAAK,EZN7C,OAAO;;AYS3B,0BAA2B;EAC1B,MAAM,EAAE,GAAG;EACX,oCAAY;IAAE,WAAW,EAAE,KAAK;EAChC,sCAAc;IA
 AE,YAAY,
 
EAAE,KAAK;;AAGpC,sBAAuB;EACtB,OAAO,EAAE,GAAG;;AAGb,+BAAgC;EAAE,aAAa,EAAE,eAA+C;EAAE,kBAAkB,EAAE,CAAC;;AACvH,2BAA4B;EAAE,aAAa,EAAE,eAA+C;;AAC5F,2BAA4B;EAAE,SAAS,EAAE,GAAG;;AC7B5C,wBAAwB;AAUxB,8CAAc;Ed4HZ,KAAK,EChII,IAAI;EDiIb,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,KAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,8BAAwB;EACrC,WAAW,EAAE,8BAAwB;EcjItC,mBAAQ;IdsIP,KAAK,EC7II,IAAI;ID8Ib,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;IACrC,UAAU,EAAE,sCAAuD;EcxIpE,0CAAmB;Id8IlB,KAAK,ECtJI,IAAI;IDuJb,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;EcpJtC,oBAAS;IdyJR,KAAK,EClKI,IAAI;IDmKb,gBAAgB,EAAE,gBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;;Ac7JlB,SAAU;EACT,gBAAgB,EAAE,kBAAwF;EAC1G,UAAU,EAAE,mDAAmD;EAE/D,yBAAgB;IACf,OAAO,EfKM,GAAG;IeHhB,8CAAqB;MACpB,KAAK,EAAE,
 GAAG;MAC
 
V,MAAM,EAAE,GAAG;MACX,sDAAU;QACT,gBAAgB,EAAC,GAAG;;AAOxB,cAAe;EACd,OAAO,EfRM,GAAG;EeShB,OAAO,EfTM,GAAG;;AeajB,aAAc;EAEb,SAAS,EAAE,IAAqB;EAChC,UAAU,EA3CA,KAAK;EA4Cf,SAAS,EA5CC,KAAK;EA8Cf,aAAa,EA7CM,GAAyB;EA+C5C,oBAAS;IACR,gBAAgB,EAAE,KAAqB;IACvC,KAAK,Eb9BQ,OAAO;Ia+BpB,YAAY,Eb7BM,kBAAgB;EaiCnC,yBAAc;IAGb,eAAe,EAAE,IAAI;Id0ErB,KAAK,EChII,IAAI;IDiIb,gBAAgB,EAAE,kBAA0B;IAC5C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAqB;IApH5B,UAAU,EAqHK,8BAAyB;IAE/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;Ic7ErC,UAAU,EAAE,yCAAsC;IAFlD,kEAAmB;Md6FnB,KAAK,ECtJI,IAAI;MDuJb,gBAAgB,EAAE,kBAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,KAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,8BAAwB;MACrC,WAAW,EAAE,8BAAwB;IcnGrC,gCAAS;MdwGT,KAAK,EClKI,IAAI;MDmKb,gBAAgB,EAAE,kBAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,KAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;Ec1GjB,uBAAY;IACX,gBAAgB,EAAE,sDAAsD;IdgExE,KAAK,EC9Ha,OAAO;ID+HzB,gBAAgB,EAAE,k
 BAA0B;IA
 
C5C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAqB;IApH5B,UAAU,EAqHK,8BAAyB;IAE/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;IcnErC,UAAU,EAAE,yCAAsC;IAFlD,8DAAmB;MdmFnB,KAAK,ECtJI,IAAI;MDuJb,gBAAgB,EAAE,kBAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,8BAAwB;MACrC,WAAW,EAAE,8BAAwB;IczFrC,8BAAS;Md8FT,KAAK,EClKI,IAAI;MDmKb,gBAAgB,EAAE,kBAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;EchGjB,iCAAsB;IAAC,gBAAgB,EAAE,sDAAsD;EAC/F,iCAAsB;IAAC,gBAAgB,EAAE,gEAAgE;EACzG,yCAA8B;IAAC,gBAAgB,EAAE,wEAAwE;EACzH,sBAAW;IAAC,gBAAgB,EAAE,qDAAqD;EACnF,wBAAa;IAAC,gBAAgB,EAAE,uDAAuD;;AAIxF,iBAAkB;EACjB,KAAK,EblES,OAAO;EamErB,oBAAoB,EftDP,IAAuB;EeuDpC,uBAAuB,EbnET,OAAO;EaoErB,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EAAE,OAA0B;EAC/C,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,IAAI;EACjB,eAAe,EfjED,GAAG;EemEjB,+BAAc;IAEb,aAAa,EflEM,GAAG;;AewEvB,yBAAc;EACb,gBAAgB,EAAE,W
 AAW;EAC7
 
B,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,OAAO;;AAKf,kCAAsB;EACrB,YAAY,EAAE,OAA+B;EAC7C,gBAAgB,Eb1GE,OAAmB;;Aa+GvC,iBAAkB;EACjB,SAAS,EAAE,IAAqB;EAChC,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;;AC3HjB,kBAAkB;AAElB,yBAA0B;EACzB,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI;;AAGhB,aAAc;EAEb,MAAM,EAAE,IAAI;EACZ,gBAAgB,EAAE,WAAW;EAI7B,qBAAQ;IAEP,aAAa,EhBiBM,GAAG;EgBRvB,sCAAyB;IAAE,OAAO,EAAE,GAAG;EACvC,kCAAqB;IACpB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,4BAAyB;IACrC,gBAAgB,EAjBP,OAAqB;IAkB9B,YAAY,EAlBH,OAAqB;IAmB9B,KAAK,EdzBI,IAAI;Ic4Bb,kFAAiB;MAChB,gBAAgB,EAFN,OAAqB;MAG/B,YAAY,EAHF,OAAqB;IAKhC,yCAAS;MAER,UAAU,EAAE,IAAI;MAChB,gBAAgB,EAFJ,OAAoB;MAGhC,YAAY,EAHA,OAAoB;IAKjC,8CAAc;MfwId,KAAK,ECtJgB,IAA8B;MDuJnD,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,ECvJc,KAAc;MDwJxC,gBAAgB,EAAE,kBAAgC;MAClD,UAAU,EAAE,IAAI;MAChB,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;Me7IhB,YAAY,EAAE,OAAoB;MAClC,gBAAgB,EAAE,OAAoB;MACtC,KAAK,EAAE,wBAA8B;IAEtC,0CAAU;MfoFV,KAAK,EC9Ha,OAAO;MD+HzB,gBAAgB,EAAE,kBAA0B;MAC5C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE
 ,KAAK;MA
 
CnB,YAAY,EAAE,OAAqB;MApH5B,UAAU,EAqHK,8BAAyB;MAE/C,WAAW,EAAE,8BAAwB;MACrC,WAAW,EAAE,8BAAwB;Me1FpC,YAAY,Ed3CK,OAAmB;Mc4CpC,kGAAiB;QfuGlB,KAAK,ECpJa,OAAO;QDqJzB,gBAAgB,EAAE,kBAAuD;QACzE,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAAkF;QA1IzF,UAAU,EA2IK,8BAAyB;QAC/C,WAAW,EAAE,8BAAwB;QACrC,WAAW,EAAE,8BAAwB;Qe3GnC,gBAAgB,EADD,OAA+B;QAE9C,YAAY,EAFG,OAA+B;MAI/C,iDAAS;Qf6GV,KAAK,EChKa,OAAO;QDiKzB,gBAAgB,EAAE,kBAAwB;QAC1C,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAA6D;QAC3E,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QejHd,gBAAgB,EADA,OAA8B;QAE9C,YAAY,EAFI,OAA8B;MAI/C,sDAAc;QfmHf,KAAK,ECtJgB,IAA8B;QDuJnD,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,ECvJc,KAAc;QDwJxC,gBAAgB,EAAE,kBAAgC;QAClD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QexHf,YAAY,EAAE,OAA+B;QAC7C,gBAAgB,EAAE,OAA+B;QACjD,KAAK,EAAE,wBAAuC;;AAMlD,sBAAuB;EAAE,OAAO,EAAE,QAAQ;;AAC1C,oBAAqB;EAAE,KAAK,EAAE,OAAyB;;AACvD,wBAAyB;EAAE,OAAO,EAAE,GAAG;;AACvC,6BAA8B;EAAE,KAAK,Ed7DrB,OAA
 O;;Ac8Dv
 
B,0BAA2B;EAAE,WAAW,EAAE,CAAC;EAAE,cAAc,EAAE,IAAI;;AACjE,gCAAiC;EAAE,OAAO,EAAE,SAAS;;AACrD,8BAA+B;EAC9B,YAAY,EAAE,GAAG;EACjB,0IACwC;IACvC,KAAK,Ed/DQ,OAAO;;AcmEtB,8BAA+B;EAC9B,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,OAAyB;EAChC,WAAW,EAAE,GAAG;;AAGjB,4BAA6B;EAAE,gBAAgB,EAAE,GAAG;;AACpD,uBAAwB;EACvB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,sEAAiD;IAAE,gBAAgB,Ed3FhD,OAAmB;Ic2FmD,KAAK,Ed5F3E,OAAO;Ec6F1B,uEAAkD;IAAE,YAAY,EAAE,iBAA4B;;AAG/F,4BAA6B;EAC5B,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,GAAG;EACZ,KAAK,EAAE,OAAyB;EAChC,6CAAmB;IAAE,aAAa,EAAE,GAAG;EACvC,6CAAmB;IAAE,YAAY,EAAE,GAAG;EACtC,gEAAoC;IACnC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,GAAG;IACf,gBAAgB,Ed3FH,OAAO;Ec6FrB,sEAA4C;IAAE,gBAAgB,Ed3G3C,OAAO;;Ac8G3B;kBACmB;EAClB,KAAK,EdlGS,OAAO;EcmGrB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,IAAI;EAChB,YAAY,EAAE,IAAI;;AAIlB,sBAAM;EAAE,YAAY,EAAE,IAAI;AAC1B,sBAAM;EAAE,aAAa,EAAE,IAAI;;AAG5B,2BAA4B;EAC3B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,OAAO,EAAE,IAAiB;EAC1B,KAAK,EAAE,IAAI;;AAGZ,
 0BAA2B;E
 
AC1B,KAAK,EAAE,OAA0B;EACjC,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;;AAGjB,wCAAyC;EACxC,SAAS,EAAE,MAAM;;AAGlB,iCAAkC;EACjC,KAAK,EAAE,OAAyB;EAChC,gFAAgB;IAAE,KAAK,EdjIT,OAAO;EckIrB,wCAAS;IAAE,KAAK,EAAE,OAA0B;;ACxJ7C,mBAAmB;AAGnB,mBAAoB;EACnB,gBAAgB,EfmBF,OAAO;EelBrB,OAAO,EjByBO,GAAG;EiBxBjB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,kCAA4C;EACpD,gBAAgB,EAAC,CAAC;EAClB,aAAa,EAAE,WAA2C;EAE1D,8BAAa;IACZ,MAAM,EAAE,IAAI;IACZ,aAAa,EjBoBM,GAAG;IiBnBtB,gBAAgB,EAAE,OAA0B;EAG7C,2BAAQ;IAAE,OAAO,EjBaH,GAAG;EiBZjB,iCAAc;IACb,iBAAiB,EAAE,IAAiB;IACpC,iBAAiB,EAAE,GAAG;IACtB,WAAW,EAAE,IAAI;IACjB,KAAK,EfhBI,IAAI;IeiBb,mBAAmB,EAAE,KAAK;IAC1B,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,uCAAQ;MACP,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,iBAAiB;IAE/B,0CAAW;MACV,mBAAmB,EAAE,GAAG;MACxB,YAAY,EAAE,OAA8B;MAC5C,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,iBAAiB;EAGhC,uCAAoB;IAAE,OAAO,EAAE,GAAG;IAAE,OAAO,EjBP7B,GAAG;EiBQjB,2CAAwB;IAAE,OAAO,EjBRnB,GAAG;;AiBYjB,kBAAQ;EACP,0BAA0B,EAAE,OAAO;EACnC,cAAc,EfrBD,OAAO;AeuBrB,sBAAY;EACX,KAAK,EAAE,OAAO;EACd,4B
 AAQ;IAAE
 
,KAAK,EAAE,OAAO;;AAI1B,oBAAqB;EACnB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM;;AAGpB,uBAAwB;EACtB,OAAO,EjB5BM,GAAG;;AiB+BlB,wBAAyB;EACvB,MAAM,EAAE,cAAc;EACtB,OAAO,EAAE,GAAG;EACZ,aAAa,EjB/BM,GAAG;EiBgCtB,8BAAQ;IAAE,MAAM,EAAE,iBAAiB;;AAIrC,uBAAwB;EAAE,OAAO,EAAE,GAAG;;AAEtC,mBAAoB;EAClB,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,GAAG;;AAGd,aAAc;EACZ,MAAM,EAAE,4BAA4B;EACpC,aAAa,EjB7CM,GAAG;EiB8CtB,OAAO,EAAE,GAAG;;AAGd,kBAAmB;EACjB,WAAW,EAAE,IAAI;;AAGnB,kBAAmB;EACjB,OAAO,EAAE,GAAG;;AAId,8BAA+B;EAC9B,UAAU,EfrEI,OAAO;EesErB,MAAM,EAAE,4BAA4B;EACpC,aAAa,EjB7DO,GAAG;EiB8DvB,OAAO,EAAE,GAAG;;AC/Fb,kBAAkB;AAIlB,aAAc;EACb,KAAK,EAAE,MAAM;EACb,OAAO,EAAE,MAAmB;;AAG7B,sBAAuB;EACtB,MAAM,EAAC,CAAC;EACR,OAAO,ElBmBO,GAAG;;AkBhBlB;0BAC2B;EAC1B,OAAO,ElBcO,GAAG;;AkBVjB,8BAAM;EAAC,OAAO,EAAC,CAAC;AAChB,8BAAM;EAAC,OAAO,EAAC,CAAC;;AAIjB,0BAA2B;EAC1B,MAAM,ElBGO,GAAG;;AkBQhB,uBAAe;EACd,KAAK,EhBhCI,IAAI;EgBiCb,WAAW,EAAE,IAAI;EACjB,aAAa,EAAC,GAAG;AAIlB,yBAAiB;EAChB,KAAK,EAAE,OAAsB;EAC7B,OAAO,EAAE,KAAe;EACxB,MAAM,EAAC,GAAgB;EAC
 vB,6BAAM
 
;IACL,WAAW,ElBpBA,GAAG;IkBqBd,aAAa,ElBtBD,GAAG;EkBwBhB,6BAAM;IACL,YAAY,ElBxBD,GAAG;IkByBd,YAAY,ElB1BA,GAAG;AkB+BjB,8BAAsB;EACrB,KAAK,EAAE,KAAuB;EAC9B,oCAAQ;IAAE,KAAK,EAAE,OAAsB;AAIxC,0BAAkB;EAEjB,MAAM,EAAC,KAAe;EAOtB,mCAAS;IACR,KAAK,EhBrEG,IAAI;IgBsEZ,SAAS,EAAE,MAAmB;IAC9B,cAAc,EAAE,QAAQ;IAExB,OAAO,EAAC,CAAC;IACT,MAAM,ElBpDM,GAAG;EkBwDhB,kDAAwB;IACvB,KAAK,ElB5BS,MAAM;IkB6BpB,MAAM,ElB7BQ,MAAM;AkBkCtB,+BAAuB;EACtB,OAAO,EAAE,CAAC;EAGV,6CAAc;IACb,KAAK,EAAE,wBAA8B;IACrC,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,KAAkB;IAC1B,qGAAqG;IACrG,cAAc,ElBzEF,GAAG;;AkB+ElB,oBAAoB;AACpB,sBAAuB;EACtB,OAAO,EAAE,SAAmC;EAC5C,KAAK,EAAE,OAAsB;EAG7B,4BAAQ;IACP,gBAAgB,EAAE,OAA4B;IAC9C,KAAK,EhB7GI,IAAI;EgBgHd,6BAAS;IACR,gBAAgB,EAAE,KAA2B;IAC7C,KAAK,EhBlHI,IAAI;EgBqHd,kCAAc;IAAE,KAAK,EAAE,OAAqB;EAGzB,2CAAQ;IAAC,aAAa,EAAG,WAA+C;EACxE,2CAAQ;IAAC,aAAa,EAAE,WAA+C;;AAI3F,yBAA0B;EACzB,SAAS,EAAE,iBAA8B;EACzC,aAAa,ElBpGO,GAAG;EkBuGvB,kCAAW;IACV,KAAK,EAAE,OAAsB;IAC7B,gBAAgB,EHtIF,IAAS;IGuIvB,MAAM,EAAE,
 qBAAqB;I
 
AC7B,aAAa,ElB3GM,GAAG;IkB4GtB,SAAS,EAAE,iBAA8B;IACzC,OAAO,EAAE,IAAiB;;AC9I5B,iCAAiC;AAMjC,oBAAqB;EACpB,UAAU,EALkB,IAAI;EAMhC,KAAK,EALsB,IAAI;EAM/B,SAAS,EnB4CO,EAAE;EmB3ClB,MAAM,EnBmBO,GAAG;EmBlBhB,aAAa,EnBwBA,IAAuB;EmBtBpC,mCAAe;IAAE,KAAK,EjBPZ,IAAI;EiBQd,qCAAiB;IAAE,KAAK,EjBRd,IAAI;EiBUd,0BAAQ;IAAE,UAAU,EJZL,IAAS;EIaxB,6EAAqB;IACpB,gBAAgB,EJdF,IAAS;IIevB,0HAAe;MAAE,KAAK,EjBbb,IAAI;IiBcb,gIAAiB;MAAE,KAAK,EjBdf,IAAI;EiBkBd,+CAA2B;IAC1B,SAAS,EAAE,MAAmB;IAC9B,KAAK,EjBpBI,IAAI;EiB0Bd,uCAAmB;IAClB,OAAO,EAAE,GAAG;EAGb,0CAAsB;IACrB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;EAGb,oCAAgB;IAAE,SAAS,EnBgBX,MAAM;EmBdtB,0CAAsB;IACrB,WAAW,EAAE,CAAC;IACd,KAAK,EjBvCI,IAAI;IiBwCb,UAAU,EAAE,eAA+B;IAC3C,OAAO,EAAE,CAAC;EAGX,yCAAqB;IAEpB,UAAU,EAAE,IAAiC;IAC7C,OAAO,EAAE,cAAwB;IACjC,gBAAgB,EAAE,YAAY;IAE9B,+CAAQ;MAAE,UAAU,EAAE,IAAI;;AAK5B,uBAAwB;EACvB,SAAS,EAAE,IAAqB;EAChC,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,KAAK;EACb,KAAK,EAAE,KAAK;EACZ,wBAAwB,EAAE,GAAG;EAC7B,wBAAwB,EAAE,GAAG;EAC7B,gBAAgB,EjB3DG,OAAmB;EiB4DtC,
 KAAK,EjB
 
7Dc,OAAO;EiB8D1B,MAAM,EAAE,cAAmB;EAC3B,UAAU,EAAE,4BAAyB;EACrC,aAAa,EAAE,KAAK;;AAGrB,eAAgB;EAAE,SAAS,EnBlBV,MAAM;;AmBqBvB,UAAW;EAAE,OAAO,EAAE,GAAG;;AACzB,cAAe;EAAE,MAAM,EAAE,GAAG;;AAC5B,iBAAkB;EAAE,KAAK,EAAE,OAAqB;;AAChD,eAAgB;EAAE,WAAW,EAAE,GAAG;;AAClC,cAAe;EACd,YAAY,EAAE,GAAG;EACjB,kBAAM;IAAE,YAAY,EAAE,GAAG;IAAE,aAAa,EAAE,GAAG;;AAG9C,UAAW;EACV,YAAY,EAAE,IAAI;EAClB,KAAK,EAAE,KAAuB;EAC9B,cAAM;IAAE,YAAY,EAAE,CAAC;IAAE,aAAa,EAAE,IAAI;;AAG7C,kBAAmB;EAClB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,KAAsB;EAC7B,sBAAM;IAAE,YAAY,EAAE,CAAC;IAAE,aAAa,EAAE,GAAG;;ACjG5C,WAAY;EACX,KAAK,ElBWO,OAA+B;EkBV3C,iBAAQ;IAAE,KAAK,EAAE,OAAwB;;AAG1C,gBAAiB;EAAE,UAAU,ElBOhB,OAA+B;;AkBJ5C,uBAAwB;EACvB,gBAAgB,EAAE,sBAAsC;EACxD,MAAM,EAAE,iBAA4B;;AAIrC,UAAW;EACV,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,iBAAiB,EAAE,GAAG;EACtB,iBAAiB,ElBVE,OAAmB;EkBWtC,qBAAqB,EAAE,wBAAqD;;AAI7E,sBAAuB;EACtB,MAAM,EAAE,iBAA4B;EACpC,kCAAc;IAAE,YAAY,EAAE,CAAC;;AAIhC,UAAW;EACV,eAAe,EAAE,OAAO;EACxB,KAA
 K,ElBVS,
 
OAAO;EkBWrB,aAAa,EAAE,IAAI;EACnB,gBAAQ;IACP,KAAK,EAAE,KAA0B;;AAKnC,6BAA8B;EAC7B,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAIb,iBAAkB;EACjB,MAAM,EAAE,iBAA4B;;AAIrC,SAAU;EAAE,SAAS,EAAE,IAAI;;AAC3B,SAAU;EAAE,gBAAgB,EAAE,KAAK;;AACnC,UAAW;EAAE,gBAAgB,EAAE,KAAK;;ACtDpC,qBAAqB;AACrB,UAAW;EAEV,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,IAAI;;AAGhB,kBAAmB;EAClB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EAAE,OAAO,EAAE,IAAI;;AAEvC,4BAA6B;EAC5B,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;AAGnB,wBAAyB;EAAE,KAAK,EnBdrB,IAAI;;AmBiBf,iBAAkB;EACjB,WAAW,EAAE,IAAI;;AAElB,sBAAuB;EACtB,SAAS,EAAE,MAAmB;;AAE/B,sBAAuB;EAAE,OAAO,EAAE,IAAI;;AAGtC,sBAAuB;EACtB,MAAM,EAAE,eAAwB;EAChC,OAAO,EAAC,CAAC;EACT,gBAAgB,EAAE,KAAqB;;AAIxC,eAAgB;EACf,SAAS,ErBaO,EAAE;EqBZlB,aAAa,EAAE,eAAwB;EACvC,OAAO,EAAE,IAAiB;EAC1B,OAAO,EAAE,GAAG;EACZ,wBAAW;IACV,gBAAgB,EnBpCE,OAAmB;ImBqCrC,KAAK,EnBtCa,OAAO;;AmB2C3B,eAAgB;EAAE,SAAS,ErBMV,MAAM;;AqBLvB,gBAAiB;EAAE,OAAO,EAAE,IAAiB;;AAG7C,kBAAmB;EAAE,KAAK,EnBzBH,
 IAA8B;;A
 
mB0BrD,gBAAiB;EAAE,OAAO,ErB5BX,GAAG;;AsB5BlB,SAAS;AACT,WAAY;EAEX,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,IAAI;EACZ,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,IAAI;EAEhB,8BAAmB;IAAE,SAAS,EAAE,GAAG;EACnC,kBAAO;IACN,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,KAAK;IACvB,0BAA0B,EAAE,wBAA0D;IACtF,iCAAiC,EpBOpB,OAAO;IoBNpB,yBAAyB,EpBIP,OAAmB;IoBHrC,mCAAmC,EAAE,KAAK;;AAI5C,aAAa;AACb,eAAgB;EACf,OAAO,EAAE,IAAI;EACb,gBAAgB,EAAE,kBAAyB;EAE3C,kCAAmB;IAAE,OAAO,EAAE,IAAI;EAClC,uCAAwB;IAAE,OAAO,EAAE,GAAG;;AAGvC,gBAAiB;EAChB,KAAK,EAAE,IAAI;;AC/BZ,cAAc;AAEd,SAAU;EACT,OAAO,EAAE,IAAI;EACb,gBAAgB,EAAE,WAAW;;AAG9B,kBAAmB;EAClB,cAAc,EAAE,IAAI;;ACRrB,aAAa;AASb,MAAO;EACL,gBAAgB,EAND,kBAA8C;EAO7D,WAAW,EAAE,IAAI;EACjB,MAAM,EANO,MAAM;EAOnB,qBAAqB,EAAE,MAAM;EAG7B,6DAEc;IACZ,gBAAgB,EAAE,WAAW;IAE7B,uGAAc;MACZ,oBAAoB,EAAE,CAAC;MACvB,8BAA8B,EAAE,WAAW;MAC3C,0BAA0B,EAAE,WAAW;EAK3C,sCAAyB;IACvB,OAAO,ExBAI,GAAG;EwBIhB,oBAAc;IACZ,oBAAoB,EAhCF,GAAqB;IAiCvC,8BAA8B,EAhCjB,kBAA8C;IAiC3D,0BAA0B,EAAE,GAAG;IAC/
 B,0BAA0B
 
,EAAE,WAAW;IAEvC,sFAA8B;MAC5B,0BAA0B,EAAE,OAA8B;EAK9D,oBAAc;IACZ,WAAW,EAAE,IAAI;IACjB,KAAK,EA3CQ,KAAuE;IA4CpF,iBAAiB,EAAE,IAAiB;IACpC,iBAAiB,ExBtBN,GAAG;IwBwBd,0BAAQ;MACN,KAAK,EAAE,OAA6B;IAGtC,oHAAyC;MACvC,gBAAgB,EArDL,kBAA8C;MAsDzD,UAAU,EAAE,wBAA+C;MAE3D,KAAK,EAAE,OAA6B;IAItC,wCAAoB;MAClB,SAAS,ExBRE,MAAM;MwBSjB,OAAO,EAAE,GAAmB;IAI9B,mCAAe;MACb,WAAW,ExB1CH,GAAG;MwB2CX,YAAY,ExB3CJ,GAAG;MwB4CX,cAAc,EAAE,QAAQ;IAK1B,0GAEe;MACb,KAAK,EAAE,KAAuB;MAC9B,2XAA2B;QAAE,KAAK,EAAE,KAAuB;EAI/D;+BACuB;IACrB,OAAO,EAAE,GAAG;EAId,gDAA0C;IACxC,OAAO,EAAE,CAAC;EAIZ;iCACyB;IAAE,KAAK,EtBjFlB,OAAO;;AsBqFvB,QAAS;EACP,OAAO,ExBzEM,GAAG;EwB0EhB,sBAAc;IAAE,KAAK,EAAE,WAAW;;ACxGpC,oBAAoB;AAKpB;2BAC4B;EAC3B,oBAAoB,EAAE,GAAqB;EAC3C,uBAAuB,EVJR,IAAS;EUKxB,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EvBsBQ,KAAc;EuBrBzC,WAAW,EAAE,IAAyB;EACtC,WAAW,EAVW,IAAI;EAW1B,iBAAiB,EAAE,4BAAyB;;AAI7C,WAAY;EACX,SAAS,EAAE,IAAI;EACf,KAAK,EvBbK,IAAI;EuBgBd,sBAAa;IACZ,eAAe,EzBMH,GAAG;IyBLf,aAAa,EAAE,MAAM;;AAIvB,mBAAoB;EACnB,OAAO,EAAE,MAAkC;;AA
 I5C,gBAA
 
iB;EAChB,OAAO,EzBNO,GAAG;EyBOjB,OAAO,EzBPO,GAAG;EyBSjB,oBAAM;IAAE,aAAa,EAAC,MAAM;IAAE,YAAY,EAAE,CAAC;EAC7C,oBAAM;IAAE,aAAa,EAAE,CAAC;IAAE,YAAY,EAAC,MAAM;EAE7C,wBAAU;IACT,gBAAgB,EAAE,OAAsB;IACxC,UAAU,EAAE,IAAI;EAGjB,yBAAW;IACV,gBAAgB,EAAE,wBAAsD;IACxE,KAAK,EvBzCI,IAAI;EuB4Cd,uBAAS;IACR,gBAAgB,EvB1CE,OAAmB;IuB2CrC,KAAK,EvB5Ca,OAAO;EuB+C1B,4BAAc;IAAE,KAAK,EAAE,wBAA6B;;AAIrD,yBAA0B;EACzB,KAAK,EvBtDK,IAAI;EuBwDd,qCAAc;IAAE,KAAK,EAAE,wBAA6B;;AAIrD;gBACiB;EAAE,SAAS,EzBVX,MAAM;;AyBavB,eAAgB;EACf,gBAAgB,EAAE,KAAqB;EACvC,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,4BAA6C;EACzD,aAAa,EAAE,4BAA6C;EAE5D,sCAAuB;IAAC,gBAAgB,EAAE,KAAqB;;AAIhE,oBAAqB;EACpB,UAAU,EAAE,KAAK;EACjB,KAAK,EAAE,KAAK;;AAIb,0BAA2B;EAE1B,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,QAAQ;EAChB,gBAAgB,EAAE,OAA2B;EAC7C,MAAM,EAAE,eAAe;;AAIxB,gBAAiB;EAChB,eAAe,EzBnEF,GAAG;EyBoEhB,WAAW,EAAE,GAAG;;AAIjB,eAAgB;EACf,SAAS,EAAE,IAAI;EAGf,gCAAiB;IAChB,OAAO,EAAC,CAAC;IACT,MAAM,EAAE,KAAc;IACtB,cAAc,EAAE,QAAQ;EAKxB,mEAAM;IACL,YAAY,EAAE,IAAgC;IAC9C,WAAW,EzB1DG,MA
 AM;EyB4D
 
rB,mEAAM;IACL,aAAa,EAAE,IAAgC;IAC/C,YAAY,EzB9DE,MAAM;;A0BzDvB,mBAAmB;AAInB,qBAAsB;EACrB,cAAc,EAAE,GAAG;;AAGpB,+BAAgC;EAC/B,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,gBAAgB,EAAE,IAAI;EACtB,aAAa,EAXS,gCAAgC;;AAcvD,oBAAqB;EACpB,KAAK,EAAE,KAAK;EACZ,WAAW,EAhBW,gCAAgC;EAiBtD,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,KAAK;;AAGtB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,WAAW,EAxBW,gCAAgC;EAyBtD,qBAAqB,EAAE,MAAM;;AAG9B,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,MAAM;;AAGpB,sCAAuC;EACtC,OAAO,EAAE,GAAG;EACZ,KAAK,EAAE,IAAI;EACX,gBAAgB,EAAE,WAAW;EAC7B,UAAU,EAAE,KAAK;EACjB,6EAAuC;IACtC,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,CAAC;EAGlB;2EACmC;IAClC,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,kCAAkC;IAC1C,gBAAgB,EAAE,qBAAiC;IACnD,KAAK,ExB5BQ,OAAO;IwB6BpB,aAAa,EAAE,GAAG;EAEnB,oDAAc;IAAE,YAAY,EAAE,IAAI;;AAInC,iCAAkC;EACjC,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,gBAAgB;;AAG1B,sCAAuC;EAAE,OAAO,EAAE,gBAAgB;;AAElE,kBAAmB;EAAE,gBAAgB,EAAE,qBAAkC;;AAEzE,yBAA0B;EACzB,UAAU,EAAE,KAAK;EACjB,UAAU,EAAE,8BAA2B;;AAGx
 C,gBAAiB
 
;EAChB,UAAU,EAAE,gEAA6E;EACzF,iBAAiB,EAAE,MAAM;;AAIzB,wFAAmC;EAClC,gBAAgB,EAAE,kBAA6B;EAC/C,0MAAiB;IAAE,gBAAgB,EAAE,kBAA6B;EAClE,sGAAS;IAAE,gBAAgB,EAAE,sBAAsC;;AChFrE,gBAAgB;AAGf,kBAAQ;EAAE,gBAAgB,EAAE,IAAI;AAChC,kBAAQ;EAAE,gBAAgB,EAAE,IAAI;;AAGjC,WAAY;EACX,OAAO,EAAE,CAAC;EAEV,wBAAe;IACd,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;EAGjB,wBAAa;IACZ,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,WAAW;EAG9B,0DAAmC;IAClC,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,OAA8B;IAEhD,MAAM,EAAE,GAAG;IACX,sEAAQ;MAAE,gBAAgB,EAAE,OAA8B;IAC1D,wEAAS;MAAE,gBAAgB,EzBjBT,OAAmB;;A0BLvC;aACc;EACb,KAAK,EAJe,KAAK;EAKzB,OAAO,EAAE,OAAO;EAChB,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,wBAA6B;EACpC,gBAAgB,EbND,IAAS;EaOxB,YAAY,E1BqBe,KAAc;E0BnBzC;qBAAQ;IACP,gBAAgB,E5B6BD,KAAoE;I4B5BnF,YAAY,E5B8BQ,OAAqD;I4B7BzE,KAAK,E5B4BU,OAAoE;E4BzBpF;qBAAQ;IACP,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,GAAG;IACjB,KAAK,E1BhBI,IAAI;I0BiBb,YAAY,E1BdM,OAAmB;I0BerC,UAAU,EAAE,sCAAmC;EAGhD;kCAAmB;IAClB,SAAS,E5B6BM,MAAM;I4B5BrB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,OAAO;;AC9BhB,YAAY;AAIZ,eA
 AsB;EACr
 
B,gBAAgB,EAAE,qBAA+C;EACjE,aAAa,EAAE,IAAmB;EAClC,MAAM,EAAE,kCAAkC;EAC1C,UAAU,EAAE,8BAAyB;EACrC,WAAW,EAAE,8BAAqE;EAClF,KAAK,E3BYS,OAAO;E2BXrB,OAAO,EAAE,IAAiB;EAC1B,MAAM,E7BiBO,GAAG;;A6BbjB,qBAAsB;EACrB,SAAS,EAhBwB,MAAM;;AAoBxC,eAAgB;EAEf,OAAO,EAAC,CAAC;EACT,UAAU,EAAC,CAAC;EACZ,aAAa,EAAC,CAAC;EAGf,2GACuC;IACtC,gBAAgB,EAAE,WAAW;EAI9B,yCAA0B;IAIzB,MAAM,EAAE,GAAG;IACX,gBAAgB,EAAE,WAAW;EAI9B,uCAAwB;IACvB,OAAO,EAAE,CAAC;;AAYX,oCAAiB;EAEhB,KAAK,E3BpCQ,OAAO;A2BuCrB,6DAA0C;EACzC,OAAO,EAAE,gBAAgB;EACzB,OAAO,E7BjCM,GAAG;A6BuChB,+HAAe;EACd,gBAAgB,EAAE,qBAAiC;EACnD,KAAK,E3BjDO,OAAO;A2BqDrB,uCAAsB;EACrB,gBAAgB,EAAE,uBAAsC;AAGzD,qFACyB;EACxB,gBAAgB,EAAE,qBAA8C;;AAKlE,qBAAsB;EAGrB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,CAAC;EACV,YAAY,EAAE,GAAgB;EAE9B,wFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAG3B,2DACU;IACT,gBAAgB,EAAE,qBAA4C;EAI/D,mDAA8B;IAC7B,OAAO,EAAE,IAAiB;IAG1B,iFAA8B;MAC7B,KAAK,EAAE,KAAK;MACZ,UAAU,EAAE,CAAC;MACb,KAAK,EAAE,OAAyB;;AAOnC,oBAAqB;EACpB,OAAO,E7B3FO,GAAG;;A6B+FlB,mBAAoB;EA
 EnB,OAAO
 
,EAAE,CAAC;EACV,OAAO,E7BpGO,GAAG;E6BqGjB,KAAK,E3B3GS,OAAO;E2B6GrB,kFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAE3B,uDACU;IACT,gBAAgB,EAAE,qBAA4C;EAI/D,+CAA4B;IAC3B,OAAO,EAAE,CAAC;EAIX,6CAA0B;IACzB,KAAK,E3B/HQ,OAAO;I2BgIpB,OAAO,EAAE,IAAiB;IAC1B,aAAa,E7B3HA,GAAG;E6BgIjB,mDAAgC;IAC/B,KAAK,EAAE,OAA0B;;AA7JnC,YAAY;AAIZ,eAAsB;EACrB,gBAAgB,EAAE,qBAA+C;EACjE,aAAa,EAAE,IAAmB;EAClC,MAAM,EAAE,kCAAkC;EAC1C,UAAU,EAAE,8BAAyB;EACrC,WAAW,EAAE,8BAAqE;EAClF,KAAK,E3BYS,OAAO;E2BXrB,OAAO,EAAE,IAAiB;EAC1B,MAAM,E7BiBO,GAAG;;A6BbjB,qBAAsB;EACrB,SAAS,EAhBwB,MAAM;;AAoBxC,eAAgB;EAEf,OAAO,EAAC,CAAC;EACT,UAAU,EAAC,CAAC;EACZ,aAAa,EAAC,CAAC;EAGf,2GACuC;IACtC,gBAAgB,EAAE,WAAW;EAI9B,yCAA0B;IAIzB,MAAM,EAAE,GAAG;IACX,gBAAgB,EAAE,WAAW;EAI9B,uCAAwB;IACvB,OAAO,EAAE,CAAC;;AAYX,oCAAiB;EAEhB,KAAK,E3BpCQ,OAAO;A2BuCrB,6DAA0C;EACzC,OAAO,EAAE,gBAAgB;EACzB,OAAO,E7BjCM,GAAG;A6BuChB,+HAAe;EACd,gBAAgB,EAAE,qBAAiC;EACnD,KAAK,E3BjDO,OAAO;A2BqDrB,uCAAsB;EACrB,gBAAgB,EAAE,uBAAsC;AAGzD,qFACyB;EACxB,gBAAgB,EAAE,qBAA8C;
 ;AAKlE,q
 
BAAsB;EAGrB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,CAAC;EACV,YAAY,EAAE,GAAgB;EAE9B,wFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAG3B,2DACU;IACT,gBAAgB,EAAE,qBAA4C;EAI/D,mDAA8B;IAC7B,OAAO,EAAE,IAAiB;IAG1B,iFAA8B;MAC7B,KAAK,EAAE,KAAK;MACZ,UAAU,EAAE,CAAC;MACb,KAAK,EAAE,OAAyB;;AAOnC,oBAAqB;EACpB,OAAO,E7B3FO,GAAG;;A6B+FlB,mBAAoB;EAEnB,OAAO,EAAE,CAAC;EACV,OAAO,E7BpGO,GAAG;E6BqGjB,KAAK,E3B3GS,OAAO;E2B6GrB,kFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAE3B,uDACU;IACT,gBAAgB,EAAE,qBAA4C;EAI/D,+CAA4B;IAC3B,OAAO,EAAE,CAAC;EAIX,6CAA0B;IACzB,KAAK,E3B/HQ,OAAO;I2BgIpB,OAAO,EAAE,IAAiB;IAC1B,aAAa,E7B3HA,GAAG;E6BgIjB,mDAAgC;IAC/B,KAAK,EAAE,OAA0B;;AC7JnC,YAAY;AAIZ,OAAQ;EACP,MAAM,EAHO,IAAI;EAKjB,gBAAgB,EAAE,GAAG;EACrB,0BAA0B,E5BwBC,KAAc;E4BvBzC,sBAAsB,EAAE,GAAG;EAC3B,sBAAsB,E5BsBK,KAAc;E4BpBzC,iCAAiC,E5BHd,OAAmB;E4BItC,6BAA6B,EAAE,OAAwF;EAEvH,yBAAyB,E5BKN,OAAmB;E4BJtC,gCAAgC,EAAE,OAAwF;EAC1H,mCAAmC,EAAC,GAAG;EAEvC,qBAAqB,EAAE,KAAkB;EACzC,2BAA2B,EAAE,GAAG;EAChC,2BAA2B,E5BWA,KAAc;E4BTzC,K
 AAK,EAAE
 
,OAA2D;EAClE,aAAQ;IAAE,KAAK,E9BmBC,KAAoE;E8BlBpF,cAAS;IAAE,KAAK,E9BuBC,KAAqE;;A+BhDvF,cAAc;AAMd,cAAe;EACd,KAAK,E7BDK,IAAI;E6BEd,MAAM,EALS,IAAI;EAMnB,KAAK,EALS,IAAI;EAMlB,eAAe,EAAE,OAAO;EACxB,gBAAgB,EAAE,uDAA6I;EAC/J,sBAAU;IACT,gBAAgB,EAAE,sDAA2I;;ACZ/J,2BAA2B;AAE3B,aAAc;EACb,gBAAgB,EAAE,sBAAsC;EACxD,MAAM,EAAE,iBAA4B;;AAGrC,6BAA8B;EAC7B,aAAa,EAAE,SAAyB;;AAGzC,8BAA+B;EAC9B,aAAa,EAAE,SAAyB;;AAGzC,gDAAiD;EAChD,aAAa,EAAE,WAA2C;;ACjB3D,mBAAmB;AAYnB,cAAe;EAEd,mBAAmB,EAZI,IAAI;EAa3B,iBAAiB,EAbM,IAAI;EAe3B,OAAO,EAdgB,IAAI;EAgB3B,+BAAmB;IAAE,OAAO,EAhBL,IAAI;;AAoB5B,oBAAqB;EACpB,MAAM,EAAE,mCAAwC;EAChD,aAAa,EAAE,GAAyB;EAIxC,UAAU,EAAE,kCAAmD;;AAIhE,eAAgB;EACf,OAAO,EAAE,IAAI;EACb,KAAK,E/B3Bc,OAAO;E+B4B1B,gBAAgB,EAAE,kBAAe;EACjC,MAAM,EAAC,4BAAyB;EAChC,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,QAAQ;EACjB,SAAS,EAAE,IAAqB;EAChC,WAAW,EAAE,IAAI;;AAIlB,aAAc;EACb,gBAAgB,E/BtCG,OAAmB;E+BuCtC,KAAK,E/BxCc,OAAO;E+ByC1B,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAkE;EACjF,OAAO,EA3CsB,GAAG;EA4ChC,MAAM,E
 A7CoB,IA
 
AI;EA8C9B,KAAK,EA9CqB,IAAI;EA+C9B,UAAU,EAAE,mCAAgC;EAE5C,oBAAoB,EAAE,IAA+B;EAErD,mBAAQ;IACP,gBAAgB,EAAE,OAA+B;EAGlD,oBAAS;IACR,gBAAgB,EAAE,OAA8B;;AC/DlD,wBAAwB;AACxB,yBAA0B;EACzB,OAAO,EAAE,IAAiB;;AAG3B,6BAA8B;EAE7B,UAAU,EAAE,iCAA8B;;AAG3C,mBAAoB;EACnB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,IAAiB;EAE1B,oCAAiB;IAEhB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,kCAA2C;IACnD,aAAa,EAAE,GAAyB;EAIzC;;;+CAG0B;IACzB,gBAAgB,EhCtBE,OAAmB;IgCuBrC,MAAM,EAAE,iBAAgG;IACxG,KAAK,EhCzBa,OAAO;;AgC6B3B,qBAAqB;AAGrB,qBAAsB;EAErB,aAAa,EAAE,IAAI;EACnB,OAAO,ElCbO,GAAG;EkCcjB,OAAO,ElChBO,GAAG;EkCmBjB,sBAAsB,EAAC,YAAY;EACnC,yBAAyB,EAAC,YAAY;EACtC,kBAAkB,EAAE,YAAY;EAChC,yBAAM;IACL,aAAa,EAAE,aAA+B;IAC9C,iBAAiB,EAAE,YAAY;EAIhC,kCAAa;IACZ,gBAAgB,EAAE,6DAA6D;IAC/E,eAAe,EAAE,OAAO;IACxB,MAAM,EAAE,IAAI;;AAKd,8BAA+B;EAC9B,MAAM,EAAE,iBAA4B;EACpC,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,GAAG;;AlCkCb,qBAAqB;AAGrB,mDAAa;EACZ,SAAS,EAAE,GAAG;EACd
 ,WAAW,EA
 
AE,IAAI;EACjB,KAAK,EErFS,OAAO;;AF0FtB,yEAAW;EACV,KAAK,EE3FS,OAAO;EF4FrB,gBAAgB,EE3FF,OAAO;EF4FrB,MAAM,EAAE,kCAAkC;EAC1C,aAAa,EAAE,IAA6B;EAC5C,OAAO,EAAE,IAAiB;;AAK3B,4BAAgB;EACf,KAAK,EErGS,OAAO;EFsGrB,gBAAgB,EAAE,qBAAkC;EACpD,MAAM,EAAE,kCAAkC;;AAI3C;uIAAW;EACV,gBAAgB,EAAE,WAAW;EAC7B,KAAK,EE7GS,OAAO;EF8GrB,aAAa,EAAE,GAAyB;EACxC,OAAO,EAzGO,GAAG;EA0GjB,MAAM,EAAE,qBAAqB;EAC7B,mBAAmB,EAAE,KAAK;EAC1B,UAAU,EAAE,MAAM;;AAInB,4JAAc;EACb,KAAK,EEvIK,IAAI;EFwId,gBAAgB,Ee1ID,IAAS;Ef2IxB,MAAM,EAAE,4BAAiE;EAMzE,4NAAQ;IACP,gBAAgB,EelJF,IAAS;IfmJvB,KAAK,EEjJI,IAAI;IFkJb,UAAU,EAAE,IAAI;IAEhB,ozCAA0C;MACzC,YAAY,EArHQ,KAAsD;IAwH3E,4QAAQ;MAAE,gBAAgB,EAnHX,KAAoE;IAoHnF,oRAAS;MACR,gBAAgB,EEvJC,OAAmB;MFwJpC,KAAK,EEzJY,OAAO;IF2JzB,oSAAW;MAAE,KAAK,EErIG,IAA8B;;AF0IrD,0PAAc;EACb,KAAK,EEnKK,IAAI;EFoKd,gBAAgB,EAAE,KAAqB;EACvC,YAAY,EArIU,KAAsD;EAsI5E,UAAU,EAAE,IAAI;EAChB,gTAAQ;IAAE,MAAM,EAAE,iBAA4B;;AAI/C,kGAAe;EC3Cb,KAAK,EChII,IAAI;EDiIb,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,Y
 AAY,EAAE
 
,KAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,8BAAwB;EACrC,WAAW,EAAE,8BAAwB;EDqCtC,OAAO,EAAE,IAAiB;EAC1B,YAAY,EA9IU,KAAsD;EA+I5E,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,YAAY;EAC1B,gBAAgB,EAAE,cAAc;EAChC,UAAU,EAAC,eAAe;EAE1B,sIAAc;ICNb,KAAK,ECtJgB,IAA8B;IDuJnD,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,ECvJc,KAAc;IDwJxC,gBAAgB,EAAE,kBAAgC;IAClD,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;EDAlB,oHAAQ;IC/BP,KAAK,ECtJI,IAAI;IDuJb,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;EDyBtC,oHAAQ;ICzCP,KAAK,EC7II,IAAI;ID8Ib,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;IACrC,UAAU,EAAE,sCAAuD;EDuCpE,uHAAS;ICrBR,KAAK,EClKI,IAAI;IDmKb,gBAAgB,EAAE,gBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;EDiBjB,sIAAc;IACb,kBAAkB,EAAE,cAAc;IAClC,aAAa,EAAE,eAA+B;EAE/C,mIAAa;IACZ,kBAAkB,EAAE,YAAY;IAChC,aAAa,EA
 AE,eAA+B
 
;EAG/C,uKAAyB;IACxB,aAAa,EAAE,eAA+C;;AAKhE,2CAAQ;EACP,aAAa,EA/KO,GAAG;EAgLvB,YAAY,EAAE,GAAG;EACjB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,QAAqC;EC7E7C,KAAK,EChII,IAAI;EDiIb,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,KAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,8BAAwB;EACrC,WAAW,EAAE,8BAAwB;EDwEtC,aAAQ;ICnEP,KAAK,EC7II,IAAI;ID8Ib,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;IACrC,UAAU,EAAE,sCAAuD;EDiEpE,aAAQ;IC3DP,KAAK,ECtJI,IAAI;IDuJb,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;EDqDtC,mBAAc;ICpCb,KAAK,ECtJgB,IAA8B;IDuJnD,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,ECvJc,KAAc;IDwJxC,gBAAgB,EAAE,kBAAgC;IAClD,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;ED8BlB,cAAS;ICjDR,KAAK,EClKI,IAAI;IDmKb,gBAAgB,EAAE,gBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IA
 AI;;AD+C
 
lB;0EAAqB;EACpB,aAAa,EAAC,GAAyB;EACvC,OAAO,EAAE,CAAC;EACV,MAAM,EApMO,GAAG;ECyGf,KAAK,EChII,IAAI;EDiIb,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,KAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,8BAAwB;EACrC,WAAW,EAAE,8BAAwB;EDuFtC;;wFACQ;IC1EP,KAAK,ECtJI,IAAI;IDuJb,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,8BAAwB;IACrC,WAAW,EAAE,8BAAwB;EDyEtC;0FAAS;ICpER,KAAK,EClKI,IAAI;IDmKb,gBAAgB,EAAE,gBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;;AkCxKlB,KAAM;EACL,cAAc,EAAE,QAAQ;;AAGzB,cAAe;EAAE,KAAK,EAAE,IAAI;;AAC5B,sCAAuC;EACtC,gBAAgB,EAAE,0DAA0D;EAC5E,sDAAU;IAAE,gBAAgB,EAAE,yDAAyD",
+"sources": 
["gnome-shell-sass/_common.scss","gnome-shell-sass/_drawing.scss","gnome-shell-sass/_high-contrast-colors.scss","gnome-shell-sass/widgets/_app-grid.scss","gnome-shell-sass/widgets/_app-switcher.scss","gnome-shell-sass/widgets/_buttons.scss","gnome-shell-sass/widgets/_calendar.scss","gnome-shell-sass/widgets/_check-box.scss","gnome-shell-sass/widgets/_corner-ripple.scss","gnome-shell-sass/widgets/_dash.scss","gnome-shell-sass/widgets/_dialogs.scss","gnome-shell-sass/widgets/_end-session-dialog.scss","gnome-shell-sass/widgets/_entries.scss","gnome-shell-sass/widgets/_hotplug.scss","gnome-shell-sass/widgets/_ibus-popup.scss","gnome-shell-sass/widgets/_keyboard.scss","gnome-shell-sass/widgets/_login-dialog.scss","gnome-shell-sass/widgets/_looking-glass.scss","gnome-shell-sass/widgets/_message-list.scss","gnome-shell-sass/widgets/_notifications.scss","gnome-shell-sass/widgets/_misc.scss","gnome-shell-sass/widgets/_network-dialog.scss","gnome-shell-sass/widgets/_osd.scs
 s","gnom
 
e-shell-sass/widgets/_overview.scss","gnome-shell-sass/widgets/_panel.scss","gnome-shell-sass/widgets/_popovers.scss","gnome-shell-sass/widgets/_screen-shield.scss","gnome-shell-sass/widgets/_scrollbars.scss","gnome-shell-sass/widgets/_search-entry.scss","gnome-shell-sass/widgets/_search-results.scss","gnome-shell-sass/widgets/_slider.scss","gnome-shell-sass/widgets/_switches.scss","gnome-shell-sass/widgets/_tiled-previews.scss","gnome-shell-sass/widgets/_window-picker.scss","gnome-shell-sass/widgets/_workspace-switcher.scss","gnome-shell-high-contrast.scss"],
+"names": [],
+"file": "gnome-shell-high-contrast.css"
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-high-contrast.scss b/data/theme/gnome-shell-high-contrast.scss
index 4ac340c92a..cbd5fa41bf 100644
--- a/data/theme/gnome-shell-high-contrast.scss
+++ b/data/theme/gnome-shell-high-contrast.scss
@@ -6,11 +6,11 @@ $variant: 'light';
 
 //force symbolic icons
 stage {
-  -st-icon-style: symbolic;
+       -st-icon-style: symbolic;
 }
 
 .toggle-switch { width: 48px; }
 .toggle-switch-us, .toggle-switch-intl {
-  background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
-  &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
+       background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
+       &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
 }
diff --git a/data/theme/gnome-shell-sass/_colors.scss b/data/theme/gnome-shell-sass/_colors.scss
index d14a440afe..0783e69031 100644
--- a/data/theme/gnome-shell-sass/_colors.scss
+++ b/data/theme/gnome-shell-sass/_colors.scss
@@ -1,16 +1,15 @@
 // When color definition differs for dark and light variant,
 // it gets @if ed depending on $variant
 
-
-$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 20%), 2%));
+$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
 $bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
 $fg_color: if($variant == 'light', #2e3436, #eeeeec);
 
-$selected_fg_color: #ffffff;
+$selected_fg_color: #fff;
 $selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
 $selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 
30%));
-$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 10%));
-$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93));
+$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
+$borders_edge: if($variant == 'light', rgba(255,255,255,0.2), transparentize($fg_color, 0.93));
 $link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
 $link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 
10%));
 $top_hilight: $borders_edge;
@@ -20,21 +19,20 @@ $error_color: #ff8080;
 $success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
 $destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
 
-$osd_fg_color: #eeeeec;
-$osd_text_color: white;
-$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
+$osd_fg_color: $fg_color;
+$osd_text_color: if($variant == 'light', #000, #fff);
+$osd_bg_color: if($variant == 'light', rgba(255,255,255,0.9), transparentize(darken(desaturate(#3d3846, 
100%), 12%),0.04));
 $osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
 $osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
-$osd_borders_color: transparentize(black, 0.3);
-$osd_outer_borders_color: transparentize(white, 0.84);
+$osd_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
+$osd_outer_borders_color: if($variant == 'light', rgba(0,0,0,0.1), lighten($osd_bg_color, 7%));
 
-$tooltip_borders_color: $osd_outer_borders_color;
-$shadow_color: transparentize(black, 0.9);
+$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
 
 //insensitive state derived colors
 $insensitive_fg_color: mix($fg_color, $bg_color, 50%);
 $insensitive_bg_color: mix($bg_color, $base_color, 60%);
-$insensitive_borders_color: $borders_color;
+$insensitive_borders_color: mix($borders_color, $base_color, 60%);
 
 //colors for the backdrop state, derived from the main colors.
 $backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
@@ -42,4 +40,4 @@ $backdrop_bg_color: $bg_color;
 $backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
 $backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), 
lighten($backdrop_bg_color,15%));
 $backdrop_borders_color: mix($borders_color, $bg_color, 90%);
-$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
+$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss
index d4148306f9..bb80f9ab25 100644
--- a/data/theme/gnome-shell-sass/_common.scss
+++ b/data/theme/gnome-shell-sass/_common.scss
@@ -23,2209 +23,219 @@ $cakeisalie: "This stylesheet is generated, DO NOT EDIT";
  * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-/* GLOBALS */
+/* Global Values */
 
+// padding, margin and spacing
+$base_padding: 6px;
+$base_margin: 4px;
+$base_spacing: 6px;
 
-$modal_radius: 9px;
-$button_radius: 5px;
-$panel-corner-radius: $button_radius + 1;
+// border radii
+$base_border_radius: 5px;
 
-$_trough_color: transparentize($fg_color, 0.9);
-$_bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
-$_hover_bg_color: lighten($bg_color,if($variant=='light', 5%, 3%));
-$_active_bg_color: if($variant == 'light', darken($bg_color, 14%), darken($bg_color, 9%));
+$modal_radius:$base_border_radius * 2;
 
-$font-size: 11;
+// non-standard colors
+$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
+// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
 
-stage {
-  @include fontsize($font-size);
-  color: $fg_color;
-}
-
-/* WIDGETS */
-
-/* Buttons */
-.button, %button {
-  border-radius: $button_radius;
-  border-width: 1px;
-  min-height: 22px;
-  padding: 4px 32px;
-  @include button(normal);
-  &:focus { @include button(focus, $c:$_hover_bg_color, $tc:$fg_color); }
-  &:hover { @include button(hover, $c:$_hover_bg_color, $tc:$fg_color); }
-  &:insensitive { @include button(insensitive); }
-  &:active { @include button(active, $c:$_active_bg_color, $tc:$fg_color); }
-}
-
-.modal-dialog-linked-button, %bubble_button {
-  border-right-width: 1px;
-  @include button(normal, $c:$bg_color, $tc:$fg_color);
-  &:insensitive { @include button(insensitive, $c:$bg_color, $tc:$fg_color); }
-  &:hover { @include button(hover, $c:$_hover_bg_color, $tc:$fg_color); }
-  &:focus { @include button(focus, $c:$_hover_bg_color, $tc:$fg_color); }
-  &:active { @include button(active, $c:$_active_bg_color, $tc:$fg_color); }
-  padding: 12px;
-  border-top: 1px solid $_bubble_borders_color;
-
-  &:first-child {
-    border-radius: 0px 0px 0px $modal_radius;
-  }
-  &:last-child {
-    border-right-width: 0px;
-    border-radius: 0px 0px $modal_radius 0px;
-  }
-  &:first-child:last-child {
-    border-right-width: 0px;
-    border-radius: 0px 0px $modal_radius $modal_radius;
-  }
-}
-
-/* Entries */
-StEntry {
-  border-radius: $button_radius;
-  padding: 4px;
-  border-width: 1px;
-  color: $fg_color;
-  @include entry(normal);
-  //&:hover { @include entry(hover);}
-  &:focus { @include entry(focus,$fc:transparentize($fg_color,0.5));}
-  &:insensitive { @include entry(insensitive);}
-  selection-background-color: $selected_bg_color;
-  selected-color: $selected_fg_color;
-  StIcon.capslock-warning {
-    icon-size: 16px;
-    warning-color: $warning_color;
-    padding: 0 4px;
-  }
-
-  StIcon.peek-password {
-    icon-size: 1.09em;
-    padding: 0 4px;
-  }
-}
-
-
-/* Scrollbars */
-
-StScrollView {
-  &.vfade { -st-vfade-offset: 68px; }
-  &.hfade { -st-hfade-offset: 68px; }
-}
-
-StScrollBar {
-  padding: 0;
-
-  StScrollView & {
-    min-width: 14px;
-    min-height: 14px;
-  }
-
-  StBin#trough {
-    border-radius: 0;
-    background-color: transparent;
-  }
-
-  StButton#vhandle, StButton#hhandle {
-    border-radius: 8px;
-    background-color: mix($fg_color, $bg_color, 60%);
-    //border: 3px solid transparent; //would be nice to margin or at least to transparent
-    margin: 3px;
-    &:hover { background-color: mix($fg_color, $bg_color, 80%); }
-    &:active { background-color: $selected_bg_color; }
-  }
-}
-
-/* Slider */
-
-.slider {
-  height: 1em;
-  -barlevel-height: 0.3em;
-  -barlevel-background-color: transparentize($fg_color, 0.9); //background of the trough
-  -barlevel-border-color: $borders_color; //trough border color
-  -barlevel-active-background-color: $selected_bg_color; //active trough fill
-  -barlevel-active-border-color: $selected_borders_color; //active trough border
-  -barlevel-overdrive-color: $destructive_color;
-  -barlevel-overdrive-border-color: darken($destructive_color,10%);
-  -barlevel-overdrive-separator-width: 0.2em;
-  -barlevel-border-width: 1px;
-  -slider-handle-radius: 8px;
-  -slider-handle-border-width: 1px;
-  -slider-handle-border-color: $borders_color;
-  color: if($variant == 'light', lighten($bg_color, 10%), darken($bg_color,4%));
-  &:hover { color: $_hover_bg_color; }
-  &:active { color: $_active_bg_color; }
-}
-
-/* Check Boxes */
-
-.check-box {
-  StBoxLayout { spacing: .8em; }
-  StBin {
-    width: 24px;
-    height: 22px;
-    background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
-  }
-  &:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
-  &:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
-  &:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
-}
-
-/* Switches */
-.toggle-switch {
-  color: $fg_color;
-  width: 46px;
-  height: 22px;
-  background-size: contain;
-  background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),
-                                           url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
-  &:checked { 
-    background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),
-                                           url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
-  }
-}
-
-/* links */
-.shell-link {
-  color: $link_color;
-  &:hover { color: lighten($link_color,10%); }
-}
-
-/* Modal Dialogs */
-
-.headline { font-size: 110%; }
-.lightbox { background-color: black; }
-.flashspot { background-color: white; }
-
-.modal-dialog {
-  border-radius: $modal_radius;
-  @extend %bubble-panel;
-  .modal-dialog-content-box {
-    padding: 24px;
-  }
-  .run-dialog-entry { width: 20em; margin-bottom: 6px; }
-  .run-dialog-error-box {
-    padding-top: 16px;
-    spacing: 6px;
-  }
-  .run-dialog-button-box { padding-top: 1em; }
-  .run-dialog-label {
-    @include fontsize($font-size + 1.1);
-    font-weight: normal;
-    color: $fg_color;
-    padding-bottom: .4em;
-  }
-
-}
-
-  .mount-dialog-subject,
-  .end-session-dialog-subject { //this should be a generic header class
-    @include fontsize($font-size * 1.3);
-  }
-
-/* Message Dialog */
-  .message-dialog-main-layout {
-    padding: 12px 20px 0;
-    spacing: 12px;
-  }
-
-  .message-dialog-content {
-    max-width: 28em;
-    spacing: 20px;
-  }
-
-  .message-dialog-icon {
-    min-width: 48px;
-    icon-size: 48px;
-  }
-
-  .message-dialog-title {
-    font-weight: bold;
-  }
-
-  .message-dialog-subtitle {
-    color: $fg_color;
-    font-weight: bold;
-  }
-
-/* End Session Dialog */
-.end-session-dialog {
-  spacing: 42px;
-  border: 1px solid $_bubble_borders_color;
-}
-
-  .end-session-dialog-list {
-      padding-top: 20px;
-  }
-
-  .end-session-dialog-layout {
-    padding-left: 17px;
-    &:rtl { padding-right: 17px; }
-  }
-
-  .end-session-dialog-description {
-    width: 28em;
-    padding-bottom: 10px;
-    &:rtl {
-      text-align: right;
-    }
-  }
-
-  .end-session-dialog-warning {
-    width: 28em;
-    color: $warning_color;
-    padding-top: 6px;
-    &:rtl {
-      text-align: right;
-    }
-  }
-
-  .end-session-dialog-logout-icon {
-    border-radius: 99px;
-    width: 48px;
-    height: 48px;
-    background-size: contain;
-  }
-
-  .end-session-dialog-shutdown-icon {
-    color: $fg_color;
-    width: 48px;
-    height: 48px;
-  }
-
-  .end-session-dialog-inhibitor-layout {
-    spacing: 16px;
-    max-height: 200px;
-    padding-right: 65px;
-    padding-left: 65px;
-  }
-
-  .end-session-dialog-session-list,
-  .end-session-dialog-app-list {
-    spacing: 1em;
-  }
-
-  .end-session-dialog-list-header {
-    font-weight: bold;
-    &:rtl { text-align: right; }
-  }
-
-  .end-session-dialog-app-list-item,
-  .end-session-dialog-session-list-item {
-    spacing: 1em;
-  }
-
-  .end-session-dialog-app-list-item-name,
-  .end-session-dialog-session-list-item-name {
-    font-weight: bold;
-  }
-
-  .end-session-dialog-app-list-item-description {
-    color: darken($fg_color,5%);
-    font-size: 10pt;
-  }
-
-/* ShellMountOperation Dialogs */
-.shell-mount-operation-icon { icon-size: 48px; }
-
-  .mount-dialog {
-    spacing: 24px;
-
-    .message-dialog-title {
-      padding-top: 10px;
-      padding-left: 17px;
-      padding-bottom: 6px;
-      max-width: 34em;
-    }
-
-    .message-dialog-title:rtl {
-      padding-left: 0px;
-      padding-right: 17px;
-    }
-
-    .message-dialog-body {
-      padding-left: 17px;
-      width: 28em;
-    }
-
-    .message-dialog-body:rtl {
-      padding-left: 0px;
-      padding-right: 17px;
-    }
-  }
-
-  .mount-dialog-app-list {
-    max-height: 200px;
-    padding-top: 24px;
-    padding-left: 49px;
-    padding-right: 32px;
-  }
-
-  .mount-dialog-app-list:rtl {
-    padding-right: 49px;
-    padding-left: 32px;
-  }
-
-  .mount-dialog-app-list-item {
-    color: lighten($fg_color,10%);
-    &:hover { color: $fg_color; }
-    &:ltr { padding-right: 1em; }
-    &:rtl { padding-left: 1em; }
-  }
-
-  .mount-dialog-app-list-item-icon {
-    &:ltr { padding-right: 17px; }
-    &:rtl { padding-left: 17px; }
-  }
-
-  .mount-dialog-app-list-item-name {
-    font-size: 10pt;
-  }
-
-
-/* Password or Authentication Dialog */
-
-.prompt-dialog {
-  @extend %bubble-panel;
-  //this is the width of the entire modal popup
-  width: 34em;
-
-  .message-dialog-main-layout { spacing: 24px; padding: 10px; }
-  .message-dialog-content { spacing: 16px; }
-  .message-dialog-title { color: lighten($fg_color,15%); }
-}
-
-  .prompt-dialog-description:rtl {
-    text-align: right;
-  }
-
-  .prompt-dialog-password-box {
-    spacing: 1em;
-    padding-bottom: 1em;
-  }
-
-  .prompt-dialog-error-label {
-    font-size: 10pt;
-    color: $warning_color;
-    padding-bottom: 8px;
-  }
-
-  .prompt-dialog-caps-lock-warning {
-    @extend .prompt-dialog-error-label;
-    padding-left: 6.2em;
-  }
-
-  .prompt-dialog-info-label {
-    font-size: 10pt;
-    padding-bottom: 8px;
-  }
-
-  .hidden {
-    color: rgba(0,0,0,0);
-  }
-
-  .prompt-dialog-null-label {
-    font-size: 10pt;
-    padding-bottom: 8px;
-  }
-
-  .prompt-dialog-pim-box {
-    spacing: 1em;
-  }
-
-  .prompt-dialog-grid {
-    spacing-rows: 15px;
-    spacing-columns: 1em;
-  }
-
-  .prompt-dialog-keyfiles-box {
-    spacing: 1em;
-  }
-
-  .prompt-dialog-button.button {
-    padding: 8px;
-  }
-
-
-/* Polkit Dialog */
-
-.polkit-dialog-user-layout {
-  padding-left: 10px;
-  spacing: 10px;
-  &:rtl {
-    padding-left: 0px;
-    padding-right: 10px;
-  }
-}
-
-  .polkit-dialog-user-root-label {
-    color: $warning_color;
-  }
-
-  .polkit-dialog-user-icon {
-    border-radius: 99px;
-    background-size: contain;
-    width: 48px;
-    height: 48px;
-  }
-
-/* Audio selection dialog */
-.audio-device-selection-dialog {
-  @extend %bubble-panel;
-  spacing: 30px;
-}
-
-  .audio-selection-content {
-    spacing: 20px;
-    padding: 24px;
-  }
-
-  .audio-selection-title {
-    font-weight: bold;
-    text-align: center;
-  }
-
-  .audio-selection-box {
-    spacing: 20px;
-  }
-
-  .audio-selection-device {
-    border: 1px solid $_bubble_borders_color;
-    border-radius: 12px;
-    &:hover,&:focus { background-color: $_hover_bg_color; }
-    &:active { 
-      background-color: $selected_bg_color;
-      color: $selected_fg_color;
-    }
-  }
-
-  .audio-selection-device-box {
-    padding: 20px;
-    spacing: 20px;
-  }
-
-  .audio-selection-device-icon {
-    icon-size: 64px;
-  }
-
-/* Access Dialog */
-.access-dialog {
-  @extend %bubble-panel;
-  spacing: 30px;
-}
-
-/* Geolocation Dialog */
-.geolocation-dialog {
-  @extend %bubble-panel;
-  spacing: 30px;
-}
-
-/* Extension Dialog */
-.extension-dialog {
-  @extend %bubble-panel;
-  .message-dialog-main-layout { spacing: 24px; padding: 10px; }
-  .message-dialog-title { font-weight: normal; color: $fg_color; }
-}
-
-/* Inhibit-Shortcuts Dialog */
-.inhibit-shortcuts-dialog {
-  @extend %bubble-panel;
-  spacing: 30px;
-}
-
-/* Network Agent Dialog */
-
-.network-dialog-secret-table {
-  spacing-rows: 15px;
-  spacing-columns: 1em;
-}
-
-.keyring-dialog-control-table {
-  spacing-rows: 15px;
-  spacing-columns: 1em;
-}
-
-/* Popovers/Menus */
-
-.popup-menu {
-  min-width: 15em;
-  color: $fg_color;
-  border-color: $_bubble_borders_color;
-
-  .popup-menu-arrow { } //defined globally in the TOP BAR
-  .popup-sub-menu {
-    background-color: darken($bg_color,5%);
-    box-shadow: inset 0 -1px 0px $_bubble_borders_color;
-  }
-
-  .popup-menu-content { padding: 1em 0em; }
-  .popup-menu-item {
-    spacing: 12px;
-
-    &:ltr { padding: .4em 1.75em .4em 0em; }
-    &:rtl { padding: .4em 0em .4em 1.75em; }
-    &:checked {
-      background-color: $bg_color;
-      box-shadow: inset 0 -1px 0px $_bubble_borders_color;
-      font-weight: bold;
-    }
-    &.selected {
-      background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
-      color: $fg_color;
-    }
-    &:active { 
-      background-color: $selected_bg_color;
-      color: $selected_fg_color;
-     }
-    &:insensitive { color: transparentize($fg_color,.5); }
-  }
-
-  .popup-inactive-menu-item { //all icons and other graphical elements
-    color: $fg_color;
-
-    &:insensitive { color: transparentize($fg_color,0.5); }
-  }
-  //.popup-status-menu-item { font-weight: normal;  color: pink; } //dunno what that is
-  &.panel-menu {
-    -boxpointer-gap: 4px;
-    margin-bottom: 1.75em;
-  }
-}
-
-
-
-  .popup-menu-ornament {
-    text-align: right;
-    width: 1.2em;
-  }
-  .popup-menu-boxpointer,
-  .candidate-popup-boxpointer {
-    -arrow-border-radius: $button_radius+4;
-    -arrow-background-color: $bg_color;
-    -arrow-border-width: 1px;
-    -arrow-border-color: if($variant=='light', transparentize(black, 0.6), $borders_color);
-    -arrow-base: 24px;
-    -arrow-rise: 11px;
-    -arrow-box-shadow: 0 1px 3px black; //dreaming. bug #689995
-  }
-
-  .popup-separator-menu-item {
-    //-margin-horizontal: 24px;
-    height: 1px; //not really the whole box
-    margin: 6px 64px;
-    background-color: transparent;
-    border-color: $_bubble_borders_color;
-    border-bottom-width: 1px;
-    border-bottom-style: solid;
-  }
-
-// Rename popup
-.rename-folder-popup {
-  .rename-folder-popup-item {
-    spacing: 6px;
-    &:ltr, &:rtl { padding: 0, 12px; }
-  }
-}
-
-// Background menu
-.background-menu { -boxpointer-gap: 4px; -arrow-rise: 0px; }
-
-/* fallback menu
-- odd thing for styling App menu when apparently not running under shell. Light Adwaita styled
-  app menu inside the main app window itself rather than the top bar
-*/
-
-/*************
- * App Icons *
- *************/
-/* Outline for low res icons */
-.lowres-icon {
-    icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
-}
-
-/* Drapshadow for large icons */
-.icon-dropshadow {
-  icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
-}
-
-/* OSD */
-.osd-window {
-  text-align: center;
-  font-weight: bold;
-  spacing: 1em;
-  margin: 32px;
-  min-width: 64px;
-  min-height: 64px;
-
-  .osd-monitor-label { font-size: 3em; }
-  .level {
-    height: 0.6em;
-    -barlevel-height: 0.6em;
-    -barlevel-background-color: transparentize($fg_color, if($variant=='light', 0.2, 0.9));
-    -barlevel-active-background-color: $osd_fg_color;
-    -barlevel-overdrive-color: $destructive_color;
-    -barlevel-overdrive-separator-width: 0.2em;
-  }
-}
-
-/* Pad OSD */
-.pad-osd-window {
-    padding: 32px;
-    background-color: transparentize(black, 0.2);
-
-  .pad-osd-title-box { spacing: 12px; }
-  .pad-osd-title-menu-box { spacing: 6px; }
-}
-
-.combo-box-label {
-    width: 15em;
-}
-
-/* App Switcher */
-.switcher-popup {
-  padding: 8px;
-  spacing: 16px;
-}
-
-.osd-window,
-.resize-popup,
-.switcher-list {
-  @extend %osd-panel;
-}
-
-  .switcher-list-item-container { spacing: 8px;  }
-
-  .switcher-list .item-box {
-    padding: 8px;
-    border-radius: 4px;
-  }
-
-  .switcher-list .item-box:outlined {
-    padding: 6px;
-    border: 2px solid darken($borders_color,10%);
-  }
-
-  .switcher-list .item-box:selected {
-    background-color: transparentize($osd_fg_color, 0.7);
-    color: $selected_fg_color;
-  }
-
-  .switcher-list .thumbnail-box {
-    padding: 2px;
-    spacing: 4px;
-  }
-
-  .switcher-list .thumbnail {
-    width:  256px;
-  }
-
-  .switcher-list .separator {
-    width: 1px;
-    background: $borders_color;
-  }
-
-  .switcher-arrow {
-    border-color: rgba(0,0,0,0);
-    color: transparentize($fg_color,0.2);
-    &:highlighted {
-      color: $fg_color;
-    }
-  }
-
-  .input-source-switcher-symbol {
-    font-size: 34pt;
-    width: 96px;
-    height: 96px;
-  }
-
-/* Window Cycler */
-.cycler-highlight { border: 5px solid $selected_bg_color; }
-
-/* Workspace Switcher */
-.workspace-switcher-group { padding: 12px; }
-
-  .workspace-switcher-container {
-    @extend %osd-panel;
-  }
-
-  .workspace-switcher {
-    background: transparent;
-    border: 0px;
-    border-radius: 0px;
-    padding: 0px;
-    spacing: 8px;
-  }
-
-  .ws-switcher-active-up, .ws-switcher-active-down,
-  .ws-switcher-active-left, .ws-switcher-active-right {
-    height: 52px;
-    background-color: $selected_bg_color;
-    color: $selected_fg_color;
-    background-size: 32px;
-    border-radius: 8px;
-  }
-
-  .ws-switcher-box {
-    height: 50px;
-    border: 1px solid transparentize($osd_fg_color,0.9);
-    background: transparent;
-    border-radius: 8px;
-  }
-
-%osd-panel {
-  color: $osd_fg_color;
-  background-color: $osd_bg_color;
-  border: 1px solid $osd_outer_borders_color;
-  border-radius: 12px;
-  padding: 12px;
-}
-
-%bubble-entry {
-  color: $fg_color;
-  background-color: darken($bg_color, 2%);
-  border-color: $_bubble_borders_color;
-  box-shadow: none;
-  &:focus { border: 2px solid $selected_bg_color; }
-}
-
-%bubble-panel {
-  color: $fg_color;
-  background-color: $bg_color;
-  border: 1px solid if($variant=='light', transparentize(black, 0.6), $borders_color);
-
-  StEntry { @extend %bubble-entry; }
-  .button {
-    &, &:hover, &:focus, &:active, &:disabled { 
-      box-shadow: none;
-      border-color: $_bubble_borders_color;
-    }
-    background-color: $bg_color;
-    color: $fg_color;
-    &:hover { background-color: $_hover_bg_color; }
-    &:active { 
-      background-color: $selected_bg_color;
-      color: $selected_fg_color;
-    }
-    &:disabled { color: $insensitive_fg_color; }
-  }
-}
-
-/* Tiled window previews */
-.tile-preview {
-  background-color: transparentize($selected_bg_color,0.5);
-  border: 1px solid $selected_bg_color;
-}
-
-  .tile-preview-left.on-primary {
-    border-radius: $panel-corner-radius 0 0 0;
-  }
-
-  .tile-preview-right.on-primary {
-    border-radius: 0 $panel-corner-radius 0 0;
-  }
-
-  .tile-preview-left.tile-preview-right.on-primary {
-    border-radius: $panel-corner-radius $panel-corner-radius 0 0;
-  }
-
-/* TOP BAR */
-
-#panel {
-  background-color: black;
-  font-weight: bold;
-  height: 1.86em;
-  font-feature-settings: "tnum";
-
-  &.unlock-screen,
-  &.login-screen,
-  &.lock-screen {
-    background-color: transparent;
-  }
-
-  #panelLeft, #panelCenter { // spacing between activities<>app menu and such
-    spacing: 4px;
-  }
-
-  .panel-corner {
-    -panel-corner-radius: $panel-corner-radius;
-    -panel-corner-background-color: black;
-    -panel-corner-border-width: 2px;
-    -panel-corner-border-color: transparent;
-
-    &:active, &:overview, &:focus {
-      -panel-corner-border-color: lighten($selected_bg_color,5%);
-    }
-
-    &.lock-screen, &.login-screen, &.unlock-screen {
-      -panel-corner-radius: 0;
-      -panel-corner-background-color: transparent;
-      -panel-corner-border-color: transparent;
-    }
-  }
-
-  .panel-button {
-    -natural-hpadding: 12px;
-    -minimum-hpadding: 6px;
-    font-weight: bold;
-    color: #ccc;
-
-    .app-menu-icon {
-      -st-icon-style: symbolic;
-      margin-left: 4px;
-      margin-right: 4px;
-      //dimensions of the icon are hardcoded
-    }
-
-    &:hover {
-      color: $selected_fg_color;
-    }
-
-    &:active, &:overview, &:focus, &:checked {
-      // Trick due to St limitations. It needs a background to draw
-      // a box-shadow
-      background-color: rgba(0, 0, 0, 0.01);
-      box-shadow: inset 0 -2px 0px lighten($selected_bg_color,5%);
-      color: $selected_fg_color;
-    }
-
-    .system-status-icon { icon-size: 1.09em; padding: 0 5px; }
-    .unlock-screen &,
-    .login-screen &,
-    .lock-screen & {
-      color: lighten($fg_color, 10%);
-      &:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
-    }
-  }
-
-  .panel-status-indicators-box,
-  .panel-status-menu-box {
-    spacing: 2px;
-  }
-
-  // spacing between power icon and (optional) percentage label
-  .power-status.panel-status-indicators-box {
-    spacing: 0;
-  }
-
-  .screencast-indicator { color: $warning_color; }
-
-  .remote-access-indicator { color: $warning_color; }
-}
-
-  // calendar popover
-  #calendarArea {
-    padding: 0.75em 1.0em;
-  }
-
-  .calendar {
-    margin-bottom: 1em;
-  }
-
-    .calendar,
-    .datemenu-today-button,
-    .datemenu-displays-box,
-    .message-list-sections {
-      margin: 0 1.5em;
-    }
-
-    .datemenu-calendar-column { spacing: 0.5em; }
-    .datemenu-displays-section { padding-bottom: 3em; }
-    .datemenu-displays-box { spacing: 1em; }
-
-    .datemenu-calendar-column {
-      border: 0 solid $_bubble_borders_color;
-      &:ltr { border-left-width: 1px; }
-      &:rtl { border-right-width: 1px; }
-    }
-
-    .datemenu-today-button,
-    .world-clocks-button,
-    .weather-button,
-    .events-section-title {
-      border-radius: 4px;
-      padding: .4em;
-    }
-
-    .message-list-section-list:ltr {
-      padding-left: .4em;
-    }
-
-    .message-list-section-list:rtl {
-      padding-right: .4em;
-    }
-
-    .datemenu-today-button,
-    .world-clocks-button,
-    .weather-button,
-    .events-section-title {
-      &:hover, &:focus { background-color: $_hover_bg_color }
-      &:active { background-color: $_active_bg_color }
-    }
-
-    .datemenu-today-button .day-label {
-    }
-
-    .datemenu-today-button .date-label {
-      font-size: 1.5em;
-      font-weight: 300;
-    }
-
-    .world-clocks-header,
-    .weather-header,
-    .events-section-title {
-      color: darken($fg_color,40%);
-      font-weight: bold;
-    }
-
-    .weather-header.location {
-      font-weight: normal;
-      font-size: 0.9em;
-    }
-
-    .world-clocks-grid,
-    .weather-grid {
-      spacing-rows: 0.4em;
-      spacing-columns: 0.8em;
-    }
-
-    .weather-header-box,
-    .weather-box {
-      spacing: 0.4em;
-    }
-
-    .world-clocks-city {
-      font-weight: bold;
-      font-size: 0.9em;
-    }
-
-    .world-clocks-time {
-      color: darken($fg_color,20%);
-      font-feature-settings: "tnum";
-      font-size: 1.2em;
-    }
-
-    .world-clocks-timezone {
-      color: $fg_color;
-      font-feature-settings: "tnum";
-      font-size: 0.9em;
-    }
 
-    .weather-forecast-icon {
-      icon-size: 2.18em;
-    }
+// hover
+$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
+$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
+$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
 
-    .weather-forecast-time {
-      color: darken($fg_color,40%);
-      font-size: 0.8em;
-    }
+// active
+$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
+$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
+$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
 
-    .calendar-month-label {
-      color: lighten($fg_color,5%);
-      font-weight: bold;
-      padding: 8px 0;
-      &:focus {}
-    }
+// fonts
+$base_font_size: 11;
+$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
 
-    .pager-button {
-      background-color: transparent;
-      width: 32px;
-      border-radius: 4px;
-      &:hover, &:focus { background-color: $_hover_bg_color; }
-      &:active { background-color: transparentize($fg_color, 0.84); }
-    }
+// icons
+$base_icon_size: 1.09em;
+// $base_icon_size: 16px;
 
-      .calendar-change-month-back StIcon, .calendar-change-month-forward StIcon { // arrows
-        icon-size: 1.09em;
-      }
-
-    .calendar-day-base {
-      font-size: 80%;
-      text-align: center;
-      width: 2.4em; height: 2.4em;
-      padding: 0.1em;
-      margin: 2px;
-      border-radius: 1.4em;
-      font-feature-settings: "tnum";
-      &:hover, &:focus { background-color: $_hover_bg_color; }
-      &:active,&:selected {
-        color: lighten($selected_fg_color,5%);
-        background-color: $selected_bg_color;
-        border-color: transparent; //avoid jumparound due to today
-      }
-      &.calendar-day-heading {  //day of week heading
-        color: lighten($fg_color,5%);
-        margin-top: 1em;
-        font-size: 70%;
-      }
-    }
-      .calendar-day { //border collapse hack - see calendar.js
-        border-width: 0;
-      }
-      .calendar-day-top { border-top-width: 1px; }
-      .calendar-day-left { border-left-width: 1px; }
-      .calendar-work-day {
-
-      }
-      .calendar-nonwork-day {
-        color: $insensitive_fg_color;
-      }
-      .calendar-today {
-        font-weight: bold;
-        color: lighten($fg_color,5%);
-        background-color: darken($bg_color,5%);
-        // border: 1px solid lighten($_bubble_borders_color,20%);
-      }
-      .calendar-day-with-events {
-        color: lighten($fg_color,10%);
-        font-weight: bold;
-        background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
-      }
-      .calendar-other-month-day {
-        color: transparentize($fg_color ,0.5);
-        opacity: 0.5;
-      }
-      .calendar-week-number {
-        font-size: 70%;
-        font-weight: bold;
-        width: 2.3em; height: 1.8em;
-        border-radius: 2px;
-        padding: 0.5em 0 0;
-        margin: 6px;
-        background-color: $_bubble_borders_color;
-        color: $fg_color;
-      }
-
-      /* Message list */
-      .message-list {
-        width: 31.5em;
-      }
-
-        .message-list-clear-button.button {
-         @extend %button;
-          margin: 1.5em 1.5em 0;
-        }
-
-        .message-list-sections {
-          spacing: 1em;
-        }
-
-        .message-list-section,
-        .message-list-section-list {
-          spacing: 0.4em;
-        }
-
-        .message {
-          border: 1px solid $_bubble_borders_color;
-          background-color: lighten($bg_color, 2%);
-          &:hover,&:focus { background-color: $_hover_bg_color; }
-          &:active { background-color: transparentize($fg_color, 0.84) }
-          border-radius: 5px;
-        }
-
-          .message-icon-bin {
-            padding: 0.68em 0.2em 0.68em 0.68em;
-            &:rtl { padding: 0.68em 0.68em 0.68em 0.2em; }
-          }
-
-          .message-icon-bin > StIcon {
-            color: $fg_color;
-            icon-size: 1.09em;
-            -st-icon-style: symbolic;
-          }
-
-          .message-icon-bin > .fallback-window-icon {
-            width: 1.09em;
-            height: 1.09em;
-          }
-
-          .message-secondary-bin {
-            padding: 0 0.82em;;
-          }
-
-          .message-secondary-bin > .event-time {
-            color: $fg_color;
-            font-size: 0.7em;
-            /* HACK: the label should be baseline-aligned with a 1em label,
-                     fake this with some bottom padding */
-            padding-bottom: 0.13em;
-          }
-
-          .message-secondary-bin > StIcon {
-            icon-size: 1.09em;
-          }
-
-          .message-title {
-            color: $fg_color;            
-          }
-
-          .message-content {
-            color: darken($fg_color, 10%);
-            padding: 10px;
-          }
-
-          .message-close-button {
-            color: lighten($fg_color, 15%);
-            &:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
-            &:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
-          }
-
-          .message-media-control {
-            padding: 12px;
-            color: lighten($fg_color, 15%);
-
-            &:last-child:ltr { padding-right: 18px; }
-            &:last-child:rtl { padding-left: 18px; }
-            &:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
-            &:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
-            &:insensitive { color: if($variant=='light', lighten($fg_color, 50%), darken($fg_color, 40%)); }
-          }
-
-          .media-message-cover-icon {
-            icon-size: 48px !important;
-            &.fallback {
-              color: lighten($fg_color,10%);
-              background-color: $bg_color;
-              border: 1px solid $bg_color;
-              border-radius: 2px;
-              icon-size: 32px !important;
-              padding: 6px; }
-          }
-
-
-  // a little unstructured mess:
-
-  #appMenu {
-    spacing: 4px;
-
-    .label-shadow { color: transparent; }
-  }
-
-  .app-menu,
-  .app-well-menu {
-    max-width: 27.25em;
-  }
-
-  .aggregate-menu {
-    min-width: 21em;
-    .popup-menu-icon { padding: 0 4px;
-                       -st-icon-style: symbolic; }
-    .popup-sub-menu .popup-menu-item > :first-child {
-      &:ltr { /* 12px spacing + 2*4px padding */
-              padding-left: 20px; margin-left: 1.09em; }
-      &:rtl { /* 12px spacing + 2*4px padding */
-              padding-right: 20px; margin-right: 1.09em; }
-    }
-  }
-
-// Activities Ripples
-.ripple-box {
-  width: 52px;
-  height: 52px;
-  border-radius: 0 0 52px 0; // radius the size of the box give us the curve
-  background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
-  box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
-}
-
-.ripple-box:rtl { border-radius: 0 0 0 52px; } // just a simple change to the border radius position
-
-// Rubberband for select-area screenshots
-.select-area-rubberband {
-  background-color: transparentize($selected_bg_color,0.7);
-  border: 1px solid $selected_bg_color;
-}
-
-// Pointer location
-.ripple-pointer-location {
-  width: 50px;
-  height: 50px;
-  border-radius: 25px 25px 25px 25px; // radius the size of the box give us the curve
-  background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
-  box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
-}
-
-// not really top bar only
-.popup-menu-arrow { icon-size: 1.09em; }
-.popup-menu-icon { icon-size: 1.09em; }
-
-//close buttons
-
-.window-close {
-  background-color: $selected_bg_color;
-  color: white;
-  border-radius: 24px;
-  border: 2px solid $selected_bg_color;
-  height: 24px;
-  width: 24px;
-  -shell-close-overlap: 11px;
-  box-shadow: -1px 1px 5px 0px transparentize(black, 0.5);
-
-  &:hover {
-    background-color: lighten($selected_bg_color, 5%);
-    border-color: lighten($selected_bg_color, 5%);
-  }
-
-  &:active {
-    background-color: darken($selected_bg_color, 5%);
-    border-color: darken($selected_bg_color, 5%);
-  }
-}
-
-// Pointer accessibility notifications
-.pie-timer {
-  width: 60px;
-  height: 60px;
-  -pie-border-width: 3px;
-  -pie-border-color: $selected_bg_color;
-  -pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
-}
-
-/* NETWORK DIALOGS */
-
-.nm-dialog {
-  @extend %bubble-panel;
-  max-height: 34em;
-  min-height: 31em;
-  min-width: 32em;
-}
-
-  .nm-dialog-content {
-    spacing: 20px;
-    padding: 24px;
-  }
-  .nm-dialog-header-hbox { spacing: 10px; }
-  .nm-dialog-airplane-box { spacing: 12px; }
-
-  .nm-dialog-airplane-headline {
-    font-weight: bold;
-    text-align: center;
-  }
-
-  .nm-dialog-airplane-text { color: $fg_color; }
-  .nm-dialog-header-icon { icon-size: 32px; }
-  .nm-dialog-scroll-view { border: 2px solid $borders_color; }
-  .nm-dialog-header { font-weight: bold; }
-
-  .nm-dialog-item {
-    font-size: 110%;
-    border-bottom: 1px solid $borders_color;
-    padding: 12px;
-    spacing: 20px;
-  }
-
-  .nm-dialog-item:selected {
-    background-color: $selected_bg_color;
-    color: $selected_fg_color;
-  }
-
-  .nm-dialog-icons { spacing: .5em; }
-  .nm-dialog-icon { icon-size: 16px; }
-  .no-networks-label { color: #999999; }
-  .no-networks-box { spacing: 12px; }
-
-/* OVERVIEW */
-
-#overview {
-  spacing: 24px; //
-}
-
-.overview-controls {
-  padding-bottom: 32px;
-}
-
-  .window-picker { //container around window thumbnails
-    -horizontal-spacing: 16px;
-    -vertical-spacing: 16px;
-    padding: 0 16px 16px;
-
-    &.external-monitor { padding: 16px; }
-  }
-
-  .window-clone-border {
-    $_bg: transparentize(white, 0.65);
-    border: 7px solid $_bg;
-    border-radius: $modal_radius;
-    // For window decorations with round corners we can't match
-    // the exact shape when the window is scaled. So apply a shadow
-    // to fix that case
-    box-shadow: inset 0 0 0 1px $_bg;
-}
-  .window-caption {
-    spacing: 25px;
-    color: $selected_fg_color;
-    background-color: $selected_bg_color;
-    border-radius: 8px;
-    padding: 4px 12px;
-  }
-
-  //search entry
-  .search-entry, %search_entry {
-    width: 320px;
-    padding: 7px 9px;
-    border-radius: 18px;
-    color: $fg_color;
-    background-color: $base_color;
-    border-color: $borders_color;
-    &:focus {
-      padding: 6px 8px;
-      border-width: 2px;
-      border-color: $selected_bg_color;
-    }
-
-    .search-entry-icon { icon-size: 1em; padding: 0 4px; color: $fg_color; }
-
-    &:hover, &:focus {
-      .search-entry-icon { color: transparentize($fg_color,.3); }
-    }
-  }
-
-  //search results
-
-  #searchResultsContent {
-    max-width: 1000px;
-    padding-left: 20px;
-    padding-right: 20px;
-    spacing: 16px;
-  }
-
-  .search-section { spacing: 16px; } // This should be equal to #searchResultsContent spacing
-  .search-section-content { spacing: 32px; } // This is the space between the provider icon and the results 
container
-  .search-statustext { // "no results"
-    @extend %status_text;
-  }
-  .list-search-results { spacing: 3px; }
-
-  .search-section-separator { height: 2px; background-color: rgba(255, 255, 255, 0.2); }
-
-  .search-section:last-child .search-section-separator { background-color: transparent; }
-
-  .list-search-result-content { spacing: 30px; }
-  .list-search-result-title { color: darken($osd_fg_color,5%); spacing: 12px; }
-  .list-search-result-description { color: darken($osd_fg_color, 30%); }
-  .list-search-provider-details { width: 150px; color: darken($osd_fg_color,5%); margin-top: 0.24em; }
-  .list-search-provider-content { spacing: 20px; }
-  .search-provider-icon { padding: 15px; }
-
-
-  /* DASHBOARD */
-
-  #dash {
-    @extend %overview-panel;
-    font-size: 9pt;
-    padding: 4px 0;
-    border-radius: 0px 9px 9px 0px;
-
-    &:rtl {
-      border-radius: 9px 0 0 9px;
-    }
-
-    .placeholder {
-      background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
-      background-size: contain;
-      height: 24px;
-    }
-
-    .empty-dash-drop-target {
-      width: 24px;
-      height: 24px;
-    }
-
-  }
-
-  .dash-item-container > StWidget {
-    padding: 4px 8px;
-  }
-
-  .dash-label { //osd tooltip
-    border-radius: 7px;
-    padding: 4px 12px;
-    color: $osd_fg_color;
-    background-color: transparentize($osd_bg_color,0.05);
-    border: 1px solid $osd_outer_borders_color;
-    text-align: center;
-    -x-offset: 8px;
-  }
-
-  /* App Vault/Grid */
-  .icon-grid {
-    spacing: 30px;
-    -shell-grid-horizontal-item-size: 136px;
-    -shell-grid-vertical-item-size: 136px;
-
-    .overview-icon { icon-size: 96px; }
-  }
-  //.app-display { spacing: 20px; }
-
-  .system-action-icon {
-    background-color: black;
-    color: white;
-    border-radius: 99px;
-    icon-size: 48px;
-  }
-
-  .app-view-controls { //favorties | all toggle container
-    padding-bottom: 32px;
-  }
-  .app-view-control { //favorties | all toggle button
-    padding: 4px 32px;
-    margin: 0 4px;
-    &, &:hover, &:checked { @include button(undecorated); }
-
-    &, &:hover { color: darken($osd_fg_color, 25%); }
-
-    &:hover { box-shadow: inset 0 -2px darken($osd_fg_color, 25%); }
-
-    &:active {
-      box-shadow: inset 0 -2px $osd_fg_color;
-    }
-
-    &:checked {
-      color: $osd_fg_color;
-      box-shadow: inset 0 -2px $selected_bg_color;
-    }
-
-    &:first-child {
-      border-right-width: 0;
-      border-radius: 0;
-    }
-
-    &:last-child {
-     border-radius: 0;
-    }
-  }
-
-  //Icon tile
-  .search-provider-icon,
-  .list-search-result {
-    @extend %icon_tile;
-    &:focus, &:selected, &:hover {
-      background-color: transparentize($osd_fg_color,.9);
-      transition-duration: 200ms;
-    }
-    &:active, &:checked { background-color: transparentize(darken($osd_bg_color,10%),.1); }
-  }
-  .app-well-app,
-  .app-well-app.app-folder,
-  .show-apps,
-  .grid-search-result {
-    & .overview-icon {
-      @extend %icon_tile;
-    }
-    &:hover .overview-icon,
-    &:focus .overview-icon,
-    &:selected .overview-icon {
-      background-color: transparentize($osd_fg_color,.9);
-      transition-duration: 0ms;
-      border-image: none;
-      background-image: none;
-    }
-    &:drop .overview-icon {
-      background-color: transparentize($selected_bg_color,.15);
-    }
-    &:active .overview-icon,
-    &:checked .overview-icon {
-      background-color: transparentize(darken($osd_bg_color,10%), 0.5);
-    }
-  }
-
-  .app-well-app-running-dot { //running apps indicator
-    width: 10px; height: 3px;
-    background-color: $selected_bg_color;
-    margin-bottom: 2px;
-  }
-
-  %icon_tile {
-    color: $osd_fg_color;
-    border-radius: $button_radius+4;
-    padding: 6px;
-    border: 1px solid transparent;
-    transition-duration: 100ms;
-    text-align: center;
-  }
-
-  .app-well-app.app-folder > .overview-icon {
-    background-color: transparentize($osd_bg_color,.6);
-  }
-
-  .show-apps:checked .show-apps-icon,
-  .show-apps:focus .show-apps-icon {
-    color: white;
-    transition-duration: 100ms;
-  }
-
-
-  // Collections
-  .app-folder-popup { //expanded collection
-    -arrow-border-radius: 8px;
-    -arrow-background-color: transparentize(darken($osd_bg_color,10%), 0.5);
-    -arrow-base: 24px;
-    -arrow-rise: 11px;
-  }
-  .app-folder-popup-bin { padding: 5px; }
-  .app-folder-icon {
-    padding: 5px;
-    spacing-rows: 5px;
-    spacing-columns: 5px;
-  }
-
-  .page-indicator {
-    padding: 7px 16px;
-
-    .page-indicator-icon {
-      width: 12px;
-      height: 12px;
-      background-color: white;
-      border-radius: 6px;
-    }
-  }
-
-  .no-frequent-applications-label { @extend %status_text; }
-
-  .app-well-app > .overview-icon.overview-icon-with-label,
-  .grid-search-result .overview-icon.overview-icon-with-label {
-    padding: 10px 8px 5px 8px;
-    spacing: 4px;
-  }
-
-  // Workspace pager
-  .workspace-thumbnails { //container ala dash
-    @extend %overview-panel;
-    visible-width: 32px; //amount visible before hover
-    spacing: 11px;
-    padding: 8px;
-    border-radius: 9px 0 0 9px;
-    //border-width: 1px 0 1px 1px; //fixme: can't have non unoform borders :(
-    &:rtl { border-radius: 0 9px 9px 0;}
-
-    .placeholder {
-      background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
-      background-size: contain;
-      height: 24px;
-    }
-  }
-  .workspace-thumbnail-indicator {
-    border: 2px solid $selected_bg_color;
-    padding: 1px;
-  }
-
-  //Some hacks I don't even
-  .all-apps,
-  .frequent-apps > StBoxLayout {
-    // horizontal padding to make sure scrollbars or dash don't overlap content
-    padding: 0px 88px 10px 88px;
-  }
-
-%overview-panel {
-  color: $osd_fg_color;
-  background-color: transparentize($osd_bg_color, 0.1);
-  border: none;
+// Stage
+stage {
+       @include fontsize($base_font_size);
+       color: $fg_color;
 }
 
+/* WIDGETS */
+@import 'widgets/app-grid';
+@import 'widgets/app-switcher';
+@import 'widgets/buttons';
+@import 'widgets/calendar';
+@import 'widgets/check-box';
+@import 'widgets/corner-ripple';
+@import 'widgets/dash';
+@import 'widgets/dialogs';
+@import 'widgets/end-session-dialog';
+@import 'widgets/entries';
+@import 'widgets/hotplug';
+@import 'widgets/ibus-popup';
+@import 'widgets/keyboard';
+@import 'widgets/login-dialog';
+@import 'widgets/looking-glass';
+@import 'widgets/message-list';
+@import 'widgets/notifications';
+@import 'widgets/misc';
+@import 'widgets/network-dialog';
+@import 'widgets/osd';
+@import 'widgets/overview';
+@import 'widgets/panel';
+@import 'widgets/popovers';
+@import 'widgets/screen-shield';
+@import 'widgets/scrollbars';
+@import 'widgets/search-entry';
+@import 'widgets/search-results';
+@import 'widgets/search-results';
+@import 'widgets/slider';
+@import 'widgets/switches';
+@import 'widgets/tiled-previews';
+@import 'widgets/window-picker';
+@import 'widgets/workspace-switcher';
+
+/* Common Stylings */
+
+// Text
 %status_text {
-  font-size: 2em;
-  font-weight: bold;
-  color: $osd_fg_color;
-}
-
-/* NOTIFICATIONS & MESSAGE TRAY */
-
-  .url-highlighter { link-color: lighten($selected_bg_color,10%); }
-
-  // Banners
-  .notification-banner {
-    font-size: 11pt;
-    width: 34em;
-    margin: 5px;
-    border-radius: $modal_radius;
-    border: if($variant == 'light', none, $_bubble_borders_color);
-    min-height: 64px;
-    box-shadow: 0 1px 2px transparentize(black, 0.7);
-    &:hover { background: $bg_color; }
-    &, &:focus, &:active {
-      background-color: $bg_color;
-      .message-title { color: $fg_color }
-      .message-content { color: $fg_color; }
-    }
-
-    .message-icon-bin > StIcon {
-      color: $fg_color;
-    }
-
-    StEntry { @extend %bubble-entry; }
-
-    .notification-icon { padding: 5px; }  
-    .notification-content { padding: 5px; spacing: 5px; }
-    .secondary-icon { icon-size: 1.09em; }
-    .notification-actions {
-      padding-top: 0;
-      color: $fg_color;
-      border-top: 1px solid $_bubble_borders_color;
-      spacing: 0px;
-    }
-    .notification-button {
-      @extend %bubble_button;
-      &:focus { box-shadow: none; }
-      padding: 0 16px;
-      min-height: 35px;
-      border: none;
-    }
-  }
-  .summary-source-counter {
-    font-size: 10pt;
-    font-weight: bold;
-    height: 1.6em; width: 1.6em;
-    -shell-counter-overlap-x: 3px;
-    -shell-counter-overlap-y: 3px;
-    background-color: $selected_bg_color;
-    color: $selected_fg_color;
-    border: 2px solid $fg_color;
-    box-shadow: 0 2px 2px rgba(0,0,0,0.5);
-    border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
-  }
-
-  .secondary-icon { icon-size: 1.09em; }
-
-  //chat bubbles
-  .chat-body { spacing: 5px; }
-  .chat-response { margin: 5px; }
-  .chat-log-message { color: darken($fg_color,10%); }
-  .chat-new-group { padding-top: 1em; }
-  .chat-received {
-    padding-left: 4px;
-    &:rtl { padding-left: 0px; padding-right: 4px; }
-  }
-  .chat-sent {
-    padding-left: 18pt;
-    color: lighten($fg_color, 15%);
-    &:rtl { padding-left: 0; padding-right: 18pt; }
-  }
-  .chat-meta-message {
-    padding-left: 4px;
-    font-size: 9pt;
-    font-weight: bold;
-    color: lighten($fg_color,18%);
-    &:rtl { padding-left: 0; padding-right: 4px; }
-  }
-
-  //hotplug
-  .hotplug-transient-box {
-    spacing: 6px;
-    padding: 2px 72px 2px 12px;
-  }
-    .hotplug-notification-item {
-      @extend %bubble_button;
-      border: none; box-shadow: none;
-      padding: 2px 10px;
-      &:focus { padding: 1px 71px 1px 11px; }
-    }
-
-    .hotplug-notification-item-icon {
-      icon-size: 24px;
-      padding: 2px 5px;
-    }
-
-    .hotplug-resident-box { spacing: 8px; }
-
-    .hotplug-resident-mount {
-      spacing: 8px;
-      border-radius: 4px;
-      &:hover { background-color: $_hover_bg_color; }
-    }
-
-    .hotplug-resident-mount-label {
-      color: inherit;
-      padding-left: 6px;
-    }
-
-    .hotplug-resident-mount-icon {
-      icon-size: 24px;
-      padding-left: 6px;
-    }
-
-    .hotplug-resident-eject-icon {
-      icon-size: 16px;
-    }
-
-    .hotplug-resident-eject-button {
-      padding: 7px;
-      border-radius: 5px;
-      color: pink;
-    }
-
-/* Eeeky things */
-
-//magnifier
-
-.magnifier-zoom-region {
-  border: 2px solid $selected_bg_color;
-  &.full-screen { border-width: 0; }
-}
-
-//Keyboard
-/* On-screen Keyboard */
-.word-suggestions {
-    font-size: 14pt;
-    spacing: 12px;
-    min-height: 20pt;
-}
-
-#keyboard {
-    background-color: transparentize($osd_bg_color, 0.3);
-
-    .page-indicator {
-        padding: 4px 4px;
-
-        .page-indicator-icon {
-            width: 8px;
-            height: 8px;
-        }
-    }
-}
-
-  .key-container {
-    padding: 4px;
-    spacing: 4px;
-  }
-
-  .keyboard-key {
-    $_key_bg: opacify(lighten($osd_bg_color, 9%), 1);
-    background-color: $_key_bg;
-    min-height: 1.2em;
-    min-width: 1.2em;
-    font-size: 16pt;
-    border-radius: $button_radius;
-    border: 1px solid $osd_outer_borders_color;
-    color: $osd_fg_color;
-    &:focus { @include button(focus); }
-    &:hover, &:checked { background-color: lighten($_key_bg, 3%); }
-    &:active { background-color: darken($_key_bg, 2%); }
-    &:grayed { //FIXME
-      background-color: $osd_bg_color;
-      color: $osd_fg_color;
-      border-color: $osd_borders_color;
-    }
-    &.default-key {
-      $_default_key_bg: opacify($osd_bg_color, 1);
-      border-color: $osd_outer_borders_color;
-      background-color: $_default_key_bg;
-      background-size: 20px;
-      &:hover, &:checked { background-color: lighten($_default_key_bg, 3%); }
-      &:active { background-color: darken($_default_key_bg, 2%); }
-    }
-    &.enter-key {
-      border-color: lighten($selected_bg_color, 5%);
-      background-color: $selected_bg_color;
-      background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
-      &:hover, &:checked { background-color: lighten($selected_bg_color, 3%); }
-      &:active { background-color: darken($selected_bg_color, 2%); }
-    }
-    &.shift-key-lowercase {
-      background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");
-    }
-    &.shift-key-uppercase {
-      background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");
-    }
-    &.shift-key-uppercase:latched {
-      background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");
-    }
-    &.hide-key {
-      background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");
-    }
-    &.layout-key {
-      background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");
-    }
-  }
-
-  .keyboard-subkeys { //long press on a key popup
-    color: white;
-    -arrow-border-radius: 10px;
-    -arrow-background-color: transparentize($osd_bg_color, 0.3);
-    -arrow-border-width: 2px;
-    -arrow-border-color: $osd_outer_borders_color;
-    -arrow-base: 20px;
-    -arrow-rise: 10px;
-    -boxpointer-gap: 5px;
-  }
-
-.emoji-page {
-  .keyboard-key {
-    background-color: transparent;
-    border: none;
-  }
-}
-
-.emoji-panel {
-  .keyboard-key:latched {
-    border-color: lighten($selected_bg_color, 5%);
-    background-color: $selected_bg_color;
-  }
-}
-
-// IBus Candidate Popup
-
-.candidate-popup-content {
-  padding: 0.5em;
-  spacing: 0.3em;
-}
-
-  .candidate-index {
-    padding: 0 0.5em 0 0;
-    color: darken($fg_color,10%);
-  }
-
-  .candidate-box {
-    padding: 0.3em 0.5em 0.3em 0.5em;
-    border-radius: 4px;
-    &:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
-  }
-
-  .candidate-page-button-box {
-    height: 2em;
-    .vertical & { padding-top: 0.5em; }
-    .horizontal & { padding-left: 0.5em; }
-  }
-
-  .candidate-page-button {
-    padding: 4px;
-  }
-
-  .candidate-page-button-previous { border-radius: 4px 0px 0px 4px; border-right-width: 0; }
-  .candidate-page-button-next { border-radius: 0px 4px 4px 0px;  }
-  .candidate-page-button-icon { icon-size: 1em; }
-
-/* Auth Dialogs & Screen Shield */
-
-.user-icon {
-  background-size: contain;
-  color: $osd_fg_color;
-  border-radius: 99px;
-  &:hover {
-    color: lighten($osd_fg_color,30%);
-  }
-}
-
-// LOGIN DIALOG
-
-.login-dialog-banner-view {
-  padding-top: 24px;
-  max-width: 23em;
-}
-
-.login-dialog {
-  //reset
-  border: none;
-  background-color: transparent;
-
-  $_gdm_fg: #f6f5f4;
-  $_gdm_bg: lighten(#2e3436, 19%);
-
-  StEntry {
-    @extend %search_entry;
-    border-radius: $button_radius;
-    @if $variant=='dark' {
-      $_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
-      background-color: $_gdm_entry_bg;
-      border-color: $_gdm_entry_bg;    
-      color: $osd_fg_color;
-    }
-  }
-
-  .modal-dialog-button-box { spacing: 3px; }
-  .modal-dialog-button {
-    padding: 4px 18px;
-    box-shadow: 0 1px 3px transparentize($shadow_color, 0.02);
-    background-color: $_gdm_bg;
-    border-color: $_gdm_bg;
-    color: $_gdm_fg;
-
-    $_hover_c: lighten($_gdm_bg, 5%);
-    &:hover, &:focus {
-      background-color: $_hover_c;
-      border-color: $_hover_c;
-    }
-    &:active {
-      $_active_c: darken($_gdm_bg, 5%);
-      box-shadow: none;
-      background-color: $_active_c;
-      border-color: $_active_c;
-    }
-    &:insensitive {
-      @include button(insensitive);
-      border-color: darken($_gdm_bg, 5%);
-      background-color: darken($_gdm_bg, 5%);
-      color: transparentize($_gdm_fg, 0.3);
-    }
-    &:default {
-      @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
-      border-color: $selected_bg_color;
-      &:hover, &:focus { 
-        @include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
-        $_def_hover_c: lighten($selected_bg_color, 5%);
-        background-color: $_def_hover_c;
-        border-color: $_def_hover_c;
-      }
-      &:active {
-        @include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
-        $_def_active_c: darken($selected_bg_color, 5%);
-        background-color: $_def_active_c;
-        border-color: $_def_active_c;
-      }
-      &:insensitive {
-        @include button(insensitive);
-        border-color: darken($selected_bg_color, 10%);
-        background-color: darken($selected_bg_color, 10%);
-        color: transparentize($selected_fg_color, 0.3);
-      }
-    }
-  }
-}
-
-  .login-dialog-logo-bin { padding: 24px 0px; }
-  .login-dialog-banner { color: darken($osd_fg_color,10%); }
-  .login-dialog-button-box { spacing: 5px; }
-  .login-dialog-message-warning { color: $warning_color; }
-  .login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
-  .login-dialog-user-selection-box { padding: 100px 0px; }
-  .login-dialog-not-listed-label {
-    padding-left: 2px;
-    .login-dialog-not-listed-button:focus &,
-    .login-dialog-not-listed-button:hover & {
-      color: $osd_fg_color;
-    }
-  }
-  .login-dialog-not-listed-label {
-    font-size: 90%;
-    font-weight: bold;
-    color: darken($osd_fg_color,30%);
-    padding-top: 1em;
-  }
-
-  .login-dialog-user-list-view { -st-vfade-offset: 1em; }
-  .login-dialog-user-list {
-    spacing: 12px;
-    width: 23em;
-    &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: 
$selected_fg_color; }
-    &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
-  }
-  .login-dialog-user-list-item {
-    border-radius: 5px;
-    padding: 6px;
-    color: darken($osd_fg_color,30%);
-    &:ltr .user-widget { padding-right: 1em; }
-    &:rtl .user-widget { padding-left: 1em; }
-    .login-dialog-timed-login-indicator {
-      height: 2px;
-      margin-top: 6px;
-      background-color: $osd_fg_color;
-    }
-    &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
-  }
-
-  .login-dialog-username,
-  .user-widget-label {
-    color: $osd_fg_color;
-    font-size: 120%;
-    font-weight: bold;
-    text-align: left;
-    padding-left: 15px;
-  }
-    .user-widget-label {
-      &:ltr { padding-left: 14px; }
-      &:rtl { padding-right: 14px; }
-    }
-
-  .login-dialog-prompt-layout {
-      padding-top: 24px;
-      padding-bottom: 12px;
-      spacing: 8px;
-      width: 23em;
-  }
-
-  .login-dialog-prompt-label {
-      color: darken($osd_fg_color, 20%);
-      font-size: 110%;
-      padding-top: 1em;
-  }
-
-  .login-dialog-session-list-button StIcon {
-      icon-size: 1.25em;
-  }
-
-  .login-dialog-session-list-button {
-      color: darken($osd_fg_color,30%);
-      &:hover,&:focus { color: $osd_fg_color; }
-      &:active { color: darken($osd_fg_color, 50%); }
-  }
-
-//SCREEN SHIELD
-
-$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
-
-.screen-shield-arrows {
-    padding-bottom: 3em;
-}
-
-.screen-shield-arrows Gjs_Arrow {
-    color: white;
-    width: 80px;
-    height: 48px;
-    -arrow-thickness: 12px;
-    -arrow-shadow: $_screenshield_shadow;
-}
-
-.screen-shield-clock {
-  color: white;
-  text-shadow: $_screenshield_shadow;
-  font-weight: bold;
-  text-align: center;
-  padding-bottom: 1.5em;
-}
-
-.screen-shield-clock-time {
-  font-size: 72pt;
-  text-shadow: $_screenshield_shadow;
-  font-feature-settings: "tnum";
-}
-
-.screen-shield-clock-date { 
-  font-size: 28pt;
-  font-weight: normal;
-}
-
-.screen-shield-notifications-container {
-  spacing: 6px;
-  width: 30em;
-  background-color: transparent;
-  max-height: 500px;
-  .summary-notification-stack-scrollview {
-    padding-top: 0;
-    padding-bottom: 0;
-  }
-
-  .notification,
-  .screen-shield-notification-source {
-    padding: 12px 6px;
-    border: 1px solid $osd_outer_borders_color;
-    background-color: transparentize($osd_bg_color,0.5);
-    color: $osd_fg_color;
-    border-radius: 4px;
-  }
-  .notification { margin-right: 15px; } //compensate for space allocated to the scrollbar
-}
-
-
-.screen-shield-notification-label {
-  font-weight: bold;
-  padding: 0px 0px 0px 12px;
-}
-
-.screen-shield-notification-count-text { padding: 0px 0px 0px 12px; }
-
-#panel.lock-screen { background-color: transparentize($osd_bg_color, 0.5); }
-
-.screen-shield-background { //just the shadow, really
-  background: black;
-  box-shadow: 0px 2px 4px transparentize(black,0.6);
-}
-
-#lockDialogGroup {
-  background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
-  background-repeat: repeat;
-}
-
-#screenShieldNotifications {
-  StButton#vhandle, StButton#hhandle {
-    background-color: transparentize($bg_color,0.7);
-    &:hover, &:focus { background-color: transparentize($bg_color,0.5); }
-    &:active { background-color: transparentize($selected_bg_color,0.5); }
-  }
-}
-
-
-// Looking Glass
-#LookingGlassDialog {
-  background-color: rgba(0,0,0,0.80);
-  spacing: 4px;
-  padding: 4px;
-  border: 2px solid grey;
-  border-radius: 4px;
-  & > #Toolbar {
-    border: 1px solid grey;
-    border-radius: 4px;
-  }
-  .labels { spacing: 4px; }
-  .notebook-tab {
-    -natural-hpadding: 12px;
-    -minimum-hpadding: 6px;
-    font-weight: bold;
-    color: #ccc;
-    transition-duration: 100ms;
-    padding-left: .3em;
-    padding-right: .3em;
-    &:hover {
-      color: white;
-      text-shadow: black 0px 2px 2px;
-    }
-    &:selected {
-      border-bottom-width: 2px;
-      border-color: lighten($selected_bg_color,5%);
-      color: white;
-      text-shadow: black 0px 2px 2px;
-    }
-  }
-  StBoxLayout#EvalBox { padding: 4px; spacing: 4px; }
-  StBoxLayout#ResultsArea { spacing: 4px; }
-}
-
-  .lg-dialog {
-    StEntry {
-      selection-background-color: #bbbbbb;
-      selected-color: #333333;
-    }
-    .shell-link {
-      color: #999999;
-      &:hover { color: #dddddd; }
-     }
-  }
-
-  .lg-completions-text {
-      font-size: .9em;
-      font-style: italic;
-  }
-
-  .lg-obj-inspector-title {
-      spacing: 4px;
-  }
-
-  .lg-obj-inspector-button {
-      border: 1px solid gray;
-      padding: 4px;
-      border-radius: 4px;
-      &:hover { border: 1px solid #ffffff; }
-  }
-
-  #lookingGlassExtensions { padding: 4px; }
-
-  .lg-extensions-list {
-      padding: 4px;
-      spacing: 6px;
-  }
-
-  .lg-extension {
-      border: 1px solid #6f6f6f;
-      border-radius: 4px;
-      padding: 4px;
-  }
-
-  .lg-extension-name {
-      font-weight: bold;
-  }
-
-  .lg-extension-meta {
-      spacing: 6px;
-  }
-
-  #LookingGlassPropertyInspector {
-    background: rgba(0, 0, 0, 0.8);
-    border: 2px solid grey;
-    border-radius: 4px;
-    padding: 6px;
-  }
+       font-size: 2em;
+       font-weight: bold;
+       color: $osd_fg_color;
+}
+
+
+// osd panels
+%osd_panel {
+       color: $osd_fg_color;
+       background-color: $osd_bg_color;
+       border: 1px solid $osd_outer_borders_color;
+       border-radius: $base_border_radius * 2 + 4px;
+       padding: $base_padding * 2;
+}
+
+// Overview panels 
+// for the dash and workspace switcher
+%overview_panel {
+       color: $osd_fg_color;
+       background-color: transparentize($osd_bg_color, 0.2);
+       border: 1px solid $osd_outer_borders_color;
+}
+
+// icon tiles
+%icon_tile {
+       background-color: transparent; // no background
+       color: $osd_fg_color;
+       border-radius: $base_border_radius + 4px;
+       padding: $base_padding;
+       border: 2px solid transparent;
+       transition-duration: 100ms;
+       text-align: center;
+}
+
+// dialogs
+%bubble_panel {
+       color: $fg_color;
+       background-color: $bg_color;
+       border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
+
+       // entry
+       StEntry { @extend %bubble_entry;}
+
+       // button
+       .button {
+               background-color: $bg_color;
+               color: $fg_color;
+               box-shadow: none;
+
+               &, &:hover, &:focus, &:active, &:disabled { 
+                       border-color: $bubble_borders_color;
+               }
+
+               &:hover { background-color: $hover_bg_color;}
+               &:active { 
+                       background-color: $selected_bg_color;
+                       color: $selected_fg_color;
+               }
+               &:disabled { color: $insensitive_fg_color;}
+       }
+}
+
+// entries in dialogs
+%bubble_entry {
+       color: $fg_color;
+       background-color: darken($bg_color, 2%);
+       border-color: $bubble_borders_color;
+       box-shadow: none;
+       &:focus { border: 2px solid $selected_bg_color;}
+}
+
+// buttons in dialogs
+%bubble_button {
+       @include button(normal);
+       padding: $base_padding * 2;
+       border-color: $bubble_borders_color;
+       border-style: solid;
+       border-width: 0 !important;
+       border-top-width: 1px !important;
+       box-shadow:none !important;
+
+       &:insensitive { @include button(insensitive);}
+       &:hover { @include button(hover);}
+       &:focus { @include button(focus);}
+       &:active { @include button(active);}
+
+       // radius is 2 pixel less to fit in bubble
+       &:first-child {
+               border-right-width: 1px !important;
+               border-radius: 0px 0px 0px $modal_radius - 2px;
+       }
+       &:last-child {
+               border-right-width: 0 !important;
+               border-radius: 0px 0px $modal_radius - 2px 0px;
+       }
+       
+       &:first-child:last-child {
+               border-radius: 0px 0px $modal_radius - 2px $modal_radius - 2px;
+       }
+}
+
+// button styling
+%button {
+       border-radius: $base_border_radius;
+       border-width: 1px;
+       min-height: 22px;
+       padding: $base_padding * 0.5 $base_padding * 4;
+
+       @include button(normal);
+       &:focus { @include button(focus);}
+       &:hover { @include button(hover);}
+       &:insensitive { @include button(insensitive);}
+       &:active { @include button(active);}
+}
+
+
+// notification styling
+%notification_bubble {
+       border-radius:$base_border_radius + 2px;
+       padding: 0;
+       margin: $base_margin;
+
+       @include button(normal);
+
+       &:focus,
+       &:hover {
+               // margin-top: $base_margin - 1px;
+               // margin-bottom: $base_margin + 1px;
+               @include button(hover);
+       }
+
+       &:active {
+               @include button(active);
+               // margin: $base_margin;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/_drawing.scss b/data/theme/gnome-shell-sass/_drawing.scss
index 8f4611c34a..6dd42479e4 100644
--- a/data/theme/gnome-shell-sass/_drawing.scss
+++ b/data/theme/gnome-shell-sass/_drawing.scss
@@ -2,25 +2,25 @@
 
 // generic drawing of more complex things
 
-@function _widget_edge($c:$borders_edge) {
+@function draw_widget_edge($c:$borders_edge) {
 // outer highlight "used" on most widgets
-  @return 0 1px $c;
+       @return 0 1px $c;
 }
 
 // provide font size in rem, with px fallback
 @mixin fontsize($size: 24, $base: 16) {
-  font-size: round($size) + pt;
-  //font-size: ($size / $base) * 1rem;
+       font-size: round($size) + pt;
+       //font-size: ($size / $base) * 1rem;
 }
 
-@mixin _shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
+@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
 //
 // Helper function to stack up to 4 box-shadows;
 //
-  @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
-  @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
-  @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
-  @else { box-shadow: $shadow1; }
+       @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
+       @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
+       @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
+       @else { box-shadow: $shadow1; }
 }
 
 // entries
@@ -31,63 +31,65 @@
 //
 // $t: entry type
 // $fc: focus color
-// $edge: set to none to not draw the bottom edge or specify a color to not
-//        use the default one
+// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
 //
 // possible $t values:
 // normal, focus, insensitive
 //
 
-  @if $t==normal {
-    background-color: $base_color;
-    border-color: $borders_color;
-
-  }
-  @if $t==focus {
-    border-color: if($fc==$selected_bg_color,
-                     $selected_borders_color,
-                     darken($fc,35%));
-  }
-  @if $t==hover { }
-  @if $t==insensitive {
-    color: $insensitive_fg_color;
-    border-color: $insensitive_bg_color;
-    box-shadow: none;
-  }
+       @if $t==normal {
+               background-color: $base_color;
+               border-color: $borders_color;
+
+       }
+       @if $t==focus {
+               border-color: if($fc==$selected_bg_color,
+                                                       $selected_borders_color,
+                                                       darken($fc,35%));
+       }
+       @if $t==hover { }
+       @if $t==insensitive {
+               color: $insensitive_fg_color;
+               border-color: $insensitive_bg_color;
+               box-shadow: none;
+       }
 }
 
 // buttons
 
-@function _border_color ($c) { @return darken($c,25%); } // colored buttons want
-                                                         // the border form the
-                                                         // base color
+@function draw_border_color ($c) {
+       //
+       // colored buttons want the border form the base color
+       //
+       @return if($variant == 'light', darken($c, 18%), darken($c, 4%));
+}
 
-@function _text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
+@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
 //
 // calculate the color of text shadows
 //
 // $tc is the text color
 // $bg is the background color
 //
-  $_lbg: lightness($bg)/100%;
-  @if lightness($tc)<50% { @return transparentize(white,1-$_lbg/($_lbg*1.3)); }
-  @else { @return transparentize(black,$_lbg*0.8); }
+       $lbg: lightness($bg)/100%;
+       @if lightness($tc)<50% { @return rgba(255,255,255,1-$lbg/($lbg*1.3)); }
+       @else { @return rgba(0,0,0,$lbg*0.8); }
 }
 
-@function _button_hilight_color($c) {
+@function draw_button_hilight_color($c) {
 //
 // calculate the right top hilight color for buttons
 //
 // $c: base color;
 //
-  @if lightness($c)>90% { @return white; }
-  @else if lightness($c)>80% { @return transparentize(white, 0.3); }
-  @else if lightness($c)>50% { @return transparentize(white, 0.5); }
-  @else if lightness($c)>40% { @return transparentize(white, 0.7); }
-  @else { @return transparentize(white, 0.9); }
+       @if lightness($c)>90% { @return white; }
+       @else if lightness($c)>80% { @return rgba(255,255,255, 0.3); }
+       @else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
+       @else if lightness($c)>40% { @return rgba(255,255,255, 0.7); }
+       @else { @return rgba(255,255,255, 0.9); }
 }
 
-@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
+@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
 //
 // helper function for the text emboss effect
 //
@@ -96,16 +98,16 @@
 // TODO: this functions needs a way to deal with special cases
 //
 
-  $_shadow: _text_shadow_color($tc, $bg);
+       $shadow: draw_text_shadow_color($tc, $bg);
 
-  @if lightness($tc)<50% {
-    text-shadow: 0 1px $_shadow;
-    icon-shadow: 0 1px $_shadow;
-  }
-  @else {
-    text-shadow: 0 -1px $_shadow;
-    icon-shadow: 0 -1px $_shadow;
-  }
+       @if lightness($tc)<50% {
+               text-shadow: 0 1px $shadow;
+               icon-shadow: 0 1px $shadow;
+       }
+       @else {
+               text-shadow: 0 -1px $shadow;
+               icon-shadow: 0 -1px $shadow;
+       }
 }
 
 @mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge) {
@@ -124,79 +126,75 @@
 // osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
 //
 
-  $_hilight_color: _button_hilight_color($c);
-  $_button_edge: if($edge == none, none, _widget_edge($edge));
-  $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1)));
-  $_button_shadow: 0 1px 2px transparentize($shadow_color, 0.03);
-
-  @if $t==normal {
-  //
-  // normal button
-  //
-
-    color: $tc;
-    background-color: $c;
-    border-color: $borders_color;
-    box-shadow: $_button_shadow;
-    text-shadow: 0 1px black;
-    icon-shadow: 0 1px black;
-  }
-  @if $t==focus {
-  //
-  // focused button
-  //  
-    color: $tc;
-    text-shadow: 0 1px black;
-    icon-shadow: 0 1px black;
-    box-shadow: inset 0px 0px 0px 2px $selected_bg_color;
-    //border-color: $selected_bg_color;
-  }
-
-  @else if $t==hover {
-  //
-  // active osd button
-  //
-    color: $tc;
-    border-color: $borders_color;
-    background-color: $c;
-    box-shadow: $_button_shadow;
-    text-shadow: 0 1px black;
-    icon-shadow: 0 1px black;
-
-  }
-  @else if $t==active {
-  //
-  // active osd button
-  //
-    color: $tc;
-    border-color: $borders_color;
-    background-color: $c;
-    text-shadow: none;
-    icon-shadow: none;
-    box-shadow: none;
-  }
-  @else if $t==insensitive {
-
-    color: $insensitive_fg_color;
-    border-color: $insensitive_borders_color;
-    background-color: $insensitive_bg_color;
-    box-shadow: none;
-    text-shadow: none;
-    icon-shadow: none;
-  }
-  @else if $t==undecorated {
-  //
-  // reset
-  //
-    border-color: transparent;
-    background-color: transparent;
-    background-image: none;
-
-    @include _shadows(inset 0 1px transparentize(white,1),
-                      $_blank_edge);
-
-    text-shadow: none;
-    icon-shadow: none;
-  }
-}
-
+       $hilight_color: draw_button_hilight_color($c);
+       $button_edge: if($edge == none, none, draw_widget_edge($edge));
+       $blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
+
+       // normal button
+       @if $t==normal {
+               color: $tc;
+               background-color: lighten($c, 3%) !important;
+               border-width: 1px;
+               border-style: solid;
+               border-color: draw_border_color($c);
+               @include draw_shadows(0 1px 1px 0 $shadow_color);
+               // box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
+               text-shadow: 0 1px $text_shadow_color;
+               icon-shadow: 0 1px $text_shadow_color;
+       }
+
+       // focused button
+       @if $t==focus {
+               color: $tc;
+               text-shadow: 0 1px $text_shadow_color;
+               icon-shadow: 0 1px $text_shadow_color;
+               box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.7);
+               //border-color: $selected_bg_color;
+       }
+
+       // hover osd button
+       @else if $t==hover {
+               color: $tc;
+               background-color: lighten($c, if($variant == 'light', 8%, 5%)) !important;
+               border-width: 1px;
+               border-style: solid;
+               border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), 
draw_border_color($c));
+               @include draw_shadows(0 1px 1px 0 $shadow_color);
+               text-shadow: 0 1px $text_shadow_color;
+               icon-shadow: 0 1px $text_shadow_color;
+       }
+
+       // active osd button
+       @else if $t==active {
+               color: $tc;
+               background-color: darken($c,3%) !important;
+               border-width: 1px;
+               border-style: solid;
+               border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
+               text-shadow: none;
+               icon-shadow: none;
+               box-shadow: none;
+       }
+
+       // insensitive button
+       @else if $t==insensitive {
+               color: $insensitive_fg_color;
+               border-width: 1px;
+               border-style: solid;
+               border-color: $insensitive_borders_color;
+               background-color: $insensitive_bg_color !important;
+               box-shadow: none;
+               text-shadow: none;
+               icon-shadow: none;
+       }
+
+       // reset
+       @else if $t==undecorated {
+               border-color: transparent;
+               background-color: transparent;
+               background-image: none;
+               @include draw_shadows(inset 0 1px rgba(255,255,255,1),$blank_edge);
+               text-shadow: none;
+               icon-shadow: none;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/_high-contrast-colors.scss 
b/data/theme/gnome-shell-sass/_high-contrast-colors.scss
index cba0145ac0..2170c6684a 100644
--- a/data/theme/gnome-shell-sass/_high-contrast-colors.scss
+++ b/data/theme/gnome-shell-sass/_high-contrast-colors.scss
@@ -22,11 +22,10 @@ $destructive_color: darken(#ef2929,10%);
 
 $osd_fg_color: #eeeeec;
 $osd_bg_color: #2e3436;
-$osd_borders_color: transparentize(black, 0.3);
-$osd_outer_borders_color: transparentize(white, 0.9);
+$osd_borders_color: rgba(0,0,0, 0.3);
+$osd_outer_borders_color: rgba(255,255,255, 0.1);
 
-$tooltip_borders_color: $osd_outer_borders_color;
-$shadow_color: transparentize(black, 0.9);
+$shadow_color: rgba(0,0,0, 0.9);
 
 //insensitive state derived colors
 $insensitive_fg_color: mix($fg_color, $bg_color, 50%);
diff --git a/data/theme/gnome-shell-sass/widgets/_app-grid.scss 
b/data/theme/gnome-shell-sass/widgets/_app-grid.scss
new file mode 100644
index 0000000000..4576f8dd06
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_app-grid.scss
@@ -0,0 +1,209 @@
+/* App Grid */
+
+$app_icon_size: 96px;
+$app_icon_padding: 20px;
+
+// app icons
+.icon-grid {
+       spacing: 30px;
+       -shell-grid-horizontal-item-size: $app_icon_size + $app_icon_padding * 2;
+       -shell-grid-vertical-item-size: $app_icon_size + $app_icon_padding * 2;
+
+       .overview-icon {
+               icon-size: $app_icon_size;
+       }
+}
+
+//.app-display { spacing: 20px; }
+
+/* App Icons */
+
+$app_grid_fg_color: #fff;
+
+// Outline for low res icons
+.lowres-icon {
+       icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
+}
+
+// Dropshadow for large icons
+.icon-dropshadow {
+       icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
+}
+
+// Icon tiles in the app grid
+.app-well-app,
+.app-folder {
+
+       .overview-icon {
+               @extend %icon_tile;
+               color: $app_grid_fg_color !important;
+       }
+
+       &:hover,
+       &:selected {
+               .overview-icon {
+                       background-color: transparentize($osd_bg_color,0.7);
+                       color: $app_grid_fg_color;
+               }
+       }
+
+       &:hover .overview-icon,
+       &:focus .overview-icon,
+       &:selected .overview-icon {
+               background-color: transparentize($osd_fg_color,0.9);
+               color: $osd_fg_color;
+       }
+
+       &:focus {
+               .overview-icon {
+                       background-color: transparentize($osd_fg_color,0.7      );
+                       // border-color: $selected_bg_color;
+                       color: $app_grid_fg_color;
+               }
+       }
+
+       &:drop {
+               .overview-icon {
+                       background-color: transparentize($selected_bg_color,.15);
+               }
+       }
+
+       &:active,
+       &:checked {
+               .overview-icon {
+                       background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+               }
+       }
+}
+
+/* App Folders */
+.app-folder {
+       .overview-icon {
+               @extend %icon_tile;
+       }
+}
+
+//expanded folder
+.app-folder-popup {
+       -arrow-border-radius: 8px;
+       -arrow-background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+       -arrow-base: 24px;
+       -arrow-rise: 11px;
+}
+
+.app-folder-popup-bin { padding: 5px; }
+.app-folder-icon {
+       padding: $base_padding;
+       spacing-rows: $base_spacing;
+       spacing-columns: $base_spacing;
+}
+
+
+// Running app indicator (also shown in dash)
+.app-well-app-running-dot {
+       height: 5px;
+       width: 5px;
+       border-radius:5px;
+       background-color: $osd_fg_color;
+       margin-bottom: 1px;
+}
+
+// Rename popup for app folders
+.rename-folder-popup {
+       .rename-folder-popup-item {
+               spacing: $base_spacing;
+               &:ltr, &:rtl { padding: 0, $base_padding * 2; }
+       }
+}
+
+// right-click app menu
+.app-menu,
+.app-well-menu {
+       max-width: 27.25em;
+}
+
+// App Grid pagination indicators
+.page-indicator {
+       padding: 15px 20px;
+
+       .page-indicator-icon {
+               width: 12px;
+               height: 12px;
+               background-color: transparent;
+               border: 2px solid rgba(255, 255, 255, 0.4);
+               border-radius: 12px;
+       }
+
+       &:hover .page-indicator-icon { border-color: white; }
+       &:active .page-indicator-icon { border: none; margin: 2px; background-color: white; }
+       &:checked .page-indicator-icon,
+       &:checked:active .page-indicator-icon { background-color: white;}
+}
+
+
+// Some hacks I don't even know
+.all-apps,
+.frequent-apps > StBoxLayout {
+       // horizontal padding to make sure scrollbars or dash don't overlap content
+       padding: 0px 88px 10px 88px;
+}
+
+.app-well-app > .overview-icon.overview-icon-with-label {
+       padding: 10px 8px 5px 8px;
+       spacing: $base_spacing;
+}
+
+// Label when no frequent apps
+.no-frequent-applications-label { @extend %status_text; }
+
+// shutdown and other actions in the grid
+.system-action-icon {
+       background-color: rgba(0,0,0,0.8);
+       color: #fff;
+       border-radius: 50%;
+       icon-size: $app_icon_size * 0.5;
+}
+
+/* Frequent | All toggle */
+
+// container
+.app-view-controls { 
+       padding-bottom: 32px;
+}
+
+// buttons
+.app-view-control { 
+       padding: 4px 32px;
+       margin: 0;
+       background-color: transparentize($osd_bg_color, 0.5);
+       border-width: 1px;
+       color: darken($osd_fg_color, 25%);
+
+       &:hover {
+               background-color: transparentize($osd_bg_color, 0.5) !important;
+               box-shadow:none !important;
+               color: darken($osd_fg_color, 25%);
+       }
+
+       &:active {
+               box-shadow: inset 0 -2px 0 0 $osd_fg_color;
+               background-color: transparentize($selected_bg_color, 0.5) !important;
+               font-weight: bold;
+       }
+
+       &:checked {
+               background-color: transparentize(lighten($osd_bg_color, 20%), 0.5);
+               color: $osd_fg_color;
+               box-shadow: none;
+               font-weight: bold;
+       }
+
+       &:first-child {
+               border-right-width: 0 !important;
+               border-radius: $base_border_radius 0 0 $base_border_radius;
+       }
+
+       &:last-child {
+               border-radius: 0 $base_border_radius $base_border_radius 0;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_app-switcher.scss 
b/data/theme/gnome-shell-sass/widgets/_app-switcher.scss
new file mode 100644
index 0000000000..7fbc9dab1e
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_app-switcher.scss
@@ -0,0 +1,55 @@
+/* App Switcher */
+
+.switcher-popup {
+       padding: 8px;
+       spacing: $base_spacing * 4;
+}
+
+// switcher onscreen panel
+.switcher-list {
+       @extend %osd_panel;
+
+       .item-box {
+               padding: 8px;
+               border-radius: $base_border_radius + 1px;
+               border: 1px solid transparent;
+
+               &:outlined {
+                       border: 1px solid darken($borders_color,5%);
+                       background-color: transparentize($osd_fg_color, 0.9);
+                       box-shadow: inset 0 2px 2px 0 rgba(0,0,0,0.4);
+               }
+
+               &:selected {
+                       background-color: transparentize($osd_fg_color, 0.9);
+                       color: $osd_fg_color;
+               }
+       }
+
+       // window thumbnails
+       .thumbnail-box {
+               padding: 2px;
+               spacing: $base_spacing;
+       }
+
+       .thumbnail {
+               width: 256px;
+       }
+
+       .separator {
+               width: 1px;
+               background: $borders_color;
+       }
+
+       .switcher-list-item-container {
+               spacing: $base_spacing * 2;
+       }
+}
+
+.switcher-arrow {
+       border-color: rgba(0,0,0,0);
+       color: transparentize($fg_color,0.2);
+       &:highlighted {
+               color: $fg_color;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_buttons.scss 
b/data/theme/gnome-shell-sass/widgets/_buttons.scss
new file mode 100644
index 0000000000..25d347122e
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_buttons.scss
@@ -0,0 +1,5 @@
+/* Buttons */
+
+.button {
+       @extend %button; // that's it
+}
diff --git a/data/theme/gnome-shell-sass/widgets/_calendar.scss 
b/data/theme/gnome-shell-sass/widgets/_calendar.scss
new file mode 100644
index 0000000000..6e86490a72
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_calendar.scss
@@ -0,0 +1,268 @@
+/* Date/Time Menu */
+
+// overall menu
+#calendarArea {
+       padding:0;
+       margin:0;
+}
+
+// Calendar menu side column
+.datemenu-calendar-column {
+       spacing: 0;
+       border: 0 solid $bubble_borders_color;
+       padding: $base_padding + $base_margin;
+       padding-bottom: 3em; // account for the notifications clear button
+       padding-top:0;
+
+       &:ltr { border-left-width: 1px; }
+       &:rtl { border-right-width: 1px; }
+
+
+       // today button (the date)
+       .datemenu-today-button {
+               padding: $base_padding * 1.5;
+               margin: $base_margin;
+               border: 1px solid transparent;
+
+               &:focus,
+               &:hover {
+                       border-radius:$base_border_radius + 2px;
+                       margin-top: $base_margin - 1px;
+                       margin-bottom: $base_margin + 1px;
+               }
+
+               &:hover { @include button(hover);}
+               &:focus { @include button(focus);}
+
+               &:active { 
+                       @include button(active);
+                       margin: $base_margin;
+               }
+
+               // weekday label
+               .day-label {
+                       font-size: $base_font_size + 1pt;
+                       font-weight: bold;
+               }
+
+               // date label
+               .date-label {
+                       font-size: $base_font_size * 1.5;
+                       font-weight: 1000;
+               }
+       }
+
+       // calendar
+       .calendar {
+               @extend %notification_bubble;
+               margin:$base_margin !important;
+               margin-bottom: $base_padding + $base_margin !important;
+               padding:$base_padding !important;
+
+               // more below for sub-elements
+       }
+
+       .datemenu-displays-section {
+               margin:0;
+       }
+
+       .datemenu-displays-box {
+               spacing: $base_spacing;
+               margin:0;
+
+               // world clocks and weather
+               .world-clocks-button,
+               .weather-button {
+                       @extend %notification_bubble;
+                       padding:$base_padding !important;
+               }
+       }
+}
+
+.events-section-title {
+       color: desaturate(darken($fg_color,40%), 10%);
+       font-weight: bold;
+       border-radius: 4px;
+       padding: .4em;
+}
+
+/* Calendar */
+.calendar {
+
+       // month
+       .calendar-month-label {
+               color: lighten($fg_color,5%);
+               font-weight: bold;
+               padding: 8px 0;
+               &:focus {}
+       }
+
+       // prev/next month icons
+       .calendar-change-month-back StIcon,
+       .calendar-change-month-forward StIcon {
+               icon-size: $base_icon_size;
+       }
+
+       .pager-button {
+               background-color: transparent;
+               height: 32px;
+               width: 32px;
+               border-radius: $base_border_radius;
+               &:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
+               &:active { background-color: $active_bg_color; }
+       }
+
+
+       $calendar_day_size: 32px;
+
+       .calendar-day-base {
+               font-size: 80%;
+               text-align: center;
+               width: $calendar_day_size;
+               height: $calendar_day_size;
+               padding: 0;
+               margin: 2px;
+               border-radius: $calendar_day_size * 0.5 + 2px;
+               border: 1px solid transparent; //avoid jumparound due to today
+               font-feature-settings: "tnum";
+               &:hover, &:focus { background-color: $hover_bg_color; }
+               &:active,&:selected {
+                       color: lighten($fg_color,10%);
+                       background-color: darken($bg_color,5%);
+               }
+
+               // day of week heading
+               &.calendar-day-heading {
+                       color: lighten($fg_color,10%);
+                       margin-top: 1em;
+                       font-size: 70%;
+               }
+       }
+       .calendar-day { //border collapse hack - see calendar.js
+               border-width: 0;
+       }
+
+       .calendar-day-top {
+               border-top-width: 1px;
+       }
+
+       .calendar-day-left { border-left-width: 1px; }
+       .calendar-work-day {}
+       .calendar-nonwork-day {
+               color: $insensitive_fg_color;
+       }
+
+       // Today
+       .calendar-today {
+               font-weight: bold;
+               border: 1px solid transparent;
+               background-color: $selected_bg_color;
+               color: $selected_fg_color;
+
+               &:hover,&:focus {
+                       background-color:lighten($selected_bg_color, 3%);
+                       color: $selected_fg_color;
+               }
+
+               &:active,&:selected {
+                       background-color: $selected_bg_color;
+                       color: $selected_fg_color;
+                       &:hover,&:focus {
+                               background-color:lighten($selected_bg_color, 3%);
+                               color: $selected_fg_color;
+                       }
+               }
+
+       }
+       .calendar-day-with-events {
+               color: lighten($fg_color,10%);
+               font-weight: bold;
+               background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
+       }
+
+       .calendar-other-month-day {
+               color: transparentize($fg_color ,0.5);
+               opacity: 0.5;
+       }
+
+       .calendar-week-number {
+               font-size: 70%;
+               font-weight: bold;
+               height: 1.8em;
+               width: 2.3em; 
+               border-radius: 2px;
+               padding: 0.5em 0 0;
+               margin: 6px;
+               background-color: darken($bg_color, 2%);
+               color: lighten($fg_color, 5%);
+       }
+}
+
+
+/* Weather */
+.weather-box {
+       spacing: $base_spacing;
+       padding:$base_padding;
+
+       .weather-header {
+               color: desaturate(darken($fg_color,40%), 10%);
+               font-weight: bold;
+               &.location {
+                       font-weight: normal;
+                       font-size: $base_font_size - 1pt;
+               }
+       }
+
+       .weather-grid {
+               margin-top: $base_margin;
+               spacing-rows: $base_spacing;
+               spacing-columns: $base_spacing * 2;
+       }
+
+       .weather-forecast-icon {
+               icon-size: $base_icon_size * 2;
+       }
+
+       .weather-forecast-time {
+               color: darken($fg_color,30%);
+               font-feature-settings: "tnum";
+               font-size: $base_font_size - 2pt;
+               font-weight: normal;
+       }
+}
+
+/* World clocks */
+.world-clocks-grid {
+       padding:$base_padding;
+       spacing-rows: $base_spacing;
+       spacing-columns: $base_spacing * 2;
+
+       // title
+       .world-clocks-header {
+               color: desaturate(darken($fg_color,40%), 10%);
+               font-weight: bold;
+       }
+
+       // city label
+       .world-clocks-city {
+               color: $fg_color;
+               font-size: $base_font_size;
+               font-weight: normal;
+       }
+
+       // timezone time
+       .world-clocks-time {
+               font-weight: bold;
+               color: $fg_color;
+               font-feature-settings: "lnum";
+               font-size: $base_font_size;
+               text-align:right;
+       }
+
+       // timezone offset label
+       .world-clocks-timezone {
+               color: darken($fg_color,20%);
+               font-feature-settings: "tnum";
+               font-size: $base_font_size - 1pt;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_check-box.scss 
b/data/theme/gnome-shell-sass/widgets/_check-box.scss
new file mode 100644
index 0000000000..a5b4b7849f
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_check-box.scss
@@ -0,0 +1,18 @@
+/* Check Boxes */
+
+// these are equal to the size of the SVG assets
+$check_height: 22px;
+$check_width: 24px;
+
+
+.check-box {
+       StBoxLayout { spacing: .8em; }
+       StBin {
+               width: $check_width;
+               height: $check_height;
+               background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
+       }
+       &:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
+       &:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
+       &:focus:checked StBin { background-image: 
url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss 
b/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss
new file mode 100644
index 0000000000..4321a3f6e1
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss
@@ -0,0 +1,24 @@
+/* Activities Ripple */
+
+$ripple_size: 50px;
+
+.ripple-box {
+       background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
+       box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
+       // plus + 2px for the border (box-shadow)
+       width: $ripple_size + 2px;
+       height: $ripple_size + 2px;
+       border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
+
+       // just a simple change to the border radius position
+       &:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
+}
+
+// Pointer location
+.ripple-pointer-location {
+       width: $ripple_size;
+       height: $ripple_size;
+       border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
+       background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
+       box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
+}
diff --git a/data/theme/gnome-shell-sass/widgets/_dash.scss b/data/theme/gnome-shell-sass/widgets/_dash.scss
new file mode 100644
index 0000000000..354e98c3de
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_dash.scss
@@ -0,0 +1,84 @@
+/* Dash */
+
+$dash_placeholder_size: 32px;
+$dash_border_radius: $modal_radius * 1.5;
+
+#dash {
+       @extend %overview_panel;
+       font-size: $base_font_size - 2pt;
+       padding: 0;
+       padding-bottom: $base_padding + 4px;
+
+       //fixme: can't have non uniform borders :(
+       border-radius: 0 $dash_border_radius $dash_border_radius 0; 
+       border-left-width: 0 !important;
+       &:rtl { 
+               border-radius: $dash_border_radius 0 0 $dash_border_radius;
+               border-right-width: 0 !important;
+       }
+
+       .placeholder {
+               // background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+               background-image:none;
+               background-size: contain;
+               height: $dash_placeholder_size;
+       }
+
+       .empty-dash-drop-target {
+               width: $dash_placeholder_size;
+               height: $dash_placeholder_size;
+       }
+}
+
+// Dash Items
+.dash-item-container > StWidget {
+       padding: $base_padding + 4px;
+       padding-bottom: 0;
+}
+
+// OSD Tooltip
+.dash-label {
+       background-color: transparentize($osd_bg_color,0.05);
+       border-radius: $base_border_radius + 2px;
+       border:none;
+       box-shadow:0 0 0 1px $osd_outer_borders_color;
+       color: $osd_fg_color;
+       padding: $base_padding $base_padding + 2px;
+       text-align: center;
+       margin-top: $base_margin + 4px;
+       -x-offset: $base_margin * 2; // distance from the dash edge
+}
+
+// Show apps button
+.show-apps {
+       background-color: transparent;
+       color: $osd_fg_color;
+
+       & .overview-icon {
+               @extend %icon_tile;
+               color: $osd_fg_color;
+       }
+
+       &:hover .overview-icon,
+       &:focus .overview-icon,
+       &:selected .overview-icon {
+               background-color: transparentize($osd_fg_color,0.9);
+               color: $osd_fg_color;
+       }
+
+       &:drop .overview-icon {
+               background-color: transparentize($selected_bg_color,.15);
+       }
+
+       &:active .overview-icon,
+       &:checked .overview-icon {
+               background-color: darken($osd_bg_color,10%);
+       }
+
+       &:checked .show-apps-icon,
+       &:focus .show-apps-icon {
+               color: $fg_color;
+               transition-duration: 100ms;
+       }
+}
+
diff --git a/data/theme/gnome-shell-sass/widgets/_dialogs.scss 
b/data/theme/gnome-shell-sass/widgets/_dialogs.scss
new file mode 100644
index 0000000000..0c8591cf55
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_dialogs.scss
@@ -0,0 +1,280 @@
+/* Modal Dialogs */
+
+.modal-dialog {
+       border-radius: $modal_radius;
+       @extend %bubble_panel;
+
+       .modal-dialog-content-box {
+               padding: 24px;
+       }
+
+       .run-dialog-entry { width: 20em; margin-bottom: 6px; }
+       .run-dialog-error-box {
+               padding-top: 16px;
+               spacing: 6px;
+       }
+
+       .run-dialog-button-box { padding-top: 1em; }
+       .run-dialog-label {
+               @include fontsize($base_font_size + 1.1);
+               font-weight: normal;
+               color: $fg_color;
+               padding-bottom: .4em;
+       }
+}
+
+.mount-dialog-subject,
+.end-session-dialog-subject { //this should be a generic header class
+       @include fontsize($base_font_size * 1.3);
+}
+
+.modal-dialog-linked-button {
+       @extend %bubble_button;
+}
+
+/* Message Dialog */
+.message-dialog-main-layout {
+       padding: 12px 20px 0;
+       spacing: 12px;
+}
+
+.message-dialog-content {
+       max-width: 28em;
+       spacing: 20px;
+}
+
+.message-dialog-icon {
+       min-width: $base_icon_size * 3;
+       icon-size: $base_icon_size * 3;
+}
+
+.message-dialog-title {
+       font-weight: bold;
+}
+
+.message-dialog-subtitle {
+       color: $fg_color;
+       font-weight: bold;
+}
+
+/* ShellMountOperation Dialogs */
+.shell-mount-operation-icon {
+       icon-size: $base_icon_size * 3;
+}
+
+.mount-dialog {
+       spacing: 24px;
+
+       .message-dialog-title {
+               padding-top: 10px;
+               padding-left: 17px;
+               padding-bottom: 6px;
+               max-width: 34em;
+       }
+
+       .message-dialog-title:rtl {
+               padding-left: 0px;
+               padding-right: 17px;
+       }
+
+       .message-dialog-body {
+               padding-left: 17px;
+               width: 28em;
+       }
+
+       .message-dialog-body:rtl {
+               padding-left: 0px;
+               padding-right: 17px;
+       }
+}
+
+.mount-dialog-app-list {
+       max-height: 200px;
+       padding-top: 24px;
+       padding-left: 49px;
+       padding-right: 32px;
+}
+
+.mount-dialog-app-list:rtl {
+       padding-right: 49px;
+       padding-left: 32px;
+}
+
+.mount-dialog-app-list-item {
+       color: lighten($fg_color,10%);
+       &:hover { color: $fg_color; }
+       &:ltr { padding-right: 1em; }
+       &:rtl { padding-left: 1em; }
+}
+
+.mount-dialog-app-list-item-icon {
+       &:ltr { padding-right: 17px; }
+       &:rtl { padding-left: 17px; }
+}
+
+.mount-dialog-app-list-item-name {
+       font-size: 10pt;
+}
+
+
+/* Password or Authentication Dialog */
+
+.prompt-dialog {
+       @extend %bubble_panel;
+       //this is the width of the entire modal popup
+       width: 34em;
+
+       .message-dialog-main-layout { spacing: 24px; padding: 10px; }
+       .message-dialog-content { spacing: $base_spacing * 4; }
+       .message-dialog-title { color: lighten($fg_color,15%); }
+}
+
+.prompt-dialog-description:rtl {
+       text-align: right;
+}
+
+.prompt-dialog-password-box {
+       spacing: 1em;
+       padding-bottom: 1em;
+}
+
+.prompt-dialog-error-label {
+       font-size: 10pt;
+       color: $warning_color;
+       padding-bottom: 8px;
+}
+
+.prompt-dialog-info-label {
+       font-size: 10pt;
+       padding-bottom: 8px;
+}
+
+.hidden {
+       color: rgba(0,0,0,0);
+}
+
+.prompt-dialog-null-label {
+       font-size: 10pt;
+       padding-bottom: 8px;
+}
+
+.prompt-dialog-pim-box {
+       spacing: 1em;
+}
+
+.prompt-dialog-grid {
+       spacing-rows: 15px;
+       spacing-columns: 1em;
+}
+
+.prompt-dialog-keyfiles-box {
+       spacing: 1em;
+}
+
+.prompt-dialog-button.button {
+       padding: 8px;
+}
+
+.prompt-dialog-caps-lock-warning {
+       @extend .prompt-dialog-error-label;
+       padding-left: 6.2em;
+}
+
+
+/* Polkit Dialog */
+
+.polkit-dialog-user-layout {
+       padding-left: 10px;
+       spacing: 10px;
+       &:rtl {
+               padding-left: 0px;
+               padding-right: 10px;
+       }
+}
+
+.polkit-dialog-user-root-label {
+       color: $warning_color;
+}
+
+.polkit-dialog-user-icon {
+       border-radius: 99px;
+       background-size: contain;
+       width: 48px;
+       height: 48px;
+}
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+       @extend %bubble_panel;
+       spacing: 30px;
+}
+
+.audio-selection-content {
+       spacing: 20px;
+       padding: 24px;
+}
+
+.audio-selection-title {
+       font-weight: bold;
+       text-align: center;
+}
+
+.audio-selection-box {
+       spacing: 20px;
+}
+
+.audio-selection-device {
+       border: 1px solid $bubble_borders_color;
+       border-radius: 12px;
+       &:hover,&:focus { background-color: $hover_bg_color; }
+       &:active { 
+               background-color: $selected_bg_color;
+               color: $selected_fg_color;
+       }
+}
+
+.audio-selection-device-box {
+       padding: 20px;
+       spacing: 20px;
+}
+
+.audio-selection-device-icon {
+       icon-size: $base_icon_size * 4;
+}
+
+/* Access Dialog */
+.access-dialog {
+       @extend %bubble_panel;
+       spacing: 30px;
+}
+
+/* Geolocation Dialog */
+.geolocation-dialog {
+       @extend %bubble_panel;
+       spacing: 30px;
+}
+
+/* Extension Dialog */
+.extension-dialog {
+       @extend %bubble_panel;
+       .message-dialog-main-layout { spacing: 24px; padding: 10px; }
+       .message-dialog-title { font-weight: normal; color: $fg_color; }
+}
+
+/* Inhibit-Shortcuts Dialog */
+.inhibit-shortcuts-dialog {
+       @extend %bubble_panel;
+       spacing: 30px;
+}
+
+/* Network Agent Dialog */
+
+.network-dialog-secret-table {
+       spacing-rows: 15px;
+       spacing-columns: 1em;
+}
+
+.keyring-dialog-control-table {
+       spacing-rows: 15px;
+       spacing-columns: 1em;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_end-session-dialog.scss 
b/data/theme/gnome-shell-sass/widgets/_end-session-dialog.scss
new file mode 100644
index 0000000000..19aa993e38
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_end-session-dialog.scss
@@ -0,0 +1,80 @@
+/* End Session Dialog */
+
+$end_session_dialog_width: 28em;
+
+.end-session-dialog {
+       spacing: $base_spacing;
+       border: 1px solid $bubble_borders_color;
+}
+
+.end-session-dialog-list {
+       padding-top: 20px;
+}
+
+.end-session-dialog-layout {
+       padding-left: 17px;
+       &:rtl { padding-right: 17px; }
+}
+
+.end-session-dialog-description {
+       width: $end_session_dialog_width;
+       padding-bottom: 10px;
+       &:rtl {
+               text-align: right;
+       }
+}
+
+.end-session-dialog-warning {
+       width: $end_session_dialog_width;
+       color: $warning_color;
+       padding-top: 6px;
+       &:rtl {
+               text-align: right;
+       }
+}
+
+// user profile picture
+.end-session-dialog-logout-icon {
+       border-radius: 99px;
+       width: $base_icon_size * 3;
+       height: $base_icon_size * 3;
+       background-size: contain;
+}
+
+.end-session-dialog-shutdown-icon {
+       color: $fg_color;
+       width: $base_icon_size * 3;
+       height: $base_icon_size * 3;
+}
+
+.end-session-dialog-inhibitor-layout {
+       spacing: $base_spacing * 4;
+       max-height: 200px;
+       padding-right: 65px;
+       padding-left: 65px;
+}
+
+.end-session-dialog-session-list,
+.end-session-dialog-app-list {
+       spacing: 1em;
+}
+
+.end-session-dialog-list-header {
+       font-weight: bold;
+       &:rtl { text-align: right; }
+}
+
+.end-session-dialog-app-list-item,
+.end-session-dialog-session-list-item {
+       spacing: 1em;
+}
+
+.end-session-dialog-app-list-item-name,
+.end-session-dialog-session-list-item-name {
+       font-weight: bold;
+}
+
+.end-session-dialog-app-list-item-description {
+       color: darken($fg_color,5%);
+       font-size: 10pt;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_entries.scss 
b/data/theme/gnome-shell-sass/widgets/_entries.scss
new file mode 100644
index 0000000000..7c105580c7
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_entries.scss
@@ -0,0 +1,23 @@
+/* Entries */
+
+StEntry {
+       border-radius: $base_border_radius;
+       padding: 4px;
+       border-width: 1px;
+       color: $fg_color;
+       @include entry(normal);
+       //&:hover { @include entry(hover);}
+       &:focus { @include entry(focus,$fc:transparentize($fg_color,0.5));}
+       &:insensitive { @include entry(insensitive);}
+       selection-background-color: $selected_bg_color;
+       selected-color: $selected_fg_color;
+       StIcon.capslock-warning {
+               icon-size: 16px;
+               warning-color: $warning_color;
+               padding: 0 4px;
+       }
+       StIcon.peek-password {
+               icon-size: $base_icon_size;
+               padding: 0 4px;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_hotplug.scss 
b/data/theme/gnome-shell-sass/widgets/_hotplug.scss
new file mode 100644
index 0000000000..04e4185ef8
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_hotplug.scss
@@ -0,0 +1,46 @@
+// hotplug
+
+.hotplug-transient-box {
+       spacing: 6px;
+       padding: 2px 72px 2px 12px;
+}
+
+.hotplug-notification-item {
+       @extend %bubble_button;
+       border: none; box-shadow: none;
+       padding: 2px 10px;
+       &:focus { padding: 1px 71px 1px 11px; }
+}
+
+.hotplug-notification-item-icon {
+       icon-size: 24px;
+       padding: 2px 5px;
+}
+
+.hotplug-resident-box { spacing: $base_spacing * 2; }
+
+.hotplug-resident-mount {
+       spacing: $base_spacing * 2;
+       border-radius: 4px;
+       &:hover { background-color: $hover_bg_color; }
+}
+
+.hotplug-resident-mount-label {
+       color: inherit;
+       padding-left: 6px;
+}
+
+.hotplug-resident-mount-icon {
+       icon-size: 24px;
+       padding-left: 6px;
+}
+
+.hotplug-resident-eject-icon {
+       icon-size: 16px;
+}
+
+.hotplug-resident-eject-button {
+       padding: 7px;
+       border-radius: 5px;
+       color: pink;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss 
b/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss
new file mode 100644
index 0000000000..e8fee85e35
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss
@@ -0,0 +1,30 @@
+// IBus Candidate Popup
+.candidate-popup-content {
+       padding: 0.5em;
+       spacing: 0.3em;
+}
+
+.candidate-index {
+       padding: 0 0.5em 0 0;
+       color: darken($fg_color,10%);
+}
+
+.candidate-box {
+       padding: 0.3em 0.5em 0.3em 0.5em;
+       border-radius: $base_border_radius;
+       &:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
+}
+
+.candidate-page-button-box {
+       height: 2em;
+       .vertical & { padding-top: 0.5em; }
+       .horizontal & { padding-left: 0.5em; }
+}
+
+.candidate-page-button {
+       padding: 4px;
+}
+
+.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; 
border-right-width: 0; }
+.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px;  }
+.candidate-page-button-icon { icon-size: 1em; }
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_keyboard.scss 
b/data/theme/gnome-shell-sass/widgets/_keyboard.scss
new file mode 100644
index 0000000000..5cd9caf250
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_keyboard.scss
@@ -0,0 +1,125 @@
+/* On-screen Keyboard */
+
+$key_size: 1.2em;
+$key_border_radius: $base_border_radius + 3px;
+$key_bg_color:  $bg_color;
+// $default_key_bg_color: darken($key_bg_color, 4%);
+$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
+
+
+// draw keys using button function
+%keyboard_key {
+       @include button(normal, $c:$key_bg_color);
+
+       &:focus { @include button(focus);}
+       &:hover, &:checked { @include button(hover, $c: $key_bg_color);}
+       &:active { @include button(active, $c: $key_bg_color); }
+}
+
+#keyboard {
+       background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 
0.1);
+       box-shadow: inset 0 1px 0 0 $osd_outer_borders_color !important;
+
+       .page-indicator {
+               padding: $base_padding;
+
+               .page-indicator-icon {
+                       width: 6px;
+                       height: 6px;
+                       &:checked {
+                               background-color:red;
+                       }
+               }
+       }
+}
+
+// the container for individual keys
+.key-container {
+       padding: $base_margin;
+       spacing: $base_margin;
+}
+
+// the keys
+.keyboard-key {
+       @extend %keyboard_key;
+       font-size: $base_font_size + 5pt;
+       min-height: $key_size;
+       min-width: $key_size;
+
+       border-radius: $key_border_radius;
+
+       &:grayed { //FIXMEy
+               background-color: darken($bg_color, 3%);
+               color: $osd_fg_color;
+               border-color: $osd_borders_color;
+       }
+
+       // non-character keys
+       &.default-key {
+
+               // size of the icon asset
+               background-size: 24px;
+
+               @include button(normal, $c:$default_key_bg_color);
+               &:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
+               &:active { @include button(active, $c: $default_key_bg_color);}
+               box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1) !important; // drawing override because of a visual 
bug
+       }
+
+       // enter key is suggested-action
+       &.enter-key {
+               background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
+
+               @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
+               &:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
+               &:active {@include button(active, $c: darken($selected_bg_color, 2%));}
+               box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1) !important; // drawing override because of a visual 
bug
+       }
+
+       // key assets
+       &.shift-key-lowercase {background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");}
+       &.shift-key-uppercase {background-image: 
url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");}
+       &.shift-key-uppercase:latched {background-image: 
url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");}
+       &.hide-key {background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");}
+       &.layout-key {background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");}
+}
+
+// long press on a key popup
+.keyboard-subkeys {
+       color: $osd_fg_color;
+       -arrow-border-radius: $modal_radius;
+       -arrow-background-color: $osd_bg_color;
+       -arrow-border-width: 1px;
+       -arrow-border-color: lighten($osd_bg_color, 9%);
+       -arrow-base: 20px;
+       -arrow-rise: 10px;
+       -boxpointer-gap: $base_spacing;
+
+       .keyboard-key {
+               @extend %keyboard_key;
+               border-radius:$base_border_radius;
+       }
+}
+
+// emoji
+.emoji-page {
+       .keyboard-key {
+               background-color: transparent;
+               border: none;
+               color: initial;
+       }
+}
+
+.emoji-panel {
+       .keyboard-key:latched {
+               border-color: lighten($selected_bg_color, 5%);
+               background-color: $selected_bg_color;
+       }
+}
+
+// suggestions
+.word-suggestions {
+       font-size: $base_font_size + 3pt;
+       spacing: 12px;
+       min-height: 20pt;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_login-dialog.scss 
b/data/theme/gnome-shell-sass/widgets/_login-dialog.scss
new file mode 100644
index 0000000000..890280248b
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_login-dialog.scss
@@ -0,0 +1,154 @@
+/* Login Dialog */
+
+.login-dialog-banner-view {
+       padding-top: 24px;
+       max-width: 23em;
+}
+
+.login-dialog {
+       //reset
+       border: none;
+       background-color: transparent;
+
+       $_gdm_bg: lighten(#2e3436, 19%);
+
+       StEntry {
+               @extend %search_entry;
+               border-radius: $base_border_radius;
+               @if $variant=='dark' {
+                       $_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
+                       background-color: $_gdm_entry_bg;
+                       border-color: $_gdm_entry_bg;    
+                       color: $osd_fg_color;
+               }
+       }
+
+       .modal-dialog-button-box { spacing: 3px; }
+       .modal-dialog-button {
+               padding: 4px 18px;
+               box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+               background-color: $_gdm_bg;
+               border-color: $_gdm_bg;
+               color: $fg_color;
+
+               $_hover_c: lighten($_gdm_bg, 5%);
+               &:hover, &:focus {
+                       background-color: $_hover_c;
+                       border-color: $_hover_c;
+               }
+               &:active {
+                       $_active_c: darken($_gdm_bg, 5%);
+                       box-shadow: none;
+                       background-color: $_active_c;
+                       border-color: $_active_c;
+               }
+               &:insensitive {
+                       @include button(insensitive);
+                       border-color: darken($_gdm_bg, 5%);
+                       background-color: darken($_gdm_bg, 5%);
+                       color: transparentize($fg_color, 0.3);
+               }
+               &:default {
+                       @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
+                       border-color: $selected_bg_color;
+                       &:hover, &:focus { 
+                               @include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
+                               $_def_hover_c: lighten($selected_bg_color, 5%);
+                               background-color: $_def_hover_c;
+                               border-color: $_def_hover_c;
+                       }
+                       &:active {
+                               @include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
+                               $_def_active_c: darken($selected_bg_color, 5%);
+                               background-color: $_def_active_c;
+                               border-color: $_def_active_c;
+                       }
+                       &:insensitive {
+                               @include button(insensitive);
+                               border-color: darken($selected_bg_color, 10%);
+                               background-color: darken($selected_bg_color, 10%);
+                               color: transparentize($selected_fg_color, 0.3);
+                       }
+               }
+       }
+}
+
+.login-dialog-logo-bin { padding: 24px 0px; }
+.login-dialog-banner { color: darken($osd_fg_color,10%); }
+.login-dialog-button-box { spacing: 5px; }
+.login-dialog-message-warning { color: $warning_color; }
+.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
+.login-dialog-user-selection-box { padding: 100px 0px; }
+.login-dialog-not-listed-label {
+       padding-left: 2px;
+       .login-dialog-not-listed-button:focus &,
+       .login-dialog-not-listed-button:hover & {
+               color: $osd_fg_color;
+       }
+}
+
+.login-dialog-not-listed-label {
+       font-size: 90%;
+       font-weight: bold;
+       color: darken($osd_fg_color,30%);
+       padding-top: 1em;
+}
+
+.login-dialog-user-list-view { -st-vfade-offset: 1em; }
+.login-dialog-user-list {
+       spacing: 12px;
+       width: 23em;
+       &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: 
$selected_fg_color; }
+       &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
+}
+
+.login-dialog-user-list-item {
+       border-radius: 5px;
+       padding: 6px;
+       color: darken($osd_fg_color,30%);
+       &:ltr .user-widget { padding-right: 1em; }
+       &:rtl .user-widget { padding-left: 1em; }
+       .login-dialog-timed-login-indicator {
+               height: 2px;
+               margin-top: 6px;
+               background-color: $osd_fg_color;
+       }
+       &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
+}
+
+.login-dialog-username,
+.user-widget-label {
+       color: $osd_fg_color;
+       font-size: 120%;
+       font-weight: bold;
+       text-align: left;
+       padding-left: 15px;
+}
+
+.user-widget-label {
+       &:ltr { padding-left: 14px; }
+       &:rtl { padding-right: 14px; }
+}
+
+.login-dialog-prompt-layout {
+       padding-top: 24px;
+       padding-bottom: 12px;
+       spacing: $base_spacing * 2;
+       width: 23em;
+}
+
+.login-dialog-prompt-label {
+       color: darken($osd_fg_color, 20%);
+       font-size: 110%;
+       padding-top: 1em;
+}
+
+.login-dialog-session-list-button StIcon {
+       icon-size: 1.25em;
+}
+
+.login-dialog-session-list-button {
+       color: darken($osd_fg_color,30%);
+       &:hover,&:focus { color: $osd_fg_color; }
+       &:active { color: darken($osd_fg_color, 50%); }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_looking-glass.scss 
b/data/theme/gnome-shell-sass/widgets/_looking-glass.scss
new file mode 100644
index 0000000000..f065812d7c
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_looking-glass.scss
@@ -0,0 +1,97 @@
+/* Looking Glass */
+
+// Dialog
+#LookingGlassDialog {
+       background-color: $osd_bg_color;
+       spacing: $base_spacing;
+       padding: 4px;
+       border: 2px solid transparentize($osd_fg_color, 0.8);
+       border-top-width:0;
+       border-radius: 0 0 $base_border_radius $base_border_radius;
+
+       & > #Toolbar {
+               border: none;
+               border-radius: $base_border_radius;
+               background-color: darken($osd_bg_color, 10%);
+       }
+
+       .labels { spacing: $base_spacing; }
+       .notebook-tab {
+               -natural-hpadding: $base_padding * 2;
+               -minimum-hpadding: 6px;
+               font-weight: bold;
+               color: $fg_color;
+               transition-duration: 100ms;
+               padding-left: .3em;
+               padding-right: .3em;
+               &:hover {
+                       color: white;
+                       text-shadow: black 0px 2px 2px;
+               }
+               &:selected {
+                       border-bottom-width: 2px;
+                       border-color: lighten($selected_bg_color,5%);
+                       color: white;
+                       text-shadow: black 0px 2px 2px;
+               }
+       }
+       StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
+       StBoxLayout#ResultsArea { spacing: $base_spacing; }
+}
+
+.lg-dialog {
+       StEntry {
+               selection-background-color: #bbbbbb;
+               selected-color: $osd_bg_color;
+       }
+       .shell-link {
+               color: #999999;
+               &:hover { color: #dddddd; }
+        }
+}
+
+.lg-completions-text {
+               font-size: .9em;
+               font-style: italic;
+}
+
+.lg-obj-inspector-title {
+               spacing: $base_spacing;
+}
+
+.lg-obj-inspector-button {
+               border: 1px solid gray;
+               padding: 4px;
+               border-radius: $base_border_radius;
+               &:hover { border: 1px solid #ffffff; }
+}
+
+// Extensions
+#lookingGlassExtensions { padding: 4px; }
+
+.lg-extensions-list {
+               padding: 4px;
+               spacing: 6px;
+}
+
+.lg-extension {
+               border: 1px solid $osd_borders_color;
+               border-radius: $base_border_radius;
+               padding: 4px;
+}
+
+.lg-extension-name {
+               font-weight: bold;
+}
+
+.lg-extension-meta {
+               spacing: 6px;
+}
+
+// Inspector
+#LookingGlassPropertyInspector {
+       background: $osd_bg_color;
+       border: 1px solid $osd_borders_color;
+       border-radius: $base_border_radius;
+       padding: 6px;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_message-list.scss 
b/data/theme/gnome-shell-sass/widgets/_message-list.scss
new file mode 100644
index 0000000000..4317c4e92f
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_message-list.scss
@@ -0,0 +1,145 @@
+/* Message List */
+// a.k.a. notifications in the menu
+
+// main list
+.message-list {
+       width: 31.5em;
+       padding: 0 $base_padding * 2;
+}
+
+.message-list-sections {
+       margin:0;
+       spacing: $base_spacing;
+}
+
+.message-list-section,
+.message-list-section-list {
+       spacing: $base_spacing;
+}
+
+.message-list-section-list {
+       &:ltr {padding:0;}
+       &:rtl {padding:0;}
+}
+
+// clear button
+.message-list-clear-button {
+       margin:$base_margin;
+       .button {
+               @extend %button;
+       }
+}
+
+// message bubbles
+.message {
+       @extend %notification_bubble;
+
+       // title
+       .message-title {
+               color: $fg_color;
+               font-weight: bold;
+               margin-bottom:4px;
+       }
+
+       // content
+       .message-content {
+               color: darken($fg_color, 10%);
+               padding: $base_padding 0;
+               margin:$base_margin * 2;
+               &:ltr {
+                       margin-left: $base_margin;
+                       padding-right:$base_padding;
+               }
+               &:rtl {
+                       margin-right: $base_margin;
+                       padding-left:$base_padding;
+               }
+       }
+
+       // close button
+       .message-close-button {
+               color: lighten($fg_color, 15%);
+               &:hover { color: darken($fg_color, 10%);}
+       }
+
+       // icon container
+       .message-icon-bin {
+               // padding: $base_padding;
+               margin:$base_padding 0;
+
+               &:rtl {
+                       // padding: $base_padding;
+               }
+
+               // icon size and color
+               > StIcon {
+                       color: $fg_color;
+                       icon-size: $base_icon_size * 2; // 32px
+                       -st-icon-style: symbolic;
+
+                       padding:0;
+                       margin:$base_padding;
+               }
+
+               // fallback
+               > .fallback-window-icon {
+                       width: $base_icon_size;
+                       height: $base_icon_size;
+               }
+       }
+
+       // secondary container in title box
+       .message-secondary-bin {
+               padding: 0;
+
+               // notification time stamp
+               > .event-time {
+                       color: transparentize($fg_color, 0.5);
+                       font-size: 80%;
+                       text-align: right;
+                       margin: 0 $base_margin * 2;
+                       /* HACK: the label should be baseline-aligned with a 1em label, fake this with some 
bottom padding */
+                       padding-bottom: $base_padding;
+               }
+       }
+
+}
+
+/* Media Controls */
+.message-media-control {
+       padding: $base_padding * 2 $base_padding * 4;
+       color: darken($fg_color, 15%);
+
+       // uses $hover_bg_color since the media controls are in a notification_bubble
+       &:hover {
+               background-color: lighten($hover_bg_color, 5%);
+               color: $fg_color;
+       }
+
+       &:active { 
+               background-color: darken($hover_bg_color, 2%);
+               color: $fg_color;
+       }
+
+       &:insensitive { color: darken($fg_color,40%); }
+       
+       // fix border-radius for last button on hover
+       &:last-child:ltr { &:hover {border-radius:  0 $base_border_radius+2 $base_border_radius+2 0;} }
+       &:last-child:rtl { &:hover {border-radius: $base_border_radius+2 0 0 $base_border_radius+2;} }
+}
+
+// album-art
+.media-message-cover-icon {
+       icon-size: $base_icon_size * 2 !important; // 48px
+       border-radius: $base_border_radius;
+
+       // when there is no artwork
+       &.fallback {
+               color: darken($fg_color, 17%);
+               background-color: $bg_color;
+               border: 1px solid transparent;
+               border-radius: $base_border_radius;
+               icon-size: $base_icon_size * 2 !important;
+               padding: $base_padding * 2;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_misc.scss b/data/theme/gnome-shell-sass/widgets/_misc.scss
new file mode 100644
index 0000000000..f905de0010
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_misc.scss
@@ -0,0 +1,55 @@
+// Links/URLs
+.shell-link {
+       color: $link_color;
+       &:hover { color: lighten($link_color,10%); }
+}
+
+.url-highlighter { link-color: $link_color; }
+
+// Rubberband for select-area screenshots
+.select-area-rubberband {
+       background-color: transparentize($selected_bg_color,0.7);
+       border: 1px solid $selected_bg_color;
+}
+
+// Pointer accessibility notifications
+.pie-timer {
+       width: 60px;
+       height: 60px;
+       -pie-border-width: 3px;
+       -pie-border-color: $selected_bg_color;
+       -pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
+}
+
+// Screen zoom/Magnifier
+.magnifier-zoom-region {
+       border: 2px solid $selected_bg_color;
+       &.full-screen { border-width: 0; }
+}
+
+// User icon
+.user-icon {
+       background-size: contain;
+       color: $osd_fg_color;
+       border-radius: 99px;
+       &:hover {
+               color: lighten($osd_fg_color,30%);
+       }
+}
+
+// Input Source Switcher
+.input-source-switcher-symbol {
+       font-size: 34pt;
+       width: 96px;
+       height: 96px;
+}
+
+// Window cycler highlight
+.cycler-highlight {
+       border: 5px solid $selected_bg_color;
+}
+
+
+.headline { font-size: 110%; }
+.lightbox { background-color: black; }
+.flashspot { background-color: white; }
diff --git a/data/theme/gnome-shell-sass/widgets/_network-dialog.scss 
b/data/theme/gnome-shell-sass/widgets/_network-dialog.scss
new file mode 100644
index 0000000000..5b3aa63dfd
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_network-dialog.scss
@@ -0,0 +1,57 @@
+/* Network Dialogs */
+.nm-dialog {
+       @extend %bubble_panel;
+       max-height: 34em;
+       min-height: 31em;
+       min-width: 32em;
+}
+
+.nm-dialog-content {
+       spacing: 20px;
+       padding: 24px;
+}
+
+.nm-dialog-airplane-box { spacing: 12px; }
+
+.nm-dialog-airplane-headline {
+       font-weight: bold;
+       text-align: center;
+}
+
+.nm-dialog-airplane-text { color: $fg_color; }
+
+// header
+.nm-dialog-header {
+       font-weight: bold;
+}
+.nm-dialog-header-icon {
+       icon-size: $base_icon_size * 2;
+}
+.nm-dialog-header-hbox { spacing: 10px; }
+
+// list of networks
+.nm-dialog-scroll-view {
+       border: 1px solid $borders_color;
+       padding:0;
+       background-color: darken($bg_color, 3%);
+}
+
+// list item
+.nm-dialog-item {
+       font-size: $base_font_size;
+       border-bottom: 1px solid $borders_color;
+       padding: $base_padding * 2;
+       spacing: 0px;
+       &:selected {
+               background-color: $selected_bg_color;
+               color: $selected_fg_color;
+       }
+}
+
+// icons in list
+.nm-dialog-icon { icon-size: $base_icon_size; }
+.nm-dialog-icons { spacing: $base_spacing * 2; }
+
+// no networks
+.no-networks-label { color: $insensitive_fg_color; }
+.no-networks-box { spacing: $base_padding; }
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_notifications.scss 
b/data/theme/gnome-shell-sass/widgets/_notifications.scss
new file mode 100644
index 0000000000..e132c2d2e4
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_notifications.scss
@@ -0,0 +1,100 @@
+/* Notifications & Mesage Tray */
+
+$notification_banner_height: 64px;
+$notification_banner_width: 34em;
+
+// Banner notifications
+.notification-banner {
+       min-height: $notification_banner_height;
+       width: $notification_banner_width;
+       font-size: $base_font_size;
+       margin: $base_margin;
+       border-radius: $modal_radius;
+
+       .message-title { color: $fg_color }
+       .message-content { color: $fg_color; }
+
+       &:hover { background: $bg_color; }
+       &, &:focus, &:active {
+               background-color: $bg_color;
+               .message-title { color: $fg_color }
+               .message-content { color: $fg_color; }
+       }
+
+       // icon
+       .message-icon-bin > StIcon {
+               icon-size: $base_icon_size * 2;
+               color: $fg_color;
+       }
+
+       // entries
+       StEntry { @extend %bubble_entry; }
+
+       .notification-icon {
+               padding: 5px;
+       }
+
+       .notification-content {
+               padding: 5px;
+               spacing: 5px;
+       }
+
+       .secondary-icon { icon-size: $base_icon_size; }
+
+       .notification-actions {
+               padding-top: 0;
+               color: $fg_color;
+               border-top: 1px solid $bubble_borders_color;
+               spacing: 0;
+       }
+
+       .notification-button {
+               @extend %bubble_button;
+               min-height: $notification_banner_height * 0.5;
+               padding: $base_padding !important;
+               border-top-width: 0 !important;
+               
+               &:focus { box-shadow: none; }
+       }
+}
+
+// counter
+.summary-source-counter {
+       font-size: $base_font_size - 1pt;
+       font-weight: bold;
+       height: 1.6em;
+       width: 1.6em;
+       -shell-counter-overlap-x: 3px;
+       -shell-counter-overlap-y: 3px;
+       background-color: $selected_bg_color;
+       color: $selected_fg_color;
+       border: 2px solid $fg_color;
+       box-shadow: 0 2px 2px rgba(0,0,0,0.5);
+       border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
+}
+
+.secondary-icon { icon-size: $base_icon_size; }
+
+// chat bubbles
+.chat-body { spacing: 5px; }
+.chat-response { margin: 5px; }
+.chat-log-message { color: darken($fg_color,10%); }
+.chat-new-group { padding-top: 1em; }
+.chat-received {
+       padding-left: 4px;
+       &:rtl { padding-left: 0px; padding-right: 4px; }
+}
+
+.chat-sent {
+       padding-left: 18pt;
+       color: lighten($fg_color, 15%);
+       &:rtl { padding-left: 0; padding-right: 18pt; }
+}
+
+.chat-meta-message {
+       padding-left: 4px;
+       font-size: 9pt;
+       font-weight: bold;
+       color: lighten($fg_color,18%);
+       &:rtl { padding-left: 0; padding-right: 4px; }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_osd.scss b/data/theme/gnome-shell-sass/widgets/_osd.scss
new file mode 100644
index 0000000000..ad2d1d119a
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_osd.scss
@@ -0,0 +1,37 @@
+/* OSD */
+.osd-window {
+       @extend %osd_panel;
+       text-align: center;
+       font-weight: bold;
+       spacing: 1em;
+       margin: 32px;
+       min-width: 64px;
+       min-height: 64px;
+
+       .osd-monitor-label { font-size: 3em; }
+       .level {
+               height: 0.6em;
+               -barlevel-height: 0.6em;
+               -barlevel-background-color: transparentize($fg_color, if($variant=='light', 0.2, 0.9));
+               -barlevel-active-background-color: $osd_fg_color;
+               -barlevel-overdrive-color: $destructive_color;
+               -barlevel-overdrive-separator-width: 0.2em;
+       }
+}
+
+/* Pad OSD */
+.pad-osd-window {
+       padding: 32px;
+       background-color: transparentize(#000, 0.2);
+
+       .pad-osd-title-box { spacing: 12px; }
+       .pad-osd-title-menu-box { spacing: 6px; }
+}
+
+.combo-box-label {
+       width: 15em;
+}
+
+.resize-popup {
+       @extend %osd_panel;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_overview.scss 
b/data/theme/gnome-shell-sass/widgets/_overview.scss
new file mode 100644
index 0000000000..b48bd05bcb
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_overview.scss
@@ -0,0 +1,10 @@
+/* OVERVIEW */
+
+#overview {
+       spacing: 24px;
+       background-color: transparent;
+}
+
+.overview-controls {
+       padding-bottom: 32px;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_panel.scss b/data/theme/gnome-shell-sass/widgets/_panel.scss
new file mode 100644
index 0000000000..ba8e6675cc
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_panel.scss
@@ -0,0 +1,106 @@
+/* Top Bar */
+// a.k.a. the panel
+
+$panel_corner_radius: $base_border_radius+1;
+$panel_bg_color: if($variant == 'light', rgba(0,0,0,0.9), #000);
+$panel_fg_color: if($variant == 'light', darken($bg_color, 15%), darken($fg_color, 10%));
+$panel_height: 1.86em;
+
+
+#panel {
+  background-color: $panel_bg_color;
+  font-weight: bold;
+  height: $panel_height;
+  font-feature-settings: "tnum";
+
+  // transparent panel on lock & login screens
+  &.unlock-screen,
+  &.login-screen,
+  &.lock-screen {
+    background-color: transparent;
+
+    .panel-corner {
+      -panel-corner-radius: 0;
+      -panel-corner-background-color: transparent;
+      -panel-corner-border-color: transparent;
+    }
+  }
+
+  // spacing between activities, app menu and such
+  #panelLeft, #panelCenter {
+    spacing: $base_spacing;
+  }
+
+  // the rounded outset corners
+  .panel-corner {
+    -panel-corner-radius: $panel_corner_radius;
+    -panel-corner-background-color: $panel_bg_color;
+    -panel-corner-border-width: 2px;
+    -panel-corner-border-color: transparent;
+
+    &:active, &:overview, &:focus {
+      -panel-corner-border-color: lighten($selected_bg_color,5%);
+    }
+  }
+
+  // panel menus
+  .panel-button {
+    font-weight: bold;
+    color: $panel_fg_color;
+    -natural-hpadding: $base_padding * 2;
+    -minimum-hpadding: $base_padding;
+
+    &:hover {
+      color: lighten($panel_fg_color, 20%);
+    }
+
+    &:active, &:overview, &:focus, &:checked {
+      background-color: $panel_bg_color; // Trick due to St limitations. It needs a background to draw a 
box-shadow
+      box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
+
+      color: lighten($panel_fg_color, 20%);
+    }
+
+    // status area icons
+    .system-status-icon {
+      icon-size: $base_icon_size;
+      padding: $base_padding - 1px;
+    }
+
+    // app menu icon
+    .app-menu-icon {
+      margin-left: $base_margin;
+      margin-right: $base_margin;
+      -st-icon-style: symbolic;
+      // dimensions of the icon are hardcoded
+    }
+
+    // lock & login screen styles
+    .unlock-screen &,
+    .login-screen &,
+    .lock-screen & {
+      color: lighten($fg_color, 10%);
+      &:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
+    }
+  }
+
+  .panel-status-indicators-box,
+  .panel-status-menu-box {
+    spacing: 2px;
+  }
+
+  // spacing between power icon and (optional) percentage label
+  .power-status.panel-status-indicators-box {
+    spacing: 0;
+  }
+
+  // indicator for active
+  .screencast-indicator,
+  .remote-access-indicator { color: $warning_color; }
+}
+
+// App Menu
+#appMenu {
+  spacing: $base_spacing;
+  .label-shadow { color: transparent; }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_popovers.scss 
b/data/theme/gnome-shell-sass/widgets/_popovers.scss
new file mode 100644
index 0000000000..9cf6b1057d
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_popovers.scss
@@ -0,0 +1,123 @@
+/* Popovers/Menus */
+
+$popover_arrow_height: 12px;
+
+//.the popover itself
+.popup-menu-boxpointer,
+.candidate-popup-boxpointer {
+       -arrow-border-radius: $base_border_radius+4;
+       -arrow-background-color: $bg_color;
+       -arrow-border-width: 1px;
+       -arrow-border-color: $borders_color;
+       -arrow-base: $popover_arrow_height * 2;
+       -arrow-rise: $popover_arrow_height;
+       -arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
+}
+
+// container of the popover menu
+.popup-menu {
+       min-width: 15em;
+       color: $fg_color;
+
+       //.popup-status-menu-item { font-weight: normal;  color: pink; } //dunno what that is
+       &.panel-menu {
+               -boxpointer-gap: $base_margin; // distance from the panel
+               margin-bottom: 1.75em;
+       }
+}
+
+.popup-menu-content {
+       padding: $base_padding * 2 + $base_margin 0;
+}
+
+// menu items
+.popup-menu-item {
+       spacing: $base_padding;
+       padding: $base_padding;
+
+       &:ltr { padding-right:1.75em; padding-left: 0; }
+       &:rtl { padding-right: 0; padding-left:1.75em; }
+
+       &:checked {
+               background-color: lighten($bg_color, 2%);
+               box-shadow: none;
+       }
+
+       &.selected {
+               background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
+               color: $fg_color;
+       }
+
+       &:active { 
+               background-color: $selected_bg_color;
+               color: $selected_fg_color;
+       }
+
+       &:insensitive { color: transparentize($fg_color,0.5);}
+}
+
+// all icons and other graphical elements
+.popup-inactive-menu-item {
+       color: $fg_color;
+
+       &:insensitive { color: transparentize($fg_color,0.5); }
+}
+
+// symbolic icons in popover
+.popup-menu-arrow,
+.popup-menu-icon { icon-size: $base_icon_size; }
+
+// popover submenus
+.popup-sub-menu {
+       background-color: darken($bg_color, 3%);
+       box-shadow: none;
+       border-top: 1px solid transparentize($borders_color, 0.2);
+       border-bottom: 1px solid transparentize($borders_color, 0.2);
+
+       .popup-menu-item:hover {background-color: darken($bg_color, 7%);}
+}
+
+// container for radio and check boxes
+.popup-menu-ornament {
+       text-align: right;
+       width: 1.2em;
+}
+
+// separator
+.popup-separator-menu-item {
+       //-margin-horizontal: 24px;
+       height: 1px; //not really the whole box
+       margin: 6px 64px;
+       background-color: lighten($borders_color, 2%);
+       border: none !important;
+}
+
+// desktop background menu
+.background-menu {
+       -boxpointer-gap: $base_margin;
+       -arrow-rise: 0px; // hide the beak on the menu
+}
+
+// system status menu
+.aggregate-menu {
+       min-width: 21em;
+
+       // lock screen, shutdown, etc. buttons
+       .popup-menu-icon { 
+               padding:0;
+               margin: 0 $base_margin;
+               -st-icon-style: symbolic;
+       }
+
+       .popup-sub-menu .popup-menu-item > :first-child {
+               // account for icons in submenus with padding
+               &:ltr {
+                       padding-left: $base_padding + $base_margin * 2; 
+                       margin-left: $base_icon_size;
+               }
+               &:rtl {
+                       padding-right: $base_padding + $base_margin * 2; ;
+                       margin-right: $base_icon_size;
+               }
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_screen-shield.scss 
b/data/theme/gnome-shell-sass/widgets/_screen-shield.scss
new file mode 100644
index 0000000000..0f8a8be288
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_screen-shield.scss
@@ -0,0 +1,83 @@
+/* Screen Shield */
+
+$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+
+.screen-shield-arrows {
+       padding-bottom: 3em;
+}
+
+.screen-shield-arrows Gjs_Arrow {
+       color: white;
+       width: 80px;
+       height: 48px;
+       -arrow-thickness: 12px;
+       -arrow-shadow: $_screenshield_shadow;
+}
+
+.screen-shield-clock {
+       color: white;
+       text-shadow: $_screenshield_shadow;
+       font-weight: bold;
+       text-align: center;
+       padding-bottom: 1.5em;
+}
+
+.screen-shield-clock-time {
+       font-size: 72pt;
+       text-shadow: $_screenshield_shadow;
+       font-feature-settings: "tnum";
+}
+
+.screen-shield-clock-date { 
+       font-size: 28pt;
+       font-weight: normal;
+}
+
+.screen-shield-notifications-container {
+       spacing: 6px;
+       width: 30em;
+       background-color: transparent;
+       max-height: 500px;
+       .summary-notification-stack-scrollview {
+               padding-top: 0;
+               padding-bottom: 0;
+       }
+
+       .notification,
+       .screen-shield-notification-source {
+               padding: 12px 6px;
+               border: 1px solid $osd_outer_borders_color;
+               background-color: transparentize($osd_bg_color,0.5);
+               color: $osd_fg_color;
+               border-radius: 4px;
+       }
+       .notification { margin-right: 15px; } //compensate for space allocated to the scrollbar
+}
+
+
+.screen-shield-notification-label {
+       font-weight: bold;
+       padding: 0px 0px 0px 12px;
+}
+
+.screen-shield-notification-count-text { padding: 0px 0px 0px 12px; }
+
+#panel.lock-screen { background-color: transparentize($osd_bg_color, 0.5); }
+
+.screen-shield-background { //just the shadow, really
+       background: black;
+       box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
+}
+
+#lockDialogGroup {
+       background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
+       background-repeat: repeat;
+}
+
+#screenShieldNotifications {
+       StButton#vhandle, StButton#hhandle {
+               background-color: transparentize($bg_color,0.7);
+               &:hover, &:focus { background-color: transparentize($bg_color,0.5); }
+               &:active { background-color: transparentize($selected_bg_color,0.5); }
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_scrollbars.scss 
b/data/theme/gnome-shell-sass/widgets/_scrollbars.scss
new file mode 100644
index 0000000000..640c532ae8
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_scrollbars.scss
@@ -0,0 +1,29 @@
+/* Scrollbars */
+
+StScrollView {
+       &.vfade { -st-vfade-offset: 68px; }
+       &.hfade { -st-hfade-offset: 68px; }
+}
+
+StScrollBar {
+       padding: 0;
+
+       StScrollView & {
+               min-width: 14px;
+               min-height: 14px;
+       }
+
+       StBin#trough {
+               border-radius: 0;
+               background-color: transparent;
+       }
+
+       StButton#vhandle, StButton#hhandle {
+               border-radius: 8px;
+               background-color: mix($fg_color, $bg_color, 60%);
+               //border: 3px solid transparent; //would be nice to margin or at least to transparent
+               margin: 3px;
+               &:hover { background-color: mix($fg_color, $bg_color, 80%); }
+               &:active { background-color: $selected_bg_color; }
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_search-entry.scss 
b/data/theme/gnome-shell-sass/widgets/_search-entry.scss
new file mode 100644
index 0000000000..5ecba4624b
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_search-entry.scss
@@ -0,0 +1,33 @@
+// Search entry
+
+$search_entry_width: 320px;
+
+%search_entry,
+.search-entry {
+       width: $search_entry_width;
+       padding: 7px 9px;
+       border-radius: 18px;
+       color: transparentize($fg_color,0.3);
+       background-color: $bg_color;
+       border-color: $borders_color;
+
+       &:hover {
+               background-color: $hover_bg_color;
+               border-color: $hover_borders_color;
+               color: $hover_fg_color;
+       }
+
+       &:focus {
+               padding: 6px 8px; // 1px less to account for wider border
+               border-width: 2px;
+               color: $fg_color;
+               border-color: $selected_bg_color;
+               box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
+       }
+
+       .search-entry-icon { 
+               icon-size: $base_icon_size;
+               padding: 0 4px;
+               color: inherit;
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_search-results.scss 
b/data/theme/gnome-shell-sass/widgets/_search-results.scss
new file mode 100644
index 0000000000..dd3f28cc1a
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_search-results.scss
@@ -0,0 +1,160 @@
+/* Search */
+$overview_search_container_width: 1024px;
+
+
+%search_result_bubble {
+       background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
+       border-radius: $modal_radius + 3px;
+       border: 1px solid $osd_outer_borders_color;
+       box-shadow: 0 2px 4px 0 $shadow_color;
+       text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
+       color: $osd_fg_color;
+       padding: $base_padding * 3;
+       margin: $base_margin;
+}
+
+// search overview container
+#searchResultsContent {
+       max-width: $overview_search_container_width;
+}
+
+// search results sections "the boxes"
+.search-section {
+       @extend %search_result_bubble;
+       spacing:0;
+       margin-top:0;
+       margin-bottom:0;
+
+       // hide separator
+       &:first-child .search-section-separator,
+       &:last-child .search-section-separator {
+               background-color: transparent;
+       }
+
+       // separator
+       .search-section-separator { 
+               // margin-top: $base_padding * 2;
+               // height: 1px;
+               // background-color: $osd_outer_borders_color;
+               height: 0px;
+               background-color: transparent;
+       }
+
+       // content
+       .search-section-content {
+               spacing: 0;
+       }
+}
+
+
+// "no results" text
+.search-statustext {
+       @extend %status_text;
+}
+
+// Search results with icons
+.grid-search-result {
+       > .overview-icon {
+               @extend %icon_tile;
+               color: $osd_fg_color;
+       }
+
+       > .overview-icon.overview-icon-with-label {
+               padding: 10px 8px 5px 8px;
+               spacing: $base_spacing;
+       }
+
+       &:hover,
+       &:focus,
+       &:selected {
+               .overview-icon {
+                       background-color: transparentize($osd_bg_color,0.8);
+                       color: $osd_fg_color;
+               }
+       }
+
+       &:drop .overview-icon {
+               background-color: transparentize($selected_bg_color,.15);
+       }
+
+       &:active .overview-icon,
+       &:checked .overview-icon {
+               background-color: transparentize(darken($osd_bg_color,10%), 0.5);
+       }
+}
+
+// search result provider
+.search-provider-icon {
+       @extend %icon_tile;
+
+       padding: 0;
+       spacing: 0;
+       margin-right: $base_margin * 2;
+
+       &:focus,
+       &:selected,
+       &:hover {
+               background-color: transparentize($osd_fg_color,.9);
+               transition-duration: 200ms;
+       }
+
+       &:active,
+       &:checked {
+               background-color: transparentize(darken($osd_bg_color,10%),.1);
+       }
+
+       // content
+       .list-search-provider-content {
+               spacing: $base_spacing * 2;
+
+               // provider labels
+               .list-search-provider-details {
+                       width: 120px;
+                       margin-top: 0;
+                       color: darken($osd_fg_color, 8%);
+                       // font-weight: bold;
+               }
+       }
+}
+
+// search results list
+.list-search-results {
+       spacing: $base_spacing;
+}
+
+// search result listitem
+.list-search-result {
+       @extend %icon_tile;
+       spacing: 0;
+       padding: $base_padding;
+       color: $osd_fg_color;
+
+       &:focus,
+       &:selected,
+       &:hover {
+               background-color: transparentize($osd_fg_color,.9);
+               transition-duration: 200ms;
+       }
+       &:active,
+       &:checked {
+               background-color: transparentize(darken($osd_bg_color,10%),.1);
+       }
+
+       // content
+       .list-search-result-content {
+               spacing: 0;
+       }
+
+       // list item title
+       .list-search-result-title {
+               color: $osd_fg_color;
+               spacing: $base_spacing * 2;
+               padding-right: $base_padding;
+               // font-weight: bold;
+       }
+
+       // list item description
+       .list-search-result-description {
+               color: darken($osd_fg_color, 30%);
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_slider.scss 
b/data/theme/gnome-shell-sass/widgets/_slider.scss
new file mode 100644
index 0000000000..4b84ad60fa
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_slider.scss
@@ -0,0 +1,27 @@
+/* Slider */
+
+$slider_size: 15px;
+
+.slider {
+       height: $slider_size;
+       // slider trough
+       -barlevel-height: 3px; // has to be an odd number
+       -barlevel-background-color: $borders_color; //background of the trough
+       -barlevel-border-width: 1px; 
+       -barlevel-border-color: $borders_color; // trough border color
+       // fill style
+       -barlevel-active-background-color: $selected_bg_color; //active trough fill
+       -barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%), 
lighten($selected_bg_color, 2%)); //active trough border
+       // overfill style (red in this case)
+       -barlevel-overdrive-color: $destructive_color;
+       -barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), 
lighten($destructive_color, 2%)); //trough border when red;
+       -barlevel-overdrive-separator-width:1px;
+       // slider hander
+       -slider-handle-radius: $slider_size * 0.5; // half the size of the size
+       -slider-handle-border-width: 1px;
+       -slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
+
+       color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
+       &:hover { color: $hover_bg_color; }
+       &:active { color: $active_bg_color; }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_switches.scss 
b/data/theme/gnome-shell-sass/widgets/_switches.scss
new file mode 100644
index 0000000000..51dc478f83
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_switches.scss
@@ -0,0 +1,16 @@
+/* Switches */
+
+// these are equal to the size of the SVG assets
+$switch_height: 22px;
+$switch_width: 46px;
+
+.toggle-switch {
+       color: $fg_color;
+       height: $switch_height;
+       width: $switch_width;
+       background-size: contain;
+       background-image: if($variant == 'light', 
url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
+       &:checked { 
+               background-image: if($variant == 'light', 
url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_tiled-previews.scss 
b/data/theme/gnome-shell-sass/widgets/_tiled-previews.scss
new file mode 100644
index 0000000000..f4b8f54f1d
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_tiled-previews.scss
@@ -0,0 +1,19 @@
+
+/* Tiled window previews */
+$tile_corner_radius: $base_border_radius + 1px;
+.tile-preview {
+       background-color: transparentize($selected_bg_color,0.5);
+       border: 1px solid $selected_bg_color;
+}
+
+.tile-preview-left.on-primary {
+       border-radius: $tile_corner_radius 0 0 0;
+}
+
+.tile-preview-right.on-primary {
+       border-radius: 0 $tile_corner_radius 0 0;
+}
+
+.tile-preview-left.tile-preview-right.on-primary {
+       border-radius: $tile_corner_radius $tile_corner_radius 0 0;
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_window-picker.scss 
b/data/theme/gnome-shell-sass/widgets/_window-picker.scss
new file mode 100644
index 0000000000..5c9d565b94
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_window-picker.scss
@@ -0,0 +1,66 @@
+/* Window Picker */
+
+$window_picker_spacing: 48px;
+$window_picker_padding: 64px;
+
+$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
+
+$window_close_button_size: 24px;
+$window_close_button_padding: 3px;
+
+
+// Window picker
+.window-picker {
+       // Space between window thumbnails
+       -horizontal-spacing: $window_picker_spacing;
+       -vertical-spacing: $window_picker_spacing;
+       // Padding for container around window thumbnails
+       padding: $window_picker_padding;
+
+       &.external-monitor { padding: $window_picker_padding; }
+}
+
+// Borders on window thumbnails
+.window-clone-border {
+       border: 6px solid $window_thumbnail_border_color;
+       border-radius: $base_border_radius + 2px;
+       // For window decorations with round corners we can't match
+       // the exact shape when the window is scaled. So apply a shadow
+       // to fix that case
+       box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
+}
+
+// Window titles
+.window-caption {
+       spacing: 24px;
+       color: $selected_fg_color;
+       background-color: rgba(0,0,0,0.5);
+       border:1px solid rgba(0,0,0,0.6);
+       border-radius: 8px;
+       margin-top: 24px;
+       padding: 4px 12px;
+       font-size: $base_font_size + 1pt;
+       font-weight: bold;
+}
+
+// Close button
+.window-close {
+       background-color: $selected_bg_color;
+       color: $selected_fg_color;
+       border: none;
+       border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
+       padding: $window_close_button_padding;
+       height: $window_close_button_size;
+       width: $window_close_button_size;
+       box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
+
+       -shell-close-overlap: $window_close_button_size * 0.5;
+
+       &:hover {
+               background-color: lighten($selected_bg_color, 5%);
+       }
+
+       &:active {
+               background-color: darken($selected_bg_color, 5%);
+       }
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss 
b/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss
new file mode 100644
index 0000000000..cf5e6af66c
--- /dev/null
+++ b/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss
@@ -0,0 +1,70 @@
+/* Workspace Switcher */
+.workspace-switcher-group {
+       padding: $base_padding * 2;
+}
+
+.workspace-switcher-container {
+       @extend %osd_panel;
+       box-shadow: 0 2px 10px 2px rgba(0,0,0,0.2);
+}
+
+.workspace-switcher {
+       background: transparent;
+       border: none;
+       border-radius: 0;
+       padding: 0;
+       spacing: $base_spacing * 2;
+
+       .ws-switcher-box {
+               // background: transparent;
+               background: transparent;
+               height: 50px;
+               background-size: 32px;
+               border: 1px solid transparentize($osd_fg_color,0.9);
+               border-radius: $base_border_radius + 3px;
+       }
+
+       // active workspace in the switcher
+       .ws-switcher-active-up,
+       .ws-switcher-active-down,
+       .ws-switcher-active-left,
+       .ws-switcher-active-right {
+               background-color: $selected_bg_color;
+               border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), 
lighten($selected_bg_color, 5%));
+               color: $selected_fg_color;
+       }
+}
+
+/* Workspace pager */
+
+// thumbnails in overview
+.workspace-thumbnails { 
+       @extend %overview_panel;
+       visible-width: 32px; //amount visible before hover
+       spacing: $base_spacing;
+       padding: $base_padding;
+
+       //fixme: can't have non uniform borders :(
+       border-top-left-radius:0 !important;
+       border-bottom-left-radius:0 !important;
+       border-right-width: 0 !important;
+       &:rtl { 
+               border-radius: 0 $modal_radius $modal_radius 0; 
+               border-left-width: 0 !important;
+       }
+
+       // drag and drop indicator
+       .placeholder {
+               background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+               background-size: contain;
+               height: 24px;
+       }
+}
+
+// selected indicator
+.workspace-thumbnail-indicator {
+       border: 3px solid $selected_bg_color;
+       border-radius: 3px;
+       padding: 0px;
+       // background-color: transparentize($selected_bg_color, 0.9);
+}
\ No newline at end of file
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
new file mode 100644
index 0000000000..7ea67ac7a8
--- /dev/null
+++ b/data/theme/gnome-shell.css
@@ -0,0 +1,2314 @@
+/* This stylesheet is generated, DO NOT EDIT */
+/* Copyright 2009, 2015 Red Hat, Inc.
+ *
+ * Portions adapted from Mx's data/style/default.css
+ *   Copyright 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+/* Global Values */
+stage {
+  font-size: 11pt;
+  color: #eeeeec; }
+
+/* WIDGETS */
+/* App Grid */
+.icon-grid {
+  spacing: 30px;
+  -shell-grid-horizontal-item-size: 136px;
+  -shell-grid-vertical-item-size: 136px; }
+  .icon-grid .overview-icon {
+    icon-size: 96px; }
+
+/* App Icons */
+.lowres-icon {
+  icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.icon-dropshadow {
+  icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-well-app .overview-icon,
+.app-folder .overview-icon {
+  color: #fff !important; }
+.app-well-app:hover .overview-icon, .app-well-app:selected .overview-icon,
+.app-folder:hover .overview-icon,
+.app-folder:selected .overview-icon {
+  background-color: rgba(32, 32, 32, 0.26);
+  color: #fff; }
+.app-well-app:hover .overview-icon, .app-well-app:focus .overview-icon, .app-well-app:selected 
.overview-icon,
+.app-folder:hover .overview-icon,
+.app-folder:focus .overview-icon,
+.app-folder:selected .overview-icon {
+  background-color: rgba(238, 238, 236, 0.1);
+  color: #eeeeec; }
+.app-well-app:focus .overview-icon,
+.app-folder:focus .overview-icon {
+  background-color: rgba(238, 238, 236, 0.3);
+  color: #fff; }
+.app-well-app:drop .overview-icon,
+.app-folder:drop .overview-icon {
+  background-color: rgba(27, 106, 203, 0.85); }
+.app-well-app:active .overview-icon, .app-well-app:checked .overview-icon,
+.app-folder:active .overview-icon,
+.app-folder:checked .overview-icon {
+  background-color: rgba(7, 7, 7, 0.46); }
+
+/* App Folders */
+.app-folder-popup {
+  -arrow-border-radius: 8px;
+  -arrow-background-color: rgba(7, 7, 7, 0.46);
+  -arrow-base: 24px;
+  -arrow-rise: 11px; }
+
+.app-folder-popup-bin {
+  padding: 5px; }
+
+.app-folder-icon {
+  padding: 6px;
+  spacing-rows: 6px;
+  spacing-columns: 6px; }
+
+.app-well-app-running-dot {
+  height: 5px;
+  width: 5px;
+  border-radius: 5px;
+  background-color: #eeeeec;
+  margin-bottom: 1px; }
+
+.rename-folder-popup .rename-folder-popup-item {
+  spacing: 6px; }
+  .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl {
+    padding: 0, 12px; }
+
+.app-menu,
+.app-well-menu {
+  max-width: 27.25em; }
+
+.page-indicator {
+  padding: 15px 20px; }
+  .page-indicator .page-indicator-icon {
+    width: 12px;
+    height: 12px;
+    background-color: transparent;
+    border: 2px solid rgba(255, 255, 255, 0.4);
+    border-radius: 12px; }
+  .page-indicator:hover .page-indicator-icon {
+    border-color: white; }
+  .page-indicator:active .page-indicator-icon {
+    border: none;
+    margin: 2px;
+    background-color: white; }
+  .page-indicator:checked .page-indicator-icon, .page-indicator:checked:active .page-indicator-icon {
+    background-color: white; }
+
+.all-apps,
+.frequent-apps > StBoxLayout {
+  padding: 0px 88px 10px 88px; }
+
+.app-well-app > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+
+.system-action-icon {
+  background-color: rgba(0, 0, 0, 0.8);
+  color: #fff;
+  border-radius: 50%;
+  icon-size: 48px; }
+
+/* Frequent | All toggle */
+.app-view-controls {
+  padding-bottom: 32px; }
+
+.app-view-control {
+  padding: 4px 32px;
+  margin: 0;
+  background-color: rgba(32, 32, 32, 0.46);
+  border-width: 1px;
+  color: #b2b2a9; }
+  .app-view-control:hover {
+    background-color: rgba(32, 32, 32, 0.46) !important;
+    box-shadow: none !important;
+    color: #b2b2a9; }
+  .app-view-control:active {
+    box-shadow: inset 0 -2px 0 0 #eeeeec;
+    background-color: rgba(27, 106, 203, 0.5) !important;
+    font-weight: bold; }
+  .app-view-control:checked {
+    background-color: rgba(83, 83, 83, 0.46);
+    color: #eeeeec;
+    box-shadow: none;
+    font-weight: bold; }
+  .app-view-control:first-child {
+    border-right-width: 0 !important;
+    border-radius: 5px 0 0 5px; }
+  .app-view-control:last-child {
+    border-radius: 0 5px 5px 0; }
+
+/* App Switcher */
+.switcher-popup {
+  padding: 8px;
+  spacing: 24px; }
+
+.switcher-list .item-box {
+  padding: 8px;
+  border-radius: 6px;
+  border: 1px solid transparent; }
+  .switcher-list .item-box:outlined {
+    border: 1px solid #141414;
+    background-color: rgba(238, 238, 236, 0.1);
+    box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.4); }
+  .switcher-list .item-box:selected {
+    background-color: rgba(238, 238, 236, 0.1);
+    color: #eeeeec; }
+.switcher-list .thumbnail-box {
+  padding: 2px;
+  spacing: 6px; }
+.switcher-list .thumbnail {
+  width: 256px; }
+.switcher-list .separator {
+  width: 1px;
+  background: #202020; }
+.switcher-list .switcher-list-item-container {
+  spacing: 12px; }
+
+.switcher-arrow {
+  border-color: rgba(0, 0, 0, 0);
+  color: rgba(238, 238, 236, 0.8); }
+  .switcher-arrow:highlighted {
+    color: #eeeeec; }
+
+/* Buttons */
+/* Date/Time Menu */
+#calendarArea {
+  padding: 0;
+  margin: 0; }
+
+.datemenu-calendar-column {
+  spacing: 0;
+  border: 0 solid #2d2d2d;
+  padding: 10px;
+  padding-bottom: 3em;
+  padding-top: 0; }
+  .datemenu-calendar-column:ltr {
+    border-left-width: 1px; }
+  .datemenu-calendar-column:rtl {
+    border-right-width: 1px; }
+  .datemenu-calendar-column .datemenu-today-button {
+    padding: 9px;
+    margin: 4px;
+    border: 1px solid transparent; }
+    .datemenu-calendar-column .datemenu-today-button:focus, .datemenu-calendar-column 
.datemenu-today-button:hover {
+      border-radius: 7px;
+      margin-top: 3px;
+      margin-bottom: 5px; }
+    .datemenu-calendar-column .datemenu-today-button:hover {
+      color: #eeeeec;
+      background-color: #424242 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #2b2b2b;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+      text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+    .datemenu-calendar-column .datemenu-today-button:focus {
+      color: #eeeeec;
+      text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      box-shadow: inset 0 0 0 2px rgba(27, 106, 203, 0.3); }
+    .datemenu-calendar-column .datemenu-today-button:active {
+      color: #eeeeec;
+      background-color: #2d2d2d !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #191919;
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none;
+      margin: 4px; }
+    .datemenu-calendar-column .datemenu-today-button .day-label {
+      font-size: 12pt;
+      font-weight: bold; }
+    .datemenu-calendar-column .datemenu-today-button .date-label {
+      font-size: 16.5;
+      font-weight: 1000; }
+  .datemenu-calendar-column .calendar {
+    margin: 4px !important;
+    margin-bottom: 10px !important;
+    padding: 6px !important; }
+  .datemenu-calendar-column .datemenu-displays-section {
+    margin: 0; }
+  .datemenu-calendar-column .datemenu-displays-box {
+    spacing: 6px;
+    margin: 0; }
+    .datemenu-calendar-column .datemenu-displays-box .world-clocks-button,
+    .datemenu-calendar-column .datemenu-displays-box .weather-button {
+      padding: 6px !important; }
+
+.events-section-title {
+  color: #878787;
+  font-weight: bold;
+  border-radius: 4px;
+  padding: .4em; }
+
+/* Calendar */
+.calendar .calendar-month-label {
+  color: #fafaf9;
+  font-weight: bold;
+  padding: 8px 0; }
+.calendar .calendar-change-month-back StIcon,
+.calendar .calendar-change-month-forward StIcon {
+  icon-size: 1.09em; }
+.calendar .pager-button {
+  background-color: transparent;
+  height: 32px;
+  width: 32px;
+  border-radius: 5px; }
+  .calendar .pager-button:hover, .calendar .pager-button:focus {
+    background-color: #4e4e4e; }
+  .calendar .pager-button:active {
+    background-color: #1e1e1e; }
+.calendar .calendar-day-base {
+  font-size: 80%;
+  text-align: center;
+  width: 32px;
+  height: 32px;
+  padding: 0;
+  margin: 2px;
+  border-radius: 18px;
+  border: 1px solid transparent;
+  font-feature-settings: "tnum"; }
+  .calendar .calendar-day-base:hover, .calendar .calendar-day-base:focus {
+    background-color: #424242; }
+  .calendar .calendar-day-base:active, .calendar .calendar-day-base:selected {
+    color: white;
+    background-color: #282828; }
+  .calendar .calendar-day-base.calendar-day-heading {
+    color: white;
+    margin-top: 1em;
+    font-size: 70%; }
+.calendar .calendar-day {
+  border-width: 0; }
+.calendar .calendar-day-top {
+  border-top-width: 1px; }
+.calendar .calendar-day-left {
+  border-left-width: 1px; }
+.calendar .calendar-nonwork-day {
+  color: #929291; }
+.calendar .calendar-today {
+  font-weight: bold;
+  border: 1px solid transparent;
+  background-color: #1b6acb;
+  color: #fff; }
+  .calendar .calendar-today:hover, .calendar .calendar-today:focus {
+    background-color: #1d72d8;
+    color: #fff; }
+  .calendar .calendar-today:active, .calendar .calendar-today:selected {
+    background-color: #1b6acb;
+    color: #fff; }
+    .calendar .calendar-today:active:hover, .calendar .calendar-today:active:focus, .calendar 
.calendar-today:selected:hover, .calendar .calendar-today:selected:focus {
+      background-color: #1d72d8;
+      color: #fff; }
+.calendar .calendar-day-with-events {
+  color: white;
+  font-weight: bold;
+  background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); }
+.calendar .calendar-other-month-day {
+  color: rgba(238, 238, 236, 0.5);
+  opacity: 0.5; }
+.calendar .calendar-week-number {
+  font-size: 70%;
+  font-weight: bold;
+  height: 1.8em;
+  width: 2.3em;
+  border-radius: 2px;
+  padding: 0.5em 0 0;
+  margin: 6px;
+  background-color: #303030;
+  color: #fafaf9; }
+
+/* Weather */
+.weather-box {
+  spacing: 6px;
+  padding: 6px; }
+  .weather-box .weather-header {
+    color: #878787;
+    font-weight: bold; }
+    .weather-box .weather-header.location {
+      font-weight: normal;
+      font-size: 10pt; }
+  .weather-box .weather-grid {
+    margin-top: 4px;
+    spacing-rows: 6px;
+    spacing-columns: 12px; }
+  .weather-box .weather-forecast-icon {
+    icon-size: 2.18em; }
+  .weather-box .weather-forecast-time {
+    color: #a6a69b;
+    font-feature-settings: "tnum";
+    font-size: 9pt;
+    font-weight: normal; }
+
+/* World clocks */
+.world-clocks-grid {
+  padding: 6px;
+  spacing-rows: 6px;
+  spacing-columns: 12px; }
+  .world-clocks-grid .world-clocks-header {
+    color: #878787;
+    font-weight: bold; }
+  .world-clocks-grid .world-clocks-city {
+    color: #eeeeec;
+    font-size: 11;
+    font-weight: normal; }
+  .world-clocks-grid .world-clocks-time {
+    font-weight: bold;
+    color: #eeeeec;
+    font-feature-settings: "lnum";
+    font-size: 11;
+    text-align: right; }
+  .world-clocks-grid .world-clocks-timezone {
+    color: #bebeb6;
+    font-feature-settings: "tnum";
+    font-size: 10pt; }
+
+/* Check Boxes */
+.check-box StBoxLayout {
+  spacing: .8em; }
+.check-box StBin {
+  width: 24px;
+  height: 22px;
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg"); }
+.check-box:focus StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
+.check-box:checked StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
+.check-box:focus:checked StBin {
+  background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
+
+/* Activities Ripple */
+.ripple-box {
+  background-color: rgba(188, 214, 246, 0.3);
+  box-shadow: 0 0 2px 2px #629fea;
+  width: 52px;
+  height: 52px;
+  border-radius: 0 0 52px 0; }
+  .ripple-box:rtl {
+    border-radius: 0 0 0 52px; }
+
+.ripple-pointer-location {
+  width: 50px;
+  height: 50px;
+  border-radius: 25px;
+  background-color: rgba(143, 187, 240, 0.3);
+  box-shadow: 0 0 2px 2px #629fea; }
+
+/* Dash */
+#dash {
+  font-size: 9pt;
+  padding: 0;
+  padding-bottom: 10px;
+  border-radius: 0 15px 15px 0;
+  border-left-width: 0 !important; }
+  #dash:rtl {
+    border-radius: 15px 0 0 15px;
+    border-right-width: 0 !important; }
+  #dash .placeholder {
+    background-image: none;
+    background-size: contain;
+    height: 32px; }
+  #dash .empty-dash-drop-target {
+    width: 32px;
+    height: 32px; }
+
+.dash-item-container > StWidget {
+  padding: 10px;
+  padding-bottom: 0; }
+
+.dash-label {
+  background-color: rgba(32, 32, 32, 0.91);
+  border-radius: 7px;
+  border: none;
+  box-shadow: 0 0 0 1px rgba(50, 50, 50, 0.96);
+  color: #eeeeec;
+  padding: 6px 8px;
+  text-align: center;
+  margin-top: 8px;
+  -x-offset: 8px; }
+
+.show-apps {
+  background-color: transparent;
+  color: #eeeeec; }
+  .show-apps .overview-icon {
+    color: #eeeeec; }
+  .show-apps:hover .overview-icon, .show-apps:focus .overview-icon, .show-apps:selected .overview-icon {
+    background-color: rgba(238, 238, 236, 0.1);
+    color: #eeeeec; }
+  .show-apps:drop .overview-icon {
+    background-color: rgba(27, 106, 203, 0.85); }
+  .show-apps:active .overview-icon, .show-apps:checked .overview-icon {
+    background-color: rgba(7, 7, 7, 0.96); }
+  .show-apps:checked .show-apps-icon, .show-apps:focus .show-apps-icon {
+    color: #eeeeec;
+    transition-duration: 100ms; }
+
+/* Modal Dialogs */
+.modal-dialog {
+  border-radius: 10px; }
+  .modal-dialog .modal-dialog-content-box {
+    padding: 24px; }
+  .modal-dialog .run-dialog-entry {
+    width: 20em;
+    margin-bottom: 6px; }
+  .modal-dialog .run-dialog-error-box {
+    padding-top: 16px;
+    spacing: 6px; }
+  .modal-dialog .run-dialog-button-box {
+    padding-top: 1em; }
+  .modal-dialog .run-dialog-label {
+    font-size: 12pt;
+    font-weight: normal;
+    color: #eeeeec;
+    padding-bottom: .4em; }
+
+.mount-dialog-subject,
+.end-session-dialog-subject {
+  font-size: 14pt; }
+
+/* Message Dialog */
+.message-dialog-main-layout {
+  padding: 12px 20px 0;
+  spacing: 12px; }
+
+.message-dialog-content {
+  max-width: 28em;
+  spacing: 20px; }
+
+.message-dialog-icon {
+  min-width: 3.27em;
+  icon-size: 3.27em; }
+
+.message-dialog-title {
+  font-weight: bold; }
+
+.message-dialog-subtitle {
+  color: #eeeeec;
+  font-weight: bold; }
+
+/* ShellMountOperation Dialogs */
+.shell-mount-operation-icon {
+  icon-size: 3.27em; }
+
+.mount-dialog {
+  spacing: 24px; }
+  .mount-dialog .message-dialog-title {
+    padding-top: 10px;
+    padding-left: 17px;
+    padding-bottom: 6px;
+    max-width: 34em; }
+  .mount-dialog .message-dialog-title:rtl {
+    padding-left: 0px;
+    padding-right: 17px; }
+  .mount-dialog .message-dialog-body {
+    padding-left: 17px;
+    width: 28em; }
+  .mount-dialog .message-dialog-body:rtl {
+    padding-left: 0px;
+    padding-right: 17px; }
+
+.mount-dialog-app-list {
+  max-height: 200px;
+  padding-top: 24px;
+  padding-left: 49px;
+  padding-right: 32px; }
+
+.mount-dialog-app-list:rtl {
+  padding-right: 49px;
+  padding-left: 32px; }
+
+.mount-dialog-app-list-item {
+  color: white; }
+  .mount-dialog-app-list-item:hover {
+    color: #eeeeec; }
+  .mount-dialog-app-list-item:ltr {
+    padding-right: 1em; }
+  .mount-dialog-app-list-item:rtl {
+    padding-left: 1em; }
+
+.mount-dialog-app-list-item-icon:ltr {
+  padding-right: 17px; }
+.mount-dialog-app-list-item-icon:rtl {
+  padding-left: 17px; }
+
+.mount-dialog-app-list-item-name {
+  font-size: 10pt; }
+
+/* Password or Authentication Dialog */
+.prompt-dialog {
+  width: 34em; }
+  .prompt-dialog .message-dialog-main-layout {
+    spacing: 24px;
+    padding: 10px; }
+  .prompt-dialog .message-dialog-content {
+    spacing: 24px; }
+  .prompt-dialog .message-dialog-title {
+    color: white; }
+
+.prompt-dialog-description:rtl {
+  text-align: right; }
+
+.prompt-dialog-password-box {
+  spacing: 1em;
+  padding-bottom: 1em; }
+
+.prompt-dialog-error-label, .prompt-dialog-caps-lock-warning {
+  font-size: 10pt;
+  color: #f57900;
+  padding-bottom: 8px; }
+
+.prompt-dialog-info-label {
+  font-size: 10pt;
+  padding-bottom: 8px; }
+
+.hidden {
+  color: rgba(0, 0, 0, 0); }
+
+.prompt-dialog-null-label {
+  font-size: 10pt;
+  padding-bottom: 8px; }
+
+.prompt-dialog-pim-box {
+  spacing: 1em; }
+
+.prompt-dialog-grid {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+.prompt-dialog-keyfiles-box {
+  spacing: 1em; }
+
+.prompt-dialog-button.button {
+  padding: 8px; }
+
+.prompt-dialog-caps-lock-warning {
+  padding-left: 6.2em; }
+
+/* Polkit Dialog */
+.polkit-dialog-user-layout {
+  padding-left: 10px;
+  spacing: 10px; }
+  .polkit-dialog-user-layout:rtl {
+    padding-left: 0px;
+    padding-right: 10px; }
+
+.polkit-dialog-user-root-label {
+  color: #f57900; }
+
+.polkit-dialog-user-icon {
+  border-radius: 99px;
+  background-size: contain;
+  width: 48px;
+  height: 48px; }
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+  spacing: 30px; }
+
+.audio-selection-content {
+  spacing: 20px;
+  padding: 24px; }
+
+.audio-selection-title {
+  font-weight: bold;
+  text-align: center; }
+
+.audio-selection-box {
+  spacing: 20px; }
+
+.audio-selection-device {
+  border: 1px solid #2d2d2d;
+  border-radius: 12px; }
+  .audio-selection-device:hover, .audio-selection-device:focus {
+    background-color: #424242; }
+  .audio-selection-device:active {
+    background-color: #1b6acb;
+    color: #fff; }
+
+.audio-selection-device-box {
+  padding: 20px;
+  spacing: 20px; }
+
+.audio-selection-device-icon {
+  icon-size: 4.36em; }
+
+/* Access Dialog */
+.access-dialog {
+  spacing: 30px; }
+
+/* Geolocation Dialog */
+.geolocation-dialog {
+  spacing: 30px; }
+
+/* Extension Dialog */
+.extension-dialog .message-dialog-main-layout {
+  spacing: 24px;
+  padding: 10px; }
+.extension-dialog .message-dialog-title {
+  font-weight: normal;
+  color: #eeeeec; }
+
+/* Inhibit-Shortcuts Dialog */
+.inhibit-shortcuts-dialog {
+  spacing: 30px; }
+
+/* Network Agent Dialog */
+.network-dialog-secret-table {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+.keyring-dialog-control-table {
+  spacing-rows: 15px;
+  spacing-columns: 1em; }
+
+/* End Session Dialog */
+.end-session-dialog {
+  spacing: 6px;
+  border: 1px solid #2d2d2d; }
+
+.end-session-dialog-list {
+  padding-top: 20px; }
+
+.end-session-dialog-layout {
+  padding-left: 17px; }
+  .end-session-dialog-layout:rtl {
+    padding-right: 17px; }
+
+.end-session-dialog-description {
+  width: 28em;
+  padding-bottom: 10px; }
+  .end-session-dialog-description:rtl {
+    text-align: right; }
+
+.end-session-dialog-warning {
+  width: 28em;
+  color: #f57900;
+  padding-top: 6px; }
+  .end-session-dialog-warning:rtl {
+    text-align: right; }
+
+.end-session-dialog-logout-icon {
+  border-radius: 99px;
+  width: 3.27em;
+  height: 3.27em;
+  background-size: contain; }
+
+.end-session-dialog-shutdown-icon {
+  color: #eeeeec;
+  width: 3.27em;
+  height: 3.27em; }
+
+.end-session-dialog-inhibitor-layout {
+  spacing: 24px;
+  max-height: 200px;
+  padding-right: 65px;
+  padding-left: 65px; }
+
+.end-session-dialog-session-list,
+.end-session-dialog-app-list {
+  spacing: 1em; }
+
+.end-session-dialog-list-header {
+  font-weight: bold; }
+  .end-session-dialog-list-header:rtl {
+    text-align: right; }
+
+.end-session-dialog-app-list-item,
+.end-session-dialog-session-list-item {
+  spacing: 1em; }
+
+.end-session-dialog-app-list-item-name,
+.end-session-dialog-session-list-item-name {
+  font-weight: bold; }
+
+.end-session-dialog-app-list-item-description {
+  color: #e2e2df;
+  font-size: 10pt; }
+
+/* Entries */
+StEntry {
+  border-radius: 5px;
+  padding: 4px;
+  border-width: 1px;
+  color: #eeeeec;
+  background-color: #2d2c2e;
+  border-color: #202020;
+  selection-background-color: #1b6acb;
+  selected-color: #fff; }
+  StEntry:focus {
+    border-color: rgba(154, 154, 142, 0.5); }
+  StEntry:insensitive {
+    color: #929291;
+    border-color: #323132;
+    box-shadow: none; }
+  StEntry StIcon.capslock-warning {
+    icon-size: 16px;
+    warning-color: #f57900;
+    padding: 0 4px; }
+  StEntry StIcon.peek-password {
+    icon-size: 1.09em;
+    padding: 0 4px; }
+
+.hotplug-transient-box {
+  spacing: 6px;
+  padding: 2px 72px 2px 12px; }
+
+.hotplug-notification-item {
+  border: none;
+  box-shadow: none;
+  padding: 2px 10px; }
+  .hotplug-notification-item:focus {
+    padding: 1px 71px 1px 11px; }
+
+.hotplug-notification-item-icon {
+  icon-size: 24px;
+  padding: 2px 5px; }
+
+.hotplug-resident-box {
+  spacing: 12px; }
+
+.hotplug-resident-mount {
+  spacing: 12px;
+  border-radius: 4px; }
+  .hotplug-resident-mount:hover {
+    background-color: #424242; }
+
+.hotplug-resident-mount-label {
+  color: inherit;
+  padding-left: 6px; }
+
+.hotplug-resident-mount-icon {
+  icon-size: 24px;
+  padding-left: 6px; }
+
+.hotplug-resident-eject-icon {
+  icon-size: 16px; }
+
+.hotplug-resident-eject-button {
+  padding: 7px;
+  border-radius: 5px;
+  color: pink; }
+
+.candidate-popup-content {
+  padding: 0.5em;
+  spacing: 0.3em; }
+
+.candidate-index {
+  padding: 0 0.5em 0 0;
+  color: #d6d6d1; }
+
+.candidate-box {
+  padding: 0.3em 0.5em 0.3em 0.5em;
+  border-radius: 5px; }
+  .candidate-box:selected, .candidate-box:hover {
+    background-color: #1b6acb;
+    color: #fff; }
+
+.candidate-page-button-box {
+  height: 2em; }
+  .vertical .candidate-page-button-box {
+    padding-top: 0.5em; }
+  .horizontal .candidate-page-button-box {
+    padding-left: 0.5em; }
+
+.candidate-page-button {
+  padding: 4px; }
+
+.candidate-page-button-previous {
+  border-radius: 5px 0px 0px 5px;
+  border-right-width: 0; }
+
+.candidate-page-button-next {
+  border-radius: 0px 5px 5px 0px; }
+
+.candidate-page-button-icon {
+  icon-size: 1em; }
+
+/* On-screen Keyboard */
+.keyboard-key, .keyboard-subkeys .keyboard-key {
+  color: #eeeeec;
+  background-color: #3c3c3c !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #2b2b2b;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .keyboard-key:focus {
+    color: #eeeeec;
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    box-shadow: inset 0 0 0 2px rgba(27, 106, 203, 0.3); }
+  .keyboard-key:hover, .keyboard-key:checked {
+    color: #eeeeec;
+    background-color: #424242 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #2b2b2b;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .keyboard-key:active {
+    color: #eeeeec;
+    background-color: #2d2d2d !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #191919;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+#keyboard {
+  background-color: rgba(32, 32, 32, 0.9);
+  box-shadow: inset 0 1px 0 0 rgba(50, 50, 50, 0.96) !important; }
+  #keyboard .page-indicator {
+    padding: 6px; }
+    #keyboard .page-indicator .page-indicator-icon {
+      width: 6px;
+      height: 6px; }
+      #keyboard .page-indicator .page-indicator-icon:checked {
+        background-color: red; }
+
+.key-container {
+  padding: 4px;
+  spacing: 4px; }
+
+.keyboard-key {
+  font-size: 16pt;
+  min-height: 1.2em;
+  min-width: 1.2em;
+  border-radius: 8px; }
+  .keyboard-key:grayed {
+    background-color: #2d2d2d;
+    color: #eeeeec;
+    border-color: rgba(0, 0, 0, 0.3); }
+  .keyboard-key.default-key {
+    background-size: 24px;
+    color: #eeeeec;
+    background-color: rgba(45, 45, 45, 0.96) !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: rgba(27, 27, 27, 0.96);
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1) !important; }
+    .keyboard-key.default-key:hover, .keyboard-key.default-key:checked {
+      color: #eeeeec;
+      background-color: rgba(50, 50, 50, 0.96) !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: rgba(27, 27, 27, 0.96);
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+      text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+    .keyboard-key.default-key:active {
+      color: #eeeeec;
+      background-color: rgba(30, 30, 30, 0.96) !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: rgba(9, 9, 9, 0.96);
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none; }
+  .keyboard-key.enter-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
+    color: #fff;
+    background-color: #1d72d8 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #1961b9;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1) !important; }
+    .keyboard-key.enter-key:hover, .keyboard-key.enter-key:checked {
+      color: #eeeeec;
+      background-color: #2c7fe3 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #1b68c6;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+      text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+    .keyboard-key.enter-key:active {
+      color: #eeeeec;
+      background-color: #185fb4 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #134c90;
+      text-shadow: none;
+      icon-shadow: none;
+      box-shadow: none; }
+  .keyboard-key.shift-key-lowercase {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift.svg"); }
+  .keyboard-key.shift-key-uppercase {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg"); }
+  .keyboard-key.shift-key-uppercase:latched {
+    background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg"); }
+  .keyboard-key.hide-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-hide.svg"); }
+  .keyboard-key.layout-key {
+    background-image: url("resource:///org/gnome/shell/theme/key-layout.svg"); }
+
+.keyboard-subkeys {
+  color: #eeeeec;
+  -arrow-border-radius: 10px;
+  -arrow-background-color: rgba(32, 32, 32, 0.96);
+  -arrow-border-width: 1px;
+  -arrow-border-color: rgba(55, 55, 55, 0.96);
+  -arrow-base: 20px;
+  -arrow-rise: 10px;
+  -boxpointer-gap: 6px; }
+  .keyboard-subkeys .keyboard-key {
+    border-radius: 5px; }
+
+.emoji-page .keyboard-key {
+  background-color: transparent;
+  border: none;
+  color: initial; }
+
+.emoji-panel .keyboard-key:latched {
+  border-color: #1f76e1;
+  background-color: #1b6acb; }
+
+.word-suggestions {
+  font-size: 14pt;
+  spacing: 12px;
+  min-height: 20pt; }
+
+/* Login Dialog */
+.login-dialog-banner-view {
+  padding-top: 24px;
+  max-width: 23em; }
+
+.login-dialog {
+  border: none;
+  background-color: transparent; }
+  .login-dialog StEntry {
+    border-radius: 5px;
+    background-color: rgba(45, 44, 46, 0.5);
+    border-color: rgba(45, 44, 46, 0.5);
+    color: #eeeeec; }
+  .login-dialog .modal-dialog-button-box {
+    spacing: 3px; }
+  .login-dialog .modal-dialog-button {
+    padding: 4px 18px;
+    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+    background-color: #5b666a;
+    border-color: #5b666a;
+    color: #eeeeec; }
+    .login-dialog .modal-dialog-button:hover, .login-dialog .modal-dialog-button:focus {
+      background-color: #667478;
+      border-color: #667478; }
+    .login-dialog .modal-dialog-button:active {
+      box-shadow: none;
+      background-color: #4f595d;
+      border-color: #4f595d; }
+    .login-dialog .modal-dialog-button:insensitive {
+      color: #929291;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #252526;
+      background-color: #323132 !important;
+      box-shadow: none;
+      text-shadow: none;
+      icon-shadow: none;
+      border-color: #4f595d;
+      background-color: #4f595d;
+      color: rgba(238, 238, 236, 0.7); }
+    .login-dialog .modal-dialog-button:default {
+      color: #fff;
+      background-color: #1d72d8 !important;
+      border-width: 1px;
+      border-style: solid;
+      border-color: #1961b9;
+      box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+      text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+      border-color: #1b6acb; }
+      .login-dialog .modal-dialog-button:default:hover, .login-dialog .modal-dialog-button:default:focus {
+        color: #fff;
+        background-color: #1f76e1 !important;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #1961b9;
+        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+        text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+        icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+        background-color: #1f76e1;
+        border-color: #1f76e1; }
+      .login-dialog .modal-dialog-button:default:active {
+        color: #fff;
+        background-color: #1963bd !important;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #155099;
+        text-shadow: none;
+        icon-shadow: none;
+        box-shadow: none;
+        background-color: #185fb4;
+        border-color: #185fb4; }
+      .login-dialog .modal-dialog-button:default:insensitive {
+        color: #929291;
+        border-width: 1px;
+        border-style: solid;
+        border-color: #252526;
+        background-color: #323132 !important;
+        box-shadow: none;
+        text-shadow: none;
+        icon-shadow: none;
+        border-color: #15539e;
+        background-color: #15539e;
+        color: rgba(255, 255, 255, 0.7); }
+
+.login-dialog-logo-bin {
+  padding: 24px 0px; }
+
+.login-dialog-banner {
+  color: #d6d6d1; }
+
+.login-dialog-button-box {
+  spacing: 5px; }
+
+.login-dialog-message-warning {
+  color: #f57900; }
+
+.login-dialog-message-hint {
+  padding-top: 0;
+  padding-bottom: 20px; }
+
+.login-dialog-user-selection-box {
+  padding: 100px 0px; }
+
+.login-dialog-not-listed-label {
+  padding-left: 2px; }
+  .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, 
.login-dialog-not-listed-button:hover .login-dialog-not-listed-label {
+    color: #eeeeec; }
+
+.login-dialog-not-listed-label {
+  font-size: 90%;
+  font-weight: bold;
+  color: #a6a69b;
+  padding-top: 1em; }
+
+.login-dialog-user-list-view {
+  -st-vfade-offset: 1em; }
+
+.login-dialog-user-list {
+  spacing: 12px;
+  width: 23em; }
+  .login-dialog-user-list:expanded .login-dialog-user-list-item:selected {
+    background-color: #1b6acb;
+    color: #fff; }
+  .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in {
+    border-right: 2px solid #1b6acb; }
+
+.login-dialog-user-list-item {
+  border-radius: 5px;
+  padding: 6px;
+  color: #a6a69b; }
+  .login-dialog-user-list-item:ltr .user-widget {
+    padding-right: 1em; }
+  .login-dialog-user-list-item:rtl .user-widget {
+    padding-left: 1em; }
+  .login-dialog-user-list-item .login-dialog-timed-login-indicator {
+    height: 2px;
+    margin-top: 6px;
+    background-color: #eeeeec; }
+  .login-dialog-user-list-item:focus .login-dialog-timed-login-indicator {
+    background-color: #fff; }
+
+.login-dialog-username,
+.user-widget-label {
+  color: #eeeeec;
+  font-size: 120%;
+  font-weight: bold;
+  text-align: left;
+  padding-left: 15px; }
+
+.user-widget-label:ltr {
+  padding-left: 14px; }
+.user-widget-label:rtl {
+  padding-right: 14px; }
+
+.login-dialog-prompt-layout {
+  padding-top: 24px;
+  padding-bottom: 12px;
+  spacing: 12px;
+  width: 23em; }
+
+.login-dialog-prompt-label {
+  color: #bebeb6;
+  font-size: 110%;
+  padding-top: 1em; }
+
+.login-dialog-session-list-button StIcon {
+  icon-size: 1.25em; }
+
+.login-dialog-session-list-button {
+  color: #a6a69b; }
+  .login-dialog-session-list-button:hover, .login-dialog-session-list-button:focus {
+    color: #eeeeec; }
+  .login-dialog-session-list-button:active {
+    color: #747467; }
+
+/* Looking Glass */
+#LookingGlassDialog {
+  background-color: rgba(32, 32, 32, 0.96);
+  spacing: 6px;
+  padding: 4px;
+  border: 2px solid rgba(238, 238, 236, 0.2);
+  border-top-width: 0;
+  border-radius: 0 0 5px 5px; }
+  #LookingGlassDialog > #Toolbar {
+    border: none;
+    border-radius: 5px;
+    background-color: rgba(7, 7, 7, 0.96); }
+  #LookingGlassDialog .labels {
+    spacing: 6px; }
+  #LookingGlassDialog .notebook-tab {
+    -natural-hpadding: 12px;
+    -minimum-hpadding: 6px;
+    font-weight: bold;
+    color: #eeeeec;
+    transition-duration: 100ms;
+    padding-left: .3em;
+    padding-right: .3em; }
+    #LookingGlassDialog .notebook-tab:hover {
+      color: white;
+      text-shadow: black 0px 2px 2px; }
+    #LookingGlassDialog .notebook-tab:selected {
+      border-bottom-width: 2px;
+      border-color: #1f76e1;
+      color: white;
+      text-shadow: black 0px 2px 2px; }
+  #LookingGlassDialog StBoxLayout#EvalBox {
+    padding: 4px;
+    spacing: 6px; }
+  #LookingGlassDialog StBoxLayout#ResultsArea {
+    spacing: 6px; }
+
+.lg-dialog StEntry {
+  selection-background-color: #bbbbbb;
+  selected-color: rgba(32, 32, 32, 0.96); }
+.lg-dialog .shell-link {
+  color: #999999; }
+  .lg-dialog .shell-link:hover {
+    color: #dddddd; }
+
+.lg-completions-text {
+  font-size: .9em;
+  font-style: italic; }
+
+.lg-obj-inspector-title {
+  spacing: 6px; }
+
+.lg-obj-inspector-button {
+  border: 1px solid gray;
+  padding: 4px;
+  border-radius: 5px; }
+  .lg-obj-inspector-button:hover {
+    border: 1px solid #ffffff; }
+
+#lookingGlassExtensions {
+  padding: 4px; }
+
+.lg-extensions-list {
+  padding: 4px;
+  spacing: 6px; }
+
+.lg-extension {
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  border-radius: 5px;
+  padding: 4px; }
+
+.lg-extension-name {
+  font-weight: bold; }
+
+.lg-extension-meta {
+  spacing: 6px; }
+
+#LookingGlassPropertyInspector {
+  background: rgba(32, 32, 32, 0.96);
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  border-radius: 5px;
+  padding: 6px; }
+
+/* Message List */
+.message-list {
+  width: 31.5em;
+  padding: 0 12px; }
+
+.message-list-sections {
+  margin: 0;
+  spacing: 6px; }
+
+.message-list-section,
+.message-list-section-list {
+  spacing: 6px; }
+
+.message-list-section-list:ltr {
+  padding: 0; }
+.message-list-section-list:rtl {
+  padding: 0; }
+
+.message-list-clear-button {
+  margin: 4px; }
+
+.message .message-title {
+  color: #eeeeec;
+  font-weight: bold;
+  margin-bottom: 4px; }
+.message .message-content {
+  color: #d6d6d1;
+  padding: 6px 0;
+  margin: 8px; }
+  .message .message-content:ltr {
+    margin-left: 4px;
+    padding-right: 6px; }
+  .message .message-content:rtl {
+    margin-right: 4px;
+    padding-left: 6px; }
+.message .message-close-button {
+  color: white; }
+  .message .message-close-button:hover {
+    color: #d6d6d1; }
+.message .message-icon-bin {
+  margin: 6px 0; }
+  .message .message-icon-bin > StIcon {
+    color: #eeeeec;
+    icon-size: 2.18em;
+    -st-icon-style: symbolic;
+    padding: 0;
+    margin: 6px; }
+  .message .message-icon-bin > .fallback-window-icon {
+    width: 1.09em;
+    height: 1.09em; }
+.message .message-secondary-bin {
+  padding: 0; }
+  .message .message-secondary-bin > .event-time {
+    color: rgba(238, 238, 236, 0.5);
+    font-size: 80%;
+    text-align: right;
+    margin: 0 8px;
+    /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
+    padding-bottom: 6px; }
+
+/* Media Controls */
+.message-media-control {
+  padding: 12px 24px;
+  color: #cacac4; }
+  .message-media-control:hover {
+    background-color: #4e4e4e;
+    color: #eeeeec; }
+  .message-media-control:active {
+    background-color: #3c3c3c;
+    color: #eeeeec; }
+  .message-media-control:insensitive {
+    color: #8e8e80; }
+  .message-media-control:last-child:ltr:hover {
+    border-radius: 0 7px 7px 0; }
+  .message-media-control:last-child:rtl:hover {
+    border-radius: 7px 0 0 7px; }
+
+.media-message-cover-icon {
+  icon-size: 2.18em !important;
+  border-radius: 5px; }
+  .media-message-cover-icon.fallback {
+    color: #c5c5be;
+    background-color: #353535;
+    border: 1px solid transparent;
+    border-radius: 5px;
+    icon-size: 2.18em !important;
+    padding: 12px; }
+
+/* Notifications & Mesage Tray */
+.notification-banner {
+  min-height: 64px;
+  width: 34em;
+  font-size: 11;
+  margin: 4px;
+  border-radius: 10px; }
+  .notification-banner .message-title {
+    color: #eeeeec; }
+  .notification-banner .message-content {
+    color: #eeeeec; }
+  .notification-banner:hover {
+    background: #353535; }
+  .notification-banner, .notification-banner:focus, .notification-banner:active {
+    background-color: #353535; }
+    .notification-banner .message-title, .notification-banner:focus .message-title, 
.notification-banner:active .message-title {
+      color: #eeeeec; }
+    .notification-banner .message-content, .notification-banner:focus .message-content, 
.notification-banner:active .message-content {
+      color: #eeeeec; }
+  .notification-banner .message-icon-bin > StIcon {
+    icon-size: 2.18em;
+    color: #eeeeec; }
+  .notification-banner .notification-icon {
+    padding: 5px; }
+  .notification-banner .notification-content {
+    padding: 5px;
+    spacing: 5px; }
+  .notification-banner .secondary-icon {
+    icon-size: 1.09em; }
+  .notification-banner .notification-actions {
+    padding-top: 0;
+    color: #eeeeec;
+    border-top: 1px solid #2d2d2d;
+    spacing: 0; }
+  .notification-banner .notification-button {
+    min-height: 32px;
+    padding: 6px !important;
+    border-top-width: 0 !important; }
+    .notification-banner .notification-button:focus {
+      box-shadow: none; }
+
+.summary-source-counter {
+  font-size: 10pt;
+  font-weight: bold;
+  height: 1.6em;
+  width: 1.6em;
+  -shell-counter-overlap-x: 3px;
+  -shell-counter-overlap-y: 3px;
+  background-color: #1b6acb;
+  color: #fff;
+  border: 2px solid #eeeeec;
+  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
+  border-radius: 0.9em; }
+
+.secondary-icon {
+  icon-size: 1.09em; }
+
+.chat-body {
+  spacing: 5px; }
+
+.chat-response {
+  margin: 5px; }
+
+.chat-log-message {
+  color: #d6d6d1; }
+
+.chat-new-group {
+  padding-top: 1em; }
+
+.chat-received {
+  padding-left: 4px; }
+  .chat-received:rtl {
+    padding-left: 0px;
+    padding-right: 4px; }
+
+.chat-sent {
+  padding-left: 18pt;
+  color: white; }
+  .chat-sent:rtl {
+    padding-left: 0;
+    padding-right: 18pt; }
+
+.chat-meta-message {
+  padding-left: 4px;
+  font-size: 9pt;
+  font-weight: bold;
+  color: white; }
+  .chat-meta-message:rtl {
+    padding-left: 0;
+    padding-right: 4px; }
+
+.shell-link {
+  color: #629fea; }
+  .shell-link:hover {
+    color: #8fbbf0; }
+
+.url-highlighter {
+  link-color: #629fea; }
+
+.select-area-rubberband {
+  background-color: rgba(27, 106, 203, 0.3);
+  border: 1px solid #1b6acb; }
+
+.pie-timer {
+  width: 60px;
+  height: 60px;
+  -pie-border-width: 3px;
+  -pie-border-color: #1b6acb;
+  -pie-background-color: rgba(188, 214, 246, 0.3); }
+
+.magnifier-zoom-region {
+  border: 2px solid #1b6acb; }
+  .magnifier-zoom-region.full-screen {
+    border-width: 0; }
+
+.user-icon {
+  background-size: contain;
+  color: #eeeeec;
+  border-radius: 99px; }
+  .user-icon:hover {
+    color: white; }
+
+.input-source-switcher-symbol {
+  font-size: 34pt;
+  width: 96px;
+  height: 96px; }
+
+.cycler-highlight {
+  border: 5px solid #1b6acb; }
+
+.headline {
+  font-size: 110%; }
+
+.lightbox {
+  background-color: black; }
+
+.flashspot {
+  background-color: white; }
+
+/* Network Dialogs */
+.nm-dialog {
+  max-height: 34em;
+  min-height: 31em;
+  min-width: 32em; }
+
+.nm-dialog-content {
+  spacing: 20px;
+  padding: 24px; }
+
+.nm-dialog-airplane-box {
+  spacing: 12px; }
+
+.nm-dialog-airplane-headline {
+  font-weight: bold;
+  text-align: center; }
+
+.nm-dialog-airplane-text {
+  color: #eeeeec; }
+
+.nm-dialog-header {
+  font-weight: bold; }
+
+.nm-dialog-header-icon {
+  icon-size: 2.18em; }
+
+.nm-dialog-header-hbox {
+  spacing: 10px; }
+
+.nm-dialog-scroll-view {
+  border: 1px solid #202020;
+  padding: 0;
+  background-color: #2d2d2d; }
+
+.nm-dialog-item {
+  font-size: 11;
+  border-bottom: 1px solid #202020;
+  padding: 12px;
+  spacing: 0px; }
+  .nm-dialog-item:selected {
+    background-color: #1b6acb;
+    color: #fff; }
+
+.nm-dialog-icon {
+  icon-size: 1.09em; }
+
+.nm-dialog-icons {
+  spacing: 12px; }
+
+.no-networks-label {
+  color: #929291; }
+
+.no-networks-box {
+  spacing: 6px; }
+
+/* OSD */
+.osd-window {
+  text-align: center;
+  font-weight: bold;
+  spacing: 1em;
+  margin: 32px;
+  min-width: 64px;
+  min-height: 64px; }
+  .osd-window .osd-monitor-label {
+    font-size: 3em; }
+  .osd-window .level {
+    height: 0.6em;
+    -barlevel-height: 0.6em;
+    -barlevel-background-color: rgba(238, 238, 236, 0.1);
+    -barlevel-active-background-color: #eeeeec;
+    -barlevel-overdrive-color: #b2161d;
+    -barlevel-overdrive-separator-width: 0.2em; }
+
+/* Pad OSD */
+.pad-osd-window {
+  padding: 32px;
+  background-color: rgba(0, 0, 0, 0.8); }
+  .pad-osd-window .pad-osd-title-box {
+    spacing: 12px; }
+  .pad-osd-window .pad-osd-title-menu-box {
+    spacing: 6px; }
+
+.combo-box-label {
+  width: 15em; }
+
+/* OVERVIEW */
+#overview {
+  spacing: 24px;
+  background-color: transparent; }
+
+.overview-controls {
+  padding-bottom: 32px; }
+
+/* Top Bar */
+#panel {
+  background-color: #000;
+  font-weight: bold;
+  height: 1.86em;
+  font-feature-settings: "tnum"; }
+  #panel.unlock-screen, #panel.login-screen, #panel.lock-screen {
+    background-color: transparent; }
+    #panel.unlock-screen .panel-corner, #panel.login-screen .panel-corner, #panel.lock-screen .panel-corner {
+      -panel-corner-radius: 0;
+      -panel-corner-background-color: transparent;
+      -panel-corner-border-color: transparent; }
+  #panel #panelLeft, #panel #panelCenter {
+    spacing: 6px; }
+  #panel .panel-corner {
+    -panel-corner-radius: 6px;
+    -panel-corner-background-color: #000;
+    -panel-corner-border-width: 2px;
+    -panel-corner-border-color: transparent; }
+    #panel .panel-corner:active, #panel .panel-corner:overview, #panel .panel-corner:focus {
+      -panel-corner-border-color: #1f76e1; }
+  #panel .panel-button {
+    font-weight: bold;
+    color: #d6d6d1;
+    -natural-hpadding: 12px;
+    -minimum-hpadding: 6px; }
+    #panel .panel-button:hover {
+      color: white; }
+    #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel 
.panel-button:checked {
+      background-color: #000;
+      box-shadow: inset 0 -2px 0 0 #1f76e1;
+      color: white; }
+    #panel .panel-button .system-status-icon {
+      icon-size: 1.09em;
+      padding: 5px; }
+    #panel .panel-button .app-menu-icon {
+      margin-left: 4px;
+      margin-right: 4px;
+      -st-icon-style: symbolic; }
+    .unlock-screen #panel .panel-button, .login-screen #panel .panel-button, .lock-screen #panel 
.panel-button {
+      color: white; }
+      .unlock-screen #panel .panel-button:focus, .unlock-screen #panel .panel-button:hover, .unlock-screen 
#panel .panel-button:active, .login-screen #panel .panel-button:focus, .login-screen #panel 
.panel-button:hover, .login-screen #panel .panel-button:active, .lock-screen #panel .panel-button:focus, 
.lock-screen #panel .panel-button:hover, .lock-screen #panel .panel-button:active {
+        color: white; }
+  #panel .panel-status-indicators-box,
+  #panel .panel-status-menu-box {
+    spacing: 2px; }
+  #panel .power-status.panel-status-indicators-box {
+    spacing: 0; }
+  #panel .screencast-indicator,
+  #panel .remote-access-indicator {
+    color: #f57900; }
+
+#appMenu {
+  spacing: 6px; }
+  #appMenu .label-shadow {
+    color: transparent; }
+
+/* Popovers/Menus */
+.popup-menu-boxpointer,
+.candidate-popup-boxpointer {
+  -arrow-border-radius: 9px;
+  -arrow-background-color: #353535;
+  -arrow-border-width: 1px;
+  -arrow-border-color: #202020;
+  -arrow-base: 24px;
+  -arrow-rise: 12px;
+  -arrow-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
+
+.popup-menu {
+  min-width: 15em;
+  color: #eeeeec; }
+  .popup-menu.panel-menu {
+    -boxpointer-gap: 4px;
+    margin-bottom: 1.75em; }
+
+.popup-menu-content {
+  padding: 16px 0; }
+
+.popup-menu-item {
+  spacing: 6px;
+  padding: 6px; }
+  .popup-menu-item:ltr {
+    padding-right: 1.75em;
+    padding-left: 0; }
+  .popup-menu-item:rtl {
+    padding-right: 0;
+    padding-left: 1.75em; }
+  .popup-menu-item:checked {
+    background-color: #3a3a3a;
+    box-shadow: none; }
+  .popup-menu-item.selected {
+    background-color: rgba(255, 255, 255, 0.1);
+    color: #eeeeec; }
+  .popup-menu-item:active {
+    background-color: #1b6acb;
+    color: #fff; }
+  .popup-menu-item:insensitive {
+    color: rgba(238, 238, 236, 0.5); }
+
+.popup-inactive-menu-item {
+  color: #eeeeec; }
+  .popup-inactive-menu-item:insensitive {
+    color: rgba(238, 238, 236, 0.5); }
+
+.popup-menu-arrow,
+.popup-menu-icon {
+  icon-size: 1.09em; }
+
+.popup-sub-menu {
+  background-color: #2d2d2d;
+  box-shadow: none;
+  border-top: 1px solid rgba(32, 32, 32, 0.8);
+  border-bottom: 1px solid rgba(32, 32, 32, 0.8); }
+  .popup-sub-menu .popup-menu-item:hover {
+    background-color: #232323; }
+
+.popup-menu-ornament {
+  text-align: right;
+  width: 1.2em; }
+
+.popup-separator-menu-item {
+  height: 1px;
+  margin: 6px 64px;
+  background-color: #262626;
+  border: none !important; }
+
+.background-menu {
+  -boxpointer-gap: 4px;
+  -arrow-rise: 0px; }
+
+.aggregate-menu {
+  min-width: 21em; }
+  .aggregate-menu .popup-menu-icon {
+    padding: 0;
+    margin: 0 4px;
+    -st-icon-style: symbolic; }
+  .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:ltr {
+    padding-left: 14px;
+    margin-left: 1.09em; }
+  .aggregate-menu .popup-sub-menu .popup-menu-item > :first-child:rtl {
+    padding-right: 14px;
+    margin-right: 1.09em; }
+
+/* Screen Shield */
+.screen-shield-arrows {
+  padding-bottom: 3em; }
+
+.screen-shield-arrows Gjs_Arrow {
+  color: white;
+  width: 80px;
+  height: 48px;
+  -arrow-thickness: 12px;
+  -arrow-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726); }
+
+.screen-shield-clock {
+  color: white;
+  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+  font-weight: bold;
+  text-align: center;
+  padding-bottom: 1.5em; }
+
+.screen-shield-clock-time {
+  font-size: 72pt;
+  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
+  font-feature-settings: "tnum"; }
+
+.screen-shield-clock-date {
+  font-size: 28pt;
+  font-weight: normal; }
+
+.screen-shield-notifications-container {
+  spacing: 6px;
+  width: 30em;
+  background-color: transparent;
+  max-height: 500px; }
+  .screen-shield-notifications-container .summary-notification-stack-scrollview {
+    padding-top: 0;
+    padding-bottom: 0; }
+  .screen-shield-notifications-container .notification,
+  .screen-shield-notifications-container .screen-shield-notification-source {
+    padding: 12px 6px;
+    border: 1px solid rgba(50, 50, 50, 0.96);
+    background-color: rgba(32, 32, 32, 0.46);
+    color: #eeeeec;
+    border-radius: 4px; }
+  .screen-shield-notifications-container .notification {
+    margin-right: 15px; }
+
+.screen-shield-notification-label {
+  font-weight: bold;
+  padding: 0px 0px 0px 12px; }
+
+.screen-shield-notification-count-text {
+  padding: 0px 0px 0px 12px; }
+
+#panel.lock-screen {
+  background-color: rgba(32, 32, 32, 0.46); }
+
+.screen-shield-background {
+  background: black;
+  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.6); }
+
+#lockDialogGroup {
+  background: #41494c url(resource:///org/gnome/shell/theme/noise-texture.png);
+  background-repeat: repeat; }
+
+#screenShieldNotifications StButton#vhandle, #screenShieldNotifications StButton#hhandle {
+  background-color: rgba(53, 53, 53, 0.3); }
+  #screenShieldNotifications StButton#vhandle:hover, #screenShieldNotifications StButton#vhandle:focus, 
#screenShieldNotifications StButton#hhandle:hover, #screenShieldNotifications StButton#hhandle:focus {
+    background-color: rgba(53, 53, 53, 0.5); }
+  #screenShieldNotifications StButton#vhandle:active, #screenShieldNotifications StButton#hhandle:active {
+    background-color: rgba(27, 106, 203, 0.5); }
+
+/* Scrollbars */
+StScrollView.vfade {
+  -st-vfade-offset: 68px; }
+StScrollView.hfade {
+  -st-hfade-offset: 68px; }
+
+StScrollBar {
+  padding: 0; }
+  StScrollView StScrollBar {
+    min-width: 14px;
+    min-height: 14px; }
+  StScrollBar StBin#trough {
+    border-radius: 0;
+    background-color: transparent; }
+  StScrollBar StButton#vhandle, StScrollBar StButton#hhandle {
+    border-radius: 8px;
+    background-color: #a4a4a3;
+    margin: 3px; }
+    StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover {
+      background-color: #c9c9c7; }
+    StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active {
+      background-color: #1b6acb; }
+
+.login-dialog StEntry,
+.search-entry {
+  width: 320px;
+  padding: 7px 9px;
+  border-radius: 18px;
+  color: rgba(238, 238, 236, 0.7);
+  background-color: #353535;
+  border-color: #202020; }
+  .login-dialog StEntry:hover,
+  .search-entry:hover {
+    background-color: #424242;
+    border-color: #282828;
+    color: #fafaf9; }
+  .login-dialog StEntry:focus,
+  .search-entry:focus {
+    padding: 6px 8px;
+    border-width: 2px;
+    color: #eeeeec;
+    border-color: #1b6acb;
+    box-shadow: inset 0 1px 2px 1px rgba(0, 0, 0, 0.2); }
+  .login-dialog StEntry .search-entry-icon,
+  .search-entry .search-entry-icon {
+    icon-size: 1.09em;
+    padding: 0 4px;
+    color: inherit; }
+
+/* Search */
+.search-section {
+  background-color: rgba(45, 45, 45, 0.76);
+  border-radius: 13px;
+  border: 1px solid rgba(50, 50, 50, 0.96);
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  color: #eeeeec;
+  padding: 18px;
+  margin: 4px; }
+
+#searchResultsContent {
+  max-width: 1024px; }
+
+.search-section {
+  spacing: 0;
+  margin-top: 0;
+  margin-bottom: 0; }
+  .search-section:first-child .search-section-separator, .search-section:last-child 
.search-section-separator {
+    background-color: transparent; }
+  .search-section .search-section-separator {
+    height: 0px;
+    background-color: transparent; }
+  .search-section .search-section-content {
+    spacing: 0; }
+
+.grid-search-result > .overview-icon {
+  color: #eeeeec; }
+.grid-search-result > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+.grid-search-result:hover .overview-icon, .grid-search-result:focus .overview-icon, 
.grid-search-result:selected .overview-icon {
+  background-color: rgba(32, 32, 32, 0.16);
+  color: #eeeeec; }
+.grid-search-result:drop .overview-icon {
+  background-color: rgba(27, 106, 203, 0.85); }
+.grid-search-result:active .overview-icon, .grid-search-result:checked .overview-icon {
+  background-color: rgba(7, 7, 7, 0.46); }
+
+.search-provider-icon {
+  padding: 0;
+  spacing: 0;
+  margin-right: 8px; }
+  .search-provider-icon:focus, .search-provider-icon:selected, .search-provider-icon:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .search-provider-icon:active, .search-provider-icon:checked {
+    background-color: rgba(7, 7, 7, 0.86); }
+  .search-provider-icon .list-search-provider-content {
+    spacing: 12px; }
+    .search-provider-icon .list-search-provider-content .list-search-provider-details {
+      width: 120px;
+      margin-top: 0;
+      color: #dbdbd6; }
+
+.list-search-results {
+  spacing: 6px; }
+
+.list-search-result {
+  spacing: 0;
+  padding: 6px;
+  color: #eeeeec; }
+  .list-search-result:focus, .list-search-result:selected, .list-search-result:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .list-search-result:active, .list-search-result:checked {
+    background-color: rgba(7, 7, 7, 0.86); }
+  .list-search-result .list-search-result-content {
+    spacing: 0; }
+  .list-search-result .list-search-result-title {
+    color: #eeeeec;
+    spacing: 12px;
+    padding-right: 6px; }
+  .list-search-result .list-search-result-description {
+    color: #a6a69b; }
+
+/* Search */
+.search-section {
+  background-color: rgba(45, 45, 45, 0.76);
+  border-radius: 13px;
+  border: 1px solid rgba(50, 50, 50, 0.96);
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  color: #eeeeec;
+  padding: 18px;
+  margin: 4px; }
+
+#searchResultsContent {
+  max-width: 1024px; }
+
+.search-section {
+  spacing: 0;
+  margin-top: 0;
+  margin-bottom: 0; }
+  .search-section:first-child .search-section-separator, .search-section:last-child 
.search-section-separator {
+    background-color: transparent; }
+  .search-section .search-section-separator {
+    height: 0px;
+    background-color: transparent; }
+  .search-section .search-section-content {
+    spacing: 0; }
+
+.grid-search-result > .overview-icon {
+  color: #eeeeec; }
+.grid-search-result > .overview-icon.overview-icon-with-label {
+  padding: 10px 8px 5px 8px;
+  spacing: 6px; }
+.grid-search-result:hover .overview-icon, .grid-search-result:focus .overview-icon, 
.grid-search-result:selected .overview-icon {
+  background-color: rgba(32, 32, 32, 0.16);
+  color: #eeeeec; }
+.grid-search-result:drop .overview-icon {
+  background-color: rgba(27, 106, 203, 0.85); }
+.grid-search-result:active .overview-icon, .grid-search-result:checked .overview-icon {
+  background-color: rgba(7, 7, 7, 0.46); }
+
+.search-provider-icon {
+  padding: 0;
+  spacing: 0;
+  margin-right: 8px; }
+  .search-provider-icon:focus, .search-provider-icon:selected, .search-provider-icon:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .search-provider-icon:active, .search-provider-icon:checked {
+    background-color: rgba(7, 7, 7, 0.86); }
+  .search-provider-icon .list-search-provider-content {
+    spacing: 12px; }
+    .search-provider-icon .list-search-provider-content .list-search-provider-details {
+      width: 120px;
+      margin-top: 0;
+      color: #dbdbd6; }
+
+.list-search-results {
+  spacing: 6px; }
+
+.list-search-result {
+  spacing: 0;
+  padding: 6px;
+  color: #eeeeec; }
+  .list-search-result:focus, .list-search-result:selected, .list-search-result:hover {
+    background-color: rgba(238, 238, 236, 0.1);
+    transition-duration: 200ms; }
+  .list-search-result:active, .list-search-result:checked {
+    background-color: rgba(7, 7, 7, 0.86); }
+  .list-search-result .list-search-result-content {
+    spacing: 0; }
+  .list-search-result .list-search-result-title {
+    color: #eeeeec;
+    spacing: 12px;
+    padding-right: 6px; }
+  .list-search-result .list-search-result-description {
+    color: #a6a69b; }
+
+/* Slider */
+.slider {
+  height: 15px;
+  -barlevel-height: 3px;
+  -barlevel-background-color: #202020;
+  -barlevel-border-width: 1px;
+  -barlevel-border-color: #202020;
+  -barlevel-active-background-color: #1b6acb;
+  -barlevel-active-border-color: #1c6fd4;
+  -barlevel-overdrive-color: #b2161d;
+  -barlevel-overdrive-border-color: #bc171e;
+  -barlevel-overdrive-separator-width: 1px;
+  -slider-handle-radius: 7.5px;
+  -slider-handle-border-width: 1px;
+  -slider-handle-border-color: #eeeeec;
+  color: #eeeeec; }
+  .slider:hover {
+    color: #424242; }
+  .slider:active {
+    color: #1e1e1e; }
+
+/* Switches */
+.toggle-switch {
+  color: #eeeeec;
+  height: 22px;
+  width: 46px;
+  background-size: contain;
+  background-image: url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"); }
+  .toggle-switch:checked {
+    background-image: url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"); }
+
+/* Tiled window previews */
+.tile-preview {
+  background-color: rgba(27, 106, 203, 0.5);
+  border: 1px solid #1b6acb; }
+
+.tile-preview-left.on-primary {
+  border-radius: 6px 0 0 0; }
+
+.tile-preview-right.on-primary {
+  border-radius: 0 6px 0 0; }
+
+.tile-preview-left.tile-preview-right.on-primary {
+  border-radius: 6px 6px 0 0; }
+
+/* Window Picker */
+.window-picker {
+  -horizontal-spacing: 48px;
+  -vertical-spacing: 48px;
+  padding: 64px; }
+  .window-picker.external-monitor {
+    padding: 64px; }
+
+.window-clone-border {
+  border: 6px solid rgba(255, 255, 255, 0.35);
+  border-radius: 7px;
+  box-shadow: inset 0 0 0 1px rgba(32, 32, 32, 0.2); }
+
+.window-caption {
+  spacing: 24px;
+  color: #fff;
+  background-color: rgba(0, 0, 0, 0.5);
+  border: 1px solid rgba(0, 0, 0, 0.6);
+  border-radius: 8px;
+  margin-top: 24px;
+  padding: 4px 12px;
+  font-size: 12pt;
+  font-weight: bold; }
+
+.window-close {
+  background-color: #1b6acb;
+  color: #fff;
+  border: none;
+  border-radius: 18px;
+  padding: 3px;
+  height: 24px;
+  width: 24px;
+  box-shadow: -1px 1px 5px 0px rgba(0, 0, 0, 0.5);
+  -shell-close-overlap: 12px; }
+  .window-close:hover {
+    background-color: #1f76e1; }
+  .window-close:active {
+    background-color: #185fb4; }
+
+/* Workspace Switcher */
+.workspace-switcher-group {
+  padding: 12px; }
+
+.workspace-switcher-container {
+  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.2); }
+
+.workspace-switcher {
+  background: transparent;
+  border: none;
+  border-radius: 0;
+  padding: 0;
+  spacing: 12px; }
+  .workspace-switcher .ws-switcher-box {
+    background: transparent;
+    height: 50px;
+    background-size: 32px;
+    border: 1px solid rgba(238, 238, 236, 0.1);
+    border-radius: 8px; }
+  .workspace-switcher .ws-switcher-active-up,
+  .workspace-switcher .ws-switcher-active-down,
+  .workspace-switcher .ws-switcher-active-left,
+  .workspace-switcher .ws-switcher-active-right {
+    background-color: #1b6acb;
+    border: 1px solid #1f76e1;
+    color: #fff; }
+
+/* Workspace pager */
+.workspace-thumbnails {
+  visible-width: 32px;
+  spacing: 6px;
+  padding: 6px;
+  border-top-left-radius: 0 !important;
+  border-bottom-left-radius: 0 !important;
+  border-right-width: 0 !important; }
+  .workspace-thumbnails:rtl {
+    border-radius: 0 10px 10px 0;
+    border-left-width: 0 !important; }
+  .workspace-thumbnails .placeholder {
+    background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
+    background-size: contain;
+    height: 24px; }
+
+.workspace-thumbnail-indicator {
+  border: 3px solid #1b6acb;
+  border-radius: 3px;
+  padding: 0px; }
+
+/* Common Stylings */
+.no-frequent-applications-label, .search-statustext {
+  font-size: 2em;
+  font-weight: bold;
+  color: #eeeeec; }
+
+.switcher-list, .osd-window, .resize-popup, .workspace-switcher-container {
+  color: #eeeeec;
+  background-color: rgba(32, 32, 32, 0.96);
+  border: 1px solid rgba(50, 50, 50, 0.96);
+  border-radius: 14px;
+  padding: 12px; }
+
+#dash, .workspace-thumbnails {
+  color: #eeeeec;
+  background-color: rgba(32, 32, 32, 0.76);
+  border: 1px solid rgba(50, 50, 50, 0.96); }
+
+.app-well-app .overview-icon,
+.app-folder .overview-icon, .show-apps .overview-icon, .grid-search-result > .overview-icon, 
.search-provider-icon, .list-search-result {
+  background-color: transparent;
+  color: #eeeeec;
+  border-radius: 9px;
+  padding: 6px;
+  border: 2px solid transparent;
+  transition-duration: 100ms;
+  text-align: center; }
+
+.modal-dialog, .prompt-dialog, .audio-device-selection-dialog, .access-dialog, .geolocation-dialog, 
.extension-dialog, .inhibit-shortcuts-dialog, .nm-dialog {
+  color: #eeeeec;
+  background-color: #353535;
+  border: 1px solid #202020; }
+  .modal-dialog .button, .prompt-dialog .button, .audio-device-selection-dialog .button, .access-dialog 
.button, .geolocation-dialog .button, .extension-dialog .button, .inhibit-shortcuts-dialog .button, 
.nm-dialog .button {
+    background-color: #353535;
+    color: #eeeeec;
+    box-shadow: none; }
+    .modal-dialog .button, .prompt-dialog .button, .audio-device-selection-dialog .button, .access-dialog 
.button, .geolocation-dialog .button, .extension-dialog .button, .inhibit-shortcuts-dialog .button, 
.nm-dialog .button, .modal-dialog .button:hover, .prompt-dialog .button:hover, .audio-device-selection-dialog 
.button:hover, .access-dialog .button:hover, .geolocation-dialog .button:hover, .extension-dialog 
.button:hover, .inhibit-shortcuts-dialog .button:hover, .nm-dialog .button:hover, .modal-dialog 
.button:focus, .prompt-dialog .button:focus, .audio-device-selection-dialog .button:focus, .access-dialog 
.button:focus, .geolocation-dialog .button:focus, .extension-dialog .button:focus, .inhibit-shortcuts-dialog 
.button:focus, .nm-dialog .button:focus, .modal-dialog .button:active, .prompt-dialog .button:active, 
.audio-device-selection-dialog .button:active, .access-dialog .button:active, .geolocation-dialog 
.button:active, .extension-dialog .button:active, .inhibit-short
 cuts-dia
 log .button:active, .nm-dialog .button:active, .modal-dialog .button:disabled, .prompt-dialog 
.button:disabled, .audio-device-selection-dialog .button:disabled, .access-dialog .button:disabled, 
.geolocation-dialog .button:disabled, .extension-dialog .button:disabled, .inhibit-shortcuts-dialog 
.button:disabled, .nm-dialog .button:disabled {
+      border-color: #2d2d2d; }
+    .modal-dialog .button:hover, .prompt-dialog .button:hover, .audio-device-selection-dialog .button:hover, 
.access-dialog .button:hover, .geolocation-dialog .button:hover, .extension-dialog .button:hover, 
.inhibit-shortcuts-dialog .button:hover, .nm-dialog .button:hover {
+      background-color: #424242; }
+    .modal-dialog .button:active, .prompt-dialog .button:active, .audio-device-selection-dialog 
.button:active, .access-dialog .button:active, .geolocation-dialog .button:active, .extension-dialog 
.button:active, .inhibit-shortcuts-dialog .button:active, .nm-dialog .button:active {
+      background-color: #1b6acb;
+      color: #fff; }
+    .modal-dialog .button:disabled, .prompt-dialog .button:disabled, .audio-device-selection-dialog 
.button:disabled, .access-dialog .button:disabled, .geolocation-dialog .button:disabled, .extension-dialog 
.button:disabled, .inhibit-shortcuts-dialog .button:disabled, .nm-dialog .button:disabled {
+      color: #929291; }
+
+.notification-banner StEntry, .modal-dialog StEntry, .prompt-dialog StEntry, .audio-device-selection-dialog 
StEntry, .access-dialog StEntry, .geolocation-dialog StEntry, .extension-dialog StEntry, 
.inhibit-shortcuts-dialog StEntry, .nm-dialog StEntry {
+  color: #eeeeec;
+  background-color: #303030;
+  border-color: #2d2d2d;
+  box-shadow: none; }
+  .notification-banner StEntry:focus, .modal-dialog StEntry:focus, .prompt-dialog StEntry:focus, 
.audio-device-selection-dialog StEntry:focus, .access-dialog StEntry:focus, .geolocation-dialog 
StEntry:focus, .extension-dialog StEntry:focus, .inhibit-shortcuts-dialog StEntry:focus, .nm-dialog 
StEntry:focus {
+    border: 2px solid #1b6acb; }
+
+.modal-dialog-linked-button, .hotplug-notification-item, .notification-banner .notification-button {
+  color: #eeeeec;
+  background-color: #3c3c3c !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #2b2b2b;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  padding: 12px;
+  border-color: #2d2d2d;
+  border-style: solid;
+  border-width: 0 !important;
+  border-top-width: 1px !important;
+  box-shadow: none !important; }
+  .modal-dialog-linked-button:insensitive, .hotplug-notification-item:insensitive, .notification-banner 
.notification-button:insensitive {
+    color: #929291;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #252526;
+    background-color: #323132 !important;
+    box-shadow: none;
+    text-shadow: none;
+    icon-shadow: none; }
+  .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner 
.notification-button:hover {
+    color: #eeeeec;
+    background-color: #424242 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #2b2b2b;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .modal-dialog-linked-button:focus, .hotplug-notification-item:focus, .notification-banner 
.notification-button:focus {
+    color: #eeeeec;
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    box-shadow: inset 0 0 0 2px rgba(27, 106, 203, 0.3); }
+  .modal-dialog-linked-button:active, .hotplug-notification-item:active, .notification-banner 
.notification-button:active {
+    color: #eeeeec;
+    background-color: #2d2d2d !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #191919;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+  .modal-dialog-linked-button:first-child, .hotplug-notification-item:first-child, .notification-banner 
.notification-button:first-child {
+    border-right-width: 1px !important;
+    border-radius: 0px 0px 0px 8px; }
+  .modal-dialog-linked-button:last-child, .hotplug-notification-item:last-child, .notification-banner 
.notification-button:last-child {
+    border-right-width: 0 !important;
+    border-radius: 0px 0px 8px 0px; }
+  .modal-dialog-linked-button:first-child:last-child, .hotplug-notification-item:first-child:last-child, 
.notification-banner .notification-button:first-child:last-child {
+    border-radius: 0px 0px 8px 8px; }
+
+.button, .message-list-clear-button .button {
+  border-radius: 5px;
+  border-width: 1px;
+  min-height: 22px;
+  padding: 3px 24px;
+  color: #eeeeec;
+  background-color: #3c3c3c !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #2b2b2b;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .button:focus {
+    color: #eeeeec;
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    box-shadow: inset 0 0 0 2px rgba(27, 106, 203, 0.3); }
+  .button:hover {
+    color: #eeeeec;
+    background-color: #424242 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #2b2b2b;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .button:insensitive {
+    color: #929291;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #252526;
+    background-color: #323132 !important;
+    box-shadow: none;
+    text-shadow: none;
+    icon-shadow: none; }
+  .button:active {
+    color: #eeeeec;
+    background-color: #2d2d2d !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #191919;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+.datemenu-calendar-column .calendar, .datemenu-calendar-column .datemenu-displays-box .world-clocks-button,
+.datemenu-calendar-column .datemenu-displays-box .weather-button, .message {
+  border-radius: 7px;
+  padding: 0;
+  margin: 4px;
+  color: #eeeeec;
+  background-color: #3c3c3c !important;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #2b2b2b;
+  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+  icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .datemenu-calendar-column .calendar:focus, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:focus,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:focus, .message:focus, 
.datemenu-calendar-column .calendar:hover, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:hover,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:hover, .message:hover {
+    color: #eeeeec;
+    background-color: #424242 !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #2b2b2b;
+    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
+    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
+    icon-shadow: 0 1px rgba(0, 0, 0, 0.2); }
+  .datemenu-calendar-column .calendar:active, .datemenu-calendar-column .datemenu-displays-box 
.world-clocks-button:active,
+  .datemenu-calendar-column .datemenu-displays-box .weather-button:active, .message:active {
+    color: #eeeeec;
+    background-color: #2d2d2d !important;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #191919;
+    text-shadow: none;
+    icon-shadow: none;
+    box-shadow: none; }
+
+/*# sourceMappingURL=gnome-shell.css.map */
diff --git a/data/theme/gnome-shell.css.map b/data/theme/gnome-shell.css.map
new file mode 100644
index 0000000000..12964b346d
--- /dev/null
+++ b/data/theme/gnome-shell.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": 
"AAIA,+CAAoB;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AAEH,mBAAmB;AAoCnB,KAAM;EClDL,SAAS,EAAE,IAAiB;EDoD5B,KAAK,EE1CS,OAAS;;AF6CxB,aAAa;AGlEb,cAAc;AAMd,UAAW;EACV,OAAO,EAAE,IAAI;EACb,gCAAgC,EAAE,KAAsC;EACxE,8BAA8B,EAAE,KAAsC;EAEtE,yBAAe;IACd,SAAS,EAVK,IAAI;;AAgBpB,eAAe;AAKf,YAAa;EACZ,WAAW,EAAE,4BAAyB;;AAIvC,gBAAiB;EAChB,WAAW,EAAE,4BAAyB;;AAOtC;0BAAe;EAEd,KAAK,EAAE,eAA6B;AAKpC;;mCAAe;EACd,gBAAgB,EAAE,sBAAiC;EACnD,KAAK,EAzBY,IAAI;AA6BvB;;;mCAE0B;EACzB,gBAAgB,EAAE,wBAAiC;EACnD,KAAK,EDhCQ,OAAS;ACoCtB;gCAAe;EACd,gBAAgB,EAAE,wBAAkC;EAEpD,KAAK,EAxCY,IAAI;AA6CtB;+BAAe;EACd,gBAAgB,EAAE,wBAAsC;AAMzD;;kCAAe;EACd,gBAAgB,EAAE,mBAA8C;;AAKnE,iBAAiB;AAQjB,iBAAkB;EACjB,oBAAoB,EAAE,GAAG;EACzB,uBAAuB,EAAE,mBAA8C;EACvE,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,IAAI;;AAGlB,qBAAsB;EAAE,OAAO,EAAE,GAAG;;AACpC,gBAAiB;EAChB,OAAO,EHnEO,GAAG;EGoEjB,YAAY,EHlEE,GAAG;EGmEjB,eAAe,EHnED,GAAG;;AGwElB,yBAA0B;EACzB,MAAM,EAAE,GAAG;EACX,KAAK,EAAE,GAAG;EACV,aAAa,EAAC,GAAG;EACjB,gBAAgB,EDrFF,OAAS;ECsFvB,aAAa,EAAE,GAAG;;AAKlB,8
 CAA0B;EA
 
CzB,OAAO,EHnFM,GAAG;EGoFhB,sGAAa;IAAE,OAAO,EAAE,OAAoB;;AAK9C;cACe;EACd,SAAS,EAAE,OAAO;;AAInB,eAAgB;EACf,OAAO,EAAE,SAAS;EAElB,oCAAqB;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAE,WAAW;IAC7B,MAAM,EAAE,kCAAkC;IAC1C,aAAa,EAAE,IAAI;EAGpB,0CAA6B;IAAE,YAAY,EAAE,KAAK;EAClD,2CAA8B;IAAE,MAAM,EAAE,IAAI;IAAE,MAAM,EAAE,GAAG;IAAE,gBAAgB,EAAE,KAAK;EAClF,iGACsC;IAAE,gBAAgB,EAAE,KAAK;;AAKhE;4BAC6B;EAE5B,OAAO,EAAE,kBAAkB;;AAG5B,uDAAwD;EACvD,OAAO,EAAE,gBAAgB;EACzB,OAAO,EH1HO,GAAG;;AGiIlB,mBAAoB;EACnB,gBAAgB,EAAE,kBAAe;EACjC,KAAK,EAAE,IAAI;EACX,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAoB;;AAGhC,2BAA2B;AAG3B,kBAAmB;EAClB,cAAc,EAAE,IAAI;;AAIrB,iBAAkB;EACjB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,CAAC;EACT,gBAAgB,EAAE,sBAAkC;EACpD,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,OAA0B;EAEjC,uBAAQ;IACP,gBAAgB,EAAE,iCAA6C;IAC/D,UAAU,EAAC,eAAe;IAC1B,KAAK,EAAE,OAA0B;EAGlC,wBAAS;IACR,UAAU,EAAE,wBAA8B;IAC1C,gBAAgB,EAAE,kCAAkD;IACpE,WAAW,EAAE,IAAI;EAGlB,yBAAU;IACT,gBAAgB,EAAE,sBAAgD;IAClE,KAAK,ED9KQ,OAAS;IC+KtB,UAAU,EAAE,IAAI
 ;IAChB,W
 
AAW,EAAE,IAAI;EAGlB,6BAAc;IACb,kBAAkB,EAAE,YAAY;IAChC,aAAa,EAAE,WAA2C;EAG3D,4BAAa;IACZ,aAAa,EAAE,WAA2C;;AC9M5D,kBAAkB;AAElB,eAAgB;EACf,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,IAAiB;;AAO1B,wBAAU;EACT,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAyB;EACxC,MAAM,EAAE,qBAAqB;EAE7B,iCAAW;IACV,MAAM,EAAE,iBAAmC;IAC3C,gBAAgB,EAAE,wBAAkC;IACpD,UAAU,EAAE,oCAAiC;EAG9C,iCAAW;IACV,gBAAgB,EAAE,wBAAkC;IACpD,KAAK,EFHO,OAAS;AEQvB,6BAAe;EACd,OAAO,EAAE,GAAG;EACZ,OAAO,EJDM,GAAG;AIIjB,yBAAW;EACV,KAAK,EAAE,KAAK;AAGb,yBAAW;EACV,KAAK,EAAE,GAAG;EACV,UAAU,EF9BI,OAAsE;AEiCrF,4CAA8B;EAC7B,OAAO,EAAE,IAAiB;;AAI5B,eAAgB;EACf,YAAY,EAAE,gBAAa;EAC3B,KAAK,EAAE,wBAA6B;EACpC,2BAAc;IACb,KAAK,EF/BQ,OAAS;;AGrBxB,aAAa;ACAb,oBAAoB;AAGpB,aAAc;EACb,OAAO,EAAC,CAAC;EACT,MAAM,EAAC,CAAC;;AAIT,yBAA0B;EACzB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,eAA6B;EACrC,OAAO,EAAE,IAA4B;EACrC,cAAc,EAAE,GAAG;EACnB,WAAW,EAAC,CAAC;EAEb,6BAAM;IAAE,iBAAiB,EAAE,GAAG;EAC9B,6BAAM;IAAE,kBAAkB,EAAE,GAAG;EAI/B,gDAAuB;IACtB,OAAO,EAAE,GAAmB;IAC5B,MAAM,ENMM,GAAG;IMLf,MAAM,EAAE,qBAAqB
 ;IAE7B,8
 
GACQ;MACP,aAAa,EAAC,GAAyB;MACvC,UAAU,EAAE,GAAkB;MAC9B,aAAa,EAAE,GAAkB;IAGlC,sDAAQ;ML2HR,KAAK,ECvIQ,OAAS;MDwItB,gBAAgB,EAAE,kBAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,wBAAwB;MACrC,WAAW,EAAE,wBAAwB;IKjIrC,sDAAQ;MLiHR,KAAK,EC9HQ,OAAS;MD+HtB,WAAW,EAAE,wBAAwB;MACrC,WAAW,EAAE,wBAAwB;MACrC,UAAU,EAAE,uCAAuD;IKlHnE,uDAAS;MLoIT,KAAK,ECnJQ,OAAS;MDoJtB,gBAAgB,EAAE,kBAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;MKzIf,MAAM,ENTK,GAAG;IMaf,2DAAW;MACV,SAAS,EAAE,IAAqB;MAChC,WAAW,EAAE,IAAI;IAIlB,4DAAY;MACX,SAAS,EAAE,IAAqB;MAChC,WAAW,EAAE,IAAI;EAKnB,mCAAU;IAET,MAAM,EAAC,cAAuB;IAC9B,aAAa,EAAE,eAAuC;IACtD,OAAO,EAAC,cAAwB;EAKjC,oDAA2B;IAC1B,MAAM,EAAC,CAAC;EAGT,gDAAuB;IACtB,OAAO,ENvCM,GAAG;IMwChB,MAAM,EAAC,CAAC;IAGR;oEACgB;MAEf,OAAO,EAAC,cAAwB;;AAKnC,qBAAsB;EACrB,KAAK,EAAE,OAAsC;EAC7C,WAAW,EAAE,IAAI;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;;AAG
 d,cAAc;A
 
AIb,+BAAsB;EACrB,KAAK,EAAE,OAAqB;EAC5B,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAK;AAKf;+CACsC;EACrC,SAAS,EN7CM,MAAM;AMgDtB,uBAAc;EACb,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,aAAa,EN5EM,GAAG;EM6EtB,4DAAiB;IAAE,gBAAgB,EAAE,OAA4B;EACjE,8BAAS;IAAE,gBAAgB,EN/DX,OAAqE;AMqEtF,4BAAmB;EAClB,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,MAAM;EAClB,KAAK,EALc,IAAI;EAMvB,MAAM,EANa,IAAI;EAOvB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,GAAG;EACX,aAAa,EAAE,IAA8B;EAC7C,MAAM,EAAE,qBAAqB;EAC7B,qBAAqB,EAAE,MAAM;EAC7B,sEAAiB;IAAE,gBAAgB,ENpFpB,OAAoE;EMqFnF,0EAAoB;IACnB,KAAK,EAAE,KAAsB;IAC7B,gBAAgB,EAAE,OAAoB;EAIvC,iDAAuB;IACtB,KAAK,EAAE,KAAsB;IAC7B,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,GAAG;AAGhB,uBAAc;EACb,YAAY,EAAE,CAAC;AAGhB,2BAAkB;EACjB,gBAAgB,EAAE,GAAG;AAGtB,4BAAmB;EAAE,iBAAiB,EAAE,GAAG;AAE3C,+BAAsB;EACrB,KAAK,EJvHgB,OAA8B;AI2HpD,yBAAgB;EACf,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,qBAAqB;EAC7B,gBAAgB,EJtJE,OAAsD;EIuJxE,KAAK,EJxJa,IAAI;EI0JtB,gEAAgB;IACf,gBAAgB,EAAC,OAA+B;IAChD,KAAK,EJ5JY,IAAI;EI+JtB,oEAAoB;IACnB,gBAAgB,
 EJ/JC,OA
 
AsD;IIgKvE,KAAK,EJjKY,IAAI;IIkKrB,kKAAgB;MACf,gBAAgB,EAAC,OAA+B;MAChD,KAAK,EJpKW,IAAI;AIyKvB,mCAA0B;EACzB,KAAK,EAAE,KAAsB;EAC7B,WAAW,EAAE,IAAI;EACjB,gBAAgB,EAAE,2DAA2D;AAG9E,mCAA0B;EACzB,KAAK,EAAE,wBAA8B;EACrC,OAAO,EAAE,GAAG;AAGb,+BAAsB;EACrB,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,KAAK;EACb,KAAK,EAAE,KAAK;EACZ,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,SAAS;EAClB,MAAM,EAAE,GAAG;EACX,gBAAgB,EAAE,OAAqB;EACvC,KAAK,EAAE,OAAsB;;AAK/B,aAAa;AACb,YAAa;EACZ,OAAO,EN7KO,GAAG;EM8KjB,OAAO,ENhLO,GAAG;EMkLjB,4BAAgB;IACf,KAAK,EAAE,OAAsC;IAC7C,WAAW,EAAE,IAAI;IACjB,qCAAW;MACV,WAAW,EAAE,MAAM;MACnB,SAAS,EAAE,IAAqB;EAIlC,0BAAc;IACb,UAAU,EN3LE,GAAG;IM4Lf,YAAY,EN3LC,GAAG;IM4LhB,eAAe,EAAE,IAAiB;EAGnC,mCAAuB;IACtB,SAAS,EAAE,MAAmB;EAG/B,mCAAuB;IACtB,KAAK,EAAE,OAAqB;IAC5B,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EAAE,GAAqB;IAChC,WAAW,EAAE,MAAM;;AAIrB,kBAAkB;AAClB,kBAAmB;EAClB,OAAO,EN/MO,GAAG;EMgNjB,YAAY,EN9ME,GAAG;EM+MjB,eAAe,EAAE,IAAiB;EAGlC,uCAAqB;IACpB,KAAK,EAAE,OAAsC;IAC7C,WAAW,EAAE,IAAI;EAIlB,qCAAmB;IAClB,KAA
 K,EJlOQ,
 
OAAS;IImOtB,SAAS,ENnMM,EAAE;IMoMjB,WAAW,EAAE,MAAM;EAIpB,qCAAmB;IAClB,WAAW,EAAE,IAAI;IACjB,KAAK,EJ1OQ,OAAS;II2OtB,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EN5MM,EAAE;IM6MjB,UAAU,EAAC,KAAK;EAIjB,yCAAuB;IACtB,KAAK,EAAE,OAAqB;IAC5B,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EAAE,IAAqB;;ACzQlC,iBAAiB;AAQhB,sBAAY;EAAE,OAAO,EAAE,IAAI;AAC3B,gBAAM;EACL,KAAK,EANO,IAAI;EAOhB,MAAM,EARO,IAAI;EASjB,gBAAgB,EAAE,yDAAyD;AAE5E,sBAAc;EAAE,gBAAgB,EAAE,iEAAiE;AACnG,wBAAgB;EAAE,gBAAgB,EAAE,qDAAqD;AACzF,8BAAsB;EAAE,gBAAgB,EAAE,6DAA6D;;AChBxG,uBAAuB;AAIvB,WAAY;EACX,gBAAgB,EAAE,wBAAqD;EACvE,UAAU,EAAE,mBAA4C;EAExD,KAAK,EAAE,IAAkB;EACzB,MAAM,EAAE,IAAkB;EAC1B,aAAa,EAAE,UAAwB;EAGvC,eAAM;IAAE,aAAa,EAAE,UAAwB;;AAIhD,wBAAyB;EACxB,KAAK,EAhBQ,IAAI;EAiBjB,MAAM,EAjBO,IAAI;EAkBjB,aAAa,EAAE,IAAkB;EACjC,gBAAgB,EAAE,wBAAqD;EACvE,UAAU,EAAE,mBAA4C;;ACtBzD,UAAU;AAKV,KAAM;EAEL,SAAS,EAAE,GAAqB;EAChC,OAAO,EAAE,CAAC;EACV,cAAc,EAAE,IAAmB;EAGnC,aAAa,EAAE,aAA2C;EAC1D,iBAAiB,EAAE,YAAY;EAC/B,SAAM;IACL,aAAa,EAAE,aAA2C;IAC1D,kBAAkB,EAAE,YAAY;EAGjC,kBAAa;I
 AEZ,gBAA
 
gB,EAAC,IAAI;IACrB,eAAe,EAAE,OAAO;IACxB,MAAM,EArBgB,IAAI;EAwB3B,6BAAwB;IACvB,KAAK,EAzBiB,IAAI;IA0B1B,MAAM,EA1BgB,IAAI;;AA+B5B,+BAAgC;EAC/B,OAAO,EAAE,IAAmB;EAC5B,cAAc,EAAE,CAAC;;AAIlB,WAAY;EACX,gBAAgB,EAAE,sBAAkC;EACpD,aAAa,EAAE,GAAyB;EACxC,MAAM,EAAC,IAAI;EACX,UAAU,EAAC,gCAAkC;EAC7C,KAAK,EPvBS,OAAS;EOwBvB,OAAO,EAAE,OAAiC;EAC1C,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,GAAkB;EAC9B,SAAS,EAAE,GAAgB;;AAI5B,UAAW;EACV,gBAAgB,EAAE,WAAW;EAC7B,KAAK,EPjCS,OAAS;EOmCvB,yBAAiB;IAEhB,KAAK,EPrCQ,OAAS;EOwCvB,oGAE0B;IACzB,gBAAgB,EAAE,wBAAiC;IACnD,KAAK,EP5CQ,OAAS;EO+CvB,8BAAsB;IACrB,gBAAgB,EAAE,wBAAsC;EAGzD,mEACyB;IACxB,gBAAgB,EAAE,mBAAyB;EAG5C,oEACwB;IACvB,KAAK,EP1DQ,OAAS;IO2DtB,mBAAmB,EAAE,KAAK;;AChF5B,mBAAmB;AAEnB,aAAc;EACb,aAAa,EVgCA,IAAuB;EU7BpC,uCAA0B;IACzB,OAAO,EAAE,IAAI;EAGd,+BAAkB;IAAE,KAAK,EAAE,IAAI;IAAE,aAAa,EAAE,GAAG;EACnD,mCAAsB;IACrB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,GAAG;EAGb,oCAAuB;IAAE,WAAW,EAAE,GAAG;EACzC,+BAAkB;ITNlB,SAAS,EAAE,IAAiB;ISQ3B,WAAW,EAAE,MAAM;IACnB,KAAK,ERCQ,OAAS;IQAtB,cAAc,EAA
 E,IAAI;;
 
AAItB;2BAC4B;ETf3B,SAAS,EAAE,IAAiB;;ASuB7B,oBAAoB;AACpB,2BAA4B;EAC3B,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EACvB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,IAAI;;AAGd,oBAAqB;EACpB,SAAS,EAAE,MAAmB;EAC9B,SAAS,EAAE,MAAmB;;AAG/B,qBAAsB;EACrB,WAAW,EAAE,IAAI;;AAGlB,wBAAyB;EACxB,KAAK,ERlCS,OAAS;EQmCvB,WAAW,EAAE,IAAI;;AAGlB,iCAAiC;AACjC,2BAA4B;EAC3B,SAAS,EAAE,MAAmB;;AAG/B,aAAc;EACb,OAAO,EAAE,IAAI;EAEb,mCAAsB;IACrB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,GAAG;IACnB,SAAS,EAAE,IAAI;EAGhB,uCAA0B;IACzB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;EAGpB,kCAAqB;IACpB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,IAAI;EAGZ,sCAAyB;IACxB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;;AAIrB,sBAAuB;EACtB,UAAU,EAAE,KAAK;EACjB,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;;AAGpB,0BAA2B;EAC1B,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,IAAI;;AAGnB,2BAA4B;EAC3B,KAAK,EAAE,KAAsB;EAC7B,iCAAQ;IAAE,KAAK,ERnFD,OAAS;EQoFvB,+BAAM;IAAE,aAAa,EAAE,GAAG;EAC1B,+BAAM;IAAE,YAAY,EAAE,GAAG;;AAIzB,oCAAM;EAAE,aAAa,EAAE,IAAI;AAC3B,oCAAM;EAAE,Y
 AAY,EAAE
 
,IAAI;;AAG3B,gCAAiC;EAChC,SAAS,EAAE,IAAI;;AAIhB,uCAAuC;AAEvC,cAAe;EAGd,KAAK,EAAE,IAAI;EAEX,0CAA4B;IAAE,OAAO,EAAE,IAAI;IAAE,OAAO,EAAE,IAAI;EAC1D,sCAAwB;IAAE,OAAO,EAAE,IAAiB;EACpD,oCAAsB;IAAE,KAAK,EAAE,KAAsB;;AAGtD,8BAA+B;EAC9B,UAAU,EAAE,KAAK;;AAGlB,2BAA4B;EAC3B,OAAO,EAAE,GAAG;EACZ,cAAc,EAAE,GAAG;;AAGpB,4DAA2B;EAC1B,SAAS,EAAE,IAAI;EACf,KAAK,ER9HU,OAAO;EQ+HtB,cAAc,EAAE,GAAG;;AAGpB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,GAAG;;AAGpB,OAAQ;EACP,KAAK,EAAE,gBAAa;;AAGrB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,GAAG;;AAGpB,sBAAuB;EACtB,OAAO,EAAE,GAAG;;AAGb,mBAAoB;EACnB,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;AAGrB,2BAA4B;EAC3B,OAAO,EAAE,GAAG;;AAGb,4BAA6B;EAC5B,OAAO,EAAE,GAAG;;AAGb,gCAAiC;EAEhC,YAAY,EAAE,KAAK;;AAIpB,mBAAmB;AAEnB,0BAA2B;EAC1B,YAAY,EAAE,IAAI;EAClB,OAAO,EAAE,IAAI;EACb,8BAAM;IACL,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,IAAI;;AAIrB,8BAA+B;EAC9B,KAAK,ERnLU,OAAO;;AQsLvB,wBAAyB;EACxB,aAAa,EAAE,IAAI;EACnB,eAAe,EAAE,OAAO;EACxB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAGb,4BAA4B;AAC5B,8BAA+
 B;EAE9B,
 
OAAO,EAAE,IAAI;;AAGd,wBAAyB;EACxB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,sBAAuB;EACtB,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;AAGnB,oBAAqB;EACpB,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EACvB,MAAM,EAAE,iBAA+B;EACvC,aAAa,EAAE,IAAI;EACnB,4DAAgB;IAAE,gBAAgB,EVzLlB,OAAoE;EU0LpF,8BAAS;IACR,gBAAgB,ER9NE,OAAsD;IQ+NxE,KAAK,ERhOa,IAAI;;AQoOxB,2BAA4B;EAC3B,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,4BAA6B;EAC5B,SAAS,EAAE,MAAmB;;AAG/B,mBAAmB;AACnB,cAAe;EAEd,OAAO,EAAE,IAAI;;AAGd,wBAAwB;AACxB,mBAAoB;EAEnB,OAAO,EAAE,IAAI;;AAGd,sBAAsB;AAGrB,6CAA4B;EAAE,OAAO,EAAE,IAAI;EAAE,OAAO,EAAE,IAAI;AAC1D,uCAAsB;EAAE,WAAW,EAAE,MAAM;EAAE,KAAK,ER/OpC,OAAS;;AQkPxB,8BAA8B;AAC9B,yBAA0B;EAEzB,OAAO,EAAE,IAAI;;AAGd,0BAA0B;AAE1B,4BAA6B;EAC5B,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;AAGrB,6BAA8B;EAC7B,YAAY,EAAE,IAAI;EAClB,eAAe,EAAE,GAAG;;ACtRrB,wBAAwB;AAIxB,mBAAoB;EACnB,OAAO,EXyBO,GAAG;EWxBjB,MAAM,EAAE,iBAA+B;;AAGxC,wBAAyB;EACxB,WAAW,EAAE,IAAI;;AAGlB,0BAA2B;EAC1B,YAAY,EAAE,IAAI;EAClB,8BAAM;IAAE,aAAa,EAAE,IAAI;;AAG5B,+BAAgC;EAC/B,KA
 AK,EAjBq
 
B,IAAI;EAkB9B,cAAc,EAAE,IAAI;EACpB,mCAAM;IACL,UAAU,EAAE,KAAK;;AAInB,2BAA4B;EAC3B,KAAK,EAzBqB,IAAI;EA0B9B,KAAK,ETZU,OAAO;ESatB,WAAW,EAAE,GAAG;EAChB,+BAAM;IACL,UAAU,EAAE,KAAK;;AAKnB,+BAAgC;EAC/B,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,MAAmB;EAC1B,MAAM,EAAE,MAAmB;EAC3B,eAAe,EAAE,OAAO;;AAGzB,iCAAkC;EACjC,KAAK,ETvBS,OAAS;ESwBvB,KAAK,EAAE,MAAmB;EAC1B,MAAM,EAAE,MAAmB;;AAG5B,oCAAqC;EACpC,OAAO,EAAE,IAAiB;EAC1B,UAAU,EAAE,KAAK;EACjB,aAAa,EAAE,IAAI;EACnB,YAAY,EAAE,IAAI;;AAGnB;4BAC6B;EAC5B,OAAO,EAAE,GAAG;;AAGb,+BAAgC;EAC/B,WAAW,EAAE,IAAI;EACjB,mCAAM;IAAE,UAAU,EAAE,KAAK;;AAG1B;qCACsC;EACrC,OAAO,EAAE,GAAG;;AAGb;0CAC2C;EAC1C,WAAW,EAAE,IAAI;;AAGlB,6CAA8C;EAC7C,KAAK,EAAE,OAAoB;EAC3B,SAAS,EAAE,IAAI;;AC9EhB,aAAa;AAEb,OAAQ;EACP,aAAa,EZ8BO,GAAG;EY7BvB,OAAO,EAAE,GAAG;EACZ,YAAY,EAAE,GAAG;EACjB,KAAK,EVeS,OAAS;EDmBtB,gBAAgB,ECrCL,OAAoE;EDsC/E,YAAY,EC/BE,OAAsE;EUCrF,0BAA0B,EVHP,OAAsD;EUIzE,cAAc,EVLK,IAAI;EUEvB,aAAQ;IXoCP,YAAY,EAAE,wBAEO;EWrCtB,mBAAc;IXyCb,KAAK,ECnBgB,OAA8B;IDoBnD,YAAY,ECnBS,OAAgC;IDoBrD,UAAU,E
 AAE,IAAI
 
;EWxCjB,+BAAwB;IACvB,SAAS,EAAE,IAAI;IACf,aAAa,EVCC,OAAO;IUArB,OAAO,EAAE,KAAK;EAEf,4BAAqB;IACpB,SAAS,EZsCM,MAAM;IYrCrB,OAAO,EAAE,KAAK;;AClBhB,sBAAuB;EACtB,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,iBAAiB;;AAG3B,0BAA2B;EAE1B,MAAM,EAAE,IAAI;EAAE,UAAU,EAAE,IAAI;EAC9B,OAAO,EAAE,QAAQ;EACjB,gCAAQ;IAAE,OAAO,EAAE,iBAAiB;;AAGrC,+BAAgC;EAC/B,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,OAAO;;AAGjB,qBAAsB;EAAE,OAAO,EAAE,IAAiB;;AAElD,uBAAwB;EACvB,OAAO,EAAE,IAAiB;EAC1B,aAAa,EAAE,GAAG;EAClB,6BAAQ;IAAE,gBAAgB,EbmBV,OAAoE;;AahBrF,6BAA8B;EAC7B,KAAK,EAAE,OAAO;EACd,YAAY,EAAE,GAAG;;AAGlB,4BAA6B;EAC5B,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,GAAG;;AAGlB,4BAA6B;EAC5B,SAAS,EAAE,IAAI;;AAGhB,8BAA+B;EAC9B,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAG;EAClB,KAAK,EAAE,IAAI;;AC3CZ,wBAAyB;EACxB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,KAAK;;AAGf,gBAAiB;EAChB,OAAO,EAAE,WAAW;EACpB,KAAK,EAAE,OAAqB;;AAG7B,cAAe;EACd,OAAO,EAAE,uBAAuB;EAChC,aAAa,EdoBO,GAAG;EcnBvB,6CAAmB;IAAE,gBAAgB,EZNlB,OAAsD;IYMd,KAAK,EZP7C,IAAI;;AYUxB,0BAA2B;EAC1B,MAAM,EAAE,GAAG;EACX,oCAAY;IAAE,WAAW,E
 AAE,KAAK
 
;EAChC,sCAAc;IAAE,YAAY,EAAE,KAAK;;AAGpC,sBAAuB;EACtB,OAAO,EAAE,GAAG;;AAGb,+BAAgC;EAAE,aAAa,EAAE,eAA+C;EAAE,kBAAkB,EAAE,CAAC;;AACvH,2BAA4B;EAAE,aAAa,EAAE,eAA+C;;AAC5F,2BAA4B;EAAE,SAAS,EAAE,GAAG;;AC7B5C,wBAAwB;AAUxB,8CAAc;Ed4HZ,KAAK,ECjHQ,OAAS;EDkHtB,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,OAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,wBAAwB;EACrC,WAAW,EAAE,wBAAwB;EcjItC,mBAAQ;IdsIP,KAAK,EC9HQ,OAAS;ID+HtB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,uCAAuD;EcxIpE,0CAAmB;Id8IlB,KAAK,ECvIQ,OAAS;IDwItB,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;EcpJtC,oBAAS;IdyJR,KAAK,ECnJQ,OAAS;IDoJtB,gBAAgB,EAAE,kBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;;Ac7JlB,SAAU;EACT,gBAAgB,EAAE,qBAAwF;EAC1G,UAAU,EAAE,iDAAmD;EAE/D,yBAAgB;IACf,OAAO,EfKM,GAAG;Ie
 HhB,8CAA
 
qB;MACpB,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,sDAAU;QACT,gBAAgB,EAAC,GAAG;;AAOxB,cAAe;EACd,OAAO,EfRM,GAAG;EeShB,OAAO,EfTM,GAAG;;AeajB,aAAc;EAEb,SAAS,EAAE,IAAqB;EAChC,UAAU,EA3CA,KAAK;EA4Cf,SAAS,EA5CC,KAAK;EA8Cf,aAAa,EA7CM,GAAyB;EA+C5C,oBAAS;IACR,gBAAgB,EAAE,OAAqB;IACvC,KAAK,Eb/BQ,OAAS;IagCtB,YAAY,Eb3BM,kBAA+D;Ea+BlF,yBAAc;IAGb,eAAe,EAAE,IAAI;Id0ErB,KAAK,ECjHQ,OAAS;IDkHtB,gBAAgB,EAAE,iCAA0B;IAC5C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,sBAAqB;IApH5B,UAAU,EAqHK,8BAAyB;IAE/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;Ic7ErC,UAAU,EAAE,yCAAsC;IAFlD,kEAAmB;Md6FnB,KAAK,ECvIQ,OAAS;MDwItB,gBAAgB,EAAE,iCAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,sBAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,wBAAwB;MACrC,WAAW,EAAE,wBAAwB;IcnGrC,gCAAS;MdwGT,KAAK,ECnJQ,OAAS;MDoJtB,gBAAgB,EAAE,iCAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,mBAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;Ec1GjB,uBAAY;IACX,gBAAgB,EAAE,sDAAsD;IdgExE,KAA
 K,EC/Ha,
 
IAAI;IDgItB,gBAAgB,EAAE,kBAA0B;IAC5C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAqB;IApH5B,UAAU,EAqHK,8BAAyB;IAE/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;IcnErC,UAAU,EAAE,yCAAsC;IAFlD,8DAAmB;MdmFnB,KAAK,ECvIQ,OAAS;MDwItB,gBAAgB,EAAE,kBAAuD;MACzE,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAAkF;MA1IzF,UAAU,EA2IK,8BAAyB;MAC/C,WAAW,EAAE,wBAAwB;MACrC,WAAW,EAAE,wBAAwB;IczFrC,8BAAS;Md8FT,KAAK,ECnJQ,OAAS;MDoJtB,gBAAgB,EAAE,kBAAwB;MAC1C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAA6D;MAC3E,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;MACjB,UAAU,EAAE,IAAI;EchGjB,iCAAsB;IAAC,gBAAgB,EAAE,sDAAsD;EAC/F,iCAAsB;IAAC,gBAAgB,EAAE,gEAAgE;EACzG,yCAA8B;IAAC,gBAAgB,EAAE,wEAAwE;EACzH,sBAAW;IAAC,gBAAgB,EAAE,qDAAqD;EACnF,wBAAa;IAAC,gBAAgB,EAAE,uDAAuD;;AAIxF,iBAAkB;EACjB,KAAK,EbnES,OAAS;EaoEvB,oBAAoB,EftDP,IAAuB;EeuDpC,uBAAuB,EbnET,sBAA2G;EaoEzH,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EAAE,sBAA0B;EAC/C,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,IAAI;EACjB,eAAe,EfjED,GAAG;EemEjB,+BAAc;IAEb,aAAa,EflEM
 ,GAAG;;A
 
ewEvB,yBAAc;EACb,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,OAAO;;AAKf,kCAAsB;EACrB,YAAY,EAAE,OAA+B;EAC7C,gBAAgB,Eb3GE,OAAsD;;AagH1E,iBAAkB;EACjB,SAAS,EAAE,IAAqB;EAChC,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;;AC3HjB,kBAAkB;AAElB,yBAA0B;EACzB,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI;;AAGhB,aAAc;EAEb,MAAM,EAAE,IAAI;EACZ,gBAAgB,EAAE,WAAW;EAI7B,qBAAQ;IAEP,aAAa,EhBiBM,GAAG;IgBdrB,gBAAgB,EADA,qBAA0D;IAE1E,YAAY,EAFI,qBAA0D;IAG1E,KAAK,EdAO,OAAS;EcIvB,sCAAyB;IAAE,OAAO,EAAE,GAAG;EACvC,kCAAqB;IACpB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,4BAAyB;IACrC,gBAAgB,EAjBP,OAAqB;IAkB9B,YAAY,EAlBH,OAAqB;IAmB9B,KAAK,EdVQ,OAAS;IcatB,kFAAiB;MAChB,gBAAgB,EAFN,OAAqB;MAG/B,YAAY,EAHF,OAAqB;IAKhC,yCAAS;MAER,UAAU,EAAE,IAAI;MAChB,gBAAgB,EAFJ,OAAoB;MAGhC,YAAY,EAHA,OAAoB;IAKjC,8CAAc;MfwId,KAAK,ECpJgB,OAA8B;MDqJnD,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,ECrJc,OAAqC;MDsJ/D,gBAAgB,EAAE,kBAAgC;MAClD,UAAU,EAAE,IAAI;MAChB,WAAW,EAAE,IAAI;MACjB,WAAW,EAAE,IAAI;Me7IhB,YAAY,EAAE,OAAoB;MAClC,gBAAgB,EAAE,OAAoB;MACtC,KAAK,E
 AAE,wBAA
 
8B;IAEtC,0CAAU;MfoFV,KAAK,EC/Ha,IAAI;MDgItB,gBAAgB,EAAE,kBAA0B;MAC5C,YAAY,EAAE,GAAG;MACjB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,OAAqB;MApH5B,UAAU,EAqHK,8BAAyB;MAE/C,WAAW,EAAE,wBAAwB;MACrC,WAAW,EAAE,wBAAwB;Me1FpC,YAAY,Ed5CK,OAAsD;Mc6CvE,kGAAiB;QfuGlB,KAAK,ECrJa,IAAI;QDsJtB,gBAAgB,EAAE,kBAAuD;QACzE,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAAkF;QA1IzF,UAAU,EA2IK,8BAAyB;QAC/C,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,wBAAwB;Qe3GnC,gBAAgB,EADD,OAA+B;QAE9C,YAAY,EAFG,OAA+B;MAI/C,iDAAS;Qf6GV,KAAK,ECjKa,IAAI;QDkKtB,gBAAgB,EAAE,kBAAwB;QAC1C,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,OAA6D;QAC3E,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QejHd,gBAAgB,EADA,OAA8B;QAE9C,YAAY,EAFI,OAA8B;MAI/C,sDAAc;QfmHf,KAAK,ECpJgB,OAA8B;QDqJnD,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,KAAK;QACnB,YAAY,ECrJc,OAAqC;QDsJ/D,gBAAgB,EAAE,kBAAgC;QAClD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QexHf,YAAY,EAAE,OAA+B;QAC7C,gBAAgB,EAAE,OAA+B;QACjD,KAAK,EAAE,wBAAuC;;AAMlD,sBAAuB;EAAE,OAAO,EAAE,
 QAAQ;;AA
 
C1C,oBAAqB;EAAE,KAAK,EAAE,OAAyB;;AACvD,wBAAyB;EAAE,OAAO,EAAE,GAAG;;AACvC,6BAA8B;EAAE,KAAK,Ed9DrB,OAAO;;Ac+DvB,0BAA2B;EAAE,WAAW,EAAE,CAAC;EAAE,cAAc,EAAE,IAAI;;AACjE,gCAAiC;EAAE,OAAO,EAAE,SAAS;;AACrD,8BAA+B;EAC9B,YAAY,EAAE,GAAG;EACjB,0IACwC;IACvC,KAAK,EdhEQ,OAAS;;AcoExB,8BAA+B;EAC9B,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,OAAyB;EAChC,WAAW,EAAE,GAAG;;AAGjB,4BAA6B;EAAE,gBAAgB,EAAE,GAAG;;AACpD,uBAAwB;EACvB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,sEAAiD;IAAE,gBAAgB,Ed5FhD,OAAsD;Ic4FgB,KAAK,Ed7F3E,IAAI;Ec8FvB,uEAAkD;IAAE,YAAY,EAAE,iBAA4B;;AAG/F,4BAA6B;EAC5B,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,GAAG;EACZ,KAAK,EAAE,OAAyB;EAChC,6CAAmB;IAAE,aAAa,EAAE,GAAG;EACvC,6CAAmB;IAAE,YAAY,EAAE,GAAG;EACtC,gEAAoC;IACnC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,GAAG;IACf,gBAAgB,Ed5FH,OAAS;Ec8FvB,sEAA4C;IAAE,gBAAgB,Ed5G3C,IAAI;;Ac+GxB;kBACmB;EAClB,KAAK,EdnGS,OAAS;EcoGvB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,IAAI;EAChB,YAAY,EAAE,IAAI;;AAIlB,sBAAM;EAAE,YAAY,EAAE,IAAI;AAC1B,sBAAM;EAAE,aAAa,EAAE,IA
 AI;;AAG5
 
B,2BAA4B;EAC3B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,OAAO,EAAE,IAAiB;EAC1B,KAAK,EAAE,IAAI;;AAGZ,0BAA2B;EAC1B,KAAK,EAAE,OAA0B;EACjC,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;;AAGjB,wCAAyC;EACxC,SAAS,EAAE,MAAM;;AAGlB,iCAAkC;EACjC,KAAK,EAAE,OAAyB;EAChC,gFAAgB;IAAE,KAAK,EdlIT,OAAS;EcmIvB,wCAAS;IAAE,KAAK,EAAE,OAA0B;;ACxJ7C,mBAAmB;AAGnB,mBAAoB;EACnB,gBAAgB,EfmBF,sBAA2G;EelBzH,OAAO,EjByBO,GAAG;EiBxBjB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,kCAA4C;EACpD,gBAAgB,EAAC,CAAC;EAClB,aAAa,EAAE,WAA2C;EAE1D,8BAAa;IACZ,MAAM,EAAE,IAAI;IACZ,aAAa,EjBoBM,GAAG;IiBnBtB,gBAAgB,EAAE,mBAA0B;EAG7C,2BAAQ;IAAE,OAAO,EjBaH,GAAG;EiBZjB,iCAAc;IACb,iBAAiB,EAAE,IAAiB;IACpC,iBAAiB,EAAE,GAAG;IACtB,WAAW,EAAE,IAAI;IACjB,KAAK,EfDQ,OAAS;IeEtB,mBAAmB,EAAE,KAAK;IAC1B,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,uCAAQ;MACP,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,iBAAiB;IAE/B,0CAAW;MACV,mBAAmB,EAAE,GAAG;MACxB,YAAY,EAAE,OAA8B;MAC5C,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,iBAAiB;EAGhC,uCAAoB;IAAE,OAAO,EAAE,GAAG;IAAE,OAAO,EjBP7B,GAAG;EiBQjB,2CAAwB;IAAE,OAAO,
 EjBRnB,G
 
AAG;;AiBYjB,kBAAQ;EACP,0BAA0B,EAAE,OAAO;EACnC,cAAc,EfrBD,sBAA2G;AeuBzH,sBAAY;EACX,KAAK,EAAE,OAAO;EACd,4BAAQ;IAAE,KAAK,EAAE,OAAO;;AAI1B,oBAAqB;EACnB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM;;AAGpB,uBAAwB;EACtB,OAAO,EjB5BM,GAAG;;AiB+BlB,wBAAyB;EACvB,MAAM,EAAE,cAAc;EACtB,OAAO,EAAE,GAAG;EACZ,aAAa,EjB/BM,GAAG;EiBgCtB,8BAAQ;IAAE,MAAM,EAAE,iBAAiB;;AAIrC,uBAAwB;EAAE,OAAO,EAAE,GAAG;;AAEtC,mBAAoB;EAClB,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,GAAG;;AAGd,aAAc;EACZ,MAAM,EAAE,4BAA4B;EACpC,aAAa,EjB7CM,GAAG;EiB8CtB,OAAO,EAAE,GAAG;;AAGd,kBAAmB;EACjB,WAAW,EAAE,IAAI;;AAGnB,kBAAmB;EACjB,OAAO,EAAE,GAAG;;AAId,8BAA+B;EAC9B,UAAU,EfrEI,sBAA2G;EesEzH,MAAM,EAAE,4BAA4B;EACpC,aAAa,EjB7DO,GAAG;EiB8DvB,OAAO,EAAE,GAAG;;AC/Fb,kBAAkB;AAIlB,aAAc;EACb,KAAK,EAAE,MAAM;EACb,OAAO,EAAE,MAAmB;;AAG7B,sBAAuB;EACtB,MAAM,EAAC,CAAC;EACR,OAAO,ElBmBO,GAAG;;AkBhBlB;0BAC2B;EAC1B,OAAO,ElBcO,GAAG;;AkBVjB,8BAAM;EAAC,OAAO,EAAC,CAAC;AAChB,8BAAM;EAAC,OAAO,EAAC,CAAC;;AAIjB,0BAA2B;EAC1B,MAAM,ElBGO,GAAG;;AkBQhB,uBAAe;EACd,KAAK,EhBjBQ,OAAS;EgBkBtB,WA
 AW,EAAE,
 
IAAI;EACjB,aAAa,EAAC,GAAG;AAIlB,yBAAiB;EAChB,KAAK,EAAE,OAAsB;EAC7B,OAAO,EAAE,KAAe;EACxB,MAAM,EAAC,GAAgB;EACvB,6BAAM;IACL,WAAW,ElBpBA,GAAG;IkBqBd,aAAa,ElBtBD,GAAG;EkBwBhB,6BAAM;IACL,YAAY,ElBxBD,GAAG;IkByBd,YAAY,ElB1BA,GAAG;AkB+BjB,8BAAsB;EACrB,KAAK,EAAE,KAAuB;EAC9B,oCAAQ;IAAE,KAAK,EAAE,OAAsB;AAIxC,0BAAkB;EAEjB,MAAM,EAAC,KAAe;EAOtB,mCAAS;IACR,KAAK,EhBtDO,OAAS;IgBuDrB,SAAS,EAAE,MAAmB;IAC9B,cAAc,EAAE,QAAQ;IAExB,OAAO,EAAC,CAAC;IACT,MAAM,ElBpDM,GAAG;EkBwDhB,kDAAwB;IACvB,KAAK,ElB5BS,MAAM;IkB6BpB,MAAM,ElB7BQ,MAAM;AkBkCtB,+BAAuB;EACtB,OAAO,EAAE,CAAC;EAGV,6CAAc;IACb,KAAK,EAAE,wBAA8B;IACrC,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,KAAkB;IAC1B,qGAAqG;IACrG,cAAc,ElBzEF,GAAG;;AkB+ElB,oBAAoB;AACpB,sBAAuB;EACtB,OAAO,EAAE,SAAmC;EAC5C,KAAK,EAAE,OAAsB;EAG7B,4BAAQ;IACP,gBAAgB,EAAE,OAA4B;IAC9C,KAAK,EhB9FQ,OAAS;EgBiGvB,6BAAS;IACR,gBAAgB,EAAE,OAA2B;IAC7C,KAAK,EhBnGQ,OAAS;EgBsGvB,kCAAc;IAAE,KAAK,EAAE,OAAqB;EAGzB,2CAAQ;IAAC,aAAa,EAAG,WAA+C;EACxE,2CAAQ;IAAC,aAAa,EAAE,WAA+C;;AAI3F,yBAA0B;EACz
 B,SAAS,E
 
AAE,iBAA8B;EACzC,aAAa,ElBpGO,GAAG;EkBuGvB,kCAAW;IACV,KAAK,EAAE,OAAsB;IAC7B,gBAAgB,EHtIF,OAAS;IGuIvB,MAAM,EAAE,qBAAqB;IAC7B,aAAa,ElB3GM,GAAG;IkB4GtB,SAAS,EAAE,iBAA8B;IACzC,OAAO,EAAE,IAAiB;;AC9I5B,iCAAiC;AAMjC,oBAAqB;EACpB,UAAU,EALkB,IAAI;EAMhC,KAAK,EALsB,IAAI;EAM/B,SAAS,EnB4CO,EAAE;EmB3ClB,MAAM,EnBmBO,GAAG;EmBlBhB,aAAa,EnBwBA,IAAuB;EmBtBpC,mCAAe;IAAE,KAAK,EjBQR,OAAS;EiBPvB,qCAAiB;IAAE,KAAK,EjBOV,OAAS;EiBLvB,0BAAQ;IAAE,UAAU,EJZL,OAAS;EIaxB,6EAAqB;IACpB,gBAAgB,EJdF,OAAS;IIevB,0HAAe;MAAE,KAAK,EjBET,OAAS;IiBDtB,gIAAiB;MAAE,KAAK,EjBCX,OAAS;EiBGvB,+CAA2B;IAC1B,SAAS,EAAE,MAAmB;IAC9B,KAAK,EjBLQ,OAAS;EiBWvB,uCAAmB;IAClB,OAAO,EAAE,GAAG;EAGb,0CAAsB;IACrB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;EAGb,oCAAgB;IAAE,SAAS,EnBgBX,MAAM;EmBdtB,0CAAsB;IACrB,WAAW,EAAE,CAAC;IACd,KAAK,EjBxBQ,OAAS;IiByBtB,UAAU,EAAE,iBAA+B;IAC3C,OAAO,EAAE,CAAC;EAGX,yCAAqB;IAEpB,UAAU,EAAE,IAAiC;IAC7C,OAAO,EAAE,cAAwB;IACjC,gBAAgB,EAAE,YAAY;IAE9B,+CAAQ;MAAE,UAAU,EAAE,IAAI;;AAK5B,uBAAwB;EACvB,SAAS,EAAE,IAAqB;EAChC,WAAW,EAAE,IAA
 I;EACjB,
 
MAAM,EAAE,KAAK;EACb,KAAK,EAAE,KAAK;EACZ,wBAAwB,EAAE,GAAG;EAC7B,wBAAwB,EAAE,GAAG;EAC7B,gBAAgB,EjB5DG,OAAsD;EiB6DzE,KAAK,EjB9Dc,IAAI;EiB+DvB,MAAM,EAAE,iBAAmB;EAC3B,UAAU,EAAE,4BAAyB;EACrC,aAAa,EAAE,KAAK;;AAGrB,eAAgB;EAAE,SAAS,EnBlBV,MAAM;;AmBqBvB,UAAW;EAAE,OAAO,EAAE,GAAG;;AACzB,cAAe;EAAE,MAAM,EAAE,GAAG;;AAC5B,iBAAkB;EAAE,KAAK,EAAE,OAAqB;;AAChD,eAAgB;EAAE,WAAW,EAAE,GAAG;;AAClC,cAAe;EACd,YAAY,EAAE,GAAG;EACjB,kBAAM;IAAE,YAAY,EAAE,GAAG;IAAE,aAAa,EAAE,GAAG;;AAG9C,UAAW;EACV,YAAY,EAAE,IAAI;EAClB,KAAK,EAAE,KAAuB;EAC9B,cAAM;IAAE,YAAY,EAAE,CAAC;IAAE,aAAa,EAAE,IAAI;;AAG7C,kBAAmB;EAClB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,KAAsB;EAC7B,sBAAM;IAAE,YAAY,EAAE,CAAC;IAAE,aAAa,EAAE,GAAG;;ACjG5C,WAAY;EACX,KAAK,ElBUO,OAA0F;EkBTtG,iBAAQ;IAAE,KAAK,EAAE,OAAwB;;AAG1C,gBAAiB;EAAE,UAAU,ElBMhB,OAA0F;;AkBHvG,uBAAwB;EACvB,gBAAgB,EAAE,uBAAsC;EACxD,MAAM,EAAE,iBAA4B;;AAIrC,UAAW;EACV,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,iBAAiB,EAAE,GAAG;EACtB,iBAAiB,ElBXE,OAAsD;EkBYzE,qBAAqB
 ,EAAE,wB
 
AAqD;;AAI7E,sBAAuB;EACtB,MAAM,EAAE,iBAA4B;EACpC,kCAAc;IAAE,YAAY,EAAE,CAAC;;AAIhC,UAAW;EACV,eAAe,EAAE,OAAO;EACxB,KAAK,ElBXS,OAAS;EkBYvB,aAAa,EAAE,IAAI;EACnB,gBAAQ;IACP,KAAK,EAAE,KAA0B;;AAKnC,6BAA8B;EAC7B,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAIb,iBAAkB;EACjB,MAAM,EAAE,iBAA4B;;AAIrC,SAAU;EAAE,SAAS,EAAE,IAAI;;AAC3B,SAAU;EAAE,gBAAgB,EAAE,KAAK;;AACnC,UAAW;EAAE,gBAAgB,EAAE,KAAK;;ACtDpC,qBAAqB;AACrB,UAAW;EAEV,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,IAAI;;AAGhB,kBAAmB;EAClB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;;AAGd,uBAAwB;EAAE,OAAO,EAAE,IAAI;;AAEvC,4BAA6B;EAC5B,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;AAGnB,wBAAyB;EAAE,KAAK,EnBCjB,OAAS;;AmBExB,iBAAkB;EACjB,WAAW,EAAE,IAAI;;AAElB,sBAAuB;EACtB,SAAS,EAAE,MAAmB;;AAE/B,sBAAuB;EAAE,OAAO,EAAE,IAAI;;AAGtC,sBAAuB;EACtB,MAAM,EAAE,iBAAwB;EAChC,OAAO,EAAC,CAAC;EACT,gBAAgB,EAAE,OAAqB;;AAIxC,eAAgB;EACf,SAAS,ErBaO,EAAE;EqBZlB,aAAa,EAAE,iBAAwB;EACvC,OAAO,EAAE,IAAiB;EAC1B,OAAO,EAAE,GAAG;EACZ,wBAAW;IACV,gBAAgB,EnBrCE,OAAsD;ImB
 sCxE,KAA
 
K,EnBvCa,IAAI;;AmB4CxB,eAAgB;EAAE,SAAS,ErBMV,MAAM;;AqBLvB,gBAAiB;EAAE,OAAO,EAAE,IAAiB;;AAG7C,kBAAmB;EAAE,KAAK,EnBvBH,OAA8B;;AmBwBrD,gBAAiB;EAAE,OAAO,ErB5BX,GAAG;;AsB5BlB,SAAS;AACT,WAAY;EAEX,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,IAAI;EACZ,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,IAAI;EAEhB,8BAAmB;IAAE,SAAS,EAAE,GAAG;EACnC,kBAAO;IACN,MAAM,EAAE,KAAK;IACb,gBAAgB,EAAE,KAAK;IACvB,0BAA0B,EAAE,wBAA0D;IACtF,iCAAiC,EpBMpB,OAAS;IoBLtB,yBAAyB,EpBGP,OAAsD;IoBFxE,mCAAmC,EAAE,KAAK;;AAI5C,aAAa;AACb,eAAgB;EACf,OAAO,EAAE,IAAI;EACb,gBAAgB,EAAE,kBAAyB;EAE3C,kCAAmB;IAAE,OAAO,EAAE,IAAI;EAClC,uCAAwB;IAAE,OAAO,EAAE,GAAG;;AAGvC,gBAAiB;EAChB,KAAK,EAAE,IAAI;;AC/BZ,cAAc;AAEd,SAAU;EACT,OAAO,EAAE,IAAI;EACb,gBAAgB,EAAE,WAAW;;AAG9B,kBAAmB;EAClB,cAAc,EAAE,IAAI;;ACRrB,aAAa;AASb,MAAO;EACL,gBAAgB,EAND,IAA8C;EAO7D,WAAW,EAAE,IAAI;EACjB,MAAM,EANO,MAAM;EAOnB,qBAAqB,EAAE,MAAM;EAG7B,6DAEc;IACZ,gBAAgB,EAAE,WAAW;IAE7B,uGAAc;MACZ,oBAAoB,EAAE,CAAC;MACvB,8BAA8B,EAAE,WAAW;MAC3C,0BAA0B,EAAE,WAAW;EAK3
 C,sCAAyB
 
;IACvB,OAAO,ExBAI,GAAG;EwBIhB,oBAAc;IACZ,oBAAoB,EAhCF,GAAqB;IAiCvC,8BAA8B,EAhCjB,IAA8C;IAiC3D,0BAA0B,EAAE,GAAG;IAC/B,0BAA0B,EAAE,WAAW;IAEvC,sFAA8B;MAC5B,0BAA0B,EAAE,OAA8B;EAK9D,oBAAc;IACZ,WAAW,EAAE,IAAI;IACjB,KAAK,EA3CQ,OAAuE;IA4CpF,iBAAiB,EAAE,IAAiB;IACpC,iBAAiB,ExBtBN,GAAG;IwBwBd,0BAAQ;MACN,KAAK,EAAE,KAA6B;IAGtC,oHAAyC;MACvC,gBAAgB,EArDL,IAA8C;MAsDzD,UAAU,EAAE,wBAA+C;MAE3D,KAAK,EAAE,KAA6B;IAItC,wCAAoB;MAClB,SAAS,ExBRE,MAAM;MwBSjB,OAAO,EAAE,GAAmB;IAI9B,mCAAe;MACb,WAAW,ExB1CH,GAAG;MwB2CX,YAAY,ExB3CJ,GAAG;MwB4CX,cAAc,EAAE,QAAQ;IAK1B,0GAEe;MACb,KAAK,EAAE,KAAuB;MAC9B,2XAA2B;QAAE,KAAK,EAAE,KAAuB;EAI/D;+BACuB;IACrB,OAAO,EAAE,GAAG;EAId,gDAA0C;IACxC,OAAO,EAAE,CAAC;EAIZ;iCACyB;IAAE,KAAK,EtBlFlB,OAAO;;AsBsFvB,QAAS;EACP,OAAO,ExBzEM,GAAG;EwB0EhB,sBAAc;IAAE,KAAK,EAAE,WAAW;;ACxGpC,oBAAoB;AAKpB;2BAC4B;EAC3B,oBAAoB,EAAE,GAAqB;EAC3C,uBAAuB,EVJR,OAAS;EUKxB,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EvBAJ,OAAsE;EuBCrF,WAAW,EAAE,IAAyB;EACtC,WAAW,EAVW,IAAI;EAW1B,iBAAiB,EAAE,4BAAyB;;AAI7C,WAAY;EACX,SAAS,EAAE
 ,IAAI;EA
 
Cf,KAAK,EvBES,OAAS;EuBCvB,sBAAa;IACZ,eAAe,EzBMH,GAAG;IyBLf,aAAa,EAAE,MAAM;;AAIvB,mBAAoB;EACnB,OAAO,EAAE,MAAkC;;AAI5C,gBAAiB;EAChB,OAAO,EzBNO,GAAG;EyBOjB,OAAO,EzBPO,GAAG;EyBSjB,oBAAM;IAAE,aAAa,EAAC,MAAM;IAAE,YAAY,EAAE,CAAC;EAC7C,oBAAM;IAAE,aAAa,EAAE,CAAC;IAAE,YAAY,EAAC,MAAM;EAE7C,wBAAU;IACT,gBAAgB,EAAE,OAAsB;IACxC,UAAU,EAAE,IAAI;EAGjB,yBAAW;IACV,gBAAgB,EAAE,wBAAsD;IACxE,KAAK,EvB1BQ,OAAS;EuB6BvB,uBAAS;IACR,gBAAgB,EvB3CE,OAAsD;IuB4CxE,KAAK,EvB7Ca,IAAI;EuBgDvB,4BAAc;IAAE,KAAK,EAAE,wBAA6B;;AAIrD,yBAA0B;EACzB,KAAK,EvBvCS,OAAS;EuByCvB,qCAAc;IAAE,KAAK,EAAE,wBAA6B;;AAIrD;gBACiB;EAAE,SAAS,EzBVX,MAAM;;AyBavB,eAAgB;EACf,gBAAgB,EAAE,OAAqB;EACvC,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,+BAA6C;EACzD,aAAa,EAAE,+BAA6C;EAE5D,sCAAuB;IAAC,gBAAgB,EAAE,OAAqB;;AAIhE,oBAAqB;EACpB,UAAU,EAAE,KAAK;EACjB,KAAK,EAAE,KAAK;;AAIb,0BAA2B;EAE1B,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,QAAQ;EAChB,gBAAgB,EAAE,OAA2B;EAC7C,MAAM,EAAE,eAAe;;AAIxB,gBAAiB;EAChB,eAAe,EzBnEF,GAAG;EyBoEhB,WAAW,EAAE,GAAG;;AAIjB,eAAgB;EACf,SAAS,EAAE,IAAI;EAGf
 ,gCAAiB;
 
IAChB,OAAO,EAAC,CAAC;IACT,MAAM,EAAE,KAAc;IACtB,cAAc,EAAE,QAAQ;EAKxB,mEAAM;IACL,YAAY,EAAE,IAAgC;IAC9C,WAAW,EzB1DG,MAAM;EyB4DrB,mEAAM;IACL,aAAa,EAAE,IAAgC;IAC/C,YAAY,EzB9DE,MAAM;;A0BzDvB,mBAAmB;AAInB,qBAAsB;EACrB,cAAc,EAAE,GAAG;;AAGpB,+BAAgC;EAC/B,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,gBAAgB,EAAE,IAAI;EACtB,aAAa,EAXS,gCAAgC;;AAcvD,oBAAqB;EACpB,KAAK,EAAE,KAAK;EACZ,WAAW,EAhBW,gCAAgC;EAiBtD,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,KAAK;;AAGtB,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,WAAW,EAxBW,gCAAgC;EAyBtD,qBAAqB,EAAE,MAAM;;AAG9B,yBAA0B;EACzB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,MAAM;;AAGpB,sCAAuC;EACtC,OAAO,EAAE,GAAG;EACZ,KAAK,EAAE,IAAI;EACX,gBAAgB,EAAE,WAAW;EAC7B,UAAU,EAAE,KAAK;EACjB,6EAAuC;IACtC,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,CAAC;EAGlB;2EACmC;IAClC,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,gCAAkC;IAC1C,gBAAgB,EAAE,sBAAiC;IACnD,KAAK,ExB7BQ,OAAS;IwB8BtB,aAAa,EAAE,GAAG;EAEnB,oDAAc;IAAE,YAAY,EAAE,IAAI;;AAInC,iCAAkC;EACjC,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,gBAAgB;;AAG1B,sCAAuC;
 EAAE,OAA
 
O,EAAE,gBAAgB;;AAElE,kBAAmB;EAAE,gBAAgB,EAAE,sBAAkC;;AAEzE,yBAA0B;EACzB,UAAU,EAAE,KAAK;EACjB,UAAU,EAAE,8BAA2B;;AAGxC,gBAAiB;EAChB,UAAU,EAAE,gEAA6E;EACzF,iBAAiB,EAAE,MAAM;;AAIzB,wFAAmC;EAClC,gBAAgB,EAAE,qBAA6B;EAC/C,0MAAiB;IAAE,gBAAgB,EAAE,qBAA6B;EAClE,sGAAS;IAAE,gBAAgB,EAAE,uBAAsC;;AChFrE,gBAAgB;AAGf,kBAAQ;EAAE,gBAAgB,EAAE,IAAI;AAChC,kBAAQ;EAAE,gBAAgB,EAAE,IAAI;;AAGjC,WAAY;EACX,OAAO,EAAE,CAAC;EAEV,wBAAe;IACd,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;EAGjB,wBAAa;IACZ,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,WAAW;EAG9B,0DAAmC;IAClC,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,OAA8B;IAEhD,MAAM,EAAE,GAAG;IACX,sEAAQ;MAAE,gBAAgB,EAAE,OAA8B;IAC1D,wEAAS;MAAE,gBAAgB,EzBlBT,OAAsD;;A0BJ1E;aACc;EACb,KAAK,EAJe,KAAK;EAKzB,OAAO,EAAE,OAAO;EAChB,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,wBAA6B;EACpC,gBAAgB,EbND,OAAS;EaOxB,YAAY,E1BDG,OAAsE;E0BGrF;qBAAQ;IACP,gBAAgB,E5B6BD,OAAoE;I4B5BnF,YAAY,E5B8BQ,OAAqD;I4B7BzE,KAAK,E5B4BU,OAAoE;E4BzBpF;qBAAQ;IACP,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,GAAG;IACjB,KAAK,E1BDQ,OAAS;I0BEtB,YAAY,E1BfM,OAAsD;I0
 BgBxE,UA
 
AU,EAAE,sCAAmC;EAGhD;kCAAmB;IAClB,SAAS,E5B6BM,MAAM;I4B5BrB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,OAAO;;AC9BhB,YAAY;AAIZ,eAAsB;EACrB,gBAAgB,EAAE,sBAA+C;EACjE,aAAa,EAAE,IAAmB;EAClC,MAAM,EAAE,gCAAkC;EAC1C,UAAU,EAAE,8BAAyB;EACrC,WAAW,EAAE,wBAAqE;EAClF,KAAK,E3BWS,OAAS;E2BVvB,OAAO,EAAE,IAAiB;EAC1B,MAAM,E7BiBO,GAAG;;A6BbjB,qBAAsB;EACrB,SAAS,EAhBwB,MAAM;;AAoBxC,eAAgB;EAEf,OAAO,EAAC,CAAC;EACT,UAAU,EAAC,CAAC;EACZ,aAAa,EAAC,CAAC;EAGf,2GACuC;IACtC,gBAAgB,EAAE,WAAW;EAI9B,yCAA0B;IAIzB,MAAM,EAAE,GAAG;IACX,gBAAgB,EAAE,WAAW;EAI9B,uCAAwB;IACvB,OAAO,EAAE,CAAC;;AAYX,oCAAiB;EAEhB,KAAK,E3BrCQ,OAAS;A2BwCvB,6DAA0C;EACzC,OAAO,EAAE,gBAAgB;EACzB,OAAO,E7BjCM,GAAG;A6BuChB,+HAAe;EACd,gBAAgB,EAAE,sBAAiC;EACnD,KAAK,E3BlDO,OAAS;A2BsDvB,uCAAsB;EACrB,gBAAgB,EAAE,wBAAsC;AAGzD,qFACyB;EACxB,gBAAgB,EAAE,mBAA8C;;AAKlE,qBAAsB;EAGrB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,CAAC;EACV,YAAY,EAAE,GAAgB;EAE9B,wFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAG3B,2DACU;IACT,gBAAgB,EAAE,mBAA4C;EAI/D,mDAA8B;IAC7B,OAAO,EAAE,IAAiB;IAG1B,iF
 AA8B;MAC
 
7B,KAAK,EAAE,KAAK;MACZ,UAAU,EAAE,CAAC;MACb,KAAK,EAAE,OAAyB;;AAOnC,oBAAqB;EACpB,OAAO,E7B3FO,GAAG;;A6B+FlB,mBAAoB;EAEnB,OAAO,EAAE,CAAC;EACV,OAAO,E7BpGO,GAAG;E6BqGjB,KAAK,E3B5GS,OAAS;E2B8GvB,kFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAE3B,uDACU;IACT,gBAAgB,EAAE,mBAA4C;EAI/D,+CAA4B;IAC3B,OAAO,EAAE,CAAC;EAIX,6CAA0B;IACzB,KAAK,E3BhIQ,OAAS;I2BiItB,OAAO,EAAE,IAAiB;IAC1B,aAAa,E7B3HA,GAAG;E6BgIjB,mDAAgC;IAC/B,KAAK,EAAE,OAA0B;;AA7JnC,YAAY;AAIZ,eAAsB;EACrB,gBAAgB,EAAE,sBAA+C;EACjE,aAAa,EAAE,IAAmB;EAClC,MAAM,EAAE,gCAAkC;EAC1C,UAAU,EAAE,8BAAyB;EACrC,WAAW,EAAE,wBAAqE;EAClF,KAAK,E3BWS,OAAS;E2BVvB,OAAO,EAAE,IAAiB;EAC1B,MAAM,E7BiBO,GAAG;;A6BbjB,qBAAsB;EACrB,SAAS,EAhBwB,MAAM;;AAoBxC,eAAgB;EAEf,OAAO,EAAC,CAAC;EACT,UAAU,EAAC,CAAC;EACZ,aAAa,EAAC,CAAC;EAGf,2GACuC;IACtC,gBAAgB,EAAE,WAAW;EAI9B,yCAA0B;IAIzB,MAAM,EAAE,GAAG;IACX,gBAAgB,EAAE,WAAW;EAI9B,uCAAwB;IACvB,OAAO,EAAE,CAAC;;AAYX,oCAAiB;EAEhB,KAAK,E3BrCQ,OAAS;A2BwCvB,6DAA0C;EACzC,OAAO,EAAE,gBAAgB;EACzB,OAAO,E7BjCM,GAAG;A6BuChB,+HAAe;EAC
 d,gBAAgB
 
,EAAE,sBAAiC;EACnD,KAAK,E3BlDO,OAAS;A2BsDvB,uCAAsB;EACrB,gBAAgB,EAAE,wBAAsC;AAGzD,qFACyB;EACxB,gBAAgB,EAAE,mBAA8C;;AAKlE,qBAAsB;EAGrB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,CAAC;EACV,YAAY,EAAE,GAAgB;EAE9B,wFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAG3B,2DACU;IACT,gBAAgB,EAAE,mBAA4C;EAI/D,mDAA8B;IAC7B,OAAO,EAAE,IAAiB;IAG1B,iFAA8B;MAC7B,KAAK,EAAE,KAAK;MACZ,UAAU,EAAE,CAAC;MACb,KAAK,EAAE,OAAyB;;AAOnC,oBAAqB;EACpB,OAAO,E7B3FO,GAAG;;A6B+FlB,mBAAoB;EAEnB,OAAO,EAAE,CAAC;EACV,OAAO,E7BpGO,GAAG;E6BqGjB,KAAK,E3B5GS,OAAS;E2B8GvB,kFAEQ;IACP,gBAAgB,EAAE,wBAAgC;IAClD,mBAAmB,EAAE,KAAK;EAE3B,uDACU;IACT,gBAAgB,EAAE,mBAA4C;EAI/D,+CAA4B;IAC3B,OAAO,EAAE,CAAC;EAIX,6CAA0B;IACzB,KAAK,E3BhIQ,OAAS;I2BiItB,OAAO,EAAE,IAAiB;IAC1B,aAAa,E7B3HA,GAAG;E6BgIjB,mDAAgC;IAC/B,KAAK,EAAE,OAA0B;;AC7JnC,YAAY;AAIZ,OAAQ;EACP,MAAM,EAHO,IAAI;EAKjB,gBAAgB,EAAE,GAAG;EACrB,0BAA0B,E5BEX,OAAsE;E4BDrF,sBAAsB,EAAE,GAAG;EAC3B,sBAAsB,E5BAP,OAAsE;E4BErF,iCAAiC,E5BJd,OAAsD;E4BKzE,6BAA6B,EAAE,OAAwF;EAEvH,yBAAyB,E5BIN,OAAsD;E4BHzE,
 gCAAgC,E
 
AAE,OAAwF;EAC1H,mCAAmC,EAAC,GAAG;EAEvC,qBAAqB,EAAE,KAAkB;EACzC,2BAA2B,EAAE,GAAG;EAChC,2BAA2B,E5BAb,OAAS;E4BEvB,KAAK,E5BFS,OAAS;E4BGvB,aAAQ;IAAE,KAAK,E9BmBC,OAAoE;E8BlBpF,cAAS;IAAE,KAAK,E9BuBC,OAAqE;;A+BhDvF,cAAc;AAMd,cAAe;EACd,KAAK,E7BcS,OAAS;E6BbvB,MAAM,EALS,IAAI;EAMnB,KAAK,EALS,IAAI;EAMlB,eAAe,EAAE,OAAO;EACxB,gBAAgB,EAAE,4DAA6I;EAC/J,sBAAU;IACT,gBAAgB,EAAE,2DAA2I;;ACZ/J,2BAA2B;AAE3B,aAAc;EACb,gBAAgB,EAAE,uBAAsC;EACxD,MAAM,EAAE,iBAA4B;;AAGrC,6BAA8B;EAC7B,aAAa,EAAE,SAAyB;;AAGzC,8BAA+B;EAC9B,aAAa,EAAE,SAAyB;;AAGzC,gDAAiD;EAChD,aAAa,EAAE,WAA2C;;ACjB3D,mBAAmB;AAYnB,cAAe;EAEd,mBAAmB,EAZI,IAAI;EAa3B,iBAAiB,EAbM,IAAI;EAe3B,OAAO,EAdgB,IAAI;EAgB3B,+BAAmB;IAAE,OAAO,EAhBL,IAAI;;AAoB5B,oBAAqB;EACpB,MAAM,EAAE,mCAAwC;EAChD,aAAa,EAAE,GAAyB;EAIxC,UAAU,EAAE,qCAAmD;;AAIhE,eAAgB;EACf,OAAO,EAAE,IAAI;EACb,KAAK,E/B5Bc,IAAI;E+B6BvB,gBAAgB,EAAE,kBAAe;EACjC,MAAM,EAAC,4BAAyB;EAChC,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,QAAQ;EACjB,SAAS,EAAE,IAAqB;EAChC,WAAW,EAAE,IAAI;;AAIlB,aAAc;EACb,gBA
 AgB,E/Bv
 
CG,OAAsD;E+BwCzE,KAAK,E/BzCc,IAAI;E+B0CvB,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAkE;EACjF,OAAO,EA3CsB,GAAG;EA4ChC,MAAM,EA7CoB,IAAI;EA8C9B,KAAK,EA9CqB,IAAI;EA+C9B,UAAU,EAAE,mCAAgC;EAE5C,oBAAoB,EAAE,IAA+B;EAErD,mBAAQ;IACP,gBAAgB,EAAE,OAA+B;EAGlD,oBAAS;IACR,gBAAgB,EAAE,OAA8B;;AC/DlD,wBAAwB;AACxB,yBAA0B;EACzB,OAAO,EAAE,IAAiB;;AAG3B,6BAA8B;EAE7B,UAAU,EAAE,iCAA8B;;AAG3C,mBAAoB;EACnB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,IAAiB;EAE1B,oCAAiB;IAEhB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,kCAA2C;IACnD,aAAa,EAAE,GAAyB;EAIzC;;;+CAG0B;IACzB,gBAAgB,EhCvBE,OAAsD;IgCwBxE,MAAM,EAAE,iBAAgG;IACxG,KAAK,EhC1Ba,IAAI;;AgC8BxB,qBAAqB;AAGrB,qBAAsB;EAErB,aAAa,EAAE,IAAI;EACnB,OAAO,ElCbO,GAAG;EkCcjB,OAAO,ElChBO,GAAG;EkCmBjB,sBAAsB,EAAC,YAAY;EACnC,yBAAyB,EAAC,YAAY;EACtC,kBAAkB,EAAE,YAAY;EAChC,yBAAM;IACL,aAAa,EAAE,aAA+B;IAC9C,iBAAiB,EAAE,YAAY;EAIhC,kCAAa;IACZ,gBAAgB,EAAE,6DAA6D;IAC/E,eAAe,EAAE,OAAO;IACxB,MAAM,EAAE,IAAI;;AAKd,8
 BAA+B;EA
 
C9B,MAAM,EAAE,iBAA4B;EACpC,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,GAAG;;AlCkCb,qBAAqB;AAGrB,mDAAa;EACZ,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,KAAK,EEtFS,OAAS;;AF2FxB,yEAAW;EACV,KAAK,EE5FS,OAAS;EF6FvB,gBAAgB,EE3FF,sBAA2G;EF4FzH,MAAM,EAAE,gCAAkC;EAC1C,aAAa,EAAE,IAA6B;EAC5C,OAAO,EAAE,IAAiB;;AAK3B,4BAAgB;EACf,KAAK,EEtGS,OAAS;EFuGvB,gBAAgB,EAAE,sBAAkC;EACpD,MAAM,EAAE,gCAAkC;;AAI3C;uIAAW;EACV,gBAAgB,EAAE,WAAW;EAC7B,KAAK,EE9GS,OAAS;EF+GvB,aAAa,EAAE,GAAyB;EACxC,OAAO,EAzGO,GAAG;EA0GjB,MAAM,EAAE,qBAAqB;EAC7B,mBAAmB,EAAE,KAAK;EAC1B,UAAU,EAAE,MAAM;;AAInB,4JAAc;EACb,KAAK,EExHS,OAAS;EFyHvB,gBAAgB,Ee1ID,OAAS;Ef2IxB,MAAM,EAAE,iBAAiE;EAMzE,4NAAQ;IACP,gBAAgB,EelJF,OAAS;IfmJvB,KAAK,EElIQ,OAAS;IFmItB,UAAU,EAAE,IAAI;IAEhB,ozCAA0C;MACzC,YAAY,EArHQ,OAAsD;IAwH3E,4QAAQ;MAAE,gBAAgB,EAnHX,OAAoE;IAoHnF,oRAAS;MACR,gBAAgB,EExJC,OAAsD;MFyJvE,KAAK,EE1JY,IAAI;IF4JtB,oSAAW;MAAE,KAAK,EEnIG,OAA8B;;AFwIrD,0PAAc;EACb,KAAK,EEpJS,OAAS;EFqJvB,gBAAgB,EAAE,OAAqB;EACvC,YAAY,EArIU,OAAsD;EAsI5E,UAAU,EAAE,IAAI;EAChB,gTAAQ;IAAE
 ,MAAM,EA
 
AE,iBAA4B;;AAI/C,kGAAe;EC3Cb,KAAK,ECjHQ,OAAS;EDkHtB,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,OAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,wBAAwB;EACrC,WAAW,EAAE,wBAAwB;EDqCtC,OAAO,EAAE,IAAiB;EAC1B,YAAY,EA9IU,OAAsD;EA+I5E,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,YAAY;EAC1B,gBAAgB,EAAE,cAAc;EAChC,UAAU,EAAC,eAAe;EAE1B,sIAAc;ICNb,KAAK,ECpJgB,OAA8B;IDqJnD,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,ECrJc,OAAqC;IDsJ/D,gBAAgB,EAAE,kBAAgC;IAClD,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;EDAlB,oHAAQ;IC/BP,KAAK,ECvIQ,OAAS;IDwItB,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;EDyBtC,oHAAQ;ICzCP,KAAK,EC9HQ,OAAS;ID+HtB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,uCAAuD;EDuCpE,uHAAS;ICrBR,KAAK,ECnJQ,OAAS;IDoJtB,gBAAgB,EAAE,kBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAA
 E,IAAI;I
 
ACjB,UAAU,EAAE,IAAI;EDiBjB,sIAAc;IACb,kBAAkB,EAAE,cAAc;IAClC,aAAa,EAAE,eAA+B;EAE/C,mIAAa;IACZ,kBAAkB,EAAE,YAAY;IAChC,aAAa,EAAE,eAA+B;EAG/C,uKAAyB;IACxB,aAAa,EAAE,eAA+C;;AAKhE,2CAAQ;EACP,aAAa,EA/KO,GAAG;EAgLvB,YAAY,EAAE,GAAG;EACjB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,QAAqC;EC7E7C,KAAK,ECjHQ,OAAS;EDkHtB,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,OAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,wBAAwB;EACrC,WAAW,EAAE,wBAAwB;EDwEtC,aAAQ;ICnEP,KAAK,EC9HQ,OAAS;ID+HtB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,uCAAuD;EDiEpE,aAAQ;IC3DP,KAAK,ECvIQ,OAAS;IDwItB,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;EDqDtC,mBAAc;ICpCb,KAAK,ECpJgB,OAA8B;IDqJnD,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,ECrJc,OAAqC;IDsJ/D,gBAAgB,EAAE,kBAAgC;IAClD,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;ED8BlB,cAAS;ICjDR,KAAK,ECnJQ,OAAS;IDoJtB,gBAAgB
 ,EAAE,kB
 
AAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;;AD+ClB;0EAAqB;EACpB,aAAa,EAAC,GAAyB;EACvC,OAAO,EAAE,CAAC;EACV,MAAM,EApMO,GAAG;ECyGf,KAAK,ECjHQ,OAAS;EDkHtB,gBAAgB,EAAE,kBAA0B;EAC5C,YAAY,EAAE,GAAG;EACjB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,OAAqB;EApH5B,UAAU,EAqHK,8BAAyB;EAE/C,WAAW,EAAE,wBAAwB;EACrC,WAAW,EAAE,wBAAwB;EDuFtC;;wFACQ;IC1EP,KAAK,ECvIQ,OAAS;IDwItB,gBAAgB,EAAE,kBAAuD;IACzE,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAAkF;IA1IzF,UAAU,EA2IK,8BAAyB;IAC/C,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;EDyEtC;0FAAS;ICpER,KAAK,ECnJQ,OAAS;IDoJtB,gBAAgB,EAAE,kBAAwB;IAC1C,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,OAA6D;IAC3E,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI",
+"sources": 
["gnome-shell-sass/_common.scss","gnome-shell-sass/_drawing.scss","gnome-shell-sass/_colors.scss","gnome-shell-sass/widgets/_app-grid.scss","gnome-shell-sass/widgets/_app-switcher.scss","gnome-shell-sass/widgets/_buttons.scss","gnome-shell-sass/widgets/_calendar.scss","gnome-shell-sass/widgets/_check-box.scss","gnome-shell-sass/widgets/_corner-ripple.scss","gnome-shell-sass/widgets/_dash.scss","gnome-shell-sass/widgets/_dialogs.scss","gnome-shell-sass/widgets/_end-session-dialog.scss","gnome-shell-sass/widgets/_entries.scss","gnome-shell-sass/widgets/_hotplug.scss","gnome-shell-sass/widgets/_ibus-popup.scss","gnome-shell-sass/widgets/_keyboard.scss","gnome-shell-sass/widgets/_login-dialog.scss","gnome-shell-sass/widgets/_looking-glass.scss","gnome-shell-sass/widgets/_message-list.scss","gnome-shell-sass/widgets/_notifications.scss","gnome-shell-sass/widgets/_misc.scss","gnome-shell-sass/widgets/_network-dialog.scss","gnome-shell-sass/widgets/_osd.scss","gnome-shel
 l-sass/w
 
idgets/_overview.scss","gnome-shell-sass/widgets/_panel.scss","gnome-shell-sass/widgets/_popovers.scss","gnome-shell-sass/widgets/_screen-shield.scss","gnome-shell-sass/widgets/_scrollbars.scss","gnome-shell-sass/widgets/_search-entry.scss","gnome-shell-sass/widgets/_search-results.scss","gnome-shell-sass/widgets/_slider.scss","gnome-shell-sass/widgets/_switches.scss","gnome-shell-sass/widgets/_tiled-previews.scss","gnome-shell-sass/widgets/_window-picker.scss","gnome-shell-sass/widgets/_workspace-switcher.scss"],
+"names": [],
+"file": "gnome-shell.css"
+}
\ No newline at end of file
diff --git a/data/theme/key-enter.svg b/data/theme/key-enter.svg
index ea7b243b57..f758eee913 100644
--- a/data/theme/key-enter.svg
+++ b/data/theme/key-enter.svg
@@ -1,109 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-enter.svg"
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1744"
-     inkscape:window-height="866"
-     id="namedview19"
-     showgrid="false"
-     inkscape:zoom="14.75"
-     inkscape:cx="7.9322034"
-     inkscape:cy="14.554666"
-     inkscape:window-x="0"
-     inkscape:window-y="55"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg7384" />
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer11" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer14" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     transform="matrix(2,0,0,2,-281.56285,-1615.0002)"
-     style="display:inline"
-     id="layer12">
-    <path
-       id="path16589"
-       d="m 148.00015,821.0002 h -1 c -0.26528,0 -0.53057,-0.093 -0.71875,-0.2812 l -3.71875,-3.7188 c 0,0 
2.47917,-2.4792 3.71875,-3.7187 0.18817,-0.1882 0.45344,-0.2813 0.71875,-0.2813 h 1 v 1 c 0,0.2653 
-0.0931,0.5306 -0.28125,0.7188 l -2.28125,2.2812 2.28125,2.2813 c 0.18811,0.1881 0.28129,0.4534 
0.28125,0.7187 z"
-       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Bitstream
 Vera Sans';-inkscape-font-specification:'Bitstream Vera 
Sans';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
-       inkscape:connector-curvature="0" />
-    <path
-       
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#bebebe;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-       d="m 154.0002,810 v 4.5 c 0,1.3807 -1.11929,2.5 -2.5,2.5 h -6.50005"
-       id="path16591"
-       inkscape:connector-curvature="0" />
-  </g>
+<svg xmlns="http://www.w3.org/2000/svg"; class="keyboard-key" width="24" height="24">
+    <path overflow="visible" font-weight="400" 
style="line-height:normal;-inkscape-font-specification:'Bitstream Vera 
Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" d="M10 
23H8.5c-.398 0-.796-.14-1.079-.422L.345 15.5l7.078-7.078C7.704 8.14 8.102 8 8.5 8H10v1.5c0 .398-.14.796-.422 
1.079L4.657 15.5l4.921 4.922c.282.282.422.68.422 1.078z" color="#000" font-family="Bitstream Vera Sans" 
fill="#fff"/>
+    <path overflow="visible" d="M22 1.5v9a5 5 0 01-5 5H4" style="marker:none" color="#000" fill="none" 
stroke="#fff" stroke-width="3"/>
 </svg>
diff --git a/data/theme/key-hide.svg b/data/theme/key-hide.svg
index 288fe881e7..ac728a0b7b 100644
--- a/data/theme/key-hide.svg
+++ b/data/theme/key-hide.svg
@@ -1,114 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-hide.svg"
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1919"
-     inkscape:window-height="1011"
-     id="namedview19"
-     showgrid="false"
-     inkscape:zoom="14.75"
-     inkscape:cx="-12.338983"
-     inkscape:cy="14.554666"
-     inkscape:window-x="0"
-     inkscape:window-y="55"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg7384" />
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer11" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer14" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     style="display:inline"
-     inkscape:label="go-down"
-     id="g11722"
-     transform="matrix(2,0,0,2,-362.0004,-1494)">
-    <rect
-       transform="rotate(90)"
-       
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none;enable-background:new"
-       id="rect11718"
-       y="-197.0002"
-       x="747"
-       height="16"
-       width="16" />
-    <path
-       style="display:inline;fill:#e5e5e5;fill-opacity:1;stroke:none"
-       d="m 189.0002,759.4375 -5.71875,-5.7187 C 183.08558,753.5229 183.0002,753.2556 183.0002,753 v -1 h 1 
c 0.25562,0 0.52288,0.085 0.71875,0.2813 l 4.28125,4.2812 4.28125,-4.2812 C 193.47732,752.0854 193.74458,752 
194.0002,752 h 1 v 1 c 0,0.2556 -0.0854,0.5229 -0.28125,0.7188 z"
-       id="path11720"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccscsccsscscc" />
-  </g>
+<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg"; width="24" height="24">
+    <path d="M12 20.875L.562 9.438C.171 9.046 0 8.51 0 8V6h2c.511 0 1.046.17 1.438.563L12 
15.125l8.563-8.562C20.953 6.17 21.488 6 22 6h2v2c0 .511-.17 1.046-.563 1.438z" fill="#e5e5e5"/>
 </svg>
diff --git a/data/theme/key-layout.svg b/data/theme/key-layout.svg
index 79930699b4..fb198d0e05 100644
--- a/data/theme/key-layout.svg
+++ b/data/theme/key-layout.svg
@@ -1,129 +1,5 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-layout.svg"
-   inkscape:version="0.92.3 (2405546, 2018-03-11)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="3440"
-     inkscape:window-height="1376"
-     id="namedview19"
-     showgrid="false"
-     inkscape:zoom="1"
-     inkscape:cx="46.246852"
-     inkscape:cy="17.474578"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg7384">
-    <inkscape:grid
-       type="xygrid"
-       id="grid861" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer11" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer14" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     style="stroke-width:0.5;enable-background:new"
-     id="g3561"
-     inkscape:label="preferences-desktop-locale"
-     transform="matrix(2,0,0,2,135.99464,-895.9793)">
-    <path
-       sodipodi:nodetypes="cc"
-       inkscape:connector-curvature="0"
-       id="path3535"
-       d="m -65,450 v 12"
-       
style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:#e5e5e5;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
-    <path
-       sodipodi:nodetypes="ccccccccc"
-       inkscape:connector-curvature="0"
-       id="path3537"
-       d="m -65,456 h 4 l 1,2 h 5 v -6 h -4 l -1,-2 h -5 z"
-       
style="fill:none;fill-rule:evenodd;stroke:#e5e5e5;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
-    <path
-       
style="opacity:1;vector-effect:none;fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       d="m -65,456 h 4 l 1,2 h 5 v -6 h -4 l -1,-2 h -5 z"
-       id="path3539"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccccccccc" />
-    <rect
-       
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:0.89050001;marker:none;enable-background:new"
-       id="rect3543"
-       y="448"
-       x="-68"
-       height="16"
-       width="16" />
-  </g>
+<svg xmlns="http://www.w3.org/2000/svg"; class="keyboard-key" width="24" height="24">
+    <path d="M4.5 2v21" fill="#e5e5e5" fill-rule="evenodd" stroke="#e5e5e5" stroke-width="3"/>
+    <path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="none" stroke="#e5e5e5" stroke-width="2" 
stroke-linejoin="round"/>
+    <path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="#e5e5e5" fill-rule="evenodd"/>
 </svg>
diff --git a/data/theme/key-shift-latched-uppercase.svg b/data/theme/key-shift-latched-uppercase.svg
index 02bddd5dd3..50778218fc 100644
--- a/data/theme/key-shift-latched-uppercase.svg
+++ b/data/theme/key-shift-latched-uppercase.svg
@@ -1,109 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-shift-latched-uppercase.svg"
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1791"
-     inkscape:window-height="984"
-     id="namedview19"
-     showgrid="false"
-     inkscape:zoom="14.75"
-     inkscape:cx="-0.77966097"
-     inkscape:cy="18.847458"
-     inkscape:window-x="0"
-     inkscape:window-y="55"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg7384" />
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer11" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer14" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     transform="matrix(2,0,0,2,-282.0004,-1614.2187)"
-     style="display:inline;fill:#006098;fill-opacity:1"
-     id="layer12">
-    <path
-       
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new"
-       d="m 147,818 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z"
-       id="path16532"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path16534"
-       d="m 147,822 v -2 h 3.9377 v 2 z"
-       
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new"
-       inkscape:connector-curvature="0" />
-  </g>
+<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg"; width="24" height="24">
+    <path style="marker:none" d="M12 0L2 12h6v6h8v-6h6zM8 21v3h8v-3z" color="#000" overflow="visible" 
fill="#3584e4"/>
 </svg>
diff --git a/data/theme/key-shift-uppercase.svg b/data/theme/key-shift-uppercase.svg
index b4e293b155..15342a8d03 100644
--- a/data/theme/key-shift-uppercase.svg
+++ b/data/theme/key-shift-uppercase.svg
@@ -1,104 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-shift-uppercase.svg"
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="2160"
-     inkscape:window-height="1311"
-     id="namedview18"
-     showgrid="false"
-     inkscape:zoom="14.75"
-     inkscape:cx="-27.898305"
-     inkscape:cy="8"
-     inkscape:window-x="0"
-     inkscape:window-y="55"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg7384" />
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer11" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-141.0002,-791)"
-     id="layer14" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-141.0002,-791)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     transform="matrix(2,0,0,2,-282.0008,-1614.2187)"
-     style="display:inline;fill:#006098;fill-opacity:1"
-     id="layer12">
-    <path
-       id="path16548"
-       d="m 147.0002,820 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z"
-       
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#006098;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new"
-       inkscape:connector-curvature="0" />
-  </g>
+<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg"; width="24" height="24">
+    <path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" 
fill="#3584e4"/>
 </svg>
diff --git a/data/theme/key-shift.svg b/data/theme/key-shift.svg
index e925164f37..89e6919576 100644
--- a/data/theme/key-shift.svg
+++ b/data/theme/key-shift.svg
@@ -1,108 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
-   xmlns:dc="http://purl.org/dc/elements/1.1/";
-   xmlns:cc="http://creativecommons.org/ns#";
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-   xmlns:svg="http://www.w3.org/2000/svg";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   width="32"
-   viewBox="0 0 32 32"
-   version="1.1"
-   id="svg7384"
-   height="32"
-   sodipodi:docname="key-shift.svg"
-   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1400"
-     inkscape:window-height="1034"
-     id="namedview4569"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:zoom="14.75"
-     inkscape:cx="1.5993763"
-     inkscape:cy="5"
-     inkscape:window-x="0"
-     inkscape:window-y="55"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg7384" />
-  <metadata
-     id="metadata90">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
-        <dc:title>Gnome Symbolic Icon Theme</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <title
-     id="title9167">Gnome Symbolic Icon Theme</title>
-  <defs
-     id="defs7386">
-    <linearGradient
-       osb:paint="solid"
-       id="linearGradient19282"
-       gradientTransform="matrix(-2.7365795,0.28202934,-0.18908311,-0.99988321,239.54008,-879.45557)">
-      <stop
-         style="stop-color:#666666;stop-opacity:1;"
-         offset="0"
-         id="stop19284" />
-    </linearGradient>
-  </defs>
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="layer9" />
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="layer10" />
-  <g
-     transform="translate(-143.8754,-788)"
-     id="layer11" />
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="layer13" />
-  <g
-     transform="translate(-143.8754,-788)"
-     id="layer14" />
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="layer15" />
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="g71291" />
-  <g
-     transform="translate(-143.8754,-788)"
-     style="display:inline"
-     id="g4953" />
-  <g
-     transform="matrix(2,0,0,2,-282.0008,-1614.2187)"
-     style="display:inline"
-     id="layer12">
-    <path
-       id="path16548"
-       d="m 147.0002,820 v -4 h -3.1248 l 5.125,-5.7813 5.125,5.7813 h -3.1875 v 4 z"
-       
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new"
-       inkscape:connector-curvature="0" />
-  </g>
+<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg"; width="24" height="24">
+    <path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" 
fill="#bebebe"/>
 </svg>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]